Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
gf_informatik:funktionen:problems [2023-02-22 10:10] – [Problem 1] gra | gf_informatik:funktionen:problems [2023-11-16 14:27] (aktuell) – [Problem 5] hof | ||
---|---|---|---|
Zeile 2: | Zeile 2: | ||
In jedem der folgenden Codes hat es jeweils einen Fehler bzw. ein Problem. | In jedem der folgenden Codes hat es jeweils einen Fehler bzw. ein Problem. | ||
- | Finde das Problem und beschreibe es in eigenen Worten. | + | Gehe für jedes Problem |
- | Behebe das Problem | + | - *Predict*: Code lesen und voraussagen, |
+ | - *Run*: Führe den Code in WebtigerJython aus und vergleich das Resultat mit deiner Voraussage. | ||
+ | - *Inspect*: Untersuche, weshalb | ||
+ | - *Modify*: Behebe den Fehler im Code. | ||
==== Problem 1 ==== | ==== Problem 1 ==== | ||
Zeile 17: | Zeile 21: | ||
print(" | print(" | ||
| | ||
- | if input(" | + | if input(" |
say_hello | say_hello | ||
else: | else: | ||
Zeile 24: | Zeile 28: | ||
++++Lösung| | ++++Lösung| | ||
- | In der If-Verzweigung unten soll entweder die Funktion // | + | In der If-Verzweigung unten soll entweder die Funktion // |
++++ | ++++ | ||
\\ | \\ | ||
Zeile 44: | Zeile 48: | ||
Wenn du den Code ausführst, siehst du, dass nichts passiert. Die Funktion // | Wenn du den Code ausführst, siehst du, dass nichts passiert. Die Funktion // | ||
'' | '' | ||
+ | ++++ | ||
+ | \\ | ||
+ | |||
+ | ==== Problem 3 ==== | ||
+ | Was ist das Problem mit folgendem Code? | ||
+ | <code python> | ||
+ | import random | ||
+ | |||
+ | def wuerfel(): | ||
+ | return random.randint(1, | ||
+ | |||
+ | def drei_wuerfel(zahl): | ||
+ | return wuerfel() | ||
+ | return wuerfel() | ||
+ | return wuerfel() | ||
+ | |||
+ | print(drei_wuerfel()) | ||
+ | </ | ||
+ | |||
+ | ++++Lösung| | ||
+ | Die Funktion // | ||
+ | ++++ | ||
+ | |||
+ | \\ | ||
+ | ==== Problem 4 ==== | ||
+ | Welche beiden Zahlen gibt folgender Code aus? | ||
+ | <code python> | ||
+ | import math | ||
+ | a = 1 | ||
+ | b = 2 | ||
+ | |||
+ | def summe_quadrate1(a, | ||
+ | return a**2 + b**2 | ||
+ | |||
+ | def summe_quadrate2(x, | ||
+ | return a**2 + b**2 | ||
+ | | ||
+ | print(summe_quadrate1(4, | ||
+ | print(summe_quadrate2(4, | ||
+ | </ | ||
+ | |||
+ | ++++Lösung| | ||
+ | Der Code gibt erst 25, dann 5 aus. Wo liegt nun das Problem? Wenn du nur die letzte Zeile anschaust, würdest du erwarten, dass diese Zeile die Zahl 25 ausgibt (4 hoch 2 plus 3 hoch 2). Aber sie gibt 5 aus. Die Definition der Funktion // | ||
+ | * Variablen, die // | ||
+ | * Falls in der Definition der Funktion eine Variable definiert wird, die gleich heisst wie die globale Variable, handelt es sich dabei um zwei verschiedene Variablen! | ||
+ | |||
+ | **Merke:** Definiere Variablen, die du innerhalb einer Funktion verwendest, immer innerhalb der Funktion, nicht ausserhalb. | ||
+ | |||
+ | ++++ | ||
+ | |||
+ | \\ | ||
+ | ==== Problem 5 ==== | ||
+ | Die Aufgabenstellung geht so: //Schreibe eine Funktion, die eine zufällige Zahl zwischen 1 und 10 zurückgibt.// | ||
+ | |||
+ | Wo liegt das Problem in folgendem Code mit Blick auf die Aufgabenstellung? | ||
+ | <code python> | ||
+ | import random | ||
+ | |||
+ | def zufallszahl(): | ||
+ | print random.randint(1, | ||
+ | | ||
+ | print(zufallszahl()) | ||
+ | </ | ||
+ | |||
+ | ++++Lösung| | ||
+ | Die Funktion `zufallszahl()` gibt keinen Wert // | ||
+ | |||
+ | **Merke:** | ||
+ | * Wenn verlangt ist, dass eine Funktion etwas // | ||
+ | * Wenn verlangt ist, dass eine Funktion etwas // | ||
++++ | ++++ |