CUBE.CODES: Schleifen mit while Teil 1: Unterschied zwischen den Versionen

Aus MINT.lentner.net
Zur Navigation springen Zur Suche springen
Zeile 1: Zeile 1:
===Einfache Befehle wiederholen===
+
==Einfache Befehle wiederholen==
 
Die Möglichkeiten einer Tabellenkalkulation lassen wir spätestens dann hinter uns, wenn wir beliebige Wiederholungen von Berechnungen formulieren können. Z.B. Ist die Ausgabe eine '''Einmaleins''' nichts anderes als die '''Wiederholung einer Malaufgabe'''.
 
Die Möglichkeiten einer Tabellenkalkulation lassen wir spätestens dann hinter uns, wenn wir beliebige Wiederholungen von Berechnungen formulieren können. Z.B. Ist die Ausgabe eine '''Einmaleins''' nichts anderes als die '''Wiederholung einer Malaufgabe'''.
  

Version vom 1. Februar 2022, 14:11 Uhr

Einfache Befehle wiederholen

Die Möglichkeiten einer Tabellenkalkulation lassen wir spätestens dann hinter uns, wenn wir beliebige Wiederholungen von Berechnungen formulieren können. Z.B. Ist die Ausgabe eine Einmaleins nichts anderes als die Wiederholung einer Malaufgabe.

Programm 1: Einfache Malaufgabe

faktor1 = 5;
faktor2 = 23;
UI.log(faktor1*faktor2);

Bewirkt die Ausgabe:

[14:02:18] Program starting ... [14:02:19] Program running ... 115 [14:02:19] Program finished successfully

Wollen wir die Malrechnung mit größeren faktoren1 (z.B. ... bis faktor1=10) wiederholen, schreiben wir einfach ...

while(faktor1<=10) vor den Ausgabebefehl. Allerdings müssen wir nach jeder Ausgabe faktor1 auch noch größer machen! Insgesamt ...
faktor1 = 5;
faktor2 = 23;
while(faktor1<=10)
   {
    UI.log(faktor1*faktor2);
    faktor1 = faktor1 + 1;
   }

Bewirkt die Ausgabe:

[14:07:13] Program starting ...
[14:07:13] Program running ...
115
138
161
184
207
230
[14:07:13] Program finished successfully

Wir kürzen faktor1 und faktor2 auch noch etwas ab, verbessern die Ausgabe, lassen das Ganze von 1 bis 10 laufen und schon haben wir ein nettes Programm, das ein Einmaleins ausgibt:

x=1;
y=364;
ergebnis=x*y;
while(x<=10) 
  {
   UI.log(x + " mal " + y + " ist " + ergebnis); 
   x=x+1; 
   ergebnis=x*y;
  }
[08:37:01] Program starting ...
[08:37:01] Program running ...
1 mal 364 ist 364
2 mal 364 ist 728
3 mal 364 ist 1092
4 mal 364 ist 1456
5 mal 364 ist 1820
6 mal 364 ist 2184
7 mal 364 ist 2548
8 mal 364 ist 2912
9 mal 364 ist 3276
10 mal 364 ist 3640
[08:37:01] Program finished successfully
  • 14.2: Teiler finden
  • 14.2: Primzahlen finden
//Siegerin Chiara
Teiler=1;
Zahl=999999751;
while(Teiler<=Zahl) 
 {
  if(Zahl%Teiler==0) UI.log(Teiler); 
  ++Teiler; 
 }
  • do-while-Schleife
do await CUBE.move(" R B L F "); while(!CUBE.isSolved()) 
  • Hausi: Schleife so ergänzen, dass die Anzahl der Durchläufe ausgegeben wird