Sprawozdanie nr 10
Prow. A. Sterna
Zad. 1: Zbudować automat niedeterministyczny akceptujący słowa zadane wyrażeniem 0*(1+2)*3*
1. Graf przejść:
2. 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ą.
3. Przekształcenie schematu z instrukcji pod zadane wyrażenie:
4. 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.
niobe666