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

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

Вариант 2134347502.


Ваше имя*:


Вопрос 1

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

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

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

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

Вопрос 2

Рассмотрим контекстно-свободную грамматику 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
  2.  I, II, III
  3.  Только I
  4.  Только I и II
  5.  Только II и III

Вопрос 3

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

[svg]

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

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

Вопрос 4

GRE-CS-v01 2019-04-10 23-10-33 image0.png

На этой картинке

P1
указатель на первый элемент двухсвязного списка
P2
указатель на последний элемент этого списка

Рассмотрим утверждения:

I
Время, требуемое для удаление первого элемента списка, не зависит от длины этого списка.
II
Время, требуемое для удаление предпоследнего элемента списка, не зависит от длины списка.
III
Операция вставки (по индексу) требует столько же операций, как и для односвязного списка.
  1.  Только II
  2.  Только I + II
  3.  Только I
  4.  I + II + III
  5.  Только II + III

Вопрос 5

Рассмотрим программу на 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.  Не скомпилируется
  2.  12
  3.  1
  4.  0
  5.  3
  6.  4

Вопрос 6

Рассмотрим алгоритмы-политики планировщика процессов:

I
First-come-first-serve *FCFS)
II
Политика «старения» — приоритет процесса растет с временем
III
Round-robin

Какие предотвращают «ресурсное голодание»?

  1.  I, II и III
  2.  Только II и III
  3.  Только I и II
  4.  Только I
  5.  Только II
  6.  Никакие

Вопрос 7

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

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

Вопрос 8

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

GRE-CS-v01 2019-04-10 23-20-01 image0.png

Что неверно?

  1.  Есть как минимум два принимаемых входа, которые на выходе выведут одно и то же → 11110
  2.  1011101 — принимается
  3.  Все, что кончается на 101 — принимается.
  4.  Принимаются входы 000101 и 10101.
  5.  1011101 — принимается, а и выводится 1110110.

Вопрос 9

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

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

Вопрос 10

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

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

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