Ответ:
Если я правильно вас понял, то вот:
B = [5, 10, 2]
A = [B[0], B[2], B[1]]
1) 11221
2) Сместиться на (-2, -1)
3) Сместиться на (-12, 0)
4) (13, -4)
5) 2
Var x, y: integer;
begin
write('x = ');
readln(x);
if x <= 0 then y := 0;
if ((x > 0) and (x <= 1)) then y := x;
if x > 1 then y := x * x;
writeln(y);
end.
При x = 8, y = 64.
Если везде неверные таблички, значит в первой зебра. Волк не может быть в первой, значит он во второй. И для пони остаётся третья клетка.
"for i := a to/downto b do" используется, если известно, сколько раз точно будет выполнен цикл.