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

Материал из DISCOPAL
Перейти к: навигация, поиск
(Новая страница: « == Вопрос: Q55-4c9f66 == <i>Тут вставьте перевод вопроса. Используйте [https://wiki.4intra.net/Help:%D0%A4%D0%BE%D1%80…»)
 
 
Строка 1: Строка 1:
 
 
== Вопрос: Q55-4c9f66 ==
 
== Вопрос: Q55-4c9f66 ==
  
<i>Тут вставьте перевод вопроса.
+
Предположим, что целевой объект ''t'' — это целое число, хранящееся где-то в целочисленном массиве ''x'', отсортированном в неубывающем порядке.
Используйте [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 возможности разметки],  
+
Рассмотрим следующую схему цикла для поиска ''t''
включая формулы и т.п, если будут графы — посмотрите как задать их текстом https://wiki.4intra.net/Graphviz .  
+
Потом конечно сотрите инструкции, которые тут курсивом.</i>
+
  
=== Ответы ===
+
<code-c>
<i>Если ответы простые, однострочные, используйте простой способ задания ответов списком, типа так
+
  <initialization of h and k>
(префикс «Правильный ответ:» — это дословно, для правильного ответа)</i>
+
  while (x[h] != t)
 +
  {
 +
    P;
 +
  }
 +
</code-c>
  
* Правильный ответ: тут реально правильный ответ
+
Если '''initialization''' устанавливает инвариант <m>x[h] \le t < x[k]</m>, какое из следующих определений для
* неправильный ответ
+
блока ''P'', взятое по отдельности, гарантирует, что цикл завершится с <m>x[h]=t</m>, предполагая,
* еще какой-то неправильный ответ
+
что ''t'' точно есть в массиве?
* еще какой-то неправильный ответ
+
* еще какой-то неправильный ответ
+
  
<i>Если ответы длинные, многострочные, или там графы, используйте
+
# <code-pascal>if x[h] < t then h := h + 1</code-pascal>
[https://wiki.4intra.net/MediawikiQuizzer/ru#.D0.9E.D1.82.D0.B2.D0.B5.D1.82.D1.8B способ задания ответов разделами],
+
# <code-pascal>h := h + 1</code-pascal>
Но такое очень редко встречается. </i>
+
# <code-pascal>k := k — 1</code-pascal>
  
 +
=== Ответы ===
 +
* Только 1
 +
* Только 2
 +
* Только 3
 +
* Правильный ответ: 1 и 2
 +
* 1 и 3
  
 
=== Объяснение ===
 
=== Объяснение ===
<i>Сначала заполните номер страницы с этим вопросом
+
{{cstest-source|2004-gre-cs-practice-book.pdf|38|55}}
{{cstest-source|2004-gre-cs-practice-book.pdf|тут-номер-страницы-с-вопросом-55|55}}
+
 
 +
Ну тут «k» вообще ни причем, а в остальном — наткнемся.
  
Ну и наконец, вики-разметкой напишите ваше понимание, почему правильный ответ — правильный.</i>
+
{{question-ok|[[Участник:StasFomin|StasFomin]] 23:14, 15 декабря 2024 (UTC)}}
  
{{question-ok|}}
+
[[Категория:Циклы]]

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

Вопрос: Q55-4c9f66

Предположим, что целевой объект t — это целое число, хранящееся где-то в целочисленном массиве x, отсортированном в неубывающем порядке. Рассмотрим следующую схему цикла для поиска t

  <initialization of h and k>
  while (x[h] != t)
  {
    P;
  }

Если initialization устанавливает инвариант , какое из следующих определений для блока P, взятое по отдельности, гарантирует, что цикл завершится с , предполагая, что t точно есть в массиве?

  1. if x[h] < t then h := h + 1
  2. h := h + 1
  3. k := k — 1

Ответы

  • Только 1
  • Только 2
  • Только 3
  • Правильный ответ: 1 и 2
  • 1 и 3

Объяснение

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

Ну тут «k» вообще ни причем, а в остальном — наткнемся.