programiersprache mustafa sÖylemez e0327329 e-mail: [email protected]
TRANSCRIPT
![Page 2: Programiersprache Mustafa SÖYLEMEZ e0327329 E-Mail: smallkey@web.de](https://reader035.vdocuments.pub/reader035/viewer/2022062623/55204d7e49795902118cf161/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062623/55204d7e49795902118cf161/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062623/55204d7e49795902118cf161/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062623/55204d7e49795902118cf161/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062623/55204d7e49795902118cf161/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062623/55204d7e49795902118cf161/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062623/55204d7e49795902118cf161/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062623/55204d7e49795902118cf161/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062623/55204d7e49795902118cf161/html5/thumbnails/10.jpg)
10
Das vocabular und Darstellung
5. Operatoren
![Page 11: Programiersprache Mustafa SÖYLEMEZ e0327329 E-Mail: smallkey@web.de](https://reader035.vdocuments.pub/reader035/viewer/2022062623/55204d7e49795902118cf161/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062623/55204d7e49795902118cf161/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062623/55204d7e49795902118cf161/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062623/55204d7e49795902118cf161/html5/thumbnails/14.jpg)
14
Operatoren
2. Arithmetische Operatoren
![Page 15: Programiersprache Mustafa SÖYLEMEZ e0327329 E-Mail: smallkey@web.de](https://reader035.vdocuments.pub/reader035/viewer/2022062623/55204d7e49795902118cf161/html5/thumbnails/15.jpg)
15
Operatoren
3 Mengen- Operatoren
![Page 16: Programiersprache Mustafa SÖYLEMEZ e0327329 E-Mail: smallkey@web.de](https://reader035.vdocuments.pub/reader035/viewer/2022062623/55204d7e49795902118cf161/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062623/55204d7e49795902118cf161/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062623/55204d7e49795902118cf161/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062623/55204d7e49795902118cf161/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062623/55204d7e49795902118cf161/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062623/55204d7e49795902118cf161/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062623/55204d7e49795902118cf161/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062623/55204d7e49795902118cf161/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062623/55204d7e49795902118cf161/html5/thumbnails/24.jpg)
24
Danke für Ihre Aufmerksamkeit…