Добавил:
abhai2013@gmail.com Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ДМ / Lab1

.docx
Скачиваний:
7
Добавлен:
30.06.2018
Размер:
79.29 Кб
Скачать

Лабораторная работа № 1

(№ 9 по списку и инд. вариант t= 9 )

Студента группы ИТ 14-1

Красовский Абхай Владленович

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

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

Ход работы

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

t

Условие <А>

L1

L2

M

9

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

5

10

20

1Код

#include "conio.h"

#include "iostream"

using namespace std;

void main()

{

char str[10];

int c = 0, string = 0, k = 0;

while(string < 20)

{

k = rand()%10 + 1;

if (k >= 5)

{

for (int j = 0; j < k; j++)

{

c = rand()%3 + 1;

if ( c == 1 ) str[j] = 'a';

if ( c == 2 ) str[j] = 'b';

if ( c == 3 ) str[j] = 'c';

}

for (int l = 0; l < k - 1; l++)

{

if ( str[0] == 'b' && str[k - 1] == 'a' && str[l] == 'c' && str[l+1] == 'c')

{

for (int m = 0; m < k; m++)

cout << str[m];

cout << "\n";

string++;

break;

}

}

}

}

_getch();

}

2.Блок-схема

3.Результат

4.Вывод: Изучил основные понятия теории множеств, которые используются для создания формальных языков.

Соседние файлы в папке ДМ