Einführung Inhalte dieses Kurses Generationen der Programmiersprachen

Slides:



Advertisements
Ähnliche Präsentationen
Niklaus Wirth: Prinzipien der Programmiersprachen und PASCAL
Advertisements

ALP II: Objektorientierte Programmierung Sommersemester 2006
Programmiersprachen Eine allgemeine Übersicht der gängigsten Sprachen und ihrer Einteilung Gabriel Bretschner IG08 Fach: Informatiksysteme Einleitung Definition.
Beleg zum Grundlagenversuch am CRS-Roboter
Mixed-up Personal Pronouns Paul Widergren 2004.
Lösung 7.1 Syntax und Semantik
Gliederung des Inhalts
Strukturierte Programmierung
Entwicklung der Programmiersprachen
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/7
Sommersemester 2003 Lars Bernard
7 Verteilungsabstraktion
von Dennis Braun Till Meyenburg Marvin Barghorn
Sebastian Hirsch Sascha Neuhaus
Abstrakter Datentyp in C++ I - Klasse -
VB .NET Proseminar .NET SS04.
Vorlesung Compilertechnik Sommersemester 2008
MSDN Webcast: VB. NET für Einsteiger und Umsteiger Einführung in VB
boolean Datentyp und Operator
Wahlen WP2 Informatik Wer? sie/er hat kein gestörtes Verhältnis zu Variablen sie/er mag Fallunterscheidungen.
SQL PHP und MySQL Referat von Katharina Stracke und Carina Berning
Einführung in die Programmierung
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Simple Programmierung
Wirtschaftsinformatik SQL/QBE1 Abfragen mit QBE und SQL Wirtschaftsinformatik II.
grundlagen der Wirtschafts- informatik
Einführung in die Programmierung Wintersemester 2012/13 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
© Roland Angst, 2010Institute of Visual Computing Informatik I for D-MAVT Exercise Session 1.
Informatik eine 1.0 Einführung.
Dateien Datei = File (engl.) Mögliche Inhalte einer Datei
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Entwicklung der Programmiersprachen
Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Seminar Internet Technologien
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung Wintersemester 2012/13 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Software-Entwicklung & Programmiersprachen
Informatik Objekte und Klassen 1. Objektorientiertes Modellieren und Programmieren 1.1 Objekte und Klassen.
Computerorientierte Physik VORLESUNG und Übungen Vorlesung Zeit: Mo., – Uhr Ort: Hörsaal 5.01, Institut für Physik, Universitätsplatz 5, A-8010.
Historische Entwicklung und ihre Einteilung
Programmieren in C Einführung
Interpreter & Compiler
Programmiersprachen Proseminar Grundlagen wissenschaftlichen Arbeitens
Programmieren in C Einführung
MODULA-2.
Fakultiativkurs Informatik 07/08 Pascal Schuppli / Daniel Hirschi.
Programmieren in C Einführung
Gestern: Kara Steuerung: Endliche Automaten.
Programmieren in C Grundlagen C 2
Objektorientierung.
PhpMyAdmin.
Extended Pascal ( Erweitreung von Pascal) Name: Mehmet CELIK Matr :
The Programming Language Pascal
Programmiersprache PASCAL
Sequenzen: Lineare Programme
Objektorientierte (OO) Programmierung
Software-Entwicklung
Schutzvermerk nach DIN 34 beachten 03/03/16 Seite 1 Rainer Information : Fahrplan zur Programmierung.
Einführung. Ziel der Veranstaltung  Vermittlung von Grundkenntnissen in C++  Solide Basis für anschließende Weiterentwicklung  Fähigkeit, kleine Programme.
Praktische Informatik 1
Praktische Informatik 1
Programmieren in C Einführung
Einführung in die Programmierung
Einführung in die Programmierung
 Präsentation transkript:

Einführung Inhalte dieses Kurses Generationen der Programmiersprachen Datentypen, Variablen und Konstanten Operatoren Kontrollstrukturen Komplexe Datentypen Unterprogrammtechnik Neben allgemeinen Strategien der Programmtechnik orientiert sich dieser Kurs speziell an der Programmiersprache C. Die behandelnden Themen richten sich speziell an die Klassenstufe 10 der IT-Berufe. Ziel ist es dem Schüler ein Werkzeug für die Unterrichtsvor- bzw. Unterrichtsnachbereitung zur Hand zu geben.

