Для того чтобы определить, что будет напечатано в результате работы указанного фрагмента программы, давайте разберёмся с логикой работы программы пошагово. Мы будем использовать таблицу для наглядности.
Исходные значения:
Программа выполняет цикл while
, пока s < 66
. Внутри цикла происходит два действия:
k := k + 3
- увеличиваем k
на 3.
s := s + k
- добавляем новое значение k
к s
.
Теперь создадим таблицу, чтобы отслеживать изменения значений k
и s
на каждой итерации цикла.
Итерация | Значение k | Значение s | Условие s < 66 |
0 | 1 | 0 | true |
1 | 4 (1 + 3) | 4 (0 + 4) | true |
2 | 7 (4 + 3) | 11 (4 + 7) | true |
3 | 10 (7 + 3) | 21 (11 + 10) | true |
4 | 13 (10 + 3) | 34 (21 + 13) | true |
5 | 16 (13 + 3) | 50 (34 + 16) | true |
6 | 19 (16 + 3) | 69 (50 + 19) | false |
Теперь проанализируем таблицу:
- На первой итерации
k
увеличивается с 1 до 4, и s
становится 4.
- На второй итерации
k
увеличивается до 7, и s
становится 11.
- На третьей итерации
k
увеличивается до 10, и s
становится 21.
- На четвёртой итерации
k
увеличивается до 13, и s
становится 34.
- На пятой итерации
k
увеличивается до 16, и s
становится 50.
- На шестой итерации
k
увеличивается до 19, и s
становится 69.
После шестой итерации условие s < 66
становится ложным (поскольку s
теперь равно 69). Таким образом, цикл завершается.
В конце программы выполняется команда write(k)
, которая выводит текущее значение переменной k
, равное 19.
Таким образом, результатом работы программы будет выведено число 19.