2001-gre-vs-practice.pdf/Q10 — различия между версиями

Материал из DISCOPAL
Перейти к: навигация, поиск
(Новая страница: « == Вопрос: Q10-e5724f == <blockquote> Тут вставьте перевод вопроса. Используйте [https://wiki.4intra.net/Help:%D0%A4%D…»)
 
 
(не показана 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>
  
<blockquote>
+
Для фрагмента программы выше, включающего целые числа p, k и n, какой из следующих вариантов является инвариантом цикла, то есть истинным в начале каждого выполнения цикла и при завершении цикла?
Тут вставьте перевод вопроса.
+
Используйте [https://wiki.4intra.net/Help:%D0%A4%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5 возможности разметки],  
+
включая формулы и т.п, если будут графы — посмотрите как задать их текстом https://wiki.4intra.net/Graphviz (реально оценю, полезный навык).
+
Если код — теги «code-pascal», «code-c» или «code-python» (не «source lang»).
+
  
В IT вообще не принято писать романы, всегда старайтесь писать структурированные (списками-абзацами тексты). Списки в MediaWiki — это просто «*». Не забывайте о них.
 
Преформатированный моноширинный текст — просто отступ.
 
 
Старайтесь нетривиальные понятия, особенно незнакомые вам, найти ссылку на википедию и вставить (нейросети лажают!).
 
Это важно, чтобы найти корректный перевод (то, что в википедии, или на худой конец — точно массово гуглится).
 
 
Потом конечно сотрите эти инструкции, которые тут курсивом или в блоке цитирования.
 
</blockquote>
 
  
 
=== Ответы ===
 
=== Ответы ===
<i>Если ответы простые, однострочные, используйте простой способ задания ответов списком, типа так
 
(префикс «Правильный ответ:» — это дословно, для правильного ответа, неважно, какой он будет в списке)</i>
 
 
* Правильный ответ: тут реально правильный ответ
 
* неправильный ответ
 
* еще какой-то неправильный ответ
 
* еще какой-то неправильный ответ
 
* еще какой-то неправильный ответ
 
 
<i>Если ответы длинные, многострочные, или там графы, используйте
 
[https://wiki.4intra.net/MediawikiQuizzer/ru#.D0.9E.D1.82.D0.B2.D0.B5.D1.82.D1.8B способ задания ответов разделами],
 
Но такое очень редко встречается, например [[2011-gre-cs-practice-book.pdf/Q05]]. </i>
 
  
 +
* 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>
  
 
=== Объяснение ===
 
=== Объяснение ===
<i>Сначала заполните номер страницы с этим вопросом
 
{{cstest-source|2001-gre-vs-practice.pdf|тут-номер-страницы-с-вопросом-10|10}}
 
  
Если все сделаете правильно, по ссылке выше будет открываться правильная страница в правильном PDFе.
+
В начале каждой итерации цикла p удваивается, а k увеличивается на 1.  
  
Ну и наконец, вики-разметкой напишите ваше понимание, почему правильный ответ — правильный, а [[2004-gre-cs-practice-book.pdf/Q16|неправильные варианты — неправильны]].
+
Начальные значения: p=1 и k=0. После первой итерации p=2 и k=1, после второй итерации p=4 и k=2, и так далее.  
Тут тоже могут быть полезны [[2004-gre-cs-practice-book.pdf/Q03|ссылки на википедию]],
+
решение вами [[2004-gre-cs-practice-book.pdf/Q12|рекуррентных уравнений в sympy]].
+
  
</i>
+
Таким образом, p всегда равно на протяжении 2<sup>k</sup> всего цикла.
  
{{question-ok|}}
+
{{question-ok|[[Участник:StasFomin|StasFomin]] 07:21, 21 декабря 2024 (UTC)}}
  
[[Category:Надо не забыть выбрать тему]]
+
[[Категория:Циклы]]

Текущая версия на 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 всего цикла.