Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
| Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
| gf_informatik:programmieren_ii [2025-10-23 05:33] – [Zusatzaufgaben A] hof | gf_informatik:programmieren_ii [2026-04-08 18:16] (aktuell) – hof | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ====== Programmieren II: Python Grundlagen ====== | ====== Programmieren II: Python Grundlagen ====== | ||
| - | < | + | < |
| ===== Von Struktogrammen zu Python ===== | ===== Von Struktogrammen zu Python ===== | ||
| Zeile 135: | Zeile 135: | ||
| Übersetze die Struktogramme der [[gf_informatik: | Übersetze die Struktogramme der [[gf_informatik: | ||
| - | < | + | < |
| ++++Lösungen Aufgaben A| | ++++Lösungen Aufgaben A| | ||
| Zeile 145: | Zeile 145: | ||
| == Teil I== | == Teil I== | ||
| - | <code python> | + | <html>< |
| x = int(input(' | x = int(input(' | ||
| y = int(input(' | y = int(input(' | ||
| print(x + y) | print(x + y) | ||
| - | </code> | + | </bottom-editor></ |
| == Teil II== | == Teil II== | ||
| Einfach: | Einfach: | ||
| - | <code python> | + | <html>< |
| x = int(input(' | x = int(input(' | ||
| y = int(input(' | y = int(input(' | ||
| Zeile 162: | Zeile 162: | ||
| else: | else: | ||
| print(y) | print(y) | ||
| - | </code> | + | </bottom-editor></ |
| === Aufgabe A2 === | === Aufgabe A2 === | ||
| - | <code python> | + | <html>< |
| n = int(input(" | n = int(input(" | ||
| Zeile 174: | Zeile 174: | ||
| print(" | print(" | ||
| - | </code> | + | </bottom-editor></ |
| === Aufgabe A3 === | === Aufgabe A3 === | ||
| == Teil I == | == Teil I == | ||
| - | <code python> | + | <html>< |
| a = int(input(" | a = int(input(" | ||
| b = int(input(" | b = int(input(" | ||
| Zeile 187: | Zeile 187: | ||
| print(c) | print(c) | ||
| print(a) | print(a) | ||
| - | </code> | + | </bottom-editor></ |
| == Teil II == | == Teil II == | ||
| - | <code python> | + | <html>< |
| n = int(input(" | n = int(input(" | ||
| summe = 0 | summe = 0 | ||
| Zeile 198: | Zeile 198: | ||
| summe = summe + zahl | summe = summe + zahl | ||
| print(summe) | print(summe) | ||
| - | </code> | + | </bottom-editor></ |
| === Aufgabe A4 === | === Aufgabe A4 === | ||
| Zeile 492: | Zeile 492: | ||
| Beispiel: Werden $23$ und $5$ eingegeben, so ist die Ausgabe: "23 : 5 = 4 Rest 3" | Beispiel: Werden $23$ und $5$ eingegeben, so ist die Ausgabe: "23 : 5 = 4 Rest 3" | ||
| - | < | + | < |
| ++++Lösungen Aufgaben B| | ++++Lösungen Aufgaben B| | ||
| Zeile 499: | Zeile 499: | ||
| === Aufgabe B1 === | === Aufgabe B1 === | ||
| - | <code python> | + | <html>< |
| + | from math import sqrt | ||
| # 1. | # 1. | ||
| print(7777+8888) | print(7777+8888) | ||
| Zeile 508: | Zeile 509: | ||
| # 4. | # 4. | ||
| print(sqrt(1764)) # ja, ist Quadratzahl | print(sqrt(1764)) # ja, ist Quadratzahl | ||
| - | </code> | + | </bottom-editor></ |
| Bemerkung: Einzelne Werte können auch in Variablen gespeichert werden. Dann kann mit den Variablen gerechnet werden. Es macht den Code aber nur länger. | Bemerkung: Einzelne Werte können auch in Variablen gespeichert werden. Dann kann mit den Variablen gerechnet werden. Es macht den Code aber nur länger. | ||
| === Aufgabe B2 === | === Aufgabe B2 === | ||
| - | <code python> | + | <html>< |
| name = input(" | name = input(" | ||
| city = input(" | city = input(" | ||
| - | age = input(" | + | age = int(input(" |
| print(name + " wohnt in " + city + " und ist " + str(age) + " Jahre alt!") | print(name + " wohnt in " + city + " und ist " + str(age) + " Jahre alt!") | ||
| - | </code> | + | </bottom-editor></ |
| === Aufgabe B3 === | === Aufgabe B3 === | ||
| Zeile 527: | Zeile 529: | ||
| === Aufgabe B4 === | === Aufgabe B4 === | ||
| - | <code python> | + | <html>< |
| + | from math import sqrt | ||
| x = 7 | x = 7 | ||
| x = x*2 | x = x*2 | ||
| Zeile 538: | Zeile 541: | ||
| print(x) | print(x) | ||
| - | </code> | + | </bottom-editor></ |
| === Aufgabe B5 === | === Aufgabe B5 === | ||
| Zählen von $0$ bis $9$: | Zählen von $0$ bis $9$: | ||
| - | <code python> | + | <html>< |
| i = 0 | i = 0 | ||
| while i < 10: | while i < 10: | ||
| print(i) | print(i) | ||
| i = i + 1 | i = i + 1 | ||
| - | </code> | + | </bottom-editor></ |
| Zählen von $0$ bis $99$, es muss nur $10$ durch $9$ ersetzt werden. | Zählen von $0$ bis $99$, es muss nur $10$ durch $9$ ersetzt werden. | ||
| - | <code python> | + | |
| + | <html>< | ||
| i = 0 | i = 0 | ||
| while i < 100: | while i < 100: | ||
| print(i) | print(i) | ||
| i = i + 1 | i = i + 1 | ||
| - | </code> | + | </bottom-editor></ |
| Beachte, Code kann auch z.B. mit `while i <= 9` geschrieben werden. Die Notation `while i < 10` hat aber den Vorteil, dass man sofort sieht, wieviele Zahlen ($10$) angezeigt werden. Natürlich muss dafür $i$ bei $0$ starten. | Beachte, Code kann auch z.B. mit `while i <= 9` geschrieben werden. Die Notation `while i < 10` hat aber den Vorteil, dass man sofort sieht, wieviele Zahlen ($10$) angezeigt werden. Natürlich muss dafür $i$ bei $0$ starten. | ||
| === Aufgabe B6 === | === Aufgabe B6 === | ||
| - | <code python> | + | <html>< |
| my_age_in_years = 14 | my_age_in_years = 14 | ||
| Zeile 567: | Zeile 573: | ||
| my_age_in_seconds = my_age_in_hours * 3600 | my_age_in_seconds = my_age_in_hours * 3600 | ||
| - | print(" | + | print(f"I am {my_age_in_years} years old." |
| - | print(" | + | print(f"I am {my_age_in_days} day old." |
| - | print(" | + | print(f"I am {my_age_in_hours} hours old." |
| - | print(" | + | print(f"I am {my_age_in_seconds} seconds old." |
| - | </code> | + | </bottom-editor></ |
| ++++ | ++++ | ||
| Zeile 594: | Zeile 600: | ||
| {{ : gf_informatik: | {{ : gf_informatik: | ||
| - | < | + | < |
| ++++Tipps| | ++++Tipps| | ||
| Zeile 621: | Zeile 627: | ||
| Schicke das Endresultat per Teams der Lehrperson. | Schicke das Endresultat per Teams der Lehrperson. | ||
| - | < | + | < |
| ++++Lösungen Aufgaben C| | ++++Lösungen Aufgaben C| | ||
| Zeile 628: | Zeile 634: | ||
| === Aufgabe C1 === | === Aufgabe C1 === | ||
| - | <code python> | + | <html>< |
| - | from gturtle | + | from turtle |
| turi = Turtle() | turi = Turtle() | ||
| - | turi.hideTurtle() | + | turi.hideturtle() |
| - | i = 0 | + | sides = 4 |
| - | while i < 4: | + | while sides > 0: |
| - | turi.forward(200) | + | turi.forward(100) |
| turi.left(90) | turi.left(90) | ||
| - | </code> | + | sides = sides - 1 |
| + | </bottom-editor></ | ||
| === Aufgabe C2 === | === Aufgabe C2 === | ||
| - | <code python> | + | <html>< |
| - | from gturtle | + | from turtle |
| monika = Turtle() | monika = Turtle() | ||
| - | monika.hideTurtle() | + | monika.hideturtle() |
| - | monika.setPos(-200,0) | + | monika.teleport(-100,0) |
| - | i = 0 | + | length |
| - | while i < 39: | + | while length > 0: |
| - | monika.forward(10*i) | + | monika.forward(length) |
| monika.left(90) | monika.left(90) | ||
| - | | + | |
| | | ||
| - | monika.setPos(200,0) | + | monika.teleport(100,0) |
| - | i = 0 | + | length |
| - | while i < 96: | + | while length > 0: |
| - | monika.forward(4*i) | + | monika.forward(length) |
| monika.left(90) | monika.left(90) | ||
| - | | + | |
| - | </code> | + | </bottom-editor></ |
| === Aufgabe C3 === | === Aufgabe C3 === | ||
| - | <code python> | + | <html>< |
| - | from gturtle | + | from turtle |
| t = Turtle() | t = Turtle() | ||
| - | t.hideTurtle() | + | t.hideturtle() |
| - | i = 0 | + | radius |
| - | l = 5 | + | while radius > 0: |
| - | while i < 150: | + | t.circle(radius, 180) |
| - | t.rightArc(l,20) | + | |
| - | | + | </bottom-editor></ |
| - | i = i + 1 | + | |
| - | </code> | + | |
| === Aufgabe C4 === | === Aufgabe C4 === | ||
| - | <code python> | + | <html><bottom-editor layout=" |
| - | </code> | + | from turtle import * |
| + | kurt = Turtle() | ||
| + | kurt.speed(8) | ||
| + | |||
| + | side = 100 # Länge der kürzeren Seite | ||
| + | side_ratio = 2 # Soviel länger ist die längere Seite | ||
| + | step_size = 5 # Soviel wird die Länge kürzer pro Durchgang | ||
| + | |||
| + | while side > 0: | ||
| + | kurt.forward(side * side_ratio) | ||
| + | kurt.left(90) | ||
| + | kurt.forward(side) | ||
| + | kurt.left(90) | ||
| + | side = side - step_size | ||
| + | </ | ||
| ++++ | ++++ | ||
| </ | </ | ||
| Zeile 691: | Zeile 710: | ||
| Bei diesen Aufgaben geht es um folgendes: | Bei diesen Aufgaben geht es um folgendes: | ||
| - | | + | |
| * etwas längere Programme schreiben | * etwas längere Programme schreiben | ||
| Zeile 739: | Zeile 758: | ||
| == Schritt 2 == | == Schritt 2 == | ||
| - | Erweitere nun dein Mathe-Quiz. In diesem soll die Aufgabe per Zufall generiert werden. Nutze den Zufallsgenerator von Python, um die beiden Zahlen, die addiert werden sollen, zufällig zu wählen. | + | Erweitere nun dein Mathe-Quiz. In diesem soll die Aufgabe per Zufall generiert werden. Nutze den [[# |
| Dazu musst du das // | Dazu musst du das // | ||
| Zeile 772: | Zeile 791: | ||
| Mache eine Kopie von deinem Mathe-Quiz. Erweitere deinen Code nun so, dass neben der Addition auch Subtraktionen und Multiplikationen vorkommen können. Die Division sollte weggelassen werden, da es dort schnell Aufgaben gibt, die man kaum lösen kann. Welche der drei Operationen an der Reihe ist, soll ebenfalls der Zufall entscheiden. | Mache eine Kopie von deinem Mathe-Quiz. Erweitere deinen Code nun so, dass neben der Addition auch Subtraktionen und Multiplikationen vorkommen können. Die Division sollte weggelassen werden, da es dort schnell Aufgaben gibt, die man kaum lösen kann. Welche der drei Operationen an der Reihe ist, soll ebenfalls der Zufall entscheiden. | ||
| - | < | + | < |
| ++++Lösungen Aufgaben D| | ++++Lösungen Aufgaben D| | ||
| Zeile 779: | Zeile 798: | ||
| === Aufgabe D1 === | === Aufgabe D1 === | ||
| - | <code python> | + | <html>< |
| age = int(input(" | age = int(input(" | ||
| Zeile 788: | Zeile 807: | ||
| else: | else: | ||
| print(" | print(" | ||
| - | </code> | + | </bottom-editor></ |
| === Aufgabe D2 === | === Aufgabe D2 === | ||
| - | <code python> | + | <html>< |
| x = int(input(" | x = int(input(" | ||
| Zeile 801: | Zeile 820: | ||
| else: | else: | ||
| print(" | print(" | ||
| - | </code> | + | </bottom-editor></ |
| === Aufgabe D3 === | === Aufgabe D3 === | ||
| - | <code python> | + | <html>< |
| from turtle import * | from turtle import * | ||
| turi = Turtle() | turi = Turtle() | ||
| + | turi.speed(8) | ||
| turi.hideturtle() | turi.hideturtle() | ||
| Zeile 840: | Zeile 860: | ||
| turi.end_fill() | turi.end_fill() | ||
| - | </code> | + | </bottom-editor></ |
| === Aufgabe D4 === | === Aufgabe D4 === | ||
| - | <code python> | + | <html>< |
| - | </code> | + | import random |
| + | |||
| + | questions = 0 | ||
| + | correct = 0 | ||
| + | |||
| + | while questions < 10: | ||
| + | questions = questions + 1 | ||
| + | |||
| + | x = random.randint(1, | ||
| + | y = random.randint(1, | ||
| + | result = x + y | ||
| + | answer = int(input(f' | ||
| + | if answer == result: | ||
| + | correct = correct + 1 | ||
| + | |||
| + | print(f' | ||
| + | </ | ||
| ++++ | ++++ | ||
| </ | </ | ||