🔄 Algorithmen

Schritt-für-Schritt-Anweisungen für Computer

Was ist ein Algorithmus?

Ein Algorithmus ist eine endliche Folge eindeutiger Anweisungen, um ein Problem zu lösen. Es ist wie ein Kochrezept für Computer.

Eigenschaften eines Algorithmus

Alltagsbeispiele

Ein Rezept: „Nimm 2 Eier, schlage sie in eine Schüssel, rühre um, brenne Öl, gieße die Mischung rein…" Das ist ein Algorithmus!

Wegbeschreibung: „Laufe 100 Meter geradeaus, biege nach links ab, gehe 50 Meter, dein Ziel ist rechts." Das ist auch ein Algorithmus!
💡 Ein Algorithmus ist KEIN Code! Es ist die Logik dahinter – unabhängig von der Programmiersprache.

Struktogramm und Ablaufplan

Um Algorithmen visuell darzustellen, benutzt man Struktogramme oder Ablaufpläne.

Grundelemente

Symbol Name Bedeutung
◻️ Rechteck Anweisung (z.B. „x = 5")
Raute Entscheidung/Verzweigung (Ja/Nein)
Pfeil Flussrichtung
Kreis Anfang/Ende

Beispiel: Ist eine Zahl gerade oder ungerade?

⭕ START

┌──────────────────┐
│ Gib Zahl ein: x │
└────────┬─────────┘

◇ x % 2 == 0? ◇
↙ Ja Nein ↘
│ │
◻ Gerade ◻ Ungerade
│ │
└─────┬────────┘

⭕ ENDE

Pseudocode

Pseudocode ist ein Algorithmus beschrieben in Alltagssprache, nicht in echter Programmiersprache. Es ist einfach zu lesen und zu verstehen.

Beispiel: Gerade oder Ungerade?

ALGORITHMUS CheckGerade
  EINGABE: zahl
  WENN zahl % 2 gleich 0 DANN
    AUSGABE: "Die Zahl ist gerade"
  SONST
    AUSGABE: "Die Zahl ist ungerade"
  ENDE WENN
ENDE
Pseudocode liegt zwischen Alltagssprache und echtem Code. Es hilft Programmierern, ihre Logik zu planen, bevor sie echten Code schreiben.

Sortieralgorithmus – Bubblesort

Bubblesort ist ein einfacher Sortieralgorithmus: Man vergleicht benachbarte Elemente und tauscht sie, wenn die Reihenfolge falsch ist.

Beispiel: Zahlen sortieren

Unsortierte Liste: [5, 2, 8, 1, 9]

Durchgang Liste Was passiert
Start [5, 2, 8, 1, 9] Unsortiert
1. Durchgang [2, 5, 1, 8, 9] Vergleiche 5<→2, 5<→8, 8<→1, 8<→9
2. Durchgang [2, 1, 5, 8, 9] Vergleiche 2<→1, 5<→8, 8<→9
3. Durchgang [1, 2, 5, 8, 9] Vergleiche 1<→2, 5<→8, 8<→9
Ergebnis [1, 2, 5, 8, 9] ✓ Sortiert!
Pseudocode Bubblesort:
WIEDERHOLE für jede Position:
  Vergleiche benachbarte Elemente
  WENN links > rechts DANN tausche sie
ENDE WIEDERHOLE

Die 3 Grundstrukturen

Alle Algorithmen bestehen aus nur 3 Grundstrukturen:

1. Sequenz (Abfolge)

Einfache Anweisungen nacheinander:

x = 5
y = 3
z = x + y

2. Verzweigung (Entscheidung)

Je nach Bedingung unterschiedliche Pfade:

WENN x > 10 DANN
  AUSGABE: "x ist groß"
SONST
  AUSGABE: "x ist klein"
ENDE WENN

3. Schleife (Wiederholung)

Befehle mehrfach ausführen:

WIEDERHOLE 10 MAL:
  AUSGABE: "Hallo"
ENDE WIEDERHOLE
Mit nur diesen 3 Strukturen kann man JEDEN Algorithmus beschreiben!

📝 Übungsaufgaben

❓ Aufgabe 1: Wie nennt man eine endliche Abfolge von Anweisungen zur Problemlösung?
❓ Aufgabe 2: Welches Symbol steht in einem Ablaufplan für eine Entscheidung?
❓ Aufgabe 3: Welche 3 Grundstrukturen hat ein Algorithmus?
❓ Aufgabe 4: Was bedeutet 'Endlichkeit' bei einem Algorithmus?
❓ Aufgabe 5: Wie nennt man einen Algorithmus beschrieben in Alltagssprache?