Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб.работы 1-6(dm).doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
148.48 Кб
Скачать

Лабораторная работа № 3 Создание формального языка по его вербальному описанию

Цель работы – изучение основных понятий теории множеств, которые используются для создания формальных языков.

Задание

Создать программу на С++, которая будет продуцировать цепочки(слова) в трехсимвольном алфавите с записью их в файл, причем длина L цепочек ограничена: L1 L L2 и для каждой цепочки, отобранной в файл, должно выполняться условие < A >. Общее количество цепочек в файле должно быть не более M.

Методические указания

Для продуцирования цепочек в программе нужно четко реализовать процедуру возведения алфавита в i-ю степень, а затем отбор из полученного множества по условию < A > цепочек в файл.

Выбор варианта: студент выбирает № варианта задачи, определив значение t, где t = N mod20 – остаток от деления нацело числа N (порядковый номер в основном списке группы).

Таблица 1 – Индивидуальные задания к лабораторной работе 3

вар.

Условие <А>

L1

L2

M

Содержит два символа «а», заканчивается на «b» и символы «а» и «с» не стоят рядом

4

8

18

Содержит не более трех символов «а», начинается на «с», а символ «b» встречается только парами

5

10

20

Содержит не более двух символов «b», начинается на «ас», а символ «с» встречается только парами

4

9

15

Содержит ровно два символа «а», заканчивается на «bс» и символы «а» и «b» не стоят рядом

4

8

20

Содержит не более двух символов «с», начинается на «сb», а символ «а» встречается только парами

4

10

25

Содержит один символ «b», заканчивается на «аа» и символы «b» и «с» не стоят рядом

5

8

12

Содержит не более двух символов «с», начинается на «ас», а символ «а» встречается только по одному

4

9

15

Содержит ровно два символа «b», заканчивается на «ас» и символы «b» и «с» не стоят рядом

3

9

18

Содержит одно сочетание «аb», заканчивается на «b» и символы «b» и «с» не стоят рядом

4

8

20

Содержит не более двух символов «с», начинается на символ «а», а символ «b» встречается только по парам

5

10

15

Начинается на «bс», заканчивается на «сс», а символ «а» встречается только парами

6

12

18

Содержит не более двух символов «b», начинается на символ «а» или «с» и символы «а» и «с»не стоят рядом

4

10

15

Начинается на «аb», а символ «с» встречается только парами и заканчивается на «сb»

5

9

14

Начинается и заканчивается на сочетание «сс», а символ «а» встречается только парами и символ «b» встречается тоже парами

4

10

18

Начинается на сочетание «аbа», а символ «с» встречается только по два символа, а заканчивается на сочетание «аb»

5

9

16

Начинается с символа «b», заканчивается символом «а», а символ «с» встречается в сочетании по три не менее одного раза

5

10

20

Начинается с символа «b», сочетание символов «ас» встречается не менее двух раз, а заканчивается на сочетание «bb»

6

12

22

Начинается на сочетание «сbb», а символ «а» встречается не менее двух раз

5

9

15

Начинается на сочетание «aa», а символ «b» встречается не менее двух раз, а заканчивается на сочетание «сс»

7

14

21

Начинается на символ «а», символы «b» и «с» не стоят рядом, а сочетание «bас» встречается не менее одного раза

4

8

16

На защите лабораторной работы студент должен

знать:

– определение множества как понятия, способы задания множеств, мощность множества;

– определение вектора как понятия, отличия вектора от множества;

– операцию «прямое произведение множеств», ее свойства;

– действия с алфавитом по созданию формального языка (возведение алфавита в целую положительную и нулевую степень, итерация, усеченная итерация алфавита);

– переход от вектора к цепочке (слову), операции с цепочками (конкатенация (сцепление), итерация (возведение в степень), понятия «длина цепочки», пустая цепочка.

уметь:

– выполнять действия с множествами, алфавитом, цепочками;

– определять мощность множеств, степеней алфавита, длину цепочек;

– объяснять по листингу программы процесс проверки цепочки на ее принадлежность к языку.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]