• Тест по системному программному обеспечению

Данный тест проходят студенты, которые обучаются с системе дистанционного обучения университета "ТИСБИ".

Тест включает в себя 24 вопроса и затрагивает 18 тем. На выполнение теста дается 12 часов.

На данной странице Вы можете купить файл с готовыми ответами на некоторые вопросы теста. В данные момент в файле всего 74 вопроса

Поэтому, если Вам попадутся вопросы, которых нет в файле, то напишите их мне вконтакте. Я решу эти вопросы в счет стоимости данного файла.

Для того, чтобы получить файл с ответами на тест по операционным системам, необходимо добавить работу в корзину, оформить заказ и оплатить его. Сразу же после оплаты Вы сможете скачать работу с сайта в личном кабинете.

ВАЖНО


P.S. Для тех, кто купил и скачал ответы: в файле нажимаете Ctrl+F, в появившемся окне - кнопку "Параметры >>", в поле "Искать" выбираете "в книге", вводите текст вопроса (а лучше - только его часть) в поле поиска и жмете "Найти все". Правильные ответы выделены зеленым, неправильные - красным. Удачи!


Ниже представлен перечень вопросов, ответы на который включены в файл, для удобства они разбиты по темам. (для поиска по странице жмите Ctrl+F).

2. Назначение и структура трансляторов

1. Какие задачи решают транслирующие программы
  • выделение в исходном тексте грамматических конструкций
  • идентификация ошибок в тексте программы
  • генерация выходного кода на каком-либо языке
  • управление выполнением программы
2. Какие существуют варианты реализации трансляторов?
  • компиляторы
  • программы-ассемблеры
  • интерпретаторы
  • программы-компоновщики
3. Какие утверждения справедливы относительно компилирующих программ
  • компиляторы могут создавать исполняемый машинный код с сохранением его в файле
  • компиляторы позволяют выявлять синтаксические ошибки в программах
  • компиляторы не могут выполнять оптимизацию создаваемого кода
  • компиляторы имеют очень простую программную реализацию

3. Элементы формального описания языков программирования

1. Какие метасимволы используются в нотации Бэкуса-Наура

  • угловые скобки < >
  • метасимвол ::= 
  • метасимвол | (вертикальная черта)
  • фигурные скобки { }
2. Какие возможны реализации таблицы служебных (ключевых) слов
  • упорядоченный массив
  • сбалансированное дерево поиска
  • хэш-таблица
  • Б-дерево

3. Какие односимвольные лексемы типичны для языков программирования

  • знаки арифметических операций (+, -, *, /)
  • различные типы скобок
  • знаки пунктуации (точка, Запятая, Двоеточие, Точка с запятой)
  • цифры от 0 до 9


4. Лексический анализ и его реализация

1. Какие утверждения справедливы относительно подпрограммы лексического анализа
  • подпрограмма ЛА вызывается синтаксическим анализатором
  • подпрограмма ЛА возвращает код очередной выделенной в тексте лексемы
  • подпрограмма ЛА использует таблицу служебных (ключевых) слов
  • подпрограмму ЛА можно реализовать только на языке ассемблера
2. Какие утверждения справедливы относительно понятия "лексема"
  • лексема - это неделимая единица языка
  • лексема может состоять из одного или нескольких символов алфавита
  • лексемы выделяются во входном тексте программой лексического анализа
  • лексема может включать в себя грамматические конструкции

3. Какие задачи должен решать лексический анализатор

  • анализ исходного текста как потока символов алфавита языка
  • пропуск разделителей и комментариев
  • выделение и классификация лексем
  • идентификация лексических ошибок

4. Какие структуры данных необходимы для реализации лексического анализатора
  • таблица служебных (ключевых) слов
  • таблица пользовательских имен-идентификаторов
  • таблица операторов
  • таблица двухсимвольных лексем
5. Какие утверждения справедливы относительно понятия "правило вывода"
  • каждое правило выводы описывает структуру некоторой грамматической конструкции
  • для формализованного описания правил вывода можно использовать нотацию Бэкуса-Наура
  • набор правил вывода является формализованной основой синтаксического анализа
  • правила вывода используются для генерации программного кода

5. Основы синтаксического анализа

1. Какие утверждения справедливы относительно синтаксического анализа (СА)
  • СА предназначен для выделения в исходном тексте правильных конструкций языка
  • СА использует результаты лексического анализа
  • входные данные СА — поток символов исходной программы
  • выходные данные СА - поток лексем
2. Какие утверждения справедливы относительно дерева грамматического разбора
  • дерево неявно строится в процессе синтаксического анализа исходной программы
  • промежуточные вершины дерева соответствуют грамматическим конструкциям
  • терминальные вершины дерева — всегда лексемы
  • дерево грамматического разбора всегда является двоичным
3. Какие утверждения справедливы относительно дерева грамматического разбора, построенного при анализе оператора присваивания вида х = х - 1
  • корнем дерева является конструкция < ОператорПрисваивания >
  • листьями дерева являются лексемы "Число" и "Идентификатор"
  • листьями дерева являются лексемы = и -
  • листьями дерева являются конструкции < Слагаемое > и < Выражение >
4. Какой метод можно использовать для реализации синтаксического анализа
  • метод рекурсивного спуска
  • метод рекурсивного подъема
  • метод градиентного спуска
  • метод транзитивного замыкания

5. Какие утверждения справедливы относительно дерева грамматического разбора, построенного при анализе оператора присваивания вида y = 5*(a + b)

  • корнем дерева является конструкция < ОператорПрисваивания >
  • промежуточными вершинами являются конструкции <Выражение>, <Слагаемое>, <Множитель>
  • листьями дерева являются лексемы "Идентификатор", знак равенства, круглые скобки
  • конструкция <Выражение> встречается в дереве только один раз

6. Какие существуют методы синтаксического анализа

  • методы, основанные на построении дерева разбора сверху-вниз
  • методы, основанные на построении дерева разбора снизу-вверх
  • методы, основанные на обходе дерева разбора по его уровням
  • методы, основанные на случайном построении дерева разбора

7. Какие утверждения справедливы относительно дерева грамматического разбора, построенного при анализе выражения вида 2*a + c

  • корнем дерева является конструкция < Выражение >
  • листьями дерева являются лексемы "Число" и "Идентификатор"
  • листьями дерева являются лексемы * и +
  • листьями дерева являются конструкции < Слагаемое > и < Множитель >

8. Какие утверждения справедливы относительно дерева грамматического разбора, построенного при анализе выражения вида 10*(a + c)

  • корнем дерева является конструкция < Выражение >
  • листьями дерева являются лексемы "Число" и "Идентификатор"
  • листьями дерева являются лексемы "левая скобка" и "правая скобка"
  • листьями дерева являются лексемы * и +


6. Метод рекурсивного спуска

1. Какие вызовы подпрограмм в методе рекурсивного спуска являются правильными
  • Viragenie -> Slagaemoe -> Mnogitel -> Viragenie
  • SpisOperat -> Operator -> OpCycle -> TeloCycle -> Operator
  • Programma -> SpisObjavlen -> Objavlenie -> SpisOperat
  • Operator -> OpVvoda -> SpisIdentif -> Objavlenie
2. Какие утверждения справедливы относительно таблицы имен в методе рекурсивного спуска
  • таблица имен строится при обработке конструкции <Объявление>
  • таблица имен используется для поиска во всех конструкциях, где могут встречаться имена-идентификаторы
  • использование таблицы имен относится к семантическому анализу
  • в таблицу имен заносятся все найденные в тексте лексемы
3. Какие задачи семантического анализа реализуются в методе рекурсивного спуска
  • построение таблицы имен с проверкой их уникальности
  • выявление неопределенных имен
  • построение таблицы служебных слов
  • выделение лексем в исходном тексте
4. Какие действия выполняет подпрограмма разбора конструкции < Объявление > в методе рекурсивного спуска
  • поиск перечисленных в объявлении имен в таблице имен
  • добавление уникальных имен в таблицу
  • вывод сообщения об ошибке типа "дважды определенное имя"
  • распознавание имен-служебных слов

5. Какие утверждения справедливы относительно метода рекурсивного спуска

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

6. Какие вспомогательные подпрограммы могут использоваться в методе рекурсивного спуска

  • подпрограмма лексического анализа
  • подпрограмма поиска в таблице имен
  • подпрограмма вывода сообщений об ошибках в исходном тексте
  • подпрограммы семантического анализа

7. Какие действия выполняет подпрограмма разбора конструкции < Оператор присваивания > в методе рекурсивного спуска

  • поиск идентификатора в таблице имен
  • вызов подпрограммы для разбора конструкции < Выражение >
  • проверку очередной лексемы на совпадение с символом присваивания
  • вывод сообщения об ошибке типа "Неопределенное имя"


7. Семантический анализ. Обработка ошибок

1. Какие задачи семантического анализа выполняются при обработке подпрограмм
  • проверка соответствия формальных и фактических параметров при вызове подпрограммы
  • проверка наличия объявления подпрограммы
  • выделение памяти для локальных переменных подпрограммы
  • замена формальных параметров фактическими
2. Какие утверждения справедливы относительно обработки ошибок в тексте программы
  • при появлении первой ошибки анализ программы может прекращаться
  • транслятор может попробовать выделить сразу несколько ошибок
  • ошибки разделяются на синтаксические и семантические
  • генерацию кода можно выполнить даже при наличии ошибок в программе

3. Какие утверждения справедливы относительно семантического анализа

  • семантический анализ необходим для учета неформализуемых факторов
  • семантический анализ дополняет набор формализованных правил описания языка
  • семантический анализ предшествует синтаксическому анализу
  • семантический анализ необходим для оптимизации создаваемого кода


8. Введение в генерацию кода.

1. Какие утверждения справедливы относительно генерации кода
  • код создается на основе выделенных в программе правильных грамматических конструкций
  • результирующий код может иметь разные представления
  • код всегда создается как набор машинных команд конкретного процессора
  • часть кода можно создать на этапе лексического анализа
2. Какие задачи необходимо решать при генерации кода
  • распределение памяти для создаваемых команд
  • распределение памяти для обрабатываемых данных
  • распознавание базовых грамматических конструкций
  • выделение в исходном тексте лексем языка
3. Какие утверждения справедливы относительно процесса распределения памяти при генерации кода
  • для глобально определенных данных память распределяется статически
  • для локальных переменных подпрограмм используется стековая память
  • программа может использовать динамически распределяемую память
  • набор машинных команд всегда размещается в динамической памяти
4. Какие утверждения справедливы относительно переменной СчетчикАдреса
  • переменная СА используется для назначения адресов статическим данным
  • переменная СА используется для назначения адресов создаваемым командам
  • при обработке объявления очередной переменной значение СА увеличивается на размер необходимой для нее памяти
  • переменная СА используется при выполнении программы


9. Введение в языки ассемблерного типа

1. Какие утверждения справедливы относительно организации оперативной памяти
  • память – набор байтов, каждый со своим уникальным номером-адресом
  • два соседних байта могут рассматриваться вместе как «машинное слово»
  • четыре соседних байта образуют понятие «двойное слово»
  • время доступа к байтам зависит от расположения байта в памяти
2. Какие типы данных относятся к базовым в процессорах семейства Intel
  • целые знаковые и беззнаковые числа 
  • вещественные числа
  • символьные данные
  • графические данные
3. Какие утверждения справедливы относительно регистра «Указатель адреса команды»
  • регистр имеет имя EIP
  • регистр используется для хранения адреса команды, которая должна выполняться вслед за текущей
  • регистр используется для хранения адреса текущей выполняемой команды
  • регистр может использоваться для хранения любых данных
4. Что входит в программную модель процессора
  • набор доступных программисту регистров
  • организация оперативной памяти
  • форматы команд
  • базовые типы данных
5. Какие утверждения относительно операндов ассемблерных команд являются правильными
  • операндом может быть константа некоторого типа
  • операндом может быть один из регистров общего назначения
  • операндом может быть метка команды
  • операндом может быть символическое имя элемента данных

6. Какие утверждения справедливы относительно структуры машинных команд

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

7. Какие имена регистров общего назначения являются правильными

  • EAX, ESP
  • BH, CL
  • EIP
  • R1, R2, R3

8. Какие регистры используются при программировании на ассемблере

  • регистры общего назначения
  • регистр "Указатель адреса команды" (Instruction Pointer)
  • регистр состояния вычислительного процесса - флаговый регистр Eflags
  • регистр команд


10. Правила оформления ассемблерных программ

1. Какие типы данных можно использовать в качестве непосредственных операндов
  • двоичные данные как набор битов
  • десятичные числа
  • шестнадцатеричные данные
  • символьные константы

2. Какие утверждения справедливы относительно раздела объявления данных

  • раздел содержит строки с директивами объявления данных
  • в одной строке можно объявлять данные одного байтового размера
  • одна строка может содержать объявление одного или нескольких элементов данных
  • каждая строка обычно начинается с указания имени области памяти

3. Какие утверждения относительно операндов ассемблерных команд являются правильными

  • операндом может быть константа
  • операндом может быть один из регистров общего назначения
  • операндом может быть метка команды
  • операндом может быть символическое имя элемента


11. Команды перемещения данных и целочисленной арифметики

1. Какие утверждения относительно команд умножения целых чисел являются правильными
  • умножение знаковых и беззнаковых чисел выполняется разными командами
  • команды умножения являются однооперандными
  • один из сомножителей и результат умножения задаются в строго фиксированных регистрах
  • при умножении не возникает никаких особых ситуаций
2. Какие примеры команды сложения являются правильными
  • ADD AL, 5
  • ADD BH, CL
  • ADD 1, AH
  • ADD MyByte1, MyByte2
3. Какие способы использования команды умножения целых чисел являются правильными
  • (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. Генерация кода для арифметических выражений

1. Какие действия при генерации кода для арифметических выражений выполняет подпрограмма Slagaemoe
  • создает команды вычисления подвыражения с операциями умножения и деления
  • увеличивает значение переменной СчетчикАдреса на байтовую длину созданных команд
  • вызывает подпрограмму Mnogitel для получения очередного множителя
  • создает команды вычисления подвыражения с операциями сложения и вычитания
2. Какие инструкции будут созданы подпрограммой Slagaemoe при обработке выражения 10*MyByte
  • инструкция: mov al, 10
  • инструкция: mul MyByte
  • инструкция: mul 10, MyByte
  • инструкция: mov MyByte, 10

13. Команды перехода. Реализация разветвлений и циклов

1. Какие утверждения относительно команды безусловного перехода являются правильными
  • команда имеет мнемонику JMP
  • команда является однооперандной
  • команда изменяет значение в регистре ЕIP
  • команда выполняется в зависимости от некоторого условия
2. Какие утверждения относительно смещения в командах перехода являются правильными
  • смещение – это расстояние между командой перехода и целевой командой
  • переход вперед задается положительным смещением
  • переход назад задается отрицательным смещением
  • смещение всегда задается двухбайтовым целым числом

3. Какие утверждения относительно команды LOOP являются правильными

  • команда LOOP заменяет команды уменьшения счетчика, сравнения и условного перехода
  • для хранения счетчика числа повторений можно использовать только регистр CX
  • операндом команды является метка первой команды тела цикла
  • для хранения счетчика числа повторений можно использовать любой регистр

4. Какие команды необходимы для реализации цикла с предусловием

  • команда сравнения
  • команда условного перехода на конце цикла
  • команда безусловного перехода на начало цикла
  • команда условного перехода на начало цикла


14. Обработка массивов, индексная и косвенная адресация

1. Какие команды, использующие индексную адресацию, являются правильными
  • MOV AX, Mas[BX]
  • ADD Mas[SI], CX
  • MOV CX, Mas(SI)
  • ADD DX, Mas+BX
2. Что происходит при выполнении команды MOV CX, [BX]
  • в регистр CX заносится значение, выбираемое из памяти по адресу, находящемуся в регистре BX
  • в регистр CX заносится значение, находящееся в регистре BX
  • в регистр CX заносится адрес, находящийся в регистре BX
  • в регистр BX заносится адрес, находящийся в регистре CX

3. Какие операции необходимы для циклической обработки массивов с помощью индексной адресации

  • занесение в индексные регистры начальных значений
  • получение очередного элемента массива с использованием индексных регистров
  • изменение значений в индексных регистрах
  • переход к следующим элементам массива за счет изменения значения в регистре ЕIP

4. Какую информацию содержит машинный код команды, использующей индексную адресацию для обработки массива

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


15. Стековая память. Подпрограммы

1. Какие утверждения справедливы относительно команды занесения данных в стек
  • команда имеет имя PUSH
  • одна команда заносит в стек элемент данных размером в 4 байта
  • команда имеет только один операнд
  • при выполнении команды проверяется особая ситуация переполнения стека
2. Какие утверждения относительно взаимодействия подпрограмм являются правильными
  • для вызова подпрограммы используется команда CALL
  • для возврата из подпрограммы используется команда RET
  • при взаимодействии подпрограмм используется стековая память
  • при вызовах и возвратах неявно изменяется содержимое регистра ЕIP

3. Какие утверждения справедливы относительно команды извлечения данных из стека

  • команда имеет имя POP
  • одна команда извлекает из стека элемент данных размером в 4 байта
  • команда имеет только один операнд
  • при выполнении команды проверяется особая ситуация пустоты стека

4. Какие утверждения относительно передачи параметров в подпрограмму являются правильными

  • для передачи параметров можно использовать стековую память
  • параметры можно передавать через POHы
  • в подпрограмму можно передавать адреса необходимых данных
  • для передачи параметров используется команда CALL

5. Что происходит при выполнении программы RET

  • выталкивание с вершины стека адреса возврата
  • занесение адреса возврата в регистр EIP
  • занесение в стек текущего значения регистра IP
  • занесение в регистр IP адреса следующей за RET команды

16. Передача параметров между подпрограммами
1. Что необходимо сделать для правильной передачи параметров через регистры
  • оформить соглашение о регистрах
  • перед вызовом подпрограммы занести в регистры необходимые значения
  • при необходимости в начале подпрограммы сохранить значения используемых в подпрограмме регистров в стеке
  • при выходе из подпрограммы восстановить сохраненные в стеке значения регистров
2. Какие утверждения справедливы относительно доступа к параметрам, переданным подпрограмме через стек
  • для доступа можно использовать только регистр EBP
  • значение в регистре EBP в подпрограмме изменяться не должно
  • значения параметров можно вытолкнуть из стека с помощью команды POP
  • для доступа можно использовать любой регистр общего назначения

3. Какие правила характерны для Pascal-стиля взаимодействия подпрограмм

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


17. Генерация кода при использовании подпрограмм

1. Какие действия должны выполняться при обработке объявления подпрограммы с локальными переменными
  • включение имени подпрограммы в Таблицу Имен и создание списка локальных переменных
  • создание команд пролога
  • создание команд тела подпрограммы с доступом к локальным переменным через базовый регистр
  • создание команды отказа от локальной памяти
2. Какие утверждения являются правильными относительно имени подпрограммы в Таблице Имен
  • с именем подпрограммы связан адрес первой выполняемой команды этой подпрограммы
  • с именем подпрограммы может быть связан вспомогательный список формальных параметров 
  • с именем подпрограммы может быть связан вспомогательный список локальных переменных
  • с именем подпрограммы может быть связан тип возвращаемого значения
3. Какие утверждения справедливы относительно списка формальных параметров в Таблице Имен
  • список присоединен к имени подпрограммы
  • каждый элемент списка содержит имя параметра, его тип и дополнительную информацию
  • список создается при обработке объявления подпрограммы
  • список используется для генерации команд тела подпрограммы

4. Какие утверждения справедливы относительно генерации пролога и эпилога при обработке подпрограмм

  • команды пролога не зависят от используемой модели взаимодействия подпрограмм
  • команды эпилога зависят от выбранной модели взаимодействия подпрограмм
  • команды эпилога не зависят от выбранной модели взаимодействия подпрограмм
  • команды пролога зависят от используемой модели взаимодействия подпрограмм


18. Промежуточное представление и оптимизация кода

1. Какие утверждения являются правильными относительно понятия "инвариант цикла"
  • инвариант цикла есть подвыражение в теле цикла, значение которого не меняется при выполнении цикла
  • инварианты должны быть обнаружены и вынесены за пределы цикла
  • удаление инвариантов из часто повторяющихся циклов - эффективное средство оптимизации программного кода
  • обнаружение инвариантов цикла является одной из задач семантического анализа программы
2. Какие типы операндов могут использоваться в трехадресном коде промежуточного представления программ
  • ссылка на таблицу имен 
  • константа
  • имя временной переменной
  • имя регистра процессора
3. Какие типы операций могут использоваться в трехадресном коде промежуточного представления программ
  • арифметические операции
  • операции копирования значений переменных
  • различные типы переходов
  • вызовы подпрограмм

Написать отзыв

Внимание: HTML не поддерживается! Используйте обычный текст!
    Плохо           Хорошо

Тест по системному программному обеспечению

  • 900.00 р.



Не подошла работа?

Узнайте стоимость написания работы по Вашему заданию

(это быстро и бесплатно)

Узнать стоимость

Спасибо, не надо