Общий тест по Computer Science — вопросы

Материал из DISCOPAL
Перейти к: навигация, поиск
12345678910
Общий тест по Computer Science

Вариант 3637609958.


Ваше имя*:


Вопрос 1

Какое из бинарных деревьев обеспечит быстрейший поиск элемента «2»?

  1.  [svg]
  2.  Нет правильного варианта.
  3.  [svg]
  4.  [svg]
  5.  [svg]

Вопрос 2

Отсортированный список из 500 чисел хранится в индексированном массиве. Чтобы найти определенный элемент-число, какое максимальное число поисковых операций нужно при…

  • последовательном поиске
  • бинарном поиске
  1.  250 и 8
  2.  25 и 7
  3.  500 и 250
  4.  250 и 9
  5.  500 и 9

Вопрос 3

Пусть у нас есть регулярные выражения R и S:

 R = (ab)|a
 S = (bc)|c

Какое слово может быть в языке L(RS)?

  1.  bcab
  2.  aabc
  3.  abcc
  4.  bca
  5.  abbc

Вопрос 4

Рассмотрим контекстно-свободную грамматику G1:

<Exp> → <Exp> + <Exp> | <Exp> - <Exp>
<Exp> → <Exp> * <Exp> | <Exp> / <Exp>
<Exp> → <Id>
<Id> → a | b | c | …  | y | z

Затем, рассмотрим ее модификацию G2:

<Exp> → <Term> | <Exp> + <Term> | <Exp> - <Term>
<Term> → <Factor> | <Term> * <Factor> | <Term> / <Factor>
<Factor> → <Id>
<Id> → a | b | c | …  | y | z

Теперь рассмотрим утверждения:

I
В дереве разбора грамматикой G2, «*» будет иметь больший приоритет чем «+»
II
G2 — однозначная грамматика
III
Модификация G2, в которой мы добавили новый нетерминал <Term>, привела к тому, что мультипликативные операции и операнды будут разбиратся на более нижнем уровне дерева разбора, чем операции сложения.
  1.  Только II и III
  2.  Только I и II
  3.  I, II, III
  4.  Только II
  5.  Только I

Вопрос 5

Какое число не может быть точно представлено в виде float?

  1.  63.5
  2.  327
  3.  0.1
  4.  3.125
  5.  1/16

Вопрос 6

Рассмотрим дерево: [svg]

Что нельзя о нем сказать?

  1.  У дерева есть корень
  2.  Это бинарное дерево
  3.  Его можно обойти прямым и обратным обходом
  4.  Его высота — 2

Вопрос 7

Проведем BFS-поиск (поиск в ширину), кратчайшего пути из A в Z:

[svg]

В каком порядке алгоритм посетит вершины?

  1.  A → C → F → D → E
  2.  A → C → F → E → B
  3.  A → C → E → B
  4.  A → C → B → D
  5.  A → C → D → F

Вопрос 8

Рассмотрим фрагмент программы на C:

int fibo (int n)
{
   if (n<2)
      return n;
   else
      return fibo(n-1)+fibo(n-2);
}

Что fibo вернет для n=7?

  1.  20
  2.  7
  3.  8
  4.  13
  5.  5

Вопрос 9

Рассмотрим фрагмент программы на C:

int fibo (int n)
{
   if (n<2)
      return n;
   else
      return fibo(n-1)+fibo(n-2);
}

Чтобы найти время выполнения T(n) для «fibo», предположим, что для некоторых констант a и b

  • T(0) = T(1) = a → т.к. положительная ветка ветвления в функции занимает констатное время.
  • T(2) = b +2a → т.е. негативная ветка в ветвлении занимает некую константу, плюс два рекурсивных вызова.

Следующим шагом, определим рекуррентное соотношение, которое, если решить, будет определять время работы T(n) через константы a и b. Выберите правильное.

  1.  


  2.  


  3.  


  4.  




  5.  



Вопрос 10

Рассмотрим программу на C++:

#include <stdio.h>
 
int void main()
{
   int j=0, k=0;
   f(j);
   cout << j + k; 
}
 
void f (int& i)
{
   k = i + 3;
   i = k * i;
}

Напомним, что в C/C++, «int& i» — означает передачу целого параметра по ссылке.

Какое значение выведет программа?

  1.  3
  2.  Не скомпилируется
  3.  4
  4.  12
  5.  1
  6.  0