Сумма прописью - Pascal

Узнай цену своей работы

Формулировка задачи:

Нужна помощь в задачке: Сумма прописью. Дано вещественное число r,(0 <= r < 100) с не более чем двумя значащами цифрами после десятичной точки. Считаем, что r обозначает денежную сумму в рублях. Вывести на экран правильно согласованную фразу, обозначающую r, в виде "X рубли Y копеек" (например число 22,21 должно быть выведено в виде "22 рубля 21 копейка").

Решение задачи: «Сумма прописью»

textual
Листинг программы
var n:real;
    r,k:integer;
    s:string;
begin
//введем число с проверкой, чтобы это было вещественное число >=0 и <100
//и с 2 знаками после запятой
repeat
writeln('Введите сумму в рубляж с не более чем 2 знаками после запятой  от 0 до 100 n=');
readln(s);
val(s,n,k);
if(k<>0)or(n<0)or(n>=100)or(pos('.',s)=0)or(length(s)-pos('.',s)>2)
then writeln('Число введено неверно');
until(k=0)and(n>=0)and(n<=100)and(pos('.',s)>1)and(length(s)-pos('.',s)<3);
r:=trunc(n);
k:=trunc(n*100) mod 100;
case  r mod 100 of
11..19:write(r,' рублей ');
else
 case r mod 10 of
 1:write(r,' рубль ');
 2..4:write(r,' рубля ');
 else  write(r,' рублей ')
 end;
end;
case k  of
11..19:write(k,' копеек');
else
 case k mod 10 of
 1:write(k,' копейка');
 2..4:write(k,' копейки');
 else  write(k,' копеек')
 end;
end;
end.

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

  1. Объявлены четыре переменные: n, r, k, s.
  2. Переменная n объявлена как вещественное число, а r, k и s - как целочисленные.
  3. Цикл repeat-until используется для ввода суммы в рубляж.
  4. Ввод суммы происходит с помощью функции readln, которая считывает строку из консоли.
  5. Функция val используется для проверки корректности ввода.
  6. Если введенное значение некорректно, выводится сообщение об ошибке.
  7. Если значение корректно, то оно преобразуется в вещественное число с плавающей точкой и вычисляется значение k, представляющее сумму в копейках.
  8. Используется оператор case для формирования вывода суммы в нужном формате.
  9. Если значение r в диапазоне от 11 до 19, то выводится слово рублей.
  10. Если значение r равно 1, то выводится слово рубль.
  11. Если значение r находится в диапазоне от 2 до 4, то выводится слово рубля.
  12. В остальных случаях выводится слово рублей.
  13. Используется оператор case для формирования вывода суммы в копейках в нужном формате.
  14. Если значение k в диапазоне от 11 до 19, то выводится слово копеек.
  15. Если значение k равно 1, то выводится слово копейка.
  16. Если значение k находится в диапазоне от 2 до 4, то выводится слово копейки.
  17. В остальных случаях выводится слово копеек.

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


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

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

8   голосов , оценка 4 из 5