Oberon Oral Exam English. index The creator The history The use The syntax An example Conclusion.
-
Upload
derick-norton -
Category
Documents
-
view
214 -
download
1
Transcript of Oberon Oral Exam English. index The creator The history The use The syntax An example Conclusion.
Oberon
Oral Exam English
index
The creatorThe historyThe useThe syntaxAn exampleConclusion
The creator - Niklaus Wirth
Swiss computer scientistborn February 1934Academic history
Electronics Engineering (ETH in Zürich)Master degree from Laval University ,
CanadaPh.D from University of California Berkeley
The creator - Niklaus Wirth
Assistant professor Comp Science at Stanford University and University of Zürich
Prof Informatics at ETH ZürichChief designer of Algol W, Pascal,
Modula, Modula-2, and Oberon
history
ALGOL – 60’sPascal – 70’s (first OO)Modula / Modula-2 –- 80’s (Modules)Oberon / Oberon-2 –- 80’s-90’s (OO)
The use
Pascal’s syntax, styleMore powerVery clear structureObject-Oriented20 years experienceExecutable problemUsed for teaching
The syntax - introduction
Case sensitive Line end ; Comment (* *)
MODULE Hello;(* first program *)IMPORT Out;
PROCEDURE Do*BEGIN
Out.String(“Hello”);Out.Ln;
END Do;
END Hello;
The syntax – Programme Structure
MODULE Hello;(* first program *)IMPORT Out;
PROCEDURE Do*BEGIN
Out.String(“Hello”);Out.Ln;
END Do;
END Hello;
MODULE PROCEDURE
BEGIN END
predefined words
The syntax – VAR & CONST
Predefined section Marked by “VAR” Varname : TYPE; Assignment operator
:= constants in
“CONST” section
PROCEDURE Vartest*CONST
numb = 6;VAR
a : INTEGER;b : REAL;c : REAL;
BEGINa := 3;c := numb*a;Out.Real(c);Out.Ln;
END Vartest;
The syntax - Datatypes
BOOLEAN TRUE / FALSECHAR ASCIISHORTINT -128...127INTEGER -32768...32767LONGINT -2E+9...2E+9REAL -3,4E+38...3.4E+38
The syntax – Loops / Conditions
WHILEWHILE (var1 < 3) DO
var2 := var2 + 1;
END;
REPEATREPEAT
var2 := var2 + 1;
UNTIL (var1 < 3);
LOOPLOOP
var2 := var2 + 1;
EXIT;
END;
IFIF (var1 = 3) THEN
Out.String(“Hurray”);
ELSE
Out.String(“Booh”);
END;
CASECASE var1 OF
1 : Out.String(“1”);
| 2 : Out.String(“2”);
| 3 : Out.String(“3”);
ELSE
Out.String(“none”);
END;
Example – GFX engine
Very powerful languageExample : my GFX engine
5 months experience in OberonNo other programming background
Many GFX possibilities
Example – GFX engine
Dynamic 3D Object Rendered by Oberon Backface culling Z-buffer Shading
Example – GFX examples
Conclusion
Structured, Compact, PowerfulMany possible compilersDownside : Executable filesUsed for teaching
Thank you for your attention
Any questions?