Das Java-Praktikum - Aufgaben und Lösungen zum Programmierenlernen

von: Reinhard Schiedermeier, Klaus Köhler

dpunkt, 2012

ISBN: 9783864910562 , 472 Seiten

2. Auflage

Format: PDF, OL

Kopierschutz: Wasserzeichen

Windows PC,Mac OSX geeignet für alle DRM-fähigen eReader Apple iPad, Android Tablet PC's Online-Lesen für: Windows PC,Mac OSX,Linux

Preis: 34,90 EUR

Mehr zum Inhalt

Das Java-Praktikum - Aufgaben und Lösungen zum Programmierenlernen


 

Vorwort

5

Inhaltsverzeichnis

13

I Arithmetik, Variablen, Wertzuweisungen

19

1 Dreiecksfläche

20

2 Datumsarithmetik

23

2.1 Wochentag

23

2.2 Osterdatum

24

3 Dutzend, Schock, Gros

26

II Kontrollstrukturen

29

4 Median

30

5 Mäxchen

33

6 Flaggen

35

7 Rechtecke

39

8 S-Bahn in Byteburg

44

9 Newton-Verfahren

49

9.1 Approximation der Quadratwurzel

49

9.2 Kubikwurzel

50

10 Zahlenbasis

52

11 Messwerte

56

12 Reihen

60

12.1 Exponentialfunktion

60

12.2 Hyperbolischer Sinus

62

12.3 Umkehrfunktion des hyperbolischen Sinus

63

13 Potenzieren

64

III Algorithmen

67

14 Kompression

68

15 Perfekte und andere Zahlen

73

15.1 Perfekte Zahlen

73

15.2 Befreundete Zahlen

77

15.3 Quersumme

79

15.4 Lychrel-Zahlen

80

15.5 Fröhliche Zahlen

84

16 Binomialkoeffizienten

87

16.1 Iterative Berechnung

88

16.2 Rekursive Berechnung

89

16.3 Pascal'sches Dreieck

90

16.4 Optimierte Berechnung des Pascal'schen Dreiecks

93

17 Teppiche

95

18 Primzahlen

99

18.1 Exakter Primzahltest

99

18.2 Probabilistischer Primzahltest

101

18.3 Primzahlen-Iterator

103

18.4 Goldbach-Vermutung

105

18.5 Generator zu einer Primzahl

106

18.6 Zufallszahlengenerator

108

19 Permutationen

111

19.1 Permutationsvektoren

111

19.2 Permutationsmatrizen

112

19.3 Sudoku

114

20 Kommentar-Zapper

119

20.1 Blockkommentare

119

20.2 Zeilenkommentare

124

21 Mustervergleich

130

21.1 Jokerzeichen

130

21.2 Super-Joker

131

IV Klassen

133

22 Punkte und Dreiecke

134

22.1 Punkte

134

22.2 Dreiecke

137

23 Intervalle

143

24 Uhrzeit

149

25 Große Ganzzahlen

154

26 Polynom

159

26.1 Polynomklasse

159

26.2 Division von Polynomen

164

27 Boolean-Arrays

167

27.1 Direkte Umsetzung

168

27.2 Logische Operatoren

177

28 Josephusring

183

29 E-Camel

188

29.1 Kamele und Karawanen

188

29.2 Robuste Implementierung

192

V Interfaces und Vererbung

197

30 Mobiles

198

30.1 Sterne und Stäbchen

198

30.2 Glitzersterne

203

31 Kobolde

206

31.1 Zahlen-Kobolde

206

31.2 Zähe Kobolde

208

31.3 Kobold-Verhalten

210

31.4 Ehrliche Kobolde

214

32 Widerstandsnetzwerke

217

32.1 Konstante Widerstände

217

32.2 Potenziometer

223

33 Stoppuhren

227

33.1 Basisklasse

227

33.2 Zurücksetzen

229

33.3 Pauseknopf

231

34 Spielkarten

234

35 Zahlenfolgen

243

35.1 Konkrete Folgen

243

35.2 Filter

246

36 Chiffren

252

36.1 Substitutionschiffren

253

36.2 Xor-Substitution

254

36.3 Additive Substitution

256

36.4 Stromchiffren

256

36.5 Diffie-Hellman

258

37 Bäume

263

38 Physikalische Größen

270

38.1 Längen

270

38.2 Allgemeine Größen

273

38.3 Zusammengesetzte Einheiten

276

VI Containerklassen

281

39 Buchstabensammlungen

282

39.1 Sammlung beliebiger Buchstaben

282

39.2 Sammlung ohne Duplikate

289

39.3 Sammlung als Collection

291

40 Vorlesungsverzeichnis

297

41 Römische Zahlen

300

41.1 Klasse für römische Zahlen

300

41.2 Stringdarstellung

303

41.3 Vergleich

305

41.4 Einsatz eines Aufzählungstyps

308

42 Zählerlisten

314

VII I/O, Netzwerke, Nebenläufigkeit

323

43 Textdateien

324

43.1 Textzeilen-Iterator

324

43.2 Zeilentransformator

328

43.3 Textdatei-Trenner

330

44 I/O-Filter

333

44.1 Textposition

333

44.2 Zeichen umdrehen

337

45 Filesystemsuche

340

45.1 Rekursiver Directory-Durchlauf

340

45.2 Directory-Tiefe

343

45.3 Dubletten

343

45.4 Umfang von Verzeichnissen

345

46 Bitstreams

347

46.1 Einfache Bitstreams

347

46.2 Beliebig lange Bitstreams

352

47 Tittle-Tattle

356

48 Watchdog

361

49 Verkehrsüberwachung

366

50 Nameservice

373

50.1 Nameserver

373

50.2 Persistenter Server

377

50.3 Nameclient

378

51 Vorlesungen

381

51.1 Mathe-Vorlesung

382

51.2 Observer mit mehreren Threads

386

51.3 Wait & Notify

392

VIII Generics

395

52 Objektpaare

396

52.1 Generische Klasse

396

52.2 Vergleich von Paaren

398

53 Generische Methoden

400

53.1 No Null

400

53.2 Median

401

53.3 Klon-Armee

403

54 Relationen

405

54.1 Aufgezählte Relation

405

54.2 Reflexivität, Symmetrie und Transitivität

408

54.3 Verkettete Relation

409

55 Ring-Queue

412

56 Listen und Warteschlangen

417

56.1 Geordnete Listen

417

56.2 Geordnete Warteschlangen

420

56.3 Iteratoren

422

57 Algebraische Strukturen

425

57.1 Gruppe, Ring und Körper

426

57.2 Der Körper Z2

427

57.3 Aufzählungstyp

430

57.4 Der Körper Zp

431

57.5 Polynomringe

434

IX Anhang

437

A Glossar

438

B Schwerpunkte der Aufgaben

448

C Konventionen

452

D Programmfragmente

459

Literaturverzeichnis

466