Задать вопрос
1 сентября, 18:02

Напишите процедуру, которая выводит переданное ей число прописью. Например, 21 - двадцать один

Язык Паскаль

+2
Ответы (2)
  1. 1 сентября, 19:41
    0
    Procedure P (A:integer) ;

    Var

    B:byte;

    S, Z:string;

    Begin

    if A = 0 then Write ('Ноль')

    else

    Begin

    if A < 0 then

    Begin

    Z:='минус ';

    A:=-A;

    End;

    B:=A mod 100;

    if B div 10 = 1 then

    Case B mod 10 of

    0:S:='десять';

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

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

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

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

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

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

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

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

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

    End

    else

    Begin

    Case B mod 10 of

    1:S:='один';

    2:S:='два';

    3:S:='три';

    4:S:='четыре';

    5:S:='пять';

    6:S:='шесть';

    7:S:='семь';

    8:S:='восемь';

    9:S:='девять';

    End;

    Case B div 10 of

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

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

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

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

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

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

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

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

    End;

    End;

    Case (A div 100) mod 10 of

    1:S:='сто '+S;

    2:S:='двести '+S;

    3:S:='триста '+S;

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

    5:S:='пятьсот '+S;

    6:S:='шестьсот '+S;

    7:S:='семьсот '+S;

    8:S:='восеьсот '+S;

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

    End;

    WriteLn (Z+S) ;

    End;

    End;

    Var

    A:longint;

    Begin

    Write ('Введите целое число: ') ; ReadLn (A) ;

    P (A) ;

    End.
  2. 1 сентября, 21:22
    0
    procedure p (x:integer; var st:string) ;

    type

    name = array[0 ... 9] of String[50];

    const

    s1 : name = (' ноль ',' один ',' два ',' три ',' четыре ',' пять ',' шесть ',' семь ',' восемь ',' девять ') ;

    s2: name = (' ',' десять ',' двадцать ',' тридцать ',' сорок ',' пятьдесят ',' шестьдесят ',' семьдесят ',' восемьдесят ',' девяносто ') ;

    s3: name = (' ',' сто ',' двести ',' триста ',' четыреста ',' пятьсот ',' шестьсот ',' семьсот ',' восемьсот ',' девятьсот ') ;

    s4 : name = (' ',' одиннадцать ',' двенадцать ',' тринадцать ',' четырнадцать ',' пятнадцать ',' шестнадцать ',' семнадцать ',' восемнадцать ',' девятнадцать ') ;

    var

    s, d, e : Integer;

    begin

    s: = x div 100; x:=x mod 100;

    st:=s3[s];

    d: = x div 10; e:=x mod 10;

    if (d=1) and (e0) then st:=st+s4[e]

    else st:=st+s2[d]+s1[e];

    end;

    var x:integer; st:string;

    Begin

    Write ('Введите число [0 ... 999] : ') ;

    Readln (x) ;

    p (x, st) ;

    writeln (st) ;

    End.

    Пример:

    Введите число [0 ... 999] : 714

    семьсот четырнадцать
Знаете ответ?
Сомневаетесь в ответе?
Найдите правильный ответ на вопрос ✅ «Напишите процедуру, которая выводит переданное ей число прописью. Например, 21 - двадцать один Язык Паскаль ...» по предмету 📘 Информатика, а если вы сомневаетесь в правильности ответов или ответ отсутствует, то попробуйте воспользоваться умным поиском на сайте и найти ответы на похожие вопросы.
Смотреть другие ответы
Похожие вопросы по информатике
1) Напишите программу, которая строит "квадрат" из знаков '*' заданного размера. Используйте процедуру. 2) Напишите программу, которая выводит в столбик цифры введённого числа, начиная с последней. Используйте процедуру.
Ответы (1)
Ввести слово и число раз (Ввод; паскаль, 3). Вывести это слово так: паскаль паскаль паскаль паскаль паскаль паскаль
Ответы (1)
Написать в Паскале процедуру с изменяемым параметром. помогите хотя бы с одним. Уровень A. Напишите процедуру, которая переставляет три переданные ей числа в порядке возрастания. Пример: Введите три натуральных числа: 10 15 5 5 10 15 Уровень B.
Ответы (1)
Напишите программу, которая вводит целое число, не превышающее 100, и выводит его прописью, например: 21>"Двадцать один"
Ответы (1)
Pascal ABC. Написать процедуру, которая выводит на экран первые 3 элемента из массива, которые не равны друг другу. Или процедуру нахождения 3 максимальных элементов массива, которые не равны друг другу
Ответы (1)