Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.
7.5
hoi , 7.5 weiss ich etz garnet so recht was ich da tun soll , hätte da jemand paar tipps ?
a) sollte klar sein, Axiom angeben wie aus der Vorlesung bekannt, also in der Form
[m] operation: OperandenTyp1 x OperandenTyp2 [ x … ] → RueckgabeTyp[/m]
b) Tipp: Induktion über die Größe des Wörterbuches. Schreibe [m]d_n[/m] für ein Wörterbuch der Größe n und verwende die Axiome aus a). Es genügt eine textuelle Beschreibung, was mit den Operanden beim Induktionsschritt passieren kann, wenn sie präzise ist.
c) siehe a)
d) dito
e) Strukturdiagramm wie aus der Vorlesung bekannt zeichnen (Operationen werden zu kleinen Kreisen, Typen zu Ellipsen mit Bezeichner darin, Operanden gehen als Linien zu den Operationen hin, Rückgabetypen als Pfeil von diesen weg zu den Typen hin)
HTH.
“Strukturdiagramme” heißen in der Vorlesung “Signaturdiagramme” um der Verwirrung heir gelich vorzugeugen
vielen dank yogan !
das is doch eigentlich ne Signatur und kein Axiom…
Noch was zur Teilaufgabe d):
Ein Kollege (Der (noch) nicht im Forum angemeldet ist) hat dem Hassandor ne Mail geschrieben und er hat gemeint das “überdecken” ist quasi zu ignorieren, Beispiel:
w1 ={ (dog,hund),(tree,baum) }
w2 ={ (house,haus), (child, kind), (tree,baum) }
=> concat(w1,w2) = { (dog,hund),(tree,baum), (house,haus), (child, kind) , (tree,baum)}
Gruß mka128
hm mka,
bei deinem beispiel wird doch das wortpaar (tree, baum) aus w1 von dem aus w2 überdeckt, es wird halt nur nicht überschrieben/gelöscht. denk ma hassandor wollte nur die reihenfolge der 2 wörterbücher nach dem zusammenfügen angeben…
- tobi
jo das kommt halt darauf an wie man überdecken erstmal intuitiv interpretiert
Argh. Da hast du natürlich vollkommen recht.
Ein Axiom sollte irgendwie so aussehen:
[m]operation(konstruktor(…), operand2) = … für Bedingung(operand2[, …])[/m]
wobei alle möglichen Fälle für die Operanden (direkt oder indirekt) abgedeckt sein müssen.
Also dann jetzt nur noch mal um auf Nummer sicher zu gehen!!!
Die Axiome bei der 7.5a sollten zum Beispiel diese Form haben: Axiom: delete(enter(Ew, Dw, create)Ew) = create , sprich leeres Wörterbuch. Richtig?!
Zweitens meint der Mark bei der 7.5d mit dem überdecken, dass beim Zusammenfügen 2er Wörterbücher alle doppelt vorkommenden Einträge gelöscht werden sollen, oder wie soll man das auffassen?
Und bitte keine Antworten,wie steht eh schon alles darüber!!
Danke!!

Die Axiome bei der 7.5a sollten zum Beispiel diese Form haben: Axiom: delete(enter(Ew, Dw, create)Ew) = create , sprich leeres Wörterbuch. Richtig?!
Richtig.

Zweitens meint der Mark bei der 7.5d mit dem überdecken, dass beim Zusammenfügen 2er Wörterbücher alle doppelt vorkommenden Einträge gelöscht werden sollen, oder wie soll man das auffassen?
Also ich habe das so verstanden, dass das zweite Wörterbuch so eingefügt wird, dass dessen Einträge vor denen des zu verändernden landen, und somit bei einer Suchoperation bei Mehrfacheinträgen die des zweiten Wörterbuchs zurückgeliefert werden, und damit die anderen “überdecken”. Vielleicht kann der Marc das ja noch mal absegnen - oder mir klar machen, dass ich da voll daneben liege.
ist so wies yogan sagt
yogan bekommt meinen Segen
Steht doch eh schon alles drüber!
du hast ein “doch” zu viel