Einführung in das Programmieren
1996-10-15 Grundbegriffe
1996-10-22 Vom Algorithmus zum Programm
1996-10-29 Anweisungen
1997-01-28 Vorlesungsprüfung
Konventionen in der LU
(filename).doc Dokumentation zu einem Programm
(filename).mod Source des Modula-Programmes
(filename).exe
(filename).obj Objektcode des Modulaprogrammes (Output des Compilers)
(filename).i1 Eingabedaten zum Testen der Exen
(filename).o1 Ausgabedaten zum Testen der Exen
Kompilieren: M2C PipeInt.Mod
Wenn kein Fehler: PipeInt.Obj angelegt.
Linken: M2L PipeInt
Wenn kein Fehler: PipeInt.Exe angelegt.
>echo PRIPIO=ECHO OFF>pripio
>PipeInt>Zahlen.O1
1 2 3 40 500 6000 ... Strg+Z
1000 10000 100000
>TYPE Zahlen.O1
1 2 3 ...
1000 10000 ? (Fehler, weil Überlauf)
Download des M2C: getm
Dialogprogramm downloaden: getdlg
Abgabe über Internet:
set SERVER=128.130.121.5
DIALOG
Ein strukturierter Algorithmus besteht aus verschiedenen Anweisungen:
Strukturierte Algorithmen können grafisch durch Struktogramme
dargestellt werden.
Wichtig: auf Spezifikationen achten, nicht z.B. "Die Summe ist " ausgeben, wenn nur die Summe erwartet wird.
Fehlerbehandlung: unterscheiden zwischen Programmfehler (= interner Fehler) und Spezifikationsfehler.
Fragen:
1. (24 Punkte) Typ des Ergebnisses von Ausdrücken bestimmen:
Es waren Variablendeklarationen und Ausdrücke angegeben,
mensch mußte entscheiden, von welchem Typ die Ausdrücke
sind (z.B. VAR a, b, c: REAL; ==> a / c: REAL,
natürlich teilweise schwierigere)
2. (20 Punkte) Ein Programm nachvollziehen: sehr zeitaufwendig, mit den letzten drei Ziffern der eigenen Matrikelnummer wurden Operationen durchgeführt. Sehr wichtig ist, daß mensch auf die Prozedurdeklaration achtet (Variablenübergaben ohne "VAR" ändern den Wert der übergebenen Variable nicht!).
3. (16 Punkte) Ein Programm mit einer WHILE-Konstruktion sollte
in REPEAT und LOOP konvertiert werden. Dabei werden natürlich
die Vorzeichen boolescher Ausdrücke umgedreht. (z.B. aus
WHILE a < 10 wird UNTIL a >= 10)
4. a. (7 Punkte) Matrikelnummer in einen binären Baum zeichnen
4. b. (33 Punkte) Funktion für die Suche in einer dynamischen Struktur und Prozedur zum Löschen der gesamten Struktur: es mußten jeweils rekursiv arbeitende Prozeduren geschrieben werden: nicht sehr schwer, folgt eigentlich den Vorgehensweisen im Skriptum.