📘 CodingMarble Learn

Programmieren Grundlagen: Sequenz, Verzweigung, Schleifen und Funktionen

Ein Programm ist eine Liste genauer Anweisungen, die ein Computer befolgt. Jedes Programm besteht aus drei Bausteinen: Sequenz (Schritte nacheinander), Selektion (if/else-Entscheidungen) und Iteration (Schleifen). Variablen speichern Werte. Funktionen fassen Code in wiederverwendbaren Blöcken mit Namen zusammen. So wird ein Programm übersichtlich und lässt sich leichter testen, korrigieren und pflegen.

🎬 Geschichte Schritt für Schritt

  1. Ein Programm ist eine Liste genauer Schritte. Sieh zu, wie jede move()-Zeile aufleuchtet, wenn der Roboter einen Schritt macht.
  2. Eine Variable ist eine Kiste mit einem Namen. score startet bei 0, dann kommen 5 dazu, dann noch einmal 5.
  3. Mit if kann das Programm entscheiden. Auf jedem Feld fragt es: Wand voraus? Nur wenn die Antwort Ja ist, hält es an.
  4. Eine Schleife wiederholt Zeilen. Zwei Codezeilen ergeben vier Bewegungen, während ein Zähler 1, 2, 3, 4 zählt.
  5. Eine Funktion ist Code, den du einmal benennst und immer wieder benutzt. Dann ein Bug: Der Roboter hält ein Feld zu früh. Ändere die Zahl und teste noch einmal.
  6. Jetzt bist du dran. Stelle die Anzahl der Wiederholungen und die Wandprüfung ein. Erst vorhersagen, dann starten.

Tipp: Zieh die 3D-Szene, um sie zu drehen. Mit zwei Fingern zoomst du.

🤔 Häufige Zweifel, geklärt

Warum kann der Computer nicht einfach erraten, was ich meine?

Ein Computer befolgt Anweisungen genau und der Reihe nach. Fehlt ein Schritt oder steht er an der falschen Stelle, macht der Roboter das Falsche.

Wie kann score = score + 5 stimmen? Eine Zahl kann doch nicht gleich sich selbst plus 5 sein.

Im Code bedeutet = "speichern". Die rechte Seite wird zuerst mit dem alten Wert berechnet, dann kommt das Ergebnis in die Kiste.

Führt ein if beide Zweige aus?

Nein. Die Bedingung ist True oder False, und nur ein Zweig läuft. Sieh dir den Roboter an: Er geht weiter, bis die Bedingung True wird, dann läuft nur noch stop.

Wozu dient der Zähler i in einer Schleife?

Er merkt sich, wie oft die Schleife schon gelaufen ist, damit sie weiß, wann sie aufhören muss. Beim Roboter siehst du i = 1, 2, 3, 4.

Warum eine Funktion benutzen, wenn ich den Code einfach kopieren kann?

Eine Definition kann oft benutzt werden. Findest du einen Bug, behebst du ihn einmal, und jeder Aufruf ist repariert.

Das Programm lief ohne Fehlermeldung. Warum ist es trotzdem falsch?

Das ist ein Logikfehler: Der Code ist gültig, aber der Plan ist falsch, zum Beispiel eine Schleife, die 4 Mal statt 5 Mal läuft.

Was ist ein Programm?

Ein Algorithmus ist ein Plan in einzelnen Schritten, um ein Problem zu lösen. Ein Programm ist dieser Plan, aufgeschrieben in einer Sprache, die ein Computer versteht, zum Beispiel Python, Scratch, Java oder C. Der Computer tut genau das, was im Programm steht, nicht mehr und nicht weniger.

Die meisten Programme folgen dem Muster Eingabe → Verarbeitung → Ausgabe: Daten hereinholen, damit arbeiten, ein Ergebnis liefern. Bevor du programmierst, plane mit Pseudocode (Schritte in einfacher Sprache) oder einem Flussdiagramm.

Sequenz heißt: Die Anweisungen laufen der Reihe nach von oben nach unten. Wenn du die Reihenfolge änderst, kann sich das Ergebnis ändern.

Variablen und Datentypen

