игра брюс 2048
Главная / Программирование / Разработка компиляторов / Тест 10

Разработка компиляторов - тест 10

Упражнение 1:
Номер 1
Управление памятью с точки зрения компилятора существенно ограничено возможностями:

Ответ:

 (1) целевой архитектуры 

 (2) языков программирования 

 (3) сред разработки 

 (4) операционной системы 


Номер 2
Управление памятью при разработке компилятора является вопросом одновременно:

Ответ:

 (1) машинно-зависимым 

 (2) языково-зависимым 

 (3) структурно-зависимым 

 (4) системно-зависимым 


Номер 3
На компилятор языка программирования возлагается ответственность:

Ответ:

 (1) за распределение физической памяти 

 (2) за обеспечение доступа к физической памяти 

 (3) за оптимизацию физической памяти 

 (4) за утилизация физической памяти 


Упражнение 2:
Номер 1
Основными фазами работы с памятью являются:

Ответ:

 (1) выделение памяти под ресурс 

 (2) очистка памяти/освобождение ресурса 

 (3) повторное использование памяти 

 (4) инициализация памяти 


Номер 2
К проблемам управления пмятью можно отнести:

Ответ:

 (1) память не бесконечна 

 (2) ошибки явного управления памятью 

 (3) ошибки при работе с памятью труднонаходимы 

 (4) проблема освобождения ресурса 


Номер 3
Освобождение ресурсов, ассоциированных с какими-либо внешними сущностями, обычно требует:

Ответ:

 (1) явных операций по закрытию 

 (2) явных операций по открытию 

 (3) неявных операций по закрытию 

 (4) неявных операций по открытию 


Упражнение 3:
Номер 1
Необходимо различать:

Ответ:

 (1) уничтожение памяти 

 (2) опустошение памяти 

 (3) утилизацию памяти 

 (4) заполнение памяти 


Номер 2
Примерами различных путей доступа к структуре являются:

Ответ:

 (1) два указателя, указывающих на один и тот же адрес 

 (2) два указателя, указывающих на различные адреса 

 (3) передача массива параметром в процедуру 


Номер 3
Какие противоположные полюсы существует у проблемы утилизации мусора:

Ответ:

 (1) висячие ссылки 

 (2) мусор 

 (3) ссылки 

 (4) указатели 


Упражнение 4:
Номер 1
Данный пример:void* p = malloc (32000);  
p = q;иллюстрирует:

Ответ:

 (1) висячие ссылки 

 (2) как паямять становится мусором 

 (3) ссылки 

 (4) структуры 


Номер 2
Информация, известная во время компиляции - это:

Ответ:

 (1) динамическая информация 

 (2) системная информация 

 (3) логичекая информация 

 (4) статическая информация 


Номер 3
Какие языки разрешают описание массивов с границей, неизвестной во время компиляции:

Ответ:

 (1) Алгол 68 

 (2) Паскаль 

 (3) PL/I 

 (4) С/С++ 

 (5) C# 


Упражнение 5:
Номер 1
В языке C используется следующая методика управления памятью:

Ответ:

 (1) исключительное использование неявного освобождения памяти 

 (2) исключительное использование явного освобождения памяти 

 (3) исключительное использование явного заполнения памяти 

 (4) исключительное использование неявного заполнения памяти 


Номер 2
Где используется сборка мусора, как методика управления памятью:

Ответ:

 (1) Java 

 (2) платформа .NET 

 (3)

 (4) Fortran 


Номер 3
В последнее время в развитии языков программирования наблюдается полный или частичный отказ от предоставления программисту:

Ответ:

 (1) неявных средств управления памятью 

 (2) логических средств управления памятью 

 (3) явных средств управления памятью 

 (4) системных средств управления памятью 


Упражнение 6:
Номер 1
Недостатком неявного управления памятью является:

Ответ:

 (1) потенциальное замедление программ, использующих сборку мусора 

 (2) потенциальное ускорение программ, использующих сборку мусора 

 (3) системное ускорение программ, использующих сборку мусора 

 (4) логическое замедление программ, использующих сборку мусора 


Номер 2
Когда большинство исследователей было уверено, что неявное управление памятью окончательно вытеснило все остальные методы:

Ответ:

 (1) в середине 60-х годов 

 (2) в конце 60-х годов 

 (3) в середине 70-х годов 

 (4) в конце 70-х годов 


Номер 3
Что помогло неявному управлению памятью возвратить себе позиции среди практических языков программирования:

Ответ:

 (1) удешевление аппаратуры 

 (2) желание избавиться от ошибок управления памятью 

 (3) удешевление операционных систем 

 (4) удешевление средств разработки 


Упражнение 7:
Номер 1
Фазами управления памятью являются:

Ответ:

 (1) утилизация памяти 

 (2) начальное выделение памяти 

 (3) удаление памяти 

 (4) уплотнение и повторное использование 


Номер 2
Перемещение указателя стека - это:

