Luigi Lo Iacono, Stephan Wiefling, Michael Schneider
Programmieren trainieren
Mit über 100 Workouts fit in Java und Python
Inhalt
7
Vorwort
19
Danksagung
21
1 Einleitung
23
1.1 Wozu sollte ich programmieren lernen?
23
1.2 Wie kann mir dieses Buch dabei helfen?
24
1.3 Was muss ich mitbringen?
24
1.4 Wie geht das vonstatten?
25
1.5 Was muss ich sonst noch wissen?
27
2 Einführung in die Programmierung
29
2.1 Warmup
29
2.2 Workout
33
W.2.1 Three-Two-One – Mein erstes Programm
33
W.2.2 Weihnachtsbaum
35
W.2.3 Perlenkette
37
W.2.4 Die erste Zeichnung
38
W.2.5 Raupe Allzeitappetit
40
W.2.6 Klötzchen-Kunst
41
W.2.7 Nachteule
42
W.2.8 Ghettoblaster
43
W.2.9 Hallo Bello!
45
3 Variablen, Datentypen, Operatoren und Ausdrücke
47
3.1 Warmup
47
3.2 Workout
50
W.3.1 Einfache Rechenaufgaben
50
W.3.2 Perlenkette 2.0
51
W.3.3 Blutalkoholkonzentration
52
W.3.4 Stoffwechselrate
54
W.3.5 Baumstammvolumen
56
W.3.6 Körperoberfläche
57
W.3.7 RGB nach CMYK
58
W.3.8 Tic-Tac-Toe-Spielfeld
60
4 Kontrollstrukturen
61
4.1 Warmup
61
4.2 Workout
65
W.4.1 Maximum bestimmen
65
W.4.2 Summe berechnen
66
W.4.3 Tippspiel
67
W.4.4 PIN-Code-Generator
68
W.4.5 Dominosteine
69
W.4.6 Radialer Farbverlauf
70
W.4.7 Ladevorgang-Rädchen
71
W.4.8 Windrad
73
W.4.9 Rotierte Dreiecke
74
W.4.10 Moderne Kunst
75
W.4.11 Schachbrett
77
W.4.12 Sinuskurve
78
W.4.13 Zahlen-Palindrom
79
W.4.14 Interaktiver Button
80
5 Funktionen
83
5.1 Warmup
83
5.2 Workout
85
W.5.1 Endliches Produkt
85
W.5.2 Fakultät
86
W.5.3 Konfektionsgröße
87
W.5.4 Schaltjahr Prüfung
88
W.5.5 Literzahlen umwandeln
89
W.5.6 LKW-Maut
90
W.5.7 Analoger Uhrzeiger
91
W.5.8 Körperoberfläche 2.0
92
W.5.9 Sportwetten
93
W.5.10 GPS-Luftlinie
95
W.5.11 IBAN-Generator
97
W.5.12 Sanduhr
99
W.5.13 Der faire Würfel
100
W.5.14 Quadrat mit Kreisausschnitten
101
W.5.15 Wurfparabel
103
W.5.16 Bogenschießen-Spiel
105
6 Arrays
107
6.1 Warmup
107
6.2 Workout
110
W.6.1 Wochentag
110
W.6.2 Tankfüllung
112
W.6.3 Rückwärtsausgabe
113
W.6.4 Bildvergrößerung
114
W.6.5 Partnervermittlung
115
W.6.6 Sitzplatzreservierung
116
W.6.7 Platztausch
117
W.6.8 Bestimmung minimale Distanz
118
W.6.9 Morsecode
119
W.6.10 Endlose Animation
120
W.6.11 Spiegeln
121
W.6.12 Reflexion
122
W.6.13 Greenscreen
124
W.6.14 Bild umdrehen und invertieren
125
W.6.15 Bild mit Schatten
126
W.6.16 Bild rotieren
127
W.6.17 Bildverkleinerung
128
W.6.18 Minimale Punktdistanz
129
W.6.19 Glatte Kurven
131
W.6.20 Bildausschnitt
133
W.6.21 Bild mit Rahmen
134
W.6.22 Memory-Spielfeldgenerator
135
W.6.23 Sudoku-Check
137
W.6.24 Medianfilter
138
7 Strings und Stringverarbeitung
141
7.1 Warmup
141
7.2 Workout
143
W.7.1 String-Kompression
143
W.7.2 Split-Funktion
144
W.7.3 Geldschein-Blütencheck
145
W.7.4 Starkes Passwort
147
W.7.5 E-Mail-Check
148
W.7.6 Prüfen auf eine korrekte Klammerung
149
W.7.7 Sternchenmuster
150
W.7.8 URL-Encoding
151
W.7.9 Telefonbuch bearbeiten
152
W.7.10 Webserver-Antwort verarbeiten
154
W.7.11 IMDB-Einträge verarbeiten
156
W.7.12 Geheimsprache
157
W.7.13 Ähnlich klingende Wörter
158
W.7.14 Textrahmen
160
W.7.15 JSON-Array
161
W.7.16 Barcode-Generator
162
8 Objektorientierung
165
8.1 Warmup
165
8.2 Workout
168
W.8.1 Schrittzähler
168
W.8.2 Body-Mass-Index
170
W.8.3 Songtextsuche
172
W.8.4 Passwortklasse
173
W.8.5 Kopffitness
175
W.8.6 Fernbedienung
177
W.8.7 Stoppuhr
178
W.8.8 Druckerwarteschlange
179
W.8.9 Tic Tac Toe
181
W.8.10 Zwischenablage
183
W.8.11 Temperaturgraph
185
W.8.12 Ambient Light
187
W.8.13 Verschlüsselung
191
W.8.14 Mastermind
193
9 Referenzdatentypen
195
9.1 Warmup
195
9.2 Workout
197
W.9.1 Kreis-Klasse
197
W.9.2 Mathematischer Bruch
198
W.9.3 Highscore-Liste
199
W.9.4 Adressbuch
201
W.9.5 Digitaler Bilderrahmen
203
W.9.6 Musikalbenanwendung
205
W.9.7 Koch-Website
207
W.9.8 Hotelzimmerverwaltung
209
W.9.9 Flughafen-Check-in
211
W.9.10 Polygonzug
213
W.9.11 Twitterwall
215
W.9.12 Fototagebuch
217
W.9.13 Partygäste
219
10 Vererbung
221
10.1 Warmup
221
10.2 Workout
223
W.10.1 Online-Shop
223
W.10.2 Gewässer
225
W.10.3 To-do-Liste
226
W.10.4 Lampen
228
W.10.5 Meeting-Protokoll
230
W.10.6 E-Book
232
W.10.7 Zoo
234
W.10.8 Audioeffekt-Player
235
W.10.9 Fahrtenbuch
236
A Lösungen in Java
237
A.1 Download und Verwendung der elektronischen Lösungen
237
A.1.1 Download von GitHub
237
A.1.2 Öffnen der Programme
238
A.1.3 Tipp: Debugger
239
A.2 Einführung in die Programmierung
241
A.2.1 Three-Two-One – Mein erstes Programm
241
A.2.2 Weihnachtsbaum
241
A.2.3 Perlenkette
241
A.2.4 Die erste Zeichnung
242
A.2.5 Raupe Allzeitappetit
242
A.2.6 Klötzchen-Kunst
243
A.2.7 Nachteule
244
A.2.8 Ghettoblaster
245
A.2.9 Hallo Bello!
246
A.3 Variablen, Datentypen, Operatoren und Ausdrücke
248
A.3.1 Einfache Rechenaufgaben
248
A.3.2 Perlenkette 2.0
249
A.3.3 Blutalkoholkonzentration
249
A.3.4 Stoffwechselrate
250
A.3.5 Baumstammvolumen
250
A.3.6 Körperoberfläche
250
A.3.7 RGB nach CMYK
251
A.3.8 Tic-Tac-Toe-Spielfeld
251
A.4 Kontrollstrukturen
252
A.4.1 Maximum bestimmen
252
A.4.2 Summe berechnen
252
A.4.3 Tippspiel
253
A.4.4 PIN-Code-Generator
253
A.4.5 Dominosteine
254
A.4.6 Radialer Farbverlauf
254
A.4.7 Ladevorgang-Rädchen
255
A.4.8 Windrad
255
A.4.9 Rotierte Dreiecke
255
A.4.10 Moderne Kunst
256
A.4.11 Schachbrett
257
A.4.12 Sinuskurve
257
A.4.13 Zahlen-Palindrom
258
A.4.14 Interaktiver Button
259
A.5 Funktionen
261
A.5.1 Endliches Produkt
261
A.5.2 Fakultät
261
A.5.3 Konfektionsgröße
262
A.5.4 Schaltjahr Prüfung
263
A.5.5 Literzahlen umwandeln
264
A.5.6 LKW-Maut
264
A.5.7 Analoger Uhrzeiger
266
A.5.8 Körperoberfläche 2.0
267
A.5.9 Sportwetten
267
A.5.10 GPS-Luftlinie
268
A.5.11 IBAN-Generator
269
A.5.12 Sanduhr
271
A.5.13 Der faire Würfel
272
A.5.14 Quadrat mit Kreisausschnitten
273
A.5.15 Wurfparabel
274
A.5.16 Bogenschießen-Spiel
275
A.6 Arrays
280
A.6.1 Wochentag
280
A.6.2 Tankfüllung
281
A.6.3 Rückwärtsausgabe
282
A.6.4 Bildvergrößerung
283
A.6.5 Partnervermittlung
284
A.6.6 Sitzplatzreservierung
285
A.6.7 Platztausch
287
A.6.8 Bestimmung minimale Distanz
287
A.6.9 Morsecode
288
A.6.10 Endlose Animation
290
A.6.11 Spiegeln
291
A.6.12 Reflexion
292
A.6.13 Greenscreen
294
A.6.14 Bild umdrehen und invertieren
295
A.6.15 Bild mit Schatten
296
A.6.16 Bild rotieren
298
A.6.17 Bildverkleinerung
299
A.6.18 Minimale Punktdistanz
301
A.6.19 Glatte Kurven
302
A.6.20 Bildausschnitt
303
A.6.21 Bild mit Rahmen
305
A.6.22 Memory-Spielfeldgenerator
306
A.6.23 Sudoku-Check
308
A.6.24 Medianfilter
311
A.7 Strings und Stringverarbeitung
313
A.7.1 String-Kompression
313
A.7.2 Split-Funktion
314
A.7.3 Geldschein-Blütencheck
315
A.7.4 Starkes Passwort
318
A.7.5 E-Mail-Check
319
A.7.6 Prüfen auf eine korrekten Klammerung
320
A.7.7 Sternchenmuster
321
A.7.8 URL-Encoding
323
A.7.9 Telefonbuch bearbeiten
324
A.7.10 Webserver-Antwort verarbeiten
326
A.7.11 IMDB-Einträge verarbeiten
328
A.7.12 Geheimsprache
329
A.7.13 Ähnlich klingende Wörter
330
A.7.14 Textrahmen
331
A.7.15 JSON-Array
332
A.7.16 Barcode-Generator
333
A.8 Objektorientierung
338
A.8.1 Schrittzähler
338
A.8.2 Body-Mass-Index
339
A.8.3 Songtextsuche
340
A.8.4 Passwortklasse
340
A.8.5 Kopffitness
343
A.8.6 Fernbedienung
344
A.8.7 Stoppuhr
345
A.8.8 Druckerwarteschlange
347
A.8.9 Tic Tac Toe
348
A.8.10 Zwischenablage
351
A.8.11 Temperaturgraph
352
A.8.12 Ambient Light
355
A.8.13 Verschlüsselung
357
A.8.14 Mastermind
360
A.9 Referenzdatentypen
363
A.9.1 Kreis-Klasse
363
A.9.2 Mathematischer Bruch
364
A.9.3 Highscore-Liste
365
A.9.4 Adressbuch
367
A.9.5 Digitaler Bilderrahmen
371
A.9.6 Musikalbenanwendung
373
A.9.7 Koch-Website
375
A.9.8 Hotelzimmerverwaltung
378
A.9.9 Flughafen-Check-in
380
A.9.10 Polygonzug
383
A.9.11 Twitterwall
385
A.9.12 Fototagebuch
386
A.9.13 Partygäste
389
A.10 Vererbung
392
A.10.1 Online-Shop
392
A.10.2 Gewässer
395
A.10.3 To-do-Liste
398
A.10.4 Lampen
402
A.10.5 Meeting-Protokoll
403
A.10.6 E-Book
406
A.10.7 Zoo
411
A.10.8 Audioeffekt-Player
413
A.10.9 Fahrtenbuch
416
B Lösungen in Python
419
B.1 Download und Verwendung der elektronischen Lösungen
419
B.1.1 Download von GitHub
419
B.1.2 Öffnen der Programme
419
B.2 Einführung in die Programmierung
421
B.2.1 Three-Two-One – Mein erstes Programm
421
B.2.2 Weihnachtsbaum
421
B.2.3 Perlenkette
421
B.2.4 Die erste Zeichnung
422
B.2.5 Raupe Allzeitappetit
422
B.2.6 Klötzchenkunst
423
B.2.7 Nachteule
424
B.2.8 Ghettoblaster
425
B.2.9 Hallo Bello!
426
B.3 Variablen, Datentypen, Operatoren und Ausdrücke
428
B.3.1 Einfache Rechenaufgaben
428
B.3.2 Perlenkette 2.0
429
B.3.3 Blutalkoholkonzentration
429
B.3.4 Stoffwechselrate
430
B.3.5 Baumstammvolumen
430
B.3.6 Körperoberfläche
430
B.3.7 RGB nach CMYK
431
B.3.8 Tic-Tac-Toe-Spielfeld
431
B.4 Kontrollstrukturen
432
B.4.1 Maximum bestimmen
432
B.4.2 Summe berechnen
432
B.4.3 Tippspiel
432
B.4.4 PIN-Code-Generator
433
B.4.5 Dominosteine
433
B.4.6 Radialer Farbverlauf
434
B.4.7 Ladevorgang-Rädchen
434
B.4.8 Windrad
435
B.4.9 Rotierte Dreiecke
435
B.4.10 Moderne Kunst
436
B.4.11 Schachbrett
436
B.4.12 Sinuskurve
437
B.4.13 Zahlen-Palindrom
438
B.4.14 Interaktiver Button
439
B.5 Funktionen
440
B.5.1 Endliches Produkt
440
B.5.2 Fakultät
440
B.5.3 Konfektionsgröße
441
B.5.4 Schaltjahr Prüfung
442
B.5.5 Literzahlen umwandeln
442
B.5.6 LKW-Maut
443
B.5.7 Analoger Uhrzeiger
444
B.5.8 Körperoberfläche 2.0
445
B.5.9 Sportwetten
445
B.5.10 GPS-Luftlinie
446
B.5.11 IBAN-Generator
447
B.5.12 Sanduhr
448
B.5.13 Der faire Würfel
449
B.5.14 Quadrat mit Kreisausschnitten
450
B.5.15 Wurfparabel
451
B.5.16 Bogenschießen-Spiel
452
B.6 Arrays
456
B.6.1 Wochentag
456
B.6.2 Tankfüllung
457
B.6.3 Rückwärtsausgabe
458
B.6.4 Bildvergrößerung
458
B.6.5 Partnervermittlung
460
B.6.6 Sitzplatzreservierung
461
B.6.7 Platztausch
462
B.6.8 Bestimmung minimale Distanz
463
B.6.9 Morsecode
464
B.6.10 Endlose Animation
465
B.6.11 Spiegeln
466
B.6.12 Reflexion
467
B.6.13 Greenscreen
468
B.6.14 Bild umdrehen und invertieren
469
B.6.15 Bild mit Schatten
470
B.6.16 Bild rotieren
472
B.6.17 Bildverkleinerung
473
B.6.18 Minimale Punktdistanz
475
B.6.19 Glatte Kurven
476
B.6.20 Bildausschnitt
477
B.6.21 Bild mit Rahmen
479
B.6.22 Memory-Spielfeldgenerator
480
B.6.23 Sudoku-Check
482
B.6.24 Medianfilter
484
B.7 Strings und Stringverarbeitung
486
B.7.1 String Kompression
486
B.7.2 Split-Funktion
487
B.7.3 Geldschein-Blütencheck
487
B.7.4 Starkes Passwort
489
B.7.5 E-Mail-Check
490
B.7.6 Prüfen auf eine korrekten Klammerung
491
B.7.7 Sternchenmuster
492
B.7.8 URL-Encoding
493
B.7.9 Telefonbuch bearbeiten
493
B.7.10 Webserver-Antwort verarbeiten
495
B.7.11 IMDB-Einträge verarbeiten
496
B.7.12 Geheimsprache
497
B.7.13 Ähnlich klingende Wörter
498
B.7.14 Textrahmen
499
B.7.15 JSON-Array
500
B.7.16 Barcode-Generator
501
B.8 Objektorientierung
504
B.8.1 Schrittzähler
504
B.8.2 Body-Mass-Index
504
B.8.3 Songtextsuche
505
B.8.4 Passwortklasse
506
B.8.5 Kopffitness
508
B.8.6 Fernbedienung
509
B.8.7 Stoppuhr
510
B.8.8 Druckerwarteschlange
511
B.8.9 Tic Tac Toe
512
B.8.10 Zwischenablage
514
B.8.11 Temperaturgraph
516
B.8.12 Ambient Light
518
B.8.13 Verschlüsselung
521
B.8.14 Mastermind
524
B.9 Referenzdatentypen
526
B.9.1 Kreis-Klasse
526
B.9.2 Mathematischer Bruch
527
B.9.3 Highscore-Liste
528
B.9.4 Adressbuch
529
B.9.5 Digitaler Bilderrahmen
532
B.9.6 Musikalbenanwendung
533
B.9.7 Koch-Website
535
B.9.8 Hotelzimmerverwaltung
537
B.9.9 Flughafen-Check-in
539
B.9.10 Polygonzug
541
B.9.11 Twitterwall
542
B.9.12 Fototagebuch
544
B.9.13 Partygäste
546
B.10 Vererbung
549
B.10.1 Online-Shop
549
B.10.2 Gewässer
551
B.10.3 To-do-Liste
554
B.10.4 Lampen
556
B.10.5 Meeting-Protokoll
558
B.10.6 E-Book
560
B.10.7 Zoo
563
B.10.8 Audioeffekt-Player
565
B.10.9 Fahrtenbuch
567
C Installation Processing
571
C.1 Einleitung
571
C.2 Windows
571
C.3 Mac OS X
572
C.4 Linux
573
C.5 Aktivierung des Python Mode
574
Leere Seite
2
© 2009-2024 ciando GmbH