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

Материал из DISCOPAL
Перейти к: навигация, поиск
(Вопрос: Q26-e5724f)
 
(не показана одна промежуточная версия этого же участника)
Строка 1: Строка 1:
 
 
== Вопрос: Q26-e5724f ==
 
== Вопрос: Q26-e5724f ==
  
Строка 10: Строка 9:
 
Какие из следующих выражений делают с V то же самое, что и S?
 
Какие из следующих выражений делают с V то же самое, что и S?
  
I.
+
;I:
 
<code-pascal>
 
<code-pascal>
 
i := 0;
 
i := 0;
Строка 17: Строка 16:
 
</code-pascal>
 
</code-pascal>
  
II.
+
;II:
 
<code-pascal>
 
<code-pascal>
 
i := 1;
 
i := 1;
Строка 24: Строка 23:
 
</code-pascal>
 
</code-pascal>
  
III.
+
;III:
 
<code-pascal>
 
<code-pascal>
 
i := 0;
 
i := 0;
Строка 50: Строка 49:
 
Третье делает ровно то что нужно.
 
Третье делает ровно то что нужно.
  
{{reserve-task|[[Участник:KoshelevEA|KoshelevEA]] 06:21, 8 января 2025 (UTC)}}
+
{{question-ok|[[Участник:StasFomin|StasFomin]] 13:56, 13 января 2025 (UTC)}}
{{checkme|[[Участник:KoshelevEA|KoshelevEA]] 01:26, 13 января 2025 (UTC)}}
+
{{question-ok|}}
+
  
[[Категория:Надо не забыть выбрать тему]]
+
[[Категория:Понимание кода]]

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

Третье делает ровно то что нужно.