Вопрос задан 17.08.2025 в 19:09. Предмет Информатика. Спрашивает Плотникова Александра.

Определите, что будет напечатано в результате работы следующего фрагмента программы: var k, s: integer; begin s:=0; k:=1; while s < 66 do begin k:=k+3; s:=s+k; end; write(k); end. Как решить таблицей? Скажите пожалуйста.

Перейти к ответам

Ответы на вопрос

Отвечает Майер Вика.

Для того чтобы понять, что напечатает программа, удобно использовать таблицу, в которой будем пошагово фиксировать значения переменных k и s после каждой итерации цикла while.

Программа:

pascal
var k, s: integer; begin s := 0; k := 1; while s < 66 do begin k := k + 3; s := s + k; end; write(k); end.

Что делает программа:

  • Переменные s и k инициализируются значениями 0 и 1 соответственно.

  • Затем в цикле while, пока s < 66, к k прибавляется 3, а к s прибавляется новое значение k.

  • Как только s станет не меньше 66, цикл завершится и будет выведено значение k.


Как решить таблицей:

Сделаем таблицу с колонками:

ИтерацияЗначение kЗначение s
0 (до цикла)10
14 (1+3)4 (0+4)
27 (4+3)11 (4+7)
310 (7+3)21 (11+10)
413 (10+3)34 (21+13)
516 (13+3)50 (34+16)
619 (16+3)69 (50+19) → цикл заканчивается

На 6-й итерации значение s стало 69, то есть впервые превысило 66, и цикл завершился.

Последнее значение k в этот момент — 19.


Ответ:

19

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос