faecher:informatik:oberstufe:modellierung:fingeruebungen:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

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:18] – [A2 - Notenverwaltung] Frank Schiebelfaecher:informatik:oberstufe:modellierung:fingeruebungen:start [12.03.2024 10:26] – [03 - Brüche] Frank Schiebel
Zeile 1: Zeile 1:
 +~~NOTOC~~
 +
 ====== Fingerübungen OOP ====== ====== Fingerübungen OOP ======
  
Zeile 37: Zeile 39:
 ==== 03 - Brüche ==== ==== 03 - Brüche ====
  
-Das Projekt  enthält eine Klasse namens Bruch, die+Das Projekt [[https://codeberg.org/qg-info-unterricht/bluej-brueche|bluej-brueche]] enthält eine Klasse namens ''Bruch'', die
 einen Bruch repräsentiert. Sie bietet die folgenden öffentlichen Methoden an: einen Bruch repräsentiert. Sie bietet die folgenden öffentlichen Methoden an:
  
Zeile 51: Zeile 53:
 Methodenaufruf nicht. Orientiere dich an der Methode multiplizieren, um zu Methodenaufruf nicht. Orientiere dich an der Methode multiplizieren, um zu
 sehen, wie ein neues Bruch-Objekt erzeugt und zurückgegeben wird. sehen, wie ein neues Bruch-Objekt erzeugt und zurückgegeben wird.
 +
 +Dazu kommen die (überladenen) Konstruktoren:
 +  * ''public Bruch(int zaehler, int nenner)''
 +  * ''public Bruch(int wert)'' – erzeugt einen Bruch mit dem Nenner 1.
 +
 +Der Nenner eines Bruchs muss immer positiv sein. Dafür sollte im Konstruktor gesorgt
 +werden. Der Aufruf ''new Bruch(1,2)'' sollte also den gleichen Bruch erzeugen wie
 +''new Bruch(-1,-2)''.
 +
 +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
 +</code>
 +Lassen die 100 Testfälle in der Testklasse ''BruchTester'' ausführen, um deine Lösung zu kontrollieren.
 +
 +**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 ''BruchTester2'' ausführen.
  • faecher/informatik/oberstufe/modellierung/fingeruebungen/start.txt
  • Zuletzt geändert: 12.03.2024 15:31
  • von Frank Schiebel