Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung Nächste ÜberarbeitungBeide Seiten, nächste Überarbeitung | ||
faecher:informatik:oberstufe:modellierung:fingeruebungen:start [12.03.2024 10:16] – [A1- Quadratische Funktion] Frank Schiebel | faecher:informatik:oberstufe:modellierung:fingeruebungen:start [12.03.2024 10:24] – Frank Schiebel | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ~~NOTOC~~ | ||
+ | |||
====== Fingerübungen OOP ====== | ====== Fingerübungen OOP ====== | ||
Zeile 34: | Zeile 36: | ||
Klicke links auf "Tests starten", | Klicke links auf "Tests starten", | ||
+ | |||
+ | ==== 03 - Brüche ==== | ||
+ | |||
+ | Das Projekt | ||
+ | einen Bruch repräsentiert. Sie bietet die folgenden öffentlichen Methoden an: | ||
+ | |||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | Die ersten vier Methoden führen die Grundrechenarten mit dem aktuellen Bruch ('' | ||
+ | und dem übergebenen Bruch b aus. Das Ergebnis ist stets ein neues Objekt, d.h. '' | ||
+ | Methodenaufruf nicht. Orientiere dich an der Methode multiplizieren, | ||
+ | sehen, wie ein neues Bruch-Objekt erzeugt und zurückgegeben wird. | ||
+ | |||
+ | Dazu kommen die (überladenen) Konstruktoren: | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | Der Nenner eines Bruchs muss immer positiv sein. Dafür sollte im Konstruktor gesorgt | ||
+ | werden. Der Aufruf '' | ||
+ | '' | ||
+ | |||
+ | Implementiere alle Stellen, an denen derzeit noch TODO steht. | ||
+ | |||
+ | Beispiele für die Verwendung: | ||
+ | <code java> | ||
+ | Bruch a = new Bruch(1, 3); // repräsentiert die Zahl 1/3 | ||
+ | Bruch b = new Bruch(1, 4); // repräsentiert die Zahl 1/4 | ||
+ | Bruch c = a.addieren(b); | ||
+ | // c repräsentiert 1/3 + 1/4 = 7/12 | ||
+ | // a ist weiterhin 1/3, b ist weiterhin 1/4 | ||
+ | </ | ||
+ | Lassen die 100 Testfälle in der Testklasse '' | ||
+ | |||
+ | **Bonusaufgabe für Fortgeschrittene: | ||
+ | |||
+ | Sorge dafür, dass deine Brüche immer vollständig gekürzt sind. Um kürzen zu | ||
+ | können, benötigt man den größten gemeinsamen Teiler von Zähler und Nenner. Diesen | ||
+ | erhält man effizient mit dem Euklidischen Algorithmus (→ Google oder Wikipedia). Lasse | ||
+ | dann die Testfälle in der Testklasse '' |