
- •Требования к оформлению и выполнению лабораторных работ
- •Студента(ки) группы ит 10т…
- •Отчет должен содержать:
- •Лабораторная работа № 1 Универсальное множество, его подмножества. Определение числа элементов подмножеств
- •Задание
- •Методические указания
- •Лабораторная работа № 2 Бинарные отношения между элементами множества
- •Задание
- •Лабораторная работа № 2 Бинарные отношения между элементами множества
- •Задание
- •Лабораторная работа № 3 Создание формального языка по его вербальному описанию
- •Задание
- •Методические указания
- •Лабораторная работа № 4
- •Задание
- •Варианты индивидуальных заданий
- •Вопросы для самостоятельной подготовки
Лабораторная работа № 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 |
На защите лабораторной работы студент должен
знать:
– определение множества как понятия, способы задания множеств, мощность множества;
– определение вектора как понятия, отличия вектора от множества;
– операцию «прямое произведение множеств», ее свойства;
– действия с алфавитом по созданию формального языка (возведение алфавита в целую положительную и нулевую степень, итерация, усеченная итерация алфавита);
– переход от вектора к цепочке (слову), операции с цепочками (конкатенация (сцепление), итерация (возведение в степень), понятия «длина цепочки», пустая цепочка.
уметь:
– выполнять действия с множествами, алфавитом, цепочками;
– определять мощность множеств, степеней алфавита, длину цепочек;
– объяснять по листингу программы процесс проверки цепочки на ее принадлежность к языку.