Fertiges Programm Caesar - interaktiv Hier kannst du eine fertige Version des Caesar-Programms ausprobieren. ←Zurück Weiter→ q Startseite 8. Deklarative Programmierung 2. Funktionale Programmierung mit Elm + 1. Vorwort + 1. Warum funktional programmieren? + 2. Online Programmieren + 3. Lokale Installation + 4. REPL + 5. Mögliche Wege durch das Kapitel + 2. Programmierung mit Elm + 1. Daten und ihre Verarbeitung + 1. Beispiel - Wandtattoo 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 - Wandtattoo Modellierung einer Funktion Implementierung einer Funktion Eine weitere Funktion Typangaben + 2. Vertiefung - Module und Elm-Projekte + 3. Übungen + 4. Fachkonzept - Funktion + 5. Fachkonzept - Konstante + 6. Fachkonzept - REPL und Projekte + 3. Listen und Zeichenketten + 1. Beispiel - Notenliste Problemsituation Verwaltung der Daten Daten hinzufügen Verarbeitung mit vordefinierten Funktionen Listen von Listen Funktionen höherer Ordnung Partielle Funktionsanwendung + 2. Beispiel - Caesar Problemsituation Zeichenketten als Listen Funktionen höherer Ordnung Partielle Funktionsanwendung + 3. Übungen + 4. Fachkonzept - Liste + 5. Fachkonzept - Funktion höherer Ordnung + 4. 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 - let-Ausdrücke + 4. Fachkonzept - Pipe-Operator + 5. Fallunterscheidungen + 1. Beispiel - Eintrittspreise Problemsituation Eine Fallunterscheidung Geschachtelte Fallunterscheidungen Mehrfachauswahl mit einem Musterabgleich + 2. Übungen + 3. Fachkonzept - Fallunterscheidung + 4. Fachkonzept - Musterabgleich + 6. Erzeugung von Funktionen + 1. Anonyme Funktionen Funktionen mit Namen Funktionen ohne Namen + 2. Partiell angewandte Funktionen Partielle Funktionsanwendung Iterierte Funktionsanwendung + 3. Komposition von Funktionen Der Pipe-Operator Der Kompositionsoperator + 4. Übungen + 5. Fachkonzept - anonyme Funktion + 6. Fachkonzept - Currying + 7. Fachkonzept - Funktionskomposition + 7. Verarbeitung von Datensätzen + 1. Beispiel - Mailadressen Problemsituation Verwaltung als Record Verwendung von Aliasnamen Zugriff auf die Attribute Automatisch erzeugte Funktionen Verarbeitung von Datensätzen mit Attributzugriffen Verarbeitung von Datensätzen über Mustererkennung Aktualisierung von Datensätzen Geschachtelte Datensätze + 2. Beispiel - Metadaten Problemsituation Verwaltung als Tupel Verarbeitung von Tupeln + 3. Übungen + 4. Fachkonzept - Datensatz als Record + 5. Fachkonzept - Datensatz als Tupel + 8. Erzeugung von Datentypen + 1. Beispiel - Begrüßung Problemsituation Definition eines neuen Datentyps Implementierung Experimente in der REPL + 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 + 9. Fehlerbehandlung + 1. Beispiel - Benutzereingaben Problemsituation Implementierungsvorschlag Umwandlung von Zahlen Der Datentyp Maybe Verbesserte Funktion + 2. Übungen + 3. Fachkonzept - Fehlerbehandlung + 10. Rekursion + 1. Beispiel - Türme von Hanoi Problemsituation Lösung für kleine Türme Allgemeine Strategie Implementierung in Elm Zusammenfassung + 2. Beispiel - Begrüßungen Problemsituation Beispielrechnungen Verallgemeinerung Aufwandsbetrachtung Endrekursion + 3. Beispiel - Eigene map-Funktion Problemsituation Problempräzisierung Mustererkennung Implementierung von map Verschlüsselung + 4. Beispiel - Wege im Gitternetz Problemsituation Problempräzisierung Problemreduktion Rekursive Funktion Aufwandsbetrachtung Alternative Berechnungen + 5. Übungen - Verarbeitung von Zahlen + 6. Übungen - Verarbeitung von Zeichenketten + 7. Fachkonzept - Rekursion + 8. Fachkonzept - Endrekursion - 3. Dynamische Webseiten mit Elm + 1. Hallo Elm + 1. HTML-Grundlagen + 2. Hallo Elm - online ellie-app.com Analyse Tipps + 3. Hallo Elm - lokal elm init elm make Hot reloading + 4. Übungen + 2. Caesar I Ziele und Voraussetzungen Elementknoten Listen von Knoten Mehrere Elementknoten Geheimtext berechnen view-Funktion Datentypen Verarbeitung von Listen Übungen + 3. Notenauswertung Ziele und Voraussetzungen Einzelnote Gesamtliste Auswertung Übungen + 4. Sport-Ergebnisse Ziele und Voraussetzungen Datenstruktur Grundstruktur Tabellendarstellung Auswertung Übungen - 5. Caesar II Ziele und Voraussetzungen Fertiges Programm Elm - Architektur TEA - Implementierung Texteingabe Erweiterungen Übungen + 6. Nim-Spiel + 1. Fertiges Programm + 7. Umgang mit Fehlern + 8. Zufall + 9. Subscriptions + 10. Flags + 4. Nachwort