Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
modul:archiv:m320:learningunits:lu05:aufgaben:lu3-aufgabe_8 [2026/08/30 14:06] – ↷ Seite von modul:m320:learningunits:lu05:aufgaben:lu3-aufgabe_8 nach modul:archiv:m320:learningunits:lu05:aufgaben:lu3-aufgabe_8 verschoben msutermodul:archiv:m320:learningunits:lu05:aufgaben:lu3-aufgabe_8 [2026/08/30 14:09] (aktuell) – ↷ Links angepasst, weil Seiten im Wiki verschoben wurden 74.7.243.195
Zeile 16: Zeile 16:
  
 ^ Version für IMS  ^  Version für API  ^ ^ Version für IMS  ^  Version für API  ^
-| {{:modul:m320:learningunits:lu05:aufgaben:lu03-aufg8-schulverwaltung-1.png?600|}}  | {{:modul:m320:learningunits:lu05:aufgaben:lu05-aufg3-schulverwaltung-1b.png?600|}}  |+| {{modul:archiv:m320:learningunits:lu05:aufgaben:lu03-aufg8-schulverwaltung-1.png?600|}}  | {{modul:archiv:m320:learningunits:lu05:aufgaben:lu05-aufg3-schulverwaltung-1b.png?600|}}  |
  
 Dabei nutzen Sie Ihr Wissen zu ein- und zweiseitiger Beziehung sowie den 4 gezeigten Fällen der Referenzzuweisung. Ebenso verwenden Sie Mehrfachbeziehungen. Dabei nutzen Sie Ihr Wissen zu ein- und zweiseitiger Beziehung sowie den 4 gezeigten Fällen der Referenzzuweisung. Ebenso verwenden Sie Mehrfachbeziehungen.
Zeile 26: Zeile 26:
    - Implementieren Sie die Klasse ''Subject''. \\ //Hinweise: \\ · Beachten Sie, dass gemäss Klassendiagramm max. 4 Noten möglich sind. Das müssen Sie beim Zufügen von Noten (''Grade''-Objekte) umsetzen. \\ · Die untere Grenze von 2 Noten müssen Sie (noch) nicht beachten. \\ · Die Schreibweise ''grades[] : Grade'' im Klassendiagramm deutet auf die Nutzung eines Array hin. \\ · Bei den beiden get-Methoden //(IMS)// bzw. take-Methoden //(API)// muss sichergestellt sein, dass ein ungültiger Index zu keinem Laufzeitfehler führt. Für die Note (''get_value(idx)'' bzw. ''take_value(idx)'') soll im Fehlerfall der Wert 0 zurückgegeben werden. Beim Datum (''get_date(idx)'' bzw. ''take_date(idx)'') wird ''None'' geliefert. \\ · Die Methode ''get_average'' liefert bei fehlendem Noteneintrag (size = 0) den Wert 0 zurück. Dieser Test ist zwingend nötig, da sonst eine Division durch 0 zu einem Laufzeitfehler führt.// \\ \\    - Implementieren Sie die Klasse ''Subject''. \\ //Hinweise: \\ · Beachten Sie, dass gemäss Klassendiagramm max. 4 Noten möglich sind. Das müssen Sie beim Zufügen von Noten (''Grade''-Objekte) umsetzen. \\ · Die untere Grenze von 2 Noten müssen Sie (noch) nicht beachten. \\ · Die Schreibweise ''grades[] : Grade'' im Klassendiagramm deutet auf die Nutzung eines Array hin. \\ · Bei den beiden get-Methoden //(IMS)// bzw. take-Methoden //(API)// muss sichergestellt sein, dass ein ungültiger Index zu keinem Laufzeitfehler führt. Für die Note (''get_value(idx)'' bzw. ''take_value(idx)'') soll im Fehlerfall der Wert 0 zurückgegeben werden. Beim Datum (''get_date(idx)'' bzw. ''take_date(idx)'') wird ''None'' geliefert. \\ · Die Methode ''get_average'' liefert bei fehlendem Noteneintrag (size = 0) den Wert 0 zurück. Dieser Test ist zwingend nötig, da sonst eine Division durch 0 zu einem Laufzeitfehler führt.// \\ \\
    - Testen Sie die Klasse ''Subject''. (test_subject.py) \\ \\    - Testen Sie die Klasse ''Subject''. (test_subject.py) \\ \\
-   - Implementieren Sie die Klasse ''ClassReport''. \\ // Hinweise: \\ · Lassen Sie die Methoden ''set_student'' und ''get_student'' vorerst weg. Um diese Methode zu testen, benötigen Sie zuerst ein Student-Objekt. Die entsprechende Klasse ''Student'' existiert aber noch nicht.\\ · Beachten Sie, dass gemäss Klassendiagramm max. 3 Fächer möglich sind. Das müssen Sie beim Zufügen umsetzen \\ · Stellen Sie immer sicher, dass geprüft wird, ob Subject-Objekte verfügbar sind. Ansonsten geben Sie den Wert ''None'' zurück. \\ · Die Methode ''to_string()'' liefert ein Zeugnis mit allen Fächern und dem entsprechenden Notenschnitt. Eine mögliche Ausgabe kann wie folgt aussehen: \\ {{:modul:m320:learningunits:lu05:aufgaben:lu03_5_-aufg3_biblio-10.png?150|}} \\ · Die Methode ''print_details()'' liefert alle Fächern mit den einzelnen Noten. Eine mögliche Ausgabe kann wie folgt aussehen: \\ {{:modul:m320:learningunits:lu05:aufgaben:lu03_5_-aufg3_biblio-11.png?225|}} // \\ \\+   - Implementieren Sie die Klasse ''ClassReport''. \\ // Hinweise: \\ · Lassen Sie die Methoden ''set_student'' und ''get_student'' vorerst weg. Um diese Methode zu testen, benötigen Sie zuerst ein Student-Objekt. Die entsprechende Klasse ''Student'' existiert aber noch nicht.\\ · Beachten Sie, dass gemäss Klassendiagramm max. 3 Fächer möglich sind. Das müssen Sie beim Zufügen umsetzen \\ · Stellen Sie immer sicher, dass geprüft wird, ob Subject-Objekte verfügbar sind. Ansonsten geben Sie den Wert ''None'' zurück. \\ · Die Methode ''to_string()'' liefert ein Zeugnis mit allen Fächern und dem entsprechenden Notenschnitt. Eine mögliche Ausgabe kann wie folgt aussehen: \\ {{modul:archiv:m320:learningunits:lu05:aufgaben:lu03_5_-aufg3_biblio-10.png?150|}} \\ · Die Methode ''print_details()'' liefert alle Fächern mit den einzelnen Noten. Eine mögliche Ausgabe kann wie folgt aussehen: \\ {{modul:archiv:m320:learningunits:lu05:aufgaben:lu03_5_-aufg3_biblio-11.png?225|}} // \\ \\
    - Testen Sie die Klasse ''ClassReport''. (test_classreport.py) \\ \\    - Testen Sie die Klasse ''ClassReport''. (test_classreport.py) \\ \\
    - Erstellen Sie eine ''main''-Methode in ''classreport.py'' und geben Sie die ''to_string''-Methode sowie ''print_details'' auf dem Bildschirm aus. \\ Die Ausgabe soll den oben gezeigten Screens entsprechen. \\ Überlegen Sie sich, welche Objekte Sie benötigen und in welcher Reihenfolge diese zu erzeugen sind, damit die Ausagbe auf den Bildschirm erfolgreich ist. \\ \\    - Erstellen Sie eine ''main''-Methode in ''classreport.py'' und geben Sie die ''to_string''-Methode sowie ''print_details'' auf dem Bildschirm aus. \\ Die Ausgabe soll den oben gezeigten Screens entsprechen. \\ Überlegen Sie sich, welche Objekte Sie benötigen und in welcher Reihenfolge diese zu erzeugen sind, damit die Ausagbe auf den Bildschirm erfolgreich ist. \\ \\
Zeile 42: Zeile 42:
    * für einen Studenten alle Einzelnoten. Sie können hier frei wählen, für wen die Noten ausgegeben werden.    * für einen Studenten alle Einzelnoten. Sie können hier frei wählen, für wen die Noten ausgegeben werden.
 Die Ausgabe soll in etwa wie folgt aussehen:\\ Die Ausgabe soll in etwa wie folgt aussehen:\\
-{{:modul:m320:learningunits:lu05:aufgaben:lu03-aufg8-schulverwaltung-2.png?200|}}+{{modul:archiv:m320:learningunits:lu05:aufgaben:lu03-aufg8-schulverwaltung-2.png?200|}}
  
 ===Dauer=== ===Dauer===
  • modul/archiv/m320/learningunits/lu05/aufgaben/lu3-aufgabe_8.txt
  • Zuletzt geändert: 2026/08/30 14:09
  • von 74.7.243.195