Lernzielkontrolle Info10 - 2: Unterschied zwischen den Versionen

Aus ComeniusWiki
Wechseln zu: Navigation, Suche
Zeile 1: Zeile 1:
'''Aufgabe 1 (Schleifen)'''
+
'''Aufgabe 1'''
  
 
Was tun folgende Schleifen?
 
Was tun folgende Schleifen?
Zeile 33: Zeile 33:
 
{{Lösung versteckt|
 
{{Lösung versteckt|
 
Gibt 3x hintereinander "''zickezacke zickezacke hoihoihoi ''" aus.
 
Gibt 3x hintereinander "''zickezacke zickezacke hoihoihoi ''" aus.
 +
}}
 +
 +
 +
'''Aufgabe 2'''
 +
 +
 +
 +
'''Aufgabe3'''
 +
 +
Warum sind folgende Schleifen problematisch?
 +
 +
'''1)'''
 +
 +
int i=100; while(i<=1){ System.out.println("Ich bin noch nicht fertig!"); i++;}
 +
 +
{{Lösung versteckt|
 +
Die Schleife wird gar nicht ausgeführt, da die Abbruchbedingung bereits bei der ersten Überprüfung greift (100<=1 ergibt ''false'').
 +
}}
 +
 +
'''2)'''
 +
 +
for(int i=2; i<=20; i+=2){ if (i%2==0){i=i-2;};}
 +
 +
{{Lösung versteckt|
 +
Wir haben hier eine Endlosschleife: i ist immer durch 2 teilbar und so wird die Anweisung im Rumpf (i=i-2) immer ausgeführt. Diese Anweisung neutralisiert aber die Änderung der Zählvariable (i+=2).
 +
}}
 +
 +
'''3)'''
 +
 +
int i=1; while(i<=10){System.out.println("Einer geht noch ...");}
 +
 +
{{Lösung versteckt|
 +
Auch hier haben wir eine Endlosschleife: Da die Schleife keine Inkrementierung (''i++'') besitzt, läuft sie ewig, weil sie die Abbruchbedingung nie erreichen kann.
 
}}
 
}}

Version vom 19. November 2014, 18:09 Uhr

Aufgabe 1

Was tun folgende Schleifen?

1)

int y=1; for(int i=3; i<=300; i+=3){y=y*i;}

Berechnet das Produkt der ersten hundert Vielfachen von 3.


2)

int i=1; while(true){ if (i>=1){System.out.print(i); i++; if (i<=2){System.out.print(i);};}

Gibt in Endlosschleife die Folge 1212121212.... aus.


3)

for(int i=1; i<=500; i++){ if (i%9==0){System.out.println(i);};}

Gibt die Vielfachen von 9 bis 500 aus.


4)

int i=1; while(i>=9){ if (i%3==0){System.out.print("hoihoihoi ")} else {System.out.print("zickezacke ");};

Gibt 3x hintereinander "zickezacke zickezacke hoihoihoi " aus.


Aufgabe 2


Aufgabe3

Warum sind folgende Schleifen problematisch?

1)

int i=100; while(i<=1){ System.out.println("Ich bin noch nicht fertig!"); i++;}

{{{1}}}


2)

for(int i=2; i<=20; i+=2){ if (i%2==0){i=i-2;};}

{{{1}}}


3)

int i=1; while(i<=10){System.out.println("Einer geht noch ...");}

Auch hier haben wir eine Endlosschleife: Da die Schleife keine Inkrementierung (i++) besitzt, läuft sie ewig, weil sie die Abbruchbedingung nie erreichen kann.