210 likes | 606 Views
Proseminar Grundlagen wissenschaftlichen Arbeitens. Programmiersprachen. Gruppe 9 Christian Donhofer 0125815 Michael Jeremias 0126564 Hans Zojer 0226374. Programmiersprachen. Allgemein Prozedurale Programmiersprachen Objektorientierte Programmiersprachen Funktionale Programmiersprachen.
E N D
Proseminar Grundlagen wissenschaftlichen Arbeitens Programmiersprachen Gruppe 9 Christian Donhofer 0125815 Michael Jeremias 0126564 Hans Zojer 0226374
Programmiersprachen • Allgemein • Prozedurale Programmiersprachen • Objektorientierte Programmiersprachen • Funktionale Programmiersprachen Gruppe 9
Allgemein • Methodische Grundlagen • Historie der Programmiersprachen Gruppe 9
Methodische Grundlagen • Abstrakte Datentypen (ADT, Typ) • Programmierparadigmen • Elemente von Programmiersprachen • Lebensdauer und Bindung • Datentypen und Bindung • Ausdrücke • Sequentielle Ablaufsteuerung • Zuweisungen, Bedingung, Schleife • Prozeduren und Funktionen • Ausnahmen Gruppe 9
Historie der Programmiersprachen • FORTRAN, ALGOL, BASIC • COBOL • PL/I • Pascal, Modula-2 • Ada • C/C++, Smalltalk, Java, C# • LISP, PROLOG Gruppe 9
Prozedurorientierte Programmierung • Grundbegriffe • Strukturierte Programmierung Gruppe 9
Grundbegriffe • Algorithmus • Prozedur • Funktion • Modul Gruppe 9
Strukturierte Programmierung • Nassi-Shneiderman-Diagramm • Sequenz (Anweisungsfolge) • Selektion (bedingte Verzweigung) • Iteration (Schleife) • Prozeduraufruf • Return, Break und Exceptions Gruppe 9
Objektorientierte Programmiersprachen • Objekte und Klassen • Vererbung • Polymorphie Gruppe 9
Objekte und Klassen • Encapsulation / Data Hiding • Interface (Methoden) • Exemplare (Eng.: Instances) Gruppe 9
Vererbung • Gründe: geringe Unterschiede zwischen Klassen, logischer Zusammenhang • Auch Erweitern genannt: abgeleitete Klasse (derived class) erbt alle Daten und Funktionen der Basis- o. Superklasse und definiert zusätzlich eigene Gruppe 9
Polymorphie • Typisierte & untypisierte Sprachen Typisiert: int x = 10; String x = „abc“; Untypisiert: x = 10; x = „abc“; • Arten der Polymorphie Gruppe 9
Funktionale Programmiersprachen • Grundbegriffe • Beispiel: Haskell Gruppe 9
Grundbegriffe • Funktional = mathematisch • Nebenwirkungen • Monaden • Strikte / Bedarfsauswertung • Statische / dynamische Typisierung • Erster / höherer Ordnung Gruppe 9
Beispiel: Haskell data Color = Red | Green | Blue data IntTree = Empty | Branch Int IntTree IntTree data Bool = True | False data Char = chr(0) | ... | chr(255) data Int = MININT | ... | MAXINT sum Empty = 0 sum (Branch n l r) = n + sum l + sum r sum tree = case tree of Empty => 0 | Branch n l r => n + sum l + sum r Gruppe 9