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

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

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

Яна 06.02.2024
Всё сделано на высшем уровне! Получила оценку 5, Спасибо менеджеру и, особенно, автору!
Борис 11.06.2022
Работа выполнена на отлично, замечаний нет
Ольга 31.03.2022
спасибо ,все отлично работу засчитали
Виктория 07.02.2022
Все хорошо, спасибо большое!
Николаев Евгений Александрович 21.09.2021
Все очень замечательно! =)
Айя 06.07.2020
Спасибо Вам большое, За курсовую работу поставили отлично! Айя
Елена 08.04.2020
Отлично. Выполнено на высочайшем уровне, прекрасно оформлено с соответствии с требованиями. Большая благодарность.
Андрей 23.03.2020
Все супер без обмана работой довольны .
Александр 04.07.2017
Спасибо вам за отличную курсовую . Вообще не ожидал что так быстро и качественно сделайте.
ирина 15.04.2015
Спасибо за проделанную работу, все сделано в срок и качественно, надеюсь на дальнейшее сотрудничество
Лайфхаки по написанию курсовых
Как выбрать тему курсовой работы

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

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

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

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