Programmiersprachen einfach erklärt
Du lernst, wie Computer Programme ausführen, welche Teile zu einem Programm gehören und welche Sprachart zu deiner Lernaufgabe passt.
Kurz gesagt
Eine Programmiersprache hat feste Regeln, mit denen du ein Programm für einen Computer beschreibst. Ein Programm beschreibt eine Aufgabe für den Computer. Hilfsprogramme helfen dabei, es auszuführen.
Du möchtest, dass ein Computer etwas Bestimmtes tut. Dafür beschreibst du eine Aufgabe genau. Hier untersuchst du erfundene Übungsprogramme und vergleichst verschiedene Wege, Programme zu schreiben.
Deine Lernziele
Mit einer Programmiersprache beschreibst du Aufgaben für einen Computer. Dazu gehören Anweisungen: Sie sagen, was geschehen soll. Du entscheidest, welche Aufgabe dein Programm lösen soll.
Die Sprache gibt feste Schreibregeln vor. Diese Regeln heißen Syntax. Sie bestimmen zum Beispiel, wie du eine Anweisung schreiben darfst. Der geschriebene Programmtext heißt Quelltext oder Quellcode.
Hier betrachten wir für Menschen gut lesbare Textsprachen. Der Prozessor ist das rechnende Bauteil im Computer. Er führt Maschinenbefehle aus. Das sind Anweisungen, die dieser Prozessor direkt ausführen kann. Ihre Darstellung heißt Maschinencode. Den gut lesbaren Quelltext führt der Prozessor nicht direkt aus. Passende Hilfsprogramme helfen beim Übersetzen oder Ausführen.
Schreiben und Ausführen sind verschiedene Tätigkeiten. Beim Schreiben beschreibst du das Programm. Beim Ausführen wird die beschriebene Aufgabe bearbeitet.
Programmiersprache
Eine Sprache mit festen Regeln, mit der du Programme für Computer beschreibst.
Merke: Der Quelltext ist der geschriebene Programmtext. Der Prozessor führt Maschinenbefehle aus. Hilfsprogramme verbinden diese beiden Seiten.
Teste dich
Daten sind Angaben, zum Beispiel Zahlen oder Wörter. Bei einer Eingabe bekommt ein Programm Daten. Bei einer Ausgabe gibt es Daten aus, etwa als Anzeige auf dem Bildschirm. Eine Eingabe allein wird in unseren Übungsprogrammen noch nicht angezeigt.
Eine Variable kannst du dir hier als benannten Platz vorstellen, der einen Wert aufbewahrt. Unter dem Namen kannst du den Wert wiederfinden und verändern. Dieses Bild ist ein einfaches Modell, also eine vereinfachte Vorstellung. Ein Datentyp beschreibt die Art eines Wertes, etwa Zahl oder Text. Bei vielen Programmiersprachen muss für eine Variable ein Datentyp festgelegt werden. Wie das geschieht, hängt von der Sprache ab.
Programme können rechnen und Texte bearbeiten, etwa Wörter verbinden. Eine Bedingung ist eine Aussage, die zutrifft oder nicht zutrifft. Bei „Wenn …, sonst …“ wird der erste Teil ausgeführt, wenn die Bedingung zutrifft. Andernfalls wird der Teil nach „sonst“ ausgeführt. In dieser Form werden nicht beide Teile ausgeführt. Mit einer Wiederholung kannst du dieselben Anweisungen mehrmals ausführen lassen.
Ein Unterprogramm fasst Anweisungen für eine Teilaufgabe zusammen. Eine Bibliothek ist eine Sammlung vorbereiteter Programmteile, die ein Programm nutzen kann.
Unsere erfundene Übungssprache ist Pseudocode: eine leicht lesbare Beschreibung zum Nachdenken, kein direkt ausführbarer Text einer echten Programmiersprache. Lies die Anweisungen von oben nach unten. „Speichere … als …“ legt einen Wert unter einem Namen ab. „Erhöhe … um …“ addiert die genannte Zahl zum gespeicherten Wert. „Zeige …“ gibt den aktuellen Wert aus.
| Bestandteil | Aufgabe |
|---|---|
| Eingabe | Das Programm bekommt Daten. |
| Ausgabe | Das Programm gibt Daten aus. |
| Variable | Ein Wert wird unter einem Namen aufbewahrt. |
| Rechnen | Zahlen werden zum Beispiel addiert. |
| Text bearbeiten | Wörter werden zum Beispiel verbunden. |
| Bedingung | Ob eine Aussage zutrifft, entscheidet über die nächsten Anweisungen. |
| Wiederholung | Dieselben Anweisungen können mehrmals ausgeführt werden. |
| Unterprogramm | Anweisungen für eine Teilaufgabe werden zusammengefasst. |
| Bibliothek | Vorbereitete Programmteile werden bereitgestellt. |
Beispiel: Erfundenes Übungsprogramm: Muscheln zählen
- 1Die ausgedachte Eingabe ist die Zahl 5 für gefundene Muscheln.
- 2Speichere die Eingabe als anzahl.
- 3Erhöhe anzahl um 2.
- 4Zeige anzahl.
- 5Die Ausgabe ist 7. Unter dem Namen „anzahl“ steht jetzt dieser Wert.
Teste dich
Ein Compiler ist ein Hilfsprogramm, das Programmtext in eine andere Form übersetzt. Das kann Maschinencode oder Zwischencode sein. Zwischencode ist eine Zwischenform, die weitere Hilfsprogramme brauchen. Im einfachen Vergleich übersetzt der Compiler vor dem Start. Das ist ein häufiges Vorgehen, keine Regel für jeden Compiler.
Ein Interpreter ist ein Hilfsprogramm, das Programmanweisungen beim Ausführen liest und ausführt. Dabei muss er nicht unbedingt neuen Maschinencode erzeugen. Auch seine Arbeit nutzt den Prozessor, der Maschinenbefehle ausführt.
Beide Wege können zusammenarbeiten: Erst übersetzt ein Compiler den Text in Zwischencode. Eine passende Laufzeitumgebung verarbeitet diesen beim Ausführen weiter. Eine Laufzeitumgebung besteht aus Hilfsprogrammen, die das laufende Programm unterstützen. Sie kann den Zwischencode lesen und ausführen oder weiter in Maschinencode übersetzen. Für diesen Weg braucht jeder verwendete Computer eine passende Laufzeitumgebung.
Eine andere Frage lautet: Wie beschreibst du die Aufgabe? Ein Ansatz ist hier eine Art, an die Aufgabe heranzugehen. Beim imperativen Ansatz gibst du die Schritte vor. Du beschreibst, wie das Ergebnis entstehen soll. Beim deklarativen Ansatz beschreibst du die Bedingungen für das gewünschte Ergebnis. Den genauen Weg dorthin legst du mit diesen Bedingungen nicht selbst fest.
Eine Programmiersprache kann mehrere Ansätze unterstützen. Aus „imperativ“ oder „deklarativ“ folgt nicht, ob ein Compiler oder ein Interpreter verwendet wird.
Merke: Compiler und Interpreter betreffen das Übersetzen und Ausführen. Imperativ und deklarativ betreffen die Beschreibung der Aufgabe. Das sind unterschiedliche Fragen.
Teste dich
Wähle danach, was du üben möchtest. Bei einer visuellen Programmiersprache stellst du ein Programm zum Beispiel aus passenden Bausteinen am Bildschirm zusammen. Visuell bedeutet hier: Du arbeitest mit sichtbaren Teilen statt mit einem vollständig getippten Programmtext. Das kann den Einstieg erleichtern. Auch die Bausteine müssen nach festen Regeln zusammenpassen.
Möchtest du genaue Schritte und ihre Reihenfolge üben? Dann passt ein imperativer Ansatz. Möchtest du Bedingungen für passende Ergebnisse formulieren? Dann passt ein deklarativer Ansatz. Das sind Gründe für eine bestimmte Lernaufgabe, keine Rangfolge von guten und schlechten Sprachen.
Die Merkmale können zusammenpassen. Eine visuelle Sprache kann zum Beispiel einen imperativen Ansatz unterstützen. Sichtbare Bausteine sagen für sich noch nicht, ob ein Programm Schritte oder Ergebnisbedingungen beschreibt. Ebenso entscheidet diese Beschreibung nicht darüber, ob ein Compiler, ein Interpreter oder eine Mischung verwendet wird.
| Was möchtest du üben? | Was passt dazu? | Warum? |
|---|---|---|
| Bausteine am Bildschirm verbinden | Visuell | Du setzt das Programm aus sichtbaren Teilen zusammen. |
| Eine genaue Schrittfolge schreiben | Imperativ | Du legst fest, wie die Aufgabe gelöst wird. |
| Bedingungen für ein Ergebnis angeben | Deklarativ | Du legst fest, was als passendes Ergebnis gelten soll. |
Merke: Nenne bei deiner Wahl die Lernaufgabe und einen passenden Grund. Mehrere Merkmale können gleichzeitig passen.
Teste dich
Alles auf einen Blick
Programmiersprache
Eine Programmiersprache legt fest, wie du Programme beschreiben kannst.
Bei den hier betrachteten Textsprachen helfen passende Hilfsprogramme, den Quelltext auszuführen.
Eingaben, Ausgaben, Variablen und Bedingungen haben verschiedene Aufgaben.
Compiler übersetzen; Interpreter lesen Anweisungen beim Lauf und führen sie aus. Mischformen sind möglich.
Visuell kann den Einstieg erleichtern; imperativ passt zu Schritten, deklarativ zu Ergebnisbedingungen.
Eine Sprachart für eine Bildschirmfigur auswählen
- 1Erfundene Lernaufgabe: Eine Bildschirmfigur soll erst winken und danach eine Drehung machen. Du möchtest diese Schritte selbst festlegen.
- 2Gesucht ist ein Ansatz, mit dem du beschreibst, wie die Figur vorgeht.
- 3Dazu passt ein imperativer Ansatz: Du gibst die Schritte und ihre Reihenfolge vor.
- 4Möchtest du dabei passende Bausteine am Bildschirm verbinden, passt zusätzlich eine visuelle Programmiersprache.
- 5Die Wahl ist begründet: Imperativ passt zur Schrittfolge; visuell passt zum Arbeiten mit Bausteinen.
Fehler finden
Fehler in Zeile 3Die dritte Zeile verwechselt eine Ergebnisbedingung mit einer Schrittfolge. Richtig: Diese Beschreibung ist deklarativ.
Lückentext
Der gut lesbare Text, den du in unserer Erklärung für ein Programm schreibst, heißt . Ein Hilfsprogramm liest Programmanweisungen beim Lauf und führt sie dabei aus. Es arbeitet hier als . Ein Programm gibt die einzelnen Schritte zum Zeichnen eines Sterns vor. Sein Ansatz ist .