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

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

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


Информатика (32 баллов)
оставил комментарий Начинающий (458 баллов)

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

оставил комментарий (32 баллов)

тысяча

оставил комментарий (32 баллов)

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

оставил комментарий БОГ (194k баллов)

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

оставил комментарий Начинающий (458 баллов)

все удобно же

оставил комментарий (32 баллов)

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

оставил комментарий Начинающий (458 баллов)

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

оставил комментарий (32 баллов)

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

оставил комментарий Начинающий (458 баллов)

не за что)

Дан 1 ответ
0 голосов
Начинающий (458 баллов)

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.

...