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

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

Вариант 467475708.


Ваше имя*:


Вопрос 1

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

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

Что неверно?

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

Вопрос 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.  I, II, III
  2.  Только II
  3.  Только I и II
  4.  Только II и III
  5.  Только I

Вопрос 3

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

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

Вопрос 4

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

Вопрос 5

Рассмотрим фрагмент программы на 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.  



Вопрос 6

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

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

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

Вопрос 7

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

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

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

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

Вопрос 8

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

[svg]

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

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

Вопрос 9

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

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

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

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

Вопрос 10

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

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