Inhaltsverzeichnis
Inhaltsverzeichnis |
|
| Einleitung | 1 |
|
| Was ist Informatik? | 5 |
|
1 | Informatik | 7 |
1.1 | Was ist Informatik? | 7 |
1.2 | Teilgebiete der Informatik | 8 |
|
| Programmierung | 13 |
|
2 | Vom Problem Über den Algorithmus zum Programm | 15 |
2.1 | Vorgehensweise bei der Lösung von Programmierproblemen | 15 |
2.2 | Algorithmen | 16 |
2.3 | Beispiel: Jüngster Studierender | 18 |
|
3 | Algorithmenentwurf | 23 |
3.1 | Beispiel: Minimum einer Menge von Zahlen | 23 |
3.2 | Grundkonzepte von Algorithmen | 26 |
|
4 | Grundkonzepte der Programmierung | 37 |
4.1 | Programmierung und Programmiersprache Java | 37 |
4.2 | Grundstruktur von Java-Programmen | 38 |
4.3 | Beispiel: Minimum einer Menge von Zahlen | 45 |
4.4 | Variablen | 47 |
4.5 | Datentypen | 51 |
4.6 | Operatoren und Ausdrücke | 56 |
4.7 | Typkonvertierung | 62 |
4.8 | Anweisungen und Ablaufstrukturen | 64 |
4.9 | Konventionen | 71 |
4.10 | Beispiel: Mittelwert einer Folge von Zahlen | 72 |
|
5 | Funktionen | 77 |
5.1 | Beispiel: Sortieren einer Menge von Zahlen durch Minimumsuche | 77 |
5.2 | Funktionen | 84 |
5.3 | Gültigkeitsbereich von Deklarationen | 89 |
|
6 | Rekursion | 93 |
6.1 | Beispiel: Sortieren einer Menge von Zahlen durch Mischen | 93 |
6.2 | Prinzip der Rekursion | 105 |
|
7 | Klassen und Objekte | 109 |
7.1 | Beispiel: Suchen in einem Datenbestand | 109 |
7.2 | Klassen | 113 |
7.3 | Objekte | 121 |
|
8 | Objektorientierte Programmierung | 137 |
8.1 | Objektorientierte Modellierung | 137 |
8.2 | UML-Notation | 142 |
8.3 | Vererbung | 144 |
8.4 | Sichtbarkeit von Information | 155 |
8.5 | Polymorphismus | 158 |
|
9 | Klassenbibliotheken | 167 |
9.1 | Einbinden von Klassenbibliotheken | 167 |
9.2 | Applets | 168 |
9.3 | Systemzeit | 171 |
9.4 | Streams | 173 |
9.5 | Paketsichtbarkeit | 176 |
|
10 | Grafikprogrammierung mit Swing | 181 |
10.1 | Grundlagen von grafischen Benutzungsoberflächen | 181 |
10.2 | Einfache Benutzungsoberfläche | 183 |
10.3 | Beispiel für einfache Grafikbefehle | 193 |
11 | Andere Programmierstile | 207 |
11.1 | Übersicht | 207 |
11.2 | Imperative Programmierung | 208 |
11.3 | Funktionale Programmierung | 208 |
11.4 | Logische Programmierung | 209 |
|
| Algorithmen und Datenstrukturen | 211 |
|
12 | Asymptotische Aufwandsanalyse | 213 |
12.1 | Zeitaufwand | 213 |
12.2 | Speicheraufwand | 217 |
|
13 | Sortieren | 219 |
13.1 | Sortieren durch Minimumsuche | 219 |
13.2 | Sortieren durch Mischen (1) | 221 |
13.3 | Exkurs: Vollständige Induktion | 225 |
13.4 | Sortieren durch Mischen (2) | 229 |
13.5 | Einige Bemerkungen zum Sortierproblem | 230 |
|
14 | Mengen | 233 |
14.1 | Operationen auf Mengen | 233 |
14.2 | Mengenverwaltung mit unsortiertem Array | 234 |
14.3 | Mengenverwaltung mit sortiertem Array | 237 |
14.4 | Mengenverwaltung mit ausgeglichenem binären Suchbaum | 244 |
14.5 | Mengenverwaltung mit Hashing | 251 |
|
| Vom Programm zum Rechner | 255 |
|
15 | Hardware und Programmierung | 257 |
16 | Rechnerarchitektur und Maschinensprache | 259 |
16.1 | Rechnerarchitektur | 259 |
16.2 | Hauptspeicher | 261 |
16.3 | Prozessor, Befehlssatz und Maschinensprache | 262 |
|
17 | Schaltungen | 267 |
17.1 | Zweiwertige Informationsdarstellung | 267 |
17.2 | Boolesche Funktionen | 270 |
17.3 | Schaltungen | 274 |
|
18 | Formale Sprachen und Compiler | 283 |
18.1 | Compiler | 283 |
18.2 | Formale Sprachen und Grammatiken | 284 |
18.3 | Sprachtypen nach Chomsky | 289 |
18.4 | Übersetzung | 292 |
18.5 | Automaten | 297 |
18.6 | Endlicher Automat | 298 |
18.7 | Semantik | 302 |
|
| Anhang | 305 |
|
A | Schlüsselwörter im Sprachumfang von Java | 309 |
|
B | Grundlagen der Java-Programmierumgebung | 313 |
B.1 | Installation der Java-Programmierumgebung | 313 |
B.2 | Aufrufsyntax der Java-Entwicklungsprogramme | 318 |
B.3 | Integrierte Java-Programmierumgebungen | 320 |
|
C | Programmieren in C++ | 327 |
C.1 | Vergleich zwischen Java und C++ | 327 |
C.2 | Grundkonzepte | 331 |
C.3 | Zeiger und Referenzen | 338 |
C.4 | Klassen und Objekte | 343 |
C.5 | Übersetzungsprozess von C++-Programmen | 349 |
|
C | Literaturverzeichnis | 353 |
|
| Stichwortverzeichnis | 355 |