Ответ:

 (1) простая утилизация памяти 

 (2) сложная утилизация памяти 

 (3) системная утилизация памяти 

 (4) структурная утилизация памяти 


Номер 3
Можно выделить следующие основные методы управления памятью:

Ответ:

 (1) представление памяти в виде кучи 

 (2) статическое распределение памяти 

 (3) представление памяти в виде секций 

 (4) стековое распределение памяти 


Упражнение 8:
Номер 1
Для статического управления памятью верны следующие утверждения:

Ответ:

 (1) простейший способ распределения памяти 

 (2) производится во время трансляции 

 (3) не подходит для рекурсивных вызовов 

 (4) вполне достаточен для Фортрана 


Номер 2
Простые переменные, структуры и массивы фиксированного размера, составляют набор данных следующих языков:

Ответ:

 (1) Фортран 

 (2) Си 

 (3) Паскаль 

 (4) Кобол 


Номер 3
В Фортране вся память может быть выделена статически и во время выполнения программы будут меняться только значения простых переменных и элементы массива, а для этого каждая функция транслируется:

Ответ:

 (1) в динамически выделенную область памяти 

 (2) в логически выделенную область памяти 

 (3) в статически выделенную область памяти 

 (4) в системно-выделенную область памяти 


Упражнение 9:
Номер 1
В сложных языках программирования для распределения памяти приходится отталкиваться от значений, которые:

Ответ:

 (1) известны до времени исполнения 

 (2) не могут стать известны во время исполнения 

 (3) станут известны или до или во время исполнения  

 (4) станут известны только во время исполнения 


Номер 2
Для стекового управления память верны следующие утверждения:

Ответ:

 (1) простейший метод распределения памяти времени выполнения 

 (2) освобождение памяти в обратном порядке 

 (3) подходит для языков со строго вложенной структурой 

 (4) используется для точек возврата из подпрограмм и локальных сред 


Номер 3
Языками, пригодными для стекового управления памятью, являются:

Ответ:

 (1) Алгол 68 

 (2) Паскаль 

 (3) Модула 2 

 (4) Си++ 


Упражнение 10:
Номер 1
Данная программа:var in : integer;
function Digits (integer n) : integer;
var m : integer;
begin
  if n < 10 then return n
  else begin
    m := n div 10;
    return n - m*10 + Digits (m);
  end;
end; 

begin
  read (in);
  writeln(Digits(in));
end.
используется:

Ответ:

 (1) для вычисления частного чисел 

 (2) для вычисления остатка от деления 

 (3) для вычисления суммы цифр числа 

 (4) для вычисления квадрата числа 


Номер 2
Невозможно гарантировать последовательность выходов из процедур и потому чисто стековый механизм управления памятью недостаточен:

Ответ:

 (1) при отсутствии системного параллелизма 

 (2) при наличии системного параллелизма 

 (3) при отсутствии параллелизма 

 (4) при наличии параллелизма 


Номер 3
Блок памяти, части которого выделяются и освобождаются способом, не подчиняющимся какой-либо структуре - это:

Ответ:

 (1) секция 

 (2) куча 

 (3) раздел 

 (4) ссылка 


Упражнение 11:
Номер 1
Самая сложная часть управления кучей - это:

Ответ:

 (1) сборка мусора 

 (2) сборка ссылок 

 (3) адресация в памяти 

 (4) сборка секций 


Номер 2
Самый простой способ отслеживания свободной памяти заключается в приписывании:

Ответ:

 (1) двум объектам в памяти специального счетчика ссылок 

 (2) каждому объекту в памяти специального счетчика ссылок 

 (3) одному объекту в памяти специального счетчика ссылок 

 (4) специальному объекту в памяти специального счетчика ссылок 


Номер 3
В отличие от счетчиков ссылок, механизм разметки памяти не приводит:

Ответ:

 (1) к ускорению программ, использующих сборку мусора 

 (2) к замедлению программ, использующих сборку мусора 

 (3) к замедлению программ, не использующих сборку мусора 

 (4) к ускорению программ, не использующих сборку мусора 


Упражнение 12:
Номер 1
В каком году Шорром и Уэйтом был предложен алгоритм с обращением указателей?

Ответ:

 (1) 1965 

 (2) 1968 

 (3) 1971 

 (4) 1974 


Номер 2
Исследования показали, что для большинства программ верны следующие предположения:

Ответ:

 (1) чем моложе объект, тем меньше его ожидаемое время жизни 

 (2) чем старше объект, тем больше его ожидаемое время жизни 

 (3) сжатие части кучи обычно медленнее, чем сжатие всей кучи 

 (4) сжатие части кучи обычно быстрее, чем сжатие всей кучи 


Номер 3
Основными механизмом работы с памятью в .NET являются:

Ответ:

 (1) неявное управления памятью 

 (2) стековый механизм выделения памяти 

 (3) сборка мусора 

 (4) механизм "разметки-и-уплотнения" 




Главная / Программирование / Разработка компиляторов / Тест 10