Тест по дисциплине Теория языков программирования и методы трансляции
Программа
в среде программирования ТЯП
Среда программирования: ТЯП
Название работы: Тест по дисциплине Теория языков программирования и методы трансляции
Вид работы: Программа
Описание: Тест по дисциплине Теория языков программирования и методы трансляции
Вопрос 1
Регулярное множество в алфавите определяется следующим образом:
Выберите один или несколько ответов:
– регулярное множество в алфавите
если P и Q – регулярные множества в алфавите, то таково же и множество Q
{e} – регулярное множество в алфавите
e – регулярное множество в алфавите
если P и Q – регулярные множества в алфавите, то таково же и множество P*
a – регулярное множество в алфавите для каждого a∈Σ
{a} – регулярное множество в алфавите для каждого a если P и Q – регулярные множества в алфавите, то таково же и множество PQ если P и Q – регулярные множества в алфавите, то таково же и множество PQ если P и Q – регулярные множества в алфавите, то таково же и множество PQ.
Выберите все верные ответы (может быть несколько или один).
Вопрос 2
Дана LR(1)-грамматика:
1. START N1 N2 N3
2. START N2 N3
3. N1 a
4. N1 b
5. N2 NN N4
6. N2 NN
7. N4 d NN
8. N3 x NN
9. NN n
10. NN NN NN
Пусть LR-анализатор находится в следующем состоянии:
[N4 d NN · x]
[NN · n, n]
[NN · n, x]
[NN NN · NN, n]
[NN NN · NN, x]
[NN · NN NN, n]
[NN · NN NN, x]
Определите, в какое состояние он перейдёт по символу «NN».
Состояния в ответ записать через точку с запятой, в алфавитном порядке, в следующем виде:
RDT,
где R – номер правила; D – позиция точки; T – терминал свертки. Например, исходное состояние запишется как (72x;91n;91x;102n). Для обозначения маркера конца входной цепочки использовать символ «$». Считать его последним символом в алфавитном порядке.
Ответ:
Введите слово, словосочетание или символьно-цифровое выражение.
Вопрос 3
В чем заключается проблема данного алгоритма перехеширования при его использовании для составления таблицы имен?
int procedure rehash(int n)
if n<p then n+1 else 1
Выберите один или несколько ответов:
• Таблица рассчитана на ограниченное количество идентификаторов
• Необходимость хранения указателей
• Тенденция к кластеризации
Выберите все верные ответы (может быть несколько или один).
Вопрос 4
Текст вопроса
Имеется функция хеширования, использующая первую букву идентификатора (латинскую) для его отображения на элемент 26-элементного массива. Какой идентификатор будет находиться в первом элементе таблицы после встречи с идентификаторами ZOO, XYZ, YLW, BOO?
Если элемент остается пустым, поставьте прочерк «-».
Ответ:
Введите слово, словосочетание или символьно-цифровое выражение.
Вопрос 5
Использование в программе неверного порядка лексем ведет:
Выберите один или несколько ответов:
• контекстно-независимой синтаксической ошибке
• контекстно-зависимой синтаксической ошибке
• предупреждению
• ошибке генератора кода
• внутренней ошибке компилятора
• ошибке выполнения программы
• лексической ошибке
Выберите все верные ответы (может быть несколько или один).
Вопрос 6
Дан промежуточный код в виде троек. Запишите, какое выражение он вычисляет:
–b
a 1
2 c
Указания:
1. Используйте в точности тот порядок аргументов и операций, который задается четверками.
2. Для обозначения знака умножения используйте символ «*».
3. Для обозначения знака отрицания используйте символ «-».
4. Лишних с математической точки зрения скобок не ставить.
Ответ:
Введите слово, словосочетание или символьно-цифровое выражение.
Вопрос 7
Дана грамматика для получения четверок:
S EXP A1
EXP TERM | EXP + A2 TERM
A3
TERM FACT | TERM A2 FACT A3
FACT – A2 FACT | A4 ID A2 | (EXP)
ID a | b | c | d | e
Укажите, каким будет действие A1 при вычислении выражения.
Выберите один или несколько ответов:
• Поместить элемент в стек
• Взять три элемента из стека, напечатать их с последующим знаком «=» и номером следующей размещаемой четверки и поместить полученное целое число в стек
• Взять из стека один элемент
• Взять два элемента из стека, напечатать их с последующим значением «=» и номером следующей размещаемой четверки и поместить полученное целое в стек
Выберите все верные ответы (может быть несколько или один).
Вопрос 8
Примените правило оптимизации №4 к следующему коду.
LOAD d
STORE $3
LOAD c
STORE $2
LOAD b
STORE $1
LOAD a
ADD $1
MPY $2
ADD $3
STORE cost
Команды введите через точку с запятой.
Ответ:
Введите слово, словосочетание или символьно-цифровое выражение.
Вопрос 9
Запишите выражение «(a + b*x)*(c + d)» в виде польской записи.
Указания:
1. Используйте в точности тот порядок аргументов и операций, который задается выражением.
2. Если с учетом первого пункта польская запись получается неоднозначной, т.е. допускает использование как операции, так и операнда, приоритет имеет операция.
Ответ:
Введите слово, словосочетание или символьно-цифровое выражение.
Вопрос 10
Примените правило оптимизации №4 к следующему коду.
LOAD d
STORE $1
LOAD c
ADD $1
STORE $2
LOAD b
STORE $3
LOAD a
ADD $1
MPY $2
Команды введите через точку с запятой.
Ответ:
Введите слово, словосочетание или символьно-цифровое выражение.
Вопрос 11
Дана LR(1)-грамматика:
1. START N1 N2 N3
2. START N2 N3
3. N1 a
4. N1 b
5. N2 NN N4
6. N2 NN
7. N4 d NN
8. N3 x NN
9. NN n
10. NN NN NN
Для нее построена таблица разбора:
40.jpg
LR-анализатор находится в следующей конфигурации:
(S0 N1 S2 N2 S8 x S10 n S16, $).
Здесь «$» – это маркер конца входной цепочки.
Каким станет конфигурация анализатора после выполнения следующего действия?
Ответ:
Введите слово, словосочетание или символьно-цифровое выражение.
Вопрос 12
Укажите степень по входу вершины 1 графа G.
1.jpg
Ответ дайте в виде числа.
Пример ввода ответа: 3
Ответ:
Введите слово, словосочетание или символьно-цифровое выражение.
Вопрос 13
Какие цепочки будут входить в регулярное множество, определяемое регулярным выражением a(x+y)*q ?
Указания:
1. В ответе цепочки разделяйте точкой с запятой.
2. Цепочки приводите в порядке возрастания длины.
3. При одинаковой длине используйте алфавитный порядок расположения цепочек.
4. Не указывайте цепочки длиннее 4 символов.
Ответ:
Введите слово, словосочетание или символьно-цифровое выражение.
Вопрос 14
Использование в программе неописанного идентификатора ведет:
Выберите один или несколько ответов:
• контекстно-независимой синтаксической ошибке
• ошибке генератора кода
• внутренней ошибке компилятора
• лексической ошибке
• контекстно-зависимой синтаксической ошибке
• ошибке выполнения программы
• предупреждению
Выберите все верные ответы (может быть несколько или один).
Вопрос 15
Дана грамматика для получения четверок:
QUAD → OPER OP OPER = INT | OPER = INT
OPER → INT | ID
INT → DIGIT | DIGIT INT
DIGIT → 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
ID → a | b | c | d | e
OP → + | × | –
Какие выражения она может анализировать?
Выберите один или несколько ответов:
• d = a×b + c
• a×bc = 7
• a×b + c = 2
• –a = 4
• a×b = c
• a – b = 3
• e + b = 2
• (a + b)×c
• a×b + c = d
Выберите все верные ответы (может быть несколько или один).
Вопрос 16
Выпишите через точку с запятой все собственные префиксы цепочки dabbd в порядке возрастания длины.
Ответ:
Введите слово, словосочетание или символьно-цифровое выражение.
Вопрос 17
Дана LL(1)-грамматика:
START N1 x N2 | e
N1 ES y | z
ES p | q | e
N2 b | s START t
Заполните строку №4 таблицы разбора. Для ввода значения «истина» используйте букву «T», для ввода значения «ложь» – букву «F».
jump = (Ответ
), accept = (Ответ
), stack = (Ответ
), return = (Ответ
), error = (Ответ
)
Следуйте подсказкам по вводу ответов.
Вопрос 18
Дана LL(1)-грамматика:
START AA BB XX
AA a | b
BB z AA | x
XX BB y | AA
Заполните строку №7 таблицы разбора. Для ввода значения «истина» используйте букву «T», для ввода значения «ложь» – букву «F».
jump = (Ответ
), accept = (Ответ
), stack = (Ответ
), return = (Ответ
), error = (Ответ
)
Следуйте подсказкам по вводу ответов.
Год: 2023
Данный заказ (программа) выполнялся нашим сайтом в 2023-м году, в рамках этого заказа была разработана программа в среде программирования ТЯП. Если у Вас похожее задание на программу, которую нужно написать на ТЯП, либо на другом языке программирования, пожалуйста заполните форму, приведённую ниже, после чего Ваше задание в первую очередь рассмотрит наш программист, выполнявший в 2023-м году этот заказ, если он откажется, то Ваше задание оценят другие наши программисты в течение 48-и часов, если оценка нужна срочно, просим Вас оставить пометку об этом - напишите в тексте задания фразу "СРОЧНЫЙ ЗАКАЗ".
Viber: ![]() Telegram: ![]() ВКонтакте: ![]() ![]() E-mail: ![]() Skype: ![]() |