Вопрос задан 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.
Программа:
Что делает программа:
-
Переменные
sиkинициализируются значениями0и1соответственно. -
Затем в цикле
while, покаs < 66, кkприбавляется3, а кsприбавляется новое значениеk. -
Как только
sстанет не меньше66, цикл завершится и будет выведено значениеk.
Как решить таблицей:
Сделаем таблицу с колонками:
| Итерация | Значение k | Значение s |
|---|---|---|
| 0 (до цикла) | 1 | 0 |
| 1 | 4 (1+3) | 4 (0+4) |
| 2 | 7 (4+3) | 11 (4+7) |
| 3 | 10 (7+3) | 21 (11+10) |
| 4 | 13 (10+3) | 34 (21+13) |
| 5 | 16 (13+3) | 50 (34+16) |
| 6 | 19 (16+3) | 69 (50+19) → цикл заканчивается |
На 6-й итерации значение s стало 69, то есть впервые превысило 66, и цикл завершился.
Последнее значение k в этот момент — 19.
Ответ:
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili

