Zum Hauptinhalt springen

Bugs 🪲

Beim Programmieren passieren Fehler. Programmfehler nennt man auch Bugs.

Es gibt zwei Arten von Programmfehlern:

Syntaxfehler
Das Programm ist für den Computer unverständlich und nicht ausführbar.
Problem: Wir sagen es falsch.
Lösung: Fehlermeldung genau analysieren.
Logikfehler (Semantikfehler)
Das Programm ist für den Computer verständlich und wird ausgeführt, macht aber nicht das, was es soll.
Problem: Wir sagen das Falsche.
Lösung: Code genau analysieren (hier gibt es keine Fehlermeldung).

Aufgaben

Aufgabe 1

Beim Ausführen eines Programms stossen Sie auf folgende Fehlermeldung:

Was ist hier wohl das Problem? Halten Sie Ihre Vermutung hier fest:

Laden...
Laden...
Aufgabe 2

Beim Ausführen eines Programms stossen Sie auf folgende Fehlermeldung:

Auf welcher Zeile sollten Sie mit der Fehlersuche beginnen?

Aufgabe 3

Beim Ausführen eines Programms stossen Sie auf folgende Fehlermeldung:

Was könnte hier das Problem sein?

Tipps
  • Um welchen Turtle-Befehl handelt es sich hier wohl?
  • Welche Datentypen haben Sie bereits kennengelernt?
  • Falls Ihnen der Begriff Datentyp noch nichts sagt, dann können Sie diese Aufgabe vorerst überspringen.

Halten Sie Ihre Vermutung hier fest:

Laden...
Laden...
Aufgabe 4

Beim untenstehenden Programm gibt es einen Fehler. Führen Sie das Programm aus, analysieren Sie die Fehlermeldung und korrigieren Sie den Code.

Am Schluss sollte das Programm fehlerfrei ausgeführt werden können.

from turtle import *

shape('turtle')

pencolor('red')

fillcolor('green')
begin_fill()

left(90)
forward(50)
right(90)
forward(50)

left(90)
forward(50)
right(90)
forward(50)

left(90)
forward(50)
right(90)
forward(50)

endfill()

done()
Laden...
Aufgabe 5

Auch in diesem Programm hat sich wieder ein Bug eingeschlichen. Eigentlich sollte hier die UK-Flagge gezeichnet werden, aber das Programm lässt sich momentan nicht ausführen.

Starten Sie das Programm, analysieren Sie die Fehlermeldung und beheben Sie den Fehler. Das Programm sollte danach mindestens ausführbar sein.

Dokumentation

Die korrekte Verwendung aller Turtle-Befehle ist im 👉 Cheatsheet dokumentiert.

from turtle import *

speed(0)
bgcolor('#012169')

penup()
goto(-300, 150)
pendown()
color('white')
pensize(30)
goto(300, -150)

penup()
goto(-300, -150)
pendown()
goto(300, 150)

penup()
goto(-300, 150)
pendown()
color('#C8102E')
pensize(10)
goto(300, -150)

penup()
goto(-300, -150)
pendown()
goto(300, 150)

penup()
goto(0, 150, 0)
pendown()
color('white')
pensize(50)
right(90)
forward(300)

penup()
goto(-300, 0)
pendown()
left(90)
forward(600)

penup()
goto(0, 150)
pendown()
color('#C8102E')
pensize(30)
right(90)
forward(300)

penup()
goto(-300, 0)
pendown()
left(90)
forward(600)

hideturtle()
done()
Laden...
Aufgabe 6

Im untenstehenden Programm hat sich ein Logikfehler eingeschlichen. Eigentlich sollte hier die folgende "Zielscheibe" gezeichnet werden (die Sie bereits kennen):

Korrigieren Sie den Logikfehler.

from turtle import *

hideturtle()

pencolor('red')
dot(160)

pencolor('blue')
dot(120)

pencolor('yellow')
dot(80)

pencolor('pink')
dot(40)

pencolor('black')
dot(200)

done()
Laden...