Informatik

Weitere Übungen

Hier findest du weitere Aufgaben in der Art des Rückblicks: Zuerst verfolgst du Programme auf Papier, danach schreibst du selbst kleine Programme mit Eingabe, Schleife und Verzweigung.

Werte verfolgen

Aufgabe 1: Verdoppeln, verdreifachen, aufsummieren

Führ für jedes Programm eine Tabelle auf Papier und notiere, was ausgegeben wird.

produkt = 1
for i in range(4):
    produkt = produkt * 2
    print(i, produkt)
zahl = 1
schritte = 0
while zahl < 50:
    zahl = zahl * 3
    schritte = schritte + 1
print(zahl, schritte)
punkte = 0
for runde in range(3):
    for wurf in range(2):
        punkte = punkte + runde
print(punkte)

a) Notiere für jedes Programm alle Ausgabezeilen.

b) Im zweiten Programm ist zahl am Ende größer als 50. Erkläre, warum das kein Fehler ist.

c) Wie oft wird im dritten Programm die Zeile punkte = punkte + runde ausgeführt? Welche Werte werden dabei addiert?

d) Was gäbe das erste Programm aus, wenn produkt = 0 statt produkt = 1 am Anfang stünde?

e) Teste deine Antworten, indem du die Quelltexte unten eingibst.


      
    
produkt = 1 for i in range(4): produkt = produkt * 2 print(i, produkt)
Lösung. Erfrage das Passwort bei deiner Lehrkraft.

Aufgabe 2: Tauschen, abbuchen, Wetter

Führ für jedes Programm eine Tabelle auf Papier und notiere, was ausgegeben wird.

x = 7
y = 3
x = x + y
y = x - y
x = x - y
print(x, y)
konto = 100
monat = 0
while konto > 0:
    konto = konto - 30
    monat = monat + 1
print(monat, konto)
temperatur = 12
for stunde in range(5):
    temperatur = temperatur + 3
    if temperatur > 20:
        print(stunde, "zu warm")
    elif temperatur > 15:
        print(stunde, "angenehm")
    else:
        print(stunde, "zu kalt")

a) Notiere für jedes Programm alle Ausgabezeilen.

b) Beschreibe in einem Satz, was das erste Programm mit den Werten von x und y macht.

c) Im zweiten Programm ist der Kontostand am Ende negativ. Wie müsste man die Bedingung ändern, damit nur abgebucht wird, solange noch mindestens 30 Euro auf dem Konto sind?

d) Im dritten Programm werden die beiden Bedingungen vertauscht: zuerst temperatur > 15, dann temperatur > 20. Was wird jetzt ausgegeben? Erkläre.

e) Teste deine Antworten, indem du die Quelltexte unten eingibst.


      
    
x = 7 y = 3 x = x + y y = x - y x = x - y print(x, y)
Lösung. Erfrage das Passwort bei deiner Lehrkraft.

Aufgabe 3: Eine rätselhafte Folge

zahl = 13
while zahl != 1:
    if zahl % 2 == 0:
        zahl = zahl // 2
    else:
        zahl = 3 * zahl + 1
    print(zahl)

a) Beschreibe in eigenen Worten, was in einem Schleifendurchlauf passiert.

b) Notiere alle Ausgabezeilen. Wie oft läuft die Schleife?

c) Was wird ausgegeben, wenn am Anfang zahl = 1 steht?

d) Probiere am Computer andere Startwerte aus, zum Beispiel 6, 7 und 27. Was fällt dir auf?


      
    
zahl = 13 while zahl != 1: if zahl % 2 == 0: zahl = zahl // 2 else: zahl = 3 * zahl + 1 print(zahl)
Tipp zu a)

zahl % 2 ist der Rest beim Teilen durch 2. Ist er 0, ist die Zahl gerade.

Lösung. Erfrage das Passwort bei deiner Lehrkraft.

Programme schreiben

Aufgabe 4: Kassenbon

An einer Kasse werden nacheinander die Preise der Artikel in ganzen Euro eingegeben. Die Eingabe von 0 beendet den Einkauf. Danach gibt das Programm aus, wie viele Artikel gekauft wurden und was sie zusammen kosten. Liegt die Summe über 50 Euro, gibt es 5 Euro Rabatt – dann soll zusätzlich der Preis nach Abzug des Rabatts ausgegeben werden.

Implementiere das Programm in Python


      
    
Tipp 1: Was brauchst du?

Welche Variablen brauchst du? Denke an den aktuellen Preis, die Summe und die Anzahl der Artikel.

Tipp 2: Ablauf gestalten

Wie oft eingegeben wird, steht vorher nicht fest – du brauchst also eine while-Schleife. Die Entscheidung über den Rabatt fällt erst nach der Schleife, wenn die Summe feststeht.

Tipp 3: Das Gerüst
summe = 0
anzahl = 0
preis = int(input("Preis: "))
 
while preis != 0:
    ...
    preis = int(input("Preis: "))
Lösung. Erfrage das Passwort bei deiner Lehrkraft.

Aufgabe 5: Aufzug

Ein Aufzug steht im Erdgeschoss, also in Etage 0. Das Programm fragt nach dem Zielstockwerk. Dann fährt der Aufzug Etage für Etage nach oben oder unten und gibt dabei jedes Mal die aktuelle Etage aus. Ist das Ziel erreicht, gibt das Programm „Ding!“ aus und wie viele Etagen der Aufzug gefahren ist.

Ein Beispiel für Zielstockwerk −2: Ausgegeben wird Etage -1, Etage -2, Ding!, Gefahrene Etagen: 2.

Implementiere das Programm in Python


      
    
Tipp 1: Was brauchst du?

Du brauchst die aktuelle Etage, das Ziel und einen Zähler für die gefahrenen Etagen.

Tipp 2: Ablauf gestalten

Der Aufzug fährt, solange er nicht im Ziel ist. In jedem Schritt muss er entscheiden, ob er eine Etage hoch oder runter fährt.

Tipp 3: Das Gerüst
etage = 0
gefahren = 0
ziel = int(input("Zielstockwerk: "))
 
while etage != ziel:
    if ziel > etage:
        ...
    else:
        ...
Lösung. Erfrage das Passwort bei deiner Lehrkraft.

Aufgabe 6: Einmaleins-Trainer

Das Programm fragt zuerst, welche Reihe geübt werden soll, zum Beispiel die 7. Danach stellt es genau fünf Aufgaben: „7 mal 1“, „7 mal 2“ bis „7 mal 5“. Nach jeder Antwort gibt es „richtig“ aus oder „falsch, richtig wäre …“ mit dem korrekten Ergebnis. Am Ende gibt das Programm aus, wie viele Aufgaben richtig gelöst wurden.

Implementiere das Programm in Python


      
    
Tipp 1: for oder while?

Die Anzahl der Aufgaben steht vorher fest – fünf. Welche Schleife passt also?

Tipp 2: Die Aufgabe stellen

range(5) zählt von 0 bis 4. Die Aufgaben sollen aber bei „mal 1“ anfangen. Rechne also mit i + 1.

print(reihe, "mal", i + 1)
antwort = int(input("Ergebnis: "))
Tipp 3: Das Gerüst
reihe = int(input("Welche Reihe? "))
richtig = 0
 
for i in range(5):
    ergebnis = reihe * (i + 1)
    ...
Lösung. Erfrage das Passwort bei deiner Lehrkraft.
Weitere Übungen

Teilbare URL erstellen

Abschnitte auswählen