Лабораторная работа № 1 по дисциплине: "Теория языков программирования и методы трансляции" Тема: "Генерация цепочек языка". Вариант № 1

Цена:
350 руб.

Состав работы

material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon Project1.bpr
material.view.file_icon Project1.cpp
material.view.file_icon Project1.exe
material.view.file_icon Project1.obj
material.view.file_icon Project1.res
material.view.file_icon Project1.tds
material.view.file_icon Unit1.cpp
material.view.file_icon Unit1.ddp
material.view.file_icon Unit1.dfm
material.view.file_icon Unit1.h
material.view.file_icon Unit1.obj
material.view.file_icon test01.grm
material.view.file_icon test02.grm
material.view.file_icon test03.grm
material.view.file_icon test04.grm
material.view.file_icon test05.grm
material.view.file_icon test06.grm
material.view.file_icon test07.grm
material.view.file_icon test08.grm
material.view.file_icon Лабораторная1.doc
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
  • Microsoft Word

Описание

Содержание
Лабораторная работа No 1 Генерация цепочек языка 1
СОДЕРЖАНИЕ 2
1. ПОСТАНОВКА ЗАДАЧИ 3
2. ОПИСАНИЕ ВХОДНЫХ ДАННЫХ ПРОГРАММЫ И ЕЕ РЕЗУЛЬТАТОВ 3
3. ОПИСАНИЕ ОСНОВНЫХ ПЕРЕМЕННЫХ, БЛОКОВ И ПОДПРОГРАММ 8
4. АЛГОРИТМ РЕШЕНИЯ ЗАДАЧИ 10
5. ТЕКСТ ПРОГРАММЫ 10
6. РЕЗУЛЬТАТЫ РАБОТЫ 21
7. КОНТРОЛЬНЫЕ ВОПРОСЫ 22

1. Постановка задачи
Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы.
Предусмотреть возможность выбора пользователю – использовать заданную в программе грамматику или вводить свою с клавиатуры.
На вход программы подаётся КС-грамматика (терминальный и нетерминальный алфавиты, целевой символ, правила вывода), задаётся диапазон длин цепочек, указывается тип вывода (левосторонний или правосторонний).
Рекомендуется для ввода исходных данных использовать соответствующую форму. При вводе правил грамматики не рекомендуется предоставлять пользователю излишнюю свободу действий, например, удобнее запретить ввод в левой части правил более чем одного нетерминального символа, чем проверять введённые правила на соответствие контекстно-свободному типу.
На выходе должен быть список построенных цепочек. Все цепочки в списке должны быть различны. При получении одинаковых цепочек (разными способами) их следует сохранять в списке выводимых цепочек только в случае выполнения дополнительного задания.
Проверить программу на примерах из лекционного курса и на заданиях из контрольных вопросов к теоретической части.
Дополнительно: Дополнить предыдущую программу таким образом, чтобы для одной или нескольких цепочек (цепочки выбирает пользователь из числа построенных на предыдущем этапе работы) строилось дерево вывода, т.е. была структурно представлена последовательность правил, использованных при построении цепочки.

Контрольные вопросы:

1. Как поведёт себя программа, если при вводе правил грамматики сделать ошибку – ввести правила грамматики, не соответствующей КС-типу, или не использовать какие-то символы исходных алфавитов, или поместить в левой части правил терминальный символ?
2. Используется ли при генерации цепочек рекурсия? Если да, то как ограничена её глубина?
3. Какой язык порождается грамматикой G({0},{S,A},{SAAA, AAAA |0}, S)? Правильно ли Ваша программа работает на этом примере? Если нет – доработайте программу.
4. Разрешает ли Ваша программа использовать в исходной грамматике пустые правила? Если нет – доработайте программу.

Дополнительная информация

