Главная / Программирование /
Common Intermediate Language и системное программирование в Microsoft .NET / Тест 7
Common Intermediate Language и системное программирование в Microsoft .NET - тест 7
Упражнение 1:
Номер 1
Какие существуют способы перехвата ошибок, возникающих в процессе работы программы:
Ответ:
 (1) обработка кодов исполнения 
 (2) обработка кодов возврата 
 (3) обработка исключений 
 (4) обработка текста 
Номер 2
Каждое предложение обработки исключений представляет собой структуру, состоящую из нескольких полей, в которых записаны координаты следующих областей:
Ответ:
 (1) защищенной области 
 (2) области обработчика 
 (3) область буфера 
 (4) в некоторых случаях область фильтра 
Номер 3
Поле предложения обработки исключений в случае короткого формата ClassToken
имеет смещение равное:
Ответ:
 (1) 1 
 (2) 3 
 (3) 5 
 (4) 6 
 (5) 7 
 (6) 8 
Упражнение 2:
Номер 1
Полe предложения обработки исключений в случае длинного формата Flags
имеет размер равный:
Ответ:
 (1) 1 
 (2) 2 
 (3) 3 
 (4) 4 
Номер 2
Какие допустимые значения имеет поле Flags
предложения обработки исключений:
Ответ:
 (1) 0 
 (2) 1 
 (3) 2 
 (4) 3 
Номер 3
Возможны следующие типы обработчиков исключений:
Ответ:
 (1) обработчик с пользовательской фильтрацией 
 (2) обработчик finally
 
 (3) обработчик с фильтрацией по типу 
 (4) обработчик fault
 
 (5) Обработчик system
 
 (6) Обработчик class
 
Упражнение 3:
Номер 1
Какая инструкция генерирует исключение, включая тем самым механизм обработки исключений:
Ответ:
 (1) throw
 
 (2) rethrow
 
 (3) leave
 
 (4) leave.s
 
Номер 2
Какая инструкция разрешена только внутри обработчика исключений с фильтрацией по типу и предназначена для генерации того же самого исключения, которое было поймано обработчиком:
Ответ:
 (1) rethrow
 
 (2) endfilter
 
 (3) endfinally
 
 (4) leave.s
 
Номер 3
Встроенный операнд int32
имеют следующие инструкции:
Ответ:
 (1) leave.s
 
 (2) leave
 
 (3) endfinally
 
 (4) rethrow
 
 (5) throw
 
 (6) endfilter
 
Упражнение 4:
Номер 1
Диаграмма стека для инструкции leave
:
Ответ:
 (1) ... -> ...
 
 (2) ... ->
 
 (3) ...
 
Номер 2
Диаграмма стека для инструкции endfinally
:
Ответ:
 (1) ... -> ... ...
 
 (2) ... ... -> ...
 
 (3) -> ...
 
 (4) ... -> ...
 
Номер 3
Диаграмма стека для инструкции endfilter
:
Ответ:
 (1) ... , value -> ...
 
 (2) ... , value -> ... ...
 
 (3) value -> ...
 
 (4) ... , -> ...
 
 (5) ... , value ->
 
 (6) value ->
 
Упражнение 5:
Номер 1
В общем случае, предложение обработки исключений определяет в коде метода:
Ответ:
 (1) одну область 
 (2) две области 
 (3) три области  
 (4) четыре области 
Номер 2
Какие существуют правила для расположения областей, которые определяет предложение обработки исключений в коде метода?
Ответ:
 (1) области, определяемые в предложении обработки исключений, не могут перекрываться 
 (2) область фильтра всегда расположена непосредственно перед областью обработчика 
 (3) область фильтра завершается инструкцией endfilter
 
Номер 3
Передача управления внутрь защищенных областей, из них и между ними и их обработчиками регламентирована следующими правилами:
Ответ:
 (1) передача управления на обработчики осуществляется только через механизм обработки исключений 
 (2) существует только два способа передать управление извне на защищенную область 
 (3) перед входом в защищенную область стек вычислений должен быть пустым 
Упражнение 6:
Номер 1
Для выхода из защищенной области, из области фильтра или из области обработчика существуют только следующие возможности:
Ответ:
 (1) порождение исключения инструкцией throw
 
 (2) использование инструкции endfilter
из области фильтра 
 (3) использование инструкции endfinally
из области без фильтрации 
 (4) использование инструкции rethrow
из области с фильтрацией 
 (5) использование инструкции rethrow
из области без фильтрации 
Номер 2
Пусть в некотором методе инструкция, расположенная по некоторому адресу, породила исключение. Система выполнения обрабатывает это исключение:
Ответ:
 (1) в три этапа 
 (2) в семь этапов 
 (3) в четыре этапа 
 (4) в два этапа 
Номер 3
Система выполнения для обработки сгенерированного исключения на втором этапе:
Ответ:
 (1) останавливается, когда доходит до предложения, найденного на втором этапе 
 (2) останавливается, когда доходит до предложения, найденного на нуль-этапе 
 (3) останавливается, когда доходит до предложения, найденного на первом этапе 
 (4) останавливается, когда доходит до предложения, найденного на подготовительном этапе 
