Benutzer-Werkzeuge

Webseiten-Werkzeuge


der_groesste_gemeinsame_teiler_ggt_-_m

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
der_groesste_gemeinsame_teiler_ggt_-_m [2024/01/13 10:34] torsten.roehlder_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 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 auch eine Klasse Main, in deren main-Methode, die Klasse GGT getestet wird.
  
 {{:inf:sample.gif?|}} {{:inf:sample.gif?|}}
-  "01.04.2010"  geht über in 1. April 2010  <color #c3c3c3>(hier wurde die führende Null entfernt)</color> + 
-  * "31.11.2010"  geht über in 31November 2010+  Der größte gemeinsame Teiler von 12 u3 ist 3 
 +  * Der größte gemeinsame Teiler von 11 u7 ist 1 
 +  * Der größte gemeinsame Teiler von 18 u12 ist 6
  
  
-Schreiben Sie auch eine Klasse Main, in deren main-Methode die Klasse Datum getestet wird. 
  
-{{:inf:hinweis.gif?|}} 
  
-Format "dd.mm.yyyy"  bedeutet, dass die ersten 2 Stellen gefolgt von einem Punkt. für den Tag belegt sind.  Die nächsten 2 Stellen gefolgt von einem Punkt sind durch den Monat belegt. Die letzen 4 Ziffern legen das Jahr fest. Hier steht **d**  für 'day', **m** steht für 'month' und **y** für 'year'. 
  
 {{:inf:tipp.gif?|}} {{:inf:tipp.gif?|}}
  
-Um das Konzept der objektorientierten Programmierung besser zu verdeutlichen haben wir  das eigentliche Problem in mehrere Teilschritte  zergliedert. Mehrere Teilschritte entsprechen  hier also mehreren Methoden (Funktionen). +Verwenden Sie den Euklidischen Algorithmus ([[https://de.wikipedia.org/wiki/Gr%C3%B6%C3%9Fter_gemeinsamer_Teiler|siehe Wikipedia]]), um den größten gemeinsamen Teiler zu ermitteln.
-Auf eine Ausnahmebehandlung (Exception Handlingwurde hier bewusst verzichtetd.h. wir gehen davon aus +
-das nur gültige Datumsangaben übergeben werden.+
  
-<Code Java linenums: >public class Datum { + 
-  +Beim euklidischen Algorithmus wird in aufeinanderfolgenden Schritten jeweils eine Division mit Rest durchgeführt, wobei der Rest im nächsten Schritt zum neuen Divisor wird. Der Divisor, bei dem sich der Rest 0 ergibt, ist der größte gemeinsame Teiler der Ausgangszahlen. 
-private String getDay(String str){ + 
- // todo +{{:inf:sample.gif?|}
- return ""; + 
- } +<Code > 
-private String getMonth(String str){ +1071 : 1029   Rest 42 
- // todo +1029 : 42   24  Rest 21 
- return ""; +42   : 21   =  2  Rest 0
- } +
-private String getYear(String str){ +
- // todo +
- return ""; +
- +
-public String monthAsString(String strDatum) { +
-         +
-  +
- String d getDay(strDatum); +
- String m getMonth(strDatum); +
- String y getYear(strDatum); +
- return  d+"." + m + y; +
- } +
-  +
-}+
 </Code> </Code>
 +Somit ist 21 der größte gemeinsame Teiler von 1071 und 1029.
 +
 +Hier wird der euklidische Algorithmus mit Pseudocode beschrieben, diesen Pseudocode haben wir für die  Lösung verwendet.
 +[[https://de.wikipedia.org/wiki/Euklidischer_Algorithmus]]
 +
 +
 +<Code   >
 +EUCLID_OLD(a,b)
 +
 +wenn   a = 0
 +dann   return b
 +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: >public class Main { 
-  
- public static void main(String[] args) { 
-  Datum datum = new Datum(); 
-  String text = datum.monthAsString("01.02.2010"); 
-  System.out.println(text); 
-  } 
-  
-} 
 </Code> </Code>
  
Zeile 66: 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.1705142079.txt.gz · Zuletzt geändert: 2024/01/13 10:34 von torsten.roehl