Eine Variable ist ein Speicherplatz mit Namen für einen Wert. score = 0 ist eine Zuweisung: Sie legt die 0 in die Kiste namens score. score = score + 5 liest den alten Wert, addiert 5 und speichert den neuen Wert.

Häufige Datentypen:

Eine Konstante ist ein Wert, der sich während des Programmlaufs nicht ändert, wie die Anzahl der Tage in einer Woche. Gute Namen (total_marks statt x) machen den Code leicht lesbar.

Selektion und Iteration

Selektion (if / else)

Ein Programm prüft eine Bedingung, die entweder True oder False ist, und führt dann genau einen Zweig aus.

if marks >= 33:
    print("Pass")
else:
    print("Try again")

Bedingungen nutzen Vergleichsoperatoren (==, !=, <, >, <=, >=) und logische Operatoren (and, or, not).

Iteration (Schleifen)

Funktionen und modularer Aufbau

Eine Funktion (auch Unterprogramm, Prozedur oder Methode genannt) ist ein Codeblock mit Namen. Du definierst sie einmal und rufst sie auf, wann immer du sie brauchst.

def area(length, width):
    return length * width

print(area(4, 3))   # 12

Modularer Aufbau heißt: Ein großes Problem wird in kleine Teile zerlegt (Zerlegung), und jeder Teil wird als eigene Funktion geschrieben und getestet. Vorteile: weniger doppelter Code, leichteres Testen, Teamarbeit, und eine Korrektur wirkt an jeder Stelle, an der die Funktion benutzt wird.

Testen, Fehlersuche und Code-Pflege

Es gibt drei Arten von Fehlern:

Testen nutzt normale Daten, Grenzdaten (am Rand, z. B. genau 33 Punkte) und ungültige Daten (z. B. -5 Punkte). Eine Trace-Tabelle notiert den Wert jeder Variablen Zeile für Zeile, um die Stelle des Fehlers zu finden.

Gut wartbarer Code hat sinnvolle Namen, Kommentare, die das Warum erklären, einheitliche Einrückung, kleine Funktionen und keine hineinkopierten Blöcke. Programmierer nutzen außerdem Versionsverwaltung, um den Verlauf der Änderungen festzuhalten.

Ausprobieren: Roboter ohne Computer

Bitte eine Freundin oder einen Freund, der Roboter zu sein. Schreibe Anweisungen auf Papier und benutze nur: step, turn left, turn right, repeat n und if wall: turn. Führe ihn von der Tür zu einem Stuhl. Hat der Roboter genau das getan, was du aufgeschrieben hast? Behebe die Bugs und versuche es noch einmal. Öffne dann das freie Spiel in 3D und sage voraus, wo der Roboter anhält, bevor du irgendetwas drückst.

Wichtige Formeln und Definitionen

Gelöste Beispiele

1. x = 4, dann x = x * 2, dann x = x - 3. Was ist x?

Zeile für Zeile: x = 4 → x = 8 → x = 5. Also x = 5.

2. Was gibt das aus? for i in range(1, 4): print(i * 10)

i nimmt die Werte 1, 2, 3 an, also werden 10, 20, 30 ausgegeben.

3. age = 15. Was gibt das aus? if age >= 18: print("Adult") else: print("Minor")

15 >= 18 ist False, also läuft der else-Zweig: Minor.

4. Schreibe eine Funktion, die die größere von zwei Zahlen zurückgibt.

def bigger(a, b): if a > b: return a else: return b

5. Trace: total = 0; for n in range(1, 4): total = total + n. Was ist total am Ende?

n = 1 → total 1; n = 2 → total 3; n = 3 → total 6. Endwert: total = 6.

6. Ein Programm soll die Zahlen 1 bis 5 ausgeben, benutzt aber for i in range(1, 5). Welcher Fehler ist das, und wie behebst du ihn?

Es ist ein Logikfehler (Off-by-one). Es werden nur 1 bis 4 ausgegeben. Lösung: range(1, 6).

Häufige Fehler

Übungsquiz

