2011-gre-cs-practice-book.pdf/Q19

Материал из DISCOPAL
Перейти к: навигация, поиск

Задача зарезервирована: Urmat A 18:47, 18 декабря 2024 (UTC)

Вопрос: Q19-08c765

Пусть все переменные целые и m >= 1.

Псевдокод 1:

sum = 0
for i = 1 to m
 sum = sum + i
output ( sum )

Следующий псевдокод должен выполнять то же самое:

Псевдокод 2:

sum = 0
i = <initial value>
while ( <condition> )
{
 i = i + 1
 sum = sum + i
}
output ( sum )

Ответы

При каких значениях <initial_value> и <condition>, псевдокод 1 выдаст то же самое, что и псевдокод 2?

  1. 0 и i<m-1
  2. Правильный ответ: 0 и i<m
  3. 0 и i<m+1
  4. 1 и i<m
  5. 1 и i<m+1


Объяснение

Можно понять, что в первом коде sum = 1 + 2 + ... + m. Чтобы было то же самое, пусть i = 0. Тогда в коде на первой итериции i = i + 1, и sum = 0 + 1. И пусть i < m, тогда на последней итерации i равно m-1, i = i + 1, то есть i равно m. И sum = sum + m.

[ Хронологический вид ]Комментарии

(нет элементов)

Войдите, чтобы комментировать.