Програмски преводиоци 1/К1 2022

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу
Овај рок није решен. Помозите СИ Wики тако што ћете га решити.

Први колоквијум 2022. године одржан је 31. октобра и трајао је 90 минута. Поставка рока још увек није званично доступна са странице предмета.

1. задатак

Поставка

Дата су три детерминистичка аутомата, M, Н и П.

  1. Направити детерминистички коначни аутомат К који прихвата секвенце типа , где су све секвенце које аутомат M одбија, а и секвенце које аутомати Н и П прихватају, респективно.
  2. Од аутомата из тачке под а направити десно-линеарну граматику, а затим из ње избацити све недостижне или мртве нетерминале.
Аутомат M
0 1 Прихвата
А А Б 0
Б Б C 1
C А C 1
Аутомат Н
1 2 Прихвата
D Е 1
Е D Е 0
Ф Ф Е 1
Аутомат П
0 а Прихвата
1 1 2 1
2 1 0

Решење

2. задатак

Поставка

Аритметички израз се састоји из нула или више бројева, где је број низ цифара, са аритметичким операцијама сабирања или одузимања између њих. Уколико су терминали у датој азбуци једна цифра ("ЦИФРА"), знак за сабирање ("+") и знак за одузимање ("-") написати регуларни израз који описује дате аритметичке изразе, а затим га претворити у детерминистички коначни аутомат коришћењем метода позиција.

Решење

3. задатак

Поставка

Коначни аутомат из поставке задатка.

Написати фрагмент програмског кода који имплементира коначни аутомат са слике:

  1. експлицитном представом функције стања
  2. имплицитном представом функција стања

Решење