Studium ich suche einen Informatiker der mir bei einer hausübung ein wenig unter die arme greifen kann

torwart1990

Well-known member
ID: 327391
L
15 Oktober 2008
2.162
61
Hallo,
ich studiere an der uni hannover. und habe jetzt als nebenfach informatik was mir jede menge probleme bereitet.
wir müssen da im moment mal wieder eine hausübung bearbeiten. Leider habe ich davon nicht wirklich viel ahnung.

Diess mal geht es um diese aufgaben:
https://www.ikg.uni-hannover.de/geo..._fuer_Ingenieure/pdf_files/Ueb-II-06-06-a.pdf

davon brauch ich noch aufgabe 27, 28 a, 28 b

kann mir da irgendwer von euch weiter helfen?
ich habe echt keine ahnung davon

mfg
tw1990
 
Aufgabe 27

Der endliche Automat hat also q1 als Startzustand und wegen der doppelten Einrahmung q2 als Finalzustand. Erkannt werden alle Zeichenketten, die also von q1 nach q2 führen.

Steht in einer Kante eine Menge von Zeichen, dann ist es von Haus aus eine Alternative im Sinne der EBNF.

Z.B. von q1 bis q2 geht direkt eine Kante mit 0, 1, also mindestens schon mal:

<<Wort>> ::= '0' | '1' | ... (weitere Wege)

Eine Schleife, ob direkt als Kante oder über weitere Zustände gibt Anlass für Wiederholungen. Hinzunahme von Kanten ist einfach Nebeneinanderschreiben der EBNF-Ausdrücke.

Z.B. Wege von q1 bis q2 über Schleife in q2:

<<Wort>> ::= ( '0' | '1' ) { '0' | '1' } | ... (weitere Wege)

Jetzt noch die Wege von q1 bis q2 über q3:

<<Wort>> ::= ( '0' | '1' ) { '0' | '1' } { '.' ( '0' | '1' ) }

Falls es die Wiederholungsklammer mit { ... } nur als Varianten { ... }* und { ... }+ gibt, dann ergibt sich:

<<Wort>> ::= { '0' | '1' }+ { '.' ( '0' | '1' ) }*
 
hallo B2T,

danke das du dich meinem "Problemchen" angekommen hast.
ich werd mich da jetzt mal durchkämpfen ob das für mich als eigentlichen laien verständlich ist.


danke vielmals.
tw1990
 
Keine Ursache. ;) Weiter geht's:

Aufgabe 28a

Zunächst wird vorerst der Operator '^' ins Spiel gebracht:

<<...>> ::= <<Potenzglied>> { '^' <<Potenzglied>> }

Anstelle von

<<Faktor>> ::= ... | '(' <<Ausdruck>> ')' | ...

musst Du dann wegen der Prioritätsneuordnung aufspalten wie folgt:

<<Faktor>> ::= <<Potenzglied>> { '^' <<Potenzglied>> }
<<Potenzglied>> ::= ... | '(' <<Ausdruck>> ')' | ...

EDIT: Für Aufgabe 28b habe ich momentan gerade leider keine Zeit :(, ich schaue eventuell später vorbei ...
 
Zuletzt bearbeitet:
Ne, darfst du nicht. Bitte hier posten, damit andere, die hier mitlesen, dem Verlauf auch folgen können. Danke.

Zur Aufgabe 28b:
Guck mal in die Wikipedia: https://de.wikipedia.org/wiki/Ableitungsbaum
Im Beispiel findest du einen Ableitungsbaum.

Konkret muss du quasi für die Eingabe die Regeln der Grammatik finden, um den Term aufzubauen. Wenn du die Abfolge der Regeln hast, malt du diese in einen Baum.

Die Frage nach der Eindeutigkeit beantwortet sich, indem du dir überlegst, ob du den Term nur durch eine Abfolge von Regeln oder durch mehrere abbilden kannst.
Die Lösung zu verraten wär an dieser Stelle langweilig. Du kriegst das sicher selber raus, wenn du das mit dem Baum kapiert und gelöst hast.
 
Muss noch etwas nachtragen:
Aufgabe 28a
(...)
<<Faktor>> ::= <<Potenzglied>> { '^' <<Potenzglied>> }
Jein. Natürlich ist in der Aufgabe zwar an die Priorität des Potenz-Operators gedacht worden, aber nicht daran, dass dieser rechtsassoziativ ist. Also darf sich der Aufgabensteller nicht wundern, wenn er solche Lösungen bekommt, auch wenn er allgemeines mathematisches Verständnis voraussetzen könnte.

Was ich meine ist:

a+b+c = (a+b)+c und a*b*c = (a*b)*c sind ohne Probleme linksassoziativ auffassbar.

Da ^ aber nicht assoziativ ist, weil (a^b)^c != a^(b^c) im allgemeinen, wird wegen (a^b)^c = a^(b*c) der Potenz-Operator gewöhnlich als rechtsassoziativ aufgefasst.

Also a^b^c = a^(b^c).

Sobald Du die Ableitungsbaum-Geschichte durchschaut hast, siehst Du leicht ein, dass Du daher folgendes anstelle meines bisherigen Vorschlags ansetzen musst:

<<Faktor>> ::= { <<Potenzglied>> '^' } <<Potenzglied>>

Sorry. Ich schiebe es bei mir mal auf mein Alter, dass ich das übersehen habe. :ugly: Worauf es der Aufgabensteller schieben kann, weiß ich allerdings nicht ... :ugly:
 
Zuletzt bearbeitet:
danke für die antwort. ich hoffe mal dass das so abgenickt wird wie du es mir in den ersten posts erklärt hast.

jetzt hab ich ein neues Aufgabenblatt. was eig recht lösbar ist. bis auf eine aufgabe:
Führen sie den Qicksort-Algorithmus auf das Wort "vermessungskunde" aus. Geben sie Alle Zwischenwertsortierungen an. Wählen sie das Pivot-Element das n/4. Element


also das pivotelement ist 16/4 also 4. aber dann hörts auch schon wieder auf