Получить словесную запись числа - Free Pascal

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

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

Задано некоторое натуральное число k. Требуется вывести весь текст словами (например, при k=5 вывод имеет вид 'пять', при k=125 нужно вывести 'сто двадцать пять' и т.д.) в виде фразы 'мне k лет' (k<=100)

Решение задачи: «Получить словесную запись числа»

textual
Листинг программы
  1. uses crt;
  2. var st:string;
  3.     k:byte;
  4. begin
  5. clrscr;
  6. repeat
  7. write('Введите возраст от 1 до 100 k=');
  8. readln(k);
  9. until k in [1..100];
  10. st:='Мне';
  11. case k of
  12. 10:st:=st+' десять';
  13. 11:st:=st+' одиннадцать';
  14. 12:st:=st+' двенадцать';
  15. 13:st:=st+' тринадцать';
  16. 14:st:=st+' четырнадцать';
  17. 15:st:=st+' пятндцать';
  18. 16:st:=st+' шестнадцать';
  19. 17:st:=st+' семнадцать';
  20. 18:st:=st+' восемнадцать';
  21. 19:st:=st+' девятнадцать';
  22. 100:st:=st+' сто';
  23. else
  24.  begin
  25.  case k div 10 of
  26.   2:st:=st+' двадцать';
  27.   3:st:=st+' тридцать';
  28.   4:st:=st+' сорок';
  29.   5:st:=st+' пятьдесят';
  30.   6:st:=st+' шестьдесят';
  31.   7:st:=st+' семьдесят';
  32.   8:st:=st+' восемьдесят';
  33.   9:st:=st+' девяносто';
  34.   end;
  35.   case k mod 10 of
  36.   1:st:=st+' один';
  37.   2:st:=st+' два';
  38.   3:st:=st+' три';
  39.   4:st:=st+' четыре';
  40.   5:st:=st+' пять';
  41.   6:st:=st+' шесть';
  42.   7:st:=st+' семь';
  43.   8:st:=st+' восемь';
  44.   9:st:=st+' девять';
  45.   end;
  46.   end;
  47.  end;
  48. case k of
  49. 10,20,30,40,50,60:st:=st+' лет';
  50. else
  51.  case k mod 10 of
  52.  1:st:=st+' год';
  53.  2..4:st:=st+' года';
  54.  else st:=st+' лет';
  55.  end;
  56. end;
  57. writeln(st);
  58. readln
  59. end.

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

Список элементов кода:

  1. Установка начального значения переменной st равным Мне.
  2. Проверка диапазона введенного значения переменной k.
  3. Изменение значения переменной st в зависимости от значения переменной k.
  4. Использование оператора div для деления значения переменной k на 10 и присвоения результата переменной k1.
  5. Использование оператора mod для получения остатка от деления значения переменной k на 10 и присвоения результата переменной k2.
  6. Использование оператора case для выбора подходящего значения переменной st в зависимости от значения переменной k1 и k2.
  7. Использование оператора case для выбора подходящего значения переменной st в зависимости от значения переменной k.
  8. Использование оператора writeln для вывода значения переменной st на экран.
  9. Использование оператора readln для чтения значения с экрана.
  10. Завершение программы.

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


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

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

12   голосов , оценка 4.5 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы