📘 CodingMarble Learn

Einführung in das Problemlösen

Beim Lösen eines Problems mit dem Computer gibt es mehrere Phasen: Zuerst analysierst du das Problem (Eingaben, Ausgaben, Regeln). Dann entwickelst du einen Algorithmus, also eine endliche, klare und geordnete Folge von Schritten. Danach programmierst du ihn in einer Programmiersprache, testest ihn mit verschiedenen Eingaben und suchst und beseitigst Fehler (Debugging). Ein Algorithmus lässt sich als Flussdiagramm zeichnen (Oval = Start/Ende, Parallelogramm = Ein-/Ausgabe, Rechteck = Verarbeitung, Raute = Entscheidung, Pfeile = Ablauf) oder als Pseudocode aufschreiben (strukturierte einfache Sprache). Bei der Zerlegung teilst du ein großes Problem in kleinere Teilprobleme, löst sie einzeln und setzt sie wieder zusammen.

🎬 Geschichte Schritt für Schritt

  1. Ein Problem zu lösen hat fünf Phasen: analysieren, Algorithmus schreiben, programmieren, testen und Fehler beheben.
  2. Zerlegung heißt: ein großes Problem in kleine Teile teilen. Löse jeden Teil und füge sie dann zusammen.
  3. Flussdiagramme benutzen Formen. Das Oval ist Start oder Ende. Das Parallelogramm ist Ein- oder Ausgabe. Das Rechteck ist eine Verarbeitung. Die Raute ist eine Entscheidung.
  4. Hier ist ein Flussdiagramm, das die größere von A und B ausgibt. Die Marke folgt dem JA-Weg, weil 7 größer als 4 ist.
  5. Pseudocode schreibt dieselben Schritte in einfacher Sprache auf, Zeile für Zeile.
  6. Du bist dran: Wähle A und B. Beobachte, welchen Weg die Marke nimmt.

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

🤔 Häufige Zweifel, geklärt

Warum schreibt man einen Algorithmus, bevor man programmiert?

Wenn du die Schritte zuerst durchdenkst, programmierst du die richtige Idee. Einen Plan zu verbessern ist viel leichter, als ein großes Programm zu reparieren.

Ist Zerlegung nur etwas für große Software?

Nein. Auch ein kleines Programm wird einfacher, wenn man es in Eingabe, Verarbeitung und Ausgabe teilt.

Warum braucht eine Entscheidung eine Raute?

Die Raute zeigt eine Ja/Nein-Frage mit zwei Ausgängen. Ein Rechteck hat nur einen Ausgang, kann sich also nicht verzweigen.

Was passiert, wenn A gleich B ist?

A > B ist falsch, also nimmt die Marke den NEIN-Weg und gibt B aus, das denselben Wert hat. Probiere es im freien Spiel aus.

Flussdiagramm oder Pseudocode: was ist besser?

Flussdiagramme sind bei kleinen Problemen leichter zu überblicken; Pseudocode ist schneller geschrieben und bei größeren Problemen näher am echten Code.

Schritte des Problemlösens

  1. Problem analysieren: Verstehe, was gegeben ist (Eingabe), was gesucht ist (Ausgabe) und welche Regeln gelten.
  2. Algorithmus entwickeln: Schreibe die Lösung als klare, geordnete Schritte auf.
  3. Programmieren: Übersetze den Algorithmus in ein Programm, zum Beispiel in Python.
  4. Testen: Lass es mit vielen Eingaben laufen, auch mit Grenzfällen (0, negative Zahlen, sehr große Werte).
  5. Fehler beheben (Debugging): Finde und korrigiere Fehler und teste danach noch einmal.

Ein Algorithmus braucht: klare Eingabe und Ausgabe, endlich viele Schritte (er muss anhalten), genaue (eindeutige) Schritte, und er muss das richtige Ergebnis liefern.

Flussdiagramme

Ein Flussdiagramm ist ein Bild eines Algorithmus aus genormten Symbolen, die durch Pfeile verbunden sind.

Flussdiagramme sind leicht zu verstehen, werden bei großen Problemen aber sehr groß.

Pseudocode

Pseudocode schreibt einen Algorithmus in einfachen, sprachähnlichen Anweisungen mit Schlüsselwörtern wie INPUT, COMPUTE, PRINT, IF…ELSE, WHILE. Es ist keine echte Programmiersprache, deshalb muss die genaue Schreibweise nicht stimmen.

INPUT A, B
IF A > B THEN
    PRINT A
ELSE
    PRINT B

Algorithmen können Sequenz (Schritte nacheinander), Auswahl (IF-Entscheidungen) und Wiederholung (Schleifen) enthalten.

Zerlegung

Zerlegung heißt, ein schwieriges Problem in kleinere, einfachere Teilprobleme zu teilen. Jeder Teil wird gelöst (oft von einer anderen Person oder in einer eigenen Funktion) und danach mit den anderen verbunden.

Beispiel: Ein Buchungssystem für Zugtickets zerfällt in: Züge suchen, freie Plätze prüfen, Ticket buchen, Zahlung annehmen, Ticket drucken.

Vorteile: leichter zu verstehen, die Arbeit lässt sich verteilen, Fehler sind leichter zu finden, Teile lassen sich wiederverwenden.

Das kommt in der Prüfung dran

Typische Aufgaben: ein Flussdiagramm zeichnen oder Pseudocode schreiben für einfache Aufgaben (größere von zwei Zahlen, Summe der ersten n Zahlen, gerade/ungerade, Note aus Punkten), Symbole benennen, die Schritte des Problemlösens aufzählen und Zerlegung an einem Beispiel erklären.

Wichtige Formeln und Definitionen

Gelöste Beispiele

1. Schreibe einen Algorithmus für den Flächeninhalt eines Rechtecks.

1. Start. 2. Länge L und Breite B eingeben. 3. Fläche = L × B. 4. Fläche ausgeben. 5. Stopp.

2. Schreibe Pseudocode, der prüft, ob eine Zahl gerade oder ungerade ist.

INPUT N IF N MOD 2 = 0 THEN PRINT "Gerade" ELSE PRINT "Ungerade"

3. Beschreibe ein Flussdiagramm, das die Summe der Zahlen von 1 bis 10 ausgibt.

Start → Verarbeitung: sum = 0, i = 1 → Entscheidung: i <= 10? → Ja: Verarbeitung sum = sum + i, i = i + 1, Pfeil zurück zur Entscheidung → Nein: Ausgabe sum → Stopp.

4. Zerlege die Aufgabe 'ein Sportfest an der Schule veranstalten'.

Teilprobleme: Wettkämpfe festlegen, Schüler anmelden, Platz und Geräte vorbereiten, Zeitplan machen, Ergebnisse werten und eintragen, Preise vergeben. Jedes Teilproblem kann eine Gruppe übernehmen, danach wird alles zusammengefügt.

5. Verfolge das Flussdiagramm 'größere Zahl' für A = 5, B = 12.

Start → Eingabe A = 5, B = 12 → ist 5 > 12? Nein → B = 12 ausgeben → Stopp.

6. Schreibe Pseudocode für die Note: Punkte ≥ 90 → A, ≥ 75 → B, sonst C.

INPUT M IF M >= 90 THEN PRINT "A" ELSE IF M >= 75 THEN PRINT "B" ELSE PRINT "C"

Häufige Fehler

Übungsquiz

1. Welches Symbol steht im Flussdiagramm für eine Entscheidung?
2. Fehler finden und beseitigen heißt:
3. Ein Algorithmus muss:
4. Eingabe und Ausgabe zeichnet man im Flussdiagramm als:
5. Ein Problem in kleinere Teile zu teilen heißt:

Ü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 Schritte des Problemlösens in der Informatik?

Das Problem analysieren, einen Algorithmus entwickeln, programmieren, testen und Fehler beheben.

Was ist der Unterschied zwischen einem Algorithmus und einem Flussdiagramm?

Ein Algorithmus ist die Lösung Schritt für Schritt in Worten; ein Flussdiagramm ist eine Zeichnung derselben Schritte mit Symbolen.

Was ist Zerlegung?

Ein schwieriges Problem in kleinere Teilprobleme zu teilen, die einzeln gelöst und dann wieder zusammengefügt werden.

Wo das unterrichtet wird

Canada (Ontario)Grade 10C. Programming
Canada (Ontario)Grade 11B. Software Development
Canada (Ontario)Grade 11B. Software Development
ItalySecondaria di secondo grado – classe 1ªComputer basics and programming
ItalySecondaria di secondo grado – classe 1ªElements of computer science
ItalySecondaria di secondo grado – classe 1ªElements of computer science
ItalySecondaria di secondo grado – classe 1ªElements of computer science
ItalySecondaria di secondo grado – classe 2ªComputer basics and programming
ItalySecondaria di secondo grado – classe 2ªElements of computer science
ItalySecondaria di secondo grado – classe 2ªElements of computer science
ItalySecondaria di secondo grado – classe 2ªElements of computer science
NetherlandsVWO 3 (onderbouw)Mathematical thinking
NetherlandsHAVO 4 (bovenbouw, 2e fase)Foundations
NetherlandsVWO 4 (bovenbouw, 2e fase)Foundations
PolandLiceum ogólnokształcące, klasa IUnderstanding, analysing and solving problems
PolandLiceum ogólnokształcące, klasa IIIDesigning and programming algorithms (I + II)
RomaniaClasa a VIII-aAlgorithms
RomaniaClasa a IX-aMilitary profile (mathematics-informatics, military)
RomaniaClasa a X-aFundamental algorithms on arrays
Spain2º ESOComputational thinking, programming and robotics
Spain3º ESOComputational thinking, programming and robotics
Spain1º BachilleratoAlgebraic Sense
Spain1º BachilleratoAlgebraic Sense
Spain1º BachilleratoAlgebraic sense and computational thinking
CBSE (India)Class 11Computational Thinking and Programming - 1
England (GCSE, A level)Year 103.1 Fundamentals of algorithms
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 11Algorithms and Programming
Japan高校(専門学科)1〜3年Programming
Japan高校(専門学科)1〜3年Programming Technology
South Korea중학교 2학년Algorithms and programming
South Korea중학교 3학년Abstraction and algorithms
South Korea고등학교 3학년Abstraction and algorithms
FrancePremièreAlgorithms
FranceTerminaleAlgorithms
FranceTerminaleSpecific option — management information systems
Russia7 классAlgorithms and programming
Russia8 классAlgorithms and programming
Russia10 классAlgorithms and programming
China高一Comp.1 Ch.2 Algorithms and programs

Als Nächstes lernen