Записать фразу «я сегодня могу потратить х рублей», учитывая окончания - Pascal
Формулировка задачи:
Всем доброго времени суток. Нужна помощь в написании кода (как сам ни старался, но осознал лишь, что реальный "чайник" в этом).
Дано положительное число х, обозначающее количество денег. Записать фразу «я сегодня могу потратить х рублей», учитывая окончания. С помощью оператора выбора case…of…end.
P.S. именно при помощи этих операторов (примеры с другими операторами видел). Буду весьма признателен!
Решение задачи: «Записать фразу «я сегодня могу потратить х рублей», учитывая окончания»
textual
Листинг программы
const rub: array [1..3] of String[7] = ('рубль', 'рубля', 'рублей'); function nplural(n: Integer): Integer; begin nplural:=3; if not (n mod 100 in [11..19]) then case n mod 10 of 1: nplural:=1; 2..4: nplural:=2; end; end; var x: Integer; begin Write('Введите сумму в рублях: '); ReadLn(x); WriteLn('Я сегодня могу потратить ', x, ' ', rub[nplural(x)]); end.
Объяснение кода листинга программы
- Создаётся константа
rub
, которая представляет собой массив из трёх строк, каждая из которых представляет различные формы словарубль
. - Определяется функция
nplural
, которая принимает целое числоn
в качестве аргумента и возвращает соответствующую форму словарубль
из массиваrub
. Функция сначала проверяет, делится ли числоn
на 100 в диапазоне от 11 до 19. Если это так, то она выбирает соответствующую форму словарубль
из массиваrub
. Если числоn
не делится на 100 в этом диапазоне, функция использует операторcase
для выбора правильной формы словарубль
в зависимости от последней цифры числаn
. - Объявляется переменная
x
, которая будет использоваться для хранения введённой пользователем суммы в рублях. - Выводится сообщение
Введите сумму в рублях:
и считывается значение переменнойx
с помощью функцииReadLn
. - Выводится сообщение
Я сегодня могу потратить
, значение переменнойx
, а также значение функцииnplural(x)
в виде фразы ` ', x, ' ', rub[nplural(x)]).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д