1. Anweisungen der Reihe nach nacheinander auszuführen heißt:
2. Welcher Baustein trifft eine Entscheidung?
3. Nach x = 3 und x = x + 4 ist x gleich:
4. Ein Programm läuft, gibt aber die falsche Antwort. Das ist ein:
5. Ein benannter, wiederverwendbarer Codeblock ist eine:

Üben: Beantworte diese selbst

Tippe oder wähle deine Antwort und drücke dann Prüfen. Nutze einen Tipp, wenn du nicht weiterkommst; die ganze Lösung erscheint nach deiner Antwort.

Häufig gestellte Fragen

Was sind die Grundlagen des Programmierens?

Variablen speichern Daten, und drei Bausteine steuern die Schritte: Sequenz, Selektion (if/else) und Iteration (Schleifen). Funktionen helfen dir dann, Code zu ordnen und wiederzuverwenden.

Welche Sprache soll ich zuerst lernen?

Die Ideen sind in jeder Sprache gleich. Scratch eignet sich gut für Jüngere. Python ist beliebt, weil der Code kurz und gut lesbar ist.

Was ist Debugging?

Fehler (Bugs) in einem Programm finden und beheben, oft mit Tests und verschiedenen Eingaben und indem man die Werte der Variablen Zeile für Zeile verfolgt.

Wo das unterrichtet wird

Canada (Ontario)Grade 8C. Algebra
Canada (Ontario)Grade 8A. STEM Skills and Connections
Canada (Ontario)Grade 9C. Algebra
Canada (Ontario)Grade 10C. Programming
Canada (Ontario)Grade 11C. Exploration of Opportunities
Canada (Ontario)Grade 11A. Programming Concepts and Skills
Canada (Ontario)Grade 11B. Software Development
Canada (Ontario)Grade 11A. Programming Concepts and Skills
Canada (Ontario)Grade 11B. Software Development
Canada (Ontario)Grade 11B. Computer Technology Skills
Canada (Ontario)Grade 12D. Interacting with School-Age Children and Adolescents
Canada (Ontario)Grade 12A. Programming Concepts and Skills
Canada (Ontario)Grade 12B. Software Development
Canada (Ontario)Grade 12A. Programming Concepts and Skills
Canada (Ontario)Grade 12B. Computer Technology Skills
NetherlandsVWO 2 (onderbouw)Using digital technology
NetherlandsHAVO 4 (bovenbouw, 2e fase)Programming
NetherlandsVWO 5Programming
PolandSzkoła podstawowa, klasa VIIProgramming and solving problems with computers
PolandSzkoła podstawowa, klasa VIIIProgramming and solving problems with computers
PolandLiceum ogólnokształcące, klasa IIProgramming and solving problems with computers
RomaniaClasa a VIII-aAlgorithms
RomaniaClasa a X-aProgramming language basics
Spain2º ESOComputational thinking, programming and robotics
Spain3º ESOComputational thinking, programming and robotics
Spain1º BachilleratoComputer systems and programming
England (GCSE, A level)Year 9Computer science
England (GCSE, A level)Year 103.2 Programming
England (GCSE, A level)Year 134.1 Fundamentals of programming (A-level)
USA (Common Core, NGSS, AP)Grade 8Algorithms and Programming
USA (Common Core, NGSS, AP)Grade 9Algorithms and Programming
USA (Common Core, NGSS, AP)Grade 10Big Idea 3: Algorithms and Programming
USA (Common Core, NGSS, AP)Grade 11Using Objects and Methods
USA (Common Core, NGSS, AP)Grade 11Data Collections
USA (Common Core, NGSS, AP)Grade 11Algorithms and Programming
Japan中学3年Technology: information technology
Japan高校(専門学科)1〜3年Programming for Information Systems
South Korea중학교 2학년Algorithms and programming
South Korea중학교 3학년Programming
South Korea고등학교 2학년Algorithms and programming
South Korea고등학교 2학년Symbols and logic
South Korea고등학교 2학년Software for creation
South Korea고등학교 3학년Programming
Russia8 классAlgorithms and programming
Russia8 классAlgorithms and programming
Russia9 классAlgorithms and programming

Vorher lernen

Als Nächstes lernen