ggT, das den größten gemeinsamen Teiler zweier ob sie eine

Werbung
Informatik
Klasse 11
Hausaufgaben
Grundlagen der Programmierung
Diese Hausaufgaben sind bis Mittwoch - 18. März 2009 – abzugeben. (Der
handschriftliche Teil vor der Informatikstunde, der elektronische Teil bis spätestens
24.00 Uhr)
Aufgabe 1 (while-Schleife)
Mit dem euklidischen Algorithmus existiert jedoch ein effizientes Verfahren, um den
größten
gemeinsamen
Teiler
zweier
Zahlen
zu
berechnen.
Dabei
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 Rest 0
ergibt, ist der größte gemeinsame Teiler der Ausgangszahlen.
Beispiel:
1071
:
1029
=
1
Rest
42
1029
:
42
=
24
Rest
21
42
:
21
=
2
Rest
0
Also gilt: ggT(1071,1029) = 21
a) Entwerfen Sie das Struktogramm einer Methode, welche dieses Problem löst.
b) Implementieren Sie eine Funktion ggT, das den größten gemeinsamen Teiler zweier
Zahlen m und n in einer while-Schleife berechnet und ausgibt.
Aufgabe 2 (while-Schleife)
a) Implementieren Sie eine Funktion, die bei einer vorgegebenen Zahl entscheidet,
ob sie eine Primzahl ist. (Primzahlen sind nur durch sich selbst und 1 teilbar)
b) Entwerfen Sie für diese Funktion ein Struktogramm.
Aufgabe 3 (while-Schleife)
Implementieren Sie eine Methode summeBis(int n), die alle Zahlen bis zu n addiert und
das Ergebnis auf der Konsole ( mit System.out.println();) ausgibt.
Herunterladen
Explore flashcards