20
Literaturverzeichnis Abo, A. V., Hopcroft, J. E. und Ullman, J. D. (1974). The Design and Analysis of Computer Algorithms. Addison-Wesley. Arnold, K. und Gosling, J. (1996). The Java Programming Language. Addison- Wesley. Babbage, C. (1864). Passages from the Life of a Philosopher. Nachgedruckt in der Herausgabe von Martin Campbell-Kelly, 1994. Rutgers University Press. Bauer, F. L. und Goos, G. (1991). Informatik 1 - Eine einfohrende Ubersicht. Springer-Verlag. Vierte Auftage. Bauer, F. L. und Goos, G. (1992). Informatik 2 - Eine einfiihrende Ubersicht. Springer-Verlag. Vierte Auftage. Booch, G., Rumbaugh, 1. und Jacobson, I. (1999). The Unified Modeling Language User Guide. Addison-Wesley. Brassard, G. und Bratley, P. (1996). Fundamentals of Algorithmics. Prentice Hall. Brause, R. (1998). Betriebssysteme - Grundlagen und Konzepte. Springer-Verlag. Budd, T. (1994). Classic Data Structures in C++. Addison-Wesley. Campione, M. und Walrath, K. (1997a). Das Java Tutorial- Objektorientierte Pro- grammierung for das Internet. Addison-Wesley. Campione, M. und Walrath, K. (1997b). The Java Tutorial: Object-oriented Pro- gramming for the Internet. Addison-Wesley. Connen, T. H., Leiserson, C. E. und Rivest, R. L. (1990). Introduction to Algo- rithms. MIT Press. Cousot, P. (1990). Methods and logics for proving programs. In van Leeuwen, J., Hrsg., Formal Models and Semantics, Band B des Handbook of Theoretical Computer Science, Kap. 15, S. 841-993. Elsevier. Deitel, H. M. und Deitel, P. J. (1997). Java - How to Program. Prentice Hall. Zweite Auftage. Felscher, W. (1993). Berechenbarkeit - Rekursive und Programmierbare Funktio- nen. Springer-Verlag. Flanagan, D. (1996). Java in a Nutshell. Nutshell Handbooks. O'Reilly. Forster, O. (1976). Analysis 1. Vieweg-Verlag. Gallier, J. H. (1986). Logicfor Computer Science. Harper & Row. Gamma, E., Helm, R., Johnson, R. und Vlissides, J. (1995). Design Patterns. Addison-Wesley.

Literaturverzeichnis - Springer978-3-662-06854-0/1.pdf · Eine objekt-orientierte Einfiihrung mit C++. Technischer Bericht (Vorlesungsskript) WSI-95-16, ... Konzepte objektorientierter

Embed Size (px)

Citation preview

Literaturverzeichnis

Abo, A. V., Hopcroft, J. E. und Ullman, J. D. (1974). The Design and Analysis of Computer Algorithms. Addison-Wesley.

Arnold, K. und Gosling, J. (1996). The Java Programming Language. Addison­Wesley.

Babbage, C. (1864). Passages from the Life of a Philosopher. Nachgedruckt in der Herausgabe von Martin Campbell-Kelly, 1994. Rutgers University Press.

Bauer, F. L. und Goos, G. (1991). Informatik 1 - Eine einfohrende Ubersicht. Springer-Verlag. Vierte Auftage.

Bauer, F. L. und Goos, G. (1992). Informatik 2 - Eine einfiihrende Ubersicht. Springer-Verlag. Vierte Auftage.

Booch, G., Rumbaugh, 1. und Jacobson, I. (1999). The Unified Modeling Language User Guide. Addison-Wesley.

Brassard, G. und Bratley, P. (1996). Fundamentals of Algorithmics. Prentice Hall. Brause, R. (1998). Betriebssysteme - Grundlagen und Konzepte. Springer-Verlag. Budd, T. (1994). Classic Data Structures in C++. Addison-Wesley. Campione, M. und Walrath, K. (1997a). Das Java Tutorial- Objektorientierte Pro­

grammierung for das Internet. Addison-Wesley. Campione, M. und Walrath, K. (1997b). The Java Tutorial: Object-oriented Pro­

gramming for the Internet. Addison-Wesley. Connen, T. H., Leiserson, C. E. und Rivest, R. L. (1990). Introduction to Algo­

rithms. MIT Press. Cousot, P. (1990). Methods and logics for proving programs. In van Leeuwen, J.,

Hrsg., Formal Models and Semantics, Band B des Handbook of Theoretical Computer Science, Kap. 15, S. 841-993. Elsevier.

Deitel, H. M. und Deitel, P. J. (1997). Java - How to Program. Prentice Hall. Zweite Auftage.

Felscher, W. (1993). Berechenbarkeit - Rekursive und Programmierbare Funktio-nen. Springer-Verlag.

Flanagan, D. (1996). Java in a Nutshell. Nutshell Handbooks. O'Reilly. Forster, O. (1976). Analysis 1. Vieweg-Verlag. Gallier, J. H. (1986). Logicfor Computer Science. Harper & Row. Gamma, E., Helm, R., Johnson, R. und Vlissides, J. (1995). Design Patterns.

Addison-Wesley.

364 Literaturverzeichnis

Garey, M. und Johnson, D. (1979). Computers and Intractability: A Guide to the Theory of NP-Completeness. Freeman.

Goos, G. (1999). Vorlesungen iiber Informatik. Band 2: Objektorientiertes Pro­grammieren und Algorithmen. Springer-Verlag. Zweite Auftage.

Gosling, J., Joy, B. und Steele, G. (1996). The Java Language Specification. Addison-Wesley.

Gries, D. (1981). The Science of Programming. Springer-Verlag. Hendrich, N. (1997). Javafiir Fortgeschrittene. Springer-Verlag. Hoare, C. A. R. (1969). An axiomatic basis for computer programming. Communi­

