Logo des digitalen Schulbuchs inf-schule.de. Schriftzug in Zustandsübergangsdiagramm eines endlichen Automaten.

Übungen

Aufgabe 1

Bei einer Mäusepopulation mit drei Altersgruppen bezeichne j die Anzahl der jungen Mäuse, e die Anzahl der erwachsenen Mäuse und a die Anzahl der alten Mäuse. Beschreibe die folgenden Alterskonstellationen jeweils mit einem logischen Ausdruck:

Teste mit einem geeigneten Programm die logischen Ausdrücke.

Aufgabe 2

Was leistet das folgende Programm? Versuche es erst einmal durch Analyse des Quelltextes herauszufinden. Überprüfe deine Vermutung, indem du das Programm testest.

from random import randint

print('Teste deine Kopfrechenfähigkeiten!')
maximum = 20
genug = False
richtig = True
while richtig and (not genug):
    print("Noch ein Test?")
    antwort = input("Antwort (j/n): ")
    if antwort == "j":
        zahl1 = randint(1, maximum)
        zahl2 = randint(1, maximum)
        produkt = zahl1 * zahl2
        print(zahl1, " * ", zahl2)
        ergebnis = int(input("Ergebnis: "))
        if ergebnis == produkt:
            print("richtig!")
        else:
            print("falsch!")
            richtig = False
    else:
        genug = True

Im Programm kommt die Bedingung richtig and (not genug) vor. In welchen Fällen ist diese Bedingung erfüllt / nicht erfüllt? Argumentiere mit den Wertetabellen zu den logischen Operatoren.

Ergänze im Programm einen Zähler, mit dem die Anzahl der richtigen Kopfrechenergebnisse gezählt werden.

Aufgabe 3

Wir betrachten eine Mäusepopulation, die aus jungen, erwachsenen und alten Mäusen besteht. Fallstudie - Populationsentwicklung.

Wir nennen die Population jugendlich, wenn die Anzahl der jungen Mäuse größer als die der erwachsenen Mäuse und diese wiederum größer als die der alten Mäuse ist.

Entwickle einen Algorithmus / ein Programm, das folgendes Problem löst: Der Benutzer gibt die Anfangspopulaton ein. Ausgegeben werden soll die Anzahl der Schritte, die benötigt werden, bis die Population jugendlich ist.

Benutze die logische Variable jugendlich bei der Entwicklung.

Zusatz: Es könnte sein, dass die oben genannte Bedingung nie erfüllt wird. Um eine Endlosschleife zu vermeiden, soll die Berechnung nach maximal 1000 Schritten abgebrochen werden.

Aufgabe 4

Entwickle einen Algorithmus / ein Programm, das eines der beiden folgenden Probleme löst:

Eingabe: natürliche Zahl

Ausgabe: nächst größere Quadratzahl / Primzahl

Benutze die logische Variable gefunden bei der Entwicklung.

X

Fehler melden

X

Suche