Men chen wollen miceinander kommunizleren, Mir der Eric on Eurolab Deurschland GmbH jederzeir und überall. Telekommunikadon spielc in Herzogenrarh gründere der Konzern 1990 sein dabei eine enrscheidende Rolle. ie hilfc, Grenzen ersces Forschungs- und Entwicklungszenrrum in und Disranzen zu überwinden. Mic innovaciven Deucschland. Derzeic beschäfcigen sich über 1.100 Technologien. Micarbeicer aus 29 acionen an den candorcen Erics on i r der führende Anbierer in der neuen Herzogenrarh, Hildesheim und ürnberg mir der Welc der Telekommunikarion. Das Unrernehmen Hard- und ofrwareenrwicklung für zukunfcs scellc Lösungen für die prach- und Daren weisende Telekommunikacionslösungen. kommunikacion bereir, die sich mir den Anfor derungen von mobilen Anwendungen verbinden lassen. Mir über 100.000 Micarbeirern vereinfachr Eric on Eurolab Deur chland GmbH Ericsson die Kommunikarion seiner Kunden, zu Eric on Allee 1 denen erzberreiber, ervice Provider, Unrer 52134 Herzogenrath nehmen und Verbraucher au( der ganzen Welc rdcareer@eric on.de gehören. www.ericon.de Make yourself heard. ERICSSON Manfred Nag) Softwaretechnik mit Ada 95 Dle Reihe ~Professfonai Computing" des Verlags Vieweg riehtet sieh an professionelle Anwender bzw. Entwiekler von IT-Produkten. Sle wIlI praxisgerechte Wsungen ror konkrete Aufgabenstellungen anbieten, die sieh dureh Efflzlenz und Kundenorientlerung auszeichnen. Dnter anderem sind ersçhienen: Die FeJnplanun, von DVooSystemen von Goorg Liebetrau Mlerocontr6II. .... PraxI. von Norbert Beesel uud Wemet: Rfichstein Die Kunst der obJektorientlerten Programmlenan, mlt C++ von Martin Aupperle DB2 Common Server von Heinz Axel Piirner und Beate Pürner ObJektorlentlerte Programmierun, mlt.V lsualSmalitalk von Sven Tiet jen und Edgar Voss Soff;warequaUtit durch Me8tools von Reiner Dumke, EIikFoltln u.a. QMAVerfahrenaanwelsun,en ftir Softwareheraten.r von Dieter Burgartz und Stefan Sehmitz ; Die CD-ROM zum Software-O.uaUtitsmanapment von Dieter Burgartz und SteJan Sehmitz Bus.nessorientlerte Pro,rammaerun, mlt Java von Claudia Piemont Methodik der Softwareentwleklun, von Hermano Kaindl, Benedikt Lutz und Peter Tippold JSP von Klaus Kilberth Erfolarelehe Datenbankanwendunpn mlt SOl von JUrgen Marscb und Jörg Fritze Softwareteehnlk mlt Ada 95 von Manfred Nagl Manfred Na gl Softwaretechn i k mitAda 95 Entwicklung grofier Systeme ~ vleweg Die Deutsche Bibliothek - CIP-Einheitsaufnahme Nagl, Manfred: Softwaretechnik mit Ada 95: Entwicklung groBer Systeme/ Manfred Nag!. - Braunschweig; Wies baden : Vieweg, 1999 (Vieweg professional computing) ISBN 978-3-528-05583-7 ISBN 978-3-663-01278-8 (eBook) DOI 10.1007/978-3-663-01278-8 Ada® ist ein eingetragenes Warenzeichen. Alle Rechte vorbehalten © Friedr. Vieweg & Sohn Verlagsgesellschaft mbH, Braunschweig/Wiesbaden, 1999 Der Verlag Vieweg ist ein Unternehmen der Bertelsmann Fachinformation GmbH. Das Werk einschlieBlich aller seiner Teile ist urheberrechtlich geschützt. lede Verwertung auBerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlags unzulässig und strafbar. Das gilt ins besondere für VervielfäItigungen, Übersetzungen, Mikroverfilmungen und die Einspeicherung und Verarbeitung in elektronischen Systemen. http://www.vieweg.de Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürften. Höchste inhaltliche und technische Oualität unserer Produkte ist unser Ziel. Bei der Produktion und Auslieferung unserer Bücher wollen wir die Umwelt schonen. Dieses Buch ist deshalb auf säurefreiem und chlorfrei gebleichtem Papier gedruckt. Die EinschweiBfolie besteht aus Poly äthylen und damit aus organischen Grundstoffen, die weder bei der Herstellung noch bei der Ver brennung Schadstoffe freisetzen. Konzeption und Layout des Umschlags: Ulrike Weigel, www.CorporateDesignGroup.de Gedruckt auf säurefreiem Papier ISBN 978-3-528-05583-7 Vorwort Ada 95 ist die zweite und aktuelle Version der Programmiersprache Ada 83. Wichtige Kon strukte sind hinzugekommen, insbesondere für Objektorientierung und Nebenläufigkeit. Ada entstand aus einer Initiative des Verteidigungsministeriums der USA (Department of Defense, DoD). Neben dem speziellen Anwendungsbereich Realzeitsysteme/eingebettete Systeme wer den verschiedene andere Anwendungsbereiche durch spezielIe Erweiterungen unterstützt. Im Gegensatz zu früheren Jahren sind mittlerweile auch preiswerte, ja sogar kostenlose Compiler verfügbar. In den USA findet derzeit ein merklicher Teil der Programmier-Grundausbildung in Ada statt. Dies alles wird die Verbreitung der Sprache über die bereits vorhandene Ada Gemeinde hinaus verstärken. Dieses Buch ist eine Einführung in die Sprache Ada 95. Es ist nicht für Ada-Compilerentwick Ier gedacht. Hier steht die methodische Verwendung der Sprache im Vordergrund und nicht die Abgrenzung erlaubter von nichterlaubten Konstruktionen. Trotzdem solI bei einer Unklarheit bezüglich der Verwendung von Ada hier eine Antwort auffindbar sein. Dieses Buch ist auch nicht als Einführung in das systematische Programmieren für Anfänger gedacht. Statt dessen wendet es sich an Personen, die bereits Erfahrung im Programmieren mit mindestens einer höheren Pro grammiersprache haben. Dies kann auch Fortran, Cobol oder Csein. Für diesen Personenkreis ist dieses Buch sowohl als Grundlage und Begleittext sowohl für Vorlesungen oder Kurse, als auch zum Selbststudium geeignet. Die Kenntnis einer neueren, höheren Ausbildungs-Programmier sprache, wie etwa Modula-2 oder -3, ist zwar nicht Voraussetzung für das Lesen, erleichtert jedoch den Einstieg. Ada ist mit einer Fülle von Information verbunden, nämlich in Form dicker Bücher, CDs, Dateien und vielen WWW-Seiten über Sprache, Werkzeuge, Methoden, Initiativen und Projekte. Insoweit kommt einer Übersicht über das vorhandene Material eine besondere Bedeutung zu. Für einen Einstieg mnE gefiltert und verdichtet werden, was Einordnung und Einschätzung vor aussetzt. Lesehilfen (vgl. Abschnitt 1.9, 2.7, Anhänge) dienen zum Auffinden zusätzlicher Lite ratur und zum effizienten Umgang mit vorhandener Literatur. Ada 95 ist eine umfangreiche Sprache. Der Leser mnE überblicken, welche Sprachkonstrukte es gibt und wofür sie gedacht sind. Diese sollten erklärt werden, einerseits was die dahinterste henden Konzepte und ihr Ziel anbetrifft, und es muB andererseits eingeordnet werden, wofür und wie sie genutzt werden sollten. Somit ist nicht die Vermittlung der Sprache allein, sondern die M ethodik im Umgang von Wichtigkeit. SchlieBlich lassen sich Teilsprachen finden für verschie dene Anwendungsbereiche, aber auch für die Lehre. Neben Sprachkonstrukten für beliebige Softwaresysteme bietet Ada auch Spezifika, für Nebenläufigkeit, Ausnahmebehandlung usw. Ada gibt den aktuellen Stand der Technik bezüglich moderner, compilerorientierter Sprachen wieder. Es sind alle wünschenswerten Sprachkonstrukte für die Ablaufkontrolle, die Datenstruk turierung, die Modularisierung etc. in sauberer Form vorhanden. Ada verfügt auch über eine klare Sprachterminologie. Somit resultiert aus einer Beschäftigung mit Ada auch die Übersicht über den aktuellen Stand des Programmiersprachenentwurfs. Diese Behauptung wird erhärtet, wenn man sich vergleichende Darstellungen über Programmiersprachen (vgl. Literaturabschnitt 9) zur Hand nimmt: Deren Inhaltsangabe gleicht oft frappierend der des Ada-Sprachreports. Somit kann am Beispiel Ada eine Übersicht über klassische Sprachen gewonnen werden. Als Folgerung ergibt sich, daB dieses Buch insbesondere für diejenigen wichtig ist, die in einer älte ren Sprache groBe Programmsysteme entwickeln und die hierfür wünschenswerten Sprachkon strukte nicht vorfinden. Ada besitzt hingegen eine Fülle von Sprachkonstrukten, so daB Konstruktionsideen aus unter schiedlichenAnsätzen (Modularisierung, Objektbasiertheit, Objektorientierung etc.) verwendet VI Vorwort werden können. Nach Meinung des Autors sollte sichjeder Fortran-, Cobol-, C-, aber insbeson dere jeder C++-Softwareentwickler mit Ada 95 gründlich auseinandergesetzt haben. Diese Übersicht über Programmiersprachen wird verstärkt durch die Einordnung von Ada in die Pro grammiersprachen-Landschaft. Ada ist rur den Einsatz in gr06en Projekten und rur die professionelle, arbeitsteilige Software system-Erstellung gedacht. Insoweit kommt der Verbindung vonAda und Softwaretechnik eine wichtige Bedeutung zu. Bereits in der ersten Auflage dieses Buches 1982 wurde diese Verbin dung gesehen und dargestellt. Diese Verbindung ergibt sich in zwei Richtungen: Zum einen ist Ada aus dem Softwaretechnik-Gedankengut entstanden und aus den Erfahrungen, die sich aus dem Bau gr06er Softwaresysteme ergeben. Zum anderen ist die Sprache so gestaltet, daB sich bei ihrer Anwendung Wartbarkeit, Erweiterbarkeit, Portabilität, Sicherheit und Effizienz von Pro grammsystemen leichter realisieren lassen. Damit ist eine Erläuterung der Sprache ohne Soft waretechnik-Hintergrund nicht möglich! Ada ist nicht nur eine Programmiersprache. Wegen ihrer Möglichkeit, Bausteine sauber zu definieren und deren Zusammenhang festzulegen, unter Nutzung verschiedener Softwareerstel lungs-Paradigmen, eignet sich Ada auch zum Entwurf von Softwaresystemen (der Architektur modellierung). Zwar sollten solche Architekturmodellierungssprachen unabhängig von der kon kreten Programmiersprache sein, andererseits stammen alle Gedanken zur Strukturierung von Softwaresystemen von konkreten Programmiersprachen ab. Dem Themenkreis der Software Architekturmodellierung wird dieses Buch nur teilweise gerecht. Wir diskutieren hier die Ver wendung der entsprechenden Ada-Sprachelemente. Für eine umfassende Darstellung zur Archi tekturmodellierung mu6 auf andere Ausarbeitungen verwiesen werden (Literaturabschnitt 10). Ada ist mehr als eine Programmiersprache: Bei der Definition wurden auch diverse Zusam menhänge beachtet, die im angelsächsischen Sprachraum salopp mit "Ada Culture" bezeichnet werden. Neben der oben bereits angesprochenen Verbindung mit der Softwaretechnik sind hier folgende Punkte aufzuführen: Der öffentliche, wettbewerbsorientierte und weltweite Entste hungsproze6 der Sprache, die Überlegungen zur Güte von Compilern, die detaillierte Betrach tung von Anwendungsbereichen, die gründlichen Überlegungen zur Aufwärtskompatibilität von Ada 83 zu 95, die mit Ada verbundene Initiative zur Werkzeugentwicklung bzw. zur Softwa re-Wiederverwendung bis hin zur Schulung der Ada-Entwickler. Fassen wir zunächst die Stärken der Sprache zusammen: Ein Ada-Programmsystem kann aus klar definierten Bausteinen zusammengesetzt werden mit präzisen Beziehungen zwischen den selben. Für die Ausgestaltung des Innenlebens dieser Bausteine gibt es saubere Konstrukte. Neben einer Kernsprache ist Unterstützung rur spezielle Anwendungsbereiche vorgesehen. Die saubere Gestaltung von Programmsystemen, insbesondere die Verwendbarkeit für den Entwurf, erleichtert indirekt auch andere Aufgabenbereiche, wie die Qualitätssicherung, Dokumentation und Projektorganiation. Die vielfältigen Überprüfungen des Ada-Codes sowie die Auswahl abgesicherter Sprachkonstrukte sorgen für Sicherheit und Effizienz des Codes. Jede Programmiersprache ist stark rekursiv, insbesondere eine so umfangreiche wie Ada 95. Man weill nicht, wo mit der Erläuterung begonnen werden soll, da die einzelnen Konstrukte direkt oder indirekt voneinander abhängen. Dadurch wird in vielen Fällen Wiederholung erzwungen und/oder es ergeben sich viele Vorwärtsverweise. Dieses Rekursionsgeflecht mu6 in einer Einruhrung "aufgelöst" werden. Dieses Problem wird hier dadurch angegangen, da6 kom pliziertere Sprachelemente zuerst in einfacher Form erläutert werden, die allgemeine Verwen dung und das dahinterstehende Konzept werden später nachgetragen. Unverständliche Vor wärtsverweise werden so vermieden. Der Leser kann die Mühe eines Ada-Autors sofort aus der Struktur der Inhaltsangabe ablesen. Ein Buch, das sich in seinem Autbau am Sprachreport orien tiert, ist als Einführung ungeeignet. Ebenso sollte der Leser skeptisch sein bei Büchern, die den Vorwort VII Eindruck erwecken, als sei Ada eine Sprache für Anfänger und im Handumdrehen zu vermitteln. Dies mag aus Werbewirksamkeitsgründen für einen Autor vorteilhaft sein, der Leser wird mit Sicherheit enttäuscht. . In diesem Buch wird die neue Sprachversion Ada 95 vorgestellt. Die Sprachentwerfer haben technisch sehr saubere Arbeit geleistet. Die resultierte Sprache ist nahezu aufwandskompatibel. Es sind wenig neue Konstrukte hinzugekommen, die aber vielseitig verwendbar sind. Die Ver fügbarkeit von Ada 95-Compilern ist allein dadurch garantiert, daB die Zertifizierung der alten Compiler abgelaufen ist. Die Erläuterung ist dadurch nicht einfacher geworden. Zum einen müssen die Unterschiede zwischen Ada 83 und Ada 95 erörtert werden, da ein Entwickler ein Ada 83-Programm von einem Ada 95-Programm unterscheiden können und in der Lage sein muS, Ada 83-Programme zu pflegen. Zum zweiten kann für die Lösung eines konkreten Entwurfs-oder Codierungspro blems zum einen Ada 83 oder Ada 95 genommen werden. Es muS erläutert werden, ob und wo sich die neuen Konstrukte besser eignen. Zum dritten sind die hinzugefügten neuen Konstrukte für verschiedene Zwecke verwendbar (z.B. Bibliotheks-Kindeinheiten), was bei einer Einfüh rung einer klaren Unterscheidung bedarf. Dieses Buch ist kein Platz für eine detaillierte Sprachkritik. Mit der Öffentlichkeit des Ada Entstehungsprozesses wurde auch eine Streitkultur über zu verwendende Programmierspra chen-Konstrukte eingeführt (vgl. Literaturabschnitt 6). So waren der Umfang der Sprache, die Orthogonalität ihrer Konstrukte als auch deren Effizienz Gegenstand vieler und heftiger Diskus sionen. Wenn sich der Autor auch der einen oder anderen Kritik anschlie.Bt, so sei dennoch fest gestellt: Ada ist die beste Definition einer imperativen und prozeduralen Programmiersprache mit neuen Konzepten, wie Objektorientierung, die derzeit verfügbar und standardisiert ist. Halten wir die Ziele fest, die wir mit demLeser nach Durcharbeit dieses Buches erreichen wol len: (1) Neben dem Kennenlernen von Ada und der Anwendung dieses Wissens durch die Erstel lung von Programmbeispielen solI dem Leser (2) der selbständige Umgang mit der Ada-Litera tur vermittelt werden. Nach dem Lesen dieses Buches ergibt sich ferner (3) eine Übersicht über den Stand derzeitiger klassischer und gleichzeitig moderner Programmiersprachen am Beispiel von Ada. Dies führt (4) zu einer Verbreiterung des Kenntnisstands über Programmiersprachen Konzepte sowie deren Anwendung. (5) Dies ist für den Nutzer älterer Sprachen von besonderer Bedeutung. Sie denken dann in anderen Konzepten, die sich unter Zuhilfenahme von Disziplin und Kommentierung durchaus auch auf ältere Sprachen anwenden lassen. Eine Bemerkung zum didaktischen Konzept dieses Buches: Die Struktur dieses Buches folgt aus den oben bereits skizzierten Gründen nicht dem Sprachreport. Es folgt auch nicht dem Ansatz vieler anderer Ada-Einführungen, die in einem ersten Teil einen Überblick geben und dann nacheinander die einzelnen Gruppen von Sprachkonstrukten erläutern. Statt dessen erfolgt die Darstellung "in einem Zug". Die Inhaltsangabe orientiert sich an dem Verwendungszweck von Programmiersprachenkonstrukten und erlaubt so eine einfache Teilsprachenbildung für die Ausbildung. Wie oben bereits angedeutet, ist die Zielsetzung des Buches nicht nur die Vermitt lung von Ada-Programmierfertigkeit, sondern die Diskussion über Programmiersprachenkon zepte anhand einer sauberen Terminologie. Das Lernziel jedes Kapitels ist explizit im Vorspann angegeben, diverse Anhänge des Buches erleichtern die Übersicht und das Auffinden im FalIe spezifischer Fragestellungen. Jedes Kapitel endet mit Übungsaufgaben, die der Leser zur Vertie fung seiner Ada-Kenntnisse lösen sollte. Unterschiede zwischen Ada 83 und Ada 95 werden erläutert. Die wesentlichen Ideen jedes Kapitels werden zusammengefaBt. VIII Vorwort Nun eine Übersicht: Kapitel 1 führt in einige Grundbegriffe der Softwaretechnik ein, erläutert die Softwaretech nik- Verflechtung sowie die "Ada Culture". In Kapitel2 werden Programmiersprachen-Grundbegriffe eingeführt. Darüber hinaus werden die lexikalischen Elemente von Ada erläutert. Kapitel3 ist den Elementen des Programmierens im Kleinen gewidmet und dabei hauptsäch lich den Strukturen zur Ablaufkontrolle (Kontrollstrukturen). Zur Programmstrukturierung im Kleinen dienen auch Funktionen und Prozeduren. Nicht klassisch ist hier lediglich die Ausnah mebehandlung. Die Textein-/ausgabe wird bereits hier abgehandelt. Ab Kapitel 3 können Ada Programme formuliert werden. Kapitel4 erläutert die Datenstrukturierung, die in heutigen Programmiersprachen umfangrei cher ist als die Ablaufstrukturierung. Hier erfolgt eine detaillierte Abhandlung der Datentypkon struktoren (Felder, Verbunde etc.) und des Typkonzepts von Ada. Kapitel 3 und 4 sind somit der Pascal-oder C-Teil von Ada. Kapitel5 bietet die Sprachkonstrukte für den Entwurf, d.h. für die Festlegung von Bausteinen und die Festlegung ihrer Beziehungen an. Diese sind nicht nur für die Neuerstellung, sondem insbesondere für die Wartung und Wiederverwendung von grol3er Bedeutung. Kapitel6 dient der Handhabung nebenläufiger Programmierung, nämlich der Einführung von Prozessen, ihrer Synchronisation und ihrem Zusammenspiel. Kapitel 7 dient der Erläuterung der Ein-/Ausgabe, bei der starker Wert aufPortabilitätsüberle gungen gelegt wurde. Dieses Kapitel gibt die auch die vielfältigen Möglichkeiten zur Angabe von Darstellungen auf der Basismaschine an. Letzteres dient nicht nur der Handhabung hard warenaher Programmierung und der dabei geforderten EfflZienz, sondem ist auch ein Schlüssel für die Portabilität. leh möchte dieses Vorwort mit einer Danksagung an alle diejenigen abschliel3en, die zur Gestaltung dieser bzw. der vier vorherigen Auflagen beigetragen haben. Dabei möchte ich mich auf wenige Personen beschränken. Es sind dies: Dr. H. Hummel, M. Tonndorf, Prof. Schürr, München, Prof. Ploedereder, Stuttgart, Prof. Ebert, Dr. Jackel, Koblenz, Profs. Engels und Schä fer, Paderbom, Prof. Lewerentz, Cottbus sowie R. Baumann, Dr. Westfechtel und P. Klein, Aachen. Für die vielen Anregungen dieser und anderer Personen bin ich dankbar. Schliel3lich gilt mein Dank auch Frau A. Fleck sowie Frau G. Volkova für die grol3e Geduld und Sorgfalt bei der Erstellung dieses Manuskripts sowie dem Vieweg-Verlag für die langjährige und fruchtbare Zusammenarbeit. Aachen, im März 1999 ManfredNagl Inhalt 1 Softwaretechnik und Ada ..••.•.•••••••.•...•.•.•••..••••.•.•..•.••.•... 1 1.1 Geschichte der Ada-Sprachentwicklung .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1 1.2 Ziele der Ada-Initiative und Softwaretechnik-Verbindung ................... 5 1.3 Softwaretechnik: Phasen, Arbeitsbereiche und Zusammenhang .............. 8 1.4 Ada im EntwicklungsprozeB groBer Softwaresysteme ..................... 15 1.5 Gütekriterien für Programmsysteme, Fehler und Risiken . . . . . . . . . . . . . . . . . . . 21 1.6 Wiederverwendung ................................................ 26 1.7 Ada-Programmiersysteme, Validierung ................................ 30 1.8 "Umgebungen" für die Entwicklung in Ada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 1.9 Informationsrulle, Übersicht und Lesehilfen ............................ 42 1.10 Zusammenfassung ................................................. 47 Aufgaben zu Kapitel 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 2 Programmiersprachen-Grundbegriffe und lexikalische Einheiten 51 2.1 Syntaxnotation rur den Programmaufbau .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 2.2 Alphabet, Trennzeichen und lexikalische Einheiten . . . . . . . . . . . . . . . . . . . . . . . 54 2.3 Bezeichner, Zahlen und Zeichenkettenliterale ........................... 56 2.4 Quellprogramm-Darstellung, Lesbarkeit und Pragmas ..................... 59 2.5 Programme und Maschinen, Semiotik, Fehler ........................... 61 2.6 Spracherweiterung, Aufwärtskompatibilität und Konformität ............... 67 2.7 Ada in der Programmiersprachen-Landschaft ............................ 71 2.8 Zusammenfassung und Änderungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Aufgaben zu Kapitel 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 3 Objekte für das Programmieren im Kleinen ........••••.••.••.••.••...••.• 81 3.1 Vorschau: Einfache Objekt-und Typdeklarationen ........................ 82 3.2 Ausdrücke, Wertzuweisungen und Anweisungsfolgen ..................... 85 3.3 Fallunterscheidungen (if-und case-Anweisung) .......................... 88 3.4 Schleifen (for- und while-Anweisung) ................................. 92 3.5 Geschachtelte Kontrollstrukturen und Sprünge .......................... 95 3.6 Blockstruktur, Gültigkeit, Sichtbarkeit ................................ 101 3.7 Funktionen und Operatoren ......................................... 105 3.8 Prozeduren und Aligemeines über Unterprogramme ..................... 113 3.9 Ausnahmebehandlung bei Blöcken und Unterprogrammen ................ 122 3.10 Text-Ein-/Ausgabe ................................................ 131 3.11 Zusammenfassung und Änderungen .................................. 141 Aufgaben zu Kapitel 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 143
Description: