Тест по Computer Science — вопросы

Материал из DISCOPAL
Перейти к: навигация, поиск
12345678910
Тест по Computer Science, подготовил Участник:Akazikov

Вариант 50555364.


Прошло 00:00:03.
Ваше имя*:


Вопрос 1

Рассмотрите следующую функцию

  double power(double base, unsigned int exponent)
  {
  if (exponent == 0)
    return 1.0;
  else
    if (even(exponent))
      return power(base*base, exponent/2);
    else
      return power(base*base, exponent/2)*base;
  }


Сколько умножений выполняется в результате использования вызова power(5.0, 12)?

(В эту сумму не включайте деления)

  1.  12
  2.  6
  3.  5
  4.  8
  5.  9

Вопрос 2

Какие из следующих характеристик языка программирования лучше всего определяются с помощью контекстно-свободной грамматики?

  1.  Длина идентификатора
  2.  Совместимость типов
  3.  Преобразование типов
  4.  Приоритет оператора
  5.  Максимальный уровень вложенности

Вопрос 3

Чтобы найти решение уравнения для полинома степени с производной , метод Ньютона делает итерации вида

начиная с некоторого начального значения , достаточно близкого к желаемому решению , чтобы обеспечить сходимость к для фиксированных значений и , что из приведенного ниже представляет порядок увеличения минимального числа итераций, необходимого для вычисления с точностью до бит как функции из ?

  1.  
  2.  
  3.  
  4.  
  5.  

Вопрос 4

На конвейерном RISC-компьютере, где все арифметические команды имеют одинаковый CPI (cycles per instruction), какие из следующих действий улучшат время выполнения типичной программы?

  • Увеличение частоты тактового цикла
  • Запрещение любой переадресации в конвейере
  • Удвоение размеров кэша интсрукций и кэша данных без изменения времени такта
  1.  Только 2
  2.  1 и 3
  3.  Только 1
  4.  1 и 2
  5.  Только 3

Вопрос 5

Массив A содержит 256 элементов по 4 байта каждый. Его первый элемент хранится по физическому адресу 4096

Массив B содержит 512 элементов по 4 байта каждый. Его первый элемент хранится по физическому адресу 8192

Предположим, что только массивы A и B могут быть кэшированы в изначально пустой, физически адресуемой, физически маркированной, кэш-памяти с прямым отображением, объемом 2 Кбайт и размером блока 8 байт

Затем выполняется следующий цикл

  for (i = 0; i < 256; i++)
    A[i] = A[i] + B[2*i];

Сколько байт будет записано в память во время выполнения цикла, если в кэше действует политика сквозной записи?

  1.  0
  2.  4096
  3.  2048
  4.  256
  5.  1024

Вопрос 6

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

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

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

  • if x[h] < t then h := h + 1
  • h := h + 1
  • k := k — 1
  1.  Только 1
  2.  Только 3
  3.  1 и 2
  4.  1 и 3
  5.  Только 2

Вопрос 7

Какое из приведенных ниже названий является структурой данных в компиляторе, которая отвечает за управление информацией о переменных и их атрибутах?

  1.  Семантический стек
  2.  Таблица символов
  3.  Таблица синтаксического анализа (Parse Table)
  4.  Абстрактное синтаксическое дерево (AST)
  5.  Атрибутивная грамматика (Attribute Grammar)

Вопрос 8

k-ary tree — это дерево, в котором каждый узел имеет не более k детей.

В k-ary tree с n узлами и высотой h, какое из следующих значений является верхней границей для максимального количества листьев в зависимости от h, k и n?

  1.  
  2.  
  3.  
  4.  
  5.  

Вопрос 9

Рассмотрите следующие два языка

Что из нижеследующего верно в отношении и  ?

  1.  Ни , ни не являются контекстно-свободными
  2.   регулярный, а контекстно-свободный, но не регулярный
  3.   является контекстно-свободным, но не регулярным, и не является контекстно-свободным
  4.  Ни , ни не являются регулярными, но оба они не зависят от контекста
  5.   и являются регулярными

Вопрос 10

Рассмотрим следующий псевдокод

  x := 1;
  i := 1;
  while (x <= 1000)
  begin
    x := 2^x;
    i := i + 1;
  end;

Каково значение i в конце псевдокода?

  1.  6
  2.  8
  3.  7
  4.  4
  5.  5