Для того чтобы определить, какое число будет выведено на экран в результате выполнения данного фрагмента программы, нужно пошагово выполнить его.
Рассмотрим фрагмент программы:
a[1] := 7;
for i := 2 to 10 do
a[i] := a[i-1] + 3 * i;
writeln(a[4]);
В самом начале выполняется присваивание:
a[1] := 7;
Таким образом, значение переменной a[1]
становится равным 7.
Далее идет цикл:
for i := 2 to 10 do
a[i] := a[i-1] + 3 * i;
Этот цикл начинается с i = 2
и продолжается до i = 10
. На каждой итерации вычисляется значение a[i]
на основании предыдущего значения a[i-1]
и выражения 3 * i
.
Выполним цикл пошагово:
Для i = 2
:
a[2] := a[1] + 3 * 2;
a[2] := 7 + 6;
a[2] := 13;
Для i = 3
:
a[3] := a[2] + 3 * 3;
a[3] := 13 + 9;
a[3] := 22;
Для i = 4
:
a[4] := a[3] + 3 * 4;
a[4] := 22 + 12;
a[4] := 34;
Хотя цикл продолжается до i = 10
, нам достаточно вычислить до i = 4
, потому что нас интересует только значение a[4]
.
В конце программы выполняется инструкция вывода:
writeln(a[4]);
Мы уже вычислили, что a[4]
равно 34.
Таким образом, число, которое будет выведено на экран, — это 34.