Задать вопрос
7 августа, 22:29

Паскаль. С клавиатуры вводится целое число от 1 до 1000, обозначающая сумму в

рублях. Программа должна напечатать эту сумму прописью.

Пример: пятнадцать рублей.

+2
Ответы (1)
  1. 8 августа, 01:09
    0
    Var

    m, n: integer;

    s1, s2, s3: string;

    ms: array[1 ... 9] of string;

    md: array[1 ... 9] of string;

    m1: array[11 ... 19] of string;

    me: array[1 ... 9] of string;

    flag: boolean;

    begin

    flag : = false; { Пока ничего не выведено }

    s1 : = 'рубль';

    s2 : = 'рубля';

    s3 : = 'рублей';

    ms[1] : = 'сто'; ms[2] : = 'двести'; ms[3] : = 'триста'; ms[4] : = 'Четыреста';

    ms[5] : = 'пятьсот'; ms[5] : = 'пятьсот'; ms[6] : = 'шестьсот'; ms[7] : = 'семьсот';

    ms[8] : = 'восемьсот'; ms[9] : = 'девятьсот';

    md[1] : = 'десять'; md[2] : = 'двадцать'; md[3] : = 'тридцать'; md[4] : = 'сорок';

    md[5] : = 'пятьдесят'; md[6] : = 'шестьдесят'; md[7] : = 'семьдесят';

    md[8] : = 'восемьдесят'; md[9] : = 'девяносто';

    m1[11] : = 'одиннадцать'; m1[12] : = 'двенадцать'; m1[13] : = 'тринадцать';

    m1[14] : = 'четырнадцать'; m1[15] : = 'пятнадцать'; m1[16] : = 'шестнадцать';

    m1[17] : = 'семнадцать'; m1[18] : = 'восемнадцать'; m1[19] : = 'девятнадцать';

    me[1] : = 'один'; me[2] : = 'два'; me[3] : = 'три'; me[4] : = 'четыре'; me[5] : = 'пять';

    me[6] : = 'шесть'; me[7] : = 'семь'; me[8] : = 'восемь'; me[9] : = 'девять';

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

    Readln (m) ;

    if (m 1000) then Writeln ('Шутки шутим?')

    else

    if m = 1000 then Writeln ('Одна тысяча ' + s3)

    else

    begin

    { сотни }

    n : = m div 100;

    if n > 0 then

    begin

    Write (ms[n]) ;

    flag : = true

    end;

    { десятки }

    m : = m mod 100;

    if m = 0 then Writeln (' ', s3)

    else

    begin

    if (m > 10) and (m < 20) then

    begin

    if flag then Write (' ') ;

    Writeln (m1[m], ' ', s3)

    end

    else

    if m > 0 then

    begin

    n : = m mod 10;

    m : = m div 10;

    if m > 0 then

    begin

    if flag then Write (' ') else flag : = true;

    Write (md[m])

    end;

    if n 0 then

    begin

    { единицы }

    if flag then Write (' ') ;

    Write (me[n], ' ') ;

    case n of

    1: Writeln (s1) ;

    2 ... 4: Writeln (s2) ;

    else Writeln (s3)

    end

    end

    else Writeln (' ', s3)

    end

    end

    end

    end.

    Тестовое решение:

    Введите целое число от 1 до 1000: 314

    триста четырнадцать рублей
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Паскаль. С клавиатуры вводится целое число от 1 до 1000, обозначающая сумму в рублях. Программа должна напечатать эту сумму прописью. ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы