Informatik

Logische Verknüpfungen

Aufgabe 1: Wahrheitswerte verknüpfen

Gib zuerst ohne Rechner an, welche Ergebnisse die folgenden Ausgaben liefern. Schreibe sie hinter die Kommentare.

Überprüfe dein Ergebnis danach am Rechner.


      
    
print(True and True) # Ergebnis: print(True and False) # Ergebnis: print(False and True) # Ergebnis: print(False and False) # Ergebnis: print(True or True) # Ergebnis: print(True or False) # Ergebnis: print(False or True) # Ergebnis: print(False or False) # Ergebnis: print(not True) # Ergebnis: print(not False) # Ergebnis:

Python kennt drei logische Verknüpfungen:

Verknüpfung Bedeutung Ergebnis ist wahr, wenn …
and und beide Seiten wahr sind
or oder mindestens eine Seite wahr ist
not nicht die Seite falsch ist

Achtung beim or: In der Umgangssprache meint „oder" oft „entweder … oder". In der Informatik ist or immer einschließend: True or True ergibt True.

Die vollständige Übersicht heißt Wahrheitstafel:

A B A and B A or B
False False False False
False True False True
True False False True
True True True True

Beim and gibt es also nur eine Zeile mit dem Ergebnis wahr, beim or nur eine mit dem Ergebnis falsch.

Aufgabe 2: Ein Beispiel mit der Turtle

Skizziere zuerst auf Papier, welches Bild sich hier ergibt. Überprüfe dein Ergebnis danach am Rechner.


      
    
from turtle import * shape("turtle") screensize(600, 300) penup() goto(-140, 0) punkt = 0 while punkt < 10: forward(25) if punkt % 2 == 0 and punkt < 5: pencolor("red") else: pencolor("blue") dot(20) punkt = punkt + 1
Tipp: Gehe die Bedingung durch

Lege eine Tabelle an und prüfe für jeden Wert von punkt beide Teilbedingungen einzeln:

punkt gerade? kleiner als 5? beides? Farbe
0 ja ja ja rot
1 nein ja nein blau
2 ja ja ja rot

Zehn Punkte: die ersten drei abwechselnd rot und blau, danach alle blau

Auflösung. Erfrage das Passwort bei deiner Lehrkraft.

Aufgabe 3: Ein Punktequadrat

a) Skizziere wieder zuerst, welches Bild sich hier ergibt. Überprüfe dein Ergebnis danach am Rechner.

b) Modifiziere das Programm anschließend so, dass sich die weiter unten abgebildeten Zeichnungen ergeben. Ändere dabei nur die Bedingung!


      
    
from turtle import * shape("turtle") screensize(400, 400) speed(0) penup() goto(-140, 125) zeile = 0 while zeile < 10: x = xcor() punkt = 0 while punkt < 10: forward(25) if punkt == 0 and zeile == 0: pencolor("red") else: pencolor("blue") dot(20) punkt = punkt + 1 goto(x, ycor() - 25) zeile = zeile + 1

Ein Punktefeld, bei dem nur ein Punkt rot ist

Variante A

Ein Punktefeld, bei dem die erste Zeile und die erste Spalte rot sind

Tipp zu Variante A

Hier ist ein Punkt rot, wenn er in der ersten Spalte oder in der ersten Zeile liegt. Welche Verknüpfung brauchst du also?

Variante B

Ein Punktefeld mit roter Diagonale von links oben nach rechts unten

Tipp zu Variante B

Auf der Diagonalen sind Zeilennummer und Spaltennummer gleich. Dafür brauchst du gar keine Verknüpfung – nur einen Vergleich der beiden Variablen miteinander.

Variante C

Ein Punktefeld, bei dem das obere linke Viertel rot ist

Tipp zu Variante C

Rot ist ein Punkt, wenn er sowohl in einer der ersten fünf Zeilen als auch in einer der ersten fünf Spalten liegt.

Lösungen der drei Varianten. Erfrage das Passwort bei deiner Lehrkraft.

Zusatzaufgabe: Das Schachbrett

Modifiziere dein Programm nun so, dass eine Zeichnung wie unten entsteht.

Ein Punktefeld im Schachbrettmuster aus roten und blauen Punkten

Tipp 1: Wann ist ein Feld rot?

Sieh dir eine einzelne Zeile an: Dort wechseln sich die Farben ab. In der nächsten Zeile ist es genau umgekehrt.

Die Farbe hängt also von beiden Zählern gemeinsam ab.

Tipp 2: Die entscheidende Idee

Betrachte die Summe aus Zeilennummer und Spaltennummer. Ist sie gerade oder ungerade?

Lösung. Erfrage das Passwort bei deiner Lehrkraft.

Selbsttest

Logische Verknüpfungen

Teilbare URL erstellen

Abschnitte auswählen