Ein Algorithmus ist eine Folge klarer Schritte
Ein Algorithmus ist eine Folge klarer Schritte, die ein Problem löst. Wer ein Problem in solche Schritte zerlegt, hat die halbe Arbeit des Programmierens schon getan.
Ein Sportverein will wissen, wie viele Punkte seine Mannschaft im Schnitt pro Spiel holt. Ein Mensch rechnet das im Kopf. Ein Rechner braucht jeden Schritt genau beschrieben, auch den scheinbar selbstverständlichen.
Am Ende dieser Lektion
Notiz
Ich kann ein Problem in Schritte zerlegen und mit einer Tabelle nachverfolgen, was ein Programm tut.
Schlüsselwörter
| Begriff | Was er bedeutet | Beispiel |
|---|---|---|
| Algorithmus | eine Folge klarer Schritte, die ein Problem löst | |
| Zerlegung | ein großes Problem in kleine Teilprobleme teilen | |
| Pseudocode | Schritte in Alltagssprache, so genau wie ein Programm | |
| Variable | ein benannter Speicherplatz für einen Wert | summe |
| Ablauftabelle | eine Tabelle mit den Werten der Variablen nach jedem Schritt |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Ein großes Problem wird in kleine Teile zerlegt
Die Zerlegung teilt ein Problem so lange, bis jedes Teilproblem einfach ist. Jedes Teilproblem hat eine Eingabe und eine Ausgabe.
Die Tabelle zeigt, wie der Verein sein Problem zerlegt. Die Reihenfolge ist wichtig: Der Durchschnitt braucht die Summe und die Anzahl.
Ein Beispiel: der Punkteschnitt in fünf Teilen
| Teilproblem | Eingabe | Ausgabe |
|---|---|---|
| Punkte sammeln | Die Ergebnisse der Spiele | Eine Liste: 4, 8, 6 |
| Punkte addieren | Die Liste | Die Summe: 18 |
| Spiele zählen | Die Liste | Die Anzahl: 3 |
| Teilen | Summe und Anzahl | Der Durchschnitt: 6 |
| Ergebnis zeigen | Der Durchschnitt | Eine Zeile auf dem Bildschirm |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Ein Algorithmus legt jeden Schritt fest
Ein Algorithmus nennt die Schritte in einer festen Reihenfolge. Zuerst schreiben Sie ihn als Pseudocode: in Alltagssprache, aber ohne Spielraum.
Danach übersetzen Sie jeden Schritt in eine Zeile Python. Das Diagramm zeigt den Ablauf für den Punkteschnitt.
Derselbe Ablauf läuft als Python-Programm
Der erste Befehl schreibt das Programm in die Datei durchschnitt.py. Der zweite führt es mit python3 aus.
Lesen Sie die Zeilen neben dem Diagramm. Die Schleife for lernen Sie in Lektion 4. Hier genügt es zu sehen, dass sie den Schritt „nimm das nächste Ergebnis“ wiederholt.
Das Programm in eine Datei schreiben
printf 'werte = [4, 8, 6]\nsumme = 0\nanzahl = 0\nfor zahl in werte:\n summe = summe + zahl\n anzahl = anzahl + 1\nprint(summe / anzahl)\n' > durchschnitt.pyHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Das Programm starten
python3 durchschnitt.pyHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Ein häufiger Fehler
Warnung
Viele glauben, ein Rechner verstehe, was man meint. Er tut nur, was dasteht. Schreiben Sie jeden Schritt so genau, dass niemand raten muss, auch den Start bei null.
Eine Ablauftabelle zeigt, was das Programm tut
Eine Ablauftabelle hält nach jedem Schritt fest, welche Werte die Variablen haben. So finden Sie Fehler, bevor Sie das Programm starten.
Gehen Sie dafür das Programm Zeile für Zeile durch, mit Stift und Papier. Eine neue Zeile in der Tabelle entsteht bei jedem Durchlauf.
Ein Beispiel: die Ablauftabelle des Programms
| Schritt | zahl | summe | anzahl |
|---|---|---|---|
| Start | - | 0 | 0 |
| 1. Durchlauf | 4 | 4 | 1 |
| 2. Durchlauf | 8 | 12 | 2 |
| 3. Durchlauf | 6 | 18 | 3 |
| Danach: 18 geteilt durch 3 | - | 18 | 3 |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Der Code zur Ablauftabelle
# Die Punkte aus drei Spielen eines Vereins.
werte = [4, 8, 6]
summe = 0
anzahl = 0
for zahl in werte:
summe = summe + zahl
anzahl = anzahl + 1
durchschnitt = summe / anzahl
print(durchschnitt)
Weiterführend
Zerlegen Sie ein eigenes Problem in fünf Teile. Nehmen Sie den Preis einer Busfahrt für eine Gruppe oder die Summe einer Einkaufsliste. Schreiben Sie den Pseudocode auf, und legen Sie dann eine Ablauftabelle für ein Beispiel mit drei Werten an. Sagen Sie das Ergebnis voraus, bevor Sie es mit Python prüfen.