Вопрос задан 26.07.2023 в 13:02. Предмет Информатика. Спрашивает Круголь Виктория.

Написать программу в паскале.вводится число от 1 до 1000 вывести его в текстовой форме .

0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Стадольников Антон.

PascalABC.NET 3.4.2, сборка 1859 от 08.11.2018

Внимание! Если программа не работает, обновите версию!

begin

 var n := ReadInteger('n=');

 if n >= 1000 then Print('одна тысяча')

 else

 begin

   var d1 := n mod 10;

   var d2 := n div 10 mod 10;

   var d3 := n div 100;

   var s := '';

   case d3 of

     1: s := 'сто';

     2: s := 'двести';

     3: s := 'триста';

     4: s := 'четыреста';

     5: s := 'пятьсот';

     6: s := 'шестьсот';

     7: s := 'семьсот';

     8: s := 'восемьсот';

     9: s := 'девятьсот';

   end;

   if d2 = 1 then

   begin

     case d1 of

       0: s += ' десять';

       1: s += ' одиннадцать';

       2: s += ' двенадцать';

       3: s += ' тринадцать';

       4: s += ' четырнадцать';

       5: s += ' пятнадцать';

       6: s += ' шестнадцать';

       7: s += ' семнадцать';

       8: s += ' восемнадцать';

       9: s += ' девятнадцать';

     end;

     TrimLeft(s).Println

   end

   else

   begin

     case d2 of

       0: s += '';

       2: s += ' двадцать';

       3: s += ' тридцать';

       4: s += ' сорок';

       5: s += ' пятьдесят';

       6: s += ' шестьдесят';

       7: s += ' семьдесят';

       8: s += ' восемьдесят';

       9: s += ' девяносто';

     end;

     s := TrimLeft(s);

     case d1 of

       1: s += ' один';

       2: s += ' два';

       3: s += ' три';

       4: s += ' четыре';

       5: s += ' пять';

       6: s += ' шесть';

       7: s += ' семь';

       8: s += ' восемь';

       9: s += ' девять';

     end;

     TrimLeft(s).Println

   end

 end

end.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для написания программы на языке Pascal, которая будет преобразовывать числа от 1 до 1000 в текстовую форму, нужно разбить задачу на несколько этапов:

  1. Создать функцию, которая будет преобразовывать числа от 1 до 999 в текстовую форму.
  2. Создать функцию, которая будет обрабатывать числа от 1 до 1000, включая случаи с числами от 100 до 999.
  3. В основной части программы получить число от пользователя, вызвать нужную функцию и вывести результат на экран.

Вот готовая программа на Pascal:

pascal
program NumberToText; uses SysUtils; const Ones: array [1..19] of string = ('один', 'два', 'три', 'четыре', 'пять', 'шесть', 'семь', 'восемь', 'девять', 'десять', 'одиннадцать', 'двенадцать', 'тринадцать', 'четырнадцать', 'пятнадцать', 'шестнадцать', 'семнадцать', 'восемнадцать', 'девятнадцать'); Tens: array [2..9] of string = ('двадцать', 'тридцать', 'сорок', 'пятьдесят', 'шестьдесят', 'семьдесят', 'восемьдесят', 'девяносто'); Hundreds: array [1..9] of string = ('сто', 'двести', 'триста', 'четыреста', 'пятьсот', 'шестьсот', 'семьсот', 'восемьсот', 'девятьсот'); function NumberToTextLessThanThousand(number: Integer): string; var tempStr: string; begin if number = 0 then Exit('ноль'); if number < 20 then Exit(Ones[number]); tempStr := Hundreds[number div 100]; if (number mod 100) < 20 then tempStr := tempStr + ' ' + Ones[number mod 100] else tempStr := tempStr + ' ' + Tens[(number mod 100) div 10] + ' ' + Ones[number mod 10]; Result := tempStr; end; function NumberToText(number: Integer): string; var tempStr: string; begin if number = 1000 then Exit('тысяча'); tempStr := NumberToTextLessThanThousand(number mod 1000); if number >= 1000 then tempStr := NumberToTextLessThanThousand(number div 1000) + ' тысяч ' + tempStr; Result := tempStr; end; var num: Integer; begin writeln('Введите число от 1 до 1000:'); readln(num); if (num < 1) or (num > 1000) then writeln('Число должно быть от 1 до 1000.') else writeln(NumberToText(num)); readln; end.

Скопируйте этот код в среду программирования на Pascal (например, в Free Pascal) и запустите программу. Она запросит ввод числа от пользователя и выведет его текстовый эквивалент.

0 0

Похожие вопросы

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

Последние заданные вопросы в категории Информатика

Задать вопрос