Generation 1 und 2 1GL (1st Generation Language) - Sprache der 1. Generation (unterste Ebene) - reine Maschinensprache (nur 1 und 0 ) - prozessorabhängig - Beispiel eines Befehls: 10011101 2GL (2nd Generation Language) - Sprache der 2. Generation - Assemblersprachen (z.B. Assembler) - prozessorabhängig - Beispiel eines Befehls: MOVE.W D4,D1 - Übersetzer in Maschinensprache ist der so genannte Assembler Bevor es Programmiersprachen gab, musste für jede Steuerung eine eigene Hardware entwickelt werden. Nehmen wir beispielsweise eine Firma, die Automaten herstellt. Diese musste für einen Fahrkartenautomaten eine andere Hardware herstellen als für einen Getränkeautomaten. Obwohl viele Automaten große Ähnlichkeiten in der Steuerung aufweisen sind es jedoch die kleinen Unterschiede, die einer Massenproduktion der Hardwareteile entgegen sprechen und somit letztendlich den Stückpreis bestimmen. Ein Ausweg aus dieser Misere stellte die Entwicklung des Mikroprozessors dar. Man hatte eine einheitliche Hardware, die je nach Anwendung mit einem anderen Programm bespielt wurde. Somit stellt die Geburtsstunde des Mikroprozessors auch gleichzeitig die der Programmiersprachen dar. Die ersten Programme wurden in der Sprache des Mikroprozessors geschrieben. Diese “Maschinensprache“ repräsentiert somit die erste Generation der Programmiersprachen. Da diese Sprache jedoch nur aus Einsen und Nullen besteht, erwies sich die Programmierung, Fehlersuche bzw. Wartung von solchen Programmen als sehr schwierig. Als eine Folge hieraus entstand die 2. Generation. Hier weichen die Einsen und Nullen Befehlen wie z.B. MOVE, ADD oder JMP. Ein Assembler übersetzt diese Assemblersprache in die für den Mikro- Prozessor verständliche Maschinensprache.

Generation 3 und 4 3GL (3rd Generation Language) - Sprache der 3. Generation - Hochsprachen (in menschenlesbarer Form z.B. Pascal, Fortran, C, C++, Java, PHP) - prozessorunabhängig, prozedural - ab dieser Stufe ist die plattform- unabhängige Programmierung möglich - Beispiel eines Befehls: cout<<“Hallo“; - Übersetzer in Maschinensprache ist der so genannte Compiler oder Interpreter 4GL (4th Generation Language) - Sprache der 4. Generation - Nicht-prozedurale-Sprachen (z.B. SQL, ABAP , Labview) - prozessorunabhängig, nicht prozedural - Beispiel eines Befehls: create database Test; Mit der dritten Generation kommt schließlich die Prozessor-Unabhängigkeit der Programmiersprachen ins Spiel. Im Gegensatz zu den ersten beiden Generationen ist es für den Programmierer nicht von Bedeutung auf welchem Prozessor sein Programm ausgeführt werden soll. Der so genannte Compiler übersetzt die Sprachen der 3. Generation in die Maschinensprache des verwendeten Mikroprozessors. Mit Programmiersprachen der 4. Generation meint man alle, die mit Hilfe von Assistenten (z.B. Delphi, Visual Basic, LabView) Programme erstellen oder mit Hilfe einer nicht-prozeduralen Sprache Schnittstellen zu anderen Programmen bilden (z.B. SQL, ABAP usw.).

Die Generation 5 5GL (5th Generation Language) - Sprache der 5. Generation - wissensbasierte-Sprachen (z.B. Prolog) - eigenständige intelligente Systeme (KI) - Beispiel einer Regelfolge: just_eat(mosquito,blood(john)). just_eat(frog,mosquito). just_eat(stork,frog). Die letzte Generation der Programmiersprachen widmet sich der künstlichen Intelligenz. In diesen Sprachen suchen die Programme mit der Unterstützung von Regelsätzen die Lösung von bestimmten Problemen selbst. In obigem Beispiel ist ein Regelsatz in der Programmiersprache Prolog formuliert. Im Speziellen geht es um die Nahrungskette. Somit ernähren sich Moskitos von Blut und werden ihrerseits von Fröschen verzehrt. Diese müssen sich vor den Störchen fernhalten, da diese Frösche sozusagen zum Fressen lieb haben. Trifft im Programm also ein Frosch einen Storch so ist hiermit geregelt wer wen vernascht. Oder???

Vom Editor zum Programm Quellcode im Editor RAM Modul 1 Quellcode mit ersetzten # Zeilen Modul 2 Modul 3 .exe Datei Präprozessor (#) Compiler Ersetzt #-Zeilen im Quellcode (fügt z.B. den kompletten Inhalt einer .h-Datei im Quellcode ein) Übersetzt Quellcode in Maschinensprache. Es existieren Verweise auf verschiedene Module (Adressen). Befehle der Standardbibliothek sind bereits in Maschinen-sprache in den .lib-Dateien vorhanden. .lib steht für Libraries Linker (Binder) Bindet alle Programm-Module zu einem zusammen-hängenden Modul (Maschinensprache). = >ausführbares Programm: die .exe Datei z.B. HelloWorld.exe Lader Die Folie verdeutlicht die Entstehung eines Programms. Auf der linken Seite befindet sich der Quellcode in einer für den Menschen gut lesbaren Programmiersprache im Editor des Entwicklungssystems (z.B. Borland C++, DevC++,Visual C++). Im Folgenden wird dieser Code in das für den Mikroprozessor ausführbare Programm übersetzt. Dieses Programm besteht letztendlich nur aus Einsen und Nullen (Maschinensprache). Läd das Programm von einem Speichermedium (z.B. Festplatte) in den Arbeitsspeicher (RAM) und startet das Programm.