Programmieren lernen: Grundlagen einfach erklärt
Beim Programmieren formulierst du eine Lösung so genau, dass ein Computer sie ausführen kann. Dazu ordnest du Befehle, speicherst Werte, triffst Entscheidungen und wiederholst Schritte.
Auf dieser Seite entwickelst du einen kleinen Programmablauf, prüfst ihn schrittweise und findest typische Fehler. Die Grundideen gelten für visuelle Blocksprachen ebenso wie für textbasierte Sprachen wie Python.
Hake ab, was du schon kannst — und komm am Ende hierher zurück!
Vom Problem zum Programm
Ein Computer errät nicht, was du erreichen möchtest. Du musst die Aufgabe zerlegen und jeden nötigen Schritt eindeutig beschreiben.
Programm
Ein Programm ist eine in einer Programmiersprache formulierte Folge von Befehlen. Der Computer führt diese Befehle nach den Regeln der Sprache aus.
Ein hilfreicher Arbeitszyklus besteht aus sechs Schritten:
- Aufgabe verstehen: Was soll am Ende geschehen?
- Lösungsweg entwickeln: Welche Einzelschritte sind nötig?
- Lösung formulieren: Wie lassen sich die Schritte als Befehle ausdrücken?
- Programm ausführen: Was macht der Computer tatsächlich?
- Programm testen: Funktioniert es auch bei unterschiedlichen Eingaben?
- Programm verbessern: Welche fehlerhaften oder unnötigen Schritte müssen geändert werden?
Programmieren endet also nicht mit dem Schreiben des ersten Entwurfs. Testen und Verbessern gehören dazu.
Befehle in die richtige Reihenfolge bringen
Die einfachste Grundstruktur ist die Sequenz: Befehle werden nacheinander ausgeführt. Schon eine vertauschte Reihenfolge kann das Ergebnis verändern.
Sequenz
Eine Sequenz ist eine festgelegte Folge von Befehlen. Jeder Befehl wird an seiner vorgesehenen Stelle ausgeführt.
Ein Zeichenprogramm soll zuerst einen Stift absenken und danach eine Linie zeichnen.
Stift absenkenLinie zeichnenStift anheben
Würde das Programm den Stift zuerst anheben, entstünde keine sichtbare Linie. Der Fehler liegt dann nicht in einem einzelnen Befehl, sondern in der Reihenfolge.
Frage bei einer Befehlsfolge immer: Was muss bereits passiert sein, bevor dieser Schritt funktionieren kann?
Werte mit Variablen verfolgen
Programme müssen sich häufig etwas merken: einen Namen, einen Messwert oder einen Punktestand. Dafür verwenden sie Variablen.
Variable
Eine Variable ist ein benannter Speicherplatz für einen Wert. Eine Zuweisung legt fest, welcher Wert dort gespeichert wird. Eine spätere Zuweisung ersetzt den bisherigen Wert.
Der folgende sprachunabhängige Pseudocode zeigt den Denkweg. Er ist keine festgelegte Programmiersprache.
punkte erhält 2punkte erhält punkte + 1gib punkte aus
Nach Schritt 1 enthält punkte den Wert 2. Schritt 2 liest diesen Wert, erhöht ihn um 1 und speichert das Ergebnis 3 wieder unter demselben Namen. Deshalb gibt Schritt 3 den Wert 3 aus.
Eingabe bedeutet, dass ein Programm einen Wert erhält. Ausgabe bedeutet, dass es ein Ergebnis sichtbar oder anderweitig nutzbar macht.
Mit Bedingungen zwischen Fällen entscheiden
Ein Programm soll oft nicht immer dasselbe tun. Eine Bedingung prüft eine Aussage, die wahr oder falsch sein kann.
Fallunterscheidung
Bei einer Fallunterscheidung führt das Programm abhängig von einer Bedingung unterschiedliche Befehle aus. Häufig wird sie als „wenn – sonst“ formuliert.
Eine Maschine darf nur starten, wenn ihre Tür geschlossen ist:
lies tür_geschlossen einwenn tür_geschlossen wahr ist: gib Start frei aussonst: gib Start gesperrt aus
Die Eingabe kann hier nur wahr oder falsch sein. Der Wenn-Zweig behandelt den ersten Fall, der Sonst-Zweig den zweiten. Damit ist die Unterscheidung vollständig.
Prüfe bei einer Fallunterscheidung: Welche Eingaben erfüllen die Bedingung, und was geschieht mit allen übrigen Eingaben?
Wiederholungen mit Schleifen steuern
Müsstest du denselben Befehl zehnmal aufschreiben, wäre das unübersichtlich. Eine Schleife wiederholt einen oder mehrere Befehle.
Schleife
Eine Schleife ist eine Kontrollstruktur für Wiederholungen. Sie kann eine festgelegte Anzahl von Durchläufen haben oder so lange laufen, wie eine Bedingung erfüllt ist.
Für eine bekannte Anzahl eignet sich eine Zählschleife:
wiederhole 3-mal: spiele einen Ton
Für eine vom Zustand abhängige Wiederholung eignet sich eine bedingungsgesteuerte Schleife:
wiederhole, solange kisten_übrig wahr istpacke eine Kisteaktualisiere kisten_übrig
Der dritte Schritt ist entscheidend. Wird der geprüfte Zustand niemals verändert, kann die Bedingung dauerhaft wahr bleiben. Dann entsteht eine unbeabsichtigte Endlosschleife.
Frage bei jeder bedingungsgesteuerten Schleife: Welcher Befehl kann die Abbruchbedingung verändern?
Ein vollständiges Programm planen und testen
Nun verbindest du Sequenz, Variable, Bedingung und Schleife. Ein kleines Quiz soll drei Antworten prüfen und die richtigen Antworten zählen.
Plan in Pseudocode:
punkte erhält 0wiederhole 3-mal:lies eine Antwort einwenn die Antwort richtig ist:punkte erhält punkte + 1gib punkte aus
Angenommen, die erste und die dritte Antwort sind richtig. Dann entwickelt sich punkte so:
- Start: 0
- nach der ersten Antwort: 1
- nach der zweiten Antwort: 1
- nach der dritten Antwort: 2
Die Ausgabe lautet daher 2. Die Schleife endet nach drei Durchläufen; eine Endlosschleife ist ausgeschlossen.
So testest du gezielt
Ein einzelner Test genügt nicht. Verwende Fälle, die unterschiedliche Teile des Programms prüfen:
- alle Antworten richtig;
- alle Antworten falsch;
- eine Mischung aus richtigen und falschen Antworten;
- genau drei Eingaben, damit du auch das Ende der Schleife prüfst.
Wenn das Ergebnis falsch ist, verfolge die Befehle Schritt für Schritt. Notiere nach jeder Zuweisung den aktuellen Variablenwert und prüfe, welcher Zweig ausgeführt wird. Diese Fehlersuche wird häufig Debugging genannt.
Debugging
Debugging ist das systematische Suchen, Erklären und Beheben von Programmfehlern. Dazu beobachtest du, was das Programm tatsächlich tut, und vergleichst es mit dem geplanten Ablauf.
Karteikasten
Überlege zuerst selbst und drehe die Karte anschließend zum Prüfen um.
Alles auf einen Blick
- Programmieren
- Ausgangspunkt: Aufgabe verstehen und Lösungsweg planen
- Sequenz: Befehle sinnvoll ordnen
- Variable: Werte speichern und verändern
- Bedingung: zwischen vollständig behandelten Fällen wählen
- Schleife: Wiederholungen begrenzen oder durch einen Zustand beenden
- Testen: tatsächliches mit gewünschtem Verhalten vergleichen
- Verbessern: gefundene Fehler gezielt beheben
Ein funktionierendes Programm entsteht durch einen Kreislauf: Du planst einen eindeutigen Ablauf, formulierst ihn mit passenden Grundstrukturen, führst ihn aus, testest verschiedene Fälle und verbesserst erkannte Fehler.
Mit Google fortfahren