Записать фразу «я сегодня могу потратить х рублей», учитывая окончания - 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.

Объяснение кода листинга программы

  1. Создаётся константа rub, которая представляет собой массив из трёх строк, каждая из которых представляет различные формы слова рубль.
  2. Определяется функция nplural, которая принимает целое число n в качестве аргумента и возвращает соответствующую форму слова рубль из массива rub. Функция сначала проверяет, делится ли число n на 100 в диапазоне от 11 до 19. Если это так, то она выбирает соответствующую форму слова рубль из массива rub. Если число n не делится на 100 в этом диапазоне, функция использует оператор case для выбора правильной формы слова рубль в зависимости от последней цифры числа n.
  3. Объявляется переменная x, которая будет использоваться для хранения введённой пользователем суммы в рублях.
  4. Выводится сообщение Введите сумму в рублях: и считывается значение переменной x с помощью функции ReadLn.
  5. Выводится сообщение Я сегодня могу потратить, значение переменной x, а также значение функции nplural(x) в виде фразы ` ', x, ' ', rub[nplural(x)]).

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.786 из 5
Похожие ответы