der_groesste_gemeinsame_teiler_ggt_-_m
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| der_groesste_gemeinsame_teiler_ggt_-_m [2024/01/13 10:29] – angelegt torsten.roehl | der_groesste_gemeinsame_teiler_ggt_-_m [2024/03/13 08:04] (aktuell) – torsten.roehl | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ====== Der größte gemeinsame Teiler (ggT) - (M) ====== | ====== Der größte gemeinsame Teiler (ggT) - (M) ====== | ||
| + | Schreiben Sie eine Klasse GGT, die eine Methode ggt hat. Dieser Methode sollen zwei ganzen Zahlen übergeben werden können. Sie gibt danach den größten gemeinsamen Teiler (ggT) zurück. | ||
| - | Schreiben Sie eine Klasse | + | Schreiben Sie auch eine Klasse |
| {{: | {{: | ||
| - | | + | |
| - | * "31.11.2010" | + | |
| + | * Der größte gemeinsame Teiler von 11 u. 7 ist 1 | ||
| + | * Der größte gemeinsame Teiler von 18 u. 12 ist 6 | ||
| - | Schreiben Sie auch eine Klasse Main, in deren main-Methode die Klasse Datum getestet wird. | ||
| - | {{: | ||
| - | Format " | ||
| {{: | {{: | ||
| - | Um das Konzept der objektorientierten Programmierung besser zu verdeutlichen haben wir das eigentliche Problem in mehrere Teilschritte | + | Verwenden Sie den Euklidischen Algorithmus |
| - | Auf eine Ausnahmebehandlung (Exception Handling) wurde hier bewusst verzichtet, d.h. wir gehen davon aus | + | |
| - | das nur gültige Datumsangaben übergeben werden. | + | |
| - | <Code Java linenums: | + | |
| - | + | Beim euklidischen Algorithmus wird in aufeinanderfolgenden Schritten jeweils eine Division mit Rest durchgeführt, | |
| - | private String getDay(String str){ | + | |
| - | // todo | + | {{: |
| - | | + | |
| - | } | + | <Code > |
| - | private String getMonth(String str){ | + | 1071 : 1029 = |
| - | // todo | + | 1029 : 42 = 24 Rest 21 |
| - | | + | 42 : 21 = |
| - | } | + | |
| - | private String getYear(String str){ | + | |
| - | // todo | + | |
| - | | + | |
| - | } | + | |
| - | public String monthAsString(String strDatum) { | + | |
| - | + | ||
| - | + | ||
| - | | + | |
| - | String m = getMonth(strDatum); | + | |
| - | String y = getYear(strDatum); | + | |
| - | | + | |
| - | } | + | |
| - | + | ||
| - | } | + | |
| </ | </ | ||
| + | Somit ist 21 der größte gemeinsame Teiler von 1071 und 1029. | ||
| + | |||
| + | Hier wird der euklidische Algorithmus mit Pseudocode beschrieben, | ||
| + | [[https:// | ||
| + | |||
| + | |||
| + | < | ||
| + | EUCLID_OLD(a, | ||
| + | |||
| + | wenn a = 0 | ||
| + | dann | ||
| + | sonst solange b ≠ 0 | ||
| + | wenn a > b | ||
| + | dann a = a - b | ||
| + | sonst b = b - a | ||
| + | return a | ||
| - | Die Hauptklasse um die Klasse Datum zu testen. | ||
| - | <Code Java linenums: | ||
| - | |||
| - | | ||
| - | Datum datum = new Datum(); | ||
| - | String text = datum.monthAsString(" | ||
| - | System.out.println(text); | ||
| - | } | ||
| - | |||
| - | } | ||
| </ | </ | ||
| Zeile 67: | Zeile 56: | ||
| Wenn du wirklich überhaupt keine Idee hast ...:-?\\ | Wenn du wirklich überhaupt keine Idee hast ...:-?\\ | ||
| - | Lösungsvorschlag [[MonthAsString-Solution]] | + | Lösungsvorschlag [[ggT-Solution]] |
der_groesste_gemeinsame_teiler_ggt_-_m.1705141792.txt.gz · Zuletzt geändert: von torsten.roehl
