2004-gre-cs-practice-book.pdf/Q44 — различия между версиями

Материал из DISCOPAL
Перейти к: навигация, поиск
(Новая страница: « == Вопрос: Q44-4c9f66 == <i>Тут вставьте перевод вопроса. Используйте [https://wiki.4intra.net/Help:%D0%A4%D0%BE%D1%80…»)
 
Строка 1: Строка 1:
 
 
== Вопрос: Q44-4c9f66 ==
 
== Вопрос: Q44-4c9f66 ==
 +
Рассмотрим следующий псевдокод, где ''n'' — неотрицательное целое число
  
<i>Тут вставьте перевод вопроса.
+
<code-c>
Используйте [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 возможности разметки],
+
  x = 0;
включая формулы и т.п, если будут графы — посмотрите как задать их текстом https://wiki.4intra.net/Graphviz .
+
  i = 0;
Потом конечно сотрите инструкции, которые тут курсивом.</i>
+
  while i < n do
 +
    x = x + 2^i;
 +
    i = i + 1;
 +
  end
 +
</code-c>
  
=== Ответы ===
+
Что из приведенного ниже является инвариантом цикла для оператора <tt>while</tt>?
<i>Если ответы простые, однострочные, используйте простой способ задания ответов списком, типа так
+
(префикс «Правильный ответ:» — это дословно, для правильного ответа)</i>
+
  
* Правильный ответ: тут реально правильный ответ
+
Примечание: инвариант цикла для оператора <tt>while</tt> — это утверждение, которое верно каждый раз, когда сторожевое условие оценивается во время выполнения оператора <tt>while</tt>.
* неправильный ответ
+
* еще какой-то неправильный ответ
+
* еще какой-то неправильный ответ
+
* еще какой-то неправильный ответ
+
 
+
<i>Если ответы длинные, многострочные, или там графы, используйте
+
[https://wiki.4intra.net/MediawikiQuizzer/ru#.D0.9E.D1.82.D0.B2.D0.B5.D1.82.D1.8B способ задания ответов разделами],
+
Но такое очень редко встречается. </i>
+
  
 +
=== Ответы ===
 +
* <m>x = 2^i - 1</m> и <m>0 \leq i < n</m>
 +
* <m>x = 2^{i+1} - 1</m> и <m>0 \leq i < n</m>
 +
* Правильный ответ: <m>x = 2^i - 1</m> и <m>0 \leq i \leq n</m>
 +
* <m>x = 2^{i+1} - 1</m> и <m>0 \leq i \leq n</m>
 +
* <m>x > 0</m> и <m>1 \leq i < n</m>
  
 
=== Объяснение ===
 
=== Объяснение ===
<i>Сначала заполните номер страницы с этим вопросом
+
{{cstest-source|2004-gre-cs-practice-book.pdf|32|44}}
{{cstest-source|2004-gre-cs-practice-book.pdf|тут-номер-страницы-с-вопросом-44|44}}
+
 +
* Ну сначала посмотрим на i и видим, что оно может добраться до n — остается два варианта.
 +
* Из этих вариантов правильный <m>x = 2^i - 1</m> и <m>0 \leq i \leq n</m>, потому что i мы увеличиваем после вычисления x.
  
Ну и наконец, вики-разметкой напишите ваше понимание, почему правильный ответ — правильный.</i>
+
{{question-ok|}}
  
{{question-ok|}}
+
[[Категория:Циклы]]

Версия 14:28, 15 декабря 2024

Вопрос: Q44-4c9f66

Рассмотрим следующий псевдокод, где n — неотрицательное целое число

  x = 0;
  i = 0;
  while i < n do
    x = x + 2^i;
    i = i + 1;
  end

Что из приведенного ниже является инвариантом цикла для оператора while?

Примечание: инвариант цикла для оператора while — это утверждение, которое верно каждый раз, когда сторожевое условие оценивается во время выполнения оператора while.

Ответы

  • и
  • и
  • Правильный ответ: и
  • и
  • и

Объяснение

Исходники — вопрос 44 на 32 странице книги «2004-gre-cs-practice-book.pdf»

  • Ну сначала посмотрим на i и видим, что оно может добраться до n — остается два варианта.
  • Из этих вариантов правильный и , потому что i мы увеличиваем после вычисления x.