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

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

Паскаль. С клавиатуры вводится целое число от 1 до 1000, обозначающая сумму в
рублях. Программа должна напечатать эту сумму прописью.
Учусь в школе, так что нужно использовать не сложные программы, которые не напичканы всякими flag,string,boolean и т.д.


Информатика (32 баллов) | 157 просмотров
0

в каком плане - прописью? допустим вводим 1000, что должна выдать программа?

0

тысяча

0

а если 516, то пятьсот шестнадцать

0

Если нужна сумма прописью, то без string очень неудобно.

0

все удобно же

0

а как сделать в конце числа, чтобы писал рубль, рубля, рублей

0

изменила чтоб писало про рубли

0

спасибо, ты чудо)

0

не за что)

Дан 1 ответ
0 голосов

Var
n,t,s,d,e:integer;
begin
writeln('');
repeat
writeln('Введите сумму в рублях<=1000');<br>readln(n);
until (n>0) and (n<=1000);<br>t:=n div 1000;
n:=n-t*1000;
s:=n div 100;
n:=n-s*100;
d:=n div 10;
if d<>1 then
begin
n:=n-d*10;
e:=n;
end;
case t of
     1:write('тысяча ');
end;
if s>=0 then
case s of
     1:write('сто ');
     2:write('двести ');
     3:write('триста ');
     4:write('четыресто ');
     5:write('пятьсот ');
     6:write('шестьсот ');
     7:write('семьсот ');
     8:write('восемьсот ');
     9:write('девятьсот ');
end;
if d>=0 then
case d of
     1:
     case n 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 e>=0 then
case e of
     1:write('один ');
     2:write('два ');
     3:write('три ');
     4:write('четыре ');
     5:write('пять ');
     6:write('шесть ');
     7:write('семь ');
     8:write('восемь ');
     9:write('девять ');
end;
if (e=1) then write('рубль ')
else if (e=0)or(e>4) then write('рублей ')
else write('рубля ');
end.

(458 баллов)