Моделирование работы конечного распознавателя для последовательностей путей поиска файлов, разделенных запятой, и заканчивающихся точко

Автор работы: Пользователь скрыл имя, 11 Января 2013 в 15:08, курсовая работа

Описание

Конечный распознаватель – это модель устройства с конечным числом состояний, которое отличает правильно образованные, или «допустимые» цепочки, от «недопустимых».
Примером задачи распознавания может служить проверка нечетности числа единиц в произвольной цепочке, состоящей из нулей и единиц. Соответствующий конечный автомат будет допускать все цепочки, содержащие нечетное число единиц, и отвергать все цепочки с четным их числом. Назовем его «контролером нечетности».

Содержание

ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ 3
ПРАКТИЧЕСКАЯ ЧАСТЬ 6
1. ПОСТАНОВКА ЗАДАЧИ 6
2. ПОСТРОЕНИЕ ФОРМАЛЬНОЙ ГРАММАТИКИ 6
3. ПОСТРОЕНИЕ КОНЕЧНОГО АВТОМАТА 6
4. ТАБЛИЦА ПЕРЕХОДОВ 7
5. ГРАФ ПЕРЕХОДОВ 7
6. ПРОГРАММНОЕ МОДЕЛИРОВАНИЕ КОНЕЧНОГО АВТОМАТА 8
7. БЛОК СХЕМА 15
8. РЕЗУЛЬТАТ ВЫПОЛНЕНИЯ ПРОГРАММЫ 18

Работа состоит из  1 файл

kursovik_si.doc

— 373.50 Кб (Скачать документ)

cout<<Rus("Задайте имя файла в меню конфигурации")<<endl;

return;

}

obj->ReadFile();

obj->InAlf();

obj->Test();

 

for (int i = 0; i < obj->count; i++)

{

cout<<obj->str[i]<<endl;

cout<<Rus("Строка допустима - ");

if (obj->otch[i].alf)

cout<<Rus("[ ДА  ]")<<endl;

else

cout<<Rus("[ НЕТ ]")<<endl;

cout<<Rus("Строка принимается автоматом - ");

if (obj->otch[i].det)

cout<<Rus("[ ДА  ]")<<endl;

else

cout<<Rus("[ НЕТ ]")<<endl;

if (!obj->otch[i].det)

cout<<Rus("Строка отвергнута на символе - ")<<obj->otch[i].simb<<endl;

cout<<"-------------------------"<<endl;

}

 

 

}

 

void Config(Avto *a)

{

bool flag = true;

char *temp = new char [100];

while (flag)

{

switch(MenuConfig())

{

case 0:

cout<<Rus("Введите имя  файла")<<endl;

cin>>temp;

a->FileName(temp);

break;

case 1:

a->DisplayTabl();

system("pause");

break;

case 2:

a->DisplayAlf();

system("pause");

break;

case 3:

flag = false;

}

//system("pause");

}

}

 

int main()

{

Avto a;

a.FileName("test.txt");

// Run(&a);

cout<<Rus("Добро пожаловать")<<endl;

cout<<Rus("Первоначальное задание имени входного файла")<<endl;

cout<<Rus("Введите имя файла")<<endl;

char *fname = new char [100];

// cin>>fname;

// a.FileName(fname);

bool flag = true;

while (flag)

{

switch(MenuMain())

{

case 0: Run(&a); system("pause"); break;

case 1: Config(&a); break;

case 2: flag = false; break;

}

//  system("pause");

}

return 0;

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7. Блок – схема

 


Информация о работе Моделирование работы конечного распознавателя для последовательностей путей поиска файлов, разделенных запятой, и заканчивающихся точко