24
Programiersprache Mustafa SÖYLEMEZ e0327329 E-Mail : [email protected]

Programiersprache Mustafa SÖYLEMEZ e0327329 E-Mail: [email protected]

Embed Size (px)

Citation preview

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

Programiersprache

Mustafa SÖYLEMEZe0327329

E-Mail : [email protected]

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

2

Inhalt

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

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

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.

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

4

Familien Entwicklung

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

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

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

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

6

Oberon Syntax

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

MODULE nothing;BEGINEND nothing.

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

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.

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

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

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

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“

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

10

Das vocabular und Darstellung

5. Operatoren

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

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

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

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

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

13

Operatoren

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

1. Logische Operatoren

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

14

Operatoren

2. Arithmetische Operatoren

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

15

Operatoren

3 Mengen- Operatoren

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

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;

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

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”)

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

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;

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

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.

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

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

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

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.

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

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..

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

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

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

24

Danke für Ihre Aufmerksamkeit…