2001-gre-vs-practice.pdf/Q26 — различия между версиями
Материал из DISCOPAL
StasFomin (обсуждение | вклад) |
StasFomin (обсуждение | вклад) |
||
Строка 16: | Строка 16: | ||
</code-pascal> | </code-pascal> | ||
− | ;II:<code-pascal> | + | ;II: |
+ | <code-pascal> | ||
i := 1; | i := 1; | ||
while i < N do | while i < N do |
Текущая версия на 13:57, 13 января 2025
Вопрос: Q26-e5724f
Обозначим за S следующее выражение:
for i:=1 to N do V[i] := V[i] + 1
Какие из следующих выражений делают с V то же самое, что и S?
- I
i := 0; while i <= N do begin i := i + 1; V[i] = V[i] + 1 end
- II
i := 1; while i < N do begin V[i] = V[i] + 1; i := i + 1 end
- III
i := 0; while i < N do begin V[i + 1] = V[i + 1] + 1; i := i + 1 end
Ответы
- Только I
- Только II
- Правильный ответ: Только III
- Только II и III
- Все
Объяснение
Исходники — вопрос 26 на 24 странице книги «2001-gre-vs-practice.pdf»
Исходное утверждение увеличивает все элементы с индексами 1..N на 1.
Первый вариант обратится к элементу N + 1.
Второе не обратится к элементу с индексом N.
Третье делает ровно то что нужно.