Главная / Программирование /
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