cations of the ACM, 12(10):576-583. Hodges, A (1994). Alan Turing, Enigma. Springer-Verlag. Zweite Auftage. Hopcroft, J. E. und Ullman, J. D. (1979). Introduction to Automata Theory, Lan­

guages, and Computation. Addison-Wesley. Hopcroft, J. E. und Ullman, J. D. (1994). Einfiihrung in die Automatentheorie, for­

male Sprachen und Komplexitiitstheorie. Addison-Wesley. Dritte verbesserte Auftage.

Klaeren, H. (1991). Vom Problem zum Programm. Teubner-Verlag. Zweite Auftage. Kiichlin, W. (1995). Informatik I. Programmierkonzepte. Eine objekt-orientierte

Einfiihrung mit C++. Technischer Bericht (Vorlesungsskript) WSI-95-16, Wilhelm-Schickard-Institut fiir Informatik, Universitiit Tiibingen.

Kiichlin, W. (1996). Informatik II. Vorlesungsskript, Wilhelm-Schickard-Institut fiir Informatik, Universitiit Tiibingen.

Li, L. (1998). Java - Data Structures and Programming. Springer-Verlag. Lindholm, T. und Yellin, F. (1996). The Java Virtual Machine Specification.

Addison-Wesley. Missura, S. A und Weber, A (1994). Using commutativity properties for contro­

ling coercions. In Calmet, J. und Campbell, J. A, Hrsg., Integrating Symbo­lic Mathematical Computation and Artificial Intelligence - Second Internatio­nal Conference AISMC-2, Band 958 der Lecture Notes in Computer Science, S. 131-143, Cambridge, Great Britain. Springer-Verlag.

Monk, J. D. (1976). Mathematical Logic, Band 37 der Graduate Texts in Mathema­tics. Springer-Verlag.

Musser, D. R. (1997). Introspective sorting and selection algorithms. Software­Practice and Experience, 27(8):983-993.

Niemeyer, P. und Peck, J. (1996). Exploring Java. 0' Reilly. Ottmann, T. und Widmayer, P. (1993). Algorithmen und Datenstrukturen. BI Wis­

senschaftsverlag. 2. Auftage. Penrose, R. (1996). Shadows of the Mind. Oxford University Press. Poetzsch-Heffter, A (2000). Konzepte objektorientierter Programmierung - Mit

einer Einfiihrung in Java. Springer-Verlag. Sch6ning, U. (1997). Theoretische Informatik kurzgefaftt. Spektrum Akademischer

Verlag. Sedgewick, R. (1992). Algorithms in C++. Addison-Wesley.

Literaturverzeichnis 365

Stroustrup, B. (1993). The C++ Programming Language. Addison-Wesley. Zweite Aufiage.

Stroustrup, B. (1997). The C++ Programming Language. Addison-Wesley. Dritte Aufiage.

Turing, A. (1937). On Computable Numbers, with an Application to the Entschei-dungsproblem. Proceedings of the London Mathematical Society, 42:230-265.

Turing, A. (1950). Computing Machinery and Intelligence. Mind, 59:433-460. Wang, H. (1987). Reflections on Kurt Godel. MIT Press. Wirth, N. (1995). Grundlagen und Techniken des Compilerbaus. Addison-Wesley.

Das Java Development Kit (JDK) in seiner jeweils neuesten Version kann im Internet von der folgenden URL heruntergeladen werden:

http://java.sun.com/products/jdk

Die englischsprachige Ausgabe des ,,Java Tutorials" (Campione und Walrath, 1997b) steht im Internet auch in elektronischer Form unter folgender URL zur Verfiigung:

http://java.sun.com/docs/books/tutorial/index.html

Index

Symbole 88

& 88 && 88 ( 92, 140, 142 ) 92,140, 142 * 71,92,98 * / 55,125 *= 92 + 71,90,92,94,97,98,173 ++ 87,92,98 ++i 87 += 87,92 +00 70 - 71,90,92 -- 87,92,98 --i 87 -= 92 -00 70

