ebook img

Methodik der Programmierung in Pascal PDF

202 Pages·1982·3.495 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 Methodik der Programmierung in Pascal

Rudolf Marty Methodik der Programmierung in Pascal Mit 33 vollstandigen Programmbeispielen Springer-Verlag Berlin Heidelberg NewY ork 1983 Prof. Dr. Rudolf Marty Institut fur Informatik der UniversiHit Zurich SumatrastraBe 30, CH-8035 Zurich CIP-Kurztitelaufnahme der Deutschen Bibliothek. Marty, Rudolf: Methodik der Programmierung in Pascal/Rudolf Marty. - Berlin; Heidelberg; New York: Springer, 1983. ISBN-13: 978-3-540-12018-6 e-ISBN-13: 978-3-642-96745-0 DOl: 10.1007/978-3-642-96745-0 Das Werk ist urheberrechtlich geschiitzt. Die dadurch begriindeten Rechte, insbesondere die der Ubersetzung, des Nachdruckes, der Entnahme von Abbildungen, der Funksendung, der Wiedergabe auf photomechanischem oder ahnlichem Wege und der Speicherung in Datenverarbeitungsanlagen bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. Die Vergiitungsanspriiche des § 54, Abs. 2 UrhG werden durch die "Verwertungsgesellschaft Wort", Miinchen, wahrgenommen. © Springer-Verlag Berlin Heidelberg 1983 2145/3140-543210 Vorwort Das vorliegende Buch ist eine EinfUhrung in die Programmierung von Digital computern. Es lehrt einerseits zeitgemaBe Methoden des Programmentwurfs, der UberfUhrung von realen Problemvorgaben in abstrakte algorithmische Ab Hiufe also. Andererseits vermittelt das Buch Schritt urn Schritt die zur Program mierung der abstrakten Ablaufe notwendigen Teile der Programmiersprache Pascal. Das Ziel des Lehrtextes ist es, ein solides Grundwissen an Programment wurfsmethoden fUr kleinere Dialogprogramme zu schaffen, sowie die Sprache Pascal an vielen Beispielen einzuiiben. Das Buch richtet sich an Hochschulstu denten in Informatik-Grundkursen, an SchUler auf Gymnasial- oder hoheren Berufsschulstufen, die im Rahmen einer EinfUhrung in die Programmierung mit modernen Dialogcomputern in Kontakt kommen, wie auch an Hobbypro grammierer zum Selbststudium. Die Motivation zur Ausarbeitung eines Vorlesungsmanuskripts zu einem Buch lag fUr den Autor in der Realisierung der folgenden Zielvorste11ungen in einem einzigen Lehrtext: - Die Stoffvermittlung solI nicht ausschlieBlich von der Struktur von Pascal diktiert sein, sondern sich stark an Problemlosungsklassen anlehnen. Das Problem steht im Vordergrund, dann werden die zur Losung dieses Problems notwendigen Pascal-Konstruktionen besprochen. Es solI nicht eine Pascal Konstruktion in den Raum geste11t und danach Probleme dafUr gefunden werden. - Die Methoden des Programmentwurfs und die Programmbeispiele sol1en sich iiberwiegend am Modell der Dialogdatenverarbeitung orientieren, das heiBt, auf einen interaktiven Terminal als Schnittstelle zwischen Benutzer und Com puter abste11en. - Der Lehrtext solI mit vielen, vollsHindigen Beispielprogrammen erganzt sein. Dabei sind diese Beispiele aus einem breit gestreuten Anwendungsbereich des Computers auszuwahlen (kommerzie11-administrative und technisch-wis senschaftliche Datenverarbeitung, Textverarbeitung, einfache Mathematik, graphische Datenverarbeitung, u.a.m.) - Der Pascal-Sprachumfang solI dem vorgeschlagenen ISO-Standard entspre- chen (gegenwartig bereits als britisches Standard-Pascal akzeptiert). Zu beurteilen, ob diese Zielvorste11ungen realisiert wurden, bleibt natiirlich ein zig und allein dem Leser vorbehalten. Ich mochte mich beim Verlag fUr die gute Zusammenarbeit bedanken. Die Be reitschaft der Druckerei, den auf Magnetband gelieferten Rohtext auf ihre Be diirfnisse anzupassen, hat viel zum Erscheinungsbild dieses Buches beigetragen VI Vorwort und ersparte mir viel Arbeit. Zuletzt, aber nicht minder herzlich, denke ich dankend an die unzahligen Hinweise, Anregungen und Kritiken meiner Studen ten und meiner Mitarbeiter am Institut fur Informatik der Universitat Zurich. Meine Frau moge die vielen einsamen Stunden in der Wohnstube vergessen, wahrend denen ich im Arbeitszimmer uber dem Manuskript briitete. Zurich, Oktober 1982 R. Marty Inhaltsverzeichnis 1 Einleitung 1 1.1 Zeilen- und Symbolstruktur eines Pascal-Programmes 1 1.2 Darstellung der Syntax 2 1.3 Pascal-N amen 5 1.4 Zeichenketten 6 1.5 Der Pascal-Programmrahmen 7 2 Rechnen mit ganzen Zahlen 9 2.1 Konstanten und Wertebereich von ganzen Zahlen 9 2.2 Ausdriicke 10 2.3 Ausschreiben von ganzzahligen Werten 12 2.4 Variablen 14 2.5 Einlesen von ganzzahligen Werten 15 2.6 Die Zuweisungs-Anweisung 18 3 Rechnen mit reel/en Zahlen 21 3.1 Reelle Konstanten 21 3.2 Reelle Variablen 22 3.3 Ausdriicke mit reellen Werten 22 3.4 Ausschreiben von reellen Werten 23 3.5 Einlesen von reellen Werten 25 3.6 Standardfunktionen 26 3.7 TypenkompatibiliHit von real und integer 27 3.8 Exponentiation 28 3.9 Genauigkeit und Wertebereich reeller Zahlen 29 4 Selektive Ausfuhrung von Anweisungen 33 4.1 Die einfache if-Anweisung 33 4.2 Die Verbundanweisung 38 4.3 if-Anweisungen mit else-Teil 39 4.4 Logische Variablen und Konstanten 41 4.5 Ausdriicke mit logischen Operatoren 42 VIII Inhaltsverzeichnis 5 Repetitive AusjUhrung von Anweisungen 47 5.1 Die while-Anweisung 47 5.2 Die repea t-Anweisung 48 5.3 Die for-Anweisung 50 6 Mehr uber einfache Datentypen 55 6.1 Aufzahltypen 55 6.2 Die case-Anweisung 60 6.3 U nterbereichstypen 63 6.4 Das Arbeiten mit Zeichen 64 7 Felder 71 7.1 Eindimensionale Felder 71 7.2 Wann sind zwei Pascal-Typen gleich? 77 7.3 Konstantendeklarationen 78 7.4 Gepackte Felder 80 7.5 Zeichenketten als eindimensionale Felder 82 7.6 Mehrdimensionale Felder 85 8 Prozeduren und Funktionen 89 8.1 Parameterlose Prozeduren 89 8.2 Giiltigkeitsbereich von Namen 92 8.3 Parametrisierte Prozeduren 97 8.4 V ordefinierte Prozeduren 100 8.5 Funktionen 101 8.6 Feldschema-Parameter 106 8.7 Prozeduren und Funktionen als Parameter 108 9 Records 115 9.1 Records ohne Variantenteil 115 9.2 Die wi th-Anweisung 124 9.3 Records mit Variantenteil 126 10 Mengen 135 10.1 Eine kleine Einfiihrung in die Mengenlehre 135 10.2 Mengen in Pascal 138 Inhaltsverzeichnis IX 11 Dynamische Variablen 145 11.1 Das Arbeiten mit dynamischen Variablen 146 11.2 Verkettete Listen ....... . 151 11.3 Dynamische Records mit Varianten 158 12 Dateien (Files) 161 12.1 Dateien als Pascal-Datentyp 161 12.2 Erstellen einer Datei 164 12.3 Einlesen einer Datei 167 12.4 Mutieren einer Datei 170 12.5 Textdateien . . . . 172 12.6 read und wri te aufnicht-Textdateien 174 12.7 Dateien als Parameter . . . . . . . 175 13 Rekursive Programmierung 177 13.1 Rekursive Prozeduren 177 13.2 Rekursive Funktionen 181 13.3 Indirekte Rekursion 182 14 Programmverzweigungen in Ausnahmesituationen ....... 187 Anhang A: Syntaxdiagramme ...... . 191 Anhang B: Auswahl weiterfiihrender Literatur 197 Stichwortverzeichnis . . . . . . . . . . . 199 Kapitell: Einleitung Bevor ein angehender Buchhalter sich an die Bildung von Buchungssatzen macht, muB er lemen, was Aktiven und Passiven sind, und was SoU und Raben bedeutet. Ahnlieh der junge Elektriker, der vor seinem ersten Arbeitsauftrag unter anderem zu wissen bekommt, was Phase und NuUeiter sind, und wofUr man gelbe und rote Drahte zu verwenden hat. Genauso kommen wir Pascal Novizen nieht urn einige Begriffsbiiffeleien herum. Zugegeben, gerade interes sant raUt das nicht aus, insbesondere weil wir noch nicht in der Lage sind, fUr die erlemten Begriffe einen Sachbezug herzusteUen. Dies wird sich jedoch bald bessem. 1.1 Zeileo-uod Symbolstruktur eines Pascal-Programmes Das folgende kleine Pascal-Programm weist den Computer an, die Summe von 27 + 14 auf dem Terminal auszuschreiben. program Summe (input, output); begin write('Summe = " 27+14) end. So kurz dieses Programm auch ist, erlaubt es uns doch, einige grundsatzliche Eigenschaften eines Pascal-Programmes zu erkennen. Die erste Feststellung betrifft die Zeilenstruktur des Programmes. Schreiben wir einen langeren deutschen Text nieder, so sind wir durch die begrenzte Breite des Schreibpapiers gezwungen, ihn auf mehrere Zeilen zu verteilen. In der gleiehen Art wird ein Pascal-Programm auf mehrere Zeilen geschrieben, weil eine Bildschirmzeile nur eine Breite von iiblicherweise 80 Zeichen hat. Der Inhalt, die Semantik, eines deutschen Textes wird durch die Zeilenstruktur des geschriebenen Textes nicht beeinfluBt - wenn wir ihn vorlesen, erkennt der ZuhOrer ja auch keine Zeilenstruktur. Entsprechend wird die Meinung eines Pascal-Programmes in keiner Weise durch dessen Zeilenstruktur bestimmt. Unser Summen-Programm konnte also ohne weiteres auch so geschrieben werden: program Summe (input, output); begin write( 'Summe = " 27+14) end. 2 Einleitung Obschon korrekt, verliert ein derart geschriebenes Pascal-Programm an Uber sichtlichkeit. Wir wahlen die Darstellung unserer Pascal-Programme stets so, daB sie moglichst leicht lesbar sind. Die zweite Feststellung, die wir an diesem Programm machen, ist, daB ein Pascal-Programm aus einer Folge von Symbolen besteht. Ein Pascal-Symbol kann sein: - ein Wort (z.B. program) - eine Zahl (z.B. 27) - ein Text oder, im korrekten Fachausdruck, eine Zeichenkette (z.B. Summe = ') I - ein Spezialsymbol (z.B. ;) Wir behandeln hier nun selbstverstandlich nicht alle moglichen Symbole, bevor wir iiberhaupt wissen, wozu sie gebraucht werden. Zwei wichtige Regeln merken wir uns aber schon jetzt: 1. Ein Pascal-Symbol darf niemals auf zwei Zeilen verteilt werden; so etwas wie Worttrennung gibt es in Pascal nicht. 2. Zwischen zwei Pascal-Symbolen darf sovi~l Platz frei bleiben, wie Ihnen lieb ist. Mit Platz sind in diesem Zusammenhang Leerstellen und ganze Leerzeilen gemeint. Zwei Pascal-Symbole konnen auch ohne Leerplatz unmittelbar aneinander geschrieben werden, sofem sich ihre Meinung dadurch nicht verandert, weil sie zu einem einzigen Symbol verschmelzen (z.B. if wert zu ifwert). 1.2 Darstellung der Syntax Programmiersprachen sind sogenannte formale Sprachen. Formale Sprachen heben sich von natiirlichen Sprachen durch eine groBe Redundanzfreiheit und eine relativ einfache, aber peinlich genau zu befolgende Syntax abo Wir werden deshalb stets gezwungen sein, nicht nur die Meinung (d.h. Semantik) aller Pascal-Konstruktionen zu definieren, sondem auch deren prazise Syntax. Wir verwenden zur Definition der Syntax von Pascal eine speziell fUr solche Zwecke geschaffene Notation, die sogenannten Syntaxdiagramme. Zur Illustra tion der Syntaxdiagramme wollen wir die Bedienung eines einfachen Taschen rechners mit den vier Grundrechenoperationen syntaktisch genau definieren. Ais erstes bestimmen wir, wie eine ganze Zahl (das heiBt eine Zahl ohne Dezimalpunkt) eingetippt wird: ganze lahl

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.