Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Programmiersprachen I F B

Ähnliche Präsentationen


Präsentation zum Thema: "Programmiersprachen I F B"—  Präsentation transkript:

1 Programmiersprachen I F B
Pascal PROLOG CAML C ++ Ada Java LISP I F B Referat zur Veranstaltung „Informatik VI“ (18.635) StD G. Noll Rhein-Gymnasium Sinzig Februar 2001

2 Sprache Eine Sprache besteht aus der Gesamtheit aller möglichen Aussagen und deren Bedeutungen Syntax Regeln zum formalen Aufbau der Sätze Semantik Regeln über die Bedeutung der Sätze „Dieser Satz hat vier Wörter.“ syntaktisch korrekt - semantisch falsch x:=y syntaktisch korrekte Zuweisung, aber semantisch nur korrekt, wenn x und y vom gleichen Datentyp sind

3 Programmiersprachen Computerunterstützte Problemlösungen basieren auf Algorithmen Algorithmen stellen den Zusammenhang zwischen Ein- und Ausgabedaten dar und sind eindeutig und ausführbar sowie endlich bezüglich Ausführungzeit und Beschreibung Das Problem der Übertragung von Algorithmen auf Maschinen führte zur Entwicklung von Programmiersprachen

4 Frühe Programmiersprachen
Schickard (1623), Leibniz (1679) und Babbage (1837) befassten sich bereits mit den Möglichkeiten einer „Programmierung“ Turing (1936) beschrieb eine theoretische Maschine mit zugehöriger Steuerungssprache Zuse (1938) entwickelte ein sog. Plankalkül mit wesentlichen Elementen moderner Programmiersprachen

5 Maschinensprachen Programmiersprachen 1. Generation (1GL)
alle Befehle direkt in der Sprache der CPU das Programm ist eine Folge aus 0 und 1 bei fester Wortlänge enthält ein Befehl einen Operationsteil und einen Adressteil bessere Lesbarkeit durch Hexadezimalsystem

6 Assemblersprachen Programmiersprachen 2. Generation (2GL)
für Operationskodes werden kurze Abkürzungen, die Mnemoniks eingeführt LDA lade den Akkumulator ADD Addition ein Assembler als Übersetzer wird notwendig weitere Flexibilität durch symbolische Adressen, die eine Verschiebung von Programmteilen im Speicher erleichtern

7 Sprachen der 3. Generation
ein Mnemonik beschreibt mehr als einen Maschinenbefehl Verwendung besser lesbarer Schlüsselwörter while not eof(f) do read(f,datensatz) end; typische Sprachen FORmular TRANslating system 1954 COmmon Business Oriented Language 1959 Beginners All purpose Symbolic Instruction Code 1962

8 Softwarekrise Mitte der 60er Jahre erkennt man die Notwendigkeit bei Software auf Korrektheit, Zuverlässigkeit, Benutzerfreundlichkeit, Wartungsfreundlichkeit, Effizienz und Portabilität zu achten Konsequenz: Entwicklung von blockorientierten Sprachen, die diese Qualitätskriterien unterstützen Blöcke sind kleinere Programmeinheiten, die für sich alleine verifizierbar sind ALGOrithmic Language (Hoare, Wirth)

9 Merkmale von ALGOL Blockstruktur strenge Deklarationspflicht
Gültigkeitsbereiche von Variablen zwei Arten der Parameterübergabe rekursive Prozeduren formatfreie Syntax Muttersprache der ALGOL-Familie Pascal  Modula  Oberon ALGOL68  Ada  C

10 Modulkonzept Sammlung von Datenstrukturen und Zugriffsoperationen in Bausteinen mit Datenabstraktion und Information-Hiding getrennten Definitions- und Implementationsteilen strenger Schnittstellenüberwachung bereits zur Übersetzungszeit der Möglichkeit parallele Prozesse zu programmieren Das Modulkonzept unterstützt die strukturierte Programmierung im Software-Engineering

11 Systemprogrammierung
Für die Programmierung von Betriebsystemen sind Sprachen wie Pascal nicht besonders geeignet, da sie hardwarenahe Zugriffe abschirmen (virtuelle Maschine) Im Zusammenhang mit der Entwicklung von UNIX entstand die Sprache C , in der eine assemblerähnliche Programmierung möglich ist, ohne auf die Vorteile einer höheren Programmiersprache verzichten zu müssen

