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