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

Материал из DISCOPAL
Перейти к: навигация, поиск
 
Строка 28: Строка 28:
 
* Из этих вариантов правильный <m>x = 2^i - 1</m> и <m>0 \leq i \leq n</m>, потому что i мы увеличиваем после вычисления x.
 
* Из этих вариантов правильный <m>x = 2^i - 1</m> и <m>0 \leq i \leq n</m>, потому что i мы увеличиваем после вычисления x.
  
{{question-ok|}}
+
{{question-ok|[[Участник:StasFomin|StasFomin]] 15:32, 15 декабря 2024 (UTC)}}
  
 
[[Категория:Циклы]]
 
[[Категория:Циклы]]

Текущая версия на 15:32, 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.