Подробнее о заявке
Предмет C/C++
Заявка номер Private
Стоимость 3050 руб.
Уникальность 70%
Объем 30 стр.
Дата заявки: 02.01.2016
Выполнено: 11.01.2016
Курсовая по C/C++:

«Написать программу для автоматического построения регулярной грамматики»

Задание

При выполнении задания следует использовать средства объектно-ориентированного программирования. Выбор конкретного средства разработки оставляется за студентом. При наличии определённых требований к программному обеспечению студенту следует уведомлять об этом преподавателя.

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

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

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

Подробно:

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

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

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

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

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

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

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

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

Для определённости выберем праволинейную грамматику (ПЛ). В правой части её правил вывода может быть только один нетерминал, и он должен располагаться справа от цепочек терминальных символов.

Все цепочки языка должны начинаться с заданной цепочки ‘саа’, после которой может находиться всё, что угодно. Значит, правило для целевого символа будет иметь вид: S→caaА, а для нетерминала А: А→aA|bA|cA. В конце должна быть ‘aab’, значит, выход из нетерминала А будет по ней: А→aA|bA|cA|aab. Осталось учесть возможные пересечения цепочек, это ‘сaab’, ‘саaab’. Их нужно выводить из целевого символа. Итак, грамматика имеет вид: G({a,b,c},{S,A},P,S), Р: S→caaА|сaab|саaab; А→aA|bA|cA|aab.

Методичка во вложенном файле (2 вариант) В другом вложенном файле аналогичная работа другого варианта

Читать больше
Срок выполнения:
  • Бесплатные корректировки
  • Шпаргалки в подарок!
  • Предоплата всего 25%
от 2 дней
Похожие заявки по c/c++

Тип: Курсовая

Предмет: C/C++

справочная система Си

Стоимость: 2700 руб.

Тип: Курсовая

Предмет: C/C++

Курсовая работа в QT Creator c++

Стоимость: 2825 руб.

Тип: Курсовая

Предмет: C/C++

Курсовая Си++

Стоимость: 2375 руб.

Тип: Курсовая

Предмет: C/C++

Програмирование С++

Стоимость: 3100 руб.

Тип: Курсовая

Предмет: C/C++

Вычисление определенных интегралов методом прямоугольников

Стоимость: 2775 руб.

Тип: Курсовая

Предмет: C/C++

Микроконтроллеры

Стоимость: 2925 руб.

Тип: Курсовая

Предмет: C/C++

Курсовая. С++. "Программа тестирования памяти"

Стоимость: 2425 руб.

Закажи Курсовую работу с полным сопровождением до защиты!
Думаете, что скачать готовую работу — это хороший вариант? Лучше закажите уникальную и сдайте её с первого раза!

Отзывы студентов

Андрей 12.12.2024
Отлично за работу поставили. Подготовили все как нужно.
Анна 15.06.2023
Спасибо большое за помощь. В сжатые сроки была сделана курсовая работа. Работа по теме "Управление проектами" была оцен…
Дмитрий 16.04.2023
Обратился за помощью с написанием курсовой работы. Цены адекватные, а с бонусами так вообще, отдельное спасибо менеджер…
Марина 15.01.2023
Вы супер,работа выполнена раньше срока!!! Со всеми пожеланиями!!! СПАСИБО ОГРОМНОЕ!!!
Максим 11.10.2022
Не бросили, помогли, не всё идеально было сделано, но это нормально, доработал сам и даже больше разобрался. Большое сп…
Роман 08.06.2022
Работа прошла на ура, но с удалением не которых недочётов. Спасибо.
Юлия 01.06.2022
мне очень понравилось, всё быстро и качественно
Юлия 30.05.2022
Спасибо большое за работу! Все приняли с первого раза без правок.
Елена 08.04.2020
Отлично. Выполнено на высочайшем уровне, прекрасно оформлено с соответствии с требованиями. Большая благодарность.
Андрей 23.03.2020
Все супер без обмана работой довольны .
Лайфхаки по написанию курсовых
Как выбрать тему курсовой работы

Правильно выбранная тема курсовой работы — одна из причин успешной защиты. Если грамотно выбрать тему:Как видим, сплошные плюсы. Так что читайте статью и вы узнаете, как разобраться в тематике курсовых работ и какие лайфхаки использовать, чтобы выбрать правильную тему курсовой.А чтобы получать свеж…

Читать дальше
Как оформлять список литературы в курсовой работе по ГОСТ 2025

Несмотря на то, что список используемой литературы — заключительная часть курсовой работы, все преподаватели обращают внимание на его грамотное оформления. Будь там хоть малейшая ошибка или неточность, вряд ли удастся без проблем с первого раза.Чтобы избежать столкновений с научным руководителем, …

Читать дальше