Подробнее о заявке
Предмет 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 руб.

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

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

Денис 26.01.2024
Очень рад что обратился именно в ЗАО4ник нашли профи Автора, сам я бы так не смог, чертежи строго по ГОСТу, спасибо бо…
Василий 09.06.2022
Было нервно из-за дедлайна, но все прошло удачно
Альберт 25.04.2022
Спасибо всё хорошо получилось.
Мария 18.02.2022
Получила 5 по курсовой!
алексей 19.11.2020
ну ничего так, вы молодцы, только правки некоторые пришлось вводить, но это, скорее, из-за препода
Марина 24.10.2020
Спасибо большое!!!!!все шикарно
Елена 08.04.2020
Отлично. Выполнено на высочайшем уровне, прекрасно оформлено с соответствии с требованиями. Большая благодарность.
Андрей 23.03.2020
Все супер без обмана работой довольны .
Александр 04.07.2017
Спасибо вам за отличную курсовую . Вообще не ожидал что так быстро и качественно сделайте.
ирина 15.04.2015
Спасибо за проделанную работу, все сделано в срок и качественно, надеюсь на дальнейшее сотрудничество
Лайфхаки по написанию курсовых
Как выбрать тему курсовой работы

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

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

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

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