Sie sind auf Seite 1von 12

Jahrgangsstufe 10 Informatik

Software-Entwicklung

Programmiersprachen
Die Weltsprachen der Computer

Beispiel-Roboter mit
Maschinensprache

in Maschinensprache sind Anweisungen Dreierketten aus


0 und 1.
Beispielprogramm:
00X => Ein Schritt gehen
001000101001011000110
01X => Nach links drehen

10X => Nach rechts drehen

11X => Ende des Programms

Das X steht fr 0 oder 1, wobei

0 = 50cm oder 45

1 = 100cm oder 90

Beim Ende-Befehl: keine Wirkung

Assemblersprache
(Eine Ebene hher)

Etwas leichter verstndlich


ist schon die Assemblersprache,
die die Maschinensprache-Befehle in
einer lesbaren Form darstellt
Ein Programm namens Assembler
bersetzt das Programm fr
den Computer in Maschinensprache
Abgesehen von der Programmierung
von Gertetreibern (MiniBetriebsysteme von Druckern,
Netzwerkkarten, uvm) schreibt das kein Mensch mehr.
Vor- und Nachteile: Siehe Maschinensprache!

Entwicklung der
Programmiersprachen

Programmierer wollten ihre Arbeit erleichtern und


entwickelten mit der Zeit Programmiersprachen, die...

...leichter fr Menschen zu lesen und zu schreiben sind

...mit denen es auch mglich ist viele Programmierer an


einem Programm arbeiten zu lassen

...es erlauben mit kleinen Programmen groe Ergebnisse


zu erzielen

...es ermglichen, Programmierfehler weitestgehend zu


vermeiden und wenn ntig einfach zu lokalisieren und zu
beheben

...mglichst wenigen Grundbefehlen besitzen...

Entwicklung der Programmiersprachen:


http://upload.wikimedia.org/wikipedia/commons/6/6c/StammbaumProgrammiersprachen.jpg

Zurck zum Beispielroboter

Anweisungen in hherer
Programmiersprache:

Kompilation in
Maschinensprache:

Schritt(X cm)

Schritt => 00x

sdrehenehen(X )

LinksDrehen => 01X

Rechtsdrehen(X )

RechtsDrehen => 10X

Ende()

Ende => 11X

Bei Schritt nur 50cm oder


100cm und bei der Drehung
nur 45 und 90 erlaubt

(X = 0 bedeutet 50cm oder


45, X = 1 dagegen 100cm
oder 90 )

Umdrehen()

Umdrehen => 011011

FnfMeterGehen()

FnfMeterGehen()

Beispiel-Kompilation

Programm U-Turn

In Maschinensprache

FnfMeterGehen()

001001001001001

Rechtsdrehen(90)

101

Schritt(100)

001

Schritt(100)

001

Schritt(100)

001

Rechtsdrehen(90)

011

FnfMeterGehen()

001001001001001

Ende()

110

Resultierendes Programm

0010010010010011010010010010110010010010
01001110

Menschliche Sprachen

Warum gibt es noch keinen Compiler, der die


deutsche oder englische Sprache in
Maschinensprache bersetzt?
Die Grammatik menschlicher Sprachen ist im
Vergleich zu Programmiersprachen extrem
komplex.
Sie hat sehr viele willkrliche Regeln und ist oft
mehrdeutig
Bei einer vereinfachten Sprache kann eine
Verdoppelung der Textlnge kann gut und gerne
eine Verdreissigfachung der bersetzungsdauer

Dekompilation

Mache eine Rckbersetzung dieses


Maschinenspracheprogramms in die oben
festgelegte Hochsprache:

000010000100001001001001001000011011
Hausaufgabe:
S 6 Kapitel Programme erstellen Lesen

Resultat

Schritt(50), Linksdrehen(45), Schritt(50),


RechtsDrehen(45), FnfMeterGehen(),
Schritt(50), Umdrehen()