DatenbankInformatik-Buch

Algorithmisches Problemlösen

Die Themen im Rahmen des Algorithmischen Problemlösens:

  • Algorithmen bei der automatisierten Datenverarbeitung
  • Algorithmen grafisch darstellen / entwickeln
  • Algorithmen in einer Programmiersprache implementieren
  • systematisches Problemlösen

Einführung Algorithmus

Ein Algorithmus ist eine systematische Lösung für ein Problem. Das heißt, dass für eine bestimmte Kategorie von Problemen immer der gleiche Lösungsweg anwendbar ist. Dieser Lösungsweg heißt dann Algorithmus. Einige Anforderungen an einen Algorithmus, die unmittelbar klar sind, müssen gefordert werden:

  • Endlichkeit - sonst fehlt die Zeit ihn vollständig aufzuschreiben.
  • Ausführbarkeit - was soll man sonst damit?
  • Eindeutigkeit - am Ablauf darf kein Zweifel entstehen.
  • Allgemeinheit - die gesamte Kategorie von Problemen muss gelöst werden können. Sonst ist es nur eine Lösung, kein Lösungsweg.

(vergleiche Gasper, Spengler, Stimm: Technische und theoretische Informatik)

Um einen Algorithmus darzustellen gibt es verschiedene Möglichkeiten:

  • Flussdiagramm / Programmablaufmodell
  • Struktogramm / Strukturbetonte Darstellung
  • Sourcecode (Das Programm in einer bestimmten Programmiersprache.)

Finden eines Algorithmus

  1. Ablaufsituationen klären und die Verarbeitung beschreiben
  2. strukturbetonte Darstellung
  3. Implementierung

Eine optisch unterstütze besonders für Anfänger geeignete Möglichkeit zu lernen, wie Algorithmen in Informatik erstellt und umgesetzt werden ist Robot Karol. Das Programm beinhaltet eine minimale deutsche (!) Programmiersprache mit einem Roboter als optische Rückmeldung.

Top-Down-Methode

Das zu lösende Problem wird von oben nach unten bearbeitet. Das bedeutet, dass man sich eine Lösung für das eigentlich Problem in wenigen Schritten überlegt. Diese einzelnen Schritte sind meist einfacher zu lösen als das gesamte Problem auf einen Schlag. Die einzelnen Schritte sollen also kein schon bekanntes Problem mit vorhandenem Algorithmus darstellen, sondern kleinere ebenfalls noch zu bearbeitende Probleme. Sind die Teilprobleme immer noch zu komplex, wird weiter aufgeteilt. Solange, bis man unten angelangt ist und die Teilprobleme implementieren kann. Dann steigt man wieder auf, bis das ganze System gelöst ist.

Grundlagen mit Karol

Mit Karols Hilfe werden die wichtigsten Grundlagen der Programmierung gelegt:

  • einfache, vorgegebene Befehle nutzen
  • Wiederholungen mit wiederhole (zählergesteuerte Wiederholung)
  • Bedingungen und Wiederholungen mit solange (kopfgesteuerte Wiederholung / Eintrittsbedingung)
  • Unterprogramme / eigene Methoden ⇒ vereinfachte Programme
  • Fallunterscheidungen / situationsbedingtes Vorgehen
  • eigene Bedingungen ⇒ vereinfachte Programme
  • fußgesteuerte Wiederholung / Austrittsbedingung
  • Geschachtelte Wiederholungen
  • Bibliothek anlegen, benutzen

Algorithmen vorgestellt und erläutert

Diese Seite ist für alle, die schon immer wissen wollten, warum der PC weiß, dass „A“ vor „B“ kommt ;) (Und mehr natürlich)

Cookies helfen bei der Bereitstellung von Inhalten. Durch die Nutzung dieser Seiten erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Rechner gespeichert werden. Weitere Information
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC Attribution-Noncommercial-Share Alike 4.0 International