ebook img

Turbo Pascal 5.0 für Naturwissenschaftler und Ingenieure PDF

247 Pages·1989·6.239 MB·German
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Turbo Pascal 5.0 für Naturwissenschaftler und Ingenieure

Programmieren von Mikrocomputem Band 39 Ekbert Hering Joachim Rasch Turbo Pascal 5.0 fur N aturwissenschaftler und Ingenieure Friedr. Vieweg & Sohn Braunschweig / Wiesbaden CIP-Titelaufnahme der Deutschen Bibliothek Hering, Ekbert: Turbo Pascal 5.0 flir Naturwissenschaftler und Ingenieure/Ekbert Hering; Joachim Rasch. Braunschweig; Wiesbaden: Vieweg, 1989 (Programmieren von Mikrocomputern; Bd. 39) ISBN 978-3-528-04624-8 ISBN 978-3-322-89429-8 (eBook) DOl 10.1007/978-3-322-89429-8 NE: Rasch, Joachim:; GT Das in diesem Buch enthaltene Programm-Material ist mit keiner Verpflichtung oder Garantie irgend einer Art verbunden. Die Autoren und der Verlag iibernehmen infolgedessen keine Verantwortung und werden keine daraus folgende oder sonstige Haftung iibernehmen, die auf irgendeine Art aus der Benutzung dieses Programm-Materials oder Teilen davon entsteht. Der Verlag Vieweg ist ein Unternehmen der Verlagsgruppe Bertelsmann. Aile Rechte vorbehalten © Friedr. Vieweg & Sohn Verlagsgesellschaft mbH, Braunschweig 1989 Das Werk einschlie~lich aller seiner Teile ist urheberrechtlich geschiitzt. Jede Verwertung au~erhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlags unzulassig und strafbar. Das gilt insbesondere fUr VervielfaItigungen, Ubersetzungen, Mikroverfilmungen und die Einspeicherung und Verarbeitung in elektronischen Systemen. ISBN 978-3-528-04624-8 Ekbert Hering Joachim Rasch Turbo Pascal 5.0 flir Naturwissenschaftler und Ingenieure Programmieren von Mikrocomputern Die Bande dieser Reihe geben den Benutzern von Mikrocomputern tiber die Betriebs anleitung hinaus zusatzliche Anwendungshilfen. Der Leser findet wertvolle Informa tionen und Hinweise mit Beispieien zur optimalen Ausnutzung seines Gerates, besonders auch im Hinblick auf die Entwicklung eigener Programme. Einfiihmng in die Anwendung des F ortgeschrittene Programrniertechniken Betriebssystems MS-DOS in Turbo Pascal von W. Schneider von E. Hering und K. Scheurer Programmieren mit UNIX Turbo Pascal 5.0 von G. Martin und M. Trostmann fiir Naturwissenschaftler und Ingenieure von E. Hering und J. Rasch Assemblerprogrammiemng mit dem M68000 Effektiv Programmieren mit von K. Kief Turbo Pascal 5.0 von S. Alexakis und Ch. Emmanuilidis Mikrocomputer-COBOL von W. Kahler Programmieren mit FORTH Strilkturiertes Programmieren in BASIC von C. K. McCabe von W. Schneider Programmieren mit Turbo Basic Programmierprinzipien in BASIC von M. Bohmer und Pascal von D. Herrmann Sprachverarbeitung mit LISP und Prolog auf dem PC Einfiihmng in Pascal von J. Handke von W. Schneider LOGO? LOGO! Turbo Prolog von K. Hausmann - Einfiihmng in die Anwendung von K. Justen Rechenstrukturen und Geometrie mit LOGO Probleme und LOsungen mit von G. Moll Turbo Prolog Logo-Programmierkurs fUr von D. Herrmann Commodore 64 Logo und Terrapin Logo Tabellenkalkulation in C (Apple II) von B. Eichinger-Wieschmann von B. Schuppar Turbo Pascal unter MS-DOS Programmieren mit Turbo C von G. Harbeck von V. MUller v Vorwort Turbo Pascal gehOrt stftrker denn je zu den ftuBerst erfolgreich ein gesetzten Programmiersprachen. Mit der nun vorliegenden Version 5 wurden fur den Anwender weitere Verbesserungen geschaffen. Hierbei ist vor aHem der Einsatz eines Debuggers in der QueHsprache Turbo Pascal zu nennen. Inzwischen sind viele EinfUhrungen in Turbo Pascal der Version 3 und der Version 4 auf dem Markt. Dieses Buch beschreibt nicht nur die neue Version 5, sondern ist im Gegensatz zu den meisten EinfUhrungswerken ein kompaktes Kompendium mit Programmierbeispielen aus Naturwis sense haft und Technik. Es solI vor allem das Denken in Daten- und Pro grammstrukturen schulen. Mit dieser Zielsetzung wendet sich dieses Werk vor allem an Schuler, Studenten und aIle, die in Turbo Pascal program mieren lernen mOchten. Aber auch fUr Lehrer, Dozenten und Professoren bietet dieses Buch einen klaren Leitfaden fUr die Ausbildung. Es war fur uns ganz wichtig, die Version 5 im Vergleich zu den fruheren Versionen 4 und 3 darzustellen. Dies geschieht an geeigneter Stelle im Text. Einen zusammenhangenden Vergleich findet der Leser im Abschnitt A 6 des Anhangs. Dort wird auch gezeigt, wie Programme der Version 3 in die Versionen 5 und 4 umgewandelt werden kOnnen und wie Programme der Version 4 in der Version 5 laufffthig gemacht werden k()nnen. Nach einer allgemeinen EinfUhrung in Daten- und Programmstrukturen, der Grundzuge der systematischen Programmentwicklung, der ErHiute rung des Umgangs mit Turbo Pascal 5 und des prinzipiellen Programm aufbaus in Turbo Pascal, werden nacheinander die einzelnen Programm strukturen besprochen, anhand eines Syntaxdiagrammes die Beschreibung in Turbo Pascal gezeigt und an einem Beispiel aus der Naturwissenschaft mit zugehOrigem Struktogramm und Programmausdruck erkHirt. Am Ende der einzelnen Abschnitte stehen Ubungsaufgaben, die zum selbstlindigen Arbeiten anleiten sollen. Die fertige ProgrammlOsung befindet sich im Anhang (s. Abschn. A 5). Ebenfalls im Anhang wurde eine alphabetische Kurzbeschreibung aller Befehle in Turbo Pascal der Version 3, der Ver sion 4 und der Version 5 zusammengestellt, um eine gesamte Ubersicht uber den Befehlsvorrat zu erhalten und schnell und gezielt nachschlagen zu kOnnen. Am SchluB des Anhangs (A 6) werden die Unterschiede zwi schen den Versionen vergleichend gegenubergestellt und das Vorgehen geschildert, wie Programme in andere, hOhere Versionen umgewandelt werden kOnnen. VI Vorwort Alle Programme sind fur die Version 3 (Zusatz .3TP), fUr die Version 4 (Zusatz .4TP) und fur die Version 5 (Zusatz .PAS) auf einer Diskette zusammengestellt und sofort laufflthig. Das Buch ist in folgende Abschnitte gegliedert: 1m ersten Kapitel erfolgt eine EinfUhrung in Daten- und Programm strukturen sowie grundslttzliche Anmerkungen zur systematischen Pro grammentwicklung. Am SchluB des Kapitels wird gezeigt, wie man Turbo Pascal (Version 5) installiert, wie die integrierte Entwicklungsumgebung aufgebaut ist, wie sie benutzt werden kann und ferner das systematische Vorgehen beim Programmieren in Turbo Pascal. Vor allem fUr die naturwissenschaftlich orientierten Leser wurde gezeigt, welche Ahnlich keiten die Organisation einer industriellen Fertigung und das Erstellen eines Programmes in Turbo Pascal aufweisen. Das zweite Kapitel erlltutert, ausgehend von den logischen Ablaufstruk turen Folge, Auswahl und Wiederholung, die entsprechenden Befehls strukturen in einem Syntaxdiagramm und verdeutlicht sie anhand eines Beispiels durch ein Struktogramm und das zugehl}rige Programm. Ein wichtiges Element der effizienten modularen Programmierung ist die Unterprogrammtechnik. An Beispielen wird im dritten Kapitel ihr Einsatz mit den heiden Programmelementen PROCEDURE und FUNCTION erlltutert. 1m vierten Kapitel wird der Umgang mit Datentypen und Datenstrukturen am Beispiel der Erstellung einer sequentiellen und einer Direktzugri// Datei geschult. Das /un/te Kapitel enthlilt Anwendungsprogramme aus der Naturwissen schaft und Technik, speziell aus der Chemie, der Mathematik, der Physik und der Statistik. Diese Programme sind nicht nur nutzlich, um das Ll}sen komplexer Aufgabenstellungen zu studieren, sondern sie kl}nnen auch sofort zur Problemll}sung eingesetzt werden. Vorwort VII 1m Anhang sind folgende Zusammenstellungen enthalten: Der Anhang A I enth!ilt die Operatoren und Funktionen. Eine alphabetisch geordnete kurze Beschreibung des gesamten Befehlsvorrats von Turbo Pascal der Versionen 3, 4 und 5 im Anhang A 2 dient zur schnellen und sicheren Orientierung. 1m Anhang A 3 sind die Fehlermeldungen zusammen gestellt. Das Arbeiten mit dem Debugger und der Break/watch-Funktion wird ausfUhrlich im Abschnitt A 4 vorgestellt. Die Losungen der Ubungs aufgaben befinden sich im Anhang A 5. 1m Anhang A 6 sind die Unter schiede zwischen den Versionen 3, 4 und 5 zusammengestellt und es wird gezeigt, wie die Programme in die Mheren Versionen von Turbo Pascal umgewandelt werden kOnnen. Zu danken haben wir dem bew~hrten Lektoratsteam vom Vieweg-Verlag, insbesondere Herrn Dr. Klockenbusch fur seine vorzugliche Lektorierung des Inhalts. Den Studenten der Fachhochschule Aalen in den Fachberei chen Augenoptik, Chemie und Oberfl~chentechnik mOchten wir fur ihre Mithilfe an der Gestaltung des Buches danken; an dieser Stelle insbeson dere Herrn Stephan Kohler, der das Programm fUr die multilineare Regression entwickelt hat. Gewidmet sei das Buch allen Schulern und Studenten der Natur- und Ingenieurwissenschaften, natiirlich ganz beson ders clenen der Fachhochschule Aalen, die strukturiert und effizient pro grammieren lernen mOchten, um ihre Probleme mit Rechnerunterstiitzung schnell und fehlerfrei IOsen zu kOnnen. Eine besondere Wid mung erlau ben wir uns dem jungen Nachwuchstalent und Sohn einer der Autoren, Stefan Hering, der uns durch mancherlei Einw~nde unsere Gedanken einesteils klarer empfinden und andererseits jugendlicher formulieren lieB. Ekbert Hering und Joachim Rasch Heubach, Geislingen Dezember 1988 VIII InhaItsverzeichnis 1 Einfiihrung ............................................ 1 1.1 Turbo Pascal als Programmiersprache . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Datenstrukturen....................................... 2 1.3 Programmstrukturen.................................... 6 1.4 Systematische Programmentwicklung . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.5 Arbeiten mit Turbo Pascal .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 10 1.5.1 Das Programmpaket Turbo Pascal 5 . . . . . . . . . . . . . . . . . . . . . 10 1.5.2 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 12 1.5.2.1 Installation auf einem Festplatten-Rechner . . . . . . . . . . 13 1.5.2.2 Installation auf einem Rechner ohne Festplatte ....... 18 1.5.3 Integrierte Entwicklungsumgebung (Benutzeroberflache) . . . . . .. 19 1.5.3.1 Starten des Programms ....................... 20 1.5.3.2 Schema der integrierten Entwicklungsumgebung . . . . . .. 20 1.5.3.3 Moglichkeiten der integrierten Entwicklungsumgebung .. 23 1.6 Programmieren in Turbo Pascal . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 25 1.6.1 Vergleich eines Programmaufbaus mit der industriellen Fertigung ................ . . . . . . . . . . . . . . . . . . . . .. 26 1.6.2 Prinzipieller Programmaufbau . . . . . . . . . . . . . . . . . . . . . . . .. 26 1.6.3 Aufbau eines UNITs (Programmbausteins) . . . . . . . . . . . . . . . .. 30 1.6.4 Programmieraufgabe............................... 32 1.6.5 Erstellen des Programms ............................ 33 1.6.5.1 Aufrufen des Editors. . . . . . . . . . . . . . . . . . . . . . . .. 33 1.6.5.2 Editier-Befehle............................. 34 1.6.5.3 Speichern unter einem Programmnamen . . . . . . . . . . .. 37 1.6.5.4 Kompilieren .............................. 37 1.6.5.5 Informationen (Options) .. . . . . . . . . . . . . . . . . . . .. 39 1.6.5.6 Speichern des Programms . . . . . . . . . . . . . . . . . . . . .. 43 1.6.5.7 Verlassen von Turbo Pascal. . . . . . . . . . . . . . . . . . . .. 43 1.6.5.8 Laden des Programms . . . . . . . . . . . . . . . . . . . . . . .. 43 1.6.5.9 Speichern auf Diskette als .EXE·Datei ............. 44 2 Programmstrukturen und Programmierbeispiele ................ 45 2.1 Folgestrukturen (Sequenzen) .............................. 53 2.1.1 Bestimmung des Mittelwertes zweier Zahlen ............... 54 2.1.1.1 Struktogramm............................. 54 2.1.1.2 Programm (MITTELWE.PAS) . . . . . . . . . . . . . . . . . .. 54 2.1.2 Obungsaufgabe: WURF1.PAS . . . . . . . . . . . . . . . . . . . . . . . .. 54 2.2 Auswahlstrukturen (Selektion) ... . . . . . . . . . . . . . . . . . . . . . . . . .. S6 2.2.1 Auswahl aus zwei Moglichkeiten (IF .. THEN .. ELSE) .. . . . . . . .. S6 2.2.1.1 Endgeschwindigkeit eines Elektrons nach Durchlaufen einer Spannung (relativistisch - nicht relativistisch) .... 57 Inhaltsverzeichnis IX 2.2.1.1.1 Struktogramm .. . . . . . . . . . . . . . . . . . . .. 58 2.2.1.1.2 Programm (ELEKTRON.PAS) . . . . . . . . . . .. 59 2.2.1.2 Logische Verkntipfungen . . . . . . . . . . . . . . . . . . . . .. 60 2.2.1.2.1 Vergleich dreier Zahlen ................ 61 2.2.1.2.1.1 Struktogramm . . . . . . . . . . . . .. 62 2.2.1.2.1.2 Programm (LOGIK.PAS) . . . . . .. 63 2.2.1.2 Obungsaufgabe: WURF2.PAS . . . . . . . . . . . . . . . . . .. 64 2.2.2 Auswahl aus mehreren Moglichkeiten (CASE .. OF .. END) . . . . . .. 64 2.2.2.1 Wahlweise Berechnungen am senkrechten Kreiszylinder .. 65 2.2.2.1.1 LABEL (Kennung) ................. " 65 2.2.2.1.2 Struktogramm . . . . . . . . . . . . . . . . . . . . .. 66 2.2.2.1.3 Programm (KREISZYL.PAS) ............ 67 2.2.2.1.4 Die Anweisung CASE .. OF .. ELSE .. END . . . . .. 68 2.2.2.1.5 Programm (KREISZYL.PAS) ............ 68 2.2.2.2 Wahlweise Berechnung von Wechselstromwiderstanden .. 70 2.2.2.2.1 Struktogramm .. . . . . . . . . . . . . . . . . . . .. 71 2.2.2.2.2 Programm (WESTROWI.PAS) . . . . . . . . . . .. 72 2.2.2.3 Obungsaufgabe: KUGEL.PAS . . . . . . . . . . . . . . . . . .. 75 2.3 Wiederholung (Iteration) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 76 2.3.1 Zahlschleifen (FOR .. TO(DOWNTO) .. DO) . . . . . . . . . . . . . . . .. 76 2.3.1.1 Simulation eines Wtirfelspiels ................... 77 2.3.1.1.1 Struktogramm . . . . . . . . . . . . . . . . . . . . .. 77 2.3.1.1.2 Programm (WUERFEL.PAS) . . . . . . . . . . . .. 78 2.3.1.2 Einlesen eines ARRAYs ..................... " 79 2.3.1.2.1 Einlesen eines eindimensionalen ARRAYs. . .. 80 2.3.1.2.1.1 Struktugramm . . . . . . . . . . . . .. 81 2.3.1.2.1.2 Programm (WURF3.PAS) . . . . . .. 82 2.3.1.2.2 Einlesen eines zweidimensionalen ARRAYs. .. 83 2.3.2 Abweisende Schleife (WHILE .. DO) ..................... 85 2.3.2.1 Stromungswiderstand einer laminaren Stromung in glatten Rohren (Reynolds-Zahl) ................. 86 2.3.2.1.1 Struktogramm .. . . . . . . . . . . . . . . . . . . .. 87 2.3.2.1.2 Programm (STROEMEN.PAS) . . . . . . . . . . .. 87 2.3.3 Nicht abweisende Schleife (REPEAT .. UNTIL) . . . . . . . . . . . . .. 88 2.3.3.1 Stromungsprogramm mit der REPEAT .. UNTIL-Schleife. 89 2.3.3.1.1 Struktogramm . . . . . . . . . . . . . . . . . . . . .. 89 2.3.3.1.2 Programm (STROM2.PAS) . . . . . . . . . . . . .. 89 2.3.4 Geschachtelte Schleifen . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 90 2.3.4.1 DurchfluBvolumen nach Hagen-Poiseuille ........... 90 2.3.4.1.1 Struktogramm . . . . . . . . . . . . . . . . . . . . .. 91 2.3.4.1.2 Programm (HAGEN.PAS) .............. 92 2.3.4.2 Sortierverfahren nach dem Bubbie-Sort-Algorithmus . . .. 93 2.3.4.2.1 Struktogramm . . . . . . . . . . . . . . . . . . . . .. 93 2.3.4.2.2 Programm (BUBBLE.PAS) . . . . . . . . . . . . .. 94 2.3.4.3 Obungsaufgabe: Sortierverfahren nach dem Shell-Sort Algorithmus (SHELL.PAS). . . . . . . . . . . . . . . . . . . .. 95 x lrUtaltsverzeiclrnis 3 Unterprogrammtechnik .................................. 96 3.1 Unterprogramme (Prozeduren) ..... . . . . . . . . . . . . . . . . . . . . . . .. 96 3.1.1 Programm Mittelwertbildung ohne Unterprogramm (MITTELWE.PAS) .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 97 3.1.2 Programm Mittelwertbildung in Unterprogrammtechnik (MITTELW2.PAS) ................................ 97 3.2 Lokale und globale Variable (Konstante). . . . . . . . . . . . . . . . . . . . . .. 99 3.3 Prozeduren mit Parameteriibergabe .......................... 102 3.3.1 Parameteriibergabe au~erhalb der Prozedur .... . . . . . . . . . . .. 103 3.3.2 Direkte Parameteriibergabe innerhalb der Prozedur . . . . . . . . . .. 105 3.3.2.1 Festlegung der Variablen als Ein-und Ausgabeparameter (pROZED2.PAS) . . . . . . . . . . . . . . . . . . . . . . . . . .. 106 3.3.2.2 Festlegen der Variablen als Eingabe-Parameter (PROZED3.PAS) ........................... 107 3.3.2.3 Defmition mehrerer formaler Variablen ............ 108 3.4 Funktionen.......................................... 109 3.5 Rekursive Ablaufe (Rekursionen) ........................... 112 3.5.1 Rekursives Programm zur Fakuitatsermittlung (FAKUL1.PAS) . .. 112 3.5.2 Iteratives Programm zur Fakultatsermittlung (FAKUL2.PAS) . . .. 113 4 Weiterfuhrende Moglichkeiten zum Umgang mit Datentypen und Datenstrukturen ........................................ 114 4.1 Definition von Datentypen durch den Benutzer (TYPE-Anweisung) . . . .. 114 4.2 Strukturierung von Daten als RECORD ....................... 117 4.3 Vereinfachte Bearbeitung von RECORDs (WITH-Anweisung) . . . . . . . .. 121 4.4 Strukturierung von Daten als FILE (Datei) ..................... 123 4.4.1 Organisationsformen von Dateien ...................... 124 4.4.2 Anweisungen zur Arbeit mit Dateien .................... 125 4.4.3 Aufstellen einer Datei mit dateiweisem Datenverkehr ......... 127 4.4.4 Aufstellen einer Direktzugriff-Datei . . . . . . . . . . . . . . . . . . . .. 132 5 Anwendungsprogramme .................................. 138 5.1 Chemie............................................. 138 5.1.1 Radioaktiver Zerfall (RADIOZER.PAS) .. . . . . . . . . . . . . . . .. 138 5.1.2 Wasserstoffspektrum (SPEKTRUM.PAS) . . . . . . . . . . . . . . . . .. 141 5.1.3 Auswertung von Titrationen (TITRATIO.PAS) ............. 143 5.2 Mathematik.......................................... 145 5.2.1 L6sung quadratischer Gleichungen (QUADRAT.PAS) . . . . . . . .. 145 5.2.2 Addition zweier Matrizen (MATRADD.PAS) . . . . . . . . . . . . . .. 146 5.2.3 Muitiplikation zweier Matrizen (MATRMULT.PAS) .......... 147 5.2.4 LOsung linearer Gleichungssysteme nach Gauss-Jordan (GAUSSJOR.PAS) .... . . . . . . . . . . . . . . . . . . . . . . . . . . .. 150

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.