Как написать программу на Паскале для выполнения следующих задач?
Информатика 10 класс Программирование на Паскале Новый
Для решения поставленных задач на языке Паскаль, мы будем писать три отдельные программы. Давайте разберем каждую из них по шагам.
1. Программа для записи числа от 1 до 1000 русскими буквами.
Эта программа будет использовать массивы для хранения слов, представляющих числа. Мы будем обрабатывать числа по частям: единицы, десятки и сотни.
program NumberToWords; var n, hundreds, tens, units: integer; words: array[0..19] of string; tensWords: array[0..9] of string; hundredsWords: array[0..9] of string; begin words[0] := 'ноль'; words[1] := 'один'; words[2] := 'два'; words[3] := 'три'; words[4] := 'четыре'; words[5] := 'пять'; words[6] := 'шесть'; words[7] := 'семь'; words[8] := 'восемь'; words[9] := 'девять'; words[10] := 'десять'; words[11] := 'одиннадцать'; words[12] := 'двенадцать'; words[13] := 'тринадцать'; words[14] := 'четырнадцать'; words[15] := 'пятнадцать'; words[16] := 'шестнадцать'; words[17] := 'семнадцать'; words[18] := 'восемнадцать'; words[19] := 'девятнадцать'; tensWords[2] := 'двадцать'; tensWords[3] := 'тридцать'; tensWords[4] := 'сорок'; tensWords[5] := 'пятьдесят'; tensWords[6] := 'шестьдесят'; tensWords[7] := 'семьдесят'; tensWords[8] := 'восемьдесят'; tensWords[9] := 'девяносто'; hundredsWords[1] := 'сто'; hundredsWords[2] := 'двести'; hundredsWords[3] := 'триста'; hundredsWords[4] := 'четыреста'; hundredsWords[5] := 'пятьсот'; hundredsWords[6] := 'шестьсот'; hundredsWords[7] := 'семьсот'; hundredsWords[8] := 'восемьсот'; hundredsWords[9] := 'девятьсот'; write('Введите число от 1 до 1000: '); readln(n); hundreds := n div 100; tens := (n mod 100) div 10; units := n mod 10; if hundreds > 0 then write(hundredsWords[hundreds], ' '); if tens > 1 then write(tensWords[tens], ' '); if tens = 1 then write(words[tens * 10 + units], ' ') else if units > 0 then write(words[units], ' '); writeln; end.
2. Программа для определения года по старояпонскому календарю.
Эта программа будет использовать остатки от деления для определения цвета и животного. Мы будем использовать массивы для хранения названий цветов и животных.
program JapaneseCalendar; var year, colorIndex, animalIndex: integer; colors: array[0..4] of string; animals: array[0..11] of string; begin colors[0] := 'зеленый'; colors[1] := 'красный'; colors[2] := 'желтый'; colors[3] := 'белый'; colors[4] := 'черный'; animals[0] := 'крыса'; animals[1] := 'корова'; animals[2] := 'тигр'; animals[3] := 'заяц'; animals[4] := 'дракон'; animals[5] := 'змея'; animals[6] := 'лошадь'; animals[7] := 'овца'; animals[8] := 'обезьяна'; animals[9] := 'курица'; animals[10] := 'собака'; animals[11] := 'свинья'; write('Введите год: '); readln(year); colorIndex := (year - 1984) mod 5; animalIndex := (year - 1984) mod 12; writeln('Год ', year, ' - ', colors[colorIndex], ' ', animals[animalIndex]); end.
3. Программа для вывода чисел от 1 до N русскими буквами.
Эта программа будет использовать цикл для перебора чисел от 1 до N и выводить их в текстовом формате, если количество букв совпадает с введенным числом.
program NumbersWithLetters; var n, i: integer; words: array[1..100] of string; begin words[1] := 'один'; words[2] := 'два'; words[3] := 'три'; words[4] := 'четыре'; words[5] := 'пять'; words[6] := 'шесть'; words[7] := 'семь'; words[8] := 'восемь'; words[9] := 'девять'; words[10] := 'десять'; words[11] := 'одиннадцать'; words[12] := 'двенадцать'; words[13] := 'тринадцать'; words[14] := 'четырнадцать'; words[15] := 'пятнадцать'; words[16] := 'шестнадцать'; words[17] := 'семнадцать'; words[18] := 'восемнадцать'; words[19] := 'девятнадцать'; words[20] := 'двадцать'; words[21] := 'двадцать один'; words[22] := 'двадцать два'; // и так далее до 100 write('Введите число от 1 до 100: '); readln(n); for i := 1 to 100 do if length(words[i]) = n then writeln(words[i]); end.
Эти программы решают поставленные задачи, используя базовые конструкции языка Паскаль: массивы, циклы и условия. Убедитесь, что вы правильно вводите данные, и программа будет работать корректно.