:PI-BLUEJ: Übungen zu SchleifenWandeln Sie folgenden Quelltext in eine While-Schleife um, lösen Sie dabei die Java-Abkürzungen (z.B. n++) in einfache Ausdrücke (z.B. n=n+1) auf.
static void aufg1(){
int n, s=0;
for(n=1; n<=4; n++) System.out.print((s+=n)+" ");
}
Erstellen Sie von der While-Schleifen-Lösung ein Struktogramm! Lösung..
Welche Ausgabe(n) erzeugt die Methode? 1 3 6 10
Welche Auswirkung hat der Modifizierer static, warum ist er hier sinnvoll? Es muss kein Objekt erzeugt werden um die Methode zu verwenden.
Wandeln Sie folgenden Quelltext in eine While-Schleife um, lösen Sie dabei die Java-Abkürzungen (z.B. n++) in einfache Ausdrücke (z.B. n=n+1) auf.
static void aufg2(){
int n, s=1;
for(n=2; n<=5; System.out.print((s*=n++)+" "));
}
Erstellen Sie von der While-Schleifen-Lösung ein Struktogramm! Lösung..
Welche Ausgabe(n) erzeugt die Methode? 2 6 24 120
|
Erstellen Sie für folgende Methode ein Struktogramm! Lösung.. static void abreak(){
int[] a = new int[10];
int i=0;
do{
a[i]=(i+1)%5;
i++;
}while(i<7);
// nun die Tabelle ausfüllen
for(i=0; i<10; i+=2){
System.out.print((a[i]*2.0)+" ");
if (a[i]==0) break;
} // welche Ausgabe erzeugt die for-schleife?
}
Füllen Sie die Listen-Tabelle aus. Welche Ausgabe erzeugt das Programm? 2.0 6.0 0.0 |
![]() |
Problem: Nach der Eingabe einer Zahl soll eine Reihe von Sternen * ausgegeben werden, bzw ein Sternenmuster
3 einfache Sterne ausgeben: *** 3 Sternmuster ausgeben: * *** * *** * *** 3 Sternmuster nebeneinander ausgeben: * * * ********* |
Erstellen Sie jeweils zuerst ein Struktogramm und implementieren Sie dann die Lösung, alle Aufgaben können in einem Projekt gelöst werden.
|
Dreieck mit Kantenlaenge: 5 * ** *** **** ***** |
Problem: Ein Programm soll ein rechtwinkliges Dreieck mit der Kantenlänge n ausgeben. Erstellen Sie ein Struktogramm und implementieren Sie die Lösung. |
Für eine eingegebene Zahl n soll die Quersumme (Summe der Ziffern) berechnet und ausgegeben werden:
Beispiel 112: 1+1+2 = 4
Entwickeln Sie eine Methode Quersumme.berechne(n:GZ):GZ (Quelltext und Struktogramm)! [Quelltext] [Struktogramm]
Tipp: 112%10 = 2
Erstellen Sie eine Methode Hugo.spiegel1(s:Text) die einen eingegebenen Text spiegelt:
Eingabe: "Hugo" -> Ausgabe: "oguH"
Erstellen Sie ein Struktogramm für die Methode.
Erstellen Sie eine Methode Hugo.spiegel2(s:Text) die einen eingegebenen Text "Hugo" wie folgt ausgibt: Lösung..
H Hu Hug Hugo Hug Hu H
| Quadratzahlen |
|---|
| zahlenfeld[]:GZ {20 Einträge} |
| ausgebenQuadratzahlen(n:GZ) fuelleFeld(n:GZ) ausgebenFeld() berechneFeldSumme():GZ berechneFeldSumme2():GZ |
Eine Klasse für Quadratzahlen wird entwickelt das Diagramm des Endausbaus ist links zu sehen. Es soll kein Objekt erstellt werden müssen, daher sind die Attribute und Methoden "static" d.h. Klassen-Attribute und Klassen-Methoden.
Entwickeln Sie die Klassen-Methode ausgebenQuadratzahlen(n:GZ), die die Quadratzahlen von 1 bis n auf der Konsole ausgibt.
Ein Klassen-Attribut zahlenfeld[]:GZ kann maximal 20 Zahlen speichern. Die Methode fuelleFeld(n:GZ) schreibt die Quadratzahlen von 0 bis n in das Zahlenfeld. Bei zu kleinem Feld wird eine Fehlermeldung ausgegeben. Die Methode ausgebenFeld() gibt das Feld auf der Konsole aus.
Eine Methode berechneFeldsumme():GZ berechnet die Summe aller Feldelemente.
Die Methode berechneFeldsumme2():GZ verwendet hierzu eine while-Schleife. Erstellen Sie auch ein Struktogramm für diese Methode. Lösungen: [Quelltext] [Struktogramm]
Erstellen Sie eine Klassen-Methode Lottozahlen.generiereZahlen(), die 6 Zahlen von 1 bis 49 ohne Wiederholungen auf der Konsole ausgibt. Lösung: [Lottozahlen.java]
Erstellen Sie eine Methode Sternenkreuz.ausgabe(n:GZ) die Quadrate mit Kreuz ausgibt. Lösung..
******* ** ** * * * * * * * * * * * ** ** *******
Erstellen Sie eine Methode Pyramide.zeichne(hoehe:GZ) die eine Pyramide ausgibt. Lösung..
* *** ***** *******
Erstellen Sie eine Methode Wuerfel.zeichne(hoehe:GZ) die einen Würfel ausgibt. Lösung..
*********** ** ** * * * * *********** * * * * * * * * * * * * * * * * * * * * * * * * * * *********** * * * * ** ** ***********
© Oliver Mezger