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

Материал из DISCOPAL
Перейти к: навигация, поиск
(Новая страница: « == Вопрос: Q19-08c765 == <i>Тут вставьте перевод вопроса. Используйте [https://wiki.4intra.net/Help:%D0%A4%D0%BE%D1%80…»)
 
 
(не показано 9 промежуточных версий 1 участника)
Строка 1: Строка 1:
 
 
== Вопрос: Q19-08c765 ==
 
== Вопрос: Q19-08c765 ==
 +
Пусть все переменные целые и m >= 1.
  
<i>Тут вставьте перевод вопроса.
+
Псевдокод 1:
Используйте [https://wiki.4intra.net/Help:%D0%A4%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5 возможности разметки],
+
<code-pascal>
включая формулы и т.п, если будут графы — посмотрите как задать их текстом https://wiki.4intra.net/Graphviz .
+
sum = 0
Если код — теги «code-pascal», «code-c» или «code-python».
+
for i = 1 to m
 +
  sum = sum + i
 +
output ( sum )
 +
</code-pascal>
  
Старайтесь нетривиальные понятия, особенно незнакомые вам, найти ссылку на википедию и вставить (нейросети лажают!).
+
Следующий псевдокод должен выполнять то же самое:
Это важно, чтобы найти корректный перевод (то, что в википедии, или на худой конец — точно массово гуглится).
+
  
Потом конечно сотрите инструкции, которые тут курсивом.</i>
+
Псевдокод 2:
 +
<code-c>
 +
sum = 0
 +
i = <initial value>
 +
while ( <condition> )
 +
{
 +
i = i + 1
 +
sum = sum + i
 +
}
 +
output ( sum )
 +
</code-c>
  
 
=== Ответы ===
 
=== Ответы ===
<i>Если ответы простые, однострочные, используйте простой способ задания ответов списком, типа так
+
При каких значениях <initial_value> и <condition>, псевдокод 1 выдаст то же самое, что и псевдокод 2?
(префикс «Правильный ответ:» — это дословно, для правильного ответа, неважно, какой он будет в списке)</i>
+
* 0 и i < m-1
 
+
* Правильный ответ: 0 и i < m
* Правильный ответ: тут реально правильный ответ
+
* 0 и i < m+1
* неправильный ответ
+
* 1 и i < m
* еще какой-то неправильный ответ
+
* 1 и i < m+1
* еще какой-то неправильный ответ
+
* еще какой-то неправильный ответ
+
 
+
<i>Если ответы длинные, многострочные, или там графы, используйте
+
[https://wiki.4intra.net/MediawikiQuizzer/ru#.D0.9E.D1.82.D0.B2.D0.B5.D1.82.D1.8B способ задания ответов разделами],
+
Но такое очень редко встречается. </i>
+
  
  
 
=== Объяснение ===
 
=== Объяснение ===
<i>Сначала заполните номер страницы с этим вопросом
+
{{cstest-source|2011-gre-cs-practice-book.pdf|24|19}}
{{cstest-source|2011-gre-cs-practice-book.pdf|тут-номер-страницы-с-вопросом-19|19}}
+
 
+
Если все сделаете правильно, по ссылке выше будет открываться правильная страница в правильном PDFе.
+
 
+
Ну и наконец, вики-разметкой напишите ваше понимание, почему правильный ответ — правильный, а [[2004-gre-cs-practice-book.pdf/Q16|неправильные варианты — неправильны]].
+
Тут тоже могут быть полезны [[2004-gre-cs-practice-book.pdf/Q03|ссылки на википедию]],
+
решение вами [[2004-gre-cs-practice-book.pdf/Q12|рекуррентных уравнений в sympy]].
+
  
</i>
+
Можно понять, что в первом коде 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.
 +
{{question-ok|[[Участник:StasFomin|StasFomin]] 21:11, 18 декабря 2024 (UTC)}}
  
{{question-ok|}}
+
[[Категория:Циклы]]

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