Лабораторная работа № 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 руб.
Основы теплотехники и гидравлики Загорск 1985 Задача 11
В сушилку поступает воздух с относительной влажностью φ, подогретый от t1ºC до t2ºC. При выходе из сушилки воздух имеет температуру tºC. Определить, пользуясь диаграммой hd, влагосодержание воздуха, расход воздуха и потребное количество теплоты на 1 кг испарившейся влаги в идеальной сушильной установке.
User Z24 : 20 ноября 2025
200 руб.
Основы теплотехники и гидравлики Загорск 1985 Задача 11
Лабораторная работа № 2 По дисциплине: Объектно-ориентированное программирование Вариант 4
Лабораторная работа №2 Тема: Принцип наследования. Статические методы. Задание: Создать иерархию графических классов в соответствии с рисунком (или использовать свой вариант). Описания классов желательно оформить в отдельном модуле. ТОЧКА ОКРУЖНОСТЬ ЭЛЛИПС ОТРЕЗОК ТРЕУГОЛЬНИК ПРЯМОУГОЛЬНИК Добавить методы движения фигур (в каждый класс). Использовать статические методы. Написать программу, позволяющую выбирать фигуру для движения и вид движения: случайный и
User Nitros : 28 июня 2025
350 руб.
Контрольная работа по дисциплине «Юридическая психология» код (ЮП 00)
Игровая ситуация. Из мест лишения свободы совершил побег осужденный Н., ранее неоднократно судимый за грабежи и разбойные нападения, 27 лет, лидер организованной преступной группы. После побега Н. совершил очередное преступление – с целью получения выкупа, похитил жену генерального директора ИЧП «Нара». Сотрудники уголовного розыска и РУБОП определили местонахождения преступника и 3-х других членов ОПГ. В начале операции был захвачен один бандит. Однако Н. заявил, что в случае активных действий
User тантал : 23 июля 2013
100 руб.
Выпускная квалификационная работа. Исследование вопросов оценки риска и доходности портфеля ценных бумаг
Исследование вопросов оценки риска и доходности портфеля ценных бумаг ОТЗЫВ на выпускную квалификационную работу по теме «Исследование вопросов оценки риска и доходности портфеля ценных бумаг» Актуальность работы обусловлена тем, что портфельное инвестирование – один из основных приемов управления финансами современных предприятий. Портфельные инвестиции помогают решать ряд хозяйственных задач, улучшать структуру капитала и пополнять собственный капитал предприятий. Оценка риска и доходности по
User const30 : 25 августа 2018
1500 руб.
up Наверх