Einführung in die Programmierung Einführung für Computer aufbau IRAM Speicher , Basics > > : Prozessor ) , Programmiersprache > zu geben . Maschinensprache Assemblersprache Problemorientiert , > Syntax , Weg , um Befehle als Sprachen Semantik , , wandeln sich Pragmatik und Quellcode Dialekte " schnell " Idiomatik , Syntax legt grammatikalische Regeln fest > Auswertungsregeln fest Semantik legt > → Pragmatik beschreibt > Idiomatik beschreibt Absicht des Programmierers good practices einer - Sprache Programmiersprachen : 3 > Grund paradigmen > : funktionale / prozedurale logische funktionale Programmierung , ist kurz , Mathematik und leicht wiederverwendbar leicht verständlich Rocket > Präfix notation Funktionen > > Funktionen müssen nach gewissen Häufig sind Hilfsfunktionen Regeln geschrieben von verteil ! und werden Objektorientierte Programm , nah an der . Auswertung Allgemein links assoziativ ausgewertet werden kann > > In jedem > Schritt wird Fallunterscheidungen Möglichkeit > > , Operator gefunden durch bis ein ( Ersetzungsmodell ) geht ein mir Ausdruck wird , der umgeformt : für unterschiedliche Fälle unterschiedliche Ergebnisse und oder vollständig zu liefern if Datenabstraktion > Wenn ein Wert eigentlich nur eine Darstellung von anderen Werten ist , eine Datenstruktur erstellen die dies ermöglicht , > unterschiedliche Datentypen Abhängigkeit des Datentypen machen Wenn Funktionen in verarbeiten müssen , wir eine können Fallunterscheidung Listen und Symbole > sind atomare Daten > > < uns , sich selbst ausgewertet zu angekündigt vorn als Element mit Modi eh heiter , 3 werden ' durch ein Listen werden > , List , listen zu einer Rest liste bauen - betrachtet : 4) Rekursive Funktionen > rufen sich selbst erneut auf > es muss einen nicht rekursiven Fall - geben , mit dem wir die Rekursion endet Top Down - Entwurf - Probleme werden zunächst auf der höchsten Ebene > bekundet Man unterscheidet zwischen 2 Fällen 1 Eine > nur Beide 2 Listen der bei > kann Hilfsfunktionen werden existent Listenverarbeitende Funktionen > → als angenommen : atomar behandelt werden bei einer rekursion Listen müssen aufgebrochen werden beiden Rekursion Formale Aspekte Auswertung > Fragen das und Funktion - werden Ergebnis so Korrektheitsbeweis > genügt nicht Es > Wir müssen > Lokale > lange ausgewertet mit else , dort ist Fallbeispielen zu testen , ob eine Funktion dann funktioniert wir die Induktion aus der Mathematik ( Lernzettelt Definitionen Da manche Werte nur lokal von Bedeutung sind manche Hilfsfunktionen , gebraucht werden und Mehrfachberechnungen vermieden werden sollen , gibt es lokale Definitionen mittels let . > exp beweisen ! es Dafür nutzen bis eine True oder Funktionen von , , Überschreiben lokal sogar globale Definitionen ! nur einmal Akkumulierende Parameter > Rekursive Funktionen sind > Dies ist zum häufig ineffizient und haben nicht lineare Laufzeiten - Beispiel der Fall , wenn eine rekursive Funktion eine rekursive Hilfsfunktion verwendet > iterative > Wir > Abarbeitung bietet eine bauen eine Funktion mit akkumulierenden Parametern Schritt fü Eine Art zwischenspeicher , wo wir das Ergebnis Im besten Fall ist die > Lösung akkumulierende Schritt aufbauen Funktion end rekursiv Funktionen höherer Ordnung > beschreibt Funktionen , die unterschiedliche Funktionen > Wendet diese wenn > Funktionen haben , ersetzen Wenn eine Funktion alle Datentypen verarbeiten kann , einer generischen / polymorphen Funktion fdd , fitter , map können an wir zwei sehr ähnliche Stellen durch einen Parameter > > dann als Parameter erhalten wir die sprechen wir ähnlichen von