В архиве отчет+программа, использованная в работе.
Отличная работа!
Специальность ПОВТиАС (ПОиВТ)
Лабораторная работа №1 по дисциплине: Теория языков программирования и методы трансляции. Тема. Генерация цепочек языка.
Лабораторная работа No 1 Генерация цепочек языка Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы. Предусмотреть возможность выбора пользователю – использовать заданную в программе грамматик
User Udacha2013 : 31 октября 2015
250 руб.
Лабораторная работа 1 По дисциплине: Теория языков программирования и методы трансляции. Тема: Генерация цепочек языка. Вариант 3
Лабораторная работа No 1 Генерация цепочек языка Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы. Предусмотреть возможность выбора пользователю – использовать заданную в программе грамматику
User alexadubinina : 20 ноября 2024
400 руб.
Генерация цепочек языка
Пусть язык задан контекстно-свободной грамматикой. Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы. Предусмотреть возможность выбора пользователю – использовать заданную в программе грамматику или вводить свою с клавиатуры.
User woorumu : 7 января 2017
150 руб.
Генерация цепочек языка
Генерация цепочек языка
Описание основных переменных, а также основных блоков и подпрограмм. Программа написана на языке C# в IDE Visual Studio 2008 Express Edition . Для правила списка правил описан тип: struct Rule { public Char left; // левая часть правила public String right; // правая часть правила }; Поля класса Generator: // разделители символов терминального и нетерминального алфавитов private const String separators = ", "; // список полученных цепочек
User Dusya : 25 января 2013
250 руб.
Лабораторная работа №1:Генерация цепочек языка
Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы.
User aragorn24 : 29 сентября 2015
150 руб.
Лабораторная работа 3 по дисциплине: Теория языков программирования и методы трансляции. Тема. Моделирование работы МПА.
Лабораторная работа № 3 Моделирование работы МПА Пусть контекстно-свободный язык задаётся детерминированным автоматом с магазинной памятью – ДМПА (теоретический материал раздела 3.1). Написать программу, которая будет проверять для вводимой цепочки, принадлежит ли она заданному КС-языку. В случае отрицательного ответа необходимо давать пояснение, по какой причине цепочка не принадлежит языку (аналогично лаб. раб №2) Исходный автомат вводить с клавиатуры в соответствии с определённым форматом. В
User Udacha2013 : 31 октября 2015
200 руб.
Лабораторная работа №2 по дисциплине: Теория языков программирования и методы трансляции. Тема. Моделирование работы ДКА.
Лабораторная работа № 2 Моделирование работы ДКА Пусть регулярный язык задаётся конечным автоматом – ДКА (теоретический материал разделов 1.5, 2.2). Написать программу, которая будет проверять по заданному автомату вводимую цепочку и делать вывод о том, принадлежит ли она рассматриваемому регулярному языку. В случае отрицательного ответа необходимо давать пояснение, по какой причине цепочка не принадлежит языку – например, «в цепочке присутствуют посторонние символы», «после прочтения цепочки а
User Udacha2013 : 31 октября 2015
250 руб.
Теория языков программирования и методы трансляции Лабораторная работа № 1 Генерация цепочек языка
Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы. Предусмотреть возможность выбора пользователю – использовать заданную в программе грамматику или вводить свою с клавиатуры. На вход програм
User svladislav987 : 29 августа 2023
100 руб.
Расчет элементов автомобильных гидросистем МАМИ Задача 6.4 Вариант И
От насоса 1 жидкость через гидрораспределитель 2 поступает в гидромотор 3, а затем через тот же гидрораспределитель 2 сливается в бак. Определить частоту nм вращения вала гидромотора, давление, создаваемое насосом, и полезную мощность, развиваемую гидроприводом, если известен рабочий объем гидромотора Wм, подача насоса Q и преодолеваемый крутящий момент на валу гидромотора М. При решении учесть потери в гидрораспределителе 2 (коэффициент сопротивления каждого канала ζ) и в трубопроводе, суммарна
User Z24 : 21 декабря 2025
150 руб.
Расчет элементов автомобильных гидросистем МАМИ Задача 6.4 Вариант И
Управление рисками в страховой организации
Содержание Введение Глава I Показатели, характеризующие деятельность страховой организации 1.1 Общие показатели 1.2 Показатели надежности страховщика 1.3 Финансовый результат Глава II Идентификация рисков Глава III Анализ методов управления рисками Заключение Список литературы
User evelin : 6 ноября 2012
15 руб.
Объективные экономические законы. Экономические отношения и экономические интересы
Развитие экономической жизни общества и прежде всего способа производства подчиняется определенным объективным законам, что, конечно, не исключает действия в сфере экономики случайностей. Об одном из них мы только что говорили. Любой объективный закон представляется как НЕОБХОДИМАЯ, СУЩЕСТВЕННАЯ И ПОВТОРЯЮЩАЯСЯ СВЯЗЬ между явлениями природы и общества. Такая связь существует между многими экономическими явлениями, например, между ценой товара и количеством труда, затраченного на его производство
User evelin : 21 ноября 2013
10 руб.
Рабинович Сборник задач по технической термодинамике Задача 97
Вычислить значение истинной мольной теплоемкости кислорода при постоянном давлении для температуры 1000ºC, считая зависимость теплоемкости от температуры линейной. Найти относительную ошибку по сравнению с табличными данными. Ответ: μcр=36,55 кДж/(кмоль·К), ε=1,79%.
User Z24 : 29 ноября 2025
130 руб.
Рабинович Сборник задач по технической термодинамике Задача 97
up Наверх