Получить словесную запись числа - 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
для чтения значения с экрана. - Завершение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д