Programiersprache Mustafa SÖYLEMEZ e0327329 E-Mail: smallkey@web.de.

Post on 06-Apr-2015

113 views 2 download

Transcript of Programiersprache Mustafa SÖYLEMEZ e0327329 E-Mail: smallkey@web.de.

Programiersprache

Mustafa SÖYLEMEZe0327329

E-Mail : smallkey@web.de

2

Inhalt

•Einführung•Familien Entwicklung•Oberon Syntax•Das vocabular und Darstellung•Deklarationen•Operatoren•Kontrolstruckturen•Prozeduren und Module•Literaturen

Einführung

Oberon ist eine von Niklaus Wirth und Jürg Gutknecht entwickelte objektorientierte Programmiersprache.

Er diente vom Einsteins Motto,„Make it as simple as possible but not simpler“

und führte zu einem System von exemplarischer einfachheit, Effizienz und Flexibilität.

4

Familien Entwicklung

Die Sprache Oberon ist der neueste Nachkomme der ALGOL-, Pascal- und Modula-Familie

5

Warum Oberon…?

• Die Sprache Oberon aufbaut Fundamentalen konzenten• Auf Modernen Rechnern effizient implementiert• einen dynamischen Modullader• eine Automatische Speicherverwaltung• Unterstützung für ein lokales Netzwerk• Ein Fenstersystem• den Oberon-Compiler

6

Oberon Syntax

Programieren bedeutet das Erstellen neuer Programme. Zu diesem ZweckIst nur eine präzise Beschreibung angemessen.

MODULE nothing;BEGINEND nothing.

7

Das vocabular und Darstellung

1. Namen ident = letter { letter | digit }.

•Beispiele für Zeichenfolgen, die gültige Namen gültigen, sind:

List , list , a12

•Beispiele für Zeichenfolgen, die keine gültigen Namengültigen, sind:

Leerzeichen, Bindestrich, Unterstreichungszeichen, Und die erstes Zeichen muss ein Buchtsabe sein.

8

Das vocabular und Darstellung

2. Zahlen Number = integer | real .

• Beispiele für gültige Zahlen sind:

1987100H = 256 12.3 4.567E8 = 456700000 1988 0.57712566D-6 = 0.00000057712566

• Beispiele für ungültige Zahlen sind :

FFFFH .665 1.35-43

9

Das vocabular und Darstellung

3. Zeichenkonstanten

CharConstant = “ “ “ character “ “ “ | digit {hexDigit} “X“.

•Beispiele fur zeichenkonstanten sind :

“a“ , “b“, “1“

4.Zeichenketten

string = “ “ “ {character} “ “ “.

•Beispiele fur zeichenketten sind :

“OBERON“ , “das ist eine zeichenkette“

10

Das vocabular und Darstellung

5. Operatoren

11

Deklarationen

Jeder in einem Programm verwendete Name muss mittels einer Deklaration eingeführt werden, in Oberon müssen alle Namen vor ihrer benutzung deklariert werden.

Die Deklarationen führt ein und definiert ihren Typ

12

Deklarationen

1. Konstantendeklarationen Beispiele : CONST a = 16807 ; N = 100 ; m= 2147483647

2. Variablendeklarationen Beispiele : Var

i, m, n: INTEGER; index: LONGINT,ch: char

3. Typdeklarationen

4. Array-deklarationen Beispiele :

VAR v: ARRAY 3 OF REAL

13

Operatoren

Der Operator ~ hat die höchste Bindungsstärke, gefolgt von Multiplikationsoperatoren, Additionsoperatoren und Relationen.

1. Logische Operatoren

14

Operatoren

2. Arithmetische Operatoren

15

Operatoren

3 Mengen- Operatoren

16

Kontrolstrukturen

• IF-Anweisungen

IF-Anweisungen spezifizieren die bedingte Ausführung von Anweisungen.

IF res = 0 THEN Out.String (“renamed”)ELSEIF res = 1 THEN Out.String(“name existed already”)ELSEIF res = 2 THEN Out.String(“name does not exist”)ELSEIF res = 3 THEN Out.String(“System error”)END;

17

Kontrolstrukturen

• Case-Anweisungen

Eine If-Anweisung mit mehreren ELSEIF-Zweigen erlaubt die Auswahl einer Anweisungsfolge unter der Kontrolle von mehreren Bedingungen.

CASE res OF0: out.String(“renamed”)1: out.String(“name existed already”)2: out.String(“name does not exist”)3: out.String(“System error”)

18

Kontrolstrukturen

• While-Anweisungen

Angenommen Sie möchten eine Anweisung oder Anweisungsfolge nicht nur Einmal sondern n mal ausführen. j := 0

WHILE j < n DO …; j := j + 1 END;

19

•Repeat-AnweisungRepeat-Anweisungen spezifizieren die wiederholte Ausführung einer Anweisungsfolge bis eine Bedingung erfüllt ist. DieAnweisungsfolge wird mindestens einmal ausgeführt

Kontrolstrukturen

j :=0 ; REPEAT

… ; j := j+1 UNTIL j = n ;

•Loop-AnweisungEine Loop-Anweisung spezifiziert die wiederholte Ausführung einer Anweisungsfolge. Sie wird durch Ausführung einer Exit-Anweisung innerhalb der Anweisungsfolge beendet.

20

MODULE dezimal; IMPORT Out;VAR i: LONGINT;BEGINFOR i:=0 TO 9 DO Out.LongInt(i,2);END(*FOR*);Out.String(' end'); Out.Ln;END dezimal.

Wie kann man mit Oberon programmieren..!

0 1 2 3 4 5 6 7 8 9 end

21

Prozeduren und Module

•Prozeduren ihrer einfachsten Form als benannte Anweisungsfolgen betrachtet werden.

•Ein Modul ist eine Textuelle klammer die konstanten und variablen Deklarationen sowie eine Anzahl von Prozeduren umführen.

22

MODULE proc1; IMPORT Out; VAR x, y:LONGINT;

PROCEDURE add1 (a:LONGINT; VAR b:LONGINT); BEGIN b:=a+1; END add1;

BEGIN x:=1; add1(x,y); Out.LongInt(x,4);Out.LongInt(y,4);Out.Ln;END proc1

• 1 2

x=ay=b

Ein Beispiel von Procedure..

23

Literaturen

1) N. Wirth and M. Reiser. Programming in Oberon - Steps Beyond Pascal and Modula. Addison-Wesley, 1992.

2) N. Wirth. The programming language Oberon. Software Practice and Experience, 18(7):671–690, July 1988

3) K. Jensen and N. Wirth. PASCAL - User Manual and Report, volume 18 of Lecture Notes in Computer Science. Springer, 1974

4) ETH Oberon Home Page: http://www.oberon.ethz.ch

5) Oberon-Homepage der Landesfachkommission Informatik in Th¨uringen http://www.th.schule.de/th/lfk-informatik/oberon/download

24

Danke für Ihre Aufmerksamkeit…