program parampampam; uses crt; var i: integer; {счетчик} s: integer; begin clrscr; {очистка экрана} writeln ('Программа выводит числа от 1 до 99, сумма цифр которых равна числу S'); writeln ('Введите число S, от 0 до 18: '); {ввод числа S с проверкой на корректность} repeat readln (s); if (s>18) or (s<0) then writeln ('Неверный ввод. Повторите') until (s<=18) and (s>=0); {вывод нужных чисел на экран (цикл с предусловием)} for i := 1 to 99 do if ((i div 10) + (i mod 10) = s) then {div дает целую часть, mod - остаток от деления} write (i, ' '); repeat until keypressed; {пустой цикл для задержки экрана до нажатия клавиши} end.
Var n,t,s,d,e:integer; begin writeln(''); repeat writeln('Введите сумму в рублях<=1000'); readln(n); until (n>0) and (n<=1000); 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.
uses crt;
var
i: integer; {счетчик}
s: integer;
begin
clrscr; {очистка экрана}
writeln ('Программа выводит числа от 1 до 99, сумма цифр которых равна числу S');
writeln ('Введите число S, от 0 до 18: ');
{ввод числа S с проверкой на корректность}
repeat
readln (s);
if (s>18) or (s<0) then
writeln ('Неверный ввод. Повторите')
until (s<=18) and (s>=0);
{вывод нужных чисел на экран (цикл с предусловием)}
for i := 1 to 99 do
if ((i div 10) + (i mod 10) = s) then {div дает целую часть, mod - остаток от деления}
write (i, ' ');
repeat until keypressed; {пустой цикл для задержки экрана до нажатия клавиши}
end.