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!
 

 

Testwort

+1 Punkt
42 Aufrufe

Hallo,

zu Augabenteil c). Ich hab mal versucht ein Testwort zu produzieren.

z.B.: 00110101100

S=> 0SB=> 00SBB=>001SABB=>0011SAABB=> 00110SBAABB

Ich weis nicht wie ich jetzt weiter machen soll. Bzw. ob die Grammatik so korrekt ist. Weil sobald ich jetzt das S ableite wäre ich doch (nach der Grammatik) fertig mit dem Wort. Hätte aber trotzdem noch die restlichen nicht abgeileiteten Nonterminalzeichen im Wort.

also => 001101BAABB

oder kann man einfach weiter ableiten? Bzw. wo fängt man an hinten oder vorne oder ist das egal?

Viele Grüße

Gefragt 22, Okt 2014 in PUM-AC von uxcyx uxcyx Tutor(in) (104,810 Punkte)  

Eine Antwort

0 Punkte

Die Ableitung funktioniert genauso, wie Sie es vorgeschlagen haben:

S => 0SB => 00SBB => 001SABB => 0011SAABB => 00110SBAABB => 00110S0AABB => 00110S01ABB => ... => 00110S01100 => 00110101100.

Sie können sich jeden beliebigen Teilstring im bisher abgeleiteten Wort nehmen, wenn es eine Regel gibt, auf deren linken Seiter er auftritt, und ihn durch die entsprechende rechte Seite ersetzen. Dabei ist die Position im Wort völlig unerheblich.

 

Im übrigen könnten Sie das S auch vor dem letzten Schritt ableiten. S muss im Wort nicht vorkommen, damit man weiter ableiten darf - oder besser gesagt: man muss solange ableiten, bis alle Nonterminale verschwunden sind.


Viele Grüße

Lukas König

Beantwortet 22, Okt 2014 von uxcyx uxcyx Tutor(in) (104,810 Punkte)  
...