Sprawozdanie nr 10
Prow. A. Sterna
Zad. 1: Zbudować automat niedeterministyczny akceptujący słowa zadane wyrażeniem 0*(1+2)*3*
Graf przejść:
Analiza wyrażenia:
Automat nie powinien akceptować słów zaczynających się na „1” lub „2” , w przypadku, gdy później ma pojawić się „0”, jak również nie powinien akceptować przypadków, gdzie pojawi się `3' przed `1' lub `2', więc przykładowo, automat akceptuje wyrażenia takie jak:
- 0…01...12…23…3
- 0…02…21…13…3
- 0…01…13…3
- 0…01…12…2
- 0…02…21…1
- 0…02…23…3
- 0…01…1
- 0…0
- 1…12…2
- 2…21…1
- 2…2
- 1…1
- 1…12…23…3
- 2…21…13…3
- 1…13…3
- 2…23…3
Dodatkowo należy uwzględnić przycisk `reset' powodujący zresetowanie przerzutników, przycisk `start' oznaczający początek słowa, przycisk `read' umożliwiający wczytanie słowa. Akceptacja automatu na słowo sygnalizowana jest zapaloną lampką.
Przekształcenie schematu z instrukcji pod zadane wyrażenie:
Wnioski:
Układ nie został podłączony zgodnie ze schematem. Wynikła pomyłka odnośnie interpretacji znaczenia nawiasu (1+2)*. Automat nie wykonywał swojego zadania i nie wiadomo do końca, co robił i jak robił, więc pominięto próbę jego odtworzenia w sprawozdaniu.