
Модифицируйте программу таким образом, чтобы она выводила название чисел в диапазоне от 1 до 99 (ну
кассовый аппарат же это делает на чеках!). Подсказка №1. Для выделения числа десятков используйте хорошо знакомую вам операцию «остаток от деления». Т.е., если в переменнойn находится введенное число, то получить число десятков очень просто –d:=n mod 10; Подсказка №2. Надо рассмотреть по сути три диапазона чисел: от 1 до 9, от 10 до 19, и от 20 до 99.

Ответы на вопрос

a:array[1..27] of string[15]=
('один','два','три','четыре','пять','шесть','семь','восемь','девять',
'десять','одиннадцать','двенадцать','тринадцать','четырнадцать',
'пятнадцать','шестнадцать','семнадцать','восемнадцать','девятнадцать',
'двадцать','тридцать','сорок','пятьдесят','шестьдесят','семьдесят',
'восемьдесят','девяносто');
begin
write('N (1..99) = ');
readln(N);
if (n>=1)and(n<=19)
then writeln(a[n])
else begin
write(a[n div 10 + 18]);
if n mod 10 <> 0 then write(' ',a[n mod 10]);
writeln;
end;
end.
Пример:
N (1..99) = 46
сорок шесть



Задача: Вывод названий чисел от 1 до 99
Для решения этой задачи нужно модифицировать программу таким образом, чтобы она выводила названия чисел в диапазоне от 1 до 99.
Шаг 1: Разделение числа на десятки и единицы Для начала нужно разделить каждое число на десятки и единицы. Это можно сделать с помощью операции "остаток от деления" (mod). Если в переменной `n` находится введенное число, то получить число десятков очень просто: `d := n mod 10`. Чтобы получить число единиц, можно использовать операцию "целочисленное деление" (div): `u := n div 10`.
Шаг 2: Вывод названий чисел
После разделения числа на десятки и единицы, нужно вывести название числа на основе этих значений. Для этого нужно рассмотреть три диапазона чисел: от 1 до 9, от 10 до 19 и от 20 до 99.
1. Диапазон от 1 до 9: Здесь можно использовать простой условный оператор `if` для вывода названия числа. Например, если число единиц равно 1, то можно вывести слово "один".
2. Диапазон от 10 до 19: Здесь можно использовать массив или словарь, чтобы связать числа от 10 до 19 с их названиями. Например, можно создать массив `names` со значениями `['десять', 'одиннадцать', 'двенадцать', ..., 'девятнадцать']`. Затем можно использовать число единиц в качестве индекса массива, чтобы получить название числа. Например, если число единиц равно 3, то можно вывести `names[u]`.
3. Диапазон от 20 до 99: Здесь также можно использовать массив или словарь для связывания чисел с их названиями, но в этом случае нужно учитывать и число десятков. Можно создать двумерный массив `names` со значениями `[['двадцать', 'тридцать', ..., 'девяносто'], ['один', 'два', ..., 'девять']]`. Затем можно использовать число десятков в качестве первого индекса массива, а число единиц в качестве второго индекса, чтобы получить название числа. Например, если число десятков равно 2, а число единиц равно 5, то можно вывести `names[d][u]`.
Пример кода на языке Python:
```python def number_to_words(n): names = [ ['двадцать', 'тридцать', 'сорок', 'пятьдесят', 'шестьдесят', 'семьдесят', 'восемьдесят', 'девяносто'], ['один', 'два', 'три', 'четыре', 'пять', 'шесть', 'семь', 'восемь', 'девять'] ]
if n >= 1 and n <= 9: units = ['один', 'два', 'три', 'четыре', 'пять', 'шесть', 'семь', 'восемь', 'девять'] return units[n-1] elif n >= 10 and n <= 19: teens = ['десять', 'одиннадцать', 'двенадцать', 'тринадцать', 'четырнадцать', 'пятнадцать', 'шестнадцать', 'семнадцать', 'восемнадцать', 'девятнадцать'] return teens[n-10] else: d = n // 10 u = n % 10 return names[0][d-2] + ' ' + names[1][u-1]
for i in range(1, 100): print(f'{i}: {number_to_words(i)}') ```
Этот пример кода на языке Python решает задачу и выводит названия чисел от 1 до 99. Вы можете выполнить его и посмотреть результаты.


Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili