<h3>PascalABC.NET 3.4.2, сборка 1843 от 24.10.2018</h3><h3>Внимание! Если программа не работает, обновите версию!</h3>
begin
var a := ArrRandom(20, 20, 40);
a.Println;
a.Transform(t -> t mod 10 = 4 ? t div 2 : t);
a.Println
end.
26 24 38 40 26 27 32 39 32 34 32 28 36 25 40 34 20 26 21 36
26 12 38 40 26 27 32 39 32 17 32 28 36 25 40 17 20 26 21 36
Эта функция выведет 20.
Сначала мы передаём 2 в функцию h как указатель.
Увеличиваем 2 на один, а потом ещё на один, у нас выходит 4.
Возвращаем 4+4=8.
Потом мы передаём 4 в функция h как указатель.
Увеличиваем 4 на один, а потом ещё на один, у нас выходит 6.
6+6=12.
Ну а потом мы возвращаем сумму наших двоих функций h.
12+8 = 20.
(1 + 2): 3 = 1
1 * 2 + 3 - 4 =1
((1+2) : 3 + 4) : 5 =1
1 * 2 - 3 :(4 +5- 6) =1
1 * 2 + (3 + 4 +5) - (6 + 7) =1
((1 + 2): 3)* (4 + 5 + 6): ( 7+8) =1