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

material.view.file_icon
material.view.file_icon
material.view.file_icon def.txt
material.view.file_icon Project1.dpr
material.view.file_icon Project1.exe
material.view.file_icon Project1.res
material.view.file_icon res_def
material.view.file_icon Unit1.dfm
material.view.file_icon Unit1.pas
material.view.file_icon Отчет.doc
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
  • Программа для просмотра текстовых файлов
  • Microsoft Word

Описание

Вариант 10
Написать программу для автоматического построения регулярной грамматики (леволинейной или праволинейной) по словесному описанию языка.

Вход программы: алфавит языка, обязательная конечная подцепочка, кратность длины всех цепочек языка, тип грамматики (ЛЛ либо ПЛ), 2 числа – диапазон длин для генерации цепочек.

Выход: построенная грамматика (все 4 элемента), результат генерации цепочек.

Подробно:

Язык задан своим алфавитом, обязательной конечной подцепочкой, которая должна присутствовать во всех цепочках языка, и указанием кратности длины всех цепочек языка. В конечной цепочке не должно находиться символов, не содержащихся в алфавите. В крайнем случае она может быть и пустой. Кратность длины цепочек задаётся любым натуральным числом. Кратность, равная единице, равносильна отсутствию ограничений на длину цепочек.

Программа должна:

1. по предложенному описанию регулярного языка строить регулярную грамматику, генерирующую этот язык, в том виде, как она рассматривалась в теории, раздел 1.3.1;

2. с помощью построенной грамматики генерировать все цепочки языка в заданном пользователем диапазоне длин.

Грамматика должна строиться и праволинейная, и леволинейная. Желаемый тип грамматики выбирается пользователем в меню. Все правила грамматики должны соответствовать выбранному типу! Отдельно следует указывать, какой нетерминальный символ является целевым. Если в грамматике используется пустое правило, то необходимо дать пояснение, каким именно символом обозначается пустая цепочка.

После построения грамматики пользователь может убедиться в её правильности путём генерации всех цепочек языка в том диапазоне длин, который он задаст. Генерацию каждой цепочки языка следует поэтапно отображать на экране в виде цепочки вывода (в соответствии с примерами раздела 1.4.1.). Генерация осуществляется в соответствии с лабораторной работой No1.

Рассмотрим пример построения регулярной грамматики.

Задан язык: алфавит {a,b,c}, обязательная конечная цепочка ‘aab’, кратность длины 2. Анализируем задание: язык будет состоять из цепочек чётной длины, заканчивающихся на ‘aab’, например {сaab, аaab, bааb, caaааb, сabaab, ...}.

Для примера выберем праволинейную грамматику (ПЛ). В правой части её правил вывода может быть только один нетерминал, и он должен располагаться справа от цепочек терминальных символов. Для соблюдения кратности длины цепочек будет использоваться чередование нетерминалов. Длина кратна двум, следовательно, потребуется два нетерминала: S→aA|bA|cA, А→aS|bS|cS. Выход должен происходить по обязательной конечной цепочке ‘aab’, в силу чётности длины цепочек перед ней должен быть как минимум один символ. Следовательно, эта цепочка должна порождаться нетерминалом А: А→aab.

