ebook img

Turbo-Pascal für Ingenieure: Eine Einführung mit Anwendungen aus Naturwissenschaft und Technik PDF

332 Pages·1992·12 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 für Ingenieure: Eine Einführung mit Anwendungen aus Naturwissenschaft und Technik

Ekbert Hering Eberhard Bappert Joachim Rasch Turbo Pascal fUr Ingenieure Aus dem Programm ___________- ..... Technische Informatik Informatik flir Ingenieure 1 von P. Rausch Rechnerstrukturen und Rechnerarchitektur von W. Bundschuh unp P. Sokolowski DigitaIrechner-Grundlagen und Anwendungen von W. Ameling Turbo Pascal fiir Ingenieure von E. Hering, E. Bappert und J. Rasch Aufbau und Arbeitsweise von Rechenanlagen vonW.Coy Datenstrukturen und Datenbanken von G. Schafer Assemblerprogrammierung mit dem PC von J. Erdweg Software-Engineering von E. Hering Datenkommunikation von D. Conrads DatenfemUbertragung von P. Welzel DigitaIe Kommunikationssysteme I von F. Kaderali System-und Signaltheorie von O. Mildenberger Informationstheorie und Codierung o. von Mildenberger Digitale Signalverarbeitung von A. van den Enden und N. Verhoeckx Methoden der digitalen Bildsignalverarbeitung von P. Zamperoni Vieweg _________________ ~ Ekbert Hering Eberhard Bappert Joachim Rasch Turbo Pascal fur Ingenieure Eine Einfiihrung mit Anwendungen aus Naturwissenschaftund Technik 2., neu bearbeitete Auflage Unter Mitarbeit von Rolf Martin Mit 93 Abbildungen und 10 Anwendungsprogrammen Friedr. Vieweg & Sohn Braunschweig/Wiesbaden Die Deutsche Bibliothek - CIP-Einheitsaufnahme Hering, Ekbert: Turbo-Pascal fUr Ingenieure: eine Einfiihrung mit Anwendungen aus Naturwissenschaft und Technik I Ekbert Hering; Eberhard Bappert; Joachim Rasch. - 2., neubearb. Aufl. I unter Mitarb. von Rolf Martin. - Braunschweig; Wiesbaden: Vieweg, 1992 (Viewegs Fachbticher der Technik) ISBN 978-3-528-14479-1 ISBN 978-3-322-89743-5 (eBook) DOl 10.1007/978-3-322-89743-5 NE: Bappert, Eberhard:; Rasch, Joachim: Das in diesem Buch enthaltene Programm-Material ist mit keiner Verpflichtung oder Garantie irgendeiner Art verbunden. Die Autoren und der Verlag tibernehmen infolgedessen keine Veran wortung und werden keine daraus folgende oder sonstige Haftung tibernehmen, die auf irgende Art aus der Benutzung dieses Programm-Materials oder Teilen davon entsteht. 1. Auflage 1990 2., neu bearbeitete Auflage 1992 Aile Rechte vorbehalten © Friedr. Vieweg & Sohn Verlagsgesellschaft mbH, Braunschweig / Wiesbaden, 1992 Der Verlag Vieweg ist ein Unternehmen der Verlagsgruppe Bertelsmann International. Das Werk und seine Teile ist urheberrechtlich geschtitzt. J ede Verwertunl in anderen als den gesetzlich zugelassenen Fiillen bedarf deshalb der vor herigen schriftlichen Einwilligung des Verlages. Umschlaggestaltung: Hanswerner Klein, Leverkusen Gedruckt auf siiurefreiem Papier ISBN 978-3-528-14479-1 v Vorwort zur zweiten Auflage Nach der erfreulich guten Aufnahme des Buches durch die Leser, den positiv kriti schert Stellungsnahmen und der Weiterentwicklung von Turbo Pascal ist eine zwei te Auflage notwendig geworden. Die bestehenden Programme wurden iiberarbeitet, urn dem Leser zu zeigen, wie Programme ohne Riickspriinge (GOTO-frei) geschrie ben werden konnen. Neu aufgenommen wurde im fiinften Kapitel eine HinIlihrung zur objektorientier ten Programmierung (OOP) iiber die abstrakten Datentypen (ADT). Am Beispiel eines Sortierprogramms wurde gezeigt, in welchen Schritten man von einer struk turierten Programmierung zu einer objektorientierten Programmierung gelangt. Das sechste Kapitel zeigt an einem Beispiel aus der grafischen Datenverarbeitung den groBen Vorteil der objektorientierten Programmierung: die problemlose Erwei terbarkeit mit Objektklassen und virtue lIen Methoden. Hier findet sich auch eine schrittweise Einfiihrung in das UNIT -Konzept. 1m siebten Kapitel wird am Beispiel des Programmbeispiels des schiefen Wurfes gezeigt, wie man zweckmaBigerweise Grafiken erstellt. Das achte Kapitel enthalt die Anwendungsprogramme. Sie wurden gegeniiber der ersten Auflage leicht gekiirzt, urn Platz fUr die neuen Kapitel zu bekommen. Ein Grafikprogramm zur Demonstration Lissajousscher Figuren wurde ins Buch aufge nommen. Zu danken haben wir, wie stets, dem bewahrten Lektoratsteam vom Vieweg-Ver lag, insbesondere Herro Edgar Klementz vom Fachbuchlektorat. Ganz besonders danken mochten wir allen kritischen Begleitem dieses Buches, unseren Kollegen von den Fachhochschulen und Universitaten. Unser groBter Dank gilt unseren Stu denten der Fachhochschule Aalcm, insbesondere in den Fachbereichen Augenoptik, Chemie und Oberflachentechnik, die viele Anregungen zur Verbesserung dieses Werkes gaben. Deshalb sind wir sicher, unseren Lesem ein verbessertes und auf die praktischen Bediirfnisse des Lemenden zugeschnittenes Werk anbieten zu konnen. Heubach, Heidenheim, Geislingen, April 1992 Ekbert Hering, Eberhard Bappert und Joachim Rasch VI Inhaltsverzeichnis 1 Einfiihrung ................................................................................................... . 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..................................................................... 13 1.5.1 Das Programmpaket Turbo Pascal............................................ 13 1.5.2 Installation .................................................................................. 14 l.5.3 Integrierte Entwicklungsumgebung (Benutzeroberflache) ...... 17 l.5.3.1 Aufbau der integrierten Entwicklungsumgebung ....... 18 1.5.3.2 Moglichkeiten der integrierten Entwicklungsumgebung ............................................... 21 1.6 Programmieren in Turbo Pascal............................................................ 24 1.6.1 Vergleich eines Programmaufbaus mit der industriellen Fertigung ..................................................................................... 24 1.6.2 Prinzipieller Programmaufbau ................................................... 24 1.6.3 Programmieraufgabe .................................................................. 28 1.6.4 Erstellen des Programms............................................................ 29 1.6.4.1 Eingabe des Programms ............................................... 29 1.6.4.2 Editier-Befehle ............................................................. 30 1.6.4.3 Kompilieren des Programms........................................ 33 1.6.4.4 Suchen und Ersetzen .................................................... 34 1.6.4.5 Speichern unter einem Programmnamen .................... 36 1.6.4.6 Ausfiihren des Programms ........................................... 37 1.6.4.7 Verlassen von Turbo PascaL....................................... 38 1.6.4.8 Laden des Programms .................................................. 38 1.6.4.9 Speichern als .EXE-Datei ............................................ 38 2 Programmstruktureo uod Programmierbeispiele ................................... 41 2.1 Folgestrukturen (Sequenzen) ................................................................. 49 2.1.1 Bestimmung des Gesamtwiderstandes bei Parallel- schaltung zweier Widerstiinde ................................................... 49 2.1.1.1 Struktogramm ............................................................... 50 2.1.1.2 Programm (PARALLEL.PAS) .. .................. ................ 50 2.1.2 Ubungsaufgabe: WURF I.PA S .......... .......... ...................... ........ 51 2.2 Auswahlstrukturen (Selektion) .............................................................. 52 2.2.1 Auswahl aus zwei Moglichkeiten (IF .. THEN .. ELSE) .............. 52 Inhaltsverzeichnis VII 2.2.1.1 Endgeschwindigkeit eines Elektrons nach Durch laufen einer Spannung (relativistisch -nicht relativistisch) ............................. 53 2.2.1.1.1 Struktogramm.. .............. ...... .................. ....... 54 2.2.1.1.2 Programm (ELEKTRON.PAS) ................... 54 2.2.1.2 Logische Verkniipfungen ............................................. 55 2.2.1.2.1 Me13bereichserweiterung zur Strom-und Spannungsmessung ...................................... 57 2.2.1.2.1.1 Struktogramm ............................ 58 2.2.1.2.1.2 Programm (STROMMES.PAS) 59 2.2.1.3 Ubungsaufgabe: WURF2.PAS .................................... 61 2.2.2 Auswahl aus mehreren Moglichkeiten (CASE .. OF .. END) ...... 61 2.2.2.1 Wahlweise Berechnungen am senkrechten Kreiszylinder ................................................................ 62 2.2.2.1.1 LABEL (Kennung) ...................................... 62 2.2.2.1.2 Struktogramm ............................................... 64 2.2.2.1.3 Programm mit Riicksprung (KREISZ1.PAS) ........................................... 65 2.2.2.1.4 Programm ohne Riicksprung (KREISZ2.PAS) ........................................... 66 2.2.2.1.5 Die Anweisung CASE .. OF .. ELSE .. END .... 69 2.2.2.1.6 Programm (KREISZ3 .PAS) ......................... 69 2.2.2.1.7 Programm mit Fehlererkennung durch logische Variable (KREISZ4.PAS) ............. 71 2.2.2.2 Wahlweise Berechnung von Wechselstromwiderstiinden ......................................... 75 2.2.2.2.1 Struktogramm ............................................... 76 2.2.2.2.2 Programm (WESTR01.PAS) ...................... 77 2.2.2.3 Ubungsaufgabe: KUGEL.PAS .................................... 80 2.3 Wiederholung (Iterationen) ................................................................... 81 2.3.1 Zahlschleifen (FOR .. TO(DOWNTO) .. DO) .............................. 81 2.3.1.1 Simulation eines Wiirfelspiels ..................................... 82 2.3.1.1.1 Struktogramm ............................................... 83 2.3.1.1.2 Programm (WUERFEL.PAS) ...................... 83 2.3.1.2 Einlesen eines ARRAYs .............................................. 84 2.3.1.2.1 Einlesen eines eindimensionalen ARRAYs 85 2.3.1.2.1.1 Struktogramm ............................ 86 2.3.1.2.1.2 Programm (WURF3.PAS) ......... 86 2.3.1.2.2 Einlesen eines zweidimensionalen ARRAys....................................................... 88 2.3.2 Abweisende Schleife (WHILE .. DO) ......................................... 90 2.3.2.1 Stromungswiderstand einer laminaren Stromung in glatten Rohren (Reynolds-Zahl) .................................. 90 VIII Inhaltsverzeichnis 2.3.2.1.1 Struktogramm ............................................... 91 2.3.2.1.2 Programm (STROEMEN.PAS) ................... 92 2.3.3 Nicht abweisende Schleife (REPEAT .. UNTIL) ....................... 92 2.3.3.1 Stromungsprogramm mit der REPEAT .. UNTIL- Schleife· ...................................................................... 93 2.3.3.1.1 Struktogramm............................................... 93 2.3.3.1.2 Programm (STROM2.PAS) ......................... 94 2.3.4 Geschachtelte Schleifen ............................................................. 94 2.3.4.1 DurchfluBvolumen nach Hagen-Poiseuille ................. 95 2.3.4.1.1 Struktogramm ............................................... 95 2.3.4.1.2 Programm (HAGEN.PAS)........................... 96 2.3.4.2 Sortierverfahren nach dem Select-Sort-Algorithmus . 97 2.3.4.2.1 Struktogramm ............................................... 98 2.3.4.2.2 Programm (BUBBLE.PAS) ......................... 98 2.3.4.3 Ubungsaufgabe: Sortierverfahren nach dem Shell- Sort-Algorithmus (SHELL.PAS) ................................. 99 3 U nterprogrammtechnik ..... .......... .................... ....................... ....... ......... ..... 100 3.1 Unterprogramme (Prozeduren) ............................................................. 101 3.1.1 Programm Mittelwertbildung ohne Unterprogramm (MITTELW E.PAS) .................................................................... 101 3.1.2 Programm Mittelwertbildung in Unterprogrammtechnik (MITTEL W2.PAS) ...... ........................................ ...... .......... ...... 102 3.2 Lokale und globale Variable (Konstante) ............................................. 103 3.3 Prozeduren mit Parameteriibergabe ...................................................... 107 3.3.1 Parameteriibergabe auBerhalb der Prozedur ............................. 108 3.3.2 Direkte Parameteriibergabe innerhalb der Prozedur ............ ..... 110 3.3.2.1 Festlegung der Variablen als Ein-und Ausgabeparameter (PROZED2.PAS) .......... ......... ....... 111 3.3.2.2 Festlegen der Variablen als Eingabe-Parameter (PROZED3.PAS) ......................................................... 112 3.3.2.3 Definition mehrerer formaler Variablen ..................... 113 3.4 Funktionen .............................................................................................. 114 3.5 Rekursive AbHiufe (Rekursionen) ......................................................... 116 3.5.1 Rekursives Programm zur FakulHitsermittlung (FAKUL1.PAS) .......................................................................... 117 3.5.2 Iteratives Programm zur Fakultatsermittlung (F AKUL20 .PAS) .......... ...................................... ............ .......... 118 4 Datentypen, Datenstrukturen und Dateiverwaltung ................................ 119 4.1 Definition von Datentypen durch den Benutzer (TYPE-Anweisung). 119 4.2 Strukturierung von Daten als RECORD ............................................... 122 4.3 Vereinfachte Bearbeitung von RECORDs (WITH-Anweisung) ......... 126 Inhaltsverzeichnis IX 4.4 Strukturierung von Daten als FILE (Datei) .......................................... 129 4.4.1 Organisationsformen von Dateien ............................................. 129 4.4.2 Arbeit mit Dateien...................................................................... 130 4.4.2.1 Anweisungen ................................................................ 130 4.4.2.2 Schematische Darstellung von Dateiaufbau und Dateiverwaltung ........................................................... 132 4.4.3 Aufstellen einer Datei mit dateiweisem Datenverkehr ............. 134 4.4.4 Aufstellen einer Direktzugriff-Datei ......................................... 142 4.5 Ubungsaufgabe zur Dateiverwaltung .................................................... 147 5 Abstrakte Datentypen und objektorientierte Programmierung ............ 148 5.1 Prozeduren und Funktionen als Bausteine eines Programms ............... 150 5.2 Abstrakte Datentypen ............................................................................ 155 5.3 Abstrakte Datentypen in Modulen ........................................................ 161 5.4 Abstrakte Datentypen in Objekten ........................................................ 170 5.5 Vererbung und Polymorphie ................................................................. 177 6 Virtuelle Methoden und Erweiterbarkeit .................................................. 190 6.1 Hierarchie der verwendeten geometrischen Figuren ........ ......... ........... 190 6.2 Statische Methoden und friihe Bindung .................................. '" .... ....... 193 6.3 Virtuelle Methoden und spate Bindung ..................... ...... ......... ... ... ...... 199 6.4 Modularisierung und Verbesserung des graphischen Beispiels ........... 204 6.5 Beispiel fur die Verwendung von Befehlen aus der UNIT Graph ....... 213 6.6 Bewegen der graphischen Objekte auf dem Bildschirm ...................... 218 6.7 Erweiterung der graphischen Objekte urn Rechtecke .......................... 225 7 Grafik ............ ... ...... ........... ....... ... ....................................... ........... ... ... ........... 228 7.1 Unit Graph .. ........ ..... ...... ....... ....................... .................................... ....... 228 7.1.1 Initialisierung ....................... ............................. ... ........ .............. 228 7.1.2 Grafik-Cursor ............................................................................. 229 7.1.3 Textausgabe................................................................................ 230 7.1.4 Zeichenstil.. ..... .......... ... ..... ................ .......... ...... .................... ..... 231 7.2 Programmbeispiel (WURF.PAS) .......................................................... 233 8 Anwendungsprogramme ................................................ '" ... ... ......... ...... ...... 240 8.1 Chemie ................................................................................................... 240 8.1.1 Radioaktiver Zerfall (RADIOZER.PAS) .................................. 240 8.1.2 Titrationen (TITRATIO.PAS) ................................................... 244 8.2 . Mathematik ............................................................................................ 245 8.2.1 Losung quadrati scher Gleichungen (QUADRAT.PAS) ........... 246 -B.~.2 Losung linearer Gleichungssysteme nach Gauss-Jordan (GAUSSJOR.PAS) ..................................................................... 247 x Inhaltsverzeichnis 8.3 Physik ...................................................................................................... 251 8.3.1 Allgemeine Gasgleichung (GASGLEI.PAS) ............................ 251 8.3.2 Berechnung einer Statik (RESULT.PAS) ................................. 254 8.3.3 Uberlagerung von Schwingungen (Lissajous-Figuren (LISSA. PAS» ............................................. 260 8.4 Statistik ................................................................................................... 266 8.4.1 Lineare, exponentielle und logarithmische Regression (REGRESS.PAS) ...................................................................... 266 8.4.2 Polynome Regression ................................................................. 270 8.4.3 Multilineare Regression (MULTI.PAS) .................................... 274 Anhang ............................................................................................................... 280 Al Operatoren .............................................................................................. 280 A 1.1 Vergleichsoperatoren ................................................................. 280 A 1.2 Arithmetische Operationen ........................................................ 280 A 1.3 Logische Operatoren .................................................................. 280 A 1.4 Adrell-Operatoren ...................................................................... 280 A 1.5 Mathematische Funktionen ... ..... ... ... ..... .................. ...... ...... ... .... 281 A 2 Befehle, nach Gruppen gegliedert ......................................................... 282 A 2.1 Anweisungen ...... ... ............................... ................. ...... .... ........... 282 A 2.2 Dateifunktionen und Datentypen ............................................... 283 A 2.3 Prozeduren flir den Bildschirm (UNIT CRT) ........................... 286 A 2.4 Prozeduren des Betriebssystems (UNIT DOS) ......................... 287 A 2.5 Prozeduren fur die Grafik (UNIT GRAPH) .............................. 290 A 2.6 Overlay-Funktionen ................................................................... 294 A 3 Fehlermeldungen .................................................................................... 296 A 3.1 Compiler-Fehlermeldungen ....................................................... 296 A 3.2 Laufzeit-Fehlermeldungen......................................................... 296 A 4 Fehlersuche mit dem Debugger ............................................................. 298 A 4.1 Aufgabe des Debuggers ............................................................. 298 A 4.2 Verfolgen der Werte einzelner Variablen ................................. 300 A 5 Losungen der Ubungsaufgaben ............................................................. 303 A 5.1 WURF1.PAS .............................................................................. 303 A 5.2 WURF2.PAS .............................................................................. 304 A 5.3 KUGEL.PAS .... ,......................................................................... 306 A 5.4 SHELL.PAS ............................................................................... 308 A 5.5 DATEII0.PAS............................................................................ 310 Sachwortverzeichnis ..... ............. .......... .................. ................. .................. ........ 314

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.