Ввести возраст человека (от 1 до 150 лет) и вывести его вместе с последующим словом "год", "года" или "лет" - Pascal ABC
Формулировка задачи:
Здравствуйте! Помогите решить задачу!
Ввести возраст человека (
от 1 до 150 лет
) и вывести его вместе с последующим словом «год», «года» или «лет». Пример: Введите возраст: 24 Вам 24 года Проблему составляет исключение - 111(по идее 11 лет, но получается год) - не получается всунуть в алгоритм. Мозги уже кипят.Решение задачи: «Ввести возраст человека (от 1 до 150 лет) и вывести его вместе с последующим словом "год", "года" или "лет"»
textual
Листинг программы
var year : integer; strEnd : string; begin repeat write('Введите ваш возраст (от 1 до 150 лет): '); readln(year); until (year <= 150) and (year > 0); {обработка исключении 11 12 13 14} if ((year mod 100)>=11) and ((year mod 100)<=14) then strEnd := 'лет' else case (year mod 10) of 1: strEnd := 'год'; 2..4: strEnd := 'года'; else strEnd := 'лет'; end; WriteLn('Вам ',year,' ',strEnd); end.
Объяснение кода листинга программы
- Переменная
year
предназначена для хранения введенного пользователем возраста. - Переменная
strEnd
используется для хранения конечной части строки, которая добавляется к числу в зависимости от того, какие цифры содержит число. - Цикл
repeat
используется для повторного запроса возраста, пока не будет введено корректное значение (не меньше 1 и не больше 150). - В блоке
if
проверяется, соответствует ли введенный возраст диапазону от 11 до 14. Если это так, то переменнойstrEnd
присваивается значение'лет'
. В противном случае, используется одно из трех значений в зависимости от последней цифры года. - В блоке
WriteLn
выводится сообщение с введенным возрастом и окончанием строки.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д