DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Кафедра прикладної математики

Інформація про роботу

Рік:
2015
Тип роботи:
Лабораторна робота
Предмет:
Системне програмування
Група:
ПМ-31

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти та науки України Національний університет «Львівська політехніка» кафедра прикладної математики ЛАБОРАТОРНА РОБОТА №1 з системного програмування на тему: «Скінченні автомати» Мета: побудувати скінченний детермінований автомат за заданим варіантом, продумати організацію програми скінченного автомата. Написати програму яка отримуэ на вході – символьний ланцюжок (у вхідному файлі або з клавіатури), на виході – відповідь, чи даний ланцюжок розпізнається як правильний (у вихідному файлі або екрані). Варіант №10. Завдання: Побудувати скінчений автомат для розпізнавання послідовності імен простих та індексованих змінних , що відокремлюються одне від одного комами. Ім'я простої змінної складається з довільної кількості букв, індексованої змінної − з довільної кількості букв, дужки [ , цілого числа без знаку , дужки ] . Автомат: a..z 0 1..9 , [ ] з. с.  S A F F F F F -  A A F F S B F +  B F F C F F F -  C F C C F F D -  D F F F S F F +  F F F F F F F -   Код програми: #include <iostream.h> #include <string.h> int M[6][6] = {{1, 5, 5, 5, 5, 5}, {1, 5, 5, 0, 2, 5}, {5, 5, 3, 5, 5, 5}, {5, 3, 3, 5, 5, 4}, {5, 5, 5, 0, 5, 5}, {5, 5, 5, 5, 5, 5}}; void main() { int state = 0; int y; char S[255], c; cout<<"Vevdit' stri4ky sumvoliv - poslidovnosti leksem ta indeksovanuh leksem," <<"jaki rozdileni komamu."<<endl; cin>>S; for(unsigned int i = 0; i < strlen(S); i++) { c = S[i]; if ((c >= 'a') && (c <= 'z')) y = 0; else if (c == '0') y = 1; else if ((c >= '1') && (c <= '9')) y = 2; else if (c == '[') y = 4; else if (c == ']') y = 5; else if (c == ',') y = 3; else state = 5; state = M[state][y]; } cout<<state<<endl; if (state == 5) cout<<"False"; if (state == 1 || state == 4) cout<<"True"; } Контрольний приклад: Vevdit' stri4ky sumvoliv - poslidovnosti leksem ta indeksovanuh leksem,jaki rozd ileni komamu. sdfw[234],sdfwe[433],c[23032] True Висновок: На цій лабораторній я ознайомився з поняттям скінченного автомату, та зрозумів як за допомогою цієї простої структури можна аналізувати ланцюжки символів на предмет належності граматиці що описує даний автомат. Я написав програму, що аналізує вхідну стрічку та відповідно виводить True – якщо ця стрічка належить граматиці, і – False – якщо ні.
Антиботан аватар за замовчуванням

2015

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!