Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Programmierung

No description
by

Dario Ziegert

on 6 June 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Programmierung

Von Dario Ziegert Programmierung Algorithmen
In Form von Computerprogrammen und elektronischen Schaltkreisen steuern sie Computer und andere Maschinen.
Rechenvorschriften, die von einem Computer ausgeführt werden können.
Bei einem Algorithmus handelt es sich um ein System von Anweisungen. die einen Prozessor in einer genau bestimmten Befehlsreihenfolge zu endlich vielen und ausführbaren Handlungen veranlassen. Höhere Programmiersprache Diese ersten höheren Sprachen enthielten abstrakte Elemente wie bedingte Anweisungen („wenn x wahr, dann führe y aus“) und Schleifen („solange x gilt, führe y aus“). Diese Konstrukte konnten nun mit weniger Aufwand programmiert werden und drückten in lesbarer Form ihren Zweck aus.
Später folgten weitere Sprachen, die ein höheres Maß an Abstraktion boten
Die meisten „modernen“ Programmiersprachen (BASIC, C, C++, C#, VB.NET, Pascal und Java) sind Sprachen der dritten Generation. Was Ist "Programmierung" ??? Unter Programmierung versteht man ganz formal gesehen die Erstellung von Software für einen Computer.
Um programmieren zu können, benötigt man eine Programmiersprache, eine Schnittstelle zur Maschinensprache und natürlich einen Computer, auf dem das Programm laufen kann. Programmiersprachen Arten Strukturierte Programmiersprachen
Imperative Programmiersprachen
Deklarative Programmiersprachen
Objektorientierte Programmiersprachen Maschienensprache Maschinensprache ist eine Programmiersprache, in der die Instruktionen, die vom Prozessor eines Computers direkt ausgeführt werden können.
Programmcode in Maschinensprache wird heutzutage kaum mehr von Programmierern direkt erzeugt, sondern unter Nutzung einer höheren Programmiersprache oder einer Assemblersprache.
Erst mithilfe eines Compilers und/oder Assemblers und/oder Linkers ausführbarer Maschinencode entsteht. Ende Quellen: Inhaltsverzeichnis Assembler
Compiler
Interpreter Strukturierte Programmiersprachen
Imperative Programmiersprachen
Deklarative Programmiersprachen
Objektorientierte Programmiersprachen Was ist Programmierung? Algorithmus. Maschienensprache. Höhere Programmiersprache. Welche Programmiersprachen gibt es? Geschichte der Programmiersprache. Geschichte Der Programmiersprache http://tilman.de/uni/ws03/alp/eigenschaftenVonAlgorithmen.php
http://de.wikipedia.org/wiki/Programmiersprache
http://de.wikipedia.org/wiki/Programmierparadigma
http://de.wikipedia.org/wiki/H%C3%B6here_Programmiersprache
http://www.schmedi.de/belegarbeit/Seiten/programmierung.html
http://www2.informatik.uni-halle.de/lehre/prog/strukt_prog.html
http://de.wikibooks.org/wiki/Strukturierte_Programmierung Eine Programmiersprache ist eine formale Sprache zur Formulierung von Datenstrukturen und Algorithmen. Assembler Wird von „Programmierung in Maschinensprache“ gesprochen, ist heute üblicherweise die Programmierung in Assemblersprache gemeint.
ist ein Hilfsprogramm der Programmierung , das ein in maschinennaher Assemblersprache geschriebenes Computerprogramm in Maschinensprache übersetzt.
Manche Hochsprachencompiler übersetzen ein Programm zuerst in Assemblersprache und rufen dann einen Assembler zur Erzeugung von Maschinensprache auf. Während sich Hochsprachen eher an der menschlichen Sprache orientieren , orientiert sich Assemblersprache eng an der Maschine. Verschiedene Assembler Crossassembler
Disassembler
Maschinensprachemonitor Platzsparende, stark komprimierte Syntax Assembler
sprache Höhere
Programmier-
sprache Nur auf einem bestimmten Prozessortyp lauffähig Maschinennahe Befehle erhöhen die Geschwindigkeit
Datentypen des Prozessors (Byte, Wort, Langwort) Sprungbefehle, Makros Nur grundlegende semantische Analyse möglich Syntax oft an menschliche Denkgewohnheiten angepasst Größtenteils maschinenunabhängig Geschwindigkeitsverlust durch Abstraktion Abstrakte, maschinenunabhängige Datentypen (Ganzzahl, Gleitkommazahl, ...) Mehrere Kontrollstrukturen (if, while,...) Nur einfache Typen Datenstrukturen (Feld, Record) Weitgehende semantische Analyse möglich Unterschiede zwischen Assembler Gliederung 1.0 Programmierung
1.1 Algorithmen
2.0 Maschienensprache
2.1 Assembler
2.2 Compiler
2.3 Interpreter
3.0 Höhereprogrammierung
3.1 Unterschiede Zwischen Assembler
4.0 Programmiersprachen
4.1 Strukturierte Programmiersprachen
4.2 Imperative Programmiersprachen
4.3 Deklarative Programmiersprachen
4.4 Objektorientierte Programmiersprachen
5.0 Geschichte Der Programierung
Was ist Programmierung? Einleitung Hauptteil Schluss 1.0 Fazit
2.0 Quellen Strukturierte Programmiersprachen Imperative Programmiersprachen Deklarative Programmiersprachen Objektorientierte Programmiersprachen Ziel der strukturierten Programmierung ist es, Algorithmen so darzustellen, daß ihr Ablauf einfach zu erfassen und zu verändern ist.
Es beinhaltet zum einen die baumartige Zerlegung eines Programms in Teilprogramme (Prozeduren)
Zudem verlangt die strukturierte Programmierung auf der untersten Ebene die Beschränkung auf lediglich drei Kontrollstrukturen: Sequenz (hintereinander auszuführende Programmanweisungen)
Auswahl (Verzweigung)
Wiederholung (Schleifen) Strukturierte Programmiersprachen: Folgende Programmiersprachen eignen sich unter anderem zur strukturierten Programmierung:

Ada
Algol
C und C++
COBOL (ab COBOL 85)
Fortran (ab Fortran 77)
Java
Pascal, Modula-2 und Oberon
Visual Basic Heutiger Einsatz: Strukturierte Programmierung ist heute in fast allen Bereichen, in denen professionell Software entwickelt wird, eine Selbstverständlichkeit.
Die neueren Programmierparadigmen bauen auf der strukturierten Programmierung auf und erweitern oder ergänzen diese. Danach werden Programme so entwickelt, dass ein Programm (Anm.: der Quellcode) aus einer Folge von Anweisungen besteht, die vorgeben, in welcher Reihenfolge was vom Computer getan werden soll.
Die imperative Programmierung ist das am längsten bekannte Programmierparadigma Das Programm beschreibt nicht mehr was getan werden soll, Nur noch welches Ergebnis am Ende stehen soll.
Es bleibt dem Programm überlassen, sich mit Hilfe entsprechender Algorithmen den korrekten Lösungsweg zu suchen. procedure quicksort(l,r : integer);
var x,i,j,tmp : integer;
begin
if r>l then
begin
x:=a[l]; i:=l; j:=r+1;
repeat
repeat i:=i+1 until a[i]>=x;
repeat j:=j-1 until a[j]<=x;
tmp:=a[j]; a[j]:=a[i]; a[i]:=tmp;
until j<=i;
tmp:=a[j]; a[j]:=a[l]; a[l]:=tmp;
quicksort(l,j-1);
quicksort(j+1,r)
end
end; Der Quicksort-Sortierungsalgorithmus kann in der imperativen Programmiersprache Pascal folgendermaßen aufgeschrieben werden: quicksort [] = []
quicksort (x:xs) = quicksort [n | n<-xs, n<x] ++ [x] ++ quicksort [n | n<-xs, n>=x] Derselbe Sortierungsalgorithmus kann in der deklarativen Programmiersprache Haskell folgendermaßen formuliert werden: Der Programmierer beschreibt, was das Programm mit einer Eingabe macht, also wie mit welcher Eingabe umzugehen ist, wobei der Berechnungsablauf nicht von Interesse ist. Der Programmierer beschreibt, wie der Algorithmus ablaufen muss. Es wird der Lösungsweg vorgegeben. Vorteile:
Die Programme sind oft kürzer als vergleichbare imperative Programme. Nachteile:
Performanz: Der angegebene Quicksort-Algorithmus läuft in Pascal wesentlich schneller als in Haskell.
Deklarative Programmierparadigmen stehen insbesondere imperativen und objektorientierten Paradigmen in ihrer Akzeptanz nach. Vorgeschichte:
Morsekode
Jacquard-Webstuhl In einer ersten Phase wurden ab Mitte der 1950er Jahre unzählige Sprachen entwickelt, die praktisch an gegebenen Aufgaben und Mitteln orientiert waren.
Auf der praktischen Seite wurden erweiterte Datentypen wie Verbunde, Zeichenketten und Zeiger eingeführt.
Der Bedarf an neuen Programmiersprachen wurde durch den schnellen Fortschritt der Computertechnik gesteigert
In dieser Phase entstanden die bis heute populärsten Programmiersprachen: BASIC und C. Die objektorientierte Programmierung gibt es seit weit über 10 Jahren.
Die wesentliche Idee der OOP besteht darin, die vormals getrennt gefundenen und behandelten Daten und Bearbeitungsfunktionen in einem Objekt untrennbar zu vereinen
Bei der OOP sind Objekte aktive Datenstrukturen Mein alter Golf ist ein Auto. Unter bestimmten (anwendungsorientierten) Gesichtspunkten wurden einige Eigenschaften meines Autos ausgewählt und in einem Modell (Objekt "mein Golf") als Attribute aufgeführt. Nun kann in einer Simulation dieses Objekt lackiert werden, man kann ein- und aussteigen, beschleunigen, bremsen und auch den Gang wechseln (viel mehr kann man mit meinem realen Golf auch nicht anfangen). Man beachte, daß bei dieser Modellbildung einige Dinge stark vereinfacht oder gar weggelassen werden. Bei der Simulation meines Golfs ist z.B. das Tanken nicht vorgesehen, dieser Aspekt scheint für die Arbeit mit dem Modell keine Rolle gespielt zu haben. Die Darstellung macht deutlich, dass die Attribute gekapselt sind und von außen nicht direkt manipuliert oder abgefragt werden können.

ein Objekt hat einen Zustand
es weist ein wohldefiniertes Verhalten auf (Methoden)
es besitzt eine eindeutige Objektidentität Compiler ist ein Computerprogramm, welches ein (anderes) Programm, das in einer bestimmten Programmiersprache geschrieben ist, in eine Form übersetzt,die von einem Computer, d. h. von dessen Prozessor, ausgeführt werden kann.
Compiler sind spezielle Übersetzer, die Programmcode aus problemorientierten Programmiersprachen, sogenannten Hochsprachen, in eine Assemblersprache, maschinell ausführbare Maschinensprache oder Bytecode überführen.
Der erste Compiler (A-0) wurde 1949 von der Mathematikerin Grace Hopper entwickelt. Verschiedene Compiler Native Compiler
Cross-Compiler
Single-pass-Compiler
Multi-pass-Compiler Linker Unter einem Linker oder Binder versteht man ein Computerprogramm, das einzelne Programmmodule zu einem ausführbaren Programm zusammenstellt.
Um ein Programmmodul in einem anderen Programm verwenden zu können, müssen die symbolischen Adressen der Funktionen und Variablen des Moduls in Speicheradressen umgewandelt werden. Verschiedene Link-möglichkeiten Statisches Linken
Dynamisches Linken
Full transcript