Aufgaben und Lösungen zum Programmierenlernen
E-Book, Deutsch, 472 Seiten
ISBN: 978-3-86491-056-2
Verlag: dpunkt
Format: PDF
Kopierschutz: Wasserzeichen (»Systemvoraussetzungen)
Autoren/Hrsg.
Weitere Infos & Material
1;Vorwort ;5
2;Inhaltsverzeichnis;13
3;I Arithmetik, Variablen, Wertzuweisungen;19
3.1;1 Dreiecksfläche ;20
3.2;2 Datumsarithmetik ;23
3.2.1;2.1 Wochentag ;23
3.2.2;2.2 Osterdatum ;24
3.3;3 Dutzend, Schock, Gros ;26
4;II Kontrollstrukturen;29
4.1;4 Median ;30
4.2;5 Mäxchen ;33
4.3;6 Flaggen ;35
4.4;7 Rechtecke ;39
4.5;8 S-Bahn in Byteburg ;44
4.6;9 Newton-Verfahren ;49
4.6.1;9.1 Approximation der Quadratwurzel ;49
4.6.2;9.2 Kubikwurzel ;50
4.7;10 Zahlenbasis ;52
4.8;11 Messwerte ;56
4.9;12 Reihen ;60
4.9.1;12.1 Exponentialfunktion ;60
4.9.2;12.2 Hyperbolischer Sinus ;62
4.9.3;12.3 Umkehrfunktion des hyperbolischen Sinus ;63
4.10;13 Potenzieren ;64
5;III Algorithmen;67
5.1;14 Kompression ;68
5.2;15 Perfekte und andere Zahlen ;73
5.2.1;15.1 Perfekte Zahlen ;73
5.2.2;15.2 Befreundete Zahlen ;77
5.2.3;15.3 Quersumme ;79
5.2.4;15.4 Lychrel-Zahlen ;80
5.2.5;15.5 Fröhliche Zahlen ;84
5.3;16 Binomialkoeffizienten ;87
5.3.1;16.1 Iterative Berechnung ;88
5.3.2;16.2 Rekursive Berechnung ;89
5.3.3;16.3 Pascal'sches Dreieck ;90
5.3.4;16.4 Optimierte Berechnung des Pascal'schen Dreiecks ;93
5.4;17 Teppiche ;95
5.5;18 Primzahlen ;99
5.5.1;18.1 Exakter Primzahltest ;99
5.5.2;18.2 Probabilistischer Primzahltest ;101
5.5.3;18.3 Primzahlen-Iterator ;103
5.5.4;18.4 Goldbach-Vermutung ;105
5.5.5;18.5 Generator zu einer Primzahl ;106
5.5.6;18.6 Zufallszahlengenerator ;108
5.6;19 Permutationen ;111
5.6.1;19.1 Permutationsvektoren ;111
5.6.2;19.2 Permutationsmatrizen ;112
5.6.3;19.3 Sudoku ;114
5.7;20 Kommentar-Zapper ;119
5.7.1;20.1 Blockkommentare ;119
5.7.2;20.2 Zeilenkommentare ;124
5.8;21 Mustervergleich ;130
5.8.1;21.1 Jokerzeichen ;130
5.8.2;21.2 Super-Joker ;131
6;IV Klassen;133
6.1;22 Punkte und Dreiecke ;134
6.1.1;22.1 Punkte ;134
6.1.2;22.2 Dreiecke ;137
6.2;23 Intervalle ;143
6.3;24 Uhrzeit ;149
6.4;25 Große Ganzzahlen ;154
6.5;26 Polynom ;159
6.5.1;26.1 Polynomklasse ;159
6.5.2;26.2 Division von Polynomen ;164
6.6;27 Boolean-Arrays ;167
6.6.1;27.1 Direkte Umsetzung ;168
6.6.2;27.2 Logische Operatoren ;177
6.7;28 Josephusring ;183
6.8;29 E-Camel ;188
6.8.1;29.1 Kamele und Karawanen ;188
6.8.2;29.2 Robuste Implementierung ;192
7;V Interfaces und Vererbung;197
7.1;30 Mobiles ;198
7.1.1;30.1 Sterne und Stäbchen ;198
7.1.2;30.2 Glitzersterne ;203
7.2;31 Kobolde ;206
7.2.1;31.1 Zahlen-Kobolde ;206
7.2.2;31.2 Zähe Kobolde ;208
7.2.3;31.3 Kobold-Verhalten ;210
7.2.4;31.4 Ehrliche Kobolde ;214
7.3;32 Widerstandsnetzwerke ;217
7.3.1;32.1 Konstante Widerstände ;217
7.3.2;32.2 Potenziometer ;223
7.4;33 Stoppuhren ;227
7.4.1;33.1 Basisklasse ;227
7.4.2;33.2 Zurücksetzen ;229
7.4.3;33.3 Pauseknopf ;231
7.5;34 Spielkarten ;234
7.6;35 Zahlenfolgen ;243
7.6.1;35.1 Konkrete Folgen ;243
7.6.2;35.2 Filter ;246
7.7;36 Chiffren ;252
7.7.1;36.1 Substitutionschiffren ;253
7.7.2;36.2 Xor-Substitution ;254
7.7.3;36.3 Additive Substitution ;256
7.7.4;36.4 Stromchiffren ;256
7.7.5;36.5 Diffie-Hellman ;258
7.8;37 Bäume ;263
7.9;38 Physikalische Größen ;270
7.9.1;38.1 Längen ;270
7.9.2;38.2 Allgemeine Größen ;273
7.9.3;38.3 Zusammengesetzte Einheiten ;276
8;VI Containerklassen;281
8.1;39 Buchstabensammlungen ;282
8.1.1;39.1 Sammlung beliebiger Buchstaben ;282
8.1.2;39.2 Sammlung ohne Duplikate ;289
8.1.3;39.3 Sammlung als Collection ;291
8.2;40 Vorlesungsverzeichnis ;297
8.3;41 Römische Zahlen ;300
8.3.1;41.1 Klasse für römische Zahlen ;300
8.3.2;41.2 Stringdarstellung ;303
8.3.3;41.3 Vergleich ;305
8.3.4;41.4 Einsatz eines Aufzählungstyps ;308
8.4;42 Zählerlisten ;314
9;VII I/O, Netzwerke, Nebenläufigkeit;323
9.1;43 Textdateien ;324
9.1.1;43.1 Textzeilen-Iterator ;324
9.1.2;43.2 Zeilentransformator ;328
9.1.3;43.3 Textdatei-Trenner ;330
9.2;44 I/O-Filter ;333
9.2.1;44.1 Textposition ;333
9.2.2;44.2 Zeichen umdrehen ;337
9.3;45 Filesystemsuche ;340
9.3.1;45.1 Rekursiver Directory-Durchlauf ;340
9.3.2;45.2 Directory-Tiefe ;343
9.3.3;45.3 Dubletten ;343
9.3.4;45.4 Umfang von Verzeichnissen ;345
9.4;46 Bitstreams ;347
9.4.1;46.1 Einfache Bitstreams ;347
9.4.2;46.2 Beliebig lange Bitstreams ;352
9.5;47 Tittle-Tattle ;356
9.6;48 Watchdog ;361
9.7;49 Verkehrsüberwachung ;366
9.8;50 Nameservice ;373
9.8.1;50.1 Nameserver ;373
9.8.2;50.2 Persistenter Server ;377
9.8.3;50.3 Nameclient ;378
9.9;51 Vorlesungen ;381
9.9.1;51.1 Mathe-Vorlesung ;382
9.9.2;51.2 Observer mit mehreren Threads ;386
9.9.3;51.3 Wait & Notify ;392
10;VIII Generics;395
10.1;52 Objektpaare ;396
10.1.1;52.1 Generische Klasse ;396
10.1.2;52.2 Vergleich von Paaren ;398
10.2;53 Generische Methoden ;400
10.2.1;53.1 No Null ;400
10.2.2;53.2 Median ;401
10.2.3;53.3 Klon-Armee ;403
10.3;54 Relationen ;405
10.3.1;54.1 Aufgezählte Relation ;405
10.3.2;54.2 Reflexivität, Symmetrie und Transitivität ;408
10.3.3;54.3 Verkettete Relation ;409
10.4;55 Ring-Queue ;412
10.5;56 Listen und Warteschlangen ;417
10.5.1;56.1 Geordnete Listen ;417
10.5.2;56.2 Geordnete Warteschlangen ;420
10.5.3;56.3 Iteratoren ;422
10.6;57 Algebraische Strukturen ;425
10.6.1;57.1 Gruppe, Ring und Körper ;426
10.6.2;57.2 Der Körper Z2;427
10.6.3;57.3 Aufzählungstyp ;430
10.6.4;57.4 Der Körper Zp;431
10.6.5;57.5 Polynomringe ;434
11;IX Anhang;437
11.1;A Glossar ;438
11.2;B Schwerpunkte der Aufgaben ;448
11.3;C Konventionen ;452
11.4;D Programmfragmente ;459
11.5;Literaturverzeichnis;466