Задать вопрос
20 января, 21:52

Задача: с клавиатуры вводится число от 1 до 1000. Программа должна вывести его прописью. (Написать программу на Паскале)

+4
Ответы (2)
  1. 20 января, 23:08
    0
    Program n1;

    var

    m, n: integer;

    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;

    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 ('введите число: ') ;

    readln (m) ;

    if (m 1000) then writeln ('число не входит в заданный интервал')

    else

    if m = 1000 then writeln ('одна тысяча ')

    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 (' ')

    else

    begin

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

    begin

    if flag then write (' ') ;

    writeln (m1[m])

    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]) ;

    end

    end

    end

    end

    end.
  2. 21 января, 00:56
    0
    {-}

    const

    ch_1: array[1 ... 19] of string = ('один', 'два', 'три', 'четыре', 'пять', 'шесть','семь', 'восемь', 'девять', 'десять', 'одиннадцать', 'двенадцать', 'тринадцать','четырнадцать', 'пятнадцать', 'шестнадцать', 'семнадцать', 'восемнадцать', 'девятнадцать') ;

    ch_2: array [2 ... 9] of string = ('двадцать', 'тридцать', 'сорок', 'пятьдесят', 'шестьдесят', 'семьдесят', 'восемьдесят', 'девяносто') ;

    ch_3: array [1 ... 9] of string = ('сто', 'двести', 'триста', 'четыреста', 'пятьсот', 'шестьсот', 'семьсот', 'восемьсот', 'девятьсот') ;

    var

    n : 0 ... 1000;

    begin

    repeat

    write ('Введите натуральное число, меньшее 1000: ') ;

    readln (n) ;

    until n in [1 ... 999];

    if n in [100 ... 999] then write (ch_3[n div 100], ' ') ;

    if (n mod 100) in [20 ... 99] then

    begin

    write (ch_2[ (n mod 100) div 10], ' ') ;

    if (n mod 10) 0 then write (ch_1[n mod 10]) ;

    end

    else

    if (n mod 100) 0 then write (ch_1[n mod 100]) ;

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