Написать программу, которая вводит дату некоторого дня года и печатает название соответствующего знака Зодиака - Free Pascal
Формулировка задачи:
Известно, что астрологи делят год на 12 периодов и каждому из них ставят в соответствие один из знаков Зодиака:
20.1-18.2 - Водолей
19.2-20.3 - Рыбы
21.3-19.4 - Овен
20.4-20.5 - Телец
21.5-21.6 - Близнецы
22.6-22.7 - Лев
23.7-22.8 - Дева
23.8-22.9 - Весы
23.10-22.11 - Скорпион
24.11-21.12 - Стрелец
22.12-19.1 - Козерог
Написать программу, которая вводит дату некоторого дня года и печатает название соответствующего знака Зодиака.
Решение задачи: «Написать программу, которая вводит дату некоторого дня года и печатает название соответствующего знака Зодиака»
textual
Листинг программы
uses crt; const z: array [0..12] of string= ('Козерог','Водолей','Рыба','Овен','Телец', 'Близнецы', 'Рак','Лев','Дева','Весы','Скорпион','Стрелец','Козерог'); d: array [0..12] of byte=(19,20,19,21,20,21,22,22,22,22,22,21,19); var day: 1..31; month: 1..12; begin repeat write('День: '); readln(day); until day in [1..31]; repeat write('Месяц: '); readln(month); until month in [1..12]; if d[month]<=day then writeln(z[month]) else writeln(z[month-1]); readln; end.
Объяснение кода листинга программы
- Объявлены две константы: массив
z
с названиями знаков зодиака и массивd
с номерами знаков зодиака от 1 до 12. - Объявлены две переменные:
day
для ввода дня иmonth
для ввода месяца. - В цикле repeat-until пользователю предлагается ввести день от 1 до 31.
- В цикле repeat-until пользователю предлагается ввести месяц от 1 до 12.
- Проверяется, если номер месяца, умноженный на 19, меньше или равен введенному дню, то выводится название знака зодиака по этому номеру, иначе выводится название предыдущего знака.
- В конце программы ожидается нажатие клавиши для завершения работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д