92,140,142,202 / 71,87,92,97,98 /* 55,125 /** 55,125 / / 55,125 /= 92

108 98,112

< 88,92 « 89,92 «= 92 <= 88,92

88,92,94,98,146 88,92

> 88,92 >= 88,92 » 89,92 »= 92 »> 89,92 »>= 92 ?: 92,94,95 @ 127

[] 92 % 71,87,92 %= 92 & 92 &= 92 && 92 { 55 } 55 I 88 I I 88 0.0 97 ox 71 Od 149 Of 149 Ox 68,71

o 68,88,97,149,249

A Abart 31 Abbildung 324 - partielle 324 - semantische 336 Abfall 148 abfangen - eines Ausnahmeobjekts 156 abgeleitete Klasse 193 Ablaufsteuerung 78 abs 143 Absorption 338 abstract 200,208,209 abstract base class 192, 200 abstract class 208 abstract data type 18,24, 137 abstract method 192, 200 abstract window toolkit 143,221 abstrakte Basisklasse 192, 200 abstrakte Klasse 208 abstrakte Methode 192,200 abstrakter Datentyp 18,24, 137 Abwiirtsanpassung 203

368 Index

access control 144 access modifiers 144 action object 192,216 ActionEvent 226 ActionListener 227 actual parameters III adaptee 40 Adapter 40 adapter 40 Adapter-Klasse 228 add 224 AdjustrnentEvent 226 admissible 347 Aggregation 29, 138 aggregation 29, 138 Akkumulation 167 Aktionsobjekt 192,216,297 - Zustand 219 aktuelle Parameter III aktuelle Werte III algebraic abstract data type 187 algebraischer abstrakter Datentyp 187 ALGOL 112 algorithm 43,44 Algorithmenschema - Teile und Herrsche 272 Algorithmus 43,44 alias 116, 117 Allgemeine Altemativregel 351,357 allgemeingiiltig 334, 337 allocate 101,138 Altemativregel - allgemeine 351, 357 - einfache 351,357 Analyse 21 analysis 21 analytical engine III Anbieter 137 Anforderung 124 - stiirkere 351,352 Anlegen - eines Rahmens 10 I anonyme Variable 83 anonymes Objekt 83 antisymmetrische Relation 323 Anweisung 77, 98 - Ausdrucksanweisung 98 append 174 APPLET 225 Applet 222,225 iiquivalent 337 Aquivalenzklasse von x modulo p 323 Aquivalenzrelation 323

Archimedes 264 - Satz 264 Archimedisches Axiom 264 arithmetic shift 89 ArithrneticException 159 arithmetische Ausdriicke 55 array 7-9,14,85,107,138,164 array 85 array bounds check 271 array variable 164 ASCII 68,69,74, 311 Assembler 78 assertions 158 associativity 91 Assoziativitat 91,325,338 asymptotic notation 260 asymptotische Notation 260, 263 asynchronous communication 26 atomare Formel 335, 339 Attribute 23, 138 attributes 23, 138 Autbau - idiomatischer 166 Aufruf - einer Funktion 112 - endrekursiver 130 - rekursiver III - verschriinkt rekursiver III Aufrufschnittstelle 113 Auftraggeber 27 Aufwiirtsanpassung 203 Aufwand 45, 260 Ausdriicke 55,77,90 - wohlgeformte 91 Ausdrucksanweisungen 98 Ausgabe 47 Ausgabeparameter 112 Ausgabespezifikation 44,124 ausmaskieren 89 Ausnahmeklasse - gepriifte 159 - ungepriifte 159 Ausnahmen 251 Ausnahmeobjekt 156 - fangen 156 - werfen 156 Aussagenlogik 335 Ausweitung 203 auswerfen - eines Ausnahmeobjekts 156 Auswertung - faule 88 @author 127

Automat - universeller 63 automated theorem proving 350 automatische S peicherbereinigung 148 average case 260 AWT 8,221-228 Axiom - Archimedisches 264

B base class 191,193 Basisadresse 164 Basisklasse 191,193 - abstrakte 200, 233 Baum 291 - Beweisbaum 345,352 - Biniirbaum 292 - Inorder-Sequenz 302 - Levelorder 304 - Postorder-Sequenz 301 - Praorder-Sequenz 299 - Strukturbaum 292 - voller Biniirbaum 294 - vollstiindiger Biniirbaum 294 - Zedegungsbaum 292 Bedingte Anweisungen 55 Bedingungsoperator 94 befreundete Funktion 178 befreundete Klasse 178 begin 99 begin 55 behavioral relationships 26 best case 260 bester Fall 260 Beweisbaum 345,352 Beweistheorie 333 Bewertung 336 Beziehung - EinschluB 29 - hat 29 - Komposition 30 - strukturelle 26 - verhaltensbezogene 26 bijektiv 325 bijektive Funktion 325 Bildbereich 322 Biniirbaum 292 biniire Relation 322 binary coded decimal 65 binary relation 322 binary tree 292 Binden - dynamisches 199

- spates 199 binding - dynamic 199 - late 199 Bindungskraft 91 Bit 64

Index 369

bit vectors 326 BIT-EXKLU8IV-ODER 88 BIT-KOMPLEMENT 88 BIT-ODER 88 BIT-UND 88 Bit-Vektoren 326 bitwise 89 Blatt 291 Block 55,99 - geschachtelter 99 - innerer 99 block 99 body 49, III Boolean 82,211 boolean 82,87,96,326 boolesche Ausdriicke 55 BorderLayout 224 bottom-up 256, 257 braces 49 branch 99 breadth first 304 breadth-first-search 297 break 56,99, 104, 106, 108 Breitensuche 297 bridges 64 Bruch-Anweisung - markierte 108 - unmarkierte 108 bubble sort 281 buffer 173 Bus 63 Bu t ton 222, 227 by reference 16 by value 16 Byte 64 Byte 82,211 byte 71,82,96 Byte Code 78,79,81,225

C !C 163,250,257 C 6-8,19,28,40,49,54,56,78,79,81,

84-88,99,100,108,112,116-120,165, 166,201,351

C++ VIII, 6, 7, 9,17,18,28,49,54-56, 79,81,83-88,97,99,100,108,112,116, 117,120,123,125,138,143,144,146,

370 Index

148,154,158,163,165,166,178,192, 200-202,205,210,215,216,251,286, 312,351

cache memory 149 Cache-Speicher 149 calculus 344 call 112 call by name 116 call by reference 116 call by value 116 call by value and result 118, 119 call interface 113 Canvas 222 car 176,217 cardinality 321 CardLayou t 224 Cartesisches Produkt 321 case 103, 104 cast 96,203,214 catch 156 catch 161,162 cdr 176 cellar 117 central processing unit 63 char 65 char 72,78,82,95,96,312 Character 82,211 character 65 charakteristische Funktion 325 charAt 173 Checkbox 222 child 291 children 291 Choice 222 CISC Prozessoren 87 class 24,55,77, 137, 138 class 139 class diagram 22 class method 139, 142 class variable 139,142,151 ClassCastException 204,214 Client 27 client 137 client/server 26 Client/Server-Beziehung 26,27 Close-Request 227 Code 68 code bloat 216 code break 153 collaboration diagram 22 collisions 312 Color 222 comments 125

compareTo 173,213 compile time 78 compile time error 78 compiler 79,83 Compilierfehler 78 complexity 260 - space complexity 260 - time complexity 260 Component 221,222,224 ComponentEvent 226 composition relationship 30 Computer Science VII, 1 conditional operator 94 conquer 283 constants 23,83 constructor 138, 149 - explicit invocation 149 - no-arg 149 Container 222 container class 175 Container-Klasse 175 ContainerEvent 226 containment 16,26,29 continue 56,99,108,109 continue label; 109 continue statement 109 contract 124,145,202 control flow 49,53 control flow statement 98 Controller 38 converse 322 cos 90 CPU 63 cross-over point 274 curly brackets 49

D D 72 d 72 DAG 210 dangling pointer 123 data members 138 data type - abstract 18,24,137,187 - algebraic abstract 187 - generic 211 Datenbank - Objekt-Datenbank 25 - relationale 25 Datenfeld 138, 175 Datenmitglieder 138 Datenspeicher 55 Datentyp 77

- abstrakter 18,24,137,187 - algebraischer abstrakter 187 - generischer 211 de Morgan 321,338 decision procedure 344 declaration statement 98 declarations/definitions 77 default scope 144 default type 72 Definition 84 Definitionsbereich 322, 324 delete 169 depth-first-search 297 derived class 193 design 22 design patterns 38 destroy 225 destructor 148 destruktiv 182 Destruktor 148,169 Determiniertheit 44,47 Dialog 222 Dictionary 313 dictionary 309,313 Dimension 222 directed acyclic graphs 210 directed graph 292 dispose 227 Distributivitiit 338 divide 282 divide and conquer 45,257,272,277 divide-and-conquer 8,247,258 do 57,58, 105, 108, 109,359 do while 56 do-while 78 documentation comments 125 Dokumentationskommentar 125,146 dom 322 domain 322 doppelt verkettete Liste 183 Doppe1wort 64 Double 71,72,82,211 double 64, 70 double 71,72,82,87,96-98 down casting 96, 203 drawLine 223 drawOval 223 drawRect 223 drawString 223 drive 28 dummy methods 228 Durchfiihrbarkeit 44,47,248 durchschnittlicher Fall 260

Index 371

dynamic binding 19,191 dynamic binding, late binding 199 dynamic link 132 dynamic programming 257 dynamischer Verweis 132 dynamisches Binden 19,199 dynamisches Programmieren 257, 258

E easy split / hard join 283 EBCDIC 68 Ebene 291 edges 293 Effektivitiit 44,47 eindimensionale Reihung 164 Einer-Komplement 66 einfache Alternativregel 351,357 Einfachvererbung 209,210 Eingabe 47 Eingabe-Ausgabespezifikation 250 Eingabeparameter - reine 112 Eingabespezifikation 44, 124 EinschluB 26 EinschluBbeziehung 26, 29 Element 320 - groBtes 327 - kleinstes 327 - maximales 327 - minimales 327 else 102,357 Elternknoten 291 EmptyQueueException 189 emptystack 187 EmptyStackException 160,300 encapsulated 25 end 99 end 55 Endliche Beschreibung 44,47 Endlosschleife 106 endrekursiv 130 entfernten Methodenaufruf 28 Enthaltensein durch Referenz 17 Enthaltensein durch Wert 17 Entscheidungsverfahren 344 Entwurf 22 Entwurfsmethoden 45 Entwurfsmuster 38 - Adapter 40 - Remote Control - Controller - Hardware

38 - Stellvertreter 41 Enumeration 209

372 Index

equals 270,314 erben 31,191,193 Ereignisempfanger 226 Ereignisquelle 226 Ereignisse 221,226 erfiillbar 334,337,342 erreichbar 147 Error 159,160,162 Etikett 108,291,293 evaluation - lazy 88 event listener 226, 227 event listener interface 227 event source 226 events 221,226 Exception 159, 163 exception - unchecked 159 @exception 127, 162 exceptions 138,156,251,271 explicit invocation 149 explizite Typkonversion 96 exponential time 268 exponentielle Rechenzeit 268 expression statement 98 expressions 77,90 extend 32 extends 163,211

F F 72 f 72 false 55 false 56,57,82,87,88,149,158 fangen - eines Ausnahmeobjekts 156 Felder 138 field 23, 138 fifo 189 file 80 FileDialog 222 fillOval 223 fillRect 223 final 200, 201 final 200,201,205,209,214 finally 108,161 First Order Predicate Logic 339 first-in, first-out 189 Float 71,72,82,211,212 float 70 float 71,72,82,87,96,107 floating point numbers 70 flow charts 53

FlowLayout 224 FlowLayout.CENTER 224 FlowLayout.LEFT 224 FlowLayout.RIGHT 224 FluBdiagrarnme 53 FocusEvent 226 fold 220 Font 222 font 222, 223 FOPL 339 for 78 for 55,56,58,60,78,86,104-109,200,

270,359 formal parameters 111 formale Parameter 111 Formel - atomare 335 Formula Translator 90 FORTRAN 14,90,118 Frame 222,224,228,232 frame 101,117 framework - object-oriented 221 free list 148 Freispeicherliste 148 Freund 178 friend 178 friend class 178 friend function 178 function 77, 110, 112 - higher-order 216,228 - most special 113 - virtual 199 Funktion 78, 110, 112,324 - Aufruf 112 - befreundete 178 - bijektive 325 - h6herer Stufe 216,228 - injektive 325 - Nachbereich 324 - partielle 324 - rein virtuelle 200 - speziellste 113 - surjektive 325 - totale 324 - virtuelle 199 - Vorbereich 324 Funktion h6herer Stufe 228 Funktion mit Seiteneffekt 112 funktionale Relation 322, 324 funktionalen Dekomposition 21 Funktionalitiit 22 Funktionsaufruf 26

Funktionsaufrufe 55 Funktionsparameter 216,228 Funktionssymbole 90

G ganze Zahlen 321 garbage 148 garbage collection 148 garbage collector 102 garbage in - garbage out 251 gefriiBige Methode 257 Geheimnisprinzip 137,145 gekapselt 25 generalization 31 generic 211 generic programming 19,192 generisch 211 generische Datenstrukturen 192 generische Methode 212 Generische Methoden 192 generisches Programmieren 19,192 gepriifte Ausnahmeklasse 159 Geriiteregister 38 gerichteter Graph 292 Gesetze - de Morgansche 321 get 314 getMenuBar 224 getMinimumSize 222 getSize 222 Gleitkommazahl 70 - doppelt genaue 70 - einfach genaue 70 - normalisierte 70 Godel 319 goto 78 goto 55,56,78, 108, 161 goto label; 108 groBtes Element 327 Grammatik 78 Graph 292 - gerichteter 292 - ungerichteter 293 graphical user interface 221 graphical user interfaces 8 Graphics 222,223 graphics context 223 Graphik-Kontext 223 greedy 8,45,247,257,269,277 greedy method 248, 257 GridBagLayout 224 GridLayout 224 Grundkonzepte des Programmierens 55

GUI 8,221 Giiltigkeitsbereich 100

H Hohe 291 Riille - refiexiv-transitive 323 Hiillklasse 82, 143 Haken 221 Halbordnung 326 Halbwort 64 Halde 86 Haldenspeicher 86,146 Halteproblem 253 hard split / easy join 283 has-a 26,29 has-a-Beziehung 26 hash codes 309 hash function 309 hash table 309 Hash-Funktion 309,310 Hash-Tabelle 143,309,310 Hash-Verfahren 309 hashCode 313,314 Hashing 309 hashing 310 Hashtable 313-315 Hasse-Diagramm 327 head 174 header 49,111 heap 86,122, 138, 146 Heapsort 286 height 291 Herleitungsbaum 345 hide 205

Index 373

higher-order function 216,228 Hilfskonstrukte 55 Hoare calculus 347,349 Hoare-Formel 349 Hoare-Kalkiil 350,362 hooks 221 Homer-Schema 311 HTML 126, 127

I i++ 87 i-- 87 Idempotenz 338 identification 150 identity 322 Identitiitsrelation 322 Idiom 87 idiomatic 166 idiomatischer Aufbau 166

374 Index

IEEE 754-1985 70 IEEE-754 Standard 72 if 78,99, 102, 103, 160,357 if-then-else 78 implementation 22 implementieren 205 Implementierung 22 implements 209 import 144 in place 277,279,283 incarnation 131 Index 164 IndexOutOfBoundsException

160,165,271 Induktion 330 infinity 70 Infix 90 Informatics 1 Informatik 1 information hiding 137, 152 InformationsfiuB 26 InformationsfiuB-Beziehung 26 Informatique 1 Inhalt 175 Inhalt der Zelle 175 inherit 31, 191, 193 inheritance 19,26, 138, 191, 193 - multiple 210 - single 210 inheritance relationship 31 ini t 225 Initialisierungsblock - statischer 151 initializer - static 151 injektiv 325 injektive Funktion 325 Inkarnationen 130 innerer Knoten 291 Inorder 302 input output specification 250 input parameter 112 insert 174 insertion sort 280, 289 instabil 71 instance 31,138 instance method 139 instance variable 138, 139 ins tanceof 92,204,214,218,300 Instanz 138 Instanzmethode 139 Instanzvariable 138, 139 int 65

int 71,72,78,82,84,87,95-97,143, 157,166,223,311-314

int[] 85 Integer 71,82,143,211,212,214,218,

220,314 integer 65 integral promotion 72,312 interaction diagrams 27 Interaktionsdiagramm 26, 27 Interface - Referenztyp 218 interface 137,209,210 interface 209,297 Internet 4,41,42,79,80,225,365 interpreter 80 Invarianten 252 invariants 252 is-a 26,31,191,193 is-a-Beziehung 26 isInfinite 71 isNaN 71 ISO 68 ISO Latin Code 68 ItemEvent 226 Iteration 99 Iterationsanweisungen 55 Iterationsregel 351,359,360

J jacket 305 Jahr-2000-Problem 153 Java - Byte Code 78 - Laufzeitsystem 146 - runtime system 146 - virtual machine 78 Java VII, VIII, 5-9,14,18,23,28-30,

32,40-42,44,46,48-50,53-58,68,69, 71-74,77-88,91-93,95-100,106,108, 110-118,120-125,131,134-136,138, 140,141,143,144,146,148,153,154, 156, 158-160, 163, 165, 166, 168, 169, 172,176,178,180,192,200-203,205, 207-211,213,215,216,218,219,221, 225,226,251,253,255,259,270,271, 300,305,311-313,348,351,352,365

java 80-82,115,225 Java Byte Code 78,81 java compiler 80 Java development kit 80 Java virtual machine 42,78,79 java. applet 79,222,225 java. awt 79, 143,222,224,225,232

java. awt. event 227,231,232 java.awt.Frame 228 java. io 143 java. lang 82,143, 144,211,214 Java.lang.Math 66 java.math 79 java.net 79,143 java. uti! 143,188,209,211,300,

304,313-315 javac 80 javadoc 125-127,146,162 JDK 80,81,125,225,226,365 join 283 just in time compiler 79 JVM 42,79,80

K Korper 49 Kalkiil 333, 344 kanonische Funktion 323 Kanten 293 kehren 148 Keller 187 Kellerspeicher 117 Kette 327 key 309 KeyEven t 226 keywords 78 Kind 291 Kindknoten 291 Klasse 24,137-139 - abstrakte 208 - befreundete 178 Klassen-Muster 215 Klassendiagramm 22, 26, 33 Klassenmethode 139,142 Klassenvariable 139,142 kleinstes Element 327 Knoten 291, 292 - innerer 291 Kollaborationsdiagramm 22 Kollisionen 312 Kommentare 55,125 Kommunikation - asynchrone 26 - synchrone 28 Kommutativitiit 338 Komplement 321 Komplexitiit 260,271 - lineare 271 - Platzkomplexitiit 260 - quadratische 272 - Zeitkomplexitiit 260

Komposition 322 - Funktionen 325 - von Relationen 322 Kompositionsbeziehung 30 Konsequenzregeln 351,352 Konstanten 23, 55, 83 Konstantensymbo1e 90 konstruktiv 181 Konstruktor 138,149

Index 375

- bei abgeleiteter Klasse 196 - Hierarchie 196 - ohne Parameter 149 Kontrakt 124,145,202 KontrollfluB 49,53 Kopf 49,111,174,188 Korrektheit 44,47,248,348 - partielle 252, 348, 350 Kryptographie 79 Kunde 137 KundelLieferant 26

L Liinge 85 Label 222 label 108,291,293 labeled break 108 labeled continue statement 109 last 174 last-in, first-out 187,189 late binding 191, 199 Laufvariable 105,166 Laufzeitstapel 101,117 LayoutManager 224 lazy evaluation 88 leaf 291 Lebensdauer 100 - eines Objekts 100 leere Menge 320 left-hand side value 94 leftmost-innermost 301 Leibniz 319 length 165,173 level 291 levelorder 304 lexikographische Ordnung 327 Lieferant 27 lifetime 100 lifo 187, 189 line feed 68 linear 271 linear search 269 lineare Komplexitiit 271 lineare Ordnung 327 Lineare Suche 269

376 Index

link 93 linkseindeutig 322 Linkswert 83,94, 116 LISP 54, 112, 176,217 List 222 list 138, 174 list cell 175 Liste 174 - doppelt verkettete Liste 183 - lineare Liste 176 Listenzeiger 174 Listenzelle 175 Literale 90 local variables III logical shift 89 Logik - forrnale 333 Logikkalkiil 333 Long 71,82,211 long 64 long 71,82,87,95,96,311 look and feel 46 loop 49,99 loop invariants 50, 252, 360 loop variable 105, 166 low-level 55 Ivalue 83, 94

M Machtigkeit 321 main 81,115,156,173,225,242 Mantelprozedur 305 map 324 mapcar 217 mapping 324 mark 148 Marke 108 markieren 148 markierte Bruch-Anweisung 108 markierte Nachfolge-Anweisung 109 mask 89 Maske 89 Math 143 matrices 169 Matrix 169-171 - quadratische 171 MAX_VALUE 71,82 maximal 327 Mehrfachmenge 328 Mehrfachvererbung 210 - bei Interfaces 209 - bei Java 210 member functions 138

members memory - cache - leak

138 63 149

148 memory mapping 38, 64 Menii-Balken 224 Menge - Komplement 321 - leere 320 - Teilmenge 321 - Vereinigung 321 menu bar 224 MenuBar 224 merge 288 message 26, 141 message passing 26 messages 26 method 138 method call 28 method interface 23 Methoden 23, 78, 137, 138 - abstrakte 200 - endgultige 200 - finale 200 - generische 212 - leere 228 Methodenaufruf 28 Methodenschnittstelle 23 methods 23 micro-controller 38 min 143 MIN_VALUE 71,82 Mindestlaufzeit 268 minimal 327 Mitglieder 138 Mitgliedsfunktionen 138 Mixfix 91 mod 65 Modell 342 Moderatoren 144 module 115 modulo 65 modus ponens 344 MouseEvent 226 multi-set 328 multiple inheritance 210 multiplicity 25 Muster 38,215 mutually recursive 111,128

N EV 126,132,134,164,252-254,263-268,

310,321,328-332,341,342,350

n-dimensionale Reihung 164 Nachbedingung 250,349 Nachbereich 324 Nachfolge-Anweisung - unmarkierte 109 Nachricht 26,141 Nachrichten 26 Nachrichtenversand 26 Namensaufruf 116 namespace pollution 99 namespaces 178 NaN 70-73 narrowing 203 native 79 native code 40 natiirliche Zahlen 321 Negation - doppelte 338 NEGATIVE_INFINITY 71,72 nested 99 Neutralitiit 338 new 86,92,98,138,140,146,149 NICHT 88 no-arg 149,196 no-arg constructor 149, 196 node 291 normalisierte Gleitkommazahl 70 not a number 70-72 Notation - asymptotische 260, 263 - polnische 300 - umgekehrte polnische 302 notation - Polish 300 - reverse Polish 302 nul 69 null 84,149,160,174,249,296,313 NullPointerException 159 Number 71 numerisch stabil 71 Nutzungsartanalyse 32 Nutzungsszenarien 32

o O-Notation 247,263-268,271-274,279,

281-283,285,286,289 Oberklasse 193 Obertyp 31,95,193 Obj ect 188, 192,211-215,270,296,

300,304,313,314 object 21,22,138 object-oriented framework 221 Objekt 21,22,24,138

Index 377

- anonymes 83 - Lebensdauer 100 Objekt-Datenbank 25 Objekt-Klasse 24 Objektbeziehung 21,22,25 Objektdiagramm 26 objektorientiertes Programmieren 138 objektorientiertes Rahmenwerk 221 ODER 88 offset 120 Omega 268 [l 268 one's complement 66 Operation - ska1are 166 - Vektoroperation 166 Operator 90 - bedingter logischer 88 - bitweiser logischer 89 - Punkt 140 order 263 Ordnung 263 - Halbordnung 326 - lexikographische 327 - lineare 327 out degree 292 OutOfMemoryError 159 OutOfMemoryException 160 output parameter 112 overflow 72 overhead 274 overloading 93,113,141,199 override 205 overriding 141, 191, 199

p package 143 package 143 packages 178 paint 222-225,228,232,233 Paket 143 Panel 222,225 @param 127 Parameter - Funktionsparameter 216,228 - transiente 112, 124 parent 291 parse trees 292 partial function 324 partial order 326 partially correct 348 partiell geordnete Menge 327 partielle Abbildung 324

378 Index

partielle Funktion 324 partielle Korrektheit 44,47,252,348 Partition 323 Pascal 8,19,85,99,100,112,116,132,

351 path 294 patterns 38 Pfad 294 pivot 283 Platzkomplexitat 260 pointer 6,18,83,84 pointer variable 84 Polish notation 300 polnische Notation 300 polymorph 191 polymorphic 191 polynomial time 268 polynomielle Rechenzeit 268 pop 187,188 pop 187, 188,300 pop the frame off the stack 132 POSITIVE_INFINITY 71,72 post condition 349 Postfix 90 Postorder 301 Potenzmenge 321 Priidikatenlogik 339 - erster Stufe 339 Praorder 299 Priidikat 326 Prafix 90 Priizedenz 91 precedence 91 precondition 349 Predicate Logic 339 - First Order 339 preferredSize 222 primitive types 77, 82 principle of information hiding 137, 145 printStackTrace 159 private 144,151 procedure 77, 110, 112 processor 63 Produkt - Cartesisches 321 Programmieridiom 87 Programmiermuster 87 - Vorbereitung-Arraydurchlauf-

Nachbereitung 167 programming by contract 202 Prolog 54 proof tree 345 propositional calculus 335

protected 144 proxy 41 Prozedur 78,110,112 Prozessor 63 - CISC 87 - RISC 87 public 115,144,209 Puffer 173 Punkt-Operator 140 pure virtual function 192, 200 push 187, 188 push 187,188 put 313

Q ([J 256,257,348 qsort 286 quadratisch 272 quadratische Komplexitat 272 quadratische Matrix 171 qualified 93 qualified name 204 qualifizierten Namen 204 qualifizierter Name 204 Quantorenregel 343 queue 138,189,304 Quicksort 283 Quotient 323

R HI 14,163,168,190,228,250,251,

263-268,341,348 Riickgabe-Wert 112 Riicksprungadresse 132 Rahmen 101 - anlegen 10 1 Rahmenwerk - objektorientiertes 221 RAM 248 ran 322 random access 248 random access memory 164 Random-Access-Maschine 248 range 95,322 re-use 191,193 reachable 147 read only 145,151,152,197 reale Vererbung 191 rechtseindeutig 322 Rechtswert 83, 94 record 7, 14, 15 recursive Ill, 128 - mutually 128 reduced instruction set computing 87

reference 83,84 reference type 209 reference variable 84 Referenz 83 Referenziibergabe 119 Referenzaufruf 116 Referenztyp 209 - Interface 218 Referenzvariable 84, 140 reflexive 323 reflexive Relation 323 Reihung 14,85, 164 - eindimensionale 164 - n-dimensionale 164 Reihungsvariable 85 rein virtuelle Funktion 192 reine Eingabeparameter 112 Rekursion 51 rekursiv 128 - wechselseitig 128 rekursiver Aufruf III Relation 25,322 - Aquivalenzrelation 323 - antisymmetrische 323 - biniire 322 - funktionale 322,324 - Komposition 322 - n-stellige 322 - reflexive 323 - symmetrische 323 - transItive 323 relation 322 relationale Datenbank 25 relationships 21 remote method invocation 28,41 remote procedure call 28 remove 224,314 repaint 222 repea t 55,57 Resolution 344 Rest 174 rest 174 result 124 return 157 @return 127 return 106,112,161 return address 132 return value 112 reverse Polish notation 302 right-hand side value 94 RISe Prozessoren 87 RMI 41 robot 28

robust 349 root 291 round off error 70 Roundfix 91 Rumpf 111

Index 379

run-time stack 101,117,131,146 Rundungsfehler 70 runtime system, runtime 146 RuntimeException 159,160,162,

300 rvalue 83, 94

S safe casting 203 sandbox 225 Sandkasten 225 satisfiable 337 scalar operations 166 scenarios 32 Scheme 112 Schiebe-Operatoren 89 Schiebezahler 89 Schliisselworter 78 schlechtester Fall 260 Schleife 49,51,99 Schleifeninvariante 50, 252, 360 Schleifenkonstrukte 78 Schleifenvariable 105 Schnittstelle 137, 209 Schliissel 309 schwachere Zusicherung 351, 352 scope 100, 144 Scrollbar 222 ScrollPane 222 security manager 225 @see 127 Seiteneffekt 184 selection sort 278 selectors 23,145,151 Selektoren 23, 145 semantics 78 Semantik 78 semantische Abbildung 336 semi decision procedure 343 Semi-Entscheidungsverfahren 253,343 sentinel 270, 285 Sequenzierungsanweisungen 55 Sequenzregel 351,355 Server 27 server 137 setBackground 222 setCharAt 174 setColor 223 setFont 222,223

380 Index

setForeground 222 setLayout 224 setMenuBar 224 setSize 222 setTi tIe 224 shift count 89 shift operators 89 Short 82,211 short 64 short 71,82,87,96 sicherer Anpassung 203 Sichtbarkeitsbereich 144 - geschiitzt 144 - global 144 - Klasse 144 - Paket 144 - standard 144 side effect 112 Signatur 113 signature 113 sin 90,143 @since 127 single inheritance 210 skalare Operation 166 Skalarprodukt 169 software architecture 22 Software-Architektur 22 Sortieren - Bubble-Sort 281 - Divide and Conquer 282 - Heapsort 286 - Insertion-Sort 280 - Merge-Sort 286 - Quick-Sort 283 - Selection-Sort 278 spates Binden 199 space complexity 260 Speicherbereinigung - automatische 148 Speichereinheit - kleinste adressierbare 64 Speicherleck 148 Spezifikation 44,46, 124,248 Stack 143,211 Stack 188,300 stack 9,86, 117, 138, 187 - pop 187 - push 187 - top 187 stack frame 131 stack-overflow 131 Stack-Top 188 StackOverfIowError 160

Stammdaten 15 Standard Template Library 216,286 Standard-Sichtbarkeitsbereich 144 Stapel 86, 187 - pop 187 - push 187 - top 187 Stapel speicher 86 starkere Anforderung 351,352 start 225 state 21 statement 77, 98 - control flow 98 - declaration 98 - expression 98 static 142 static 115,142,151,200,209,270 static initializers 151 static link 131 static variable 151 statisch 142 statischer Initialisierungsblock 151 statischer Verweis 131 Stellvertreter 41 STL 216,286 stop 225 Stopper 270 storage unit 63 store 63 String 172-174,213,314 string 14,71, 138 String [l 81,85 StringBuffer 172,173 strongly typed languages 95 struct 14, 15 structural relationships 26 structure 7, 15 structured types 77 Strukturbaum 292 subclass 193 Subtyp 26,31 Subtypbeziehung 26 subtype 26,31,95,193 super 149,196,207 super class 193 Supertyp 31 supertype 31,95,193 surjektiv 325 surjektive Funktion 325 sweep 148 swi tch 99,102-104,108 symmetric 323 symmetrische Relation 323

synchronous communication 28 Syntax 78 syntax 78 syntax error 78

T Tabelle - der virtuellen Klassenfunktionen 201 tail 174 tail-recursive 130 target 40 Tauto1ogie 337 Teile und Herrsche 257, 272 template 215 template classes 215 Terminalknoten 291 terminate 348 Terminierung 44,47 TextArea 222 TextComponent 222 TextEvent 226 TextField 222 Theta 268 e 268 this 142,149,202,207 thread of control 53, 78 throw 156 throw 160, 161 Throwable 158, 159 throws 151, 162 Tiefensuche 297 time complexity 260 toCharArray 173 top 187 top 187,188 top-down 256, 257 toString 173,174,213 total korrekt 45, 252, 348 totale Funktion 324 totally correct 348 transient parameter 112 transiente Parameter 112,124 transitive 323 transitive closure 323 transitive Hiille 323 transitive Relation 323 tree - binary tree 292 tree traversal 297 true 55 true 56,57,82,87,88,103,105,158 try 108,161 Turing 319

Turingmaschine 248 - Universelle 2 two's complement 66 Typ 24,84 Typ-Aufweitung 95,114 Typanpassung 203 type 24, 77, 84 type coercion 96, 203 type promotion 95 Typerzwingung 96, 203 Typkonversion - explizite 96,214

Index 381

- von Oberklasse zu Unterklasse 214

U Uberladen 93, 113, 141, 199 Uberlagern 199 Ubernahmepunkt 274 Uberschreiben 141, 191, 199 Ubersetzer 79 Ubersetzungstabelle 309 umgekehrte polnische Notation 302 Urnkehrfunktion 325 Urnkehrrelation 322 UML 22,26 unchecked exception classes 300 UND 88 underflow 72 undirected graph 293 unerfiillbar 334, 337 ungerichteter Graph 293 Unicode 68, 69, 82, 311 Unified Modeling Language 22 uniform resource locator 225 Universelle Turingmaschine 2 universeller Automat 63 UNIX 69,286 unlabeled break statement 108 unmarkierte Bruch-Anweisung 108 unmarkierte Nachfolge-Anweisung 109 unsafe casting 203 unsichere Anpassung 203 Unterklasse 193 Unterprogramm 78,110 Untertyp 95,193 until 55,57 up casting 203 update 222 Urbild 324 use case analysis 32 utilities 143

V valid 99

382 Index

valuation 336 value 83 var 116 Variable 23, 55 - anonyme 83 - Deklaration 77, 84 - freie Variable 340 - gebundene Variable 340 variable 23 Variablenname 83 Variablensymbole 90 Vector 211 vector operations 166 Vektoroperation 166 Verallgemeinerung 31 verbirgt 205 Verbund 15, 137 verdeckt 205 verengen 203 Vererbung 19,26,31,138, 191, 193 - einfache 210 - mehrfache 210 Vererbungsbeziehung 26, 31 Versatz 120 verschriinkt rekursiver Aufruf 111 @version 127 vertices 292 Verwaltungsaufwand 274 Verweis - dynarnischer 132 - statischer 131 Verzweigungen 78 Verzweigungsgrad 292 Vielfachheit 25 virtual 201 virtual functions 19,138, 199 Virtual Machine 78 virtual method table 201 virtual methods 191 virtuelle Funktionen virtuelle Methoden virtuelle Vererbung VMT 201 void 81,149

19,138,199 191 191

voller Biniirbaum 294 vollstandig 343 vollsilindiger Biniirbaum 294 Vorbedingung 250, 349 Vorbereich 324 vtbl 201

W Wachter 270

Wahrheitstafel 334, 346 Warteschlange 189,304 Web 79,225 wechselseitig rekursiv 128 well formed expressions 91 werfen - eines Ausnahmeobjekts 156 Wert 83,92 Werte- und Resultatsiibergabe 118 Werteiibergabe 118 - bei Referenzvariablen 120 Werteaufruf 116 Wertebereich 95 while 78 while 55-58,60,78, 104, 105, 108, 109,

128,270,359 while loop 49 widening 203 wiederverwenden 191, 193 Window 222 windowActivated 228 windowClosed 227 windowClosing 227,231 windowDeactivated 228 windowDeiconified 227 WindowEven t 226-228 windowlconified 227 windowListener 227,228,231,232 windowOpened 227 wohlfundierte Ordnungen 252 wohlgeformte Ausdriicke 91 word 64 worst case 260 Wort 64 Worterbuch 309 wrapper class 82, 143,211 write once 151, 152 Wurzel 291

X XOR 88

z ~ 14,16,24,47,52,56,57,59,126,

250-252,254-257,321,348 Zahlen - ganze 321 - natiirliche 321 Zeichenreihen 14 Zeiger 18 Zeigervariablen 84 Zeitkomplexitat 260 Zedegungsbaum 292 Ziel

- break 108 Zufallszah1engenerator 143 Zugriffskontrolle 144 Zusicherung 124,158 - schwachere 351,352 Zustand 21,22

Index 383

- eines Aktionsobjektes 219 Zustandsvariab1en 23 Zuweisung 55,78, 83 Zuweisungsaxiom 351,353 zweidimensiona1en Liste 176 Zweierkomp1ement 66