Zur Orientierung Funktionen hintereinder schalten In den vorangehenden Kaspiteln haben wir bereits oft Funktionen hintereinander geschaltet. In diesem Abschnitt wiederholen und systematisieren wir die bisher gewonnenen Erkenntnisse. ←Zurück Weiter→ q Startseite 100. Entwürfe 110. Funktionale Programmierung mit Elm + 1. Vorwort + 1. Warum funktional programmieren? + 2. Benötigte Software + 3. REPL - 2. Programmierung mit Elm + 1. Daten und ihre Darstellung + 1. Beispiel - Randsteine Ein Berechnungsproblem Berechnungen in der REPL Das Kostenberechnungsproblem + 2. Experimente - Int und Float Zwei Sorten von Zahlen Rechenoperationen Typumwandlungen Vordefinierte Funktionen + 3. Beispiel - Verschlüsselung Zwei einfache Verschlüsselungsverfahren Experimente in der REPL zum Caesar-Verfahren Experimente in der REPL zum Umkehrverfahren Rückblick und Ausblick + 4. Experimente - Char und String Zeichen und Zeichenketten Vordefinierte Funktionen zur Verarbeitung von Zeichen Vordefinierte Funktionen zur Verarbeitung von Zeichenketten + 5. Beispiel - Schaltjahre Ein Berechnungsproblem Experimente in der REPL + 6. Experimente - Bool Wahrheitswerte Logische Operatoren Vordefinierte boolsche Funktionen + 7. Vertiefung - Operatorrangfolge + 8. Übungen + 9. Fachkonzept - Datentyp + 10. Fachkonzept - Vordefinierte Funktion + 11. Fachkonzept - Ausdruck + 2. Funktionen als Programmierbausteine + 1. Beispiel - Pyramidenbau Ein Berechnungsproblem Modellierung einer Funktion Implementierung einer Funktion Eine weiteres Problem Lösung des weiteren Problems Exkurs - Module + 2. Weitere Beispiele Orientierung Beispiel - Randsteine Beispiel - Verschlüsselung Beispiel - Schaltjahre + 3. Übungen + 4. Fachkonzept - Funktion + 5. Fachkonzept - Konstante + 3. Gestaltung von Funktionsausdrücken + 1. Beispiel - Verschlüsselung Ein neues Verfahren Entwicklung einer Funktionsdefinition Analyse der Funktionsdefinition Verwendung lokaler Konstanten Verwendung des Pipe-Operators + 2. Übungen + 3. Fachkonzept - Hintereinanderschalten von Funktionen + 4. Fachkonzept - Lokale Definitionen + 4. Verwendung von Hilfsfunktionen + 1. Beispiel - Swimming Pool Das Problem Problemzerlegung Teilproblem 1 Teilproblem 2 Teilproblem 3 Gesamtproblem Lösung des Problems + 2. Übungen + 3. Fachkonzept - Verwendung von Hilfsfunktionen + 4. Fachkonzept - Problemzerlegung + 5. Verwendung von Modulen + 1. Beispiel - Zugriff auf Zeichenketten Problemsituation Funktionsmodellierung Implementierung Dokumentation Exkurs - Kommentare Modularisierung Anwendung + 2. Übungen + 3. Fachkonzept - Module + 6. Ausdrücke mit Fallunterscheidungen + 1. Beispiel - Eintrittspreise Problemsituation Eine Fallunterscheidung Geschachtelte Fallunterscheidungen Mehrfachauswahl mit einem Musterabgleich + 2. Beispiel - Datumsangaben Problemsituation Eine Fallunterscheidung Geschachtelte Fallunterscheidungen Mehrfachauswahl mit einem Musterabgleich + 3. Übungen + 4. Fachkonzept - Fallunterscheidung + 5. Fachkonzept - Musterabgleich + 7. Rekursive Funktionsdefinitionen + 1. Beispiel - Begrüßungen Problemsituation Beispielrechnungen Verallgemeinerung Aufwandsbetrachtung Endrekursion + 2. Beispiel - Wege im Gitternetz Problemsituation Problempräzisierung Problemreduktion Rekursive Funktion Aufwandsbetrachtung Alternative Berechnungen + 3. Beispiel - Verschlüsselung Problemsituation Problempräzisierung Teilproblem Problemreduktion Rekursive Funktion + 4. Übungen - Verarbeitung von Zahlen + 5. Übungen - Verarbeitung von Zeichenketten + 6. Fachkonzept - Rekursion + 7. Fachkonzept - Endrekursion + 8. Verarbeitung von Datensätzen + 1. Beispiel - Mailadressen Problemsituation Verwaltung als Record Verwendung von Aliasnamen Zugriff auf die Attribute Verarbeitung von Datensätzen mit Attributzugriffen Verarbeitung von Datensätzen über Mustererkennung Aktualisierung von Datensätzen + 2. Beispiel - Metadaten Problemsituation Verwaltung als Tupel Verarbeitung von Tupel + 3. Übungen + 4. Fachkonzept - Datensatz als Record + 5. Fachkonzept - Datensatz als Tupel + 9. Datenverwaltung mit Listen + 1. Beispiel - Notenliste Problemsituation Verwaltung der Daten Daten hinzufügen Verarbeitung mit vordefinierten Funktionen Rekursive Verarbeitung + 2. Beispiel - Teilnehmerliste Problemsituation Verwaltung der Daten Verarbeitung mit vordefinierten Funktionen Rekursive Verarbeitung + 3. Übungen + 4. Fachkonzept - Liste + 10. Listenverarbeitung mit Operatoren + 1. Beispiel - Polygone Problemsituation Der map-Operator Der filter-Operator fold-Operatoren + 2. Übungen + 3. Fachkonzept - Listenoperatoren + 11. Funktionen als Daten + 1. Beispiel - Monoalphabetische Verschlüsselung Problemsituation Verschlüsselung mit einer Zuordnung Verschlüsselung mit einer Verschiebung Verallgemeinerung der Verschlüsselungsfunktionen + 2. Beispiel - Listenoperatoren Problemsituation Der map-Operator Der filter-Operator Der foldl-Operator + 3. Übungen + 4. Fachkonzept - Funktion höherer Ordnung - 12. Erzeugung von Funktionen + 1. Definition von Funktionen Zur Orientierung Funktionen mit Namen Anonyme Funktionen Verwendungssituationen Fachkonzept - anonyme Funktion + 2. Partiell angewandte Funktionen Zur Orientierung Partielle Funktionsanwendung Iterierte Funktionsanwendung Beispiele und Anwendungen Fachkonzept - Currying - 3. Komposition von Funktionen Zur Orientierung Der Pipe-Operator Der Kompositionsoperator Anwendung - Caesar-Verfahren Fachkonzept - Funktionskomposition + 4. Übungen + 13. Erzeugung von Datentypen + 1. Beispiel - Begrüßung Problemsituation Definition eines neuen Datentyps + 2. Beispiel - Interpreter Problemsituation Verwaltung der Daten Definition eines neuen Datentyps Ausführung von Befehlen Automatisierung der Befehlsausführung Ein wiederhole-Befehl Erweiterungen + 3. Übungen + 4. Fachkonzept - Typdefinition + 14. Fehlerbehandlung + 1. Beispiel - Benutzereingaben Problemsituation Zahlumwandlung Der Datentyp Maybe Eine Umwandlungsfunktion Befehlsumwandlung + 2. Übungen + 3. Fachkonzept - Fehlerbehandlung + 3. Dynamische Webseiten mit Elm + 1. Elm-Projekt + 2. Elm-Projekt + 4. Nachwort