Автор - klavdoleg

Помогите, Информатика
Создается программа на Pascal которая с помощью циклов выводит сдачу от числа s
Но числа не выводятся, где ошибка

Программа -

program a_4;
var s, k500, k100, k50, k10, k5, k1: integer;
begin
write ('А сколько у вас сдачи?');
write ('Введите >>');
readln (s);

while s>=500 do
begin
k500:= k500+1
end;

while s>=100 do
begin
k100:=k100+1
end;

while s>=50 do
begin
k50:=k50+1
end;

while s>=10 do
begin
k10:= k10+1
end;

while s>=5 do
begin
k5:= k5+1
end;

while s>= 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.

Ответ

Автор - raf1O5

В чём ошибка

Ошибка была в том, что циклы выполнялись бесконечно т.к. их условие было всегда истинно. Исправить ошибку можно вычитанием из сдачи значения купюры.

Правильный вариант программы:

program a_4;

var s, k500, k100, k50, k10, k5, k1: integer;

begin

write ('А сколько у вас сдачи? ');

write ('Введите >> ');

readln (s);

while s>=500 do

begin

k500:= k500+1;

s:= s-500;

end;

while s>=100 do

begin

k100:=k100+1;

s:= s-100;

end;

while s>=50 do

begin

k50:=k50+1;

s:= s-50;

end;

while s>=10 do

begin

k10:= k10+1;

s:= s-10;

end;

while s>=5 do

begin  

k5:= k5+1;

s:= s-5;

end;

while s>= 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

Ответы и объяснения

Сервис носит ознакомительный характер, вся информация, а в частности вопросы и ответы, которые задают и отвечают пользователи.
© 2025 Все права защищены Политика конфиденциальности Контакты
search points attachment profile arrow left arrow right star heart verified symbols equation arrow-down question mark check menu accountancyadministrationagriculturalalgebraallarabicartart_musicbelarusbelarus_altbiologybusinesscatalachemistrychineseeconomicsegzamenglishentrepreneurshipenvironmentethicseuskarafirst_aidfrenchgalegogeographygeologygeometrygermangrammarhealthhistoryindia_langindonesian_langinformaticsitalianjapanesekazachkazach_altkoreanlanguagelatinlawlife_scienceliteraturelogicmathematicsmusicnigerian_langother_languagesotherspedagogicsphilosophyphysical_educationphysicspoliticspsychologyreligionrpa_langrussianrussian_altsciencesecurityskillssocial_sciencesociologyspanishstatisticstechnologytourismtrafficukrainianukrainian_altukrainian_literaturewos_civilisation accountancyadministrationagriculturalalgebraall_1arabicartart_music_2belarusbelarus_altbiologybusiness_2catalachemistry_1chineseeconomicsexam_3englishentrepreneurshipenvironment_2ethicseuskarasecurity_1frenchgalegogeography_4geology_4geometrygermangrammarhealthhistoryindia-langindonesian-langinformaticsitalianjapanesekazachAsset 230koreanlanguagelatinlawlife-scienceliteraturelogic_2mathematicsmusicnigerian-langotherlanguagesother_1pedagogicsphilosophyphysical_educationphysicspoliticspsychologyreligion_1rpa-langrussianrussian_altsciencesecurity_3_mskills_1allsocial_science_5_msociologyspanishstatisticstechnologytourismtrafficukrainianukrainian_altukrainian_literaturewos_civilisation