Grundkurs Informatik: Grundlagen und Konzepte für die erfolgreiche IT-Praxis ; eine umfassende, praxisorientierte Einführung
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | German |
Veröffentlicht: |
Wiesbaden
Vieweg+Teubner
2008
|
Ausgabe: | 4., vollst. überarb. Aufl. |
Schriftenreihe: | Studium
|
Schlagworte: | |
Online-Zugang: | Inhaltstext Inhaltstext Beschreibung für Leser Inhaltsverzeichnis |
Beschreibung: | Die 1. Aufl. 1999 und die 2. Aufl. 2000 erschienen unter dem Titel "Grundlagen und Konzepte der Informatik" |
Beschreibung: | XVIII, 839 S. Ill., graph. Darst. |
ISBN: | 9783834803627 3834803626 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV023174555 | ||
003 | DE-604 | ||
005 | 20221124 | ||
007 | t | ||
008 | 080220s2008 gw ad|| |||| 00||| ger d | ||
020 | |a 9783834803627 |9 978-3-8348-0362-7 | ||
020 | |a 3834803626 |9 3-8348-0362-6 | ||
035 | |a (OCoLC)229448141 | ||
035 | |a (DE-599)DNB985503378 | ||
040 | |a DE-604 |b ger |e rakddb | ||
041 | 0 | |a ger | |
044 | |a gw |c DE | ||
049 | |a DE-M347 |a DE-473 |a DE-1051 |a DE-1046 |a DE-1043 |a DE-824 |a DE-861 |a DE-Aug4 |a DE-703 |a DE-858 |a DE-91G |a DE-945 |a DE-573 |a DE-634 |a DE-83 |a DE-2070s |a DE-706 |a DE-863 | ||
082 | 0 | |a 004 |2 22/ger | |
084 | |a ST 110 |0 (DE-625)143583: |2 rvk | ||
084 | |a ST 120 |0 (DE-625)143585: |2 rvk | ||
084 | |a DAT 001f |2 stub | ||
084 | |a DAT 001b |2 stub | ||
100 | 1 | |a Ernst, Hartmut |d 1949- |e Verfasser |0 (DE-588)124560083 |4 aut | |
245 | 1 | 0 | |a Grundkurs Informatik |b Grundlagen und Konzepte für die erfolgreiche IT-Praxis ; eine umfassende, praxisorientierte Einführung |c Hartmut Ernst |
250 | |a 4., vollst. überarb. Aufl. | ||
264 | 1 | |a Wiesbaden |b Vieweg+Teubner |c 2008 | |
300 | |a XVIII, 839 S. |b Ill., graph. Darst. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a Studium | |
500 | |a Die 1. Aufl. 1999 und die 2. Aufl. 2000 erschienen unter dem Titel "Grundlagen und Konzepte der Informatik" | ||
650 | 0 | 7 | |a Informatik |0 (DE-588)4026894-9 |2 gnd |9 rswk-swf |
655 | 7 | |0 (DE-588)4123623-3 |a Lehrbuch |2 gnd-content | |
689 | 0 | 0 | |a Informatik |0 (DE-588)4026894-9 |D s |
689 | 0 | |5 DE-604 | |
787 | 0 | 8 | |i Überarbeitung von |b 3. Auflage |d 2003 |z 3-528-25717-2 |w (DE-604)BV016500781 |
787 | 0 | 8 | |i Überarbeitet als |b 5. Auflage |d 2015 |z 978-3-658-01627-2 |w (DE-604)BV041637944 |
856 | 4 | |q text/html |u http://deposit.dnb.de/cgi-bin/dokserv?id=2999162&prov=M&dok%5Fvar=1&dok%5Fext=htm |3 Inhaltstext | |
856 | 4 | 2 | |q text/html |u http://deposit.dnb.de/cgi-bin/dokserv?id=2999162&prov=M&dok_var=1&dok_ext=htm |3 Inhaltstext |
856 | 4 | |u http://deposit.dnb.de/cgi-bin/dokserv?id=2999162&prov=M&dok_var=1&dok_ext=htm |3 Beschreibung für Leser | |
856 | 4 | 2 | |m HBZ Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016361170&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
943 | 1 | |a oai:aleph.bib-bvb.de:BVB01-016361170 |
Datensatz im Suchindex
DE-BY-863_location | 1000 1340 |
---|---|
DE-BY-FWS_call_number | 1000/ST 110 E71(4)st 1000/ST 110 E71(4) 1340/ST 110 E71(4)st |
DE-BY-FWS_katkey | 310931 |
DE-BY-FWS_media_number | 083101253724 083101253746 083101253735 083101270394 |
_version_ | 1806528629152153600 |
adam_text |
V
Inhaltsverzeichnis
Kurze Inhaltsübersicht
XIV
Verzeichnis der Programme
XVI
Vorwort
1 Einführung 1
11 Was ist eigentlich Informatik? 3
1 2 Zur Geschichte der Informatik 11
1.3 Prinzipieller Aufbau von digitalen Rechenanlagen 15
1 4 Zahlensysteme und binäre Arithmetik
30
2 Nachricht und Information _,,,,- 30
2.1 Abgrenzung der Begriffe Nachricht und Information 32
2.2 Biologische Aspekte 36
2.3 Diskretisierung von Nachrichten 40
2.4 Wahrscheinlichkeit und Kombinatonk 52
2 5 Information und Wahrscheinlichkeit
60
3 Codierung 60
3.1 Grundbegriffe 65
3.2 Code-Erzeugung 71
3.3 Code-Sicherung 88
3.4 Datenkompression 108
3.5 Verschlüsselung
4 Computerhardware und Maschinensprache 132
4.1 Digitale Grundschaltungen 140
4.2 Boolesche Algebra 148
4.3 Schaltnetze und Schaltwerke 156
4.4 Analog-und Hybridrechner c MRRnnn 161
4.5 Die Funktion einer CPU am Beispiel des M68000 1Q2
4.6 Maschinensprache und ASSEMBLER
195
5 Rechnerarchitekturen und Betriebssysteme 195
5.1 Grundprinzipien und Klassifikationen 204
5.2 Grundlagen von Betriebssystemen 215
5.3 Parallel-Strukturen
233
6 Höhere Programmiersprachen und c 233
6.1 Zur Struktur höherer Programmierspracnen 243
6.2 Methoden der Syntaxbeschreibung 251
6.3 Einführung in die Programmiersprache o 299
6.4 Sequentielle Datenstrukturen mit C
7 Objektorientierte Programmiersprachen: C++und Java 322
7 1 Die objektorientierte Erweiterung von u. u++ 344
7.2 Einführung in die Programmiersprache Java
8 Software-Engineering und DV-Organisation *?3
8.1 Üben^lick über Softwan^Engmeenng Methoden 396
8.2 Hilfsmittel für den Entwurf von Algorithmen 405
8.3 Datenverarbeitungs-Organisation
9 AutomatentTMori« und formal« Sprachen 430
9.1 Grundbegriffe der Automatentheone 448
Q O Ti ¦rinn-lulacrhinnn
9.3 Einführung in die Theorie der formalen Sprachen AKa
9.4 Compiler 40°
469
10 Algorithmen
10.1 Berechenbarkeit 477
10.2 Komplexität 477
10.3 Optimierung von Algorithmen ^
10.4 Genetische Algorithmen Z„l
10.5 Probabilistische Algorithmen 5JS
10.6 Rekursion 510
523
11 Suchen und Sortieren
11.1 Einfache Suchverfahren „,
11 2 Suchen von Mustern in Strings „o
11.3 Gestreute Speicherung (Hashing) ™
11.4 Direkte Sortierverfahren ^50
11.5 Höhere Sortierverfahren 5!J
11.6 Sortieren externer Dateien 532
12 Bäume und Graphen
12.1 Binärbäume 601
12.2 Vielwegbäume 601
12.3 Graphen 628
638
" ^T'aH'nTT"3',11"0 lnfol™«onstechnologie 672
13 2 Srbaan°kneSnUbertra9Un9 Und Dat^ -™kation %\
13.3 Multimedia-Anwendungen ^06
14 SÄS' TOrte"te *—«-.
M.2 Stiipl-Sprachen lli
758
Literaturverzeichnis
790
Sachwortverzeichnis
Übungsaufgaben
^tSS^i^SS"*1* Obungsaulgaben an. Die Lösungen sind in der das
uwi imemet-Seite http://www.fh-rosenheim.de/~gki zu finden.
D-e Übungsaufgaben sind thematisch sowie nach ihrem Schwierigkeitsgrad klassifiziert:
T für Textaufgaben,
M für mathematisch'orientierte Aufgaben
P Sr^TmÄSEn98 ""* komb-torisches Denken erfordern,
Blättern irr|SBucneiCht' °'eSe Aufgaben können unmittelbar gelöst werden, ggf. mit etwas
Aufwand zu'lösenUsindennZe'Chnet Aufgaben- die innerhalb von einigen Minuten mit wenig
Buchinhalt Wnausu3n°rl/:l!LAuf9aberi erfordern etwas geistige Transferleistung über den
3 bedeutet ¦%££• uSS^^8*08"1" Arbe'tsaufwand.
tiven Eigenleistungen erfod reserviert, die erheblichen Arbeitsaufwand mit krea-
4 kennzeichnet „sehr schwele" oder aufwändige Projekte.
Ausführliches Inhaltsverzeichnis
Verzeichnis der Programme XIV
Vorwort XVI
1 Einführung 1
1.1 Was ist eigentlich Informatik? 1
1.2 Zur Geschichte der Informatik 3
1.2.1 Frühe Zähl- und Rechensysteme 3
1.2.2 Die Entwicklung von Rechenmaschinen 4
1.2.3 Die Computer-Generationen 7
Übungsaufgaben 10
1.3 Prinzipieller Aufbau von digitalen Rechenanlagen 11
1.3.1 Das EVA-Prinzip 11
1.3.2 Zentraleinheit und Busstruktur 12
1.3.3 Systemkomponenten 13
Übungsaufgaben 14
1.4 Zahlensysteme und binäre Arithmetik 15
1.4.1 Darstellung von Zahlen 15
1.4.2 Umwandlung von Zahlen in verschiedene Darstellungssysteme 17
1.4.3 Binäre Arithmetik 20
1.4.4 Gleitpunktzahlen 26
Übungsaufgaben 29
2 Nachricht und Information 30
2.1 Abgrenzung der Begriffe Nachricht und Information 30
Übungsaufgaben 31
2.2 Biologische Aspekte 32
2.2.1 Sinnesorgane 32
2.2.2 Datenverarbeitung im Gehirn 33
2.2.3 Der genetische Code 34
Übungsaufgaben 35
2.3 Diskretisierung von Nachrichten 36
2.3.1 Rasterung 36
2.3.2 Quantelung 37
Übungsaufgaben 39
2.4 Wahrscheinlichkeit und Kombinatorik 40
2.4.1 Die relative Häufigkeit 40
2.4.2 Die mathematische Wahrscheinlichkeit 41
2.4.3 Totale Wahrscheinlichkeit und Bayes-Formel 43
2.4.4 Statistische Kenngrößen 47
2.4.5 Fakultät und Binomialkoeffizienten 47
2.4.6 Kombinatorik 49
Übungsaufgaben 51
2.5 Information und Wahrscheinlichkeit 52
2.5.1 Der Informationsgehalt einer Nachricht 52
2.5.2 Die Entropie einer Nachricht 54
2.5.3 Zusammenhang mit der physikalischen Entropie 57
Übungsaufgaben 59
3 Codierung
3.1 Grundbegriffe °°
3.1.1 Definition des Begriffs Codierung g0
3.1.2 Mittlere Wortlänge und Code-Redundanz 1a
3.1.3 Beispiele für Codes J,
Übungsaufgaben b.
3.2 Code-Erzeugung *T
3.2.1 Code-Bäume £¦
3.2.2 Der Huffman-Algorithmus rr
3.2.3 Der Fano-Algorithmus Xq
Übungsaufgaben zZ
3.3 Code-Sicherung ™
3.3.1 Stellendistanz und Hamming-Distanz 71
3.3.2 m-aus-n-Codes '2
3.3.3 Codes mit Paritäts-Bits 73
3.3.4 Fehlertolerante Codes 76
3.3.5 Definition linearer Codes 79
3.3.6 Lineare Hamming-Codes 83
3.3.7 Zyklische Codes und Code-Polynome «5
Übungsaufgaben ?Z
3.4 Datenkompression og
li'l Yo*emerkun9en und statistische Datenkompression 88
.3.4.2 Arithmetische Codierung 8g
3.4.3 Lauflängen-Codierung 93
3.4.4 Differenz-Codierung Qc
3.4.5 Der LZW-Algorithmus 97
Üb4ungDstfgraebdenktiOn """* Uni'äre Transforr"ati°nen (JpEG) 102
3.5 Verschlüsselung ^g
3.5.1 Vorbemerkungen 1Ofl
3.5.2 Substitutions-Chiffren 1-j0
3.5.3 Transpositions-Chiffren und Enigma 112
d.5.4 Der Data Encryption Standard (DES) 116
iH onK.-Ti^e"TadS ünd Str°m-Chiffren 118
3.5.6 Pubhc-Key Verschlüsselung 123
3.5.7 Digitale Unterschrift
Übungsaufgaben \^°
4.1.1 Stromkreise ^
ii1:! ESS/SS?0""und inte9rierte schaltkreise lli
4.2 Boolesche Algebra Ijl
4.2.1 Aussagenlogik 14„
4.2.2 Der Boolesche Verband 142
424 wB°OlfChe Normalformtheorem 144
üb2ungVsearuSabCehnen B°Ole'sch-Ausdrücke 145
43 48SS32^8ch*wri- \i
4.3.2 Spezielle Schaltnetze 49
4.3.3 Schaltwerke JJ?
Übungsaufgaben ]^
4.4 Analog-und Hybridrechner 156
4.4.1 Grundkonzepte und Anwendungsgebiete 156
4.4.2 Komponenten von Analogrechnern 157
4.5 Die Funktion einer CPU am Beispiel des M68000 161
4.5.1 Die Anschlüsse der CPU M68000 161
4.5.2 Der innere Aufbau der CPU M68000 166
4.5.3 Befehlsformate und Befehlsausführung 171
4.5.4 Adressierungsarten 176
4.6 Maschinensprache und ASSEMBLER 182
4.6.1 Einführung 182
4.6.2 Der Befehlssatz des M68000 183
4.6.3 Programmbeispiele 192
Übungsaufgaben 194
5 Rechnerarchitekturen und Betriebssysteme 195
5.1 Grundprinzipien und Klassifikationen 195
5.1.1 Rechnertypen und Grundkonzepte 195
5.1.2 Die Klassifikation nach Flynn 198
5.1.3 Die von-Neumann-Architektur 200
Übungsaufgaben 203
5.2 Grundlagen von Betriebssystemen 204
5.2.1 Grundfunktionen und Klassifizierung von Betriebssystemen 204
5.2.2 MS-DOS als Beispiel für ein einfaches Betriebssystem 206
5.2.3 Das Multitasking-Konzept 208
5.2.4 MS-Windows 210
5.2.5 UNIX 212
5.3 Parallel-Strukturen 215
5.3.1 Verbindungsstrukturen 215
5.3.2 Multitasking und Parallelverarbeitung 219
5.3.3 Vektorrechner und Pipelines 224
5.3.4 Feldrechner 226
5.3.5 Betriebssysteme für Parallel-Rechner 228
Übungsaufgaben 232
6 Höhere Programmiersprachen und C 233
6.1 Zur Struktur höherer Programmiersprachen 233
6.1.1 Überblick über wichtige höhere Programmiersprachen 233
6.1.2 Die Ebenen des Informationsbegriffs in Programmiersprachen 238
6.1.3 Systeme und Strukturen 240
Übungsaufgaben 242
6.2 Methoden der Syntaxbeschreibung 243
6.2.1 Die Backus-Naur-Form 243
6.2.2 Syntax-Graphen 246
6.2.3 Eine einfache Sprache als Beispiel: C-- 247
Übungsaufgaben 250
6.3 Einführung in die Programmiersprache C 251
6.3.1 Der Aufbau von C-Programmen 251
6.3.2 Einfache Datentypen 255
6.3.3 Strukturierte Standard-Datentypen 259
6.3.4 Operatoren und Ausdrücke 263
6.3.5 Anweisungen 266
6.3.6 Funktionen 270
6.3.7 Ein-/Ausgabe-Funktionen 276
6.3.8 Verarbeitung von Zeichenketten 279
6.3.9 Das Zeigerkonzept in C 282
Übungsaufgaben 297
6.4 Sequentielle Datenstrukturen mit C 299
6.4.1 Vorbemerkungen zu Algorithmen und Datenstrukturen 299
6.4.2 Strings und Texte 30u
6.4.3 Lineare Listen 305
6.4.4 Stapel und Schlangen 316
Übungsaufgaben 32u
7 Objektorientierte Programmiersprachen: C++ und Java 322
7.1 Die objektorientierte Erweiterung von C: C++ 322
7.1.1 Das Konzept der objektorientierten Programmierung 322
7.1.2 Einfache Spracherweiterungen von C und C++ 324
7.1.3 Klassen und Objekte 329
7.1.4 Polymorphismus und Überladen 340
7.2 Einführung in die Programmiersprache Java 344
7.2.1 Grundlagen 344
7.2.2 Klassen und Objekte 349
7.2.3 Ein-/Ausgabe-Funktionen 353
7.2.4 Applets 35g
7.2.5 Threads 35g
Übungsaufgaben 372
8 Software-Engineering und DV-Organisation 373
8.1 Überblick über Software-Engineering Methoden 373
8.1.1 Software-Klassifikation 373
8.1.2 Phasen der Software-Entwicklung 376
8.1.3 Software-Testmethoden 380
8.1.4 Vorgehensmodelle bei der Software-Entwicklung 382
d o u-'J Modellierung von IT-Systemen mit UML 386
Ö.2 Hilfsmittel für den Entwurf von Algorithmen 396
8.2.1 Pseudo-Code 396
8.2.2 Ablauf- oder Flussdiagramme 397
8.2.3 Struktogramme nach Nassi-Shneiderman 399
8.2.4 Entscheidungstabellen 401
8.3 Datenverarbeitungs-Organisation 405
8.3.1 Definition des Begriffs Organisation 405
t't'i o Einbmdun9 der DV in die betriebliche Organisation 408
o.ö.ö Organisation von DV-Projekten in Projektgruppen 410
8.3.4 Der Ablauf von DV-Projekten 414
8.3.5 Planung und Kontrolle der Organisationsarbeit 417
ö.J.b Organisation von Rechenzentren 419
8.3.7 Datenschutz 423
8.3.8 Datensicherheit 426
9 Automatentheorie und formale Sprachen 430
Grundbegriffe der Automatentheorie 430
9-1.1 Definition von Automaten 430
91.2 Darstellung von Automaten 432
q 11 S8!. ak2ePfierte Sprachschatz von Automaten 435
«• i .4 Halbgruppen und Automaten 438
91.5 Die induzierte Halbgruppe 441
9.1 6 Kellerautomaten 445
Übungsaufgaben 447
9.2 Turing-Maschinen 448
9.2.1 Definition von Turing-Maschinen 448
9.2.2 Beispiele für Turing-Maschinen 452
9.2.3 Realisierung einer Turing-Maschine als C-Programm 454
Übungsaufgaben 457
9.3 Einführung in die Theorie der formalen Sprachen 458
9.3.1 Definition von formalen Sprachen 458
9.3.2 Die Chomsky-Hierarchie 459
9.3.3 Das Pumping-Theorem 463
9.3.4 Die Analyse von Wörtern 466
Übungsaufgaben 468
9.4 Compiler 469
9.4.1 Einführung 469
9.4.2 Simulation eines Taschenrechners 472
10 Algorithmen 477
10.1 Berechenbarkeit 477
10.1.1 Algorithmen und ihre prinzipielle Ausführung 477
10.1.2 Entscheidungsproblem und Church-Turing-These 479
10.1.3 Das Halteproblem 480
10.1.4 Primitiv rekursive Funktionen 482
10.1.5 u-rekursive Funktionen und die Ackermann-Funktion 484
10.1.6 Die bb-Funktion 486
10.2 Komplexität 489
10.2.1 Einführung 489
10.2.2 Polynomiale und exponentielle Algorithmen 490
10.2.3 NP-Vollständigkeit 495
10.3 Optimierung von Algorithmen 497
10.3.1 Vereinfachen komplexer Operationen 497
10.3.2 Teile und Herrsche 499
10.3.3 Näherungsweise Problemlösung durch Greedy-Strategien 501
10.4 Genetische Algorithmen 505
10.4.1 Prinzip von Evolutionsstrategien 505
10.4.2 Beispiel für einen genetischen Algorithmus 506
10.5 Probabilistische Algorithmen 510
10.5.1 Zufallszahlen 510
10.5.2 Monte-Carlo-Methoden 513
10.5.3 Probabilistischer Primzahltest 515
10.5.4 Der heuristische Ansatz 522
10.6 Rekursion 523
10.6.1 Definition und einführende Beispiele 523
10.6.2 Rekursive Programmierung und Iteration 525
10.6.3 Backtracking 529
Übungsaufgaben 531
11 Suchen und Sortieren 532
11.1 Einfache Suchverfahren 532
11.1.1 Sequentielle Suche 532
11.1.2 Binäre Suche 534
11.1.3 Interpolations-Suche 536
11.1.4 Radix-Suche 537
Übungsaufgaben 538
11.2 Suchen von Mustern in Strings 539
11.2.1 Mustererkennung durch sequentielles Vergleichen 539
11.2.2 Mustererkennung durch Automaten 541
11.2.3 Das Verfahren von Boyer-Moore und Knuth-Morris-Pratt 544
11.2.4 Ähnlichkeiten von Mustern und Levenshtein-Distanz 545
11.3 Gestreute Speicherung (Hashing) 550
11.3.1 Hash-Funktionen 550
11.3.2 Kollisionsbehandlung 552
11.3.3 Komplexitätsberechnung 558
Übungsaufgaben 560
11.4 Direkte Sortierverfahren 561
11.4.1 Vorbemerkungen 561
11.4.2 Sortieren durch direktes Einfügen 563
11.4.3 Sortieren durch direktes Auswählen 566
11.4.4 Sortieren durch direktes Austauschen (Bubble-Sort) 568
Übungsaufgaben 571
11.5 Höhere Sortierverfahren 572
11.5.1 Shell-Sort 572
11.5.2 Quick-Sort 573
11.5.3 Eine generische Sortierfunktion 578
11.5.4 Vergleich der Sortierverfahren 579
Übungsaufgaben 581
11.6 Sortieren externer Dateien 582
11.6.1 Grundprinzipien des sequentiellen Datenzugriffs 582
11.6.2 Sequentielle Speicherorganisation 586
11.6.3 Direktes Mischen 58*
11.6.4 Natürliches Mischen 593
11.6.5 n-Weg-Mischen 599
Übungsaufgaben "
12 Bäume und Graphen 60]
12.1 Binärbäume 601
12.1.1 Definitionen 601
12.1.2 Speichern und Durchsuchen von Binärbäumen 604
12.1.3 Binäre Suchbäume 6^
12.1.4 Ausgleichen von Bäumen und AVL-Bäume °] j?
12.1.5 Heaps 6iy
12.1.6 Heap-Sort 22
Übungsaufgaben ^
12.2 Vielwegbäume 628
12.2.1 Rückführung auf Binärbäume ^
12.2.2 Definition von (a,b)-Bäumen und B-Bäumen ^
12.2.3 Operationen auf B-Bäumen 6^
Übungsaufgaben 637
12.3 Graphen 638
12.3.1 Definitionen und einführende Beispiele f~
12.3.2 Speicherung von Graphen rfjl
12.3.3 Suchen, Einfügen und Löschen von Knoten und Kanten °J°
12.3.4 Durchsuchen von Graphen 6 "
12.3.5 Halbordnung und topologisches Sortieren ^63
12.3.6 Minimal spannende Bäume ^
12.3.7 Union-Find-Algorithmen ™7.
Übungsaufgaben 67
13 Kommunikations-und Informationstechnik 672
13.1 Informationsübertragung und Datenkommunikation 672
13.1.1 Einführung 672
13.1.2 Technische Grundlagen der Datenübertragung 675
13.1.3 Strukturen und Operationsprinzipien von Netzen 678
13.1.4 Das OSl-Schichtenmodell der Datenkommunikation 681
13.1.5 Beispiele für Schnittstellen und Netze 684
13.1.6 Lokale Rechnernetze 687
13.2 Datenbanken 689
13.2.1 Einführung und Definitionen 689
13.2.2 Relationale Datenbanksysteme 692
13.2.3 Die Datenbanksprache SQL 697
13.2.4 Objektorientierte Datenbanksysteme 700
13.2.5 Data Mining 701
13.3 Multimedia-Anwendungen 706
13.3.1 Einführung und Definitionen 706
13.3.2 Licht und Farbe 707
13.3.3 Die Bearbeitung digitaler Bilder 712
13.3.4 Komponenten von Multimedia-Dokumenten 720
14 Das Internet und verteilte Verarbeitung 725
14.1 Das Internet 725
14.1.1 Überblick über das Internet 725
14.1.2 Internet-Dienste 730
14.1.3 Erstellen von Web-Seiten mit HTML 735
14.1.4 Client/Server-Anwendungen 748
14.2 Script-Sprachen 758
14.2.1 Definition und Einsatzbereiche von Script-Sprachen 758
14.2.2 Client-seitiges Scripting mit JavaScript 761
14.2.3 Server-seitiges Scripting mit PHP 763
14.2.4 Die Beschreibung von Dokumenten mit XML 779
Literaturverzeichnis 790
Sachwortverzeichnis 802
Verzeichnis der Programme
C-Programme
Arithmetische Kompression von Wörtern mit maximal 15 Stellen 91
Verschlüsslung mit XOR und One-Time-Pad V^
Monte-Carlo-Berechnung von Pi für Einprozessor-System *™
Monte-Carlo-Berechnung von Pi für Parallelprozessor-System ^y
Berechnung der Fakultät 277
Berechnung des Mittelwertes eines Datensatzes ~
Zählen von Zeichen einer Datei *
Sonderzeichen in einer Datei markieren ~t
Zeichenkette in einer Datei suchen und Häufigkeit des Auftretens bestimmen ^»n
Beispiel zur Verwendung von Zeigern r ß
Konversion von Monatsnamen unter Verwendung von Feldern ^*
Konversion von Monatsnamen unter Verwendung von Zeigern auf Felder 2öf
Beispiel zur Verwendung von Zeigern auf Funktionen ~8
Gauß'scher Eliminationsalgorithmus mit Pivot-Suche rt
Gauß'scher Eliminationsalgorithmus, Variante mit dynamischen Zeiger-Feldern ^
Bestimmung der Länge eines Strings ^
Konkatenation zweier Strings jz~i
Zeilen-Editor ^
Löschen eines Elements aus einer linearen Liste tj.
Dateiverwaltung mit Hilfe linearer Listen jrA
Verwaltung eines Ringpuffers ^Vi
Beispiel zur objektorientierten Verarbeitung von Vektoren ;~r:
String-Funktiqnen f?7
Beispiel zum Überladen von Funktionen ^Tl
Beispiel zum Überladen von Operatoren t7J:
Binäres Suchen in einer Kundendatei *r?
Simulation einer Turing-Maschine i7
Simulation eines Taschenrechners Vl
Ermittlung von Primzahlen mit dem Sieb des Eratosthenes ^zz
Greedy-Algorithmus für das Problem des Handlungsreisenden 5°?
Beispiel für einen genetischen Algorithmus
Pseudo-Zufallszahlen-Generator mit dem LCM-Algorithmus 512
Primfaktorzerlegung 5
Probabilistischer Primzahltest ^20
Rekursive Berechnung der Fakultät 52^
Die Türme von Hanoi (rekursive Version) 52^
Beispiel für einen Backtracking-Algorithmus: das Springer-Problem 530
Sequentielle Suche einer Zeichenkette in einer Datei 540
Mustersuche mit Hilfe eines Automaten 5Al
Mustersuche mithilfe des Boyer-Moore-Algorithmus 545,
Berechnung der Levenshtein-Distanz (Abstand zwischen Strings) 547
Sequentielle Suche 53J
Binäre Suche 535
Sortieren durch direktes Einfügen 563
Sortieren durch binäres Einfügen 565
Sortieren durch direktes Auswählen 566
Sortieren durch direktes Austauschen (Bubble-Sort) 569
Shaker-Sort 570
Shell-Sort 573
Quick-Sort, rekursive Variante 574
Quick-Sort, iterative Variante 575
Bestimmung des k-größten Elements 577
Sortieren durch Einfügen, generische Version 578
Datumsvergleich 579
Sortieren eines Arrays mit Merge-Sort 592
Sortieren durch natürliches Mischen (Natural Merge) 595
Rekursives Durchsuchen von Bäumen 607
Sortieren eines Arrays durch Heap-Sort 623
Sortieren eines Arrays durch Reverse Heap-Sort 625
Suchen kürzester Wege in Graphen mit dem Algorithmus von Tremaux 652
Verwaltung von Graphen mit Adjazenzmatrix und Erreichbarkeitsmatrix 658
Java-Programme
Applikation „Morgen" mit Eingabe über die Kommandozeile 347
Applikation „Morgen" mit interaktiver Eingabe über die Tastatur 353
Klasse „Keyboard" zum Lesen gepufferter Tastatureingaben 356
Applikation zur Berechnung von Mittelwert und Varianz 357
Applikation zum Kopieren einer Datei 358
Applikation zur Darstellung von Applets (Viewer) 362
Applet „Apfelmännchen" 362
Applet „Click" zur Demonstration von Threds 367
Applet „Poker" mit zwei unabhängigen Threads 369
Lesen eines Byte-Stroms 749
Applet für eine Client/Server-Kommunikation 752
HTML, XML, JavaScript und PHP
Das Beispiel „Virtuelle Hochschule" (HTML) 742
E-Mail Formular (HTML) 745
Taschenrechner und Laufschrift (JavaScript) 762
Beispiele für Funktionen (PHP) 767
Datenübergabe per HTML-Formular (PHP) 770
Das Logo der FH-Rosenheim (Grafik mit PHP) 771
Passwortschutz von Webseiten mit Cookies (PHP) 773
Ein Zugriffszähler für Webseiten (PHP) 776
Beschreibung eines Vereins (XML und XSLT) 785
ASSEMBLER-Programme
Kopieren eines Datenblocks 192
Berechnung einer Prüfziffer 192
Arithmetisches Mittel von 16-Bit-Zahlen 192
Berechnung der ganzzahligen Wurzel aus einer 16-Bit-Zahl 193 |
adam_txt |
V
Inhaltsverzeichnis
Kurze Inhaltsübersicht
XIV
Verzeichnis der Programme
XVI
Vorwort
1 Einführung 1
11 Was ist eigentlich Informatik? 3
1 2 Zur Geschichte der Informatik 11
1.3 Prinzipieller Aufbau von digitalen Rechenanlagen 15
1 4 Zahlensysteme und binäre Arithmetik
30
2 Nachricht und Information _,,,,- 30
2.1 Abgrenzung der Begriffe Nachricht und Information 32
2.2 Biologische Aspekte 36
2.3 Diskretisierung von Nachrichten 40
2.4 Wahrscheinlichkeit und Kombinatonk 52
2 5 Information und Wahrscheinlichkeit
60
3 Codierung 60
3.1 Grundbegriffe 65
3.2 Code-Erzeugung 71
3.3 Code-Sicherung 88
3.4 Datenkompression 108
3.5 Verschlüsselung
4 Computerhardware und Maschinensprache 132
4.1 Digitale Grundschaltungen 140
4.2 Boolesche Algebra 148
4.3 Schaltnetze und Schaltwerke 156
4.4 Analog-und Hybridrechner c MRRnnn 161
4.5 Die Funktion einer CPU am Beispiel des M68000 1Q2
4.6 Maschinensprache und ASSEMBLER
195
5 Rechnerarchitekturen und Betriebssysteme 195
5.1 Grundprinzipien und Klassifikationen 204
5.2 Grundlagen von Betriebssystemen 215
5.3 Parallel-Strukturen
233
6 Höhere Programmiersprachen und c 233
6.1 Zur Struktur höherer Programmierspracnen 243
6.2 Methoden der Syntaxbeschreibung 251
6.3 Einführung in die Programmiersprache o 299
6.4 Sequentielle Datenstrukturen mit C
7 Objektorientierte Programmiersprachen: C++und Java 322
7 1 Die objektorientierte Erweiterung von u. u++ 344
7.2 Einführung in die Programmiersprache Java
8 Software-Engineering und DV-Organisation *?3
8.1 Üben^lick über Softwan^Engmeenng Methoden 396
8.2 Hilfsmittel für den Entwurf von Algorithmen 405
8.3 Datenverarbeitungs-Organisation
9 AutomatentTMori« und formal« Sprachen 430
9.1 Grundbegriffe der Automatentheone 448
Q O Ti ¦rinn-lulacrhinnn
9.3 Einführung in die Theorie der formalen Sprachen AKa
9.4 Compiler 40°
469
10 Algorithmen
10.1 Berechenbarkeit 477
10.2 Komplexität 477
10.3 Optimierung von Algorithmen ^
10.4 Genetische Algorithmen Z„l
10.5 Probabilistische Algorithmen 5JS
10.6 Rekursion 510
523
11 Suchen und Sortieren
11.1 Einfache Suchverfahren „,
11 2 Suchen von Mustern in Strings „o
11.3 Gestreute Speicherung (Hashing) ™
11.4 Direkte Sortierverfahren ^50
11.5 Höhere Sortierverfahren 5!J
11.6 Sortieren externer Dateien 532
12 Bäume und Graphen
12.1 Binärbäume 601
12.2 Vielwegbäume 601
12.3 Graphen 628
638
" ^T'aH'nTT"3',11"0 lnfol™«onstechnologie 672
13 2 Srbaan°kneSnUbertra9Un9 Und Dat^ -™kation %\
13.3 Multimedia-Anwendungen ^06
14 SÄS' TOrte"te *—«-.
M.2 Stiipl-Sprachen lli
758
Literaturverzeichnis
790
Sachwortverzeichnis
Übungsaufgaben
^tSS^i^SS"*1* Obungsaulgaben an. Die Lösungen sind in der das
uwi imemet-Seite http://www.fh-rosenheim.de/~gki zu finden.
D-e Übungsaufgaben sind thematisch sowie nach ihrem Schwierigkeitsgrad klassifiziert:
T für Textaufgaben,
M für mathematisch'orientierte Aufgaben
P Sr^TmÄSEn98 ""* komb-torisches Denken erfordern,
Blättern irr|SBucneiCht' °'eSe Aufgaben können unmittelbar gelöst werden, ggf. mit etwas
Aufwand zu'lösenUsindennZe'Chnet Aufgaben- die innerhalb von einigen Minuten mit wenig
Buchinhalt Wnausu3n°rl/:l!LAuf9aberi erfordern etwas geistige Transferleistung über den
3 bedeutet ¦%££• uSS^^8*08"1" Arbe'tsaufwand.
tiven Eigenleistungen erfod reserviert, die erheblichen Arbeitsaufwand mit krea-
4 kennzeichnet „sehr schwele" oder aufwändige Projekte.
Ausführliches Inhaltsverzeichnis
Verzeichnis der Programme XIV
Vorwort XVI
1 Einführung 1
1.1 Was ist eigentlich Informatik? 1
1.2 Zur Geschichte der Informatik 3
1.2.1 Frühe Zähl- und Rechensysteme 3
1.2.2 Die Entwicklung von Rechenmaschinen 4
1.2.3 Die Computer-Generationen 7
Übungsaufgaben 10
1.3 Prinzipieller Aufbau von digitalen Rechenanlagen 11
1.3.1 Das EVA-Prinzip 11
1.3.2 Zentraleinheit und Busstruktur 12
1.3.3 Systemkomponenten 13
Übungsaufgaben 14
1.4 Zahlensysteme und binäre Arithmetik 15
1.4.1 Darstellung von Zahlen 15
1.4.2 Umwandlung von Zahlen in verschiedene Darstellungssysteme 17
1.4.3 Binäre Arithmetik 20
1.4.4 Gleitpunktzahlen 26
Übungsaufgaben 29
2 Nachricht und Information 30
2.1 Abgrenzung der Begriffe Nachricht und Information 30
Übungsaufgaben 31
2.2 Biologische Aspekte 32
2.2.1 Sinnesorgane 32
2.2.2 Datenverarbeitung im Gehirn 33
2.2.3 Der genetische Code 34
Übungsaufgaben 35
2.3 Diskretisierung von Nachrichten 36
2.3.1 Rasterung 36
2.3.2 Quantelung 37
Übungsaufgaben 39
2.4 Wahrscheinlichkeit und Kombinatorik 40
2.4.1 Die relative Häufigkeit 40
2.4.2 Die mathematische Wahrscheinlichkeit 41
2.4.3 Totale Wahrscheinlichkeit und Bayes-Formel 43
2.4.4 Statistische Kenngrößen 47
2.4.5 Fakultät und Binomialkoeffizienten 47
2.4.6 Kombinatorik 49
Übungsaufgaben 51
2.5 Information und Wahrscheinlichkeit 52
2.5.1 Der Informationsgehalt einer Nachricht 52
2.5.2 Die Entropie einer Nachricht 54
2.5.3 Zusammenhang mit der physikalischen Entropie 57
Übungsaufgaben 59
3 Codierung
3.1 Grundbegriffe °°
3.1.1 Definition des Begriffs Codierung g0
3.1.2 Mittlere Wortlänge und Code-Redundanz 1a
3.1.3 Beispiele für Codes J,
Übungsaufgaben b.
3.2 Code-Erzeugung *T
3.2.1 Code-Bäume £¦
3.2.2 Der Huffman-Algorithmus rr
3.2.3 Der Fano-Algorithmus Xq
Übungsaufgaben zZ
3.3 Code-Sicherung ™
3.3.1 Stellendistanz und Hamming-Distanz 71
3.3.2 m-aus-n-Codes '2
3.3.3 Codes mit Paritäts-Bits 73
3.3.4 Fehlertolerante Codes 76
3.3.5 Definition linearer Codes 79
3.3.6 Lineare Hamming-Codes 83
3.3.7 Zyklische Codes und Code-Polynome «5
Übungsaufgaben ?Z
3.4 Datenkompression og
li'l Yo*emerkun9en und statistische Datenkompression 88
.3.4.2 Arithmetische Codierung 8g
3.4.3 Lauflängen-Codierung 93
3.4.4 Differenz-Codierung Qc
3.4.5 Der LZW-Algorithmus 97
Üb4ungDstfgraebdenktiOn """* Uni'äre Transforr"ati°nen (JpEG) 102
3.5 Verschlüsselung ^g
3.5.1 Vorbemerkungen 1Ofl
3.5.2 Substitutions-Chiffren 1-j0
3.5.3 Transpositions-Chiffren und Enigma 112
d.5.4 Der Data Encryption Standard (DES) 116
iH onK.-Ti^e"TadS ünd Str°m-Chiffren 118
3.5.6 Pubhc-Key Verschlüsselung 123
3.5.7 Digitale Unterschrift
Übungsaufgaben \^°
4.1.1 Stromkreise ^
ii1:! ESS/SS?0""und inte9rierte schaltkreise lli
4.2 Boolesche Algebra Ijl
4.2.1 Aussagenlogik 14„
4.2.2 Der Boolesche Verband 142
424 wB°OlfChe Normalformtheorem 144
üb2ungVsearuSabCehnen B°Ole'sch-Ausdrücke 145
43 48SS32^8ch*wri- \i
4.3.2 Spezielle Schaltnetze 49
4.3.3 Schaltwerke JJ?
Übungsaufgaben ]^
4.4 Analog-und Hybridrechner 156
4.4.1 Grundkonzepte und Anwendungsgebiete 156
4.4.2 Komponenten von Analogrechnern 157
4.5 Die Funktion einer CPU am Beispiel des M68000 161
4.5.1 Die Anschlüsse der CPU M68000 161
4.5.2 Der innere Aufbau der CPU M68000 166
4.5.3 Befehlsformate und Befehlsausführung 171
4.5.4 Adressierungsarten 176
4.6 Maschinensprache und ASSEMBLER 182
4.6.1 Einführung 182
4.6.2 Der Befehlssatz des M68000 183
4.6.3 Programmbeispiele 192
Übungsaufgaben 194
5 Rechnerarchitekturen und Betriebssysteme 195
5.1 Grundprinzipien und Klassifikationen 195
5.1.1 Rechnertypen und Grundkonzepte 195
5.1.2 Die Klassifikation nach Flynn 198
5.1.3 Die von-Neumann-Architektur 200
Übungsaufgaben 203
5.2 Grundlagen von Betriebssystemen 204
5.2.1 Grundfunktionen und Klassifizierung von Betriebssystemen 204
5.2.2 MS-DOS als Beispiel für ein einfaches Betriebssystem 206
5.2.3 Das Multitasking-Konzept 208
5.2.4 MS-Windows 210
5.2.5 UNIX 212
5.3 Parallel-Strukturen 215
5.3.1 Verbindungsstrukturen 215
5.3.2 Multitasking und Parallelverarbeitung 219
5.3.3 Vektorrechner und Pipelines 224
5.3.4 Feldrechner 226
5.3.5 Betriebssysteme für Parallel-Rechner 228
Übungsaufgaben 232
6 Höhere Programmiersprachen und C 233
6.1 Zur Struktur höherer Programmiersprachen 233
6.1.1 Überblick über wichtige höhere Programmiersprachen 233
6.1.2 Die Ebenen des Informationsbegriffs in Programmiersprachen 238
6.1.3 Systeme und Strukturen 240
Übungsaufgaben 242
6.2 Methoden der Syntaxbeschreibung 243
6.2.1 Die Backus-Naur-Form 243
6.2.2 Syntax-Graphen 246
6.2.3 Eine einfache Sprache als Beispiel: C-- 247
Übungsaufgaben 250
6.3 Einführung in die Programmiersprache C 251
6.3.1 Der Aufbau von C-Programmen 251
6.3.2 Einfache Datentypen 255
6.3.3 Strukturierte Standard-Datentypen 259
6.3.4 Operatoren und Ausdrücke 263
6.3.5 Anweisungen 266
6.3.6 Funktionen 270
6.3.7 Ein-/Ausgabe-Funktionen 276
6.3.8 Verarbeitung von Zeichenketten 279
6.3.9 Das Zeigerkonzept in C 282
Übungsaufgaben 297
6.4 Sequentielle Datenstrukturen mit C 299
6.4.1 Vorbemerkungen zu Algorithmen und Datenstrukturen 299
6.4.2 Strings und Texte 30u
6.4.3 Lineare Listen 305
6.4.4 Stapel und Schlangen 316
Übungsaufgaben 32u
7 Objektorientierte Programmiersprachen: C++ und Java 322
7.1 Die objektorientierte Erweiterung von C: C++ 322
7.1.1 Das Konzept der objektorientierten Programmierung 322
7.1.2 Einfache Spracherweiterungen von C und C++ 324
7.1.3 Klassen und Objekte 329
7.1.4 Polymorphismus und Überladen 340
7.2 Einführung in die Programmiersprache Java 344
7.2.1 Grundlagen 344
7.2.2 Klassen und Objekte 349
7.2.3 Ein-/Ausgabe-Funktionen 353
7.2.4 Applets 35g
7.2.5 Threads 35g
Übungsaufgaben 372
8 Software-Engineering und DV-Organisation 373
8.1 Überblick über Software-Engineering Methoden 373
8.1.1 Software-Klassifikation 373
8.1.2 Phasen der Software-Entwicklung 376
8.1.3 Software-Testmethoden 380
8.1.4 Vorgehensmodelle bei der Software-Entwicklung 382
d o u-'J Modellierung von IT-Systemen mit UML 386
Ö.2 Hilfsmittel für den Entwurf von Algorithmen 396
8.2.1 Pseudo-Code 396
8.2.2 Ablauf- oder Flussdiagramme 397
8.2.3 Struktogramme nach Nassi-Shneiderman 399
8.2.4 Entscheidungstabellen 401
8.3 Datenverarbeitungs-Organisation 405
8.3.1 Definition des Begriffs Organisation 405
t't'i o Einbmdun9 der DV in die betriebliche Organisation 408
o.ö.ö Organisation von DV-Projekten in Projektgruppen 410
8.3.4 Der Ablauf von DV-Projekten 414
8.3.5 Planung und Kontrolle der Organisationsarbeit 417
ö.J.b Organisation von Rechenzentren 419
8.3.7 Datenschutz 423
8.3.8 Datensicherheit 426
9 Automatentheorie und formale Sprachen 430
Grundbegriffe der Automatentheorie 430
9-1.1 Definition von Automaten 430
91.2 Darstellung von Automaten 432
q 11 S8!. ak2ePfierte Sprachschatz von Automaten 435
«• i .4 Halbgruppen und Automaten 438
91.5 Die induzierte Halbgruppe 441
9.1 6 Kellerautomaten 445
Übungsaufgaben 447
9.2 Turing-Maschinen 448
9.2.1 Definition von Turing-Maschinen 448
9.2.2 Beispiele für Turing-Maschinen 452
9.2.3 Realisierung einer Turing-Maschine als C-Programm 454
Übungsaufgaben 457
9.3 Einführung in die Theorie der formalen Sprachen 458
9.3.1 Definition von formalen Sprachen 458
9.3.2 Die Chomsky-Hierarchie 459
9.3.3 Das Pumping-Theorem 463
9.3.4 Die Analyse von Wörtern 466
Übungsaufgaben 468
9.4 Compiler 469
9.4.1 Einführung 469
9.4.2 Simulation eines Taschenrechners 472
10 Algorithmen 477
10.1 Berechenbarkeit 477
10.1.1 Algorithmen und ihre prinzipielle Ausführung 477
10.1.2 Entscheidungsproblem und Church-Turing-These 479
10.1.3 Das Halteproblem 480
10.1.4 Primitiv rekursive Funktionen 482
10.1.5 u-rekursive Funktionen und die Ackermann-Funktion 484
10.1.6 Die bb-Funktion 486
10.2 Komplexität 489
10.2.1 Einführung 489
10.2.2 Polynomiale und exponentielle Algorithmen 490
10.2.3 NP-Vollständigkeit 495
10.3 Optimierung von Algorithmen 497
10.3.1 Vereinfachen komplexer Operationen 497
10.3.2 Teile und Herrsche 499
10.3.3 Näherungsweise Problemlösung durch Greedy-Strategien 501
10.4 Genetische Algorithmen 505
10.4.1 Prinzip von Evolutionsstrategien 505
10.4.2 Beispiel für einen genetischen Algorithmus 506
10.5 Probabilistische Algorithmen 510
10.5.1 Zufallszahlen 510
10.5.2 Monte-Carlo-Methoden 513
10.5.3 Probabilistischer Primzahltest 515
10.5.4 Der heuristische Ansatz 522
10.6 Rekursion 523
10.6.1 Definition und einführende Beispiele 523
10.6.2 Rekursive Programmierung und Iteration 525
10.6.3 Backtracking 529
Übungsaufgaben 531
11 Suchen und Sortieren 532
11.1 Einfache Suchverfahren 532
11.1.1 Sequentielle Suche 532
11.1.2 Binäre Suche 534
11.1.3 Interpolations-Suche 536
11.1.4 Radix-Suche 537
Übungsaufgaben 538
11.2 Suchen von Mustern in Strings 539
11.2.1 Mustererkennung durch sequentielles Vergleichen 539
11.2.2 Mustererkennung durch Automaten 541
11.2.3 Das Verfahren von Boyer-Moore und Knuth-Morris-Pratt 544
11.2.4 Ähnlichkeiten von Mustern und Levenshtein-Distanz 545
11.3 Gestreute Speicherung (Hashing) 550
11.3.1 Hash-Funktionen 550
11.3.2 Kollisionsbehandlung 552
11.3.3 Komplexitätsberechnung 558
Übungsaufgaben 560
11.4 Direkte Sortierverfahren 561
11.4.1 Vorbemerkungen 561
11.4.2 Sortieren durch direktes Einfügen 563
11.4.3 Sortieren durch direktes Auswählen 566
11.4.4 Sortieren durch direktes Austauschen (Bubble-Sort) 568
Übungsaufgaben 571
11.5 Höhere Sortierverfahren 572
11.5.1 Shell-Sort 572
11.5.2 Quick-Sort 573
11.5.3 Eine generische Sortierfunktion 578
11.5.4 Vergleich der Sortierverfahren 579
Übungsaufgaben 581
11.6 Sortieren externer Dateien 582
11.6.1 Grundprinzipien des sequentiellen Datenzugriffs 582
11.6.2 Sequentielle Speicherorganisation 586
11.6.3 Direktes Mischen 58*
11.6.4 Natürliches Mischen 593
11.6.5 n-Weg-Mischen 599
Übungsaufgaben "
12 Bäume und Graphen 60]
12.1 Binärbäume 601
12.1.1 Definitionen 601
12.1.2 Speichern und Durchsuchen von Binärbäumen 604
12.1.3 Binäre Suchbäume 6^
12.1.4 Ausgleichen von Bäumen und AVL-Bäume °] j?
12.1.5 Heaps 6iy
12.1.6 Heap-Sort 22
Übungsaufgaben ^
12.2 Vielwegbäume 628
12.2.1 Rückführung auf Binärbäume ^
12.2.2 Definition von (a,b)-Bäumen und B-Bäumen ^
12.2.3 Operationen auf B-Bäumen 6^
Übungsaufgaben 637
12.3 Graphen 638
12.3.1 Definitionen und einführende Beispiele f~
12.3.2 Speicherung von Graphen rfjl
12.3.3 Suchen, Einfügen und Löschen von Knoten und Kanten °J°
12.3.4 Durchsuchen von Graphen 6 "
12.3.5 Halbordnung und topologisches Sortieren ^63
12.3.6 Minimal spannende Bäume ^
12.3.7 Union-Find-Algorithmen ™7.
Übungsaufgaben 67
13 Kommunikations-und Informationstechnik 672
13.1 Informationsübertragung und Datenkommunikation 672
13.1.1 Einführung 672
13.1.2 Technische Grundlagen der Datenübertragung 675
13.1.3 Strukturen und Operationsprinzipien von Netzen 678
13.1.4 Das OSl-Schichtenmodell der Datenkommunikation 681
13.1.5 Beispiele für Schnittstellen und Netze 684
13.1.6 Lokale Rechnernetze 687
13.2 Datenbanken 689
13.2.1 Einführung und Definitionen 689
13.2.2 Relationale Datenbanksysteme 692
13.2.3 Die Datenbanksprache SQL 697
13.2.4 Objektorientierte Datenbanksysteme 700
13.2.5 Data Mining 701
13.3 Multimedia-Anwendungen 706
13.3.1 Einführung und Definitionen 706
13.3.2 Licht und Farbe 707
13.3.3 Die Bearbeitung digitaler Bilder 712
13.3.4 Komponenten von Multimedia-Dokumenten 720
14 Das Internet und verteilte Verarbeitung 725
14.1 Das Internet 725
14.1.1 Überblick über das Internet 725
14.1.2 Internet-Dienste 730
14.1.3 Erstellen von Web-Seiten mit HTML 735
14.1.4 Client/Server-Anwendungen 748
14.2 Script-Sprachen 758
14.2.1 Definition und Einsatzbereiche von Script-Sprachen 758
14.2.2 Client-seitiges Scripting mit JavaScript 761
14.2.3 Server-seitiges Scripting mit PHP 763
14.2.4 Die Beschreibung von Dokumenten mit XML 779
Literaturverzeichnis 790
Sachwortverzeichnis 802
Verzeichnis der Programme
C-Programme
Arithmetische Kompression von Wörtern mit maximal 15 Stellen 91
Verschlüsslung mit XOR und One-Time-Pad V^
Monte-Carlo-Berechnung von Pi für Einprozessor-System *™
Monte-Carlo-Berechnung von Pi für Parallelprozessor-System ^y
Berechnung der Fakultät 277
Berechnung des Mittelwertes eines Datensatzes ~
Zählen von Zeichen einer Datei *
Sonderzeichen in einer Datei markieren ~t
Zeichenkette in einer Datei suchen und Häufigkeit des Auftretens bestimmen ^»n
Beispiel zur Verwendung von Zeigern r ß
Konversion von Monatsnamen unter Verwendung von Feldern ^*
Konversion von Monatsnamen unter Verwendung von Zeigern auf Felder 2öf
Beispiel zur Verwendung von Zeigern auf Funktionen ~8
Gauß'scher Eliminationsalgorithmus mit Pivot-Suche rt
Gauß'scher Eliminationsalgorithmus, Variante mit dynamischen Zeiger-Feldern ^
Bestimmung der Länge eines Strings ^
Konkatenation zweier Strings jz~i
Zeilen-Editor ^
Löschen eines Elements aus einer linearen Liste tj.
Dateiverwaltung mit Hilfe linearer Listen jrA
Verwaltung eines Ringpuffers ^Vi
Beispiel zur objektorientierten Verarbeitung von Vektoren ;~r:
String-Funktiqnen f?7
Beispiel zum Überladen von Funktionen ^Tl
Beispiel zum Überladen von Operatoren t7J:
Binäres Suchen in einer Kundendatei *r?
Simulation einer Turing-Maschine i7
Simulation eines Taschenrechners Vl
Ermittlung von Primzahlen mit dem Sieb des Eratosthenes ^zz
Greedy-Algorithmus für das Problem des Handlungsreisenden 5°?
Beispiel für einen genetischen Algorithmus
Pseudo-Zufallszahlen-Generator mit dem LCM-Algorithmus 512
Primfaktorzerlegung 5
Probabilistischer Primzahltest ^20
Rekursive Berechnung der Fakultät 52^
Die Türme von Hanoi (rekursive Version) 52^
Beispiel für einen Backtracking-Algorithmus: das Springer-Problem 530
Sequentielle Suche einer Zeichenkette in einer Datei 540
Mustersuche mit Hilfe eines Automaten 5Al
Mustersuche mithilfe des Boyer-Moore-Algorithmus 545,
Berechnung der Levenshtein-Distanz (Abstand zwischen Strings) 547
Sequentielle Suche 53J
Binäre Suche 535
Sortieren durch direktes Einfügen 563
Sortieren durch binäres Einfügen 565
Sortieren durch direktes Auswählen 566
Sortieren durch direktes Austauschen (Bubble-Sort) 569
Shaker-Sort 570
Shell-Sort 573
Quick-Sort, rekursive Variante 574
Quick-Sort, iterative Variante 575
Bestimmung des k-größten Elements 577
Sortieren durch Einfügen, generische Version 578
Datumsvergleich 579
Sortieren eines Arrays mit Merge-Sort 592
Sortieren durch natürliches Mischen (Natural Merge) 595
Rekursives Durchsuchen von Bäumen 607
Sortieren eines Arrays durch Heap-Sort 623
Sortieren eines Arrays durch Reverse Heap-Sort 625
Suchen kürzester Wege in Graphen mit dem Algorithmus von Tremaux 652
Verwaltung von Graphen mit Adjazenzmatrix und Erreichbarkeitsmatrix 658
Java-Programme
Applikation „Morgen" mit Eingabe über die Kommandozeile 347
Applikation „Morgen" mit interaktiver Eingabe über die Tastatur 353
Klasse „Keyboard" zum Lesen gepufferter Tastatureingaben 356
Applikation zur Berechnung von Mittelwert und Varianz 357
Applikation zum Kopieren einer Datei 358
Applikation zur Darstellung von Applets (Viewer) 362
Applet „Apfelmännchen" 362
Applet „Click" zur Demonstration von Threds 367
Applet „Poker" mit zwei unabhängigen Threads 369
Lesen eines Byte-Stroms 749
Applet für eine Client/Server-Kommunikation 752
HTML, XML, JavaScript und PHP
Das Beispiel „Virtuelle Hochschule" (HTML) 742
E-Mail Formular (HTML) 745
Taschenrechner und Laufschrift (JavaScript) 762
Beispiele für Funktionen (PHP) 767
Datenübergabe per HTML-Formular (PHP) 770
Das Logo der FH-Rosenheim (Grafik mit PHP) 771
Passwortschutz von Webseiten mit Cookies (PHP) 773
Ein Zugriffszähler für Webseiten (PHP) 776
Beschreibung eines Vereins (XML und XSLT) 785
ASSEMBLER-Programme
Kopieren eines Datenblocks 192
Berechnung einer Prüfziffer 192
Arithmetisches Mittel von 16-Bit-Zahlen 192
Berechnung der ganzzahligen Wurzel aus einer 16-Bit-Zahl 193 |
any_adam_object | 1 |
any_adam_object_boolean | 1 |
author | Ernst, Hartmut 1949- |
author_GND | (DE-588)124560083 |
author_facet | Ernst, Hartmut 1949- |
author_role | aut |
author_sort | Ernst, Hartmut 1949- |
author_variant | h e he |
building | Verbundindex |
bvnumber | BV023174555 |
classification_rvk | ST 110 ST 120 |
classification_tum | DAT 001f DAT 001b |
ctrlnum | (OCoLC)229448141 (DE-599)DNB985503378 |
dewey-full | 004 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 004 - Computer science |
dewey-raw | 004 |
dewey-search | 004 |
dewey-sort | 14 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
discipline_str_mv | Informatik |
edition | 4., vollst. überarb. Aufl. |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>00000nam a2200000 c 4500</leader><controlfield tag="001">BV023174555</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20221124</controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">080220s2008 gw ad|| |||| 00||| ger d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9783834803627</subfield><subfield code="9">978-3-8348-0362-7</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">3834803626</subfield><subfield code="9">3-8348-0362-6</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)229448141</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)DNB985503378</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakddb</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">ger</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">gw</subfield><subfield code="c">DE</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-M347</subfield><subfield code="a">DE-473</subfield><subfield code="a">DE-1051</subfield><subfield code="a">DE-1046</subfield><subfield code="a">DE-1043</subfield><subfield code="a">DE-824</subfield><subfield code="a">DE-861</subfield><subfield code="a">DE-Aug4</subfield><subfield code="a">DE-703</subfield><subfield code="a">DE-858</subfield><subfield code="a">DE-91G</subfield><subfield code="a">DE-945</subfield><subfield code="a">DE-573</subfield><subfield code="a">DE-634</subfield><subfield code="a">DE-83</subfield><subfield code="a">DE-2070s</subfield><subfield code="a">DE-706</subfield><subfield code="a">DE-863</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">004</subfield><subfield code="2">22/ger</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 110</subfield><subfield code="0">(DE-625)143583:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 120</subfield><subfield code="0">(DE-625)143585:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 001f</subfield><subfield code="2">stub</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 001b</subfield><subfield code="2">stub</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Ernst, Hartmut</subfield><subfield code="d">1949-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)124560083</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Grundkurs Informatik</subfield><subfield code="b">Grundlagen und Konzepte für die erfolgreiche IT-Praxis ; eine umfassende, praxisorientierte Einführung</subfield><subfield code="c">Hartmut Ernst</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">4., vollst. überarb. Aufl.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Wiesbaden</subfield><subfield code="b">Vieweg+Teubner</subfield><subfield code="c">2008</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XVIII, 839 S.</subfield><subfield code="b">Ill., graph. Darst.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">Studium</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">Die 1. Aufl. 1999 und die 2. Aufl. 2000 erschienen unter dem Titel "Grundlagen und Konzepte der Informatik"</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Informatik</subfield><subfield code="0">(DE-588)4026894-9</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="655" ind1=" " ind2="7"><subfield code="0">(DE-588)4123623-3</subfield><subfield code="a">Lehrbuch</subfield><subfield code="2">gnd-content</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Informatik</subfield><subfield code="0">(DE-588)4026894-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="787" ind1="0" ind2="8"><subfield code="i">Überarbeitung von</subfield><subfield code="b">3. Auflage</subfield><subfield code="d">2003</subfield><subfield code="z">3-528-25717-2</subfield><subfield code="w">(DE-604)BV016500781</subfield></datafield><datafield tag="787" ind1="0" ind2="8"><subfield code="i">Überarbeitet als</subfield><subfield code="b">5. Auflage</subfield><subfield code="d">2015</subfield><subfield code="z">978-3-658-01627-2</subfield><subfield code="w">(DE-604)BV041637944</subfield></datafield><datafield tag="856" ind1="4" ind2=" "><subfield code="q">text/html</subfield><subfield code="u">http://deposit.dnb.de/cgi-bin/dokserv?id=2999162&prov=M&dok%5Fvar=1&dok%5Fext=htm</subfield><subfield code="3">Inhaltstext</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="q">text/html</subfield><subfield code="u">http://deposit.dnb.de/cgi-bin/dokserv?id=2999162&prov=M&dok_var=1&dok_ext=htm</subfield><subfield code="3">Inhaltstext</subfield></datafield><datafield tag="856" ind1="4" ind2=" "><subfield code="u">http://deposit.dnb.de/cgi-bin/dokserv?id=2999162&prov=M&dok_var=1&dok_ext=htm</subfield><subfield code="3">Beschreibung für Leser</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">HBZ Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016361170&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="943" ind1="1" ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-016361170</subfield></datafield></record></collection> |
genre | (DE-588)4123623-3 Lehrbuch gnd-content |
genre_facet | Lehrbuch |
id | DE-604.BV023174555 |
illustrated | Illustrated |
index_date | 2024-07-02T19:59:16Z |
indexdate | 2024-08-05T08:39:14Z |
institution | BVB |
isbn | 9783834803627 3834803626 |
language | German |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-016361170 |
oclc_num | 229448141 |
open_access_boolean | |
owner | DE-M347 DE-473 DE-BY-UBG DE-1051 DE-1046 DE-1043 DE-824 DE-861 DE-Aug4 DE-703 DE-858 DE-91G DE-BY-TUM DE-945 DE-573 DE-634 DE-83 DE-2070s DE-706 DE-863 DE-BY-FWS |
owner_facet | DE-M347 DE-473 DE-BY-UBG DE-1051 DE-1046 DE-1043 DE-824 DE-861 DE-Aug4 DE-703 DE-858 DE-91G DE-BY-TUM DE-945 DE-573 DE-634 DE-83 DE-2070s DE-706 DE-863 DE-BY-FWS |
physical | XVIII, 839 S. Ill., graph. Darst. |
publishDate | 2008 |
publishDateSearch | 2008 |
publishDateSort | 2008 |
publisher | Vieweg+Teubner |
record_format | marc |
series2 | Studium |
spellingShingle | Ernst, Hartmut 1949- Grundkurs Informatik Grundlagen und Konzepte für die erfolgreiche IT-Praxis ; eine umfassende, praxisorientierte Einführung Informatik (DE-588)4026894-9 gnd |
subject_GND | (DE-588)4026894-9 (DE-588)4123623-3 |
title | Grundkurs Informatik Grundlagen und Konzepte für die erfolgreiche IT-Praxis ; eine umfassende, praxisorientierte Einführung |
title_auth | Grundkurs Informatik Grundlagen und Konzepte für die erfolgreiche IT-Praxis ; eine umfassende, praxisorientierte Einführung |
title_exact_search | Grundkurs Informatik Grundlagen und Konzepte für die erfolgreiche IT-Praxis ; eine umfassende, praxisorientierte Einführung |
title_exact_search_txtP | Grundkurs Informatik Grundlagen und Konzepte für die erfolgreiche IT-Praxis ; eine umfassende, praxisorientierte Einführung |
title_full | Grundkurs Informatik Grundlagen und Konzepte für die erfolgreiche IT-Praxis ; eine umfassende, praxisorientierte Einführung Hartmut Ernst |
title_fullStr | Grundkurs Informatik Grundlagen und Konzepte für die erfolgreiche IT-Praxis ; eine umfassende, praxisorientierte Einführung Hartmut Ernst |
title_full_unstemmed | Grundkurs Informatik Grundlagen und Konzepte für die erfolgreiche IT-Praxis ; eine umfassende, praxisorientierte Einführung Hartmut Ernst |
title_short | Grundkurs Informatik |
title_sort | grundkurs informatik grundlagen und konzepte fur die erfolgreiche it praxis eine umfassende praxisorientierte einfuhrung |
title_sub | Grundlagen und Konzepte für die erfolgreiche IT-Praxis ; eine umfassende, praxisorientierte Einführung |
topic | Informatik (DE-588)4026894-9 gnd |
topic_facet | Informatik Lehrbuch |
url | http://deposit.dnb.de/cgi-bin/dokserv?id=2999162&prov=M&dok%5Fvar=1&dok%5Fext=htm http://deposit.dnb.de/cgi-bin/dokserv?id=2999162&prov=M&dok_var=1&dok_ext=htm http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016361170&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT ernsthartmut grundkursinformatikgrundlagenundkonzeptefurdieerfolgreicheitpraxiseineumfassendepraxisorientierteeinfuhrung |
Beschreibung
Würzburg Zentralbibliothek Lesesaal
Signatur: |
1000 ST 110 E71(4) 1000 ST 110 E71(4)st |
---|---|
Exemplar 1 | ausleihbar Verfügbar Bestellen |
Exemplar 2 | ausleihbar Verfügbar Bestellen |
Exemplar 3 | ausleihbar Verfügbar Bestellen |
Würzburg Teilbibliothek SHL, Raum I.2.11
Signatur: |
1340 ST 110 E71(4)st |
---|---|
Exemplar 1 | nicht ausleihbar Verfügbar |