Upload
hoangnhu
View
223
Download
0
Embed Size (px)
Citation preview
Taschenbuch der Informatik
Dritte neuhearheitete Auflage
des Taschenbuches der Nachrichtenverarbeitung In drei Bänden
Unter Mitwirkung zahlreiCher Fachleute
herausgegeben von
K. Stein buch W. Weber Redaktion T. Heinemann
Bandll
Struktur und Progranunierung
von EDV-Systelllen
Springer-Verlag Berlin Heidelberg New York 1974
Dr.-Ing. Karl Steinbuch o. Professor an der Universität
Karlsruhe
Dr.-Ing. Wolfgang Weber o. Professor an der Ruhr-Universität
Bochum
Dipl.-Ing. Traute Heinemann Fachhochschule Rheinland-Pfalz, Abteilung Trier
Fachrirhtung Elektrotechnik Trier
Mit 362 Abbildungen
ISBN -13: 978-3-642-65587-6 e-ISBN -13: 978-3-642-65586-9
DOI: 10.1007/978-3-642-65586-9
Das Werk ist urheberrechtlieh geschützt. Die dadurch begründeten Rechte, insbesondere die der Übersetzung, des Nachdrucks, der Entnahme von Abbildungen, der Funksendung, der Wiedergabe auf photomechanischem oder ähnlichem Wege und der Speicherung in Datenverarbeitungsanlagen bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. Bei Vervielfältigungen für gewerbliche Zwecke ist gemäß § 54 UrhG eine Vergütung an den Verlag zu zahlen, deren Höhe mit dem Verlag
zu vereinbaren ist. © by Springer-Verlag, Berlin . Heidelberg 1967, 1971, 1974.
Library of Congress Catalog Card Number 73-80607 Softcover reprint ofthe hardcover 3rd edition '974
Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Buche berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, daß solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wären und daher von
jedermann benutzt werden dürften.
Gesamtherstellung: Universitätsdruckerei H. Stürtz AG, Würzburg
Vorwort
Seit der letzten Auflage des von J(.Steinbuch herausgegebenen Taschenbuchs der Nachrichtenverarbeitung im Jahre 1967 war eine Überarbeitung dieses Werkes wiederum dringend notwendig geworden, um die dynamische Entwicklung dieses Gebietes in einem "Zeitschnitt" einzufangen.
Autoren, Herausgeber und Verlage solcher Werke leiden wie diese selbst natürlich unter dem Zwang, ein in Bewegung befindliches Gebiet immer nur in gewissen Zeitabständen darstellen zu können, zumal bei der Drucklegung manche Beiträge schon wieder ergänzungsbedürftig sind, aus verlegerischen und organisatorischen Gründen jedoch die Festlegung eines rechtzeitigen Abgabetermines erforderlich ist, gerade bei einem derart umfangreichen Unternehmen mit dieser großen Anzahl von Einzelautoren.
Nach wie vor war das Ziel bei der Gestaltung dieses Nachfolgers des Taschenbuchs der Nachrichtenverarbeitung, ein Nachschlagewerk für die Grundlagen und die Technik der Nachrichtenverarbeitung zu schaffen, das dem Ingenieur, Systemanalytiker, Organisationsfachmann, Informatiker, Mathematiker und Physiker eine rasche Übersicht schafft, die wichtigsten Tatsachen unmittelbar darstellt und für spezielle Fragen Quellenhinweise gibt.
In dieser Hinsicht ist der Charakter des ursprünglichen Werkes gewahrt geblieben. Gänzlich neu ist jedoch die begriffliche Gliederung des Gesamtstoffes und die Aufnahme neuer Themenkomplexe und damit die Beteiligung zusätzlicher Autoren für Einzelbeiträge, wobei eine Reihe früherer Beiträge aus Gründen der Beschränkung auf einen vernünftigen Umfang fortgelassen oder gekürzt werden mußten.
Neu hinzugekommen sind insbesondere größere Abschnitte über die Programmierung und über die Anwendung von EDV-Systemen.
Die Herausgeber sind dabei von dem Wunsch ausgegangen, durch eine hierarchische Stoffeinteilung eine möglichst große Übersichtlichkeit für den Benutzer zu erreichen, wie sie bei dieser Stoffülle durch ein einfaches NebeneinandersteIlen des nur grob vorsortierten Stoffes nicht zu erreichen gewesen wäre. So ergibt sich eine erste Information über die inhaltliche Gliederung der drei Bände des Taschenbuchs der Informatik aus der auf S. XVI abgedruckten Übersicht.
Die in der zweiten Auflage des Taschenbuchs der Nachrichtenverarbeitung erschienenen Beiträge wurden, soweit sie vom Themenkomplex her hier wieder mit gleichen oder ähnlichen Titeln aufgenommen werden konnten, von den Verfassern fast generell wesentlich ergänzt oder neu geschrieben.
Ihnen und in gleicher Weise auch den neu hinzugetretenen Autoren sei hier herzlich gedankt für die für alle Beteiligten diffizile und Geduld erfordernde Gemeinschaftsarbeit, die dann gelohnt hat, wenn dieses \Nerk allen unseren Fachkollegen, Studenten, Ingenieuren und WIssenschaftlern eine nützliche Hilfe für ihre Arbeit ist.
VI Vorwort zu Band II
An den Schluß unseres Vorwortes möchten wir den Dank an unsere Redakteurin und an Verlag und Druckerei stellen. Die redaktionelle Arbeit wurde von Frau Dipl.-Ing. T. Heinemann in mehrfachem Durchgang mit Sorgfalt und terminlicher Promptheit bewältigt. Dem Springer-Verlag sei für die saubere und einwandfreie Herstellung der Bücher besonders gedankt.
K. Steinbuch W. Weber
Vorwort zu Band 11
War der Band I des "Taschenbuch der Informatik" der Behandlung grundlegender Basisdisziplinen und den Bauelementen und Baugruppen von EDVAnlagen gewidmet, bildet der hier vorliegende Band II den Kern des dreibändigen Werks.
Den Auftakt bildet Kapitel 5 mit theoretischen Grundlagen der Schaltalgebra, Automatentheorie, Nachrichtentheorie und Codierung.
Es folgt das zentrale Kapitel "Organisation und Wirkungsweise von EDVAnlagen". Die Leit-, Rechen- und Ein-Ausgabe-Werke und die Peripheriegeräte von EDV-Anlagen werden in den Folgekapiteln behandelt.
Band II wird abgeschlossen durch Abschnitte über die Programmierung digitaler, analoger und hybrider Rechnersysteme.
Karlsruhe und Bochum, im Frühjahr 1974
K. Steinbuch W. Weber
Mitar beiterverzeichnis
Berger-Damiani, Erich R., Prof. Dr.-Ing., Technische Universität Berlin, Institut für Fernmeldetechnik
ehroust, Gerhard, Dipl.-Ing., IBM Laboratorium Wien
Gerstmann, Hans, Assessor des Lehramtes, Böblingen
Glombitza, Günter, Ing. (grad.), i. H. IBM Roece Inc., Vienna Branch, Wien
Haake, Dieter, Dipl.-Ing., Telefunken Computer GmbH, Konstanz
Händler, Wolfgang, Prof. Dr. rer.nat., Institut für Mathematische Maschinen und Datenverarbeitung der Universität Erlangen-Nürnberg
Härtenberger, Ludolf, Ing. (grad.), i.H. Siemens AG, München
Hartenstein, Reiner, Dr.-Ing., Institut für· Informatik IV der Universität, Karlsruhe
Hartwig, Rüdiger, Dr.-Ing., i. H. IBM Deutschland GmbH, Sindelfingen
Hoffmann, Hans-Jürgen, Prof. Dr.-Ing., Technische Hochschule Darmstadt, Fachbe-reich Informatik (Der Beitrag wurde abgefaßt während der Tätigkeit beim IBM Forschungslaboratorium, Rüschlikon)
Jess, Jochen, Prof. Dr.-Ing., Technische Hogeschool Eindhoven, Afdeling der Elektrotechniek, Eindhoven
Kley, Adolf, Dr.-Ing., AEG-Telefunken, Forschungsinstitut, Ulm
von Knorre, Karl-Friedrich, Ing. (grad.), Telefunken Computer GmbH, Konstanz
Kohler, Siegfried, Ing.(grad.), LH. Siemens AG, München
Kürner, Hans, Dipl.-Ing., i.H. Siemens AG, Karlsruhe
Mehlhose, Gerhard, Ing. (grad.), Böblingen
Meyer-Brätz, Günter, Prof. Dr.- Ing., AE G-Telefunken, Forschungsinstitut, Ulm
Nowotny, Ernst, Dr., IBM Laboratorium Wien
Paulus, Erwin, Dr.-Ing., München
Peschke, Peter, Dipl.-Ing., Telefunken Computer GmbH, Konstanz
Preisinger, Max, Ing. (grad.), Wittibreut
Rohde, Helmut, Dipl.-Ing., i.H. AEG-Telefunken, Informationstechnik, Konstanz
Spies, Peter Paul, Prof.-Dr., Institut für angewandte Mathematik und Informatik der Universität Bonn, Abt. für Informatik II
Walter, Wolfgang, Dr.-Ing., i. H. IBM Deutschland GmbH, Stuttgart
Zemanek, Heinz, Prof. Dr. techn., Direktor des IBM Laboratoriums Wien
Inhaltsverzeichnis
5. Grundlagen
5.1 Logische Algebra und Theorie der Schaltnetzwerke. VonH.Zemanek, Wien, in Zusammenarbeit mit G. Chroust und E. Nowotny
5.1.1 Die Funktion in der logischen Algebra . 3 5.1.2 Rechenregeln der logischen Algebra 12 5.1.3 Schaltnetzwerke: Analyse und Synthese 19 5.1.4 Bündel von Funktionen 29 5.1.5 Basisfunktionen ..... 32 5.1.6 Die Zeit in der Schaltalgebra 36 5.1. 7 Asynchrone Betriebsweise 45 5.1.8 Entstörung und Prüfung von Bauelementen 48 5.1.9 Informationstheoretische Betrachtungen 52 5.1.10 Verallgemeinerungen der Schaltalgebra . 55
Literatur 59
5.2 Automatentheorie. Von W. Händler, Erlangen 63
5.2.1 Nomenklatur und einige elementare mathematische Hilfsmittel 63 5.2.2 Allgemeine endliche Automaten ........ 69 5.2.3 Äquivalenz und Homomorphismus ............ 71 5.2.4 Reduktion von vollständigen endlichen Automaten .... . 72 5.2.5 Anmerkungen zu unvollständigen, nichtdeterministischen und stocha-
stischen Automaten . . . . . . . . . . . . . . . . . 74 5.2.6 Halbgruppen von endlichen Automaten und Experimente 75 5.2.7 Automat und Sprache . . . . . . . . . . . . . . . 78 5.2.8 Kellerautomaten und kontextfreie Sprachen als Beispiel 82 5.2.9 Zellulare Logik und iterative Automaten-Netze . 86
Literatur 87
5.3 Nachrichtentheorie, Zahlensysteme und Codierung. Von E. R. Berger-Damiani, Berlin . . . . . . . . . . . . . . . . 88
5.3.1 Informationstheoretische Grundlagen. . . . . . 88 5.3.1.1 Die Nachricht als Auswahl: der Informationsgehalt 88 5.3.1.2 Bedingter Informationsgehalt, Synentropie. . . . 90 5.3.1.3 Die fortgesetzte Auswahl; Informationsbelag und Informationsfluß 91 5.3.1.4 Der Übertragungskanal . . . . . . . . . . . . . 92 5.3.1.5 Die Kanalkapazität . . . . . . . . . . . . . . . 93
5.3.2 Die Prinzipien der Codierung; die Darstellung von Codes 94 5.3.3 Die Darstellung numerischer Information. 97 5.3.4 Die Codierung von Alpha-Text 100 5.3.5 Codes mit Nebenbedingungen 103
5.3.5.1 Einschrittige Codes . . . . 103 5.3.5.2 Ketten-Codes . . . . . . 103 5.3.5.3 Einschrittige Ketten-Codes. 103 5.3.5.4 Redundanzsparende ("optimale") Codes 104 5.3.5.5 Redundanz-Einsparung durch Codes-Umsetzung 105 5.3.5.6 Lexikographische Codes . . . . . . . . . . . 106
Inhaltsverzeichnis
5.3.5.7 Die Eindeutigkeit der Textzerlegung 5.3.5.8 Kennzeichnung der Phasenlage ...
5.3.6 Sicherung gegen Störungen . . . . . . 5.3.6.1 Kennzeichnung der binären Störungen 5.3.6.2 Das Grundprinzip der Sicherung . . . 5.3.6.3 Gruppencodes . . . . . . . . . . . 5.3.6.4 Zeichensicherung, Blocksicherung, gleitende Sicherung. 5.3.6.5 Zeichensicherung 5.3.6.6 Blocksicherung .
Literatur
6. Organisation und Wirkungsweise von EDV -Anlagen 6.1 Universelle Digital-Rechenanlagen. Von W. Händler, Erlangen, und P. P.
IX
106 106 107 107 109 110 111 112 113 116
Spies, Bonn . . . . . . . . . . . . . . . . . . . 118
6.1.1 Der klassische Universalrechner . . . . . . . . . 118 6.1.1.1 Funktionsbedingte Struktur einer Rechenanlage 118 6.1.1.2 Grundlagen der Realisierung 119 6.1.1.3 Parallel-Rechner . . . 126 6.1.1.4 Serien-Rechner. . . . 138
6.1.2 Kenngrößen des Entwurfs. 142 6.1.2.1 Informationsdarstellung 142 6.1.2.2 Befehlsvorrat 156
6.1.3 Struktur der Rechner-Werke 163 6.1.3.1 Speicherwerk . 163 6.1.3.2 Rechenwerk . . . . . 166 6.1.3.3 Leitwerk . . . . . . 174
6.1.4 Moderne Universalrechner . 182 6.1.4.1 Einfluß von Apparatur und Programmatur auf die Entwicklung 182 6.1.4.2 Simultanarbeit im Rechnerkern 187 6.1.4.3 Simultane Ausführung von Programmen. 195 6.1.4.4 Bewertung von Rechenanlagen 218
6.1.5 Ausblick 231
Literatur 238
6.2 Analoge und hybride Rechnersysteme
6.2.1 Analoge und hybride Rechnersysteme. Von A. Kley, Ulm, und G. MeyerBrötz, U1m . . . . . . . . . . . . . . . . . . . . . . . . . . 242
6.2.1.1 Das "Spektrum" elektronischer Rechenanlagen ......... 242 6.2.1.2 Zur Planung und Konstruktion von Gleichspannungs-Analogrech-
6.2.1.3 6.2.1.4 6.2.1.5 6.2.1.6
Literatur
nern ........... . Steuerung, Anwahl und Prüfung Stromversorgung . . . . . Der hybride Analogrechner Das hybride Rechnersystem
6.2.2 Programmierung von Analog- und Hybridsystemen. Von J. Jess, Eindhoven .....
6.2.2.1 Einleitende Bemerkungen . 6.2.2.2 Ablauf des Programmiervorganges 6.2.2.3 Programmierung einzelner Phasen am Analogteil 6.2.2.4 Verläßlichkeit von Analogrechenmodellen 6.2.2.5 Nichtelementare Programmabläufe
Literatur
245 249 256 258 263
264
265
265 267 268 280 282
289
x Inhaltsverzeichnis
7. Leit-, Rechen- und Ein/Ausgabe-Werke 7.1 Leitwerke. Von H. Rohde, Konstanz ...... .
7.1.1 Aufgaben und Arbeitsweise der einzelnen Werke 7.1.1.1 Zentrales Leitwerk . 7.1.1.2 Operationensteuerung . . . . . . . . . 7.1.1.3 Adressenrechenwerk . . . . . . . . . . 7.1.1.4 Programmunterbrechungswerk (Interrupt) 7.1.1.5 Das Vorrangwerk (Speicherzugriffskoordinator) .
7.1.2 Entwurf und Ausführung der Werke 7.1.2.1 Allgemeine Grundlagen .. . 7.1.2.2 Mikroprogrammierung ... . 7.1.2.3 Das Zeitverhalten der Werke.
Literatur
290
291 291 292 294 299 301 302 302 307 312 313
7.2 Rechenwerke. Von K.-F. von Knorre, Konstanz. 314
7.2.1 ZahlendarsteIlung von Operanden zur Verarbeitung im Rechenwerk . 314 7.2.1.1 Zeichendarstellung . . 314 7.2.1.2 Festpunktdarstellung . . . . . . . . . . . 314 7.2.1.3 Gleitpunktdarstellung . . . . . . . . . . . 315 7.2.1.4 Darstellung negativer Zahlen und Vorzeichen. 315
7.2.2 Operationen des Rechenwerks . 316 7.2.2.1 Arithmetische Operationen. . 317 7.2.2.2 Boolesche Operationen 317 7.2.2.3 Organisatorische Operationen 317
7.2.3 Aufbau von Rechenwerken 318 7.2.3.1 Serienverarbeitung . . . . . 318 7.2.3.2 Parallelverarbeitung 319 7.2.3.3 Aufbau eines herkömmlichen Rechenwerks . 320 7.2.3.4 Aufbau eines Rechenwerks mit mehreren Operationswerken 325 7.2.3.5 Aufbau eines Stack-Rechenwerks. . . . . . . . . 325
Literatur (s. S. 313)
7.3 EinjAusgabewerke. Von D. Haake, Konstanz, und P. Peschke, Konstanz 327
7.3.1 Einleitung . . . . . . . . . . . . . . . . . 327 7.3.2 Das EA-Werk ist ein Teil des Zentral-Prozessors. . 328
7.3.2.1 EinjAusgabe im ungeladenen Zustand. . . . . 328 7.3.2.2 Programmierte EinjAusgabe (Rechnerkernkanal) 328
7.3.3 EinjAusgabewerk als selbständige Funktionseinheit. 335 7.3.3.1 EA-Auftrag zur Durchführung einer EA-Operation 335 7.3.3.2 Auftragsübermittlung an das EA-Werk . . . 336 7.3.3.3 Aufgabe und Funktion des EA-Leitwerks . . 337 7.3.3.4 Aufgabe und Funktion eines EA-Kanalwerks . 339
8. Peripheriegeräte 8.1 AnalogjDigital- und DigitaljAnalog-Umsetzer. Von H. Kürner, Karlsruhe 341
8.1.1 AnalogjDigital-Umsetzer für elektrische Größen 8.1.1.1 ADU zur Augenblickswllrtmessung ... . 8.1.1.2 ADU zur Mittelwertmessung ...... .
8.1.2 DigitaljAnalog-Umsetzer für elektrische Größen 8.1.2.1 Parallelarbeitende DAU mit Gleichspannungsausgang 8.1.2.2 Parallelarbeitende DAU mit Wechselspannungsausgang 8.1.2.3 Seriell arbeitende DAU . . . . . . . . . . . . . 8.1.2.4 DAU mit Zwischengröße ............ .
8.1.3 ADU für geometrische Größen (Drehwinkel und Länge) . 8.1.3.1 ADU nach dem Parallelverfahren (Absolut-Messung) 8.1.3.2 ADU nach dem Serienverfahren (Inkrement-Messung)
341 345 351 354 355 358 359 359 360 360 361
Inhaltsverzeichnis
8.1.4 DAU für geometrische Größen (Drehwinkel und Längen) 8.1.4.1 DAU mit Schrittmotoren ... 8.1.4.2 DAU mit digitaler Wegmessung 8.1.4.3 DAU mit analoger Wegmessung
Literatur
8.2 Digitale Anzeigevorrichtungen. Von W. Walter, Stuttgart
8.2.1 Einführung . . . . . . . 8.2.2 Abbildende Ziffernanzeigen 8.2.3 Zusammengesetzte Ziffern 8.2.4 Ausblick
Literatur
8.3 Elektrische Schreibmaschinen. Von G. Glombitza, Wien.
8.3.1 Korrespondenz-Schreibmaschine. . . . 8.3.2 Eingabe- und Ausgabe-Schreibmaschinen
Literatur
8.4 Fernschreib- und Lochstreifengeräte. Von L. Härtenberger, München, und S. Kohler, München . . . . . . . . . . . . . . . . . . . . . .
8.4.1 Handelsübliche Fernschreibgeräte mit Serien-Ein- und -Ausgang 8.4.1.1 Allgemeines. . . . . 8.4.1.2 Senderprinzipien . . . . . . . . . . . . 8.4.1.3 Empfängerprinzipien . . . . . . . . . . 8.4.1.4 Merkmale handelsüblicher Fernschreibgeräte 8.4.1.5 Fernschreibgeräte in Sonderausführung . .
8.4.2 Lochstreifengeräte mit parallelem Ein- und Ausgang 8.4.2.1 Langsame Lochstreifengeräte . 8.4.2.2 Schnelle Lochstreifenleser 8.4.2.3 Schnelle Locher 8.4.2.4 Lochstreifenwickler
Literatur
8.5 Lochkartenmaschinen. Von G. Mehlhose, Böblingen .....
8.5.1 Lochkarten und Codes ..... 8.5.2 Kartenlochen und Kartenprüfen . 8.5.3 Eingabe-Einheiten. . . . . . . 8.5.4 Sortieren und Mischen ..... 8.5.5 Äußere und innere Programmeinrichtung 8.5.6 Doppler und Lochschriftübersetzer ... 8.5.7 Lochkartenmaschinen als Peripherie-Geräte
Literatur
8.6 Mechanische Schnelldrucker. Von R. Hartwig, Sindelfingen
8.6.1 AufgabensteIlung im Datenverarbeitungssystem 8.6.2 Kennzeichnung, Aufbau und Arbeitsweise 8.6.3 MSD-Entwicklung der letzten Jahre
Literatur
8.7 Nichtmechanische Schnelldrucker. Von M. Preisinger, Wittibreut
8.7.1 Der NMSD in der Datenverarbeitung 8.7.2 Nichtmechanische Druckverfahren ....... .
8.7.2.1 Elektrostatische Druckverfahren . . . . . . . 8.7.2.2 Photoelektrische Verfahren (Photronic Printing) 8.7.2.3 Elektromagnetische Druckverfahren. 8.7.2.4 Elektrochemische Druckverfahren . . . . . .
XI
361 361 362 362
363
365
365 366 369 371
372
372
372 381
387
387
387 387 392 396 399 403 404 405 410 414 417
418
418
418 422 425 426 429 431 432
436
436
436 437 443
444
HG
447 447 447 452 453 454
XII Inhal tsverzeichnis
8.7.2.5 Elektrothermische Druckverfahren . . . . . ... 8.7.2.6 Photographische Druckverfahren; das COM-System .
8.7.3 Logische Schaltungen in NMSD ...... . Literatur . . . . . . .
8.8 Optische Ein- und Ausgabe, Bildschirmgerä te. Karlsruhe ........ .
8.8.1 Photo-elektrische Abtaster 8.8.2 Bildschirm-Konsolgeräte . 8.8.3 Bildschirm-Ausgabe . . .
8.8.3.1 Reproduzierende Bildausgabe 8.8.3.2 Punktschreibende graphische Ausgabe. 8.8.3.3 Linienschreibende graphische Ausgabe. 8.8.3.4 Alphanumerische Ausgabe
8.8.4 Bildschirm-Eingabe 8.8.4.1 Alphanumerische Eingabe 8.8.4.2 Graphische Eingabe. . . 8.8.4.3 Selektion durch Markierung
8.8.5 Systemkonfigurationen mit Bildschirmgeräten
Von R. Hartenstein,
8.8.6 Film-Recorder, Projektoren und Elektrolumineszenz-Displays Literatur . . . . . . . . . . . . . . . . . . . . . . .
8.9 Akustische Eingabe und Ausgabe. Von E. Paulus, München 8.9.1 Einführung ..... 8.9.2 Sprachausgabesysteme 8.9.3 Spracheingabe Literatur
9. Programmierung digitaler Datenverarbeitungssysteme Von H. Gerstmann, Böblingen, und H.-]. Hoffmann, Darmstadt
9.1 Einleitung . . 9.1.1 Daten . . 9.1.2 Programme 9.1.3 Systeme . 9.1.4 Programmiersysteme .
9.2 Datenstrukturen . . . . 9.2.1 Lineare Listen
9.2.1.1 Typen linearer Listen 9.2.1.2 Speicherdarstellung linearer Listen
9.2.2 Felder . . . . . 9.2.3 Listenstrukturen 9.2.4 Bäume . . . . . 9.2.5 Dateien
9.2.5.1 Dateischemata 9.2.5.2 Dateiorganisation .
9.3 Grundoperationen 9.3.1 Anweisungen . . . .
9.3.1.1 Funktionen . . . 9.3.1.2 Wertzuweisungen . 9.3.1.3 Funktionsprozeduren
9.3.2 Universelle Programmiersprachen 9.3.2.1 Modell einer universellen Programmiersprache 9.3.2.2 Schleifenprogramme . . . . . .
9.3.3 Operationen in Programmiersprachen 9.3.3.1 Arithmetische Operationen. 9.3.3.2 Zeichenfolge-Operationen
457 458 459 464
465 465 467 467 468 469 469 472 474 474 474 476 477 478 479 481 481 482 491 495
497 497 498 500 501
502 504 504 505 506 507 507 509 509 510
512 512 513 514 514 515 515 516 517 518 520
Inhaltsverzeichnis
9.3.3.3 Listenoperationen . . 9.3.3.4 Logische Operationen 9.3.3.5 Systemoperationen .
9.4 Einsatz digitaler Datenverarbeitungssysteme 9.4.1 Reichweite der algorithmischen Beschreibung 9.4.2 Systemstruktur . . . . .
9.4.2.1 Programmieraufwand ..... 9.4.2.2 Mathematische Modelle . . . . 9.4.2.3 Systematisches Programmieren.
9.4.3 Numerische Anwendungen 9.4.3.1 Rundungsfehler 9.4.3.2 Intervallarithmetik . . . 9.4.3.3 Numerische Algorithmen
9.4.4 Nichtnumerische Anwendungen 9.4.4.1 Simulationsmodelle . . . . 9.4.4.2 Nichtdeterministische Algorithmen
9.4.5 Ausprüfen von Programmen 9.4.5.1 Testverfahren . . 9.4.5.2 Beweisverfahren . . . .
9.4.6 Grenzen des Einsatzes . . .
XIII
520 521 522
522 522 523 523 525 525 527 528 530 531 531 532 533 534 534 535 536
9.5 Diagrammatische Hilfsmittel der Programmierung 536 9.5.1 Vorbereitende Arbeiten zur Programmierung 536 9.5.2 Datenflußplan 537 9.5.3 Programmablaufplan 537 9.5.4 Entscheidungstabellen 543 9.5.5 Programmdokumentation 544
9.6 Ausdrucksmittel problemorientierter Programmiersprachen. 545 9.6.1 Einleitung . . . . . . . . . . . . . . . . . . . . 545 9.6.2 Sprachliche Ausdrucksmittel und zugeordnete Bedeutung - Syntax,
Semantik. . . . . . . . . . . . . . . . . 546 9.6.3 Formalisierte Syntax ........... 548 9.6.4 Festes bzw. freies Format, Formularbenutzung 551 9.6.5 Implizite und algorithmische Programmierung 552 9.6.6 Äußere und innere Syntax, gemeinsame Züge der Semantik 554 9.6.7 Programmobjekte problemorientierter, algorithmischer Programmie-
rung, Vereinbarungen 556 9.6.8 Unterprogrammtechnik . . . . . 558 9.6.9 Parameterversorgung . . . . . . 559 9.6.10 Datenfelder, Programmschleifen 561 9.6.11 Verzweigungen im Programmablauf 561 9.6.12 Wertzuweisung . . . . 564 9.6.13 Notprogramme . . . . 565 9.6.14 Datenein- und -ausgabe 565 9.6.15 Parallele Prozesse. . . 566 9.6.16 Kompilierer . . . . . 567 9.6.17 Programmbibliotheken, Programmbindung, Programmladen, modu-
lare Programmierung . . . . . . . . . . . . . . . . . 568 9.6.18 Emulatoren, Simulatoren, Sprachumwandlungsprogramme . . 569 9.6.19 Makrosubstitution . . . . . . . . . . . . . . . . . . . 570 9.6.20 Automatische Erstellung von Kompilierern, Metakompilierer . 570 9.6.21 Abriß der geschichtlichen Entwicklung 570
9.7 Die wichtigsten Programmiersprachen 571 9.7.1 ALGOL 60 571 9.7.2 ALGOL 68 578 9.7.3 FORTRAN 579 9.7,4 BASIC. . 582
XIV Inhaltsverzeichnis
9.7.5 COBOL . . . . . . . . . . . . . . . . . . . 583 9.7.6 PLjI . . . . . • . . . . . . . . . . . . . . . 583 9.7.7 Listen- und Symbolverarbeitung: LlSP, SNOBOL . 585 9.7.8 Matrizenverarbeitung: APL. . . . . . . . . . . 586 9.7.9 Berichtsschreibung: RPG. . . . . . . . . . . . 587 9.7.10 ModelIierung und Simulation: GPSS, SIMSCRIPT, SIMULA 587 9.7.11 Betriebs- und Kommandosprachen. . . . . 588 9.7.12 Sonstiges . . . . . . . . . . . . . . . . 589
9.8 Maschinelle Übersetzung von Programmiersprachen 589 9.8.1 Allgemeines. . . . . . . . . . . . . . . . 589
9.8.1.1 Klammerstrukturen . . . . . . . . . . . 590 9.8.1.2 Das Erkennen syntaktisch zulässiger Zeichenfolgen 591
9.8.2 Richtungsweisende Verfahren 594 9.8.2.1 Syntaktische Funktionen . . . . . . . . . . . 594 9.8.2.2 Syntaktische Zustände . . . . . . . . . . . . 595
9.8.3 Einige Ergebnisse der Theorie kontextfreier Sprachen 597 9.8.3.1 Kontextfreie Sprachen . . . . . . . . . 597 9.8.3.2 Kellerautomaten und kontextfreie Sprachen . . . 598 9.8.3.3 Deterministische Sprachen. . . . . . . . . . . 599 9.8.3.4 Präzedenzgrammatik nach WirthjWeber (precedence grammar) 599 9.8.3.5 LR(k)-Grammatik nach Knuth [LR(k) grammar] . 601 9.8.3.6 Reduktionssprachen . . 601
9.8.4 Übersetzungstechniken . . 601 9.8.4.1 Semantische Aktionen. 601 9.8.4.2 Lexikale Analyse . . . 602 9.8.4.3 Codegenerierung . . . 603 9.8.4.4 Rekursive Programmierung 604 9.8.4.5 Optimierung. . . . . . . 605 9.8.4.6 Adreßzuweisung . . . . . 607
9.8.5 Abriß der Geschichte der Übersetzung von PPS 607
9.9 Betriebssysteme 9.9.1 Aufgaben eines Betriebssystems, Auf teilung der Aufgaben zwischen
Betriebsablaufverwaltung und Überwacher ......... . 9.9.2 Mehrprogrammbetrieb, Mehrprozessorsystem, Mehrrechnersystem 9.9.3 Stapelverarbeitung, Dialogverarbeitung, Verfahrenskontrolle . . 9.9.4 Dateien, Dateiorganisation und -zugriff, Überwachungssysteme für
Datenein- und -ausgabe. . . . . . . . 9.9.5 Arbeitsreihenfolge (Scheduling) . . . . 9.9.6 Belegungskontrolle (Resource allocation) 9.9.7 Systemgenerierung ...... . 9.9.8 Geschichtlicher Überblick
9.10 Programmierung einer Modellmaschine 9.10.1 Einleitung . . . . . 9.10.2 Die Modellmaschine . 9.10.3 Speichereinteilung 9.10.4 Adressierung. . . . 9.10.5 Befehlsstruktur . . . 9.10.6 Eine symbolische Schreibweise für Befehle und Daten 9.10.7 Die vollständige Befehlsliste der Modellmaschine . . 9.10.8 Arithmetische und logische Befehle, Vergleichsbefehle,
befehle . . . . . . . . . . . . . . . . . . . .. Bewegungs-
9.10.9 Unbedingte und bedingte Sprungbefehle . . . . . . . . . . . . . 9.10.10 Indizierung in Befehlen, Befehle zur günstigen Programmierung von
Programmschleifen .. . . . . . . . . . . . . . . . . . . . 9.10.11 Überwachungsbefehle, Überwachungs- und Problemstatus, Aus
nahmebedingungen und Programmunterbrechungen . . . . . . .
608
608 609 611
612 613 615 617 618
619 619 620 621 624 626 628 629
633 634
634
636
Inhaltsverzeichnis xv
9.10.12 Datenein- und -ausgabe, Kanalprogramme 638
9.11 Ein Modell eines Überwachers . . . . . . . . 641 9.11.1 Einleitung, der Modellüberwacher . . . . . 641 9.11.2 Prozesse und Kommunikation zwischen Prozessen im Modellüber-
wacher . . . . . . . 645 9.11.3 Arbeitsreihenfolge 646 9.11.4 Arbeitsspeicherbelegung 646 9.11.5 Datenein- und -ausgabe 647
9.12 Ein Modell eines Übersetzers 649 9.12.1 Einleitung . . . . . . . 649 9.12.2 Prinzipieller Aufbau des Übersetzers 649 9.12.3 Behandlung besonderer Spracheigenschaften. Makroanweisungen 650 9.12.4 Codegenerierung . . . . . . . . . . 651
9.13 Ein Modell einer Betriebsablaufverwaltung 653 9.13.1 Einleitung, das Modell. 653 9.13.2 Auftragsbeschreibung . 654 9.13.3 Programmbeschreibung 655 9.13.4 Dateibeschreibung 656
Literatur . . . 656
Sachvuzeichnis 661
XVI
Band I : Grundlagen der technischen Informatik
2 Bauelemente
Allgemeine Grundlagen
3 Digitale Schaltungen
Bau gruppen und Wandler
4 Digitale Speicher
Band n: Struktur und Programmierung von EDV-Systemen
5 Grundlagen
7 Leit-,Rechen- und
Ein -Ausgabewerke
9
6 Organisation und Wirkungs
weise von EOV-Anlagen
8 Peripheriegeräte
Programmierung digitaler
Da t e nve ra rb e i tun gs systeme
Band rn : Anwendungen und spezielle Systeme
10 11 12 Kommerzielle Technische wissenschaft- Prozen
datenverarbeitung Datenverarbeitung liche Datenverarbeitung
13 Spezielle Aufgaben der
Nachrichtenverarbeitung
14 Nac hrichtenverarbeitu ng
im Menschen