Ü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:
- j liegt zwischen e und a
- j, e und a sind alle verschieden
- a ist nicht die kleinste Zahl
- mindestens zwei Anzahlen sind gleich groß
- genau zwei Anzahlen sind gleich groß
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.