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

Материал из DISCOPAL
Перейти к: навигация, поиск
(Новая страница: « == Вопрос: Q34-4c9f66 == <i>Тут вставьте перевод вопроса. Используйте [https://wiki.4intra.net/Help:%D0%A4%D0%BE%D1%80…»)
 
 
Строка 1: Строка 1:
 
 
== Вопрос: Q34-4c9f66 ==
 
== Вопрос: Q34-4c9f66 ==
 +
Для следующего кода выполняемость любого блока в условных ветках показано
 +
на графе потока управления, с вероятностью выполнения условия на ребрах.
  
<i>Тут вставьте перевод вопроса.
+
Например, логическое выражение ''if_condition'' принимает значение ''true'' в половине случаев.
Используйте [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 возможности разметки],
+
включая формулы и т.п, если будут графы — посмотрите как задать их текстом https://wiki.4intra.net/Graphviz .
+
Потом конечно сотрите инструкции, которые тут курсивом.</i>
+
  
=== Ответы ===
+
{{SideBar40|<graph>
<i>Если ответы простые, однострочные, используйте простой способ задания ответов списком, типа так
+
digraph G{
(префикс «Правильный ответ:» — это дословно, для правильного ответа)</i>
+
  edge [color=blue]
 +
  node [shape=box]
 +
 
 +
  U->W [label="1/2"]
 +
  U->V [label="1/2"]
 +
  V->Y [label="1/2"]
 +
  V->X [label="1/2"]
 +
  X->Y [label="1/3"]
 +
  W->X [label="1"]
 +
  X->U [label="1/3"]
 +
}
 +
</graph>}}
  
* Правильный ответ: тут реально правильный ответ
+
<code-c>
* неправильный ответ
+
  do
* еще какой-то неправильный ответ
+
  {
* еще какой-то неправильный ответ
+
  U;
* еще какой-то неправильный ответ
+
  if (if_condition)
 +
  {
 +
    V;
 +
    if (break_condition)
 +
      break;
 +
  }
 +
  else
 +
    W;
 +
  X;
 +
  } while (loop_condition);
 +
  Y;
 +
</code-c>
  
<i>Если ответы длинные, многострочные, или там графы, используйте
+
Какое ожидаемое количество раз выполняется ''U''?
[https://wiki.4intra.net/MediawikiQuizzer/ru#.D0.9E.D1.82.D0.B2.D0.B5.D1.82.D1.8B способ задания ответов разделами],
+
Но такое очень редко встречается. </i>
+
  
 +
=== Ответы ===
 +
* 0.5
 +
* 1
 +
* 1.5
 +
* Правильный ответ: 2
 +
* Больше 10
  
 
=== Объяснение ===
 
=== Объяснение ===
<i>Сначала заполните номер страницы с этим вопросом
+
В оригинале было 2/3 вместо 1/3, но это точно ошибка. Если поправить, как мы сделали, то
{{cstest-source|2004-gre-cs-practice-book.pdf|тут-номер-страницы-с-вопросом-34|34}}
+
 
 +
<code-python>
 +
from sympy import symbols, summation, oo, simplify
 +
i = symbols('i')
 +
expr = summation(((1/2+1/2 + 1/2*1)*1/3)**i, (i, 0, oo))
 +
simplified_expr = simplify(expr)
 +
print(simplified_expr)
 +
</code-python>
 +
 
 +
Можно размышлять примерно — ну точно больше 1, и меньше 10 — там если расходимость будет то сразу бесконечность. Ну и на глаз прикинуть, что 1.5 — маловато.
 +
 
 +
{{cstest-source|2004-gre-cs-practice-book.pdf|27|34}}
  
Ну и наконец, вики-разметкой напишите ваше понимание, почему правильный ответ — правильный.</i>
+
{{question-ok|[[Участник:StasFomin|StasFomin]] 18:27, 14 декабря 2024 (UTC)}}
  
{{question-ok|}}
+
[[Категория:Вероятностные алгоритмы]]

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

Вопрос: Q34-4c9f66

Для следующего кода выполняемость любого блока в условных ветках показано на графе потока управления, с вероятностью выполнения условия на ребрах.

Например, логическое выражение if_condition принимает значение true в половине случаев.

  do
  {
   U;
   if (if_condition)
   {
     V;
     if (break_condition)
       break;
   }
   else
     W;
   X;
   } while (loop_condition);
   Y;

Какое ожидаемое количество раз выполняется U?

Ответы

  • 0.5
  • 1
  • 1.5
  • Правильный ответ: 2
  • Больше 10

Объяснение

В оригинале было 2/3 вместо 1/3, но это точно ошибка. Если поправить, как мы сделали, то

from sympy import symbols, summation, oo, simplify
i = symbols('i')
expr = summation(((1/2+1/2 + 1/2*1)*1/3)**i, (i, 0, oo))
simplified_expr = simplify(expr)
print(simplified_expr)

Можно размышлять примерно — ну точно больше 1, и меньше 10 — там если расходимость будет то сразу бесконечность. Ну и на глаз прикинуть, что 1.5 — маловато.

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