Лабораторная работа 1-3: Теория языков программирования и методы трансляции Все варианты 2023 год
Состав работы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Работа представляет собой zip архив с файлами (распаковать онлайн), которые открываются в программах:
- Microsoft Word
Описание
Лабораторная работа No 1 Генерация цепочек языка
Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы.
Предусмотреть возможность выбора пользователю – использовать заданную в программе грамматику или вводить свою с клавиатуры.
На вход программы подаётся КС-грамматика (терминальный и нетерминальный алфавиты, целевой символ, правила вывода), задаётся диапазон длин цепочек, указывается тип вывода (левосторонний или правосторонний).
Рекомендуется для ввода исходных данных использовать соответствующую форму. При вводе правил грамматики не рекомендуется предоставлять пользователю излишнюю свободу действий, например, удобнее запретить ввод в левой части правил более чем одного нетерминального символа, чем проверять введённые правила на соответствие контекстно-свободному типу.
На выходе должен быть список построенных цепочек. Все цепочки в списке должны быть различны. При получении одинаковых цепочек (разными способами) их следует сохранять в списке выводимых цепочек только в случае выполнения дополнительного задания.
Проверить программу на примерах из лекционного курса и на заданиях из контрольных вопросов к теоретической части.
Дополнительно: Дополнить предыдущую программу таким образом, чтобы для одной или нескольких цепочек (цепочки выбирает пользователь из числа построенных на предыдущем этапе работы) строилось дерево вывода, т.е. была структурно представлена последовательность правил, использованных при построении цепочки.
Контрольные вопросы:
Как поведёт себя программа, если при вводе правил грамматики сделать ошибку – ввести правила грамматики, не соответствующей КС-типу, или не использовать какие-то символы исходных алфавитов, или поместить в левой части правил терминальный символ?
Используется ли при генерации цепочек рекурсия? Если да, то как ограничена её глубина?
Какой язык порождается грамматикой G({0},{S,A},{SAAA, AAAA |0}, S)? Правильно ли Ваша программа работает на этом примере? Если нет – доработайте программу.
Разрешает ли Ваша программа использовать в исходной грамматике пустые правила? Если нет – доработайте программу.
Лабораторная работа No 2 Моделирование работы ДКА
Пусть регулярный язык задаётся конечным автоматом – ДКА (теоретический материал разделов 1.5, 2.2). Написать программу, которая будет проверять по заданному автомату вводимую цепочку и делать вывод о том, принадлежит ли она рассматриваемому регулярному языку. В случае отрицательного ответа необходимо давать пояснение, по какой причине цепочка не принадлежит языку – например, «в цепочке присутствуют посторонние символы», «после прочтения цепочки автомат не пришёл в конечное состояние» и т.п. Исходный автомат вводить с клавиатуры в соответствии с определённым форматом. Ввод цепочек также производить с клавиатуры.
На вход программы подаётся ДКА (множество состояний, алфавит языка, начальное состояние, множество заключительных состояний, функция переходов в виде таблицы) и проверяемая цепочка символов (может вводиться многократно, т.е. возможно проверить любое количество цепочек). При этом в проверяемую цепочку могут входить и символы, не принадлежащие алфавиту языка; цепочка может быть и пустой.
Программа должна предоставлять пользователю возможность изменять начальное и конечные состояния с сохранением введённой функции переходов для заданного автомата.
Выход – отображение на экране процесса проверки цепочки в виде последовательной смены конфигураций и вывод результата – сообщения, принадлежит ли цепочка языку.
Проверить работу программы на примерах из лекций и задачах из контрольных вопросов./p>
Дополнительно:
1) Предоставить пользователю возможность не только вводить данные с клавиатуры, но и загружать автомат из файла (выбор – в соответствующем пункте меню или нажатием кнопки в исходном окне программы). При этом следует накладывать определённые ограничения на формат файла и производить соответствующие проверки во избежание загрузки некорректных данных.
2) Также по желанию пользователя результаты помимо вывода на экран сохранять в файле. Выбор – аналогично загрузке данных.
Контрольные вопросы:
Как поведёт себя программа, если при вводе таблицы переходов ДКА сделать (случайно или преднамеренно) ошибку – например, ввести несуществующее состояние?
Все ли ячейки таблицы переходов исходного ДКА обязательно должны быть заполнены или можно использовать неполностью определённый ДКА?
В каком случае ДКА распознаёт пустую цепочку как цепочку языка?
Лабораторная работа No 3 Перевод с помощью МП-преобразователя
Пусть дан преобразователь с магазинной памятью; написать программу, которая будет выполнять перевод цепочек с одного языка на другой с помощью заданного преобразователя (теоретический материал раздела 4.2). При невозможности выполнить перевод (цепочка не принадлежит исходному языку) необходимо выводить на экран соответствующее сообщение. Исходный преобразователь вводить с клавиатуры в соответствии с определённым форматом. Ввод цепочек также производить с клавиатуры, выполняя его до тех пор, пока не возникнет желание закончить работу. Процесс перевода цепочки в виде последовательной смены конфигураций отображать на экране.
На вход программы подаётся ДМП-преобразователь (множество состояний, алфавиты входного и выходного языков, алфавит магазина, начальное состояние, начальное содержимое стека, множество заключительных состояний, функция переходов в виде списка правил) и проверяемая цепочка символов (аналогично лаб. раб. No2).
Рекомендуется за основу взять программу лабораторной работы No2, дополнив исходные данные алфавитом стека, начальным содержимым стека и выходным алфавитом, функцию переходов – в соответствии с определением преобразователя, а конфигурации – содержимым памяти и выходными цепочками.
Выход: отображение на экране процесса перевода цепочки в виде последовательной смены конфигураций преобразователя, результат перевода – полученная цепочка.
Проверить работу программы на примерах из лекций и задачах из контрольных вопросов.
Дополнительно:
Предоставить пользователю возможность не только вводить данные с клавиатуры, но и загружать преобразователь из файла (аналогично лабораторной работе No2).
Контрольные вопросы:
Как поведёт себя преобразователь, если поданная на его вход цепочка не может быть распознана (не принадлежит к заданному языку)?
Как соотносятся алфавиты исходного языка и того, на который выполняется перевод (должны совпадать, различаться...)? Поясните ответ.
Как поведёт себя Ваша программа при некорректном вводе? Например, функция переходов задана не в том формате, определена не для того количества параметров, использует алфавит, отличный от заданных...
Комментарии: Уважаемый студент, дистанционного обучения,
Оценена Ваша работа по предмету: Теория языков программирования и методы трансляции (ДВ 4.1)
Вид работы: Лабораторная работа 1 - 3
Оценка: Зачёт
Дата оценки: 20.09.2022
Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы.
Предусмотреть возможность выбора пользователю – использовать заданную в программе грамматику или вводить свою с клавиатуры.
На вход программы подаётся КС-грамматика (терминальный и нетерминальный алфавиты, целевой символ, правила вывода), задаётся диапазон длин цепочек, указывается тип вывода (левосторонний или правосторонний).
Рекомендуется для ввода исходных данных использовать соответствующую форму. При вводе правил грамматики не рекомендуется предоставлять пользователю излишнюю свободу действий, например, удобнее запретить ввод в левой части правил более чем одного нетерминального символа, чем проверять введённые правила на соответствие контекстно-свободному типу.
На выходе должен быть список построенных цепочек. Все цепочки в списке должны быть различны. При получении одинаковых цепочек (разными способами) их следует сохранять в списке выводимых цепочек только в случае выполнения дополнительного задания.
Проверить программу на примерах из лекционного курса и на заданиях из контрольных вопросов к теоретической части.
Дополнительно: Дополнить предыдущую программу таким образом, чтобы для одной или нескольких цепочек (цепочки выбирает пользователь из числа построенных на предыдущем этапе работы) строилось дерево вывода, т.е. была структурно представлена последовательность правил, использованных при построении цепочки.
Контрольные вопросы:
Как поведёт себя программа, если при вводе правил грамматики сделать ошибку – ввести правила грамматики, не соответствующей КС-типу, или не использовать какие-то символы исходных алфавитов, или поместить в левой части правил терминальный символ?
Используется ли при генерации цепочек рекурсия? Если да, то как ограничена её глубина?
Какой язык порождается грамматикой G({0},{S,A},{SAAA, AAAA |0}, S)? Правильно ли Ваша программа работает на этом примере? Если нет – доработайте программу.
Разрешает ли Ваша программа использовать в исходной грамматике пустые правила? Если нет – доработайте программу.
Лабораторная работа No 2 Моделирование работы ДКА
Пусть регулярный язык задаётся конечным автоматом – ДКА (теоретический материал разделов 1.5, 2.2). Написать программу, которая будет проверять по заданному автомату вводимую цепочку и делать вывод о том, принадлежит ли она рассматриваемому регулярному языку. В случае отрицательного ответа необходимо давать пояснение, по какой причине цепочка не принадлежит языку – например, «в цепочке присутствуют посторонние символы», «после прочтения цепочки автомат не пришёл в конечное состояние» и т.п. Исходный автомат вводить с клавиатуры в соответствии с определённым форматом. Ввод цепочек также производить с клавиатуры.
На вход программы подаётся ДКА (множество состояний, алфавит языка, начальное состояние, множество заключительных состояний, функция переходов в виде таблицы) и проверяемая цепочка символов (может вводиться многократно, т.е. возможно проверить любое количество цепочек). При этом в проверяемую цепочку могут входить и символы, не принадлежащие алфавиту языка; цепочка может быть и пустой.
Программа должна предоставлять пользователю возможность изменять начальное и конечные состояния с сохранением введённой функции переходов для заданного автомата.
Выход – отображение на экране процесса проверки цепочки в виде последовательной смены конфигураций и вывод результата – сообщения, принадлежит ли цепочка языку.
Проверить работу программы на примерах из лекций и задачах из контрольных вопросов./p>
Дополнительно:
1) Предоставить пользователю возможность не только вводить данные с клавиатуры, но и загружать автомат из файла (выбор – в соответствующем пункте меню или нажатием кнопки в исходном окне программы). При этом следует накладывать определённые ограничения на формат файла и производить соответствующие проверки во избежание загрузки некорректных данных.
2) Также по желанию пользователя результаты помимо вывода на экран сохранять в файле. Выбор – аналогично загрузке данных.
Контрольные вопросы:
Как поведёт себя программа, если при вводе таблицы переходов ДКА сделать (случайно или преднамеренно) ошибку – например, ввести несуществующее состояние?
Все ли ячейки таблицы переходов исходного ДКА обязательно должны быть заполнены или можно использовать неполностью определённый ДКА?
В каком случае ДКА распознаёт пустую цепочку как цепочку языка?
Лабораторная работа No 3 Перевод с помощью МП-преобразователя
Пусть дан преобразователь с магазинной памятью; написать программу, которая будет выполнять перевод цепочек с одного языка на другой с помощью заданного преобразователя (теоретический материал раздела 4.2). При невозможности выполнить перевод (цепочка не принадлежит исходному языку) необходимо выводить на экран соответствующее сообщение. Исходный преобразователь вводить с клавиатуры в соответствии с определённым форматом. Ввод цепочек также производить с клавиатуры, выполняя его до тех пор, пока не возникнет желание закончить работу. Процесс перевода цепочки в виде последовательной смены конфигураций отображать на экране.
На вход программы подаётся ДМП-преобразователь (множество состояний, алфавиты входного и выходного языков, алфавит магазина, начальное состояние, начальное содержимое стека, множество заключительных состояний, функция переходов в виде списка правил) и проверяемая цепочка символов (аналогично лаб. раб. No2).
Рекомендуется за основу взять программу лабораторной работы No2, дополнив исходные данные алфавитом стека, начальным содержимым стека и выходным алфавитом, функцию переходов – в соответствии с определением преобразователя, а конфигурации – содержимым памяти и выходными цепочками.
Выход: отображение на экране процесса перевода цепочки в виде последовательной смены конфигураций преобразователя, результат перевода – полученная цепочка.
Проверить работу программы на примерах из лекций и задачах из контрольных вопросов.
Дополнительно:
Предоставить пользователю возможность не только вводить данные с клавиатуры, но и загружать преобразователь из файла (аналогично лабораторной работе No2).
Контрольные вопросы:
Как поведёт себя преобразователь, если поданная на его вход цепочка не может быть распознана (не принадлежит к заданному языку)?
Как соотносятся алфавиты исходного языка и того, на который выполняется перевод (должны совпадать, различаться...)? Поясните ответ.
Как поведёт себя Ваша программа при некорректном вводе? Например, функция переходов задана не в том формате, определена не для того количества параметров, использует алфавит, отличный от заданных...
Комментарии: Уважаемый студент, дистанционного обучения,
Оценена Ваша работа по предмету: Теория языков программирования и методы трансляции (ДВ 4.1)
Вид работы: Лабораторная работа 1 - 3
Оценка: Зачёт
Дата оценки: 20.09.2022
Похожие материалы
Лабораторная работа 1 2 3 Теория языков программирования и методы трансляции Все варианты 2023 год
SibSUTTI
: 30 августа 2023
2023 год
СибГУТИ
Сибирский государственный университет телекоммуникаций и информатики
Бах Ольга Анатольевна
Тема: Лабораторная работа 1 2 3 Теория языков программирования и методы трансляции Все варианты
Ответы как на лабораторные работы, так и на контрольные работы, перед выполнением рекомендую под редактировать под себя
Задания
Лабораторная работа No 1 Генерация цепочек языка
Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, кот
98 руб.
Экзамен Теория языков программирования и методы трансляции Вариант 3 2023 год
SibSUTTI
: 4 сентября 2023
2023 год
СибГУТИ
Сибирский государственный университет телекоммуникаций и информатики
Бах Ольга Анатольевна
Тема: Экзамен Теория языков программирования и методы трансляции Вариант 3 2023 год
Задания
1) Алгоритм преобразования грамматики к каноническому виду; подробно – алгоритмы устранения пустых правил и циклов. Проиллюстрировать на примере (пример должен быть свой).
2) Табличные распознаватели языков – общая характеристика, алгоритм Кока-Янгера-Касами. Проиллюстрировать на примере (пример д
100 руб.
Курсовая работа Теория языков программирования и методы трансляции Вариант 10 2023 год
SibSUTTI
: 30 августа 2023
2022 год
СибГУТИ
Сибирский государственный университет телекоммуникаций и информатики
Бах Ольга Анатольевна
Тема: Курсовая работа Теория языков программирования и методы трансляции Вариант 10
Перед отправкой советую посмотреть файл KRv10.csproj, и сделать запись по фамилии имени отчеству
Все замечания, которые были у преподавателя на этот год устранены
Задания
Написать программу для автоматического построения регулярной грамматики (леволинейной или праволинейной) по словесному описанию языка.
198 руб.
Лабораторная работа №1
ITNerd
: 23 октября 2025
Лабораторная работа №1 по дисциплине "Моделирование систем". ИССЛЕДОВАНИЕ ЦЕПЕЙ НА ПОСТОЯННОМ ТОКЕ.
Задание №1
Собрать схему (рис.1)
Нажимая на клавишу Space (пробел) убедитесь, что поочередно будут загораться лампочки. Измерить ток, протекающий по лампочкам. Установить напряжение источника больше, чем максимально допустимое для лампочки. Убедитесь, что лампочки перегорят. Обратите внимание, что измерители тока следует настроить на режим переменного тока (АС). Для этого можно щелкнуть по пр
450 руб.
Лабораторная работа №1
ITNerd
: 22 октября 2025
Лабораторная работа №1 по дисциплине "Измерение параметров и оценка качества мультимедиа продукции". ИЗМЕРЕНИЕ ПАРАМЕТРОВ И СНЯТИЕ ХАРАКТЕРИСТИК УСИЛИТЕЛЯ
- открыть программную среду MULTISIM и составить схему рис.1;
- подключить приборы, необходимые для определения параметров и характеристик усилителя (вольтметры на входе и выходе и измеритель нелинейных искажений на выходе усилителя, ПЛОТТЕР БОДЕ) (рис.2);
– снять и построить амплитудную характеристику, изменяя Uвх от 0 до 10 мВ через 1
370 руб.
Лабораторная работа №1
ITNerd
: 22 октября 2025
Лабораторно-практическая работа №1 по предмету "Теория цвета и цветовоспроизведения в медиатехнологиях".
Задания
Задание 1. Создать 6-ступенчатый колориметрический круг.
Задание 2. Создать 24-ступенчатый колориметрический круг Освальда.
Задание 3. Создать 12-ступенчатый колориметрический круг Иттона самостоятельно.
Письменно ответить на контрольные вопросы:
1. Дать определение понятию цветовой круг.
2. Привести примеры двух любых цветовых кругов, не рассмотренных выше.
610 руб.
Лабораторная работа № 1
NAndreeva
: 13 сентября 2023
Составить таблицу начисления заработной платы
работникам МП "Воронья слободка" в EXCEL
ВАРИАНТ № 7
Лабораторная работа №1
John111
: 16 июня 2023
Сформируйте структуру таблицы (рис. 1) и заполните ее постоянными значениями (подпись экзаменатора ставить не надо).
Подготовьте для группы ведомость (рис.2) назначения студентов на стипендию по результатам экзаменационной сессии.
50 руб.
Другие работы
Пастеризационно-охладительная установка ППОУ для молока (дипломный проект)
Shloma
: 8 июня 2021
В данном дипломном проекте разработана установка для пастеризации молока.
Проект содержит теоретическую информацию, литературный обзор, технико – экономическое обоснование, описание технологического процесса, расчетную часть, экономическую часть, наглядное изображение на чертежах.
В данном дипломном проекте содержаться 10 листов А1 графической части, 83 страницы пояснительной записки, 14 источников литературы.
Содержание
Введение..............................................
1590 руб.
Инженерная графика. Задание №6. Вариант №8.2. Рычаг
Чертежи
: 15 марта 2020
Все выполнено в программе КОМПАС 3D v16.
Боголюбов С.К. Индивидуальные задания по курсу черчения.
Задание №6. Вариант №8. Задача №2. Рычаг.
Вычертить изображение контура детали и нанести размеры.
В состав работы входит один файл – чертеж контура с проставленными размерами.
Помогу с другими вариантами, пишите в ЛС.
25 руб.
Теория электрических цепей. Лабораторные работы №№1, 2, 3. Вариант №7. (2022 год)
rmn77
: 25 февраля 2022
Теория электрических цепей. Лабораторные работы 1, 2, 3. Вариант 7. (2022 год)
****************************************************************
Помогу с вашим вариантом, дисциплиной, сессией, гос.экзаменом, дипломной или онлайн-тестом.
Возможна бесплатная сдача онлайн-тестов на особых условиях.
zloy.yozh77@mail.ru
****************************************************************
Лабораторная работа № 1
«Исследование реактивных двухполюсников»
Цель работы: Исследование зависимости входного с
900 руб.
Отчет по практике: Анализ финансового состояния МУП ЖКХ "Металлург"
Lokard
: 4 ноября 2013
Содержание
Введение
1. Месторасположение и организационно-правовая форма предприятия
2. Характеристика работ и мероприятий, производственный профиль предприятия (учреждения) ГХ
3.Тип и характеристика производственного процесса, структура производственного цикла, организация производства и труда
4. Организационная структура управления предприятием
5. Информационная система управления предприятием
6. Управление ценовой и ассортиментной политикой на предприятии
7. Анализ финансового состоян
15 руб.