Получить словесную запись числа - Free Pascal
Формулировка задачи:
Задано некоторое натуральное число k. Требуется вывести весь текст словами (например, при k=5 вывод имеет вид 'пять', при k=125 нужно вывести 'сто двадцать пять' и т.д.) в виде фразы 'мне k лет' (k<=100)
Решение задачи: «Получить словесную запись числа»
textual
Листинг программы
- uses crt;
- var st:string;
- k:byte;
- begin
- clrscr;
- repeat
- write('Введите возраст от 1 до 100 k=');
- readln(k);
- until k in [1..100];
- st:='Мне';
- case k of
- 10:st:=st+' десять';
- 11:st:=st+' одиннадцать';
- 12:st:=st+' двенадцать';
- 13:st:=st+' тринадцать';
- 14:st:=st+' четырнадцать';
- 15:st:=st+' пятндцать';
- 16:st:=st+' шестнадцать';
- 17:st:=st+' семнадцать';
- 18:st:=st+' восемнадцать';
- 19:st:=st+' девятнадцать';
- 100:st:=st+' сто';
- else
- begin
- case k div 10 of
- 2:st:=st+' двадцать';
- 3:st:=st+' тридцать';
- 4:st:=st+' сорок';
- 5:st:=st+' пятьдесят';
- 6:st:=st+' шестьдесят';
- 7:st:=st+' семьдесят';
- 8:st:=st+' восемьдесят';
- 9:st:=st+' девяносто';
- end;
- case k mod 10 of
- 1:st:=st+' один';
- 2:st:=st+' два';
- 3:st:=st+' три';
- 4:st:=st+' четыре';
- 5:st:=st+' пять';
- 6:st:=st+' шесть';
- 7:st:=st+' семь';
- 8:st:=st+' восемь';
- 9:st:=st+' девять';
- end;
- end;
- end;
- case k of
- 10,20,30,40,50,60:st:=st+' лет';
- else
- case k mod 10 of
- 1:st:=st+' год';
- 2..4:st:=st+' года';
- else st:=st+' лет';
- end;
- end;
- writeln(st);
- readln
- end.
Объяснение кода листинга программы
Список элементов кода:
- Установка начального значения переменной
st
равнымМне
. - Проверка диапазона введенного значения переменной
k
. - Изменение значения переменной
st
в зависимости от значения переменнойk
. - Использование оператора
div
для деления значения переменнойk
на 10 и присвоения результата переменнойk1
. - Использование оператора
mod
для получения остатка от деления значения переменнойk
на 10 и присвоения результата переменнойk2
. - Использование оператора
case
для выбора подходящего значения переменнойst
в зависимости от значения переменнойk1
иk2
. - Использование оператора
case
для выбора подходящего значения переменнойst
в зависимости от значения переменнойk
. - Использование оператора
writeln
для вывода значения переменнойst
на экран. - Использование оператора
readln
для чтения значения с экрана. - Завершение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д