Лабораторная работа № 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 руб.
Лабораторная работа 2 По дисциплине: Теория языков программирования и методы трансляции. Тема: Моделирование работы ДКА. Вариант3
Задание. Пусть регулярный язык задаётся конечным автоматом – ДКА (теоретический материал разделов 1.5, 2.2). Написать программу, которая будет проверять по заданному автомату вводимую цепочку и делать вывод о том, принадлежит ли она рассматриваемому регулярному языку. В случае отрицательного ответа необходимо давать пояснение, по какой причине цепочка не принадлежит языку – например, «в цепочке присутствуют посторонние символы», «после прочтения цепочки автомат не пришёл в конечное состояние» и
User alexadubinina : 20 ноября 2024
400 руб.
Высокоуровневые методы обработки информации и программирования
Высокоуровневые методы обработки информации и программирования Аннотация Введение Глава 1. Эволюция технологии программирования Различия функционального и объектно-ориентированного подходов программирования Объектно-ориентированный подход Оценка сложности программных систем Глава 2. Интегрированная среда разработки Delphi Характеристики модулей программного средства Заключение Список литературы Целью данной курсовой работы, посвященной изучению высокоуровневых методов обработки информации и пр
User kostak : 17 июня 2012
Тепломассообмен СЗТУ Задача 3 Вариант 30
Тепловыделяющий элемент ядерного реактора выполнен из смеси карбида урана и графита в виде цилиндрического стержня диаметром d=12 мм. Объемная производительность источников теплоты равномерно распределена по объему и равна qυ, теплопроводность материала стержня λ. Определить температуру и плотность теплового потока на поверхности тепловыделяющего элемента, если по оси стержня температура равна t0.
User Z24 : 20 февраля 2026
120 руб.
Тепломассообмен СЗТУ Задача 3 Вариант 30
Туризм XXI века: факторы и тенденции развития спроса на рынке туристических услуг
Туризм является одной из ведущих и наиболее динамично развивающихся отраслей мировой экономики. За быстрые темпы роста он признан экономическим феноменом столетия минувшего и ему пророчат блестящее будущее в столетии грядущем. Согласно прогнозу Всемирной Туристической Организации (ВТО) рост туристической индустрии будет необратим в ХХ1 веке, и к 2020 году количество международных туристических посещений составит 1,6 биллиона единиц. Как известно, данная отрасль хозяйства является фундаментальн
User Aronitue9 : 2 ноября 2012
10 руб.
Вычертить изображения контуров деталей. Задание 6. Вариант 18 - Крышка Корпус
С.К. Боголюбов. Индивидуальные задания по курсу черчения. Вычертить изображения контуров деталей и нанести размеры. Задание 6. Вариант 18 - Крышка Корпус В состав работы входит: Чертежи; 3D модели. Выполнено в программе Компас + чертежи в PDF.
User .Инженер. : 30 ноября 2025
100 руб.
Вычертить изображения контуров деталей. Задание 6. Вариант 18 - Крышка Корпус promo
up Наверх