Упражнение 7:
Номер 1
В составе .NET Framework SDK поставляется ассемблер:
Ответ:
 (1) IASM 
 (2) ILASM 
 (3) LASM 
 (4) LSM 
Номер 2
Ассемблер, входящий в составе .NET Framework SDK позволяет компилировать:
Ответ:
 (1) системные вызовы 
 (2) текстовые файлы, содержащие CIL-код 
 (3) метаданные 
 (4) системные инструкции 
Номер 3
IL-формат - это формат файлов, поддерживаемый:
Ответ:
 (1) ассемблером ILASM 
 (2) ассемблером NASM 
 (3) ассемблером MASM 
 (4) ассемблером ASM 
Упражнение 8:
Номер 1
Программы в IL-формате состоят из следующих лексических элементов:
Ответ:
 (1) идентификаторы 
 (2) константы 
 (3) зарезервированные слова 
 (4) специальные знаки 
 (5) специальные метки 
 (6) комментарии 
 (7) метки 
Номер 2
Идентификаторы и метки чаще всего представляют последовательности символов, начинающиеся с латинской буквы (или с символов "_"
, "$"
, "@"
и "?"
), за которой следуют:
Ответ:
 (1) латинские буквы 
 (2) цифры 
 (3) знаки 
 (4) символы "_"
, "$"
, "@"
и "?"
 
Номер 3
В каком случае в идентификаторы будут включены символы Unicode:
Ответ:
 (1) Label_1 $Name Идентификатор
 
 (2) Label_1 $Name 'Идентификатор'
 
 (3) Label_1 $Name
 
 (4) Label_1 $Name 'Идентификатор
 
Упражнение 9:
Номер 1
Несколько идентификаторов могут будут объединены в один идентификатор в следующем примере:
Ответ:
 (1) System;Console;WriteLine;
 
 (2) System_Console_WriteLine
 
 (3) System+Console+WriteLine
 
 (4) System.Console.WriteLine
 
Номер 2
В вещественных константах для разделения целой и дробной части используется:
Ответ:
 (1) запятая 
 (2) точка с запятой 
 (3) тире 
 (4) точка 
Номер 3
Комментарии в IL-программах записываются так:
Ответ:
 (1) "//"...
 
 (2) "/*"..."*/"
 
 (3) "/"..."/"
 
 (4) "/-""-/"
 
 (5) "#"...
 
 (6) "/&"..."&/"
 
Упражнение 10:
Номер 1
К элементам IL-программы можно отнести:
Ответ:
 (1) сборка 
 (2) модуль 
 (3) поле 
 (4) тип 
 (5) метод 
Номер 2
В каком примере диектива заголовка задает имя сборки:
Ответ:
 (1) .module MyProgram.exe
 
 (2) .assembly MyProgram { }
 
 (3) .assembly extern mscorlib { }
 
Номер 3
В каком примере происходит объявление неэкспортируемого интерфейса:
Ответ:
 (1) .class private interface MyInterface { }
 
 (2) .class public sealed MyValueType
 
 (3) .class public abstract MyAbstractClass
 
Упражнение 11:
Номер 1
Атрибутами полей являются:
Ответ:
 (1) family
 
 (2) public
 
 (3) private
 
 (4) assembly
 
 (5) static
 
 (6) focus
 
Номер 2
В каком примере происходит объявление поля x
типа массив:
Ответ:
 (1) .field private int32 x
 
 (2) .field private int32[]
 
 (3) .field private int32[] x[]
 
 (4) .field private int32[] x
 
Номер 3
Объявление конструктора с двумя параметрами происходит в следующем случае:
Ответ:
 (1) .method public void .ctor (int32 x, class [mscorlib]System.String s)
 
 (2) .method private virtual int32 myMethod(int32& pX)
 
 (3) .method public static int32[] MyStaticMethod()
 
Упражнение 12:
Номер 1
Директивами тела метода являются:
Ответ:
 (1) .entrypoint
 
 (2) .locals
 
 (3) .maxstack
 
 (4) .globals
 
Номер 2
В следующем примере:.class public SampleClass
{
.method public static void Demo()
{
.entrypoint
.maxstack 3
ldc.r8 0.0
ldc.r8 0.0
newobj void Point::.ctor(float64,float64)
ldc.r8 1.0
ldc.r8 1.0
newobj void Point::.ctor(float64,float64)
call float64 Point::Distance(valuetype Point, valuetype Point)
call void [mscorlib]System.Console::WriteLine (float64)
ret
}
}метод Demo будет вычислять расстояние между точками:
Ответ:
 (1) (0.0,0.0) и (1.0,1.0) 
 (2) (1.0,1.0) и (0.0,0.0) 
 (3) (1.0,0.0) и (0.0,1.0) 
 (4) (0.0,1.0) и (0.0,1.0) 
Номер 3
Сборка успешно прошла верификацию в следующем случае:
Ответ:
 (1) All Classes in sample1.exe Verified
 
 (2) All Methods in sample1.exe Verified
 
 (3) All Classes and Methods in sample1.exe
 
 (4) All Classes and Methods in sample1.exe Verified