Knobelaufgaben

Werbung
Knobelaufgaben
Booleans
Gegeben sind die Variablen a und b vom Typ Boolean. Zeige, dass der Ausdruck
(¬(a ∧ b) ∧ (a ∨ b)) ∨ ((a ∧ b) ∨ ¬(a ∨ b))
In “Worten”: (not (a and b) and (a or b)) or ((a and b) or not (a or b))
den Wert True hat.
Print
Was gibt der Befehl print((1.0 + 2 + 3 + 4) / 2) aus? Überlege selbst,
bevor du den Code ausführst.
Teilbarkeit
Schreibe ein Programm, das zwei positive ganze Zahlen annimmt und True
ausgibt, falls eine der Zahlen durch die jeweils andere glatt teilbar ist.
2er Potenzen
Schreibe ein Programm, das eine ganze Zahl n als Input erhält. Gib alle 2erPotenzen aus, deren Ergebnis kleiner gleich n ist.
Beispiel: n = 5
Ausgabe: 1, 2, 4 (von 20 , 21 , 22 )
Stelle sicher, dass dein Programm für alle Eingaben von n ausführbar ist.
Schachbrettmuster
Schreibe ein Programm checkerboard.py, das eine ganze Zahl als Input bekommt
und eine Schleife in einer Schleife benutzt, um ein Schachbrettmuster der Größe
n x n zu erzeugen. Für weiße Felder benutze das Leerzeichen ’ ’ und für schwarze
Felder den Stern ’*’.
Für n = 5 kann das so aussehen:
*****
****
*****
****
*****
Drachenkurve
Schreibe ein Programm, das die Befehle zum Zeichnen der Drachenkurve (siehe
Wikipedia) der Ordnungen 0 bis 5 ausgibt. Die Befehle sind Strings aus F, L
und R Zeichen, wobei F bedeutet ”zeichne eine Linie eine Einheit vorwärts”
und L bzw. R für ”drehe dich um 90◦ nach links bzw. rechts” steht. Die
Drachenkurve der Ordnung n entsteht, wenn ein Streifen Papier n mal in der
Hälfte gefaltet wird und dann in rechten Winkeln entfaltet wird. Der Schlüssel
1
zum Lösen des Problems ist die Beobachtung, dass die Kurve der Ordnung n
genau eine Kurve der Ordnung n − 1 gefolgt von einem L gefolgt von der Kurve
der Ordnung n − 1 in umgekehrter Reihenfolge ist.
Die ersten Befehle:
F
FLF
FLFLFRF
FLFLFRFLFLFRFRF
2
Herunterladen