Программа


{ Чтение из файла целого
  и вывод его прописью }
VAR Int:integer;                 { Число }
    InputFile:text;              { Входной файл }
    InputFileName:string[79];    { Имя входного файла }
PROCEDURE Print(Int:integer);    { Процедура печати числа }
  Begin
    if Int>999
      then begin { Печать тысяч }
             Print(Int div 100000 *100);   { Печать сотен тысяч }
             case Int div 10000 mod 10 of  { Печать десятков тысяч }
                0:;
                1:case Int div 1000 mod 100 of
                    10:Write('десять тысяч ');
                    11:Write('одиннадцать тысяч ');
                    12:Write('двенадцать тысяч ');
                    13:Write('тринадцать тысяч ');
                    14:Write('четырнадцать тысяч ');
                    15:Write('пятнадцать тысяч ');
                    16:Write('шестнадцать тысяч ');
                    17:Write('семнадцать тысяч ');
                    18:Write('восемнадцать тысяч ');
                    19:Write('девятнадцать тысяч ');
                  end;
                2:Write('двадцать ');
                3:Write('тридцать ');
                4:Write('сорок ');
                5:Write('пятьдесят ');
                6:Write('шестьдесят ');
                7:Write('семьдесят ');
                8:Write('восемьдесят ');
                9:Write('девяносто ')
             end;
             if Int div 10000 mod 10 <> 1 then
               case Int div 1000 mod 10 of     { Печать тысяч }
                 0:Write('тысяч ');
                 1:Write('одна тысяча ');
                 2:Write('две тысячи ');
                 3:Write('три тысячи ');
                 4:Write('четыре тысячи ');
                 5:Write('пять тысяч ');
                 6:Write('шесть тысяч ');
                 7:Write('семь тысяч ');
                 8:Write('восемь тысяч ');
                 9:Write('девять тысяч ');
               end;
             Int:=Int mod 1000
           end;
    case Int div 100 of   { Печать сотен }
      0:;
      1:Write('сто ');
      2:Write('двести ');
      3:Write('триста ');
      4:Write('четыреста ');
      5:Write('пятьсот ');
      6:Write('шестьсот ');
      7:Write('семьсот ');
      8:Write('восемьсот ');
      9:Write('девятьсот ')
    end;
    case Int div 10 mod 10 of  { Печать десятков }
      0:;
      1:case Int mod 100 of
          10:Write('десять');
          11:Write('одиннадцать ');
          12:Write('двенадцать ');
          13:Write('тринадцать ');
          14:Write('четырнадцать ');
          15:Write('пятнадцать ');
          16:Write('шестнадцать ');
          17:Write('семнадцать ');
          18:Write('восемнадцать ');
          19:Write('девятнадцать ');
        end;
      2:Write('двадцать ');
      3:Write('тридцать ');
      4:Write('сорок ');
      5:Write('пятьдесят ');
      6:Write('шестьдесят ');
      7:Write('семьдесят ');
      8:Write('восемьдесят ');
      9:Write('девяносто ')
    end;
    if Int div 10 mod 10 <> 1 then
      case Int mod 10 of     { Печать единиц }
        0:;
        1:Write('один ');
        2:Write('два ');
        3:Write('три ');
        4:Write('четыре ');
        5:Write('пять ');
        6:Write('шесть ');
        7:Write('семь ');
        8:Write('восемь ');
        9:Write('девять ');
      end
  End;
BEGIN
  WriteLn;                     { Пропуск строки }
  { Ввод имени файла: }
  Write('Введите имя входного файла ');
  ReadLn(InputFileName);
  Assign(InputFile,InputFileName);
                              { Связывание имени файла с файловой переменной }
  Reset(InputFile);           { Открытие файла под чтение }
  ReadLn(InputFile,Int);      { Чтение числа йз файла }
  if Int=0 then Write('ноль ')   { Вывод числа }
           else Print(Int);      
  Close(InputFile);           { Закрытие файла }
  WriteLn                     { Пропуск строки }
END.

Бесплатные примеры программ
Примеры написанных программ
Помощь студентам по программированию