игра брюс 2048
Главная / Программирование / Классические алгоритмы и игры на C# для школьников / Тест 5

Классические алгоритмы и игры на C# для школьников - тест 5

Упражнение 1:
Номер 1
В  игре  "Отгадай  задуманное  число"  компьютер  случайным  образом  "задумывает"  число  из  некоторого  интервала  [min, max].  Игрок  при  поиске  задуманного  числа  применяет  стратегию  "случайного  поиска",  в  которой  он  также  случайным  образом  выбирает  число  из  этого  же  интервала  и  спрашивает  компьютер  равно  ли  его  число  задуманному.  Какие  утверждения  справедливы  относительно  стратегии  случайного  поиска,  применяемой  игроком?

Ответ:

 (1) Существует вероятность того, что число будет отгадано за один вопрос; 

 (2) Существует вероятность того, что независимо от интервала число не будет отгадано за 100 вопросов; 

 (3) Число обязательно будет отгадано за N вопросов, где N – число чисел в интервале [min, max]


Номер 2
В  игре  "Отгадай  задуманное  число"  компьютер  случайным  образом  "задумывает"  число  из  некоторого  интервала  [min, max].  Игрок  при  поиске  задуманного  числа  применяет  стратегию  линейного  поиска,  в  которой  он  последовательно  перебирает  все  числа,  начиная  от  min  и  кончая  числом  max,  каждый  раз  спрашивая  компьютер  равно  ли  его  число  задуманному.  Перебор  прекращается,  когда  найдено  задуманное  число.  Какие  утверждения  справедливы  относительно  стратегии  линейного  поиска,  применяемой  игроком?

Ответ:

 (1) Существует вероятность того, что число будет отгадано за один вопрос; 

 (2) Существует вероятность того, что независимо от интервала число не будет отгадано за 100 вопросов; 

 (3) Число обязательно будет отгадано за N вопросов, где N – число чисел в интервале [min, max]


Номер 3
В  игре  "Отгадай  задуманное  число"  компьютер  случайным  образом  "задумывает"  число  из  некоторого  интервала  [min, max].  Игрок  при  поиске  задуманного  числа  применяет  стратегию  "бинарного  поиска".  Пока  интервал  не  сократится  до  одного  числа,  он  задает  вопрос  "больше  ли  задуманное  число  числа  mid,  представляющего  середину  интервала".  Какие  утверждения  справедливы  относительно  стратегии  бинарного  поиска,  применяемой  игроком?

Ответ:

 (1) Существует вероятность того, что независимо от интервала число не будет отгадано за 100 вопросов; 

 (2) Число будет отгадано ровно за N вопросов, где N – число чисел в интервале [min, max]

 (3) Число будет отгадано за Log(N) + 1 вопросов, где N – число чисел в интервале [min, max], а Log(N) – двоичный логарифм числа N, округленный в большую сторону до ближайшего целого. 


Упражнение 2:
Номер 1
В  программе  объявлена  и  инициализирована  переменная  rnd  класса  Random.  Какие  вызовы  методов  этого  класса  являются  корректными?

Ответ:

 (1) rnd.Next()

 (2) rnd.Next(1) 

 (3) rnd.Next (-10, 10)

 (4) rnd.Next(20, 10)


Номер 2
Класс  Random  позволяет  получать  случайные  (псевдослучайные)  числа  в  заданном  интервале.  Какой  из  методов  этого  класса  позволяет  получать  случайные  вещественные  числа,  равномерно  распределенные  в  заданном  интервале?

Ответ:

 (1) Конструктор класса; 

 (2) Метод Next

 (3) Метод NextDouble

 (4) Метод NextBytes


Номер 3
Класс  Random  позволяет  получать  случайные  (псевдослучайные)  числа  в  заданном  интервале.  Какой  из  методов  этого  класса  позволяет  получать  случайные  целые  числа,  равномерно  распределенные  в  заданном  интервале?

Ответ:

 (1) Конструктор класса; 

 (2) Метод Next

 (3) Метод NextDouble

 (4) Метод NextBytes


