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

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

Вариант 1533377533.


Ваше имя*:


Вопрос 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.  5
  2.  6
  3.  12
  4.  9
  5.  8

Вопрос 2

Массив 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.  2000
  2.  4000
  3.  1024
  4.  0
  5.  256

Вопрос 3

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

  • Инкапсуляция
  • Наследование
  • Рекурсия
  1.  Только 2
  2.  Только 1
  3.  1, 2, 3
  4.  2 и 3
  5.  1 и 2

Вопрос 4

Расписание транзакций является сериализуемым, если его действие эквивалентно действию некоторого последовательного расписания

Рассмотрим бухгалтерскую операцию, состоящую из двух транзакций — и , — которые необходимы для сохранения суммы A + B + C неизменной

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

 Lock A;        Lock B;
 A = A - 10;    B = B - 20;
 Unlock A;      Unlock B;
 B = B + 10;    C = C + 20;
 A = A - 10;    Lock B;
 Lock B;        B = B - 20;
 B = B + 10;    Unlock B;
 Unlock B;      C = C + 20;
 Lock A;        Lock A;
 A = A - 10;    B = B - 20;
 Unlock A;      Unlock A;
 B = B + 10;    C = C + 20;
  1.  Только 1
  2.  Только 3
  3.  Только 2
  4.  1 и 2
  5.  2 и 3

Вопрос 5

Пусть M — одноленточная детерминированная машина Тьюринга с ленточным алфавитом {blank, 0, 1}, и C обозначает (возможно, бесконечное) вычисление M, начинающееся с пустой ленты

Входными данными для каждой задачи, приведенной ниже, являются M и целое положительное число n

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

  • Вычисление C длится не менее n шагов
  • Вычисление C длится не менее n шагов, и M выводит 1 в какой-то момент после n-го шага
  • M сканирует не менее n различных квадратов ленты во время вычисления C
  1.  1 и 2
  2.  1 и 3
  3.  Нет правильных ответов
  4.  1, 2, 3
  5.  Только 3

Вопрос 6

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

Input

Направленный граф , где

Стоимость для всех , где тогда и только тогда, когда

Definition

длина кратчайшего пути от до для всех

Если нет пути от до , то

Если для всех

Problem

Определить для всех

Алгоритм Флойда-Уоршалла дает решение динамического программирования для определения массива для и по следующим условиям

длина кратчайшего пути от до , для которого все промежуточные узлы на этом пути находятся в (где никакие промежуточные узлы не допускаются, если

Тогда

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

для и

для всех

Каково время работы алгоритма Флойда-Уоршалла ?

  1.  
  2.  
  3.  
  4.  
  5.  

Вопрос 7

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

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

Вопрос 8

Центральный процессор имеет арифметический модуль, который складывает байты, а затем устанавливает свои флаговые биты V, C и Z следующим образом

Бит V устанавливается, если происходит арифметическое переполнение (в арифметике с двумя дополнениями)

Бит C устанавливается, если во время операции генерируется перенос из самого старшего бита

Бит Z устанавливается, если результат равен нулю

Каковы значения флагов битов V, C и Z после добавления 8-битных байтов 1100 1100 и 1000 1111 ?

  1.  V = 1 °C = 1 Z = 1
  2.  V = 0 °C = 0 Z = 1
  3.  V = 0 °C = 1 Z = 0
  4.  V = 1 °C = 1 Z = 0
  5.  V = 0 °C = 0 Z = 0

Вопрос 9

Рассмотрите совокупность всех неориентированных графов с 10 вершинами и 6 ребрами

Пусть M и m, соответственно, являются максимальным и минимальным количеством связанных компонентов в любом графе в коллекции

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

  1.  M = 7, m = 4
  2.  M = 6, m = 4
  3.  M = 6, m = 3
  4.  M = 10, m = 10
  5.  M = 10, m = 1

Вопрос 10

Два процессора, M-5 и M-7, реализуют один и тот же набор инструкций

Процессор M5 использует 5-ступенчатый конвейер и тактовый цикл 10 наносекунд

Процессор M-7 использует 7-ступенчатый конвейер и тактовый цикл 7,5 наносекунд

Что из приведенного ниже верно?

  • М-7 имеет лучшую максимальную пропускную способность, чем М-5
  • Задержка выполнения одной инструкции в M-7 меньше, чем в M-5
  • Программы, выполняемые на M-7, всегда будут выполняться быстрее, чем программы, выполняемые на M-5
  1.  1 и 3
  2.  1, 2, 3
  3.  Только 2
  4.  2 и 3
  5.  Только 1