Informatik: Algorithmen und Programme (1AFGsK und 1CFP)

1. Doppellektion (ca. 14. bzw. 15. Februar 2022)

2. Doppellektion (ca. 21. bzw. 22. Februar 2022)

3. Doppellektion (ca. 28. Februar bzw. 08. März 2022)

(01. März 2022 entfällt)

(Erster Besuch am Dienstag, 08. März)

4. Doppellektion (07. bzw. 15. März 2022)

14. März entfällt

5. Doppellektion (ca. 21. bzw. 22. März 2022)

(Zweiter Besuch am Dienstag, 22. März)

6. Doppellektion (ca. 28. bzw. 29. März 2022)

Lösungen der Test-Prüfung

$n$-Eck-Aufgabe

$n$-Eck-Aufgabe

from gturtle import *
makeTurtle()
n = 5
 
repeat n:
    forward(50)
    right(360/n)

Berechne-Quadrat-von-Eingabe-Aufgabe

Berechne-Quadrat-von-Eingabe-Aufgabe

x = input("Gib eine Zahl ein!")
print("Das Quadrat von")
print(x)
print("ist")
print(x*x)

7. Doppellektion (ca. 04. bzw. 05. April 2022)

Schrittweise Hinführung zur Rekursion: Zuerst ast0, dann ast1, ast2

Schrittweise Hinführung zur Rekursion: Zuerst ast0, dann ast1, ast2

from gturtle import *
 
def ast0(s):
    forward(s)
    backward(s)
 
def ast1(s):
    forward(s)
    left(winkel)
    ast0(s/2)
    right(winkel)
    ast0(s/2)
    right(winkel)
    ast0(s/2)
    left(winkel)    
    backward(s)
 
 
def ast2(s):
    forward(s)
    left(winkel)
    ast1(s/2)
    right(winkel)
    ast1(s/2)
    right(winkel)
    ast1(s/2)
    left(winkel)    
    backward(s)
 
winkel = 25
# Nette andere Winkel: 120, 60, 90
makeTurtle()
backward(300)
ast2(300)

… und nun rekursiv (also ast(X,s) statt astX(s)) … und dann gleich animiert

… und nun rekursiv (also ast(X,s) statt astX(s)) … und dann gleich animiert

from gturtle import *
 
def ast(t, s):
    if t == 0:
        forward(s)
        backward(s)
    else:
        forward(s)
        left(winkel)
        ast(t - 1, s/2)
        right(winkel)
        ast(t - 1, s/2)
        right(winkel)
        ast(t - 1, s/2)
        left(winkel)    
        backward(s)
 
makeTurtle()
hideTurtle()
backward(300)
 
enableRepaint(False)
winkel = 0
while winkel <= 120:
    clear()
    ast(9, 300)
    repaint()
    winkel = winkel + 1
    delay(50)

Organisatorisches zur Prüfung

Die Prüfung wird 45 Minuten dauern und findet im "Open book"-Format statt. Dies bedeutet:

Die einzige erlaubte Kommunikation ist: Wenn in einer Aufgabenstellung etwas unklar ist, dürft ihr mich fragen.

Damit ich überprüfen kann, dass ihr nicht unerlaubt kommuniziert, lasst ihr während der Klausur das Windows-Programm

schrittaufzeichnung

laufen, das bei jedem Maus-Klick und Fensterwechsel einen Screenshot abspeichert. Diese Screenshots werden in eine Zip-Datei gespeichert, die am Ende der Klausur abzugeben ist.

Wichtig: In diesem Programm bitte bei Einstellungen so einstellen, dass die letzten 999 Screenshots gespeichert weden.

Bei Betrugsversuch (in der Regel unerlaubte Kommunikation) gibt es die Note 1.0, was die Promotion massiv erschweren dürfte.

Wir machen am 28. bzw. 29. März einen Testlauf.

Hinweise zur Vorbereitung

Lernziele

Du kennst die folgenden Begriffe und kannst sie erklären (und, wenn sinnvoll, voneinander unterscheiden):

Du kannst Python-Programme schreiben, die

Ausserdem:

Die Schwierigkeit wird in etwa auf dem Niveau der einfachen bis mittelschwierigen Aufgaben aus den Lektionen sein.