Помогите, ИнформатикаСоздается программка на Pascal которая с поддержкою циклов выводит сдачу
Помогите, Информатика
Создается программка на Pascal которая с поддержкою циклов выводит сдачу от числа s
Но числа не выводятся, где ошибка
Программка -
program a_4;
var s, k500, k100, k50, k10, k5, k1: integer;
begin
write ('А сколько у вас сдачи?');
write ('Введите gt;gt;');
readln (s);
while sgt;=500 do
begin
k500:= k500+1
end;
while sgt;=100 do
begin
k100:=k100+1
end;
while sgt;=50 do
begin
k50:=k50+1
end;
while sgt;=10 do
begin
k10:= k10+1
end;
while sgt;=5 do
begin
k5:= k5+1
end;
while sgt;= 1 do
begin
k1:= k1+1
end;
writeln ('Итак, вот ваша сдача');
writeln ('Купюр номиналом 500', k500);
writeln ('Купюр номиналом 100', k100);
writeln ('Купюр номиналом 50', k50);
writeln ('Монет номиналом 10', k10);
writeln ('Монет номиналом 5', k5);
writeln ('Монет номиналом 1', k1);
end.
В чём ошибка
Ошибка была в том, что циклы производились безгранично т.к. их условие было всегда правильно. Поправить ошибку можно вычитанием из сдачи значения купюры.
Верный вариант программки:
program a_4;
var s, k500, k100, k50, k10, k5, k1: integer;
begin
write ('А сколько у вас сдачи? ');
write ('Введите gt;gt; ');
readln (s);
while sgt;=500 do
begin
k500:= k500+1;
s:= s-500;
end;
while sgt;=100 do
begin
k100:=k100+1;
s:= s-100;
end;
while sgt;=50 do
begin
k50:=k50+1;
s:= s-50;
end;
while sgt;=10 do
begin
k10:= k10+1;
s:= s-10;
end;
while sgt;=5 do
begin
k5:= k5+1;
s:= s-5;
end;
while sgt;= 1 do
begin
k1:= k1+1;
s:= s-1;
end;
writeln ('Итак, вот ваша сдача');
writeln ('Купюр номиналом 500 ', k500);
writeln ('Купюр номиналом 100 ', k100);
writeln ('Купюр номиналом 50 ', k50);
writeln ('Монет номиналом 10 ', k10);
writeln ('Монет номиналом 5 ', k5);
writeln ('Монет номиналом 1 ', k1);
end.
Выполнено в PascalABC.NET
-
Вопросы ответы
Статьи
Информатика
Статьи
Разные вопросы.
Математика.
Физика.
Геометрия.
Разные вопросы.
Обществознание.
Математика.
Химия.
Русский язык.
Разные вопросы.