Table Of ContentHenning Mittelbach
Programmierkurs
TURBO-PASCAL
Version 7.0
Programmierkurs
TURBO-PASCAL
Version 7.0
Ein Lehr- und Übungsbuch
mit mehr als 220 Programmen
Von Prof. Henning Mittelbach
Fachhochschule München
83
B. G. Teubner Stuttgart 1995
Im vorliegenden Buch erwähnte Produkt-und Firmennamen wie BORLAND, EPSON,
IBM, MS.DOS, TURBO u. a. sind gesetzlich geschützt, ohne daß im einzelnen darauf
hingewiesen wird.
Die Deutsche Bibliothek - CIP-Einheitsaufnahme
Mittelbach, Henning:
Programmierkurs TURBO-PASCAL Version 7.0 : ein Lehr-und
Übungsbuch mit mehr als 220 Programmen I von Henning
Mittelbach. - Stuttgart : Teubner, 1995
ISBN 978-3-519-02986-1 ISBN 978-3-322-94771-0 (eBook)
DOI 10.1007/978-3-322-94771-0
Das Werk einschließlich aller seiner Teile ist urheberrechtlIch geschützt. Jede Verwer
tung außerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung
des Verlages unzulässig und strafbar. Das gilt besonders für VervieHältigungen,
Übersetzungen, Mikroverfilmungen und die EInspeicherung und Verarbeitung in
elektronischen Systemen
© B. G. Teubner Stuttgart 1995
Vorwort
Das Manuskript des 1992 erschienenen Programmierkurses TURBO Pascal 6.0 habe ich
im letzten Jahr gründlich überarbeitet und der Version 7.0 angepaßt. Bei dieser Gelegen
heit sind in Text und Listings nicht nur einige Fehler beseitigt, sondern auch allerhand
wesentliche Änderungen vorgenommen worden:
So wurden ganze Kapitel umgestellt bzw. teilweise neu zusammengefaßt, einige wichtige
Themen (wie Objektorientiertes Programmieren OOP, DOS-Systemumgebung, Grafik)
schwerpunktmäßig erweitert, und manches ganz neu aufgenommen wie Beispiele
residenter Programme unter TURBO. Mehr als bisher wurden auch systembezogene
Begriffe (Interrupt, Port u.a.) wenigstens kurz erläutert und in Beispielen vorgestellt,
damit der Anfänger auch beim Umgang mit Programmen aus anderen Büchern schneller
zum Erfolg kommt. Listings mit neuer Thematik also und auch neue Algorithmen fanden
Platz, so daß der Umfang des Buchs trotz einiger Kürzungen sichtbar zugenommen hat.
Geblieben ist aber das Grundkonzept, nämlich eine exemplarische Einführung in den
Pascal-Dialekt TURBO mit nicht-trivialen Programmen und wichtigen Algorithmen, aber
keine trocken-systematische Darstellung des Anweisungsvorrats im Lexikonstil. Insofern
unterscheidet sich das Buch sehr deutlich von fast allen anderen auf dem mittlerweile
unübersehbaren Markt: Es ist Lehrbuch und Programmsammlung zugleich.
In dieser Auffassung haben mich etliche Zuschriften zufriedener Leser aus dem In- und
Ausland bestätigt, vor allem aber auch viele Studierende am Fachbereich Informatik der
Fachhochschule München (FHM), wo der Text als begleitendes Lehrbuch für eine
sechsstündige Anfängervorlesung benutzt wird. -Das Skriptum ist aber auch zum Selbst
studium ohne fremde Hilfe für all jene geeignet, die sich in die Sprache Pascal nur mit
eigener Kraft einarbeiten wollen und vielleicht den Ehrgeiz haben, eigene Anwender
programme zu schreiben, die professionellen Marktprodukten ähneln, nicht schon von
Anfang an wie selbstgestrickt aussehen.
Die Beispiele sind oft der Ingenieurmathematik und verwandten Disziplinen entlehnt; das
ist in gewissen Sinne zwangsläufig. Aber man findet auch Prototypen von Listings, die
mit Mathematik und Ingenieuraufgaben wenig oder nichts zu tun haben: Terminkalender,
Grafikmanipulationen, kleine Textprogramme, ja sogar einen Hypertext für elektronische
Rundbriefe im Bekanntenkreis. Außerdem habe ich mich mehr als bisher bemüht, zum
jeweiligen Hintergrund der Probleme Anmerkungen und Erläuterungen zu geben, damit
auch mehr oder weniger fachfremde Leser bis hin zum engagierten Hobbyprogrammierer
mit den Texten zurande kommen bzw. vielleicht einiges erfahren und lernen, was ja nie
ein Fehler sein kann.
Im Blick auf Umfeld und Geschichte der noch relativ jungen Informatik habe ich bei
wichtigen Namen historische Anmerkungen angefügt. Hie und da finden sich auch Fuß
noten, die über das eigentliche Fach Programmieren hinausweisen, es sozusagen in
einen kulturellen Kontext einbetten. In diesem Sinne sind auch ein paar Bemerkungen
zum zunehmend wichtigen Thema Datenschutz zu verstehen: Nicht nur Juristen mit ein
paar Kenntnissen aus der Informatik sollten diese Domäne besetzen. Mindestens ebenso
sachgerecht ist es, daß auch Informatiker und Kommunikationstechnologen juristisches
Grundwissen erwerben und dann ihre ureigensten Fachkenntnisse als Entscheidungs
kriterien einbringen.
Für den Anfänger geblieben ist das Kapitel zum Betriebssystem: Eigentlich ist DOS der
jetzt eingeführten Rechnergeneration der 486-er (und Pentium) überhaupt nicht mehr
adäquat, aber wegen seiner weiten Verbreitung eben immer noch der Quasi-Standard,
und mit den neuesten Versionen sowie der (aufgesetzten) WINDOWS-Umgebung doch
um einiges besser als sein Ruf.
Alle Programme wurden unter TURBO 7.0 entwickelt und dann mit TURBO 6.0 getestet,
manchmal umgekehrt. In einigen wenigen Fällen laufen die Programme wegen spezieller
Routinen nur unter der Version 7.0, aber noch nicht unter 6.0. Viele dürften auch noch
unter 5.5 startfähig sein, aber diese und gar ältere Versionen habe ich nicht mehr
ausprobiert, auch wenn ich für ganz einfache Fälle sogar noch das auf einer einzigen
Disk "portable" TURBO 3.0 zusammen mit einigen vorzuführenden Files habe.
Die beiden Disketten zu diesem Buch enthalten alle im Skript vorkommenden Listings
und fallweise dazu notwendige Datenfiles (Testdateien, Bilder, Zahlenmaterial), aber
vermehrt zusätzliche Programme, die über den Text hinaus von Interesse sind und
Zusatzfragen behandeln, die den Rahmen des sowieso umfangreichen Buchs einfach
sprengen würden. Insbesondere auf Disk zwei finden sich einige Themen ergänzend
behandelt, für die der Platz im Buch nicht ausgereicht hat. Diese Disk wird ständig
aktualisiert und mit guten Lösungen aus meinen praktika erweitert. Gedankt sei an
dieser Stelle ausdrücklich all jenen Studierenden, die auf diese Weise ihr Wissen mit
individuell erarbeiteten Beispielen weitergeben. Die Bestellmodalitäten für die Disketten
finden Sie auf S. 486 am Ende von Kap. 24 über das Betriebssystem.
Die Neufassung der Texte und das Testen vieler neuer Programmideen war neben dem
Vorlesungsbetrieb und den umfangreichen Dienstgeschäften als Fachbereichsleiter an
der FHM streckenweise eine nervenzehrende Sisyphusarbeit, die ohne viele nächtliche
Sitzungen oder Wochenendarbeit nicht zu bewältigen gewesen wäre. Ich mußte oft in
Isolation gehen, um über eine Aufgabe intensiv nachzudenken und eine vernünftige
Lösung zu finden: Barbara danke ich für das entgegengebrachte Verständnis.
In den im Kap. 25 aufgeführten Büchern fand ich allerhand Tips und Hilfen, ohne daß ich
die Quelle immer genau angegeben habe. Wo erinnerlich, wird im Text aber ein Hinweis
gebracht. Einige durchaus interessante Bücher sind in Fußnoten erwähnt, aber nicht
mehr im Literaturverzeichnis aufgenommen: Ich hätte ansonsten die Verweise über
arbeiten müssen. Das Manuskript ist mit Microsoft Word unter Windows erstellt, gedruckt
wurde auf Hewlett Packard LaserJet 4 L in Arial.
Dem renommierten Verlagshaus Teubner bin ich schon mehr als zehn Jahre verbunden;
dort hat man auch das neue Skript wieder gerne zur Veröffentlichung angenommen.
Ganz freundlichen Dank also an die Verlagsleitung in Stuttgart. Besonderer Dank aber
auch an Frau Katja Rheude aus München, die den fertigen Text nicht nur auf Tippfehler
und Duden-gemäße Rechtschreibung geprüft hat, sondern als Redakteurin im EDV
Bereich mit Fachkenntnis und Sprachgefühl auch etliche Ungereimtheiten im Text auf
spürte und gleich Verbesserungen vorschlug, die ich berücksichtigt habe. Sicherlich noch
verbliebene Fehler gehen aber vollständig auf mein Konto.
Friedberg und München, im Juli 1995 H. Mittelbach
Inhaltsverzeichnis
Vorwort
1 Einleitung 7
Quell- und Objektcode, Programmiersprachen, Sprachversionen,
Rechner und Zahlensysteme, die Ganzzahltypen in TURBO
2 Programme in TURBO Pascal 21
Reservierte Wörter, Standardbezeichner, Ein- und Ausgabe,
Wertzuweisungen, Die Sprachumgebung IDE von TURBO
3 Funktionen und Logik 33
Ganzzahlrechnungen, Standardfunktionen, der ASCII-Code,
BOOLEsche Ausdrücke, Wahrheitstafeln, Operatorenhierarchie
4 Kontrollstrukturen 45
Schleifen und Maschen, Wiederholungsanweisungen, Selektion mit IF,
der CASE-Schalter, Menüsteuerung, Syntaxdiagramme
5 Programmentwicklung 61
Problemanalyse und Algorithmus, Fehler, Flußdiagramme, Struktogramme,
modulares und strukturiertes Programmieren, der TURBO Debugger
6 Mengen, Felder und Strings 75
Mengen, Mengenoperationen, Arrays, Sortieren in Feldern,
Primzahlen, Töne am PC, Stringprozeduren
7 Der Zufall in Pascal 95
Zufallszahlen, Würfeln und andere Simulationen von Zufallsereignissen,
Monte-Carlo-Methoden, Geheimtexte, Normalverteilung
8 Fenster, auch im Editor 107
Window u.a. Prozeduren der Unit Crt, der TURBO Editor,
der Bildschirmspeicher, Pull-down-Menüs
9 Struktur mit TYPE und RECORD 119
Typen und Typenvereinbarungen, einfache und strukturierte Typen,
Bereichsüberprüfung, variante Records
10 Externe Dateien 131
Files und Dateien, Zugriffe auf die Peripherie, Binärsuche,
Filekopierer, Directory, Viren, Dateitypen
11 Unterprogramme 149
Globale und lokale Variable, Wert- und Referenzparameter,
Funktionen, Scancodes, ein 8-Bit-Rechner, prozedurale Typen
12 Bibliotheken und Units 169
Include-Files, Programmbiblotheken, Systemunits, eigene Units,
die Fenstertechnik des TURBO Editors, Programm parameter
6 Inhalt
13 Rekursionen 181
Rekursive Prozeduren, Rekursion und Iteration, Permutationen,
das Dame-Problem, die Türme von Hanoi, Backtracking
14 Programme 199
Druckertreiber, Minitext, Kalender, Lister, Inhaltsverzeichnisse,
Primzahlen und Public-Key-Verfahren, Editoren, die Maus
15 DOS und System programmierung 235
DOS-Routinen und Interrupts, verdeckte Files, Paßwörter, Hexdump,
Kopierschutz, Programme, die sich selbst verändem ...
16 OP-Code als Inline-Code 265
Debugger und Maschinensprache, Inline-Code in Pascal, Assembler,
Sektorenlesen, Siowdown, (residente) TSR-Programme
17 Grafik unter TURBO 289
Die Unit Graph, Farbsteuerung, Speichem und Laden von Bildern,
die Grafikmaus, rekursive Grafiken, das Apfelmännchen, viele Farben
18 Algorithmen 325
Warteschlangen, Balliste, Verfolgungskurven, Mondlandung,
Drehungen im Raum, Stereobilder, Manipulation von Farben in Grafik
19 Verkettung und Zeiger 355
Heap und Stack, Dynamische Adressierung, Verketten, auch mehrfach,
Ortsnetze (Graphen), Binärbäume, Musik am PC
20 Schwach besetzte Felder 385
Rechenblätter, Terminkalender, Kalenderalgorithmen
21 Zeigerverwaltung 397
Ein komplettes Verwaltungsprogramm mit Pointervariablen
22 Dateien und Bäume 413
Sortieralgorithmen in Feldern und auf der Peripherie, mittelgroße
und große Dateien, Indexdateien, B-Bäume, Datenschutz
23 OOP und TURBO VISION 443
Klassen und Objekte, Kapselung, Vererbung, Polymorphie,
typfreie Schnittstellen, Überleitung zu TURBO VISION
24 DOS Betriebssystem 467
Eine Einführung in MS.DOS für Anfänger
Hinweise zu den beiden Disketten zum Buch
25 Literatur 487
26 Stichwortverzeichnis 489
1 EINLEITUNG
In diesem Kapitel findet der Anfänger allgemeine Hintergrundinformationen zum
Umfeld von Programmiersprachen und Rechnern ...
Die Steuerung von Computern erfolgt teils über Kommandos von der Betriebssystem
ebene aus, teils über sog. Programme: Das sind letztlich Folgen von Bitmustern, die von
der CPU (Central Processor Unit) des Rechners direkt verstanden und nacheinander
(sequentiell) abgearbeitet werden. Solche prozessorabhängigen Maschinenprogramme
(object code) können zwar auch selber entwickelt werden, doch ist das relativ schwierig
und damit recht fehlerträchtig. Kleine Beispiele finden Sie in Kap. 16 dieses Buches ...
Heutzutage bedient man sich meist sog. höherer Programmiersprachen, die auf ganz
verschiedenen Rechnern einsetzbar, kompatibel sind. Die weit verbreiteten Personal
computer (PC) *) gehören meist zur Familie der DOS-Rechner und benutzen haupt
sächlich Prozessoren der Baureihen 8086, 80286, 80386 ... Die im Laufe dieses Kurses
vorkommenden Programme, die wir in der sog. TURBO Sprachumgebung IDE
(Integrated Development Envirement) entwickeln werden, laufen auf diesen PCs ohne
Probleme. Für absolute Neulinge im Umgang mit PCs ist zu Ende des Buches noch ein
Kapitel angefügt, das den ersten Umgang mit dieser Rechnerfamilie erleichtert und jene
Begriffe (z.B. Betriebssystem DOS) erklärt, die wir ständig verwenden werden.
Eine hOhere Programmiersprache wie BASIC oder Pascal ist eine ganz speziell
entwickelte Kunstsprache, nach Wortwahl und Anzahl der Wörter ein sehr kleiner Aus
schnitt aus einer lebenden Sprache (meist Englisch), und zwar mit präziser Eingrenzung
der Semantik (etwa: Bedeutungsinhalt), und im Blick auf maschinelle Bearbeitung sehr
strenger Syntax (Grammatik). Die Wörter werden mit dem anglo-amerikanischen
Alphabet (also ohne Umlaute etc.) gebildet; hinzu kommen die Ziffern zum Aufbau der
Zahlen, ferner noch allerhand Sonderzeichen, mit denen z.B. Steuersequenzen gesendet
werden können. Die lauffähigen Bausteine solcher Sprachen heißen Anweisungen
(statements); jede zulässige Anweisung bewirkt eine genau definierte Reaktionsfolge des
Computers. "Zulässig" ist eine Anweisung dann, wenn sie aus den vorab definierten
Elementen der Sprache syntaktisch regelgerecht aufgebaut ist. Man muß also sowohl
diese Syntax lernen als auch die Bedeutung der Sprachelemente kennen, um die ge
wünschte Wirkung sicher zu erzielen.
Wissenschaftstheoretisch: Eine Programmiersprache ist ein abgeschlossenes System
mnemotechnisch (zum Erinnern) günstig formulierter Anweisungen zur Steuerung eines
Automaten. - "Abgeschlossen" bedeutet, daß jede sinnvolle Verknüpfung von An
weisungen nach den geltenden Regeln zu neuen Anweisungen und damit wiederum zu
einer spezifischen Aktion des Automaten führt. Eine endliche (!) Menge zulässiger
Anweisungen zu einem bestimmten Zweck heißt Programm, Abbild eines Algorithmus
zur Lösung eines Problems. Programmieren in diesem allgemeinen Sinn ist eine weit
gefächerte Tätigkeit: Man muß das Problem analysieren, sich einen Lösungsweg aus
denken und sachgerecht formulieren sowie zuletzt den Algorithmus in einer passenden
Sprache codieren, ehe man einen Rechner hinzuzieht. Kein Wunder also, daß die
mittlerweile ausgefeilte Rechnertechnik und die Vielfalt differenzierter Probleme, die mit
Rechnern untersucht werden können, viele dieser Einzelschritte Spezialisten zuweisen.
"Programmieren" steht daher in engerem Wortsinn nur noch für einen einzigen der
Arbeitsschritte, nämlich das Codieren des Algorithmus zum Quellprogramm.
*) AT steht bei IBM für Advanced Technology, XT für Small Technology der älteren PCs;
die Prozessoren der Baureihe 8086 ff ... stammen von INTEL, CYRIX, AMD u.a.
8 Einleitung
Diese Arbeit leistet ein bei Bedarf verfügbares Programm des jeweiligen Sprach
systems, das zusätzlich zum Betriebssystem des Rechners geladen werden muß. Im
Falle von TURBO Pascal handelt es sich um die o.g. sehr aufwendige Sprachumgebung
IDE, ein Werkzeug, das neben diesem Übersetzer eine Reihe weiterer Komponenten
aufweist, vor allem einen Editor zum Erstellen und Bearbeiten der Quelltexte in TURBO
Pascal, ferner einen Debugger zur Fehlersuche und noch andere praktische Features.
Der Benutzer eines PCs ist, wenn er nicht nur käufliche Software einsetzt, oftmals in
allen Rollen tätig. Im Laufe dieses Kurses werden wir daher in vielen Fällen zuerst etwas
Problemanalyse betreiben müssen, ehe wir ein Programm selbst schreiben und aus
testen. Damit der Rechner das in einer Hochsprache geschriebene Quellprogramm
(source code) abarbeiten kann, muß es erst in ein Bitmuster "übersetzt", d.h. in ein
maschinenorientiertes Objektprogramm verwandelt werden.
Zwei grundsätzlich verschiedene Typen solcher Übersetzer existieren: Wird das Quell
programm unter Laufzeit (Runtime) Zeile für Zeile übersetzt und sogleich zeilenweise
abgearbeitet, so spricht man von einem Interpreter. Charakteristisch ist für diesen Fall,
daß auch ein Programm mit fehlerhaften Anweisungen gestartet werden kann, weil
solche erst unter Laufzeit erkannt werden. Interpretierte Programme sind relativ lang
sam, da bei jeder Ausführung neuerlich übersetzt werden muß. Ein Compiler hingegen
generiert vorab den vollständigen Maschinencode und speichert ihn auf Wunsch auch
dauerhaft ab; nur bei erfolgreicher Übersetzung steht (auch ohne Quelle) ein syntaktisch
fehlerfreier Objektcode zur Verfügung, der dann wiederholt sehr schnell abgearbeitet
werden kann. Daß jenes Programm dann "läuft", spricht noch lange nicht für seine
"Richtigkeit", denn semantische oder logische Fehler, letztlich Fehler im Algorithmus,
werden auch von Compilem nicht oder nur selten erkannt. Kann z.B. bei einem
Quotienten der Nenner Null werden, so muß dies der Programmierer durch eine Abfrage
im Programm vorab berücksichtigen ...
Höhere Programmiersprachen waren zumindest anfangs fast immer problemorientiert,
d.h. für einen ganz gewissen Zweck konzipiert. Das zeigt oft schon der Name:
ALGOL: ALGOrithmic Language,
BASIC: . Beginners All purpose Symbolic Instruction Code,
COBOL: COmmon Business Oriented Language,
FORTRAN: FORmula TRANsiator u.a.
ALGOL und FORTRAN sind mathematisch-naturwissenschaftlich, COBOL ist kauf
männisch ausgerichtet. Baustatiker haben ihre eigene(n) Programmiersprache(n) mit
sehr speziellem Anweisungsvorrat und einer passenden Sprachstruktur. BASIC ist meist
in ein interpretierendes Sprachsystem eingebunden (es gibt aber auch BASIC-Compiler),
die übrigen werden stets compiliert. Allen gerade aufgeführten Sprachen ist gemeinsam,
daß das zu lösende Problem streng algorithmisiert werden muß, der Lösungsweg also
sehr detailliert prozedural zu beschreiben ist. Man nennt sie daher zusammenfassend
prozedurale Sprachen. Auch Pascal gehört zu dieser Gruppe.
Hingegen ist z.B. PROLOG (PROgramming in LOGics) eine sog. deklarative Sprache
(der fünften Generation): Ein Programm beschreibt die Aufgabe (z.B. das bekannte
Problem des Handelsreisenden) sinnfällig; der Rechner sucht dann eine Lösungs
strategie. PROLOG gehört zur großen Gruppe der symbolischen Sprachen, in der es
neben den deklarativen auch noch applikative und logische gibt. Die Programmier
technik ist hier gegenüber Pascal meist deutlich anders. Immer mehr an Bedeutung
gewinnen sog. objektorientierte Sprachen; zu Ende dieses Kurses kommen wir auf
diesen Gesichtspunkt (und zwar sogar bei Pascal) zurück.
Einleitung 9
Die Sprache Pascal ist nach dem französischen Philosophen und Mathematiker Blaise
Pascal (1623 - 1662) benannt, der schon um 1642 eine funktionsfähige Rechenmaschine
entworfen hat. *) Pascal wurde um 1971 an der ETH Zürich von Niklaus Wirth vor
gestellt und von ihm als Sprache konzipiert, die "klar und natürlich definiert ist und das
Erlernen des Programmierens als einer systematischen Disziplin im Sinne des
Strukturierens unterstützen soll ... " Wirth hat seinerzeit wohl kaum ahnen können,
welchen Siegeszug sein Entwurf einer "didaktischen Lernsprache" antreten würde:
Mittlerweile sind weltweit Millionen von solchen Sprachsystemen installiert, nicht zuletzt
deswegen, weil sich Pascal auch auf kleineren Rechnern mit relativ wenig Speicherplatz
schon vor Jahren (s.u. APPLE Pascal) vorteilhaft implementieren ließ und außerdem
eine Kunstsprache ist, die die Vorteile vieler bis dahin bekannter Sprachen verbindet und
dabei gleichzeitig eine Reihe spürbarer Nachteile vermeidet:
Pascal ist kaum schwerer erlernbar als die Anfängersprache BASIC, weist aber weit
bessere Strukturierungsmerkmale auf und hat nicht die sehr fehlerträchtige Syntax, die
beim Betrachten eines FORTRAN-Programms sofort auffällt. Sehen Sie sich dazu die
dargestellten Listings (Quellprogramme) zu ein und derselben AufgabensteIlung auf der
nachfolgenden Seite an:
Das erste Beispiel eines BASIC-Programms verrät auch dem weniger Kundigen, worum
es geht: Es liest sechs Zahlen ein, bildet deren Summe und gibt das Ergebnis aus. Die
restlichen Listings leisten in etwa dasselbe, lassen das aber im Falle ALGOL, Version
1960 (eine deutsche Entwicklung) bzw. FORTRAN IV (zeitlich früher, ab 1954 von IBM)
keineswegs so einfach erkennen, auch wenn z.B. die sog. FOR-Schleife wenigstens in
drei Listings in vergleichbarer Weise auftritt. Pascal ähnelt in den Formulierungen
BASIC, ist jedoch besser strukturiert, was wir freilich jetzt noch nicht erkennen können.
Übrigens: Die Groß- bzw. Kleinschreibung der Anweisungen in Pascal ist für den
Rechner ohne Bedeutung; sie hat nur didaktische Gründe, wie noch erläutert wird.
Die Übersetzung eines Pascal-Quelltextes erfolgt stets per Compiler. Enthält der Quell
text irgendwelche Syntaxfehler, also Verstöße gegen die Regeln der Sprache, oder sehr
einfache logische Fehler (z.B. Nichtabschluß von Schleifen und ähnliches), so ist kein
Maschinencode generierbar. Ist die Übersetzung erfolgreich, so liegt ein Objektcode vor,
der auch ohne Quelltext lauffähig ist. Kommerzielle Software wird meistens so geliefert.
Die Sprachumgebung IDE von TURBO besteht nicht nur aus einem solchen Compiler,
sondern zusätzlich aus etlichen weiteren (und nützlichen) Komponenten, von denen der
Anfänger zunächst nur den Editor zur Quelltextbearbeitung benötigt. Hierfür könnte man
sogar einen anderen (externen) Editor benutzen und den Compiler in der völlig
"abgemagerten" Form TPC.EXE einsetzen (was dann zwingend ist, wenn die Quellen
sehr umfangreich werden und der Arbeitsspeicher an seine Grenzen stößt). Auf den Um
gang mit der TURBO Sprachumgebung werden wir im nächsten Kapitel und fallweise
auch später nur soweit eingehen, wie es für den Anfänger unbedingt erforderlich ist. Die
insgesamt sehr umfangreichen und komfortablen Arbeitsmöglichkeiten kann man dann
nach und nach den Manualen [1] ... [4] von BORLAND entnehmen. Unser Kurs ist auch
dazu da, eben diese Manuale im Laufe der Zeit zu verstehen und mit Gewinn zu lesen.
Von Wirths Pascal ausgehend, wurde zunächst Standard-Pascal entwickelt, das seit
Mitte der siebziger Jahre auf Großrechenanlagen im Einsatz ist. Der Anweisungsvorrat
ist wegen der Kompatibilität im sog. ANSI-Standard genormt. Die jeweils imple
mentierten Compiler erstellen direkt ein Maschinenprogramm.
*) Um 1623 baute Wilhelm Schickard (1592 - 1635) eine Rechenuhr, um 1673 Gottfried
Wilhelm Leibniz (1646 -1716) eine Maschine mit Staffelwalze, die sogar multiplizierte.