12 C geringer Sprachumfang beliebig ineinander konvertierbare Datentypen
übliche Kontrollstrukturen Unterstützung von Nebeneffekten für eine kompakte Formulierung und effiziente Kodierung. Deshalb oft unverständlich: while(*ziel++ = *quelle++) ; Zahlen aus quelle ins ziel schieben bis 0 auftritt

13 Sprachen der 4. Generation
Schlüsselworte beschreiben komplexe Vorgänge readeach  lese alle vorhandenen Datensätze oft Bestandteil einer Software-Produktions-Umgebung oder eines CASE-Tools vielfach herstellerabhängig typische Sprachen SQL und R/3 (SAP)

14 Sprachen der KI LISt Prozessing language Logo PROgramming in LOGic
bereits 1959 entwickelt, noch heute im Gebrauch Prototyp einer funktionalen Sprache besonders geeignet zur Symbolverarbeitung das CAS-Systeme Derive ist in einer auf LISP basierenden Sprache (muLISP) geschrieben Logo um 1970 von Pappert aus LISP entwickelt enthält Kontrollsstrukturen Turtle-Graphik PROgramming in LOGic Edinburgh um 1970

15 Sprachparadigmen Den Programmiersprachen liegen bestimmte Konzepte oder Denkschemata zu Grunde, nach denen man sie in Sprachparadigmen einordnet: imperative Sprachen funktionale Sprachen prädikative Sprachen objektorientierte Sprachen

16 Imperative Sprachen Programme bestehen aus Befehlssequenzen (imperare = befehlen) Der Programmentwurf orientiert sich an der Arbeitsweise einer hypothetischen Maschine Das Variablenkonzept orientiert sich an Operationen auf Speicherzellen typische Sprachen FORTRAN – ALGOL – BASIC – Pascal – C – Ada

17 Funktionale Sprachen Problemrelevante Abhängigkeiten zwischen einer gegebenen Ausgangssituation und einer gewünsch-ten Endsituation werden mit Hilfe von Funktionen erfasst Ein funktionales Programm besteht aus Funktions-definitionen und relevanten Funktionsaufrufen typische Sprachen LISP – Logo – APL – CAML AG-Material: Funktionale Programmierung informatikag.bildung-rp.de

18 Prädikative Sprachen Programmierung wird als Beweisen in einem System von Tatsachen und Schlussfolgerungen angesehen Es wir spezifiziert, was die Maschine tun soll, aber nicht, wie sie dies tun soll: deklaratives statt prozedurales Programmieren typische Sprachen PROLOG – Trilogy – CLP AG-Material: Wissenverarbeitung mit PROLOG informatikag.bildung-rp.de

19 Objektorientierte Sprachen
Daten, Anweisungen und Regeln werden als Objekte angesehen und als solche geeignet zusammengefasst. Objekte tauschen Informationen über Nachrichten aus können auf Nachrichten mit verschiedenen Methoden reagieren können dem Sender mit einem anderen Objekt antworten erben Fähigkeiten durch Zugehörigkeit zu einer Objektklasse Klassenhierarchien erlauben eine bequeme Behandlung von Sonderfällen eine weitgehende Wiederverwendbarkeit von Programmkode typische Sprachen SIMULA – Smalltalk – C++ – Delphi – Java

20 Literatur Ludewig, J. Claus,V. – Schwill, A. Schalowski, R.
Sprachen für die Programmierung BI Mannheim, 1985 Claus,V. – Schwill, A. Schülerduden „Die Informatik“ BI Mannheim, 1986 Schalowski, R. Programmiersprachen Deutsche Telekom, Unterrichtblätter, 52/1999 S

21 Unterrichtsmaterial Drumm, H. – Stimm, H. Becker, K. Noll, G.
Wissensverarbeitung mit PROLOG Handreichung zum Lehrplan Informatik LMZ Koblenz, 1995 Becker, K. Funktionale Programmierung Materialien zum Lehrplan Informatik LMZ Koblenz, 1999 Noll, G. Einführung in PROLOG Referat zum Weiterbildungslehrgang Informatik IFB Speyer, 2001


Herunterladen ppt "Programmiersprachen I F B"

Ähnliche Präsentationen


Google-Anzeigen