)
Die Aufgaben haben sehr unterschiedlichen Charakter und unterschiedliche Schwierigkeitsgrade. Das Spektrum reicht von ganz einfachen Aufgaben, die nach dem aufmerksamen Studium des Kapitels unmittelbar gelöst werden können, bis zu anspruchsvollen Problemen, die nur im Team oder als Projektarbeit zu bewältigen sind. Zur besseren Abschätzung des Bearbeitungsaufwands wurden die Aufgaben in die Klassen A bis D eingeteilt:
Die Aufgaben lassen sich weiterhin in Verständnisfragen und Programmierprobleme unterteilen. Verständnisfragen testen das erworbene Wissen unmittelbar, indem sie Details aus dem Kapiteltext abfragen oder beschriebene Zusammenhänge hinterfragen. Programmieraufgaben erfordern die Entwicklung eines eigenständigen Programms, das als Applikation oder Applet ein vorgegebenes Problem löst. Die meisten der hier vorgestellten Aufgaben sind Programmierprobleme.
hinter
der Aufgabe angezeigt werden. Alle Lösungen befinden sich
in einer .java-Datei, die über einen Link geladen werden kann.
Auch rein textuelle Lösungen wurden aus Gründen der
Einheitlichkeit in einer .java-Datei abgelegt, sie können
natürlich nicht übersetzt werden. Zum Übersetzen
einer Musterlösung ist die Datei auf den eigenen PC zu kopieren,
mit einem 1.1-kompatiblen Java-Compiler zu übersetzen und
anschließend mit dem Java-Interpreter zu starten.
Soll beispielsweise die Musterlösung zu Aufgabe 01.16 ausprobiert werden, so sind folgende Schritte auszuführen:
Fast alle Beispiele wurden mit dem JDK 1.1.2 entwickelt und getestet, für manche wurde auch die Kommandozeilenversion des Java-Compilers von Visual Cafe 2.0 verwendet (er ist kompatibel zum JDK 1.1.3). Die Beispiele wurden unter Windows-95 entwickelt und der verwendete Zeichensatz entspricht dem Windows-95-Zeichensatz. Umlaute etc. müssen daher auf UNIX-Systemen unter Umständen angepaßt werden. Die Quelltexte können sowohl Leerzeichen als auch Tabulatoren zur Formatierung enthalten, die Tabulatorweite beträgt 2 Zeichen.
[ACM Press Anthology Series 87] ACM Press Anthology Series. ACM Turing Award Lectures, The first Twenty Years. ACM Press, New York, 1987. [Aho 88] Aho, A.V., Sethi, R. und J.D. Ullmann. Compilers: Principles, Techniques and Tools. Addison-Wesley, 1988. [Albert 83] Albert, J. und Th. Ottmann. Automaten, Sprachen und Maschinen für Anwender. Bibliographisches Institut, 1983. [Bach 86] Bach, M.J. The design of the UNIX operating system. Prentice-Hall, 1986. [Bamberg 91] Bamberg, G. und F. Baur. Statistik, 7. Auflage. Oldenbourg, 1991. [Bentley 86] Bentley, J. Programming Pearls. Addison-Wesley, 1986. [Bentley 88] Bentley, J. More Programming Pearls: Confessions of a coder. Addison-Wesley, 1988. [Berners-Lee 95] Berners-Lee, T. and D. Connolly. Hypertext Markup Language - 2.0. RFC 1866. [Bronstein 79] Bronstein, I.N. und K.A. Semendjajew. Taschenbuch der Mathematik, 21./22. Auflage. Harri Deutsch, Thun und Frankfurt (Main), 1979. [Brooks 75] Brooks, F.P., jr. The mythical man-month. Addison-Wesley, 1975. [Carroll 93] Carroll, L. Alice im Wunderland. DTV, München, 1993. [Deitel 90] Microsoft Corporation. MS-DOS Operating System: Programmers Reference Manual. . [Deitel 97] Deitel, H.M. and P.J.Deitel. JAVA - How To Program. Prentice Hall, 1997. [Dewdney 95] Dewdney, K.A. Der Turing Omnibus. Springer, Berlin, Heidelberg, New York, 1995. [Dörner 92] Dörner, D. Die Logik des Mißlingens. Rowohlt, 1992. [Ernst 94] Ernst, B. Der Zauberspiegel des M.C.Escher. Benedikt Taschen Verlag, Köln, 1994. [Flanagan 96] Flanagan, D. Java in a Nutshell. O'Reilly & Associates, Sebastopol, 1996. [Freund 76] Freund, H. und P. Sorger. Logik, Mengen, Relationen. B.G. Teubner, 1976. [Gardner 88] Gardner, M. Mathematische Hexereien. Ullstein, 1988. [Gosling 96a] Gosling, J. et. al. The Java Application Programming Interface, Volume 1 - Core Packages. Addison Wesley, Reading, Massachusetts, 1996. [Gosling 96b] Gosling, J. et. al. The Java Application Programming Interface, Volume 2 - Window Toolkit and Applets. Addison Wesley, Reading, Massachusetts, 1996. [Hannah 96] Hannah, M.J. HTML Reference Manual. 2 January 1996. URL: http://www.sandia.gov/sci_compute/html_ref.html (14.04.96). [Heyderhoff 89] Heyderhoff, P. (Hrsg.). Bundeswettbewerb Informatik - Aufgaben und Lösungen Band 1. Ernst Klett Schulbuchverlag, Stuttgart, 1989. [Heyderhoff 90a] Heyderhoff, P. (Hrsg.). Bundeswettbewerb Informatik - Aufgaben und Lösungen Band 2. Ernst Klett Schulbuchverlag, Stuttgart, 1990. [Heyderhoff 90b] Heyderhoff, P. (Hrsg.). Bundeswettbewerb Informatik - Aufgaben und Lösungen Band 3. Ernst Klett Schulbuchverlag, Stuttgart, 1990. [Heyderhoff 90c] Heyderhoff, P. (Hrsg.). Bundeswettbewerb Informatik - Aufgaben und Lösungen Band 4. Ernst Klett Schulbuchverlag, Stuttgart, 1990. [Heyderhoff 92] Heyderhoff, P. (Hrsg.). Bundeswettbewerb Informatik - Aufgaben und Lösungen Band 5. Ernst Klett Schulbuchverlag, Stuttgart, 1992. [Heyderhoff 93] Heyderhoff, P. (Hrsg.). Bundeswettbewerb Informatik - Aufgaben und Lösungen Band 6. Ernst Klett Schulbuchverlag, Stuttgart, 1993. [Hofstadter 85] Hofstadter, D.R. Gödel, Escher, Bach. Klett-Cotta, Stuttgart, 1985. [Horowitz 84] Horowitz, E. Fundamentals Of Programming Languages, Second Edition. Computer Science Press, 1984. [Horstman 97] Horstman, C.S. and G. Cornell. Core JAVA Second Edition. SunSoft Press, A Prentice Hall Title, 1997. [JavaSoft 96] JavaSoft, Inc. The Java Language & API. 1996. URL: http://java.sun.com:80/language.html (29.07.96). [Kernighan 78] Kernighan, B.W. and D.M. Ritchie. The C Programming Language. Prentice Hall, 1978. [Kirckhoff 88] Kirckhoff, M. Mind Mapping. Synchron, Berlin, 1988. [Knuth 73a] Knuth, D.E. The Art of Computer Programming, Vol. 1, Fundamental Algorithms. Addison-Wesley, Reading, Massachusetts, 1973. [Knuth 73b] Knuth, D.E. The Art of Computer Programming, Vol. 3, Sorting and Searching. Addison-Wesley, Reading, Massachusetts, 1973. [Knuth 81] Knuth, D.E. The Art of Computer Programming, Vol. 2, Seminumerical Algorithms. Addison-Wesley, Reading, Massachusetts, 1981. [Krüger 87] Krüger, G. Complexe Rechenhilfe - Simulation eines Taschenrechners für komplexe Zahlen. c't Magazin für Computertechnik 1987, 6, 144-149. [Krüger 88] Krüger, G. Gelernt ist gelernt - Ein Tic-Tac-Toe-Spiel in Modula-2. MC Die Mikrocomputer-Zeitschrift 1988, 11, 112-114. [Krüger 95] Krüger, G. Programmieren in C, 2. Auflage. Addison-Wesley, Bonn, 1995. [Lammers 87] Lammers, S. Faszination Programmieren. Markt und Technik, Haar bei München, 1987. [Lanzerath 90] Lanzerath, E. Verfahren der Kompression digitaler Daten. Praxis der Informationsverarbeitung und Kommunikation 1990, 2, 83-90. [Lektorat des B.I. Wissenschaftsverlags 93] Lektorat des B.I. Wissenschaftsverlags. Duden Informatik. Dudenverlag, Mannheim, 1993. [Lemay 96] Lemay, L. and C. L. Perkins. Teach yourself JAVA in 21 days. Sams.net publishing, 1996. [Maguire 95] Maguire, S. Nie wieder Bugs: Die Kunst der fehlerfreien C-Programmierung. Microsoft Press, 1995. [Mandelbrot 91] Mandelbrot, B.B. Die fraktale Geometrie der Natur. Birkhäuser, 1991. [Meyer 88] Meyer, B. Object-oriented Software Construction. Prentice-Hall, 1988. [Meyers Lexikonredaktion (Hrsg.) 92] Meyers Lexikonredaktion (Hrsg.). Meyers grosses Taschenlexikon in 24 Bänden, Gesamtwerk, 4. Auflage. B.I. Taschenbuchverlag, Mannheim Leipzig Wien Zürich, 1992. [Milenkovic 92] Milenkovic, M. Operating Systems: Concepts and Design. McGraw Hill, 1992. [Miller 87] Miller, N.E. File Structures Using Pascal. The Benjamin/Cummings Publishing Company, 1987. [Peters 74] Peters, F.E. Einführung in mathematische Methoden der Informatik. Bibliographisches Institut, Zürich, 1974. [Pirsig 94] Pirsig, R.M. Zen und die Kunst ein Motorrad zu warten. Fischer, 1994. [Polya 88] Polya, G. How to solve it, Second Edition. Princeton University Press, Princeton, New Jersey, 1988. [Randow 94] Randow, G. von. Das Ziegenproblem, Denken in Wahrscheinlichkeiten. Rowohlt Taschenbuch Verlag, Reinbek, 1994. [Roberts 95] Roberts, E.S. The Art and Science of C. Addison-Wesley, 1995. [Salmon 92] Salmon, W.I. Structures and Abstractions. Richard D. Irwin Inc., 1992. [Scherr 86] Scherr, G.H. Journal der unwiederholbaren Experimente. Krüger, Frankfurt, 1986. [Scheurer 94] Scheurer, T. Foundations of Computing. Addison-Wesley, 1994. [Schöneburg 94] Schöneburg, E., Heinzmann, F. und S. Feddersen. Genetische Algorithmen und Evolutionsstrategien. Addison-Wesley, 1994. [Sebasta 93] Sebasta, R.W. Concepts Of Programming Languages, Second Edition. The Benjamin/Cummings Publishing Company, 1993. [Sedgewick 88] Sedgewick, R. Algorithms. Addison-Wesley, 1988. [Smullyan 86] Smullyan, R. Spottdrosseln und Metavögel. S. Fischer, Frankfurt am Main, 1986. [Sommerville 87] Sommerville, I. Software Engineering. Addison-Wesley, Bonn, 1987. [Stevens 92] Stevens, W.R. Programmieren von UNIX-Netzen. Hanser, München, 1992. [Stevens 94] Stevens, W.R. TCP/IP Illustrated, Vol. 1. Addison-Wesley, 1994. [Stroustrup 94] Stroustrup, B. The C++ Programming Language - Second Edition. Addison Wesley, 1994. [Tanenbaum 87] Tanenbaum, A.S. Operating Systems: Design and Implementation. Prentice-Hall, 1987. [Tischer 88] Tischer, M. PC Intern 2.0, 4. Auflage. Data Becker, 1988. [Ullmann 88] Ullmann, J.D. Principles of Database and Knowledge-Base Systems. Computer Science Press, 1988. [Vieillefond 87] Vieillefond, C. Programmierung des 80286. Sybex, Düsseldorf, 1987. [Waite 93] Waite, M. and S. Prata. New C Primer Plus. SAMS Publishing, 1993. [Weiss 93] Weiss, M.A. Data Structures and Algorithm Analysis in C. Benjamin/Cummings, 1993. [Wirth 83] Wirth, N. Algorithmen und Datenstrukturen. B.G. Teubner, Stuttgart, 1983.