lehrkraefte:blc:informatik:ffprg1-2020:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
lehrkraefte:blc:informatik:ffprg1-2020:start [2020/02/03 19:29]
Ivo Blöchliger [Einstieg]
lehrkraefte:blc:informatik:ffprg1-2020:start [2020/05/18 17:56] (current)
Ivo Blöchliger [Weitere Aufgaben]
Line 1: Line 1:
 +===== https://fginfo.ksbg.ch =====
 +
 ====== Freifach Programmieren, Einstieg ====== ====== Freifach Programmieren, Einstieg ======
   * [[lehrkraefte:blc:informatik:ffprg1-2020:teasers|Teasers]]   * [[lehrkraefte:blc:informatik:ffprg1-2020:teasers|Teasers]]
Line 10: Line 12:
   * [[lehrkraefte:blc:informatik:ffprg1-2020:loops|Wiederholungen, for, while, break, continue]]   * [[lehrkraefte:blc:informatik:ffprg1-2020:loops|Wiederholungen, for, while, break, continue]]
   * [[lehrkraefte:blc:informatik:ffprg1-2020:zufallszahlen|Zufallszahlen]]   * [[lehrkraefte:blc:informatik:ffprg1-2020:zufallszahlen|Zufallszahlen]]
-  * [[lehrkraefte:blc:informatik:ffprg1-2020:stringvar|Variablen mit Strings (Zeichenketten)]] +  * [[lehrkraefte:blc:informatik:ffprg1-2020:stringvar|Strings (Zeichenketten)]] 
-  * [[lehrkraefte:blc:informatik:ffprg1-2020:arrays|Liste und Arrays]]+  * [[lehrkraefte:blc:informatik:ffprg1-2020:arrays|Listen und Arrays]]
   * [[lehrkraefte:blc:informatik:ffprg1-2020:funktionen|Funktionen]]   * [[lehrkraefte:blc:informatik:ffprg1-2020:funktionen|Funktionen]]
 +  * [[lehrkraefte:blc:informatik:ffprg1-2020:klassen|Klassen]]
 +  * [[lehrkraefte:blc:informatik:ffprg1-2020:sudoku|Sudoku]]
 +  * [[lehrkraefte:blc:informatik:ffprg1-2020:snake|Snake]]
 +
 +===== Weitere Aufgaben =====
 +  * Finden Sie eine Primzahl, die immer wieder eine Primzahl ergeben, wenn man jeweils die erste Stelle streicht. 
 +Z.B. 337 (prim) -> 37 (prim) -> 7 (prim). Wer findet die grösste solche Zahl? Wer findet die meisten?
 +  * Gegeben sind 6 Schalen nebeneinander, nummeriert von 0 bis 5 und jede Schale enthält eine Zauberbohne. Man kann folgende zwei Operationen vornehmen:
 +    * Aus einer Schale mit Nummer $x \in \{0,\ldots 4\}$ kann eine Bohne entnommen werden und dafür zwei Bohnen in die Schale mit Nummer $x+1$ gelegt werden (die Zauberbohnen materialisieren halt irgendwie).
 +    * Aus einer Schale mit Nummer $x \in \{0,\ldots 3\}$ kann eine Bohne entnommen werden. Diese verschwindet, dafür wird der Inhalt der Schalen mit Nummern $x+1$ und $x+2$ vertauscht.
 +    * Frage: Wie viele Bohnen können maximal in der letzten Schale landen? Achtung: Ich vermute, die Antwort ist zu gross für den Computer. Ich glaube die Antwort ist $2 \uparrow \uparrow \uparrow (2^{16})$. Mehr Infos zu dieser Schreibweise: https://en.wikipedia.org/wiki/Knuth%27s_up-arrow_notation. Und schliesslich noch die Inspiration dazu aus diesem Video (das sich auch als ganzes lohnt): https://youtu.be/elQVZLLiod4?t=2717
 +
 +<hidden Code-Skelett zum Experimentieren>
 +<code python zauberbohnen.py>
 +from gpanel import *
 +
 +# Wie viele Bohnen es in den Schalen hat:
 +bins = [1 for i in range(6)]
 +
 +def handle(x,y):
 +    global bins
 +    x = int(x)
 +    if isLeftMouseButton():  # Bohne in die naechste Schale verdoppeln
 +        # 
 +        # HIER FEHLT IHR CODE
 +        # 
 +        pass
 +    if isRightMouseButton():  # Bohne entfernen und die beiden nächsten Schalen vertauschen
 +        # 
 +        # HIER FEHLT IHR CODE
 +        # 
 +        pass
 +
 +
 +    draw()  # Situation zeichnen
 +    
 +def draw():
 +    global bins
 +    clear()
 +    for i in range(6):
 +        text(i+0.1, 0.1, str(bins[i]))
 +
 +
 +makeGPanel(0,6,0,1,mousePressed=handle)
 +draw()
 +
 +
  
 +</code>
 +</hidden>
  
 +  * Ein paar kleine Challenges mit "automatischer Überprüfung": [[lehrkraefte:blc:informatik:ffprg1-2020:challenges|Automatisierte Challenges]]
  • lehrkraefte/blc/informatik/ffprg1-2020/start.1580754592.txt.gz
  • Last modified: 2020/02/03 19:29
  • by Ivo Blöchliger