В теме опубликованы задания к курсовой работе. Варианты заданий определяются по номеру студента в
списке группы. Процедура выбора варианта и указания по оформлению находятся в файле заданий на последней странице.
Шаблон LaTex для оформления курсовой появится в этой теме позже.
В пятницу может состояться пересдача по курсам Основы программирования и Языки программирования.
Прошу старосту совместно с заинтересованными студентами (Рустам Серебряков и Тигран Манукян) определить удобное время пересдачи. Можно за час до начала пары по автоматам, можно после пары, если это возможно.
О выбранном времени прошу оставить сообщение на форуме.
По заданному словесному описанию языка построить грамматику,
порождающую этот язык.
По заданной ПЛ-грамматике найти регулярное выражение,
соответствующее порождаемому этой грамматикой языку.
По заданной ПЛ-грамматике построить НКА (E-НКА) и провести редукцию
этого автомата к ДКА.
По КА вычислить регулярное выражение методом исключения состояний.
Те, кто не успел сдать курсовые работы в семестре, могут сдать работы после нового года с 10 по 15 января. Работы приносите на кафедру АДМ или в а. 320 (кладите в большой комнате возле принтера).
8-й вариант для первого задания чего? В чем суть задания?
Если в принципе, то грамматика задает язык, т.е. множество цепочек над некоторым алфавитом. Длины цепочек, их вид, структура закладываются правилами грамматики. В общем случае длина произвольна. Но можно подобрать грамматику так, чтобы по ее правилам все цепочки были меньше или больше какой-то длины.
В Вашей грамматике длина цепочек не ограничивается.
8й вариант задания для курсовой. язык над 0 и 1 где не более двух нулей подряд и на одной из последних 3х позиций обязательно стоит единица. я старался сделать грамматику под любую длину слов , таких как 01 и таких как 1 (один символ). А судя по вашему ответу я могу сделать грамматику для цепочек длины >3 и только для таких?
Словесное описание языка - это очень неточное определение. В принципе, его можно понимать приблизительно. Как только Вы составите формальное описание - это уже будет точное, недопускающее двойных толкований описание. Так что пока Вы можете сами закладывать в грамматику ограничения. Хотите, пусть будет минимальная цепочка 1, хотите иначе - пусть минимальная цепочка будет длины три, где есть хотя бы одна единица. На этапе проектирования делайте, как считаете нужным, а потом работайте только с тем языком, формальное описание которого Вы получили.
Спасибо, не знал этого. Но а грамматика которую я составил, она уже находится в нормальной форме Хомского? если верить конспектам, то да. Но у меня не получается однозначно определить рег. выражение. Поэтому спрашиваю про форму, тк не знаю в чем ещё может быть дело. После применения формулы x = ax + b -> x = a*b у меня получается почти на каждой строке
уже готовое выражение без нетерминалов. На парах все постепенно подставлялось в другие строки и в конце получалось рег выражение. Одно. а тут…
Грамматика G=(N, Sigma, P, S) находится в нормальной форме Хомского, если каждое правило из P имеет один из следующих видов:
A -> AB, A, B - нетерминалы
A -> a , A - нетерминал, a - терминал
S -> Epsilon, причем, S не должно встречаться в правых частях других правил.
Вы путаете нормальную форму Хомского и составление системы уравнений, решив которую можно получить н.н.т. (для S - н.н.т. представляет собой рег. выражение для L(G))