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

Материал из DISCOPAL
Перейти к: навигация, поиск
 
Строка 1: Строка 1:
{{reserve-task|[[Участник:Urmat A|Urmat A]] 18:48, 18 декабря 2024 (UTC)}}
 
 
== Вопрос: Q19-08c765 ==
 
== Вопрос: Q19-08c765 ==
 
Пусть все переменные целые и m >= 1.
 
Пусть все переменные целые и m >= 1.
  
 
Псевдокод 1:
 
Псевдокод 1:
<source lang="html4strict">
+
<code-pascal>
 
sum = 0
 
sum = 0
 
for i = 1 to m
 
for i = 1 to m
sum = sum + i
+
  sum = sum + i
 
output ( sum )  
 
output ( sum )  
</source>
+
</code-pascal>
  
 
Следующий псевдокод должен выполнять то же самое:
 
Следующий псевдокод должен выполнять то же самое:
  
 
Псевдокод 2:
 
Псевдокод 2:
<source lang="html4strict">
+
<code-c>
 
sum = 0
 
sum = 0
 
i = <initial value>
 
i = <initial value>
Строка 23: Строка 22:
 
}
 
}
 
output ( sum )
 
output ( sum )
</source>
+
</code-c>
  
 
=== Ответы ===
 
=== Ответы ===
 
При каких значениях <initial_value> и <condition>, псевдокод 1 выдаст то же самое, что и псевдокод 2?
 
При каких значениях <initial_value> и <condition>, псевдокод 1 выдаст то же самое, что и псевдокод 2?
# 0 и i<m-1
+
* 0 и i < m-1
# Правильный ответ: 0 и i<m
+
* Правильный ответ: 0 и i < m
# 0 и i<m+1
+
* 0 и i < m+1
# 1 и i<m
+
* 1 и i < m
# 1 и i<m+1
+
* 1 и i < m+1
  
  
Строка 37: Строка 36:
 
{{cstest-source|2011-gre-cs-practice-book.pdf|24|19}}
 
{{cstest-source|2011-gre-cs-practice-book.pdf|24|19}}
  
Можно понять, что в первом коде 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.
+
Можно понять, что в первом коде sum = 1 + 2 + ... + m.  
{{question-ok|}}
+
* Чтобы было то же самое, пусть i = 0.  
 +
* Тогда в коде на первой итериции i = i + 1, и sum = 0 + 1.  
 +
* И пусть i < m, тогда на последней итерации i равно m-1, i = i + 1, то есть i равно m. И sum = sum + m.
 +
{{question-ok|[[Участник:StasFomin|StasFomin]] 21:11, 18 декабря 2024 (UTC)}}
  
{{checkme|[[Участник:Urmat A|Urmat A]] 18:48, 18 декабря 2024 (UTC)}}
+
[[Категория:Циклы]]

Текущая версия на 21:11, 18 декабря 2024

Вопрос: 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?

  • 0 и i < m-1
  • Правильный ответ: 0 и i < m
  • 0 и i < m+1
  • 1 и i < m
  • 1 и i < m+1


Объяснение

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

Можно понять, что в первом коде 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.