Oberon

Hier werden Service-Module und einzelne Programme der Programmiersprache Oberon veröffentlicht. Nicht ins Netz gestellt werden Programme, die laut Lehrplan im Informatikunterricht von Schülern erstellt werden sollen, sondern nur solche, die über den Unterricht hinaus gehen. Die Service-Module von mir werden ständig in meinem Unterricht benötigt. Jeder Schüler, der zu Hause Pow hat, sollte auch diese Module zur Hand haben!

Pow!

Pow! ist eine (kostenlose) Möglichkeit, Oberon-2 zu lernen. Oberon ist zwar eine recht unbekannte Sprache, aber Pascal, der Großvater, ist da schon etwas bekannter. Nachdem Niklaus Wirth Pascal entwicklet hat, folgten Modula(-2) und schließlich Oberon(-2). Oberon ist Pascal sehr ähnlich, wer also Pascal kennt, sollte keine Schwierigkeiten haben, Oberon-Quelltexte zu lesen und zu verstehen. Pow! ist eine Implementation eines Oberon-Compilers und einer Entwicklungsumgebung, die unter MS-Windows läuft. Nutzer anderer Betriebssysteme müssen auf das Oberon V4 der ETH Zürich zurückgreifen, das auch seine Vorteile hat. Aber ich bevorzuge für den Unterricht Pow, deshalb werden hier auch Pow-verträgliche Quelltexte veröffentlicht.

Pow!-Homepage:
www.fim.uni-linz.ac.at/pow/pow.htm

Download einer neueren Version zusammen mit allen meinen Erweiterungen
www.c-g-j.de/downloads/informatik.php

Und die Alternative: Oberon V4. FTP-Server
ftp://ftp.inf.ethz.ch/pub/software/Oberon

Service-Module

Neben der Turtle verwende ich im Unterricht noch weitere Service-Module, die immer mal wieder Anwendung finden. Um sie verwenden zu können, sollten sie im selben Ordner liegen, in dem auch das Anwenderprogramm (die selbst geschriebene *.mod-Datei) steht. (Alternative: Einbindung in das Standard-Projekt, siehe Pow-Hilfe.)

Zufallsgenerator

Es werden nur drei Funktionen definiert: RandomInt, RandomReal und Init. Mit RandomInt(6) wird eine LONGINT-Zufallszahl von 0 bis 5 erzeugt, statt der 6 darf dort natürlich auch jede andere LONGINT-Zahl stehen. RandomReal() erzeugt eine REAL-Zufallszahl zwischen 0 (einschl.) und 1 (ausschließlich). Mit Init können Sie immer wieder dieselben "Zufallszahlen" erzeugen, um Programme besser testen zu können.

Download (2 KB)

Stoppuhr

Es wird im Service-Modul eine Variable Stoppzeit definiert. Man kann mit Start die Stoppuhr starten, und mit Stopp (zweimal p!) wieder anhalten. Anschließend steht die gestoppte Zeit in Millisekunden in der Variable Stoppzeit vom Typ LONGINT. Weitere Befehle sind Weiter und Neustart. Außer dem Modul stoppuhr.mod muss noch die winbase.sym im selben Ordner stehen. Man muss sie im Pow!-Programm-Verzeichnis suchen und in den eigenen Ordner kopieren (nicht verschieben!). Mitgeliefert wird auch ein Anwenderprogramm stoppuhrtest.mod, das die Benutzung beispielhaft erklärt.

Download (2 KB)

Gemeinsame Hilfedatei

Für beide Module, Zufallsgenerator und Stoppuhr gibt es eine gemeinsame Hilfedatei, die Sie in die Benutzerumgebung von Pow einbinden können. Wie? Hier wird's verraten!

Download (7 KB)

ADT Liste

Der abstrakte Datentyp (ADT) Liste wird in Klassenstufe 12 behandelt. Hier ist das zugehörige Service-Modul, wie es in meinem Unterricht verwendet wird. Es beruht auf der Version, die auf den Seiten der Landesfachkommision veröffentlicht wird, wurde aber leicht von mir geändert. Mitgeliefert wird eine Beispielanwendung.
Sehen Sie sich zu abstrakten Datentypen auch die extra Seite mit Windowsprogrammen an!

Download (4 KB)

Zugehörige Hilfedatei mit einseitiger Zusammenfassung als pdf-Datei:
Download (61 KB)

Textdateien

Der Umgang mit (Text-)Dateien ist mit dem File-Modul möglich, aber nicht ganz trivial. Meine Service-Module Textdatei, Textdatei2String und Textdatei2Matrix sollen die Benutzung vereinfachen. Im Zip-Archiv ist auch ein Anwendungsprogramm, dass die Benutzung beispielhaft erläutert, sowie eine Hilfedatei zum Einbinden in das Oberon-System.

Download (17 KB)

Hanoi iterativ

In der Pow!-Version von Oberon-2 habe ich eine iterative Lösung zum Problem "Turm von Hanoi" geschrieben. In einer Informatik-Fortbildung wurde gesagt, dass das ziemlich kompliziert sein müsse und sich noch niemand in erreichbarer Nähe daran getraut hätte. Voilà! Hier ist die iterative Lösung! Natürlich ist sie tatsächlich komplizierter als jede rekursive, aber das war ja auch zu erwarten, oder?

Download (2,3 KB)

weitere Links

Gute Hilfe-Seiten als Zusammefassung zu Pow!
http://ki-schl.bei.t-online.de/kurs

Viele weitere Informationen und Links zu Oberon finden Sie
bei der Landesfachkommission Informatik
www.th.schule.de/th/lfk-informatik

Valid XHTML 1.0! Valid CSS!