Programmierparadigmen

Get Started. It's Free
or sign up with your email address
Rocket clouds
Programmierparadigmen by Mind Map: Programmierparadigmen

1. Prozedural

1.1. Imperativ

1.1.1. grundlegende Sprachkonstrukte

1.1.1.1. Variablendeklaration mit Typ, Zuweisung mit Typprüfung

1.1.1.2. Bereitstellung Standardtypen & arithmetische Operationen darauf

1.1.1.3. Anweisungen zur Vereinfachung der formatierten Ein- und Ausgabe

1.1.1.4. bedingte Verzweigungen

1.1.1.5. Definition indizierter Felder über andere Typen und verschiedene Schleifenkonstrukte

1.1.1.6. Möglichkeit komplexere Datenzusammenhänge in Strukturen zusammenzufügen und Programmabläufe in verschiedenen Prozeduren oder Funktionen zu strukturieren

1.1.1.7. Zeigervariablen, die Möglichkeit sowohl die Adresse einer Variable anzusprechen als auch den Inhalt der Ziele von Zeigern

1.1.1.8. benutzerdefiniert neue Typen zu benennen, Aufzählungen und Untermengen festzulegen

1.1.2. Vorteile

1.1.2.1. besonderer Bezug zur Lebenswelt und zum Alltagsdenken der Schüler

1.1.2.2. unterstützt elementare, kognitive Prozesse des Denkens, Erkennens und Prob-lemlösens

1.1.2.3. zur Vermittlung gewisser Informatikinhalte werden stets imperative Darstellungen benötigt (konkrete Rechnermodelle)

2. Deklarativ

2.1. Funktional

2.1.1. grundlegende Sprachkonstrukte

2.1.1.1. ausschließliche Verwendung von Funktionen, Definitionen

2.1.1.2. Definition einer Funktion besteht aus Funktionsaufrufen und -kompositionen

2.1.1.3. Bereitstellung Grundfunktionen (Primitive)

2.1.1.4. Lambda-Ausdrücke (anonyme Funktionen, die nach Def. mit Argumenten aufgerufen werden)

2.1.1.5. Bezeichner repräsentiert im Gültigkeits-bereich genau 1 Wert (keine Variablen!)

2.1.1.6. Programme & Daten gleich angesprochen

2.1.1.7. Fkt. = Argumente + Erg. Fkt

2.1.1.8. keine Typisierung Argumente, Verträglichkeitsprüfung zur Laufzeit

2.1.1.9. Schleifen über rekursive Funktionsaufrufe

2.1.2. Beispiele für Sprachen

2.1.2.1. LISP(-dialekte, z.B. Scheme)

2.1.2.2. XML

2.1.3. Vorteile

2.1.3.1. Diskrepanz zwischen Form, in der Programm aufgeschrieben wird und Art,wie es ausgeführt wird, weniger offensichtlich

2.1.3.2. Probleme auf math. Grundprobleme zurückgeführt werden (leichte Beweisbarkeit)

2.1.3.3. Schüler kennen Funktionen aus Mathematik (Querbezüge möglich)

2.1.3.4. Aufteilung komplexer Systeme in Teilsysteme, schrittweise Verfeinerung

2.1.3.5. mit Objektorientierung kombinierbar

2.1.4. Nachteile

2.1.4.1. expliziter Gebrauch Rekursion – schwer für Anfänger

2.1.4.2. mathematische Notation abschreckend

2.1.4.3. Unveränderlichkeit Datenstrukturen bedingt häufiges Kopieren größerer Datenmengen

2.1.4.4. Lebenswelt nicht vollständig funktional, viele Sachverhalte lassen sich nicht modellieren

2.2. Prädikativ/Logisch

2.2.1. grundlegende Sprachkonstrukte

2.2.1.1. aus als wahr angenommenen Aussagen werden andere Aussagen abgeleitet

2.2.1.2. logisches Programm ist Sammlung von Fakten & Anfragen, ob bestimmte Aussagen erfüllbar sind (in welcher Form sie erfüllbar sind)

2.2.1.3. 2 Arten Axiome: Fakten (Aussagen über Elemente /direkte Beziehungen zw. El.) und Regeln (log. Bez.)

2.2.1.4. Finden einer Lösung durch Ausprobieren Mögl. (Backtracking)

2.2.1.5. Anstatt Elemente werden bei Regeln/Anfragen Variablen verwendet (Unifikation)

2.2.2. Beispiele für Sprachen

2.2.2.1. Prolog

2.2.3. Vorteile

2.2.3.1. anfangs besser als Funkt.

2.2.3.2. wenige Sprachelemente

2.2.3.3. relative Nähe zur natürlichen Sprache

2.2.3.4. kein expliziter Gebrauch der Rekursion

2.2.3.5. Logische Aspekte des Problems und nicht Implementierung (der Lösung) im Vordergrund

2.2.3.6. völlig neuer Variablenbegriff

2.2.3.7. Themen theoretischer Inf. gut mit präd. Programmierung (einfache Analyse & Generierung formaler Sprachen, einfache Simulation von Automaten, Übersetzerbau)

2.2.3.8. ausgearbeitete Materialien verfügbar

2.2.4. Nachteile

2.2.4.1. auf höherem Niveau verstärkte Verwendung nicht-deklarativer Elemente

2.2.4.2. bedenkliche Diskrepanz zwischen Form, in der das Programm aufgeschrieben wird (deklarativ) und der Art wie es ausgeführt wird (prozedural)

2.2.4.3. Prädikatenlogik nicht viel mit Alltagssprache und –logik gemein

2.2.4.4. Grenzen schneller erreicht, Probleme lassen sich nicht ganz so leicht formulieren

2.2.4.5. grundlegende Prinzipien wie Unifikation und Resolution für Schüler schwer durchschaubar

2.2.4.6. logisch richtige, aber in der Lebenswelt falsche Schlüsse möglich

2.2.4.7. Closed-World-Annahme: Alles wasnicht in der Faktenbasis formuliert ist wird als falsch angenommen

3. Objektorientiert

3.1. grundlegende Sprachkonstrukte