> Impertive Sp
> Impertive Sp. = prozedurale Sp. = algorithmische Sp.
deterministisch >
mit jeder Anwendung ist auch die nächstfolgende festgelegt, d.h., die
Reihenfolge der Abarbeitung der Anweisungen untertliegt
nicht der Willkür des Ausführenden
> Erzeugung imperativer Sprachen
Es wird
eine Grammatik definiert:
[1] Alphabet oder Terminalmenge
[2] Metasprachliche
Variablen oder Nichtterminale
> beschreiben Mengen von Sprachelementen
> Bezeichner für Mengen
zulässiger Konstruktionen
> Bezeichner dienen zur
Beschreibung der Produktionsregeln
[3] Produktionsregeln (erzeugnungsregeln)
werden festgelegt
> für die Darstellung aller zur Erzeugung der Sprache
definierten Regeln werden die Terminalsymbole und die Nicht-TerminalSymbole
verwendet
> mit diesen Festlegungen wird die Syntax der Sprache
beschrieben
[4] Es wird festgelegt, was ein Satz der
Sprache ist
> à G = {N,T,P,S} Quadrupel oder 4-Tupel
wobei N die
Menge der Nichtterminale (Metavariablen)
T die Menge der Terminale
(Symbole des Alphabets)
P die Menge der Produktionsregeln
(Erzeugungsregeln)
S das Startsymbol (Satzsymbol)
Bedeuten.
> Beschreibung der Produktionsregeln
(Erzeugungsregeln)
[1] Die Backus - Naur - Form (BNF)
Spätere Erweiterungen
ergaben die erweiterte Beschreibungsform (EBNF)
{AB! à Metasymbole}
> Beispiel
<Bezeichner> ::= <Buchstabe>{<Buchstabe>|<Ziffer>}
<Buchstabe> ::= (_|A|B|C|.|Z|a|b|c|.|z)
<Ziffer> ::= (0|1|2|.|9)
> Metasymbole der EBNF
::= ist definiert als
(.|.) genau einer Alternative aus der
Klammer muss stehen
[.] Inhalt der Klammer kann
stehen oder nicht
{.} [n] Inhalt der
Klammer kann n-fach stehen, n>=0
> Beispiel
EBNF
Notation einer Wiederholungsanweisung mit nachgestelltem Test
<Wiederholungsanweisung
mit nachgestelltem Test>
::= "repeat"
<Anweisung>{;<Anweisung>} "until"
<Ausdruck>
Programmiermethoden
Strukturiertes
Programmieren
Logisch zusammengehöriges zusammen programmieren
Modulares
Programmieren
Projekt wird in unabhängige Module zerlegt
Top-Down-Programmierung
Erst grobes Programmskelett, dann Details entwickeln
Bottom-Up-Programmierung
Kleine Programmbausteine werden zusammengefügt
Objektorientierte
Programmierung
Datentypen enthalten Daten und Verarbeitungsalgorithmen
Ereignisgesteuerte Programmierung
Bestimmte Ereignisse werden mit bestimmten Algorithmen
belegt.
Programmierhilfsmittel
Texteditor: Bla
Assembler: Übersetzt
Assemblersprache (Mnemonics) in Mschinencode
(1 : 1 - Übersetzung)
Interpreter: Führt
Programmcode sofort aus und übersetzt ihn nicht in Maschinencode
Compiler: Überträgt
Code aus höheren Programmiersprachen in Maschinencode
Debugger: Arbeit
von Programmteilen wird bei der Abarbeitung verfolgt
> John von Neumann
John von Neumann wurde am
28.Dezember 1903,als Sohn eines Bankiers, in Budapest,Ungarn,geboren.Er
ist einer der Weltberühmtesten Mathematiker der Welt.Während
des Zweiten Weltkrieges war er einer der Wisssenschaftler
der Los Alamos Gruppe,die die erste Atombombe entwickelten.Seine bekannteste und dramatischste Erfindung,
war einer der leistungsfähigsten Computer,welcher den
USA ermöglichte die erste Wasserstoffbombe zu bauen und zu testen. Seit seinem
dreizehnten Lebensjahr zeigte von Neumann Interesse an Mathematik.
>
1903 John von Neumann wird am 28.Dezember
1903 in Budapest,Ungarn
geboren.
>
1957 Am 8.Februar stirbt er im Walter
Reed Hospital.
|