Programmiermethodik Übung 6 Methoden verstehen und entwerfen
Musterlösung HA
Musterlösung HA 4.6 Die Zugriffsmethoden der Assoziationen sind aus mehreren Gründen komplizierter: –... HashSets bei zu n-Assoziationen werden erst dann angelegt, wenn sie ein Objekt speichern sollen, dies spart Speicherplatz... –... sind Prüfungen vorhanden, die verhindern, einen null-Wert der Liste hinzuzufügen, was ja auch sinnlos wäre –... Wird nicht mit einem contains() geprüft, ob ein Element schon im Set enthalten ist, sondern mit der add()-Methode selber, was eine nochmalige Durchsuchung des Sets bei einem dem contains() eventuell folgenden add() sparen kann
Musterlösung HA 5.2
Musterlösung HA5.5 Ja, es gibt mehrere Wege/Lösungen –Zweimal durch den selben Raum gehen
Neuen Algorithmus verstehen Quellcode
r1 r2 r3 r4 r5 r8 r6 r10 r9 r12 r11 r13 r7 Neuen Algorithmus verstehen Was tut der Algorithmus mit diesen Beispieldaten?
Neuen Algorithmus verstehen Was tut der Algorithmus mit diesen Beispieldaten?
Neuen Algorithmus verstehen Was tut der Algorithmus mit diesen Beispieldaten?
Neuen Algorithmus verstehen Objekte Quellcode 10 kosten = geschlossen 10 start algorithmMark=0 r2 queue r mark= 0 t newMark= 10 neighbor neighbor // liefert Raum mit dem niedrigsten algorithmMark // und entfernt ihn aus der Schlange algorithmMark=10 r5
Praxisteil – Aufgabe 1 Vollzieht in Gruppendiskussionen den Ablauf des Algorithmus´ anhand der Objektstruktur nach Leitet eine allgemeine Verhaltensbeschreibung ab Wozu könnte der Algorithmus dienen? Wie könnte man das Attribut algorithmMark besser nennen? Achtung: Wichtig für die Hausaufgabe – Bewahrt die Zwischenergebnisse nach dem zweiten Schleifendurchlauf auf Präsentation der Ergebnisse
Praxisteil – Aufgabe 2 Öffne den Eclipse Workspace zur Übung 6 Implementiere die Methode model.Person.laufe(List weg) –Die Person soll die Räume wie in der Liste angegeben durchlaufen und an jeder Tür die entspechenden Kosten bezahlen Führe den Test operations.Exercise6.testLauf() aus – er sollte erfolgreich sein –Solange der Test nicht erfolgreich ist, führe einen Zetteltest durch oder Steppe im Debugger, um herauszufinden warum
Hausaufgabe Auf der Seite der Veranstaltung im Netz –Zwei Schleifendurchläufe des Zetteltest –Methode Tuer.sprengen()