SJ 21/22: Klasse 9b: Unterschied zwischen den Versionen

Aus MINT.lentner.net
Zur Navigation springen Zur Suche springen
Zeile 121: Zeile 121:
 
  [08:50:19] Program finished successfully
 
  [08:50:19] Program finished successfully
  
=== Zahlenreihen ===
+
=== Zahlenreihe: 1 3 5 7 9 ... ===
1 3 5 7 9 ...
 
  
x=1;
+
x=1;
while(x<100)
+
while(x<100)
  {
+
    {
    UI.log("x=" + x);
+
    UI.log("x=" + x);
    x=x+2;
+
    x=x+2;
  }
+
    }
  
x=1;
+
=== Zahlenreihe: 1 -3 5 -7 ... ===
ausgabe=1;
+
 
while(x<100)
+
x=1;
  {
+
ausgabe=1;
  UI.log("x=" + ausgabe);
+
while(x<100)
    x=x+2;
+
    {
    if(ausgabe>0) ausgabe=-x; else ausgabe=x;
+
    UI.log("x=" + ausgabe);
  }
+
    x=x+2;
UI.log(x);
+
    if(ausgabe>0) ausgabe=-x; else ausgabe=x;
 +
    }
 +
UI.log(x);
  
 
=== Teilermengen finden ===
 
=== Teilermengen finden ===

Version vom 24. Juni 2022, 08:26 Uhr

Kaufmännischer Zweig (zweistündig - IT Wahlpflichtfächergruppe II)
Bezeichnung in der SchulApp: IT_1/9b_2
>>> zurück zur Klassenübersicht

Ausgewählte Themenblöcke

Projekt

Themenblock: IT 2.6.1 Modellieren und Codieren von Algorithmen (ca. 14 Std.)

  • CUBE.CODES
  • 3.12.: RUBIK-Würfel erforschen - erste Ebene
  • 10.12.: Wie viele fixpunktfreie Permutationen der Länge 4 gibt es?
  • 10. Januar: RUBIKs Challange

>>> CUBE.CODES blank
>>> Erste Schritte
>>> CUBE.CODES: Einfache EVA-Programme
>>> CUBE.CODES: Beispiele aus der Zahlentheorie (Klasse 5)
>>> CUBE.CODES: Schleifen mit while
>>> CUBE.CODES: Schleifen mit for
>>> CUBE.CODES: Rekursion

  • 6. April: Hausaufgabe 1 von drei EVA Programmen (BMI)
Bmialterstabelle.png

https://ide.cube.codes/?init=loadFromUrl&url=https://share-repository.cube.codes/v1/appStates/20e6932d-64b7-4fe0-9651-fdd4a4828d7e

Wertetabellen

x=1;
Schritt=2;
Ende=10;
while(x<=Ende)
   {
    y=x*x-x+1;
    UI.log("x=" + x +", y=" + y);
    x=x+Schritt;
   }

führt zur Ausgabe: ...

[12:07:05] Program starting ...
[12:07:05] Program running ...
x=1, y=1
x=3, y=7
x=5, y=21
x=7, y=43
x=9, y=73
[12:07:05] Program finished successfully

Variante 1

x=100;
Schritt=20;
Ende=0;
UI.log("Wertetabelle der Funktion: x²-x+1");
while(x>=Ende)
   {
    y=x*x-x+1;
    UI.log("x=" + x +", y=" + y);
    x=x-Schritt;
   }

... führt zur Ausgabe:

[09:01:26] Program starting ...
[09:01:27] Program running ...
Wertetabelle der Funktion: x²-x+1
x=100, y=9901
x=80, y=6321
x=60, y=3541
x=40, y=1561
x=20, y=381
x=0, y=1
[09:01:27] Program finished successfully

Variante 2

x=-5;
Schritt=1;
Ende=5;
UI.log("Wertetabelle der Funktionen: y=x²-x+1 und z=x²+x-1 ");
while(x<=Ende)
   {
    y=x*x-x+1;
    z=x*x+x-1
    UI.log("x=" + x +", y=" + y + " z=" + z);
    x=x+Schritt;
   }

... führt zu ...

[08:50:19] Program starting ...
[08:50:19] Program running ...
Wertetabelle der Funktionen: y=x²-x+1 und z=x²+x-1 
x=-5, y=31 z=19
x=-4, y=21 z=11
x=-3, y=13 z=5
x=-2, y=7 z=1
x=-1, y=3 z=-1
x=0, y=1 z=-1
x=1, y=1 z=1
x=2, y=3 z=5
x=3, y=7 z=11
x=4, y=13 z=19
x=5, y=21 z=29
[08:50:19] Program finished successfully

Zahlenreihe: 1 3 5 7 9 ...

x=1;
while(x<100)
   {
    UI.log("x=" + x);
    x=x+2;
   }

Zahlenreihe: 1 -3 5 -7 ...

x=1;
ausgabe=1;
while(x<100)
   {
   	UI.log("x=" + ausgabe);
    x=x+2;
    if(ausgabe>0) ausgabe=-x; else ausgabe=x;
   }
UI.log(x);

Teilermengen finden

x=1;
while(x<=80) {
   await CUBE.move(" R B L F ");
   ++x;
}

Wie lang dauert es, bis der CUBE wieder solved ist?

harry=1;
await CUBE.move(" R B L F' ");
while(!CUBE.isSolved()) {
 ++harry;
 await CUBE.move(" R B L F' ");
}
UI.log(harry);

oder eleganter ...

harry=0;
do {
   await CUBE.move(" R F' ");
   UI.log(++harry);
} while(!CUBE.isSolved())
zahl=400;
teiler=17;
if(zahl%teiler==0) 
    UI.log("geht auf"); 
else 
    UI.log("geht nicht auf");

Größte Primzahl

zahl=4033343771;
teiler=1;
while(teiler<=zahl) {
   if(zahl%teiler==0) UI.log(teiler); 
   ++teiler;
   }

ca. 2,5 Minuten

CUBE.CODES: Buchstabe O

Tunig

  • Gegenteilertrick
  • Hausi: Teiler von 550 mit Gegenteilertrick
zahl=403334377155;
obergrenze=Math.sqrt(zahl);
UI.log(obergrenze);
teiler=1;
while(teiler<=obergrenze) {
   if(zahl%teiler==0) UI.log(zahl  + "=" + teiler + " * " + zahl/teiler); 
   ++teiler;
   }