Итак, построенная грамматика имеет вид:
G({a,b,c},{S,A},P,S), Р: S→aA|bA|cA; А→aS|bS|cS|aab.
Современные технологии программирования. Курсовая работа. Вариант №10.
Курсовая работа Спроектировать и реализовать калькулятор для выполнения вычислений над числами заданными в соответствии с вариантом, используя классы Object Pascal и библиотеку визуальных компонентов VCL Delphi для построения интерфейса. Варианты чисел: простые дроби.
User Bodibilder : 15 июля 2019
90 руб.
Объектно-ориентированное программирование. Курсовая работа. Вариант №10
Вариант 10 Курсовая работа состоит из одного задания. Вид графического объекта, движение которого надо будет реализовать в работе, выбирается согласно своему варианту (см. далее таблицу вариантов). Задание: Написать программу, используя объектно-ориентированный подход, которая двигает по экрану изображение заданного графического объекта. Допускается: замена некоторых элементов графического объекта, изменение его цветовой гаммы. Реализовать два вида движения: случайное и по нажатию на клавиши со
User Bodibilder : 2 апреля 2019
140 руб.
Программирование (часть 2-я). Курсовая работа. Вариант №10
Задание: разработать программу для создания и работы с двусвязным списком , состоящим из структур. Для работы со списком создать меню со следующими пунктами: 1. Создание списка. 2. Просмотр списка. 3. Добавление в список новой записи. 4. Поиск и корректировка записи в списке. 5. Удаление записи из списка. 6. Сохранение списка в файле. 7. Загрузка списка из файла. 8. Выход. 3.1. Варианты задания 10. Структура содержит название издания, тип издания (газета или журнал), цена экземпляра. Изменят
User Bodibilder : 19 марта 2019
150 руб.
Объектно-ориентированное программирование. Курсовая работа. Вариант №10
Курсовая работа состоит из одного задания. Вид графического объекта, движение которого надо будет реализовать в работе, выбирается согласно своему варианту (см. далее таблицу вариантов). Задание: Написать программу, используя объектно-ориентированный подход, которая двигает по экрану изображение заданного графического объекта. Допускается: замена некоторых элементов графического объекта, изменение его цветовой гаммы. Реализовать два вида движения: случайное и по нажатию на клавиши со стрел
User CaptainMorgan228 : 8 февраля 2018
90 руб.
Объектно-ориентированное программирование. Курсовая работа. Вариант №10
Объектно-ориентированное программирование. Курсовая работа. Вариант: №10.
Курсовая работа состоит из одного задания. Вид графического объекта, движение которого надо будет реализовать в работе, выбирается согласно своему варианту (см. далее таблицу вариантов). Задание: Написать программу, используя объектно-ориентированный подход, которая двигает по экрану изображение заданного графического объекта. Допускается: замена некоторых элементов графического объекта, изменение его цветовой гаммы. Реализовать два вида движения: случайное и по нажатию на клавиши со стрелк
User Cole82 : 6 июня 2015
21 руб.
Объектно-ориентированное программирование. Курсовая работа. Вариант: №10.
Курсовая работа. Программирование на языках высокого уровня. Вариант №10
Задание: разработать программу для создания и работы с двусвязным списком , состоящим из структур. Для работы со списком создать меню со следующими пунктами: 1. Создание списка. 2. Просмотр списка. 3. Добавление в список новой записи. 4. Поиск и корректировка записи в списке. 5. Удаление записи из списка. 6. Сохранение списка в файле. 7. Загрузка списка из файла. 8. Выход. 10. Структура содержит название издания, тип издания (газета или журнал), цена экземпляра. Изменять цену экземпляра зада
User Petr1 : 18 января 2018
500 руб.
Курсовая работа по дисциплине: Основы системного программирования. Вариант № 10
Задание 1 1. Создать командный файл, который выполняет следующие действия: a. Очистка экрана b. Создание директории C:\TEMP c. Создание нового файла NEW.TXT с консоли в директории C:\TEMP. d. Создание копий файлов *.TXT, сменив расширение на bat и оставив имя. e. Сравнение копий с оригиналами. f. Просмотр постранично содержимого директории C:\TEMP. g. Удаление всех файлов с расширением TXT с запросом подтверждения из текущей директории. Задание 2 0. Написать и отладить программу
User Jack : 6 июня 2013
300 руб.
promo
Курсовая работа по дисциплине: Современные технологии программирования. Вариант 10 (магистратура)
Тема работы: Проектирование и реализация программ в технологии «абстрактных типов данных» и объектно-ориентированного программирования. Цель работы: Сформировать практические навыки: • проектирования программ в технологии «абстрактных типов данных» и «объектно-ориентированного программирования» и построения диаграмм UML; • реализации абстрактных типов данных с помощью классов C#; • использования библиотеки визуальных компонентов VCL для построения интерфейса, • тестирования программ. Задание С
User Roma967 : 11 июля 2019
1000 руб.
promo
Плашки инжектора колонны гибких труб колтюбинговой установки МК20Т-Чертеж-Оборудование для капитального ремонта, обработки пласта, бурения и цементирования нефтяных и газовых скважин-Курсовая работа-Дипломная работа
Плашки инжектора колонны гибких труб колтюбинговой установки МК20Т-(Формат Компас-CDW, Autocad-DWG, Adobe-PDF, Picture-Jpeg)-Чертеж-Оборудование для капитального ремонта, обработки пласта, бурения и цементирования нефтяных и газовых скважин-Курсовая работа-Дипломная работа
460 руб.
Плашки инжектора колонны гибких труб колтюбинговой установки МК20Т-Чертеж-Оборудование для капитального ремонта, обработки пласта, бурения и цементирования нефтяных и газовых скважин-Курсовая работа-Дипломная работа
Расчет статической системы стабилизации напряжения генератора
Краткое описание работы Разбиение системы на элементы Построение структурной схемы САУ Передаточные функции системы Проверка системы на устойчивость D-разбиение Реализация структурной схемы САУ в программе SamSim
User evelin : 20 ноября 2015
245 руб.
Проектирование агрегатного отделения АТП на 242 для автомобилей МАЗ-105
Эффективность использования автотранспортных средств зависит от совершенства организации транспортного процесса и свойств автомобилей сохранять в определенных пределах значения параметров, характеризующих их способность выполнять требуемые функции. В процессе эксплуатации автомобиля его функциональные свойства постепенно ухудшаются вследствие изнашивания, коррозии, повреждения деталей, усталости материала, из которого они изготовлены и др. В автомобиле появляются различные неисправности, которые
User Aronitue9 : 30 декабря 2011
42 руб.
Технологии программированния. Лабораторные работы №№1-5
Задание 1. Реализовать абстрактный тип данных «комплексное число», используя класс • Object Pascal, • С++, в соответствии с приведенной ниже спецификацией. 2. Протестировать каждую операцию, определенную на типе данных одним из методов тестирования. Задание 1. В соответствии с приведенной ниже спецификацией реализовать абстрактный тип данных «память для комплексных чисел», используя класс • Object Pascal, • С++. 2. Протестировать каждую операцию, определенную на типе данных одним из методо
User danila1271 : 8 января 2018
200 руб.
up Наверх