Лабораторные работы 1-3 по дисциплине: Теория языков программирования и методы трансляции. Вариант №04
Состав работы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Необходимые программы
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
- Программа для просмотра текстовых файлов
- Microsoft Word
Описание
Лабораторная работа 1
Постановка задачи
Тема: «Генерация цепочек языка».
Пусть язык задан контекстно-свободной грамматикой. Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы.
Рекомендуется для ввода исходных данных использовать соответствующую форму. При вводе правил грамматики не рекомендуется предоставлять пользователю излишнюю свободу действий, например, удобнее запретить ввод в левой части правил более чем одного нетерминального символа, чем проверять введённые правила на соответствие контекстно-свободному типу.
Предусмотреть возможность выбора пользователю – использовать заданную в программе грамматику или вводить свою с клавиатуры.
1 Описание входных данных программы и ее результатов
На вход программы подаётся КС-грамматика (терминальный и нетерминальный алфавиты, целевой символ, правила вывода), задаётся диапазон длин цепочек, указывается тип вывода (левосторонний или правосторонний).
На выходе должен быть список построенных цепочек. Все цепочки в списке должны быть различны.
------------------------------------------------------------------------------
Ответы на контрольные вопросы:
1. Как поведёт себя программа, если при вводе правил грамматики сделать ошибку – ввести правила грамматики, не соответствующей КС-типу, или не использовать какие-то символы исходных алфавитов, или поместить в левой части правил терминальный символ?
2. Используется ли при генерации цепочек рекурсия? Если да, то как ограничена её глубина?
3. Какой язык порождается грамматикой G({0},{S,A},{SAAA, AAAA |0}, S)? Правильно ли Ваша программа работает на этом примере?
4. Разрешает ли Ваша программа использовать в исходной грамматике пустые правила? Если нет – доработайте программу.
------------------------------------------------------------------------------
СОДЕРЖАНИЕ:
1 Постановка задачи
1 Описание входных данных программы и ее результатов
3 Описание основных переменных, основных блоков и подпрограмм
4 Алгоритм решения задачи
5 Текст программы
6 Результаты тестирования программы
7 Ответы на контрольные вопросы
=============================================
Лабораторная работа 2
Постановка задачи
Тема: «Моделирование работы ДКА».
Пусть регулярный язык задаётся конечным автоматом – ДКА. Написать программу, которая будет проверять по заданному автомату вводимую цепочку и делать вывод о том, принадлежит ли она рассматриваемому регулярному языку. В случае отрицательного ответа необходимо давать пояснение, по какой причине цепочка не принадлежит языку – например, «в цепочке присутствуют посторонние символы», «после прочтения цепочки автомат не пришёл в конечное состояние» и т.п. Исходный автомат вводить с клавиатуры в соответствии с определённым форматом. Ввод цепочек также производить с клавиатуры.
Программа должна предоставлять пользователю возможность изменять начальное и конечные состояния с сохранением введённой функции переходов для заданного автомата.
1 Описание входных данных программы и ее результатов
На вход программы подаётся ДКА (множество состояний, алфавит языка, начальное состояние, множество заключительных состояний, функция переходов в виде таблицы) и проверяемая цепочка символов (может вводиться многократно, т.е. возможно проверить любое количество цепочек). При этом в проверяемую цепочку могут входить и символы, не принадлежащие алфавиту языка; цепочка может быть и пустой.
Выход – отображение на экране процесса проверки цепочки в виде последовательной смены конфигураций и вывод результата – сообщения, принадлежит ли цепочка языку.
------------------------------------------------------------------------------
Ответы на контрольные вопросы:
1. Как поведёт себя программа, если при вводе таблицы переходов ДКА сделать (случайно или преднамеренно) ошибку – например, ввести несуществующее состояние?
2. Все ли ячейки таблицы переходов исходного ДКА обязательно должны быть заполнены или можно использовать неполностью определённый ДКА?
3. В каком случае ДКА распознаёт пустую цепочку как цепочку языка?
------------------------------------------------------------------------------
СОДЕРЖАНИЕ:
1 Постановка задачи
1 Описание входных данных программы и ее результатов
3 Описание основных переменных, основных блоков и подпрограмм
4 Алгоритм решения задачи
5 Текст программы
6 Результаты тестирования программы
7 Ответы на контрольные вопросы
=============================================
Лабораторная работа 3
Постановка задачи
Тема: «Перевод с помощью МП-преобразователя»
Пусть дан преобразователь с магазинной памятью; написать программу, которая будет выполнять перевод цепочек с одного языка на другой с помощью заданного преобразователя. При невозможности выполнить перевод (цепочка не принадлежит исходному языку) необходимо выводить на экран соответствующее сообщение.
Исходный преобразователь вводить с клавиатуры в соответствии с определённым форматом. Ввод цепочек также производить с клавиатуры, выполняя его до тех пор, пока не возникнет желание закончить работу. Процесс перевода цепочки в виде последовательной смены конфигураций отображать на экране.
Рекомендуется за основу взять программу лабораторной работы No2, дополнив исходные данные алфавитом стека, начальным содержимым стека и выходным алфавитом, функцию переходов – в соответствии с определением преобразователя, а конфигурации – содержимым памяти и выходными цепочками.
2 Описание входных данных программы и ее результатов
На вход программы подаётся ДМП-преобразователь (множество состояний, алфавиты входного и выходного языков, алфавит магазина, начальное состояние, начальное содержимое стека, множество заключительных состояний, функция переходов в виде списка правил) и проверяемая цепочка символов (аналогично лаб. раб. No2).
Выход: отображение на экране процесса перевода цепочки в виде последовательной смены конфигураций преобразователя, результат перевода – полученная цепочка.
------------------------------------------------------------------------------
Ответы на контрольные вопросы:
1. Как поведёт себя преобразователь, если поданная на его вход цепочка не может быть распознана (не принадлежит к заданному языку)?
2. Как соотносятся алфавиты исходного языка и того, на который выполняется перевод (должны совпадать, различаться...)? Поясните ответ.
3. Как поведёт себя Ваша программа при некорректном вводе?
------------------------------------------------------------------------------
СОДЕРЖАНИЕ:
1 Постановка задачи
2 Описание входных данных программы и ее результатов
3 Описание основных переменных, основных блоков и подпрограмм
4 Алгоритм решения задачи
5 Текст программы
6 Результаты тестирования программы
7 Ответы на контрольные вопросы
=============================================
Постановка задачи
Тема: «Генерация цепочек языка».
Пусть язык задан контекстно-свободной грамматикой. Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы.
Рекомендуется для ввода исходных данных использовать соответствующую форму. При вводе правил грамматики не рекомендуется предоставлять пользователю излишнюю свободу действий, например, удобнее запретить ввод в левой части правил более чем одного нетерминального символа, чем проверять введённые правила на соответствие контекстно-свободному типу.
Предусмотреть возможность выбора пользователю – использовать заданную в программе грамматику или вводить свою с клавиатуры.
1 Описание входных данных программы и ее результатов
На вход программы подаётся КС-грамматика (терминальный и нетерминальный алфавиты, целевой символ, правила вывода), задаётся диапазон длин цепочек, указывается тип вывода (левосторонний или правосторонний).
На выходе должен быть список построенных цепочек. Все цепочки в списке должны быть различны.
------------------------------------------------------------------------------
Ответы на контрольные вопросы:
1. Как поведёт себя программа, если при вводе правил грамматики сделать ошибку – ввести правила грамматики, не соответствующей КС-типу, или не использовать какие-то символы исходных алфавитов, или поместить в левой части правил терминальный символ?
2. Используется ли при генерации цепочек рекурсия? Если да, то как ограничена её глубина?
3. Какой язык порождается грамматикой G({0},{S,A},{SAAA, AAAA |0}, S)? Правильно ли Ваша программа работает на этом примере?
4. Разрешает ли Ваша программа использовать в исходной грамматике пустые правила? Если нет – доработайте программу.
------------------------------------------------------------------------------
СОДЕРЖАНИЕ:
1 Постановка задачи
1 Описание входных данных программы и ее результатов
3 Описание основных переменных, основных блоков и подпрограмм
4 Алгоритм решения задачи
5 Текст программы
6 Результаты тестирования программы
7 Ответы на контрольные вопросы
=============================================
Лабораторная работа 2
Постановка задачи
Тема: «Моделирование работы ДКА».
Пусть регулярный язык задаётся конечным автоматом – ДКА. Написать программу, которая будет проверять по заданному автомату вводимую цепочку и делать вывод о том, принадлежит ли она рассматриваемому регулярному языку. В случае отрицательного ответа необходимо давать пояснение, по какой причине цепочка не принадлежит языку – например, «в цепочке присутствуют посторонние символы», «после прочтения цепочки автомат не пришёл в конечное состояние» и т.п. Исходный автомат вводить с клавиатуры в соответствии с определённым форматом. Ввод цепочек также производить с клавиатуры.
Программа должна предоставлять пользователю возможность изменять начальное и конечные состояния с сохранением введённой функции переходов для заданного автомата.
1 Описание входных данных программы и ее результатов
На вход программы подаётся ДКА (множество состояний, алфавит языка, начальное состояние, множество заключительных состояний, функция переходов в виде таблицы) и проверяемая цепочка символов (может вводиться многократно, т.е. возможно проверить любое количество цепочек). При этом в проверяемую цепочку могут входить и символы, не принадлежащие алфавиту языка; цепочка может быть и пустой.
Выход – отображение на экране процесса проверки цепочки в виде последовательной смены конфигураций и вывод результата – сообщения, принадлежит ли цепочка языку.
------------------------------------------------------------------------------
Ответы на контрольные вопросы:
1. Как поведёт себя программа, если при вводе таблицы переходов ДКА сделать (случайно или преднамеренно) ошибку – например, ввести несуществующее состояние?
2. Все ли ячейки таблицы переходов исходного ДКА обязательно должны быть заполнены или можно использовать неполностью определённый ДКА?
3. В каком случае ДКА распознаёт пустую цепочку как цепочку языка?
------------------------------------------------------------------------------
СОДЕРЖАНИЕ:
1 Постановка задачи
1 Описание входных данных программы и ее результатов
3 Описание основных переменных, основных блоков и подпрограмм
4 Алгоритм решения задачи
5 Текст программы
6 Результаты тестирования программы
7 Ответы на контрольные вопросы
=============================================
Лабораторная работа 3
Постановка задачи
Тема: «Перевод с помощью МП-преобразователя»
Пусть дан преобразователь с магазинной памятью; написать программу, которая будет выполнять перевод цепочек с одного языка на другой с помощью заданного преобразователя. При невозможности выполнить перевод (цепочка не принадлежит исходному языку) необходимо выводить на экран соответствующее сообщение.
Исходный преобразователь вводить с клавиатуры в соответствии с определённым форматом. Ввод цепочек также производить с клавиатуры, выполняя его до тех пор, пока не возникнет желание закончить работу. Процесс перевода цепочки в виде последовательной смены конфигураций отображать на экране.
Рекомендуется за основу взять программу лабораторной работы No2, дополнив исходные данные алфавитом стека, начальным содержимым стека и выходным алфавитом, функцию переходов – в соответствии с определением преобразователя, а конфигурации – содержимым памяти и выходными цепочками.
2 Описание входных данных программы и ее результатов
На вход программы подаётся ДМП-преобразователь (множество состояний, алфавиты входного и выходного языков, алфавит магазина, начальное состояние, начальное содержимое стека, множество заключительных состояний, функция переходов в виде списка правил) и проверяемая цепочка символов (аналогично лаб. раб. No2).
Выход: отображение на экране процесса перевода цепочки в виде последовательной смены конфигураций преобразователя, результат перевода – полученная цепочка.
------------------------------------------------------------------------------
Ответы на контрольные вопросы:
1. Как поведёт себя преобразователь, если поданная на его вход цепочка не может быть распознана (не принадлежит к заданному языку)?
2. Как соотносятся алфавиты исходного языка и того, на который выполняется перевод (должны совпадать, различаться...)? Поясните ответ.
3. Как поведёт себя Ваша программа при некорректном вводе?
------------------------------------------------------------------------------
СОДЕРЖАНИЕ:
1 Постановка задачи
2 Описание входных данных программы и ее результатов
3 Описание основных переменных, основных блоков и подпрограмм
4 Алгоритм решения задачи
5 Текст программы
6 Результаты тестирования программы
7 Ответы на контрольные вопросы
=============================================
Дополнительная информация
Проверил(а): Бах Ольга Анатольевна
Оценка: Зачет
Дата оценки: 07.07.2023г.
Помогу с вашим вариантом, другой работой, дисциплиной или онлайн-тестом.
E-mail: sneroy20@gmail.com
E-mail: ego178@mail.ru
Оценка: Зачет
Дата оценки: 07.07.2023г.
Помогу с вашим вариантом, другой работой, дисциплиной или онлайн-тестом.
E-mail: sneroy20@gmail.com
E-mail: ego178@mail.ru
Похожие материалы
Курсовая и Лабораторные работы 1-3 по дисциплине: Теория языков программирования и методы трансляции. Вариант №04
IT-STUDHELP
: 6 июля 2023
Курсовая работа
Вариант No04
Постановка задачи
Тема: «Программа для автоматического построения детерминированного конечного автомата (ДКА), эквивалентного заданной регулярной грамматике»
Написать программу для автоматического построения детерминированного конечного автомата (ДКА), эквивалентного заданной регулярной грамматике.
Язык задан регулярной грамматикой, причём она может быть не автоматного вида. При написании программы разработчику разрешается выбрать один из двух типов регулярной грам
1800 руб.
Лабораторные работы 1-3 по дисциплине: Теория языков программирования и методы трансляции. Без вариантов
IT-STUDHELP
: 25 декабря 2022
Лабораторная работа 1
Генерация цепочек языка
ЗАДАНИЕ:
Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы.
Предусмотреть возможность выбора пользователю – использоват
1500 руб.
Лабораторные работы 1-3 по дисциплине: Теория языков программирования и методы трансляции. Без вариантов
IT-STUDHELP
: 25 декабря 2022
Лабораторная работа 1
Генерация цепочек языка
Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы.
Предусмотреть возможность выбора пользователю – использовать заданную в программе грамматик
1500 руб.
Теория языков программирования и методы трансляции. Лабораторная работа №1
bvv1975
: 26 января 2016
Теория языков программирования и методы трансляции_Лабораторная работа 1
Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы.
20 руб.
Теория языков программирования и методы трансляции. Лабораторная работа №1.
zhekaersh
: 20 февраля 2015
Лабораторная работа № 1 Генерация цепочек языка
Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы.
Предусмотреть возможность выбора пользователю – использовать заданную в программе грамматику
70 руб.
Лабораторные работы 1-3 по дисциплине: Теория языков программирования и методы трансляции. Вариант №3
IT-STUDHELP
: 25 декабря 2022
Лабораторная работа 1
Генерация цепочек языка
ЗАДАНИЕ
Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы.
Предусмотреть возможность выбора пользователю
1500 руб.
Лабораторные работы 1-3 по дисциплине: Теория языков программирования и методы трансляции. Вариант №09
IT-STUDHELP
: 6 июля 2023
Лабораторная работа 1
Генерация цепочек языка
Постановка задачи:
Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы.
Предусмотреть возможность выбора пользователю – использовать заданную в пр
1500 руб.
Лабораторные работы 1-3 по дисциплине: Теория языков программирования и методы трансляции. Вариант №10
IT-STUDHELP
: 6 июля 2023
Лабораторная работа 1
Генерация цепочек языка
Постановка задачи
Тема: «Генерация цепочек языка».
Пусть язык задан контекстно-свободной грамматикой. Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы.
Рекомендуется для ввода исходных данных использовать соответствующую форму. При ввод
1500 руб.
Другие работы
Контрольная работа № 1 по Английскому языку
xtrail
: 5 апреля 2013
Контрольная работа № 1
1. Переведите предложения на русский язык.
Подчеркните глагол-сказуемое в каждом предложении и определите видовременные формы глаголов и залог.
Образец. You will find this book in the library.
Will find – Future Indefinite, Active voice.
Вы найдете эту книгу в библиотеке.
1. Russian chemical science is successfully solving many complex problems.
Is solving – Present continuous, Active voice.
2. Radio astronomy has given mankind efficient means for penetration into space
120 руб.
Бак емкостью 12 кубов
GAGARIN
: 3 мая 2012
Бак 12 кубов
Прямоугольный бак с размерами 2х1,6х4,5.
Используется для хранения воды.
СПЕЦИФИКАЦИЯ
1.Днище - лист 10х2050х1650 - 1 шт (266 кг).
2.Верхний лист с окном 8х2050х1650 - 1 шт (212 кг).
3.Боковой лист 8х2000х4482-2 шт (563+563=1126 кг).
4.Боковой лист 8х1584х4482-2 шт (446+446=892 кг).
5.Уголок 75х75х6 L=2115 -10 шт (14,6*10=146 кг).
6.Уголок 75х75х6 L=1715 -10 шт (11,8*10=118 кг).
7.Стойки Уголок 75х75х6 L=4482 - 4 шт (31*4=124 кг).
8.Уголок 75х75х6 L=1417 -1 шт (9,8 кг).
9
15 руб.
Насос густой смазки - 9-00 СБ
.Инженер.
: 5 сентября 2022
Альбом заданий для выполнения сборочных чертежей Л.В. Борковская, Е.А. Гулянская, К.И. Зыкунова под ред. В.В. Рассохина. Задание 9 - Насос густой смазки. Сборочный чертеж. Деталирование. Модели.
Станции САГ служат для автоматической подачи густой смазки к трущимся поверхностям механизмов через определенные промежутки времени, соответствующие принятому режиму смазывания. Основной сборочной единицей САГ является двухплунжерный нагнетательный насос. Собирают насос в следующем порядке. В отверстие
500 руб.
КОНТРОЛЬНАЯ РАБОТА по дисциплине «Современные технологии программирования (часть 2)». Вариант №14.
teacher-sib
: 14 июня 2022
Контрольная работа, Ассоциативные контейнеры STL
Тема: Контейнеры STL и модульное тестирование
Цель: Сформировать практические навыки разработки абстракций данных на основе контейнеров STL и модульного тестирования средствами VisualStudio.
Задание
Реализовать абстрактный тип данных «Множество» в соответствии с вариантом задания и со спецификацией, приведённой ниже. Протестировать его, используя средства модульного тестирования VisualStudio. Тестовые наборы необходимо построить на основе критер
450 руб.