ответ:Решение
АЛГОРИТМ МАЛЕНЬКИЕ КВАДРАТЫ
алг квадраты_1
нач
нц 5 раз
опустить перо
сместиться на вектор (2, 0)
сместиться на вектор (0, 2)
сместиться на вектор (- 2, 0)
сместиться на вектор (0, - 2)
поднять перо
сместиться на вектор (3, 0)
опустить перо
сместиться на вектор (1, 1)
сместиться на вектор (- 1, 1)
сместиться на вектор (- 1, - 1)
сместиться на вектор (1, - 1)
поднять перо
кц
кон
АЛГОРИТМ БОЛЬШИЕ КВАДРАТЫ
алг квадраты_2
нач
нц 4 раз
опустить перо
сместиться на вектор (2, 0)
сместиться на вектор (0, 2)
сместиться на вектор (- 2, 0)
сместиться на вектор (0, - 2)
поднять перо
сместиться на вектор (4, - 1)
опустить перо
сместиться на вектор (2, 2)
сместиться на вектор (- 2, 2)
сместиться на вектор (- 2, - 2)
сместиться на вектор (2, - 2)
поднять перо
кц
кон
АЛГОРИТМ ПРЯМОУГОЛЬНИКИ
алг прямоугольники_1
нач
нц 5 раз
опустить перо
сместиться на вектор (0, 1)
сместиться на вектор (- 3, 0)
сместиться на вектор (0, - 2)
сместиться на вектор (3, 0)
сместиться на вектор (0, 1)
сместиться на вектор (- 1, 0)
сместиться на вектор (0, - 2)
сместиться на вектор (3, 0)
сместиться на вектор (0, 2)
сместиться на вектор (- 2, 0)
поднять перо
сместиться на вектор (4, 0)
кц
кон
АЛГОРИТМ УЗОР
алг часть_1
нач
нц 4 раз
опустить перо
сместиться на вектор (0, 2)
сместиться на вектор (2, 0)
поднять перо
сместиться на вектор (- 3, - 1)
кц
кон
алг часть_2
нач
нц 4 раз
опустить перо
сместиться на вектор (0, 2)
сместиться на вектор (- 2, 0)
поднять перо
сместиться на вектор (3, - 1)
кц
кон
алг часть_3
нач
нц 4 раз
опустить перо
сместиться на вектор (2, 0)
сместиться на вектор (0, 2)
поднять перо
сместиться на вектор (- 1, - 3)
кц
кон
алг часть_4
нач
нц 4 раз
опустить перо
сместиться на вектор (0, - 2)
сместиться на вектор (2, 0)
поднять перо
сместиться на вектор (- 3, 1)
кц
кон
использовать Чертежник
алг узор_1
нач
часть_1
сместиться на вектор (5, - 5)
часть_2
сместиться на вектор (- 3, - 7)
часть_3
сместиться на вектор (- 7, 3)
часть_4
кон
АЛГОРИТМ УЗОР 2
использовать Чертежник
алг узор_2
нач
часть_3
сместиться на вектор (4, 3)
часть_4
сместиться на вектор (1, - 6)
часть_1
сместиться на вектор (- 9, 2)
часть_2
кон
Объяснение:
В чём ошибка
Ошибка была в том, что циклы выполнялись бесконечно т.к. их условие было всегда истинно. Исправить ошибку можно вычитанием из сдачи значения купюры.
Правильный вариант программы:
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