2001-gre-vs-practice.pdf/Q10 — различия между версиями
Материал из DISCOPAL
StasFomin (обсуждение | вклад) (Новая страница: « == Вопрос: Q10-e5724f == <blockquote> Тут вставьте перевод вопроса. Используйте [https://wiki.4intra.net/Help:%D0%A4%D…») |
StasFomin (обсуждение | вклад) |
||
(не показана 1 промежуточная версия 1 участника) | |||
Строка 1: | Строка 1: | ||
− | |||
== Вопрос: Q10-e5724f == | == Вопрос: Q10-e5724f == | ||
+ | <code-pascal> | ||
+ | p := 1; k := 0; | ||
+ | while k < n do | ||
+ | begin | ||
+ | p := 2 * p; | ||
+ | k := k + 1 | ||
+ | end; | ||
+ | </code-pascal> | ||
− | + | Для фрагмента программы выше, включающего целые числа p, k и n, какой из следующих вариантов является инвариантом цикла, то есть истинным в начале каждого выполнения цикла и при завершении цикла? | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=== Ответы === | === Ответы === | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | * p = k + 1 | ||
+ | * p = (k + 1)<sup>2</sup> | ||
+ | * p = (k + 1)2<sup>k</sup> | ||
+ | * Правильный ответ: p = 2<sup>k</sup> | ||
+ | * p = 2<sup>k + 1</sup> | ||
=== Объяснение === | === Объяснение === | ||
− | |||
− | |||
− | + | В начале каждой итерации цикла p удваивается, а k увеличивается на 1. | |
− | + | Начальные значения: p=1 и k=0. После первой итерации p=2 и k=1, после второй итерации p=4 и k=2, и так далее. | |
− | + | ||
− | + | ||
− | </ | + | Таким образом, p всегда равно на протяжении 2<sup>k</sup> всего цикла. |
− | {{question-ok|}} | + | {{question-ok|[[Участник:StasFomin|StasFomin]] 07:21, 21 декабря 2024 (UTC)}} |
− | [[ | + | [[Категория:Циклы]] |
Текущая версия на 07:21, 21 декабря 2024
Вопрос: Q10-e5724f
p := 1; k := 0; while k < n do begin p := 2 * p; k := k + 1 end;
Для фрагмента программы выше, включающего целые числа p, k и n, какой из следующих вариантов является инвариантом цикла, то есть истинным в начале каждого выполнения цикла и при завершении цикла?
Ответы
- p = k + 1
- p = (k + 1)2
- p = (k + 1)2k
- Правильный ответ: p = 2k
- p = 2k + 1
Объяснение
В начале каждой итерации цикла p удваивается, а k увеличивается на 1.
Начальные значения: p=1 и k=0. После первой итерации p=2 и k=1, после второй итерации p=4 и k=2, и так далее.
Таким образом, p всегда равно на протяжении 2k всего цикла.