Table Of Content.~
~
Springers Lehrbücher
der Informatik
Herausgegeben von
o. Univ.-Prof. Dr.-Ing. Gerhard-Helge Schildt
Technische Universität
Springer-Verlag Wien GmbH
Jo hann Blieberger
Bernd Burgstaller
Gerhard-Helge Schildt
Informatik
Grundlagen
Vierte, überarbeitete Auflage
Springers Lehrbücher
der Informatik
Springer-Verlag Wien GmbH
Ao. Univ.-Prof. Dipl.-Ing. Dr. Johann Blieberger
Univ.-Ass. Dipl.-Ing. Bemd BurgstaIIer
o. Univ.-Prof. Dr.-Ing. Gerhard-HeIge Schildt
Institut für Rechnergestützte Automation
Technische Universität, Wien, Österreich
Das Werk ist urheberrechtlich geschützt.
Die dadurch begründeten Rechte, insbesondere die der Übersetzung, des Nachdruckes,
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.
© 1990, 1992, 1996 und 2002 Springer-Verlag Wien
Ursprünglich erschienen bei Springer-Verlag Wien New York 2002
Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem
Buch 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ürfen.
Produkthaftung: Sämtliche Angaben in diesem Fachbuch/wissenschaftlichen Werk erfolgen
trotz sorgfaltiger Bearbeitung und Kontrolle ohne Gewähr. Insbesondere Angaben über
Dosierungsanweisungen und Applikationsformen müssen vom jeweiligen Anwender im
Einzelfall anhand anderer Literaturstellen auf ihre Richtigkeit überprüft werden. Eine Haftung
des Autors oder des Verlages aus dem Inhalt dieses Werkes ist ausgeschlossen.
Satz: Reproduktionsfertige Vorlage der Autoren
Gedruckt auf säurefreiem, chlorfrei gebleichtem Papier - TCF
SPIN: 10846848
Mit 72 Abbildungen
Die Deutsche Bibliothek - CIP-Einheitsaufnahme
Ein Titeldatensatz für diese Publikation ist bei
Der Deutschen Bibliothek erhältlich
ISSN 0938-9504
ISBN 978-3-211-83710-8 ISBN 978-3-7091-3774-1 (eBook)
DOI 10.1007/978-3-7091-3774-1
Vorwort zur 1. Auflage
Für euch, Kinder der Wissenschaft und der Weisheit,
haben wir dieses geschrieben. Erforschet das Buch
und suchet euch unsere Ansicht zv.sammen, die wir
verstreut und an mehreren Orten dargetan haben;
was euch an einem Orte verborgen bleibt, das haben
wir an einem anderen ojJengelegt,
damit es fassbar werde für eure Weisheit.
Heinrich Cornelius Agrippa von Nettesheim,
liDe occulta philosophia".
Angesichts einer wahren Flut von Büchern über Informatik erhebt sich die berechtigte Frage, was
in der Informatiker-Ausbildung an der Technischen Universität Wien tätige Autoren veranlasst,
beinahe ein ganzes Jahr ihrer ohnedies knappen Zeit zu opfern und ein weiteres zu schreiben
damit es fassbar werde für eure Weisheit"?
W ••
Initiales Moment für die Beschäftigung mit dieser Idee war das Problem, den Hörern der für
das erste Semester vorgesehenen Vorlesung "Einführung in die Informatik" geeignete schriftliche
Unterlagen empfehlen zu müssen. Die Ziele dieser insgesamt sechsstündigen Lehrveranstaltung
haben, im Gegensatz zu der parallel stattfindenden "Einführung in das Programmieren", jedoch
kaum etwas mit der Entwicklung von Software zu tun. Vielmehr werden hier genau jene Aspekte
der Informatik abgedeckt, die nicht die eigentliche Programmierung betreffen.
Nun erwies sich aber ein Großteil der in der letzten Zeit erschienenen (guten) Bücher über
Informatik als zu anspruchsvoll beziehungsweise zu spezialisiert; etwa 80% der in technischen
Buchhandlungen zu findenden Werke sind eigentlich Programm-oder Hardware-Beschreibungen.
Im Endeffekt konnten wir daher kein deutschsprachiges Buch finden, das eine dem Niveau des
ersten Semesters angemessene Einführung in die moderne Informatik bietet - und dabei die
eigentliche Programmierung ausklammert.
Der stoffliche Aufbau unserer INFORMATIK ist daher zunächst einmal darauf ausgerichtet,
einige der wesentlichen theoretischen Grundlagen zu erarbeiten. Dadurch werden nicht zuletzt
auch die Voraussetzungen dafür geschaffen, sich mit der Funktionsweise moderner Computer
systeme zu beschäftigen.
Das Buch ist streng hierarchisch aufgebaut, das heißt, der Inhalt späterer Kapitel setzt den
Inhalt früherer Kapitel voraus, nicht aber umgekehrt. Im Vordergrund steht dabei ein umfas
sender Überblick über die einzelnen Themen, aber natürlich unter Berücksichtigung des für das
Verständnis notwendigen und zumutbaren Detaillierungsgrades. Die Intention war, eine Art "stu
dienbegleitende Übersicht" zu schaffen, also ein einführendes Werk, dessen Gültigkeit nicht mit
dem ersten Semester endet; diese Absicht äußert sich nicht zuletzt schon in einem umfangreichen
Index. Dass dies aber in Anbetracht der ungeheuer schnell vor sich gehenden Weiterentwicklung
der Informatik nur ein Versuch sein kann, liegt auf der Hand.
Was den Stil und die Aufmachung des Ganzen betrifft, haben wir versucht, den normalerweise
üblichen, trockenen Sachbuchcharakter von "Definition -Satz -Beweis" zugunsten einer lockeren
vi
und das intuitive Verständnis fördernden Darstellung aufzugeben. In den Text eingestreut finden
sich etwa, neben vielen Abbildungen, auch diverse Literaturzitate aus den verschiedensten Berei
chen. Diese zu suchen haben wir nicht nur auf uns genommen, um Ihnen etwas von dem Spaß zu
vermitteln, den uns die Beschäftigung mit informatischen Belangen bereitet, sondern auch, um
anzudeuten, wie viele Assoziationsmöglichkeiten mit nicht minder wichtigen und interessanten
Gebieten der menschlichen Kultur eine angeblich trockene Materie bieten kann.
Es bleibt uns nur mehr, jenen Studenten Dank zu sagen, die mit ihren Kommentaren und Ver
besserungsvorschlägen dazu beigetragen haben, dass das Buch in der vorliegenden Form präsen
tiert werden kann.
Vorwort zur 4. Auflage
Leider war bei der vierten Auflage wieder eine Änderung bei den Autoren notwendig.
Da, wie weiter unten noch erläutert, die Teile Hardware und Betriebssysteme in dieser Auflage
keine Berücksichtigung finden konnten, möchten wir den entsprechenden betreuenden Autoren,
DI Mag. Dr. Alexander Redlein und DI Johann Klasek, für die geleistete Arbeit hiermit herzlichen
Dank aussprechen. Ebenfalls herzlichst bedanken möchten wir uns bei Ao. Prof. DI Dr. Ulrich
Schmid und bei DI Dr. Stefan Stöckler für ihre Autorenschaft während der ersten beiden Aufla
gen.
Gleichzeitig sind wir glücklich darüber, einen fachlich versierten Autor gefunden zu haben,
der sich einiger neuer Themen angenommen hat, nämlich DI Bernd Burgstaller.
Die nunmehr vorliegende vierte Auflage unterscheidet sich von den bisherigen im wesentli
chen dadurch, dass einige neue Kapitel hinzugekommen sind, Z.B. die Kapitel Numerik und
Quanten-Computer. Die Kapitel, die bisher die umfangreiche Thematik der Hardware und der
Betriebssysteme behandelt haben, wurden aus dem Buch entfernt. Sie werden überarbeitet als
selbstständiges Buch neu aufgelegt werden. Notwendig wurden diese Umstrukturierungen durch
die Neugestaltung des Studienplanes "Informatik" an der TU Wien.
Darüber hinaus möchten wir darauf hinweisen, dass sich unter der URI
http://www.auto.tuwien.ac.at/informatik
w I
I
multimediale Aufbereitungen verschiedener Inhalte befinden. Im Buch finden Sie an den entspre
chenden Stellen ein Icon nebenstehender Gestalt.
Abschließend wollen wir uns bei den Lesern bedanken, die mit ihren Kommentaren dazu
beigetragen haben, Fehler zu beheben und Lücken in der Präsentation zu schließen.
Oberwaltersdorf, Langenwang, Preßbaum, Juli 2001
J. Blieberger, B. Burgstaller, G.-H. Schildt
Inhaltsverzeichnis
Einführung 1
1 Entwicklung des Berufsbildes 3
2 Inhaltsübersicht 7
Theoretische Grundlagen 13
3 Informationstheorie 15
3.1 Der Begriff Information und seine Entstehung. 15
3.2 Der nachrichtentechnische Informationsbegriff . 17
3.3 Grundlagen der Codierung ............ . 19
3.4 Informationstheorie nach Shannon . . . . . . . . 21
3.5 Kanäle, Transinformation, Verbundentropie und Irrelevanz. 26
4 Codierungstheorie 33
4.1 Datenverdichtung .......... . 33
4.1.1 Der Huffman-Code ..... . 33
4.1.2 Ein adaptiver HufIman-Code 35
4.1.3 Arithmetisches Codieren. 35
4.2 Datenkompression .. . 37
4.2.1 Modellierung ...... . 37
4.2.2 Übliche Modelle .... . 39
4.3 Fehlererkennende und fehlerkorrigierende Codes. 43
4.3.1 Die Hammingdistanz ... 44
4.3.2 Fehlererkennende Codes. 46
4.3.3 Fehlerkorrigierende Codes 48
4.4 Zifferncodierung . 49
4.4.1 BCD-Code ....... . 50
4.4.2 Gray-Code ....... . 50
4.5 Codierung alphanumerischer Zeichen . 50
4.5.1 Der ASCII-Code .... . 50
4.5.2 Der ISO 10646 Standard ... . 52
4.6 Cryptographie ............ . 53
4.6.1 Traditionelle Verschlüsselungsmethoden 55
4.6.2 Ersetzungsmethoden ..... . 56
4.6.3 Verschiebungsmethoden ... . 57
4.6.4 Der Data Encryption Standard 58
4.6.5 Public Key Cryptosystems 60
4.6.6 Die RSA-Methode . 61
4.6.7 Authentisierung .. 63
4.6.8 Elektronisches Geld 64
viii INHALTSVERZEICHNIS
5 Datenübertragungsverfahren 67
5.1 Synchronisation auf Bit- und Wortebene . 67
5.1.1 Bittaktsynchronisation ...... . 68
5.1.2 Wortsynchronisation ....... . 69
5.2 Mehrfachnutzung von Übertragungskanälen 70
5.2.1 Raumvielfach ... 70
5.2.2 Frequenzmultiplex ...... . 70
5.2.3 Zeitmultiplex ......... . 71
5.2.4 Vergleich von FDM und TDM 72
5.3 Kanalcodierung ....... . 72
5.4 Trennzeichenfreie Codierung. . . . . . 74
6 Informationsreduzierende Codierungen 75
6.1 Matrizen ................................ . 75
6.2 Diskrete Cosinus-Transformation .................. . 78
6.2.1 Einige Eigenschaften der diskreten Cosinus-Transformation 78
6.2.2 Algorithmische Durchführung der DCT ... 81
6.3 Anwendungen der diskreten Cosinus-Transformation 81
6.3.1 Signale und Sprache 81
6.3.2 Bilder ..... . 82
6.3.3 Ein Beispiel . . . . . 83
6.3.4 Film und Video. . . 84
6.4 Wavelet-Transformationen. 86
6.5 Fraktale Bildkompression 86
7 Zahlendarstellungen 89
7.1 Zahlensysteme . 89
7.2 Der ideelle Zahlenbegriff . 91
7.3 Zahlenumwandlungen .. 92
7.3.1 Konversion von ganzen Zahlen 93
7.3.2 Konversion von Zahlen mit Nachkommastellen 94
7.3.3 .Konversion zwischen binärer und hexadezimaler Darstellung 95
7.4 Rechnen im binären System ............ . 95
7.4.1 Die Addition im binären Zahlensystem ... . 95
7.4.2 Die Subtraktion im binären Zahlensystem .. 97
7.4.3 Die Multiplikation im binären Zahlensystem. 97
7.4.4 Die Division im binären Zahlensystem 98
7.5 Rechnen im hexadezimalen System 99
7.6 Rechnen mit überlangen Zahlen. 100
7.7 Potenzieren ............ . 102
7.8 Darstellung negativer Zahlen .. . 102
7.8.1 Darstellung durch Vorzeichen und Betrag 103
7.8.2 Exzessdarstellung ....... . 103
7.8.3 Einerkomplementdarstellung . 104
7.8.4 Zweierkomplementdarstellung . 105
8 Numerik 107
8.1 Festpunkt-Darstellung .................... . 107
8.2 Gleitpunkt-Darstellung .................... . 108
8.2.1 Normalisierte und denormalisierte Gleitpunktzahlen 109
8.2.2 Normalisieren von Gleitpunktzahlen ... . 110
8.3 Struktur von Gleitpunkt-Zahlensystemen .... . 111
8.3.1 Parameter eines Gleitpunkt-Zahlensystems 111
INHALTSVERZEICHNIS ix
8.3.2 Anzahl der Gleitpunktzahlen . . . . . . . 111
8.3.3 Größte und kleinste Gleitpunktzahl ... 112
8.3.4 Absolute Abstände der Gleitpunktzahlen 112
8.4 Codierung von Gleitpunktzahlen . . . . . . . . . 114
8.5 IEEE-Normen für Gleitpunkt-Zahlensysteme .. 116
8.5.1 Formate der IEEE 754 Gleitpunkt-Zahlensysteme . 118
8.5.2 Codierung von Gleitpunktzahlen der IEEE 754 Gleitpunkt-Zahlensysteme 118
8.5.3 Arithmetik der IEEE 754 Gleitpunkt-Zahlensysteme 123
8.6 Arithmetik auf Gleitpunkt-Zahlensystemen 123
8.6.1 Rundung ...... . . . . . . . . . . . . 124
8.6.2 Rundungsfehler . . . . . . . . . . . . . . . 126
8.6.3 Rundung und arithmetische Operationen 131
8.6.4 Implementierung einer IEEE 754 Gleitpunkt-Arithmetik . 133
8.7 Genauigkeitsbetrachtungen von Numerik-Software .. 143
8.7.1 Fehlerfortpflanzung . . . . . . . . . . . . . . . . 143
8.7.2 Gesamtanalyse eines numerischen Programms. 144
8.7.3 Summation von Gleitpunktzahlen ....... 145
9 Algorithmen 151
9.1 Analyse von Algorithmen ............ . 151
9.2 Binäres Suchen . . . . . . . . . . . . . . . . . . . 154
9.3 Präludium und Fuge über ein Thema von Hoare 156
10 Boolesche Algebra 165
10.1 Operationen der Booleschen Algebra 165
10.2 Gesetze der Booleschen Algebra. . . 166
10.3 Funktionen über der Booleschen Algebra. 168
10.4 Normalformen .......... . 170
10.4.1 Disjunktive Normalform . 170
10.4.2 Konjunktive Normalform 171
10.5 Vereinfachen von Funktionen .. 171
10.5.1 Verfahren nach Quine und McCluskey 172
10.5.2 Verfahren nach Karnaugh und Veitch 177
11 Fuzzy-Logik 183
11.1 Fuzzy-Mengen. 183
11.2 Fuzzyfizierung. 185
11.3 Regelbasis .. . 186
11.4 Inferenz ... . 187
11.5 Defuzzyfizierung 188
Ausklang 191
Anhang 193
A Quanten-Computer 195
A.1 Schrödingers Katze ........ . 195
A.2 Für Qubits definierte Operationen 197
A.2.1 Unäre Operationen. 198
A.2.2 Das Tensorprodukt . 199
A.2.3 Binäre Operationen 200
x INHALTSVERZEICHNIS
A.2.4 Das No-Cloning Theorem 200
A.2.5 Verschränkte Qubits .. 201
A.2.6 Die Grover-Operation .. 203
A.2.7 Universelle Operationen . 204
A.2.8 Die Quanten-Fourier-Transformation . 205
A.3 Quanten-Informationstheorie . . . . . . . . . 206
A.3.1 Die von Neumannsche Quantenentropie 207
A.3.2 Die bedingte Quanten-Entropie (Quanten-Irrelevanz) . 208
A.3.3 Die Quanten-Transinformation 210
A.4 Quanten-Algorithmen ..... 210
A.4.1 Quanten-Parallelismus. . .. 210
A.4.2 Vorzeichenänderung . . . . . 210
A.4.3 Der Groversche Algorithmus 211
A.4.4 Der Shorsche Algorithmus . 213
A.5 Dichte Codierung ... . 215
A.6 Quanten-Teleportation ...... . 216
Literaturverzeichnis 219
Namensverzeichnis 221
Stichwortverzeichnis 223