Theoretische und technische Informatik - ganz praktisch
Herzlich willkommen auf der Question/Answer-Plattform zu Grundlagen der Informatik II. Wir wünschen Ihnen viel Spaß beim Lernen und Diskutieren!
Loggen Sie sich mit Ihrem KIT-Account (u...) ein, um loszulegen!
Beachten Sie auch diese Informationen zum Schnelleinstieg.
(Nicht-KIT-Studierende beachten bitte diese Informationen.)

Schöne Ferien!
 

 

Alternativer Lösungsvorschlag

0 Punkte
44 Aufrufe

Guten Tag,

Könnte diese Lösung auch passen? Oder gibts hier Probleme?

Vielen Dank schonmal!

 

Gefragt 16, Jan 2017 in HU-3-2 von ubetd ubetd Tutor(in) (100,790 Punkte)  

Eine Antwort

0 Punkte

Hallo,

ab einer gewissen Größe und mit so vielen Zuständen wird es unübersichtlich. Deshalb habe ich deinen Automaten in den XWizard eingegeben und geschaut ob es irgendwo zu einem Fehler kommt. Ich habe das Testwort: 001S001 verwendet.
Zu Beginn funktioniert der Automat, jedoch hängt er sich dann auf, weil er in s0 ein K einlesen will, du dafür aber keinen Übergang vorgesehen hast.

Demnach ist der Automat nicht korrekt.
Ich kann dir hier den XWizard als Tool empfehlen, weil man hier schnell seine Lösung validieren kann und auch Sachen ausprobieren kann.

 

Der entsprechende Quellcode ist hier:

turing:

(s0,0)=>(snull,K,R);

(s0,1)=>(seins,K,R);

(s0,S)=>(s1,S,R);

(snull,0)=>(snull,0,R);

(snull,1)=>(snull,1,R);

(snull,S)=>(sk0,S,R);

(sk0,0)=>(s2,K,L);

(sk0,K)=>(sk0,K,R);

(s2,0)=>(s2,0,L);

(s2,1)=>(s2,1,L);

(s2,S)=>(s2,S,L);

(s2,K)=>(s0,K,R);

(seins,0)=>(seins,1,R);

(seins,1)=>(seins,1,R);

(seins,S)=>(sk1,1,R);

(sk1,1)=>(s2,K,L)

(sk1,K)=>(sk1,K,R)

(s1,*)=>(se,*,N)

(s1,K)=>(s1,K,R)

--declarations--

s0=s0;

F=se;

blank=*;

inputs=001S001;

runStepsScript=120;

shortTrace=false

--declarations-end--
 

 

Grüße, Sören

Beantwortet 16, Jan 2017 von updrr updrr Eins-Komma-Null-Anwärter(in) (3,790 Punkte)  
Danke, mit einem zusätzlichen Zustand läuft es jetzt :)
...