Чтобы упростить программу, будем выводить команды типа "сделай ЕДИНИЦА", где ЕДИНИЦА и ДЕВЯТЬ - процедуры. Описание процедуры: процедура <имя процедуры> нач <тело процедуры> кон
процедура ЕДИНИЦА нач поворот шаг шаг шаг шаг поворот поворот прыжок прыжок прыжок прыжок поворот кон
Описание процедуры:
процедура <имя процедуры>
нач
<тело процедуры>
кон
процедура ЕДИНИЦА
нач
поворот шаг шаг шаг шаг
поворот поворот
прыжок прыжок прыжок прыжок
поворот
кон
процедура ДЕВЯТЬ
нач
шаг поворот шаг шаг шаг
шаг поворот шаг поворот шаг
шаг поворот шаг поворот поворот поворот
прыжок прыжок поворот
кон
тело программы: программа Число 1919
нач
сделай ЕДИНИЦА
прыжок
сделай ДЕВЯТЬ
прыжок
сделай ЕДИНИЦА
прыжок
сделай ДЕВЯТЬ
кон
var
x, y, z, a, b, c, d, t: integer ;
begin
x := 336;
y := 8;
x := x div y;
y := x mod y;
writeln('x = ', x, ', y = ', y);
a := 1686;
b := (a div 10) mod 5;
a := a - 200 * b;
writeln('a = ', a, ', b = ', b);
x := 11;
y := 5;
t := y;
y := x mod y;
x := t;
y := y + 2 * t;
writeln('x = ', x, ', y = ', y, ', t = ', t);
x := 19;
y := 3;
z := y * 2;
y := x mod y;
x := x - z;
y := y + z;
writeln('x = ', x, ', y = ', y, ', z = ', z);
x := 13;
y := 3;
z := x;
x := z div y;
y := x;
writeln('x = ', x, ', y = ', y, ', z = ', z);
end.
Вывод и ответы по очереди
1) x = 42, y = 2
2) a = 1086, b = 3
3) x = 5, y = 11, t = 5
4) x = 13, y = 7, z = 6
5) x = 4, y = 4, z = 13