DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Лабораторна робота № 1 з системного програмування на тему «Скінченні автомати»

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

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

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

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

Про що ця робота

У роботі досліджено побудову скінченного детермінованого автомата для розпізнавання послідовності змінних. Розроблено програму на мові C++ для перевірки належності вхідного ланцюжка заданій граматиці.

У роботі розглядаються

  • Скінченні автомати
  • Системне програмування
  • Лексичний аналіз
  • Граматики та мови
  • Програмування на C++

Зміст і розділи

  1. Мета роботи
  2. Завдання
  3. Автомат
  4. Код програми
  5. Контрольний приклад
  6. Висновок
Для кого:Студенти технічних спеціальностей вищих навчальних закладів, які вивчають дисципліну системне програмування.
Викладачі:Викладач кафедри прикладної математики

Ключові поняття

скіненний автоматдетермінований автоматсистемне програмуваннялексемаланцюжок символівграматикастанматриця переходівпроста зміннаіндексована змінна

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

Міністерство освіти та науки України Національний університет «Львівська політехніка» кафедра прикладної математики ЛАБОРАТОРНА РОБОТА №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 – якщо ні.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

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

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

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

Admin

26.02.2023 12:38

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