Informatik

Rückblick

Logik ist der Teil der Programmierung, der sich am ehesten wie Mathematik anfühlt – und der am seltensten ausprobiert wird. Dabei lässt sich jede Behauptung über einen logischen Ausdruck in Sekunden prüfen: einfach ausgeben lassen.

Das kann ich jetzt

  • Ich kann and, or und not anwenden und ihre Bedeutung erklären. (3.1)
  • Ich weiß, dass ein Vergleich einen Wahrheitswert liefert, und kann mit True und False arbeiten. (3.2)
  • Ich kann eine Wahrheitstafel aufstellen. (3.2)
  • Ich kenne die Vorfahrtsregeln: not vor and vor or. (3.3)
  • Ich kann einen logischen Ausdruck durch Klammern eindeutig machen. (3.3)

Gemischte Aufgaben

Aufgabe 1: Vorfahrt beachten

Bestimme für jeden Ausdruck den Wert. Schreib dazu, in welcher Reihenfolge ausgewertet wird – setz dazu die Klammern, die Python sich denkt.

print(not True and False or True)
print(not (True and False) or False)
print(True or False and False)
print((True or False) and False)

a) Notiere die vier Ergebnisse und die gedachten Klammern.

b) Die dritte und die vierte Zeile unterscheiden sich nur durch die Klammern und liefern trotzdem verschiedene Werte. Erkläre.

c) Prüfe deine Antworten im Übungsbereich.

d) Formuliere die Vorfahrtsregel in einem Satz und vergleiche sie mit der Regel „Punkt vor Strich".


      
    
print(not True and False or True) print(not (True and False) or False) print(True or False and False) print((True or False) and False)
Lösung. Erfrage das Passwort bei deiner Lehrkraft.

Aufgabe 2: Bedingungen formulieren

Schreib für jede Situation eine Bedingung in Python. Benutze die Variablen alter, hat_ticket, regen und wochentag.

a) Jemand darf hinein, wenn er mindestens 16 ist und ein Ticket hat.

b) Jemand darf hinein, wenn er mindestens 16 ist oder ein Ticket hat.

c) Es wird gespielt, wenn es nicht regnet.

d) Es wird gespielt, wenn es nicht regnet und der Wochentag weder Samstag noch Sonntag ist.

e) Jemand zahlt den ermäßigten Preis, wenn er jünger als 14 oder älter als 64 ist.

f) Schreib zu d) eine zweite, gleichwertige Fassung, bei der das not an einer anderen Stelle steht.

Tipp zu f)

„Nicht Samstag und nicht Sonntag" ist dasselbe wie „nicht (Samstag oder Sonntag)". Probier beide Fassungen mit allen Wochentagen durch – sie liefern immer denselben Wert.

Lösung. Erfrage das Passwort bei deiner Lehrkraft.

Aufgabe 3: Wahrheitstafel und Turtle

a) Stell die vollständige Wahrheitstafel für a and not b auf. Wie viele Zeilen hat sie?

b) Wie viele Zeilen hätte eine Tafel mit drei Variablen? Begründe.

c) Schreib ein Turtle-Programm, das eine Ampel zeichnet: drei Kreise untereinander. Welche Farbe leuchtet, steuerst du mit zwei Wahrheitswerten frei und warnung:

  • frei wahr und warnung falsch → grün leuchtet,
  • warnung wahr → gelb leuchtet,
  • sonst → rot leuchtet.

Die nicht leuchtenden Lampen bleiben grau.

Tipp 1: Die Kreise

circle(30) zeichnet einen Kreis mit Radius 30. Damit die drei untereinander sitzen, setzt du die Turtle jeweils mit penup(), goto(...) und pendown() an die richtige Stelle.

Gefüllt wird mit begin_fill() vor und end_fill() nach dem Kreis; die Füllfarbe legt fillcolor("green") fest.

Tipp 2: Die Bedingungen

Leg die drei Farben zuerst in Variablen fest und zeichne erst danach:

farbe_oben = "gray"
farbe_mitte = "gray"
farbe_unten = "gray"
 
if frei and not warnung:
    farbe_unten = "green"
elif warnung:
    farbe_mitte = "yellow"
else:
    farbe_oben = "red"

So steht die Entscheidung an einer Stelle und das Zeichnen an einer anderen – das ist auch bei größeren Programmen die richtige Aufteilung.


      
    
from turtle import * shape("turtle") speed(0) frei = True warnung = False # Deine Ampel:
Lösung. Erfrage das Passwort bei deiner Lehrkraft.

Selbsttest

Rückblick

Teilbare URL erstellen

Abschnitte auswählen