lehrkraefte:snr:informatik:python:wichtiges-zur-projektarbeit

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:snr:informatik:python:wichtiges-zur-projektarbeit [2021/11/09 17:59]
Olaf Schnürer [Beispiel]
lehrkraefte:snr:informatik:python:wichtiges-zur-projektarbeit [2022/05/23 12:40] (current)
Olaf Schnürer [Allgemeines und Zeitplan]
Line 1: Line 1:
-====== Wichtiges zur Projektarbeit der Klasse 2aLM ======+====== Wichtiges zur Projektarbeit der Klassen 2aLM und 2dNP ======
  
 Ich habe versucht, einige wichtige Informationen zusammenzustellen. Bei Fragen oder Bemerkungen bitte direkt an mich wenden. Ich habe versucht, einige wichtige Informationen zusammenzustellen. Bei Fragen oder Bemerkungen bitte direkt an mich wenden.
Line 9: Line 9:
   * Arbeit an den Projekten in 4 Doppellektionen (oder auch ab sofort): 17. und 24. November, 1. und 8. Dezember 2021   * Arbeit an den Projekten in 4 Doppellektionen (oder auch ab sofort): 17. und 24. November, 1. und 8. Dezember 2021
   * Abgabe der lauffähigen Python-Programme: idealerweise nach der Doppellektion am 8. Dezember, spätestens am 14. Dezember um 23:59 Uhr (vermutlich per Email an mich)   * Abgabe der lauffähigen Python-Programme: idealerweise nach der Doppellektion am 8. Dezember, spätestens am 14. Dezember um 23:59 Uhr (vermutlich per Email an mich)
-  * 15. Dezember (letzte Doppellektion vor Weihnachten): Kurzpräsentation der Projekte durch alle Gruppenmitlgieder, danach jeweils kurze Fragerunde (ca. 5 Minuten pro Gruppe, je nach Anzahl der Gruppen)+  * 15. Dezember (letzte Doppellektion vor Weihnachten): Kurzpräsentation der Projekte durch alle Gruppenmitglieder, danach jeweils kurze Fragerunde (ca. 5 Minuten pro Gruppe, je nach Anzahl der Gruppen). Bei Abwesenheit eines Gruppenmitglieds wird die Präsentation nachgeholt.
   * Wer will, dass sein Python-Programm im Rahmen der Kurs-Seiten (mit dem dortigen Copyright) veröffentlicht wird, gibt mir Bescheid (am besten mit der Abgabe).   * Wer will, dass sein Python-Programm im Rahmen der Kurs-Seiten (mit dem dortigen Copyright) veröffentlicht wird, gibt mir Bescheid (am besten mit der Abgabe).
-  * Jede Gruppe darf selbst eine Note für ihr Projekt vorschlagen.+  * Alle Mitglieder einer Gruppe bekommen dieselbe Note.  
 +  * Jede Gruppe darf selbst eine Note vorschlagen, am Ende entscheide aber ich
  
 ===== Themenwahl ===== ===== Themenwahl =====
Line 79: Line 80:
 # Wahrscheinlichkeit für Fels # Wahrscheinlichkeit für Fels
 p = 0.41 p = 0.41
- 
-FARBE = ["white", "gray"] 
  
 def zeichne_quadrat(x, y, farbe): def zeichne_quadrat(x, y, farbe):
Line 88: Line 87:
     rectangle(x * skalierung, y * skalierung, (x + 1) * skalierung, (y + 1) * skalierung)     rectangle(x * skalierung, y * skalierung, (x + 1) * skalierung, (y + 1) * skalierung)
  
-makeGPanel(Size(Xmax * skalierung, Ymax * skalierung)) +# Öffne Fenster und vereinbare Koordinaten. 
-window(0, Xmax * skalierung, 0, Ymax * skalierung)+makeGPanel(Size(Xmax * skalierung, Ymax * skalierung + 30)) 
 +window(0, Xmax * skalierung, -30, Ymax * skalierung)
  
 # poröses Gestein wird zufällig erzeugt # poröses Gestein wird zufällig erzeugt
-feld = [[FARBE[1] if random() < p else FARBE[0] for j in range(-1, Ymax + 1)] for i in range(-1, Xmax + 1)]+# Der folgende Code verwendet, dass man beim Erzeugen von Listen  
 +# zusätzlich eine "if-(then-)else"-Abrage machen kann. 
 +feld = [["gray" if random() < p else "white" for j in range(-1, Ymax + 1)] for i in range(-1, Xmax + 1)]
  
 # Die folgenden beiden for-Schleifen erzeugen eine "bounding box" # Die folgenden beiden for-Schleifen erzeugen eine "bounding box"
 # aus Fels. (Das erspart später das Abfragen, ob man gerade einen Punkt am Rand betrachtet.) # aus Fels. (Das erspart später das Abfragen, ob man gerade einen Punkt am Rand betrachtet.)
 for i in range(-1, Xmax + 1): for i in range(-1, Xmax + 1):
-    feld[i][-1] = FARBE[1] +    feld[i][-1] = "gray" 
-    feld[i][Ymax] = FARBE[1]+    feld[i][Ymax] = "gray"
  
 for j in range(-1, Ymax + 1): for j in range(-1, Ymax + 1):
-    feld[-1][j] = FARBE[1] +    feld[-1][j] = "gray" 
-    feld[Xmax][j] = FARBE[1]+    feld[Xmax][j] = "gray"
  
 # Zeichne das poröse Gestein. # Zeichne das poröse Gestein.
Line 116: Line 118:
 blaue_felder = []                 blaue_felder = []                
 for i in range(0, Xmax): for i in range(0, Xmax):
-    if feld[i][Ymax - 1] == FARBE[0]:+    if feld[i][Ymax - 1] == "white":
         feld[i][Ymax - 1] = "blue"         feld[i][Ymax - 1] = "blue"
         blaue_felder.append([i, Ymax - 1])                 blaue_felder.append([i, Ymax - 1])        
 #        zeichne_quadrat(i, Ymax - 1, "blue") #        zeichne_quadrat(i, Ymax - 1, "blue")
-        +
 # print(blaue_felder)     # print(blaue_felder)    
  
Line 145: Line 147:
         feld[x][y+1] = "blue"         feld[x][y+1] = "blue"
         blaue_felder.append([x, y+1])         blaue_felder.append([x, y+1])
 +# Folgende Zeile auskommentieren, wenn sich das Wasser schneller ausbreiten soll.
     delay(1)     delay(1)
 #    getKeyCodeWait() #    getKeyCodeWait()
-                 +
-                +
 # Textausgabe # Textausgabe
-text("Zum Schliessen irgendeine Taste drücken."              +text(Xmax * skalierung/3, -20, "Zum Schliessen irgendeine Taste drücken.", Font("Courier", Font.PLAIN, 20), "white", "red") 
 # Warten, bis der Benutzer eine Taste drückt.                 # Warten, bis der Benutzer eine Taste drückt.                
 getKeyCodeWait() getKeyCodeWait()
 +
 # Fenster schliessen. # Fenster schliessen.
 dispose()         dispose()        
  • lehrkraefte/snr/informatik/python/wichtiges-zur-projektarbeit.1636477188.txt.gz
  • Last modified: 2021/11/09 17:59
  • by Olaf Schnürer