SJ 21/22: Klasse 10a
Mathematisch-Naturwissenschaftlicher Zweig (zweistündig - IT Wahlpflichtfächergruppe I)
Bezeichnung in der SchulApp: IT_1/10a_1
>>> zurück zur Klassenübersicht
Ausgewählte Themenblöcke
- Themenblock: CUBE.CODES zu den Lehrplanthemen ...
- IT 2.6.1 Modellieren und Codieren von Algorithmen,
- IT 2.8.1 Computergrafik und
- IT 2.8.2 Computeranimation
Blog
- 23. November 2021: Evaluation RUBIK-Algorithmus (Würfel WM)
- 03. Dezember 2021: >>> CUBE.CODES blank
- 03. Dezember 2021: >>> Erste Schritte
- 03. Dezember 2021: >>> CUBE.CODES: Einfache EVA-Programme
Datentypkorrektheit
+ ist mal eine Textaddition, mal eine Zahladdition
Hallo=7; UI.log(Hallo); Hallo=17; UI.log("Hallo ist " + (Hallo + 1));
- 7.12.: Ganzzahlige Teilung mit Rest, Hausi ein EVA-Programm schreiben
- 7.12.: MediaEvent
- 10.12.: Die while-Schleife
x=1; y=364; ergebnis=y; while(x<=10) { UI.log(x + " mal " + y + " ist " + ergebnis); x=x+1; ergebnis=ergebnis+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
- CUBE.CODES: Schleifen mit while
- 11. Januar 2022: CUBE.CODES: Schleifen mit for
- 14. Januar 2022: CUBE.CODES: Besondere (Rechen-)Ausdrücke
28.1.22: Unendliche Reihen basteln und testen
for(n=1; n<=10; ++n) UI.log("1/"+n);
... ist eine witzige Folge von Zahlen, die immer kleiner werden.
[08:57:53] Program starting ... [08:57:53] Program running ... 1/1 1/2 1/3 1/4 1/5 1/6 1/7 1/8 1/9 1/10 [08:57:53] Program finished successfully
Wir können die Ausdrücke nicht nur als Text ausgeben, sondern auch ausrechnen lassen. Dann bekommen wir halt die Ergebnisse dezimal:
for(n=1; n<=10; ++n) UI.log(1/n);
Ausgabe:
[08:59:54] Program starting ... [08:59:55] Program running ... 1 0.5 0.3333333333333333 0.25 0.2 0.16666666666666666 0.14285714285714285 0.125 0.1111111111111111 0.1 [08:59:55] Program finished successfully
Wenn man die nun zusammenzählen würde, ...
Würde das Ergebnis immer mehr anwachsen (weil es ja immer mehr Zahlen werden, die dazugezählt werden) oder würde es über eine gewisse Schranke nie drübergehen (weil ja immer verschwindend kleinere Zahlen dazugezählt werden)? Probieren wir's aus!
summe=0; for(n=1; n<=1000; ++n) { summe=summe+1/n; UI.log(summe); }
... ergibt die Ausgabe:
[08:52:31] Program starting ... [08:52:31] Program running ... 1 1.5 1.8333333333333333 2.083333333333333 2.283333333333333 2.4499999999999997 2.5928571428571425 2.7178571428571425 2.8289682539682537 2.9289682539682538 ... ... (das geht jetzt 1000 Zeilen weiter ;-)) ... ... 7.483469859549342 7.484470860550343 7.485470860550343 [08:52:32] Program finished successfully