Das nunmehr in der dritten Auflage vorliegende Buch beruht auf einer Lehrveranstaltung, die von den Autoren fur Studierende der Wirtschaftswissenschaften entwickelt und an der Universitat Freiburg i.Br. angeboten wurde. Ziel des Buchs ist zum einen, auf der Basis der Programmiersprache Pascal eine verstandliche und schrittweise Einfuhrung in die strukturierte Programmierung und damit in die generelle Funktionsweise von Computertechnologie zu geben. Zum anderen soll das Buch die Moglichkeit eroffnen, wirtschaftswissenschaftliche Methoden und Konzepte am Computer nachzuvollziehen, deren Wirkungsweise experimentell zu erforschen, und damit das Verstandnis wirtschaftswissenschaftlicher Zusammenhange fordern.Ubersichtlichkeit und Nachvollziehbarkeit des Stoffs ergeben sich aus der Verwendung einer grossen Zahl von Tabellen und Grafiken sowie vielen praktischen Beispielen und Aufgaben mit Losungen. Ein Literatur- und Stichwortverzeichnis runden das Buch ab."
In den mehr als 10 Jahren, die seit dem Entwurf und der ersten Implementierung der Sprache Pascal vergangen sind, ist eine kaum noch zu Ubersehende FUlle von Pascal-EinfUhrungs- und lehrbOchern verCSffentlicht worden. NatUrlich werden die Eigenschaften und Maglichkeiten der Sprache stets an einigen Beispielen erllutert. Dennoch wird mancher leser - wie wir - die Erfahrung gemacht haben, da8 der Fundus der Beispiele unzureichend oder zu weit verstreut ist, um die Sprache richtig zu lehren, zu lemen, und die Technik des ProbiemlCSsens mit Hilfe von Pascal systematisch einUben zu konnen. Wir hotfen, mit dieser Sammlung von Beispielen dazu beizutragen, diesem Mangel abzuhelfen. Den Kern der vorliegenden Sammlung bilden Probleme, die fUr die Programmierausbildung kUnftiger Diplom-Wirtschaftsingenieure an der Universitat Karlsruhe verwendet werden. Man kann das insbesondere an einigen Beispielen zu grundlegenden DV-Algorithmen und Optimierungsaufgaben unschwer ablesen. Dennoch haben wir stets darauf geachtet, beim leser keine Spezialkenntnisse vorauszusetzen. Mathematische Kenntnisse und Fertigkeiten, wie sie etwa bis zum Abschlu6 der Mittelstufe des Gymnasiums vermittelt werden, ein waches Auge fUr die (kleinen) Probleme des Alltags und - last but not least - ein lehr- oder Handbuch fUr die Sprache Pascal sollten zum Verstlndnis slmtlicher Programmbeispiele ausreichen. Aile Programme sind in UCSD-Pascal geschrieben. Das ist eine spezielle, vor allem auf Mikrorechnern sehr verbreitete Erweiterung der Sprache Pascal.
Die hier gesammelten Aufgaben und Probleme sollen zu einer aktiven Auseinandersetzung mit Pascal anregen, wobei einerseits die wichtigen Haupteigenschaften von Pascal behandelt werden und andererseits auch einige weniger bekannte Eigenarten - bis hin zu Fallen - berUcksich tigt werden. Die Aufgaben sind aus der Beobachtung des Lernverhaltens von SchUlern, Studen ten und Erwachsenen entstanden. Viele Aufgaben sind Reaktionen auf haufig auftretende Lern- und Verstandnisschwierig keiten, und sie wurden im Verlauf von zwei Jahren in der Unter richtspraxis erprobt und verbessert. Es wurde versucht, die Aufgaben thematisch zu ordnen, jedoch waren Uberschneidungen und Vorgriffe nicht ganz zu vermeiden. Zu komplexeren Themen finden sich auch vollstandige Programmbeispiele. BerUcksichtigt wurden die auf Mikrocomputern weit verbreiteten Pascal-Dialekte UCSD-Pascal und Turbo-Pascal. Von anderen Aufgaben sammlungen unterscheidet sich diese Sammlung durch die Betonung der Eigenarten der Sprache Pascal: nicht das Programmieren allgemein ("Vom Problem zum Programm"), sondern der souverane Umgang mit einer speziellen Sprache, d. h. ihren Datenstrukturen und ihren Kontrollstrukturen, sind hier das Thema. Zu allen Aufgaben werden kommentierte Losungen gegeben, so daJ3 auch der weniger GeUbte niemals im Unklaren gelassen wird. Diese Sammlung eignet sich daher zum Selbststudium und zur PrUfungsvor bereitung. Aber auch Lehrer und Dozenten konnen Anregungen fUr ihre Unterrichtsvorbereitung finden. Sollen Aufgaben direkt fUr Klausuren Ubernommen werden, muJ3 zuvor der Zeitbedarf fUr die Bearbeitung realistisch abgeschatzt werden. Die hier vorgelegten Aufgaben sind im Hinblick auf Schwierigkeitsgrad und Zeitaufwand untereinander Uber haupt nicht gleichwertig."
Warum noch ein Pascal-Buch? So werden wir stets gefragt, wenn wir von unserem Buchprojekt erzahlen. Die Antwort ist recht einfach: Weil es ein solches Pascal-Buch noch nicht gibt! Es solI - sich nicht an Programrnieranfanger wenden, sondern an Leser, die schon etwas Erfah- rung mit BASIC oder Pascal haben; - sich nicht auf kleine Beispielprogramme beschranken, sondern auch groBere mit mehr als zehn Seiten behandeln; - sich auf einen Themenkreis konzentrieren, die Textverarbeitung; - vor allem Themen wie strukturierte Programmierung, Modularisierung und Software Tools behandeln - und schlieBlich die erarbeiteten Programme auf Diskette zuganglich machen. Wie entstand dieses Buch? Der erste Verfasser (M. B.) hat in den Jahren 1977 bis 1985 mehrfach die Zyklen Programmieren I, II und III an der Freien Universitat gehalten und der zweite (A. S.) war als Tutor mit dabei. So entstand im Laufe der Zeit ein reicher Schatz an Beispielpro- grammen, den es zu heben galt. Unsere Sichtweise ist stark beeinfluBt worden von den Buchern "Software Tools" und "Software Tools in Pascal" von Kernighan und Plauger aus den Jahren 1976 und 1981. Der einleitende Satz dieser Bucher: "This book teaches how to write good programs that are good tools." ist daher auch ein passendes Motto flir unser Buch. Was sind Tools? Kernighan und Plauger verstehen darunter Programmteile, die eine allgemeine Auf- gabe erftillen und die man daher einmal definiert und dann universell einsetzt - anstatt flir jeden Spezialfall ein passendes Programmstuck zu entwerfen.
Vorwort Ein didaktisch gut aufbereitetes Buch zu einer Programmiersprache zu schreiben, stellt eine besondere Herausforderung an die Autoren dar. Im Fall der Programmiersprache Pascal gilt es zusätzlich zu prüfen, wieweit hierfür ein weiteres Buch seine Leser finden kann. Immerhin bietet der Markt bereits eine Reihe von Pascal-Lehrbüchern an. Diese Frage kann durchaus positiv beantwortet werden. Einerseits bestehen für betriebswirtschaftliche Anwendungsbereiche noch deutliche Defizite. Deshalb orientieren sich im vorliegenden Buch die Einführungen in die Teilthemen zu Pascal weitgehend an betriebswirtschaftlichen Beispielen. Umfang und Komplexität dieser Beispiele wurden dem jeweiligen Teilthema angepaßt - von einer kleinen Übung bis hin zu einer umfassenden betriebswirtschaftlichen Praxisfallstudie. Insoweit richtet sich dieses Lehrbuch an Wirtschaftswissenschaftler und Wirtschaftsinformatiker, an Wirtschaftsingenieure und Systemingenieure, an Verwaltungsorganisatoren und Anwendungsprogrammierer. Studenten und Praktiker können das Buch gleichermaßen für die Tagesarbeit nutzen. Andererseits bemüht sich diese Ausarbeitung um eine durchgehend einheitliche, systematische Didaktik. Der Rahmen dieses Buches ist so ausgelegt, daß es eine gute Grundlage für den Einstieg in Pascal und die Anwendungen bietet. Die wichtigsten Eigenschaften der Programmiersprache Pascal werden stufenweise, kurz und anschaulich vorgestellt. Die Kombination von erklärendem Text, einheitlich gestalteten Grafiken und abgestimmten Beispielen erleichtert dem Leser das schrittweise Verständnis.
, A preliminary version o~ the programming language Pascal was dra~ted in 1968. It ~ollowed in its spirit the A1gol-6m and Algo1-W 1ine o~ 1anguages. A~ter an extensive deve10pment phase, a~irst compiler became operational in 197m, and pub1ication ~ollowed a year 1ater (see Re~erences 1 and 8, p.1m4). The growing interest in the deve10pment of compilers ~or other computers ca11ed ~or a conso1idation o~ Pascal, and two years of experience in the use o~ the 1anguage dictated a few revisions. This 1ed in 1973 to the pub1ication o~ a Revised Report and a de~inition o~ a 1anguage representation in terms of the ISO cha:.:.acter set. This booklet consists o~ two parts: The User Manual, and the Revised Report. The ManUAl is directed to those who have previous1y acquired some ~ami1iarity with computer programming, and who wish to get acquainted with the 1anguage Pascal. Hence, the style o~ the Manual is that o~ a tutorial, and many examp1e~ are inc1uded to demonstrate the various ~eatures o~ Pascal. Summarising tab1es and syntax speci~ications are added as Appendices. The Report is inc1uded in this booklet to serve as a concise, u1timate reference ~or both programmers and imp1ementors. It defines stAndArd Pascal which constitutes a common base between various implementations of the 1anguage.
The material for this book first appeared in the magazine Personal Computer World, as a series of articles which ran from September 1979 to June 1980. It was designed to appeal to a new (in 1979) sort of reader the microcomputer enthusiast, both amateur and professional about whom two assumptions were made. The first was that the reader was someone who had already learned to program (probably in BASIC) and who wanted to create programs in as systematic and proficient a fashion as possible. The second was that the reader would not be adverse to an occasional glimpse of how the underlying machine played its part in executing these programs. As a result of these, no attempt was made to teach the "problem-solving" aspects of programming (although the Top-Down philosophy for program design formed a key feature) and no apology was made for the repeated references to the way in which a Pascal compiler "viewed" some particular code fragment. In preparing this material for publication as a single volume, there has been little deviation from this policy. Nevertheless, it should be remarked that the first five chapters contain all the material one would need to cover in an initial course in programming (up to the level of most BASIC's) while the second half of the book tackles some of the more sophisticated techniques available to the Pascal programmer.
Dieses Buch ist fur Anfangerkurse bestimmt und soll helfen, Probleme mitHilfe des Rechners zu loesen. Es ist fur Schuler der oberen Klassen und Studenten wie auch zum Selbststudium geeignet. Eine fruhere Version dieses Buches wurde bereits sie- benmal in Einfuhrungsklassen an der University of California San Diego (UCSD) als Unterrichtsmaterial verwendet. Mit diesem Vorwort wenden wir uns an Lehrer und Dozenten und an alle jene, die uber- ausreichende Kenntnisse in der heutigen Datenverarbei- tung verfugen, um angehende Studenten beratend unterstutzen zu koennen. Das vorliegende Material wurde von ca. 55% aller Studenten, die an der UCSD einen Kurs mit 10 Wochenstunden pro Quartal belegt hatten, erfolgreich durchgearbeitet. Alle Kursteilnehmer wurden in "Keller' s Personalized System of Instruction" (PSI) unter- wiesen, obgleich der Aufbau dieses Buches die Anwendung dieser Methode eigentlich nicht erforderlich macht. Mit Hilfe der PSI- Methode koennen die Studenten etwas mehr Material verarbeiten als mit der herkoemmlichen Unterrichtsmethode, die aus Vortrag und anschliessender Abfragung besteht. PSI erlaubt eine Leistungs- einstufung entsprechend der erfolgreich abgeschlossenen Kapitel- anzahl. Man kann in etwa davon ausgehen, dass so gut wie alle Studenten eines UCSD Kurses die ersten zehn wichtigen Kapitel mi t den zugehoerigen UEbungen erfolgreich abschliessen. Nach der konventionellen Lehrmethode sollten im Semestersystem etwa 15 Kapi tel zu schaffen sein; im Quartaisystem dagegen darf man ohne besondere Voraussetzung nicht mehr als 12 Kapitel erwarten. Die meisten Lehrbucher fur Anfanger wenden sich an Schuler und Studenten, die ihre Programmtests auf den unterschiedlichsten Wirtsrechnern und Betriebssystemen durchfuhren.
Die Programmiersprache PASCAL wurde von Professor N. Wirth an der Eidgenos- sischen Technischen Hochschule in Zurich entwickelt mit dem Ziel, die Program- mierung von Computem leicht zu erlemen. PASCAL hat dieses Ziel dank einer Reihe nutzungsfreundlicher Merkmale erreicht. Die Sprache hat sich inzwischen zu einer der bekanntesten und am meisten disku- tierten modemen Programmiersprachen entwickelt. DafUr waren u. a. die folgenden Grtinde ausschlaggebend: - PASCAL ist ubersichtlich, - PASCAL ist allgemein einsetzbar, - PASCAL ist systematisch aufgebaut, - PASCAL ist wirklich leicht erlembar. Das Buch 'PASCAL systematisch' ist eine grundlegende EinfUhrung in die Sprache. In ihm wird' besonders der Aspekt des 'systematischen Aufbaus' der Sprache her- ausgearbeitet. Daraus wird unmittelbar deutlich, daB sich PASCAL auBerordent- lich gut zur EinfUhrung in die Grundlagen der Programmiersprachen eignet. Damit ist das Buch auch fUr den Anwender einer anderen Sprache eine Basis, auf der spe- zielles weiteres Wissen aufgebaut werden kann. Da fast alle modemen Program- miersprachen, darunter ADA und CHILL, auf PASCAL basieren, sind in PASCAL verwirklichte Konzepte als zukunftsweisend zu betrachten. Das Buch wird aueh fUr das Selbststudium empfohlen. Der Inhalt sollte jedoch nicht 'trocken' erarbeitet werden. Vielmehr sollen die einzelnen Kapitel durch prak- tische Erprobung an einem Rechner vertieft werden. Dazu dienen auch die zahl- reichen Programmbeispiele, die direkt ubemommen werden konnen. Zu beachten ist jedoch, daB ein PASCAL-System zur VerfUgung stehen muB, das Dialogein-und -ausgabe untersttitzt.
PASCAL-XSC (PASCAL-eXtension for Scientific Computation) ist eine Erweiterung der weitverbreiteten Programmiersprache PASCAL. Sie verfolgt das Ziel, das Programmieren, insbesondere im Bereich technisch-wissenschaftlicher Anwendungen, durch zusätzliche Sprachkonzepte wie Module, dynamische Felder und Operatoren erheblich zu vereinfachen. Eine optimale Arithmetik mit hochgenauen Standardfunktionen und exakter Ausdrucksauswertung ermöglicht eine automatisierte, zuverlässige Kontrolle der berechneten Ergebnisse. Damit unterstützt PASCAL-XSC die Entwicklung von Routinen mit automatischer Ergebnisverifikation. Mittels der Compiler-Implementierung in C kann PASCAL-XSC auf PC's, Workstations, Großrechnern und Supercomputern gleichermaßen eingesetzt werden. In dem vorliegenden Lehr- und Handbuch wird PASCAL-XSC vollständig beschrieben. Zur praktischen Verwendung und zum leichteren Kennenlernen und Vertrautwerden mit den über PASCAL hinausgehenden neuen Sprachelementen ist ein ausführlicher Abschnitt mit Übungsaufgaben und Lösungen aufgenommen worden. Ein kompletter Satz von Syntaxdiagrammen, sowie ausführliche Register und Verzeichnisse schließen dieses Buch ab.
This manual describes a PASCAL extension for scientific computation with the short title PASCAL-XSC (PASCAL eXtension for Scientific Computation). The language is the result of a long term effort of members of the Institute for Applied Mathematics of Karlsruhe University and several associated scientists. PASCAL XSC is intended to make the computer more powerful arithmetically than usual. It makes the computer look like a vector processor to the programmer by providing the vector/matrix operations in a natural form with array data types and the usual operator symbols. Programming of algorithms is thus brought considerably closer to the usual mathematical notation. As an additional feature in PASCAL-XSC, all predefined operators for real and complex numbers and intervals, vectors, matrices, and so on, deliver an answer that differs from the exact result by at most one rounding. Numerical mathematics has devised algorithms that deliver highly accurate and automatically verified results by applying mathematical fixed point theorems. That is, these computations carry their own accuracy control. However, their imple mentation requires arithmetic and programming tools that have not been available previously. The development of PASCAL-XSC has been aimed at providing these tools within the PASCAL setting. Work on the subject began during the 1960's with the development of a general theory of computer arithmetic. At first, new algorithms for the realization of the arithmetic operations had to be developed and implemented.