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

0 голосов
39 просмотров

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


Информатика (46 баллов) | 39 просмотров
Дан 1 ответ
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.

(654k баллов)