Условие задачи: Покупатель должен заплатить в кассу S рублей. У него имеются 10, 50, 100, 500, 1000 и 5000 рублей Сколько купюр
разного достоинства отдаст покупатель, если он начинает платить с самых крупных купюр? Что не так в коде?:
var s,i,q,f,t,z,y:integer; begin write('Введите сумму: '); readln(s); while s>5000 do s:=s-5000; i:=i+1; writeln('Купюр "5000" всего: ',i); while s>1000 do s:=s-1000; q:=q+1; writeln('Купюр "1000" всего: ',q); while s>500 do s:=s-500; f:=f+1; writeln('Купюр "500" всего: ',f); while s>100 do s:=s-100; t:=t+1; writeln('Купюр "100" всего: ',t); while s>50 do s:=s-50; z:=z+1; writeln('Купюр "50" всего: ',z); while s>10 do s:=s-10; y:=y+1; writeln('Купюр "10" всего: ',y); end.
В Вашем варианте после while необходимо писать begin, а после Writeln - end. Но само по себе решение некрасивое. Вот Вам еще два на выбор.
1. Без массива
var s,n:integer; begin Write('Введите сумму: '); Read(s); n:=s div 5000; if n>0 then begin Writeln('Банкнот "5000" всего: ',n); s:=s mod 5000 end; n:=s div 1000; if n>0 then begin Writeln('Банкнот "1000" всего: ',n); s:=s mod 1000 end; n:=s div 500; if n>0 then begin Writeln('Банкнот "500" всего: ',n); s:=s mod 500 end; n:=s div 100; if n>0 then begin Writeln('Банкнот "100" всего: ',n); s:=s mod 100 end; n:=s div 50; if n>0 then begin Writeln('Банкнот "50" всего: ',n); s:=s mod 50 end; n:=s div 10; if n>0 then begin Writeln('Банкнот "10" всего: ',n); s:=s mod 10 end; if s>0 then Writeln('Недоплачено: ',s) end.
const k:array[1..6] of integer=(5000,1000,500,100,50,10); var s,n,i:integer; begin Write('Введите сумму: '); Read(s); for i:=1 to 6 do begin n:=s div k[i]; if n>0 then begin Writeln('Банкнот "',k[i],'" всего: ',n); s:=s mod k[i] end end; if s>0 then Writeln('Недоплачено: ',s) end.
Var a,b,c:Integer; Begin Write('Введите длину 1 катета: '); Readln(a); Write('Введите длину 2 катета: '); Readln(b); Write('Введите длину гипотенузы: '); Readln(c); if ((a+b)>c) and ((a+c)>b) and ((b+c)>a) then Begin if (sqr(c)=sqr(a)+sqr(b)) then Writeln('Треугольник прямоугольный') else Writeln('Треугольник другого типа'); end else Writeln('Треугольник не существует'); END.