Автор очень ответственно и профессионально подходит к выполнению заказов. Большое спасибо!
Подробнее о работе
Гарантия сервиса Автор24
Уникальность не ниже 50%
Входные данные программы состоят из описания КС-грамматики (нетерминальные символы, терминальные символы, целевой символ, правила вывода) и диапазона длин выводимых цепочек (минимальная длина, максимальная длина). Дополнительно может быть введён символ пустой цепочки. По умолчанию, в качестве символа пустой цепочки установлен символ ‘*’.
Терминальные и нетерминальные символы вводятся в поля программы, отделяя отдельные символы друг от друга запятыми. Правила вывода вводятся в отдельном окне программы. При этом программа в левой части правила допускает только ввод нетерминальных символов, а в правой части правила – нетерминальных и терминальных символов, а также символа пустой цепочки.
Результат работы программы представлен на экране в виде упорядоченного в лексикографическом порядке списка выведенных цепочек языка в заданном диапазоне длин.
Основные переменные программы:
VT – терминальные символы.
VN – нетерминальные символы.
Edit4.Text – целевой символ.
P – правила вывода.
Len1 – минимальная длина выводимых цепочек.
Len2 – максимальная длина выводимых цепочек.
Edit5.Text – символ пустой строки.
Основные блоки программы:
Inp – ввод из полей формы терминальных и нетерминальных символов. Дублирующиеся в пределах одного множества символы игнорируются.
InpG – ввод из окна формы правил вывода.
LG – рекурсивная процедура левостороннего вывода цепочек в заданном диапазоне длин.
RG – рекурсивная процедура правостороннего вывода цепочек в заданном диапазоне длин.
Button1Click – запуск левостороннего вывода цепочек по нажатию кнопки «Левосторонний вывод»;
Button2Click – запуск правостороннего вывода цепочек по нажатию кнопки «Правосторонний вывод».
Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы.
Предусмотреть возможность выбора пользователю – использовать заданную в программе грамматику или вводить свою с клавиатуры.
На вход программы подаётся КС-грамматика (терминальный и нетерминальный алфавиты, целевой символ, правила вывода), задаётся диапазон длин цепочек, указывается тип вывода (левосторонний или правосторонний).
Рекомендуется для ввода исходных данных использовать соответствующую форму. При вводе правил грамматики не рекомендуется предоставлять пользователю излишнюю свободу действий, например, удобнее запретить ввод в левой части правил более чем одного нетерминального символа, чем проверять введённые правила на соответствие контекстно-свободному типу.
На выходе должен быть список построенных цепочек. Все цепочки в списке должны быть различны. При получении одинаковых цепочек (разными способами) их следует сохранять в списке выводимых цепочек только в случае выполнения дополнительного задания.
Проверить программу на примерах из лекционного курса и на заданиях из контрольных вопросов к теоретической части.
Какой язык порождается грамматикой G({0},{S,A},{SAAA, AAAA |0}, S)? Правильно ли Ваша программа работает на этом примере? Если нет – доработайте программу.
Грамматика порождает язык L={02n+1| n≥1}. При вводе данного примера программы выдала правильный результат.
4. Разрешает ли Ваша программа использовать в исходной грамматике пустые правила? Если нет – доработайте программу.
Программа разрешает использовать пустые правила.
Не подошла эта работа?
Закажи новую работу, сделанную по твоим требованиям
Входные данные программы состоят из описания КС-грамматики (нетерминальные символы, терминальные символы, целевой символ, правила вывода) и диапазона длин выводимых цепочек (минимальная длина, максимальная длина). Дополнительно может быть введён символ пустой цепочки. По умолчанию, в качестве символа пустой цепочки установлен символ ‘*’.
Терминальные и нетерминальные символы вводятся в поля программы, отделяя отдельные символы друг от друга запятыми. Правила вывода вводятся в отдельном окне программы. При этом программа в левой части правила допускает только ввод нетерминальных символов, а в правой части правила – нетерминальных и терминальных символов, а также символа пустой цепочки.
Результат работы программы представлен на экране в виде упорядоченного в лексикографическом порядке списка выведенных цепочек языка в заданном диапазоне длин.
Основные переменные программы:
VT – терминальные символы.
VN – нетерминальные символы.
Edit4.Text – целевой символ.
P – правила вывода.
Len1 – минимальная длина выводимых цепочек.
Len2 – максимальная длина выводимых цепочек.
Edit5.Text – символ пустой строки.
Основные блоки программы:
Inp – ввод из полей формы терминальных и нетерминальных символов. Дублирующиеся в пределах одного множества символы игнорируются.
InpG – ввод из окна формы правил вывода.
LG – рекурсивная процедура левостороннего вывода цепочек в заданном диапазоне длин.
RG – рекурсивная процедура правостороннего вывода цепочек в заданном диапазоне длин.
Button1Click – запуск левостороннего вывода цепочек по нажатию кнопки «Левосторонний вывод»;
Button2Click – запуск правостороннего вывода цепочек по нажатию кнопки «Правосторонний вывод».
Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы.
Предусмотреть возможность выбора пользователю – использовать заданную в программе грамматику или вводить свою с клавиатуры.
На вход программы подаётся КС-грамматика (терминальный и нетерминальный алфавиты, целевой символ, правила вывода), задаётся диапазон длин цепочек, указывается тип вывода (левосторонний или правосторонний).
Рекомендуется для ввода исходных данных использовать соответствующую форму. При вводе правил грамматики не рекомендуется предоставлять пользователю излишнюю свободу действий, например, удобнее запретить ввод в левой части правил более чем одного нетерминального символа, чем проверять введённые правила на соответствие контекстно-свободному типу.
На выходе должен быть список построенных цепочек. Все цепочки в списке должны быть различны. При получении одинаковых цепочек (разными способами) их следует сохранять в списке выводимых цепочек только в случае выполнения дополнительного задания.
Проверить программу на примерах из лекционного курса и на заданиях из контрольных вопросов к теоретической части.
Какой язык порождается грамматикой G({0},{S,A},{SAAA, AAAA |0}, S)? Правильно ли Ваша программа работает на этом примере? Если нет – доработайте программу.
Грамматика порождает язык L={02n+1| n≥1}. При вводе данного примера программы выдала правильный результат.
4. Разрешает ли Ваша программа использовать в исходной грамматике пустые правила? Если нет – доработайте программу.
Программа разрешает использовать пустые правила.
Купить эту работу vs Заказать новую | ||
---|---|---|
0 раз | Куплено | Выполняется индивидуально |
Не менее 40%
Исполнитель, загружая работу в «Банк готовых работ» подтверждает, что
уровень оригинальности
работы составляет не менее 40%
|
Уникальность | Выполняется индивидуально |
Сразу в личном кабинете | Доступность | Срок 1—4 дня |
700 ₽ | Цена | от 200 ₽ |
Не подошла эта работа?
В нашей базе 2003 Лабораторной работы — поможем найти подходящую