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:35] torsten.roehlder_groesste_gemeinsame_teiler_ggt_-_m [2024/03/13 08:04] (aktuell) torsten.roehl
Zeile 14: Zeile 14:
  
  
-{{:inf:hinweis.gif?|}}+{{:inf:tipp.gif?|}}
  
-Format "dd.mm.yyyy"  bedeutetdass 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'.+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.
  
-{{: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). +Beim euklidischen Algorithmus wird in aufeinanderfolgenden Schritten jeweils eine Division mit Rest durchgeführtwobei der Rest im nächsten Schritt zum neuen Divisor wirdDer Divisor, bei dem sich der Rest 0 ergibt, ist der größte gemeinsame Teiler der Ausgangszahlen.
-Auf eine Ausnahmebehandlung (Exception Handling) wurde hier bewusst verzichtetd.h. wir gehen davon aus +
-das nur gültige Datumsangaben übergeben werden.+
  
-<Code Java linenums: >public class Datum { +{{:inf:sample.gif?|}} 
-  + 
-private String getDay(String str){ +<Code > 
- // todo +1071 : 1029   Rest 42 
- return ""; +1029 : 42   24  Rest 21 
- } +42   : 21   =  2  Rest 0
-private String getMonth(String str){ +
- // todo +
- return ""; +
- +
-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 71: 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.1705142139.txt.gz · Zuletzt geändert: 2024/01/13 10:35 von torsten.roehl