Данный тест проходят студенты, которые обучаются с системе дистанционного обучения университета "ТИСБИ".
Тест включает в себя 24 вопроса и затрагивает 18 тем. На выполнение теста дается 12 часов.
На данной странице Вы можете купить файл с готовыми ответами на некоторые вопросы теста. В данные момент в файле всего 74 вопроса.
Поэтому, если Вам попадутся вопросы, которых нет в файле, то напишите их мне вконтакте. Я решу эти вопросы в счет стоимости данного файла.
Для того, чтобы получить файл с ответами на тест по операционным системам, необходимо добавить работу в корзину, оформить заказ и оплатить его. Сразу же после оплаты Вы сможете скачать работу с сайта в личном кабинете.
ВАЖНО
P.S. Для тех, кто купил и скачал ответы: в файле нажимаете Ctrl+F, в появившемся окне - кнопку "Параметры >>", в поле "Искать" выбираете "в книге", вводите текст вопроса (а лучше - только его часть) в поле поиска и жмете "Найти все". Правильные ответы выделены зеленым, неправильные - красным. Удачи!
Ниже представлен перечень вопросов, ответы на который включены в файл, для удобства они разбиты по темам. (для поиска по странице жмите Ctrl+F).
2. Назначение и структура трансляторов
- выделение в исходном тексте грамматических конструкций
- идентификация ошибок в тексте программы
- генерация выходного кода на каком-либо языке
- управление выполнением программы
- компиляторы
- программы-ассемблеры
- интерпретаторы
- программы-компоновщики
- компиляторы могут создавать исполняемый машинный код с сохранением его в файле
- компиляторы позволяют выявлять синтаксические ошибки в программах
- компиляторы не могут выполнять оптимизацию создаваемого кода
- компиляторы имеют очень простую программную реализацию
3. Элементы формального описания языков программирования
- угловые скобки < >
- метасимвол ::=
- метасимвол | (вертикальная черта)
- фигурные скобки { }
- упорядоченный массив
- сбалансированное дерево поиска
- хэш-таблица
- Б-дерево
3. Какие односимвольные лексемы типичны для языков программирования
- знаки арифметических операций (+, -, *, /)
- различные типы скобок
- знаки пунктуации (точка, Запятая, Двоеточие, Точка с запятой)
- цифры от 0 до 9
4. Лексический анализ и его реализация
- подпрограмма ЛА вызывается синтаксическим анализатором
- подпрограмма ЛА возвращает код очередной выделенной в тексте лексемы
- подпрограмма ЛА использует таблицу служебных (ключевых) слов
- подпрограмму ЛА можно реализовать только на языке ассемблера
- лексема - это неделимая единица языка
- лексема может состоять из одного или нескольких символов алфавита
- лексемы выделяются во входном тексте программой лексического анализа
- лексема может включать в себя грамматические конструкции
3. Какие задачи должен решать лексический анализатор
- анализ исходного текста как потока символов алфавита языка
- пропуск разделителей и комментариев
- выделение и классификация лексем
- идентификация лексических ошибок
- таблица служебных (ключевых) слов
- таблица пользовательских имен-идентификаторов
- таблица операторов
- таблица двухсимвольных лексем
- каждое правило выводы описывает структуру некоторой грамматической конструкции
- для формализованного описания правил вывода можно использовать нотацию Бэкуса-Наура
- набор правил вывода является формализованной основой синтаксического анализа
- правила вывода используются для генерации программного кода
5. Основы синтаксического анализа
- СА предназначен для выделения в исходном тексте правильных конструкций языка
- СА использует результаты лексического анализа
- входные данные СА — поток символов исходной программы
- выходные данные СА - поток лексем
- дерево неявно строится в процессе синтаксического анализа исходной программы
- промежуточные вершины дерева соответствуют грамматическим конструкциям
- терминальные вершины дерева — всегда лексемы
- дерево грамматического разбора всегда является двоичным
- корнем дерева является конструкция < ОператорПрисваивания >
- листьями дерева являются лексемы "Число" и "Идентификатор"
- листьями дерева являются лексемы = и -
- листьями дерева являются конструкции < Слагаемое > и < Выражение >
- метод рекурсивного спуска
- метод рекурсивного подъема
- метод градиентного спуска
- метод транзитивного замыкания
5. Какие утверждения справедливы относительно дерева грамматического разбора, построенного при анализе оператора присваивания вида y = 5*(a + b)
- корнем дерева является конструкция < ОператорПрисваивания >
- промежуточными вершинами являются конструкции <Выражение>, <Слагаемое>, <Множитель>
- листьями дерева являются лексемы "Идентификатор", знак равенства, круглые скобки
- конструкция <Выражение> встречается в дереве только один раз
6. Какие существуют методы синтаксического анализа
- методы, основанные на построении дерева разбора сверху-вниз
- методы, основанные на построении дерева разбора снизу-вверх
- методы, основанные на обходе дерева разбора по его уровням
- методы, основанные на случайном построении дерева разбора
7. Какие утверждения справедливы относительно дерева грамматического разбора, построенного при анализе выражения вида 2*a + c
- корнем дерева является конструкция < Выражение >
- листьями дерева являются лексемы "Число" и "Идентификатор"
- листьями дерева являются лексемы * и +
- листьями дерева являются конструкции < Слагаемое > и < Множитель >
8. Какие утверждения справедливы относительно дерева грамматического разбора, построенного при анализе выражения вида 10*(a + c)
- корнем дерева является конструкция < Выражение >
- листьями дерева являются лексемы "Число" и "Идентификатор"
- листьями дерева являются лексемы "левая скобка" и "правая скобка"
- листьями дерева являются лексемы * и +
6. Метод рекурсивного спуска
- Viragenie -> Slagaemoe -> Mnogitel -> Viragenie
- SpisOperat -> Operator -> OpCycle -> TeloCycle -> Operator
- Programma -> SpisObjavlen -> Objavlenie -> SpisOperat
- Operator -> OpVvoda -> SpisIdentif -> Objavlenie
- таблица имен строится при обработке конструкции <Объявление>
- таблица имен используется для поиска во всех конструкциях, где могут встречаться имена-идентификаторы
- использование таблицы имен относится к семантическому анализу
- в таблицу имен заносятся все найденные в тексте лексемы
- построение таблицы имен с проверкой их уникальности
- выявление неопределенных имен
- построение таблицы служебных слов
- выделение лексем в исходном тексте
- поиск перечисленных в объявлении имен в таблице имен
- добавление уникальных имен в таблицу
- вывод сообщения об ошибке типа "дважды определенное имя"
- распознавание имен-служебных слов
5. Какие утверждения справедливы относительно метода рекурсивного спуска
- метод рекурсивного спуска является одним из методов синтаксического анализа
- метод реализуется как набор вызывающих друг друга подпрограмм
- метод позволяет выполнить не только синтаксический, но и семантический анализ программы
- метод основан на использовании специального табличного представления правил вывода
6. Какие вспомогательные подпрограммы могут использоваться в методе рекурсивного спуска
- подпрограмма лексического анализа
- подпрограмма поиска в таблице имен
- подпрограмма вывода сообщений об ошибках в исходном тексте
- подпрограммы семантического анализа
7. Какие действия выполняет подпрограмма разбора конструкции < Оператор присваивания > в методе рекурсивного спуска
- поиск идентификатора в таблице имен
- вызов подпрограммы для разбора конструкции < Выражение >
- проверку очередной лексемы на совпадение с символом присваивания
- вывод сообщения об ошибке типа "Неопределенное имя"
7. Семантический анализ. Обработка ошибок
- проверка соответствия формальных и фактических параметров при вызове подпрограммы
- проверка наличия объявления подпрограммы
- выделение памяти для локальных переменных подпрограммы
- замена формальных параметров фактическими
- при появлении первой ошибки анализ программы может прекращаться
- транслятор может попробовать выделить сразу несколько ошибок
- ошибки разделяются на синтаксические и семантические
- генерацию кода можно выполнить даже при наличии ошибок в программе
3. Какие утверждения справедливы относительно семантического анализа
- семантический анализ необходим для учета неформализуемых факторов
- семантический анализ дополняет набор формализованных правил описания языка
- семантический анализ предшествует синтаксическому анализу
- семантический анализ необходим для оптимизации создаваемого кода
8. Введение в генерацию кода.
- код создается на основе выделенных в программе правильных грамматических конструкций
- результирующий код может иметь разные представления
- код всегда создается как набор машинных команд конкретного процессора
- часть кода можно создать на этапе лексического анализа
- распределение памяти для создаваемых команд
- распределение памяти для обрабатываемых данных
- распознавание базовых грамматических конструкций
- выделение в исходном тексте лексем языка
- для глобально определенных данных память распределяется статически
- для локальных переменных подпрограмм используется стековая память
- программа может использовать динамически распределяемую память
- набор машинных команд всегда размещается в динамической памяти
- переменная СА используется для назначения адресов статическим данным
- переменная СА используется для назначения адресов создаваемым командам
- при обработке объявления очередной переменной значение СА увеличивается на размер необходимой для нее памяти
- переменная СА используется при выполнении программы
9. Введение в языки ассемблерного типа
- память – набор байтов, каждый со своим уникальным номером-адресом
- два соседних байта могут рассматриваться вместе как «машинное слово»
- четыре соседних байта образуют понятие «двойное слово»
- время доступа к байтам зависит от расположения байта в памяти
- целые знаковые и беззнаковые числа
- вещественные числа
- символьные данные
- графические данные
- регистр имеет имя EIP
- регистр используется для хранения адреса команды, которая должна выполняться вслед за текущей
- регистр используется для хранения адреса текущей выполняемой команды
- регистр может использоваться для хранения любых данных
- набор доступных программисту регистров
- организация оперативной памяти
- форматы команд
- базовые типы данных
- операндом может быть константа некоторого типа
- операндом может быть один из регистров общего назначения
- операндом может быть метка команды
- операндом может быть символическое имя элемента данных
6. Какие утверждения справедливы относительно структуры машинных команд
- каждая команда содержит код реализуемого ею действия
- большинство команд содержат один или два операнда
- некоторые команды не имеют операндов
- все команды имеют один и тот же байтовый размер
7. Какие имена регистров общего назначения являются правильными
- EAX, ESP
- BH, CL
- EIP
- R1, R2, R3
8. Какие регистры используются при программировании на ассемблере
- регистры общего назначения
- регистр "Указатель адреса команды" (Instruction Pointer)
- регистр состояния вычислительного процесса - флаговый регистр Eflags
- регистр команд
10. Правила оформления ассемблерных программ
- двоичные данные как набор битов
- десятичные числа
- шестнадцатеричные данные
- символьные константы
2. Какие утверждения справедливы относительно раздела объявления данных
- раздел содержит строки с директивами объявления данных
- в одной строке можно объявлять данные одного байтового размера
- одна строка может содержать объявление одного или нескольких элементов данных
- каждая строка обычно начинается с указания имени области памяти
3. Какие утверждения относительно операндов ассемблерных команд являются правильными
- операндом может быть константа
- операндом может быть один из регистров общего назначения
- операндом может быть метка команды
- операндом может быть символическое имя элемента
11. Команды перемещения данных и целочисленной арифметики
- умножение знаковых и беззнаковых чисел выполняется разными командами
- команды умножения являются однооперандными
- один из сомножителей и результат умножения задаются в строго фиксированных регистрах
- при умножении не возникает никаких особых ситуаций
- ADD AL, 5
- ADD BH, CL
- ADD 1, AH
- ADD MyByte1, MyByte2
- (AL)*(операнд_байт) -> (AX)
- (AX)*(операнд_слово) -> (DX, AX)
- (операнд1)*(операнд2) -> (AX)
- (AX)*(операнд_слово) -> (BX, AX)
4. Какие утверждения относительно возможных особых ситуаций при сложении целых чисел являются правильными
- результат может не помещаться в отведенное ему число разрядов
- при возникновении особых ситуаций выполнение программы не прекращается
- для отслеживания особых ситуаций надо использовать флаги CF и OF
- возникновение особых ситуаций исправляется автоматически системой
5. Какие инструкции будут созданы подпрограммой Slagaemoe при обработке выражения a*b
- инструкция: mov ax, a
- инструкция: mul b
- инструкция: mul a, b
- инструкция: mov a, b
12. Генерация кода для арифметических выражений
- создает команды вычисления подвыражения с операциями умножения и деления
- увеличивает значение переменной СчетчикАдреса на байтовую длину созданных команд
- вызывает подпрограмму Mnogitel для получения очередного множителя
- создает команды вычисления подвыражения с операциями сложения и вычитания
- инструкция: mov al, 10
- инструкция: mul MyByte
- инструкция: mul 10, MyByte
- инструкция: mov MyByte, 10
13. Команды перехода. Реализация разветвлений и циклов
- команда имеет мнемонику JMP
- команда является однооперандной
- команда изменяет значение в регистре ЕIP
- команда выполняется в зависимости от некоторого условия
- смещение – это расстояние между командой перехода и целевой командой
- переход вперед задается положительным смещением
- переход назад задается отрицательным смещением
- смещение всегда задается двухбайтовым целым числом
3. Какие утверждения относительно команды LOOP являются правильными
- команда LOOP заменяет команды уменьшения счетчика, сравнения и условного перехода
- для хранения счетчика числа повторений можно использовать только регистр CX
- операндом команды является метка первой команды тела цикла
- для хранения счетчика числа повторений можно использовать любой регистр
4. Какие команды необходимы для реализации цикла с предусловием
- команда сравнения
- команда условного перехода на конце цикла
- команда безусловного перехода на начало цикла
- команда условного перехода на начало цикла
14. Обработка массивов, индексная и косвенная адресация
- MOV AX, Mas[BX]
- ADD Mas[SI], CX
- MOV CX, Mas(SI)
- ADD DX, Mas+BX
- в регистр CX заносится значение, выбираемое из памяти по адресу, находящемуся в регистре BX
- в регистр CX заносится значение, находящееся в регистре BX
- в регистр CX заносится адрес, находящийся в регистре BX
- в регистр BX заносится адрес, находящийся в регистре CX
3. Какие операции необходимы для циклической обработки массивов с помощью индексной адресации
- занесение в индексные регистры начальных значений
- получение очередного элемента массива с использованием индексных регистров
- изменение значений в индексных регистрах
- переход к следующим элементам массива за счет изменения значения в регистре ЕIP
4. Какую информацию содержит машинный код команды, использующей индексную адресацию для обработки массива
- начальный адрес массива
- признак использования индексной адресации
- номер регистра, используемого как индексный
- адрес текущего элемента массива
15. Стековая память. Подпрограммы
- команда имеет имя PUSH
- одна команда заносит в стек элемент данных размером в 4 байта
- команда имеет только один операнд
- при выполнении команды проверяется особая ситуация переполнения стека
- для вызова подпрограммы используется команда CALL
- для возврата из подпрограммы используется команда RET
- при взаимодействии подпрограмм используется стековая память
- при вызовах и возвратах неявно изменяется содержимое регистра ЕIP
3. Какие утверждения справедливы относительно команды извлечения данных из стека
- команда имеет имя POP
- одна команда извлекает из стека элемент данных размером в 4 байта
- команда имеет только один операнд
- при выполнении команды проверяется особая ситуация пустоты стека
4. Какие утверждения относительно передачи параметров в подпрограмму являются правильными
- для передачи параметров можно использовать стековую память
- параметры можно передавать через POHы
- в подпрограмму можно передавать адреса необходимых данных
- для передачи параметров используется команда CALL
5. Что происходит при выполнении программы RET
- выталкивание с вершины стека адреса возврата
- занесение адреса возврата в регистр EIP
- занесение в стек текущего значения регистра IP
- занесение в регистр IP адреса следующей за RET команды
- оформить соглашение о регистрах
- перед вызовом подпрограммы занести в регистры необходимые значения
- при необходимости в начале подпрограммы сохранить значения используемых в подпрограмме регистров в стеке
- при выходе из подпрограммы восстановить сохраненные в стеке значения регистров
- для доступа можно использовать только регистр EBP
- значение в регистре EBP в подпрограмме изменяться не должно
- значения параметров можно вытолкнуть из стека с помощью команды POP
- для доступа можно использовать любой регистр общего назначения
3. Какие правила характерны для Pascal-стиля взаимодействия подпрограмм
- параметры заносятся в стек в порядке их объявления
- очистку стека выполняет подпрограмма в конце своей работы
- параметры заносятся в стек в обратном порядке
- очистку стека выполняет вызывающая программа после возврата из подпрограммы
17. Генерация кода при использовании подпрограмм
- включение имени подпрограммы в Таблицу Имен и создание списка локальных переменных
- создание команд пролога
- создание команд тела подпрограммы с доступом к локальным переменным через базовый регистр
- создание команды отказа от локальной памяти
- с именем подпрограммы связан адрес первой выполняемой команды этой подпрограммы
- с именем подпрограммы может быть связан вспомогательный список формальных параметров
- с именем подпрограммы может быть связан вспомогательный список локальных переменных
- с именем подпрограммы может быть связан тип возвращаемого значения
- список присоединен к имени подпрограммы
- каждый элемент списка содержит имя параметра, его тип и дополнительную информацию
- список создается при обработке объявления подпрограммы
- список используется для генерации команд тела подпрограммы
4. Какие утверждения справедливы относительно генерации пролога и эпилога при обработке подпрограмм
- команды пролога не зависят от используемой модели взаимодействия подпрограмм
- команды эпилога зависят от выбранной модели взаимодействия подпрограмм
- команды эпилога не зависят от выбранной модели взаимодействия подпрограмм
- команды пролога зависят от используемой модели взаимодействия подпрограмм
18. Промежуточное представление и оптимизация кода
- инвариант цикла есть подвыражение в теле цикла, значение которого не меняется при выполнении цикла
- инварианты должны быть обнаружены и вынесены за пределы цикла
- удаление инвариантов из часто повторяющихся циклов - эффективное средство оптимизации программного кода
- обнаружение инвариантов цикла является одной из задач семантического анализа программы
- ссылка на таблицу имен
- константа
- имя временной переменной
- имя регистра процессора
- арифметические операции
- операции копирования значений переменных
- различные типы переходов
- вызовы подпрограмм
Тест по системному программному обеспечению
- Дисциплина: Программирование
- Код работы: КО-1409
- Работу выложил: Администратор
-
900.00 р.
Не подошла работа?
Узнайте стоимость написания работы по Вашему заданию
(это быстро и бесплатно)