Упражнение 3:
Номер 1
Какие  утверждения  справедливы  для  метода  бинарного  поиска?

Ответ:

 (1) Является наиболее эффективным методом поиска в множестве, где все элементы упорядочены, то есть следующий элемент больше предыдущего; 

 (2) Является наиболее эффективным методом поиска как в упорядоченном, так и в неупорядоченном множестве; 

 (3) Для неупорядоченного множества применение метода, как правило, дает неверный ответ. 


Номер 2
В  программе  объявлена  и  инициализирована  переменная  rnd  класса  Random.  Какие  вызовы  методов  этого  класса  являются  корректными?

Ответ:

 (1) rnd.NextDouble()

 (2) rnd.NextDouble(1) 

 (3) rnd.NextDouble (-10, 10)

 (4) rnd.NextDouble(20, 10)


Номер 3
Какие  утверждения  справедливы  для  генерирования  случайных  чисел  типа  double?:

Ответ:

 (1) Метод NextDouble позволяет генерировать числа в диапазоне от 0.0 до 1.0; 

 (2) Метод NextDouble позволяет генерировать числа в диапазоне [min, max]

 (3) Число, сгенерированное методом NextDouble, всегда можно привести к интервалу [min, max]


Упражнение 4:
Номер 1
Компьютер  задумал  число  в  интервале  от  82  до  320.  Какое  минимальное  число  вопросов  (больше,  меньше,  равно)  нужно  задать  в  игре  с  компьютером,  чтобы  гарантировано  найти  задуманное  число  и  получить  ответ  "да"?

Ответ:

 (1) 9; 

 (2) 10; 

 (3) 11; 

 (4) 12. 


Номер 2
Компьютер  задумал  число  в  интервале  от  32  до  50.  Какое  минимальное  число  вопросов  (больше,  меньше,  равно)  нужно  задать  в  игре  с  компьютером,  чтобы  гарантировано  найти  задуманное  число  и  получить  ответ  "да"?

Ответ:

 (1) 1; 

 (2) 2; 

 (3) 3. 

 (4) 5. 

 (5) 6. 


Номер 3
Компьютер  задумал  число  в  интервале  от  100  до  1000.  Какое  минимальное  число  вопросов  (больше,  меньше,  равно)  нужно  задать  в  игре  с  компьютером,  чтобы  гарантировано  найти  задуманное  число  и  получить  ответ  "да"?

Ответ:

 (1) 1; 

 (2) 10; 

 (3) 11. 

 (4) 900. 


Упражнение 5:
Номер 1
При  создании  переменной  rnd  класса  Random  можно  вызвать  конструктор  с  параметром  или  без  параметров,  например,
  Random  rnd  =  new  Random(10),  rnd1  =  new  Random();
  Какие  утверждения  справедливы  для  вызова  конструктора  без  параметров?

Ответ:

 (1) При каждом запуске программы позволяет генерировать новую последовательность случайных чисел; 

 (2) У конструктора без параметров начальное значение генерируемой последовательности определяется текущей датой и текущим временем компьютера в момент вызова конструктора; 

 (3) Вызов конструктора без параметров позволяет генерировать одну и ту же последовательность случайных чисел при каждом запуске программы; 

 (4) У конструктора без параметров начальное значение генерируемой последовательности всегда фиксировано. 


Номер 2
При  создании  переменной  rnd  класса  Random  можно  вызвать  конструктор  с  параметром  или  без  параметров,  например,
  Random  rnd  =  new  Random(100),  rnd1  =  new  Random();
  Какие  утверждения  справедливы?

Ответ:

 (1) При каждом запуске программы последовательность случайных чисел, генерируемая переменной rnd, будет одна и та же; 

 (2) При каждом запуске программы последовательность случайных чисел, генерируемая переменной rnd1, будет одна и та же; 

 (3) При каждом запуске программы последовательность случайных чисел, генерируемая переменной rnd, будет разная; 

 (4) При каждом запуске программы последовательность случайных чисел, генерируемая переменной rnd1, будет разная. 


Номер 3
Переменные  rnd  и  rnd1  класса  Random  были  созданы  конструктором  с  параметром  следующим  образом:

Random rnd = new Random(100), rnd1 = new Random(200);

  Какие  утверждения  справедливы?

Ответ:

 (1) При каждом запуске программы последовательность случайных чисел, генерируемая переменной rnd, будет одна и та же; 

 (2) Последовательности случайных чисел, генерируемые переменными rnd и rnd1, будут совпадать; 

 (3) Последовательности случайных чисел, генерируемые переменными rnd и rnd1, будут различаться; 

 (4) Последовательность случайных чисел, генерируемая переменной rnd1, будет начинаться числом 200. 


Упражнение 6:
Номер 1
Какие  утверждения  справедливы  при  игре  "Быки  и  коровы"?

Ответ:

 (1) В этой игре нет очевидной эффективной стратегии поиска, аналогичной стратегии бинарного поиска для предыдущей игры, где разрешается задавать вопросы "больше", "меньше"; 

 (2) Придумать для компьютера алгоритм поиска задуманного числа, который бы играл лучше, чем человек, например, побеждал бы в матче из 100 партий, еще не решенная задача. 

 (3) Человек всегда побеждает компьютер в этой игре; 

 (4) Компьютер всегда побеждает человека в этой игре. 


Номер 2
Какие  утверждения  справедливы  при  игре  "Быки  и  коровы"?

Ответ:

 (1) Правильный ответ нельзя получить за один вопрос; 

 (2) Метод бинарного поиска не применим в этой игре; 

 (3) Гарантировано правильный ответ можно получить за Log(N) + 1 вопрос, где N – это количество чисел в интервале [min, max], а Log(N) – двоичный логарифм числа N, округленный в большую сторону до ближайшего целого; 

 (4) Применение логических рассуждений позволяет человеку находить задуманное число быстрее, чем за N вопросов. 


Номер 3
Какие  утверждения  справедливы  при  игре  "Быки  и  коровы"?

Ответ:

 (1) Правильный ответ может быть получен за один вопрос. 

 (2) Наилучшей стратегией поиска задуманного числа является метод бинарного поиска. 

 (3) Гарантировано правильный ответ можно получить за N вопросов, где N – это количество чисел в интервале [min, max]

 (4) Применение логических рассуждений позволяет человеку находить задуманное число быстрее, чем за N вопросов. 


Упражнение 7:
Номер 1
В  игре  "Быки  и  коровы"  компьютер  задумал  трехзначное  число  из  интервала  [100,  999].  Ответ  компьютера  на  число  123  был  следующим:  "один  бык,  ноль  коров?  Сколько  минимум  вопросов  достаточно  задать,  чтобы  понять,  какая  из  трех  цифр  присутствует  в  задуманном  числе  и  на  каком  она  стоит  месте?

Ответ:

 (1) 1. 

 (2) 2. 

 (3) 3. 

 (4) 4. 


Номер 2
В  игре  "Быки  и  коровы"  компьютер  задумал  трехзначное  число  из  интервала  [100,  999].  Ответ  компьютера  на  число  123  был  следующим:  "ноль  быков,  одна  корова".  Какие  выводы  можно  сделать  на  основании  этих  ответов?

Ответ:

 (1) Если в задуманном числе есть цифра 1, то она стоит на втором или на третьем месте; 

 (2) Если в задуманном числе есть цифра 2, то она стоит на первом или на третьем месте; 

 (3) Если в задуманном числе есть цифра 3, то она стоит на третьем месте; 

 (4) Если в задуманном числе есть цифра 3, то она стоит на первом месте; 

 (5) Если в задуманном числе есть цифра 3, то она стоит либо на первом, либо на втором месте. 


Номер 3
В  игре  "Быки  и  коровы"  компьютер  задумал  трехзначное  число  из  интервала  [100,  999].  Ответ  компьютера  на  число  123  был  следующим:  "ноль  быков,  одна  корова".  На  следующее  предложенное  число  213  ответ  был:  "один  бык,  ноль  коров".  Какие  выводы  можно  сделать  на  основании  этих  ответов?

Ответ:

 (1) В задуманном числе нет цифры 3; 

 (2) В задуманном числе нет цифры 2; 

 (3) В задуманном числе нет цифры 1; 

 (4) Если в задуманном числе есть цифра 2, то она стоит на первом месте; 

 (5) Если в задуманном числе есть цифра 1, то она стоит на втором месте. 


Упражнение 8:
Номер 1
Какова  восьмеричная  запись  десятичного  числа  124?

Ответ:

 (1) 104; 

 (2) 170; 

 (3) 1104; 

 (4) 174. 


Номер 2
Какова  троичная  запись  десятичного  числа  124?

Ответ:

 (1) 11120; 

 (2) 11121; 

 (3) 11220; 

 (4) 11100. 


Номер 3
Какова  двоичная  запись  десятичного  числа  124?

Ответ:

 (1) 1111101; 

 (2) 1110110; 

 (3) 1111100; 

 (4) 1111110. 


Упражнение 9:
Номер 1
Какие  утверждения  справедливы  при  разборе  целого  десятичного  числа  N  на  цифры?

Ответ:

 (1) Получить последнюю цифру можно взяв остаток от деления N на 10; 

 (2) Получить последнюю цифру можно как результат деления нацело N на 10; 

 (3) Отрезать последнюю цифру можно как результат деления нацело N на 10. 


Номер 2
Какие  утверждения  справедливы  при  переводе  целого  десятичного  числа  N  в  систему  с  основанием  p?

Ответ:

 (1) Получить последнюю цифру в записи числа N в системе с основанием p можно как остаток от деления числа N на 10; 

 (2) Получить последнюю цифру в записи числа N в системе с основанием p можно как остаток от деления числа N на p

 (3) Число N можно представить, как K * p + C, где K – целое число, а C – цифра в системе счисления с основанием p


Номер 3
Дан  фрагмент  программы:

int N = 1237; int digit = N % 10; N = N/10;

  Какие  значения  получили  переменные?

Ответ:

 (1) digit = 1; N =237; 

 (2) digit = 237; N =1; 

 (3) digit = 7; N =123. 


Упражнение 10:
Номер 1
При  сборке  числа  из  цифр  возникает  необходимость  преобразования  символа,  представляющего  цифру  в  число.  Дан  фрагмент  программы,  выполняющий  преобразование:

char d = '2';
            int d1 = d, d2 = d - '0', d3 = int.Parse(d.ToString());

  Какие  утверждения  справедливы  для  этого  фрагмента?

Ответ:

 (1) Возникнет ошибка в ходе преобразования. 

 (2) Все переменные d1, d2, d3 будут иметь значение 2. 

 (3) Переменные d2 и d3 будут иметь значение 2. 

 (4) Переменная d1 будет иметь значение 50, представляющее код цифры 2; 

 (5) Все переменные будут иметь разные значения. 


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

char d = '7';
            int d1 = d, d2 = d - '0', d3 = int.Parse(d.ToString());

  Какие  утверждения  справедливы  для  этого  фрагмента?

Ответ:

 (1) Возникнет ошибка в ходе преобразования. 

 (2) Все переменные d1, d2, d3 будут иметь значение 7. 

 (3) Переменные d2 и d3 будут иметь значение 7. 

 (4) Переменная d1 будет иметь значение 55, представляющее код цифры 7; 

 (5) Все переменные будут иметь разные значения. 


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

char d = '5';
            int d1 = d, d2 = d - '0', d3 = int.Parse(d.ToString());

  Какие  утверждения  справедливы  для  этого  фрагмента?

Ответ:

 (1) Возникнет ошибка в ходе преобразования. 

 (2) Все переменные d1, d2, d3 будут иметь значение 5. 

 (3) Переменные d2 и d3 будут иметь значение 5. 

 (4) Переменная d1 будет иметь значение 53, представляющее код цифры 5; 

 (5) Все переменные будут иметь разные значения. 




Главная / Программирование / Классические алгоритмы и игры на C# для школьников / Тест 5