Suchen und Finden
Service
Infos und Kontakt
Vorwort
6
Inhaltsverzeichnis
10
1 Schnellkurs
16
1.1 Programme
16
1.2 Interpreter
17
1.2.1 Mehrfachdeklaration
19
1.2.2 Ergebnisbezeichner
19
1.2.3 Fehlermeldungen
20
1.3 Prozeduren
20
1.4 Vergleiche und Konditionale
22
1.5 Lokale Deklarationen und Hilfsprozeduren
23
1.6 Tupel
24
1.7 KartesischeMuster
25
1.8 Ganzzahlige Division: Div undMod
27
1.9 Rekursion
28
1.10 Natürliche Quadratwurzeln und Akkus
31
1.11 Endrekursion
33
1.12 Divergenz
34
1.13 Festkomma- und Gleitkommazahlen
36
1.13.1 Festkommazahlen
36
1.13.2 Gleitkommazahlen
37
1.13.3 Rundungsfehler
38
1.13.4 Beispiel: Newtonsches Verfahren
39
1.14 Standardstrukturen
39
2 Programmiersprachliches
44
2.1 Darstellung und Aufbau von Phrasen
44
2.2 Syntaxübersicht
46
2.2.1 Wörter
47
2.2.2 Phrasen
47
2.3 Klammern
50
2.4 Freie Bezeichner und Umgebungen
52
2.5 Tripeldarstellung von Prozeduren
53
2.6 Semantische Zulässigkeit
55
2.7 Ausführung
56
2.7.1 Ausführung von Ausdrücken
57
2.7.2 Ausführung von Prozeduraufrufen
57
2.7.3 Ausführung von Deklarationen
58
2.7.4 Ausführung von Programmen
58
2.8 Verarbeitungsphasen eines Interpreters
59
2.9 Semantische Äquivalenz
60
3 Höherstufige Prozeduren
64
3.1 Abstraktionen und kaskadierte Prozeduren
64
3.2 Tripeldarstellung und Rekursion
66
3.3 Höherstufige Prozeduren
67
3.3.1 Bestimmte Iteration: Iter
69
3.3.2 Unbestimmte Iteration: First
70
3.4 Bestimmte Iteration: Polymorphes Iter
71
3.5 Polymorphe Typisierung
72
3.5.1 Monomorphe und polymorphe Bezeichner
74
3.5.2 Ambige Deklarationen
75
3.6 Typinferenz
77
3.7 Typen und Gleichheit
79
3.8 Bezeichnerbindung
80
3.8.1 Lexikalische Bindungen
80
3.8.2 Konsistente Umbenennung und Bereinigung
81
3.8.3 Statische und dynamische Bindungen
82
3.9 Spezifikation polymorpher Prozeduren
83
3.10 Abgeleitete Formen: Andalso, Orelse, Op
84
3.11 Beispiel: Primzahlberechnung
85
3.12 Komposition von Prozeduren
86
3.13 Bestimmte Iteration: Iterup und Iterdn
87
4 Listen und Strings
90
4.1 Die Datenstruktur der Listen
90
4.1.1 Listentypen
91
4.1.2 Nil und Cons
92
4.1.3 Regelbasierte Prozeduren
93
4.2 Append, Rev, Concat und Tabulate
94
4.3 Map, Filter, Exists und All
96
4.4 Faltung
98
4.5 Hd, Tl, Null, Nth und dasWerfen von Ausnahmen
101
4.6 Regelbasierte Prozeduren undMusterabgleich
103
4.6.1 Disjunkte und überlappende Regeln
105
4.6.2 Erschöpfende Regeln
106
4.6.3 Regelbasierte Abstraktionen und Case-Ausdrücke
107
4.6.4 Kaskadierte Prozedurdeklarationenmitmehreren
107
Regeln
107
4.7 Strings
108
4.7.1 Zeichenstandards
109
4.7.2 Lexikalische Ordnung
111
5 Sortieren
114
5.1 Sortieren durch Einfügen
114
5.2 Polymorphes Sortieren
116
5.3 Inverse und lexikalische Ordnungen
117
5.4 Sortieren durchMischen
118
5.5 EndlicheMengen und strikte Sortierung
120
5.6 Primzerlegung
123
5.7 Ein überraschender Laufzeitunterschied
125
6 Konstruktoren und Ausnahmen
128
6.1 Konstruktoren
128
6.2 Enumerationstypen
130
6.3 Typsynonyme
131
6.4 Darstellung arithmetischer Ausdrücke
132
6.4.1 Komponenten und Teilausdrücke
133
6.4.2 Darstellung von Umgebungen
134
6.5 Ausnahmen
137
6.5.1 Werfen von Ausnahmen
138
6.5.2 Fangen von Ausnahmen
138
6.5.3 Ausführungsreihenfolge und Sequenzialisierung
139
6.5.4 Konvention für die Spezifikation von Ausnahmen
140
6.5.5 Beispiel: Test aufMehrfachauftreten
140
6.6 Typkonstruktoren
141
6.7 Optionen
142
7 Bäume
146
7.1 Reine Bäume
146
7.1.1 Unterbäume
148
7.1.2 Gestalt arithmetischer Ausdrücke
148
7.1.3 Lexikalische Baumordnung
149
7.2 Teilbäume
150
7.3 Adressen
151
7.3.1 Nachfolger und Vorgänger
153
7.4 Größe und Tiefe
154
7.5 Faltung
156
7.6 Präordnung und Postordnung
156
7.6.1 Teilbaumzugriffmit Pränummern
158
7.6.2 Teilbaumzugriffmit Postnummern
159
7.6.3 Linearisierungen
159
7.7 Balanciertheit
160
7.8 FinitäreMengen und gerichtete Bäume
161
7.9 Markierte Bäume
164
7.10 Projektionen
166
8 Mengenlehre
170
8.1 Mengen
170
8.2 Aussagen
173
8.3 Tupel
175
8.4 Gerichtete Graphen
177
8.5 Binäre Relationen
181
8.5.1 Umkehrrelationen
182
8.5.2 Funktionale und injektive Relationen
182
8.5.3 Totale und surjektive Relationen
183
8.5.4 Komposition von Relationen
183
8.5.5 Reflexivität, Transitivität und Ordnungen
184
8.6 Funktionen
185
8.6.1 Lambda-Notation
186
8.6.2 Funktionsmengen
186
8.6.3 Klammersparregeln
187
8.6.4 Adjunktion
187
8.6.5 Bijektionen und Darstellungen
188
8.7 Terminierende Relationen
188
8.8 Strukturelle Terminierungsfunktionen
190
9 Mathematische Prozeduren
194
9.1 Beschreibung
194
9.2 Ausführung
196
9.3 Rekursionsfunktionen
199
9.4 Rekursionsbäume
200
9.5 Rekursionsrelationen
201
9.6 Ergebnisfunktionen
203
9.7 Der Korrektheitssatz
205
9.7.1 Endrekursive Bestimmung von Potenzen
206
9.7.2 Endrekursive Bestimmung von Fakultäten
206
9.8 Größte gemeinsame Teiler
208
9.9 Gaußsche Formel
209
9.10 Geschachtelte Rekursion
211
10 Induktive Korrektheitsbeweise
214
10.1 Induktion
214
10.2 Bestimmte Iteration
216
10.2.1 Iterative Bestimmung von Potenzen
217
10.2.2 Iterative Bestimmung der Fakultäten
218
10.2.3 Iterative Bestimmung der Fibonacci-Zahlen
218
10.3 Unbestimmte Iteration
219
10.4 Listen und strukturelle Induktion
221
10.5 Verstärkung der Korrektheitsaussage
223
10.6 Größenverhältnisse in Bäumen
225
10.7 Binäre Charakterisierung von Bäumen
228
11 Laufzeit rekursiver Prozeduren
232
11.1 Laufzeitfunktionen
232
11.2 Beispiele
233
11.2.1 Konkatenation von Listen
233
11.2.2 Faltung von Listen
234
11.2.3 Elementtest für Listen
234
11.3 Rekursive Darstellung von Laufzeitfunktionen
235
11.4 Laufzeiten und Komplexitäten
236
11.5 Komplexität von Laufzeitfunktionen
239
11.6 Naive Komplexitätsbestimmung
241
11.7 Nebenkosten
243
11.7.1 Beispiel: Aufteilen von Listen
244
11.7.2 Beispiel: Sortieren durch Einfügen
244
11.8 Polynomieller Rekurrenzsatz
247
11.9 Exponentieller Rekurrenzsatz
248
11.10 Logarithmischer Rekurrenzsatz
249
11.10.1 Beispiel: Schnelles Potenzieren
249
11.10.2 Beispiel: Euklidscher Algorithmus
250
11.11 Linear-logarithmischer Rekurrenzsatz
252
12 Statische und dynamische Semantik
256
12.1 Abstrakte Syntax
256
12.2 Abstrakte Grammatiken
258
12.3 Statische Semantik
259
12.4 Elaborierung
262
12.5 Dynamische Semantik und Evaluierung
265
12.6 Rekursive Prozeduren
270
13 Konkrete Syntax
274
13.1 Lexikalische Syntax für Typen
274
13.2 Phrasale Syntax für Typen
276
13.2.1 Affinität
277
13.2.2 Eindeutigkeit
278
13.3 Parsing durch rekursiven Abstieg
278
13.4 Parser für Typen
281
13.5 Arithmetische Ausdrücke
284
13.5.1 Lexer
284
13.5.2 Parser
286
13.6 Konkrete Syntax für F
289
14 Datenstrukturen
294
14.1 Strukturen
294
14.2 Implementierung von Datenstrukturen
295
14.3 Abstrakte Datenstrukturen
298
14.4 Vektoren
301
14.5 Binäre Suche
303
14.6 Schlangen und Darstellungsinvarianten
305
14.7 Funktoren
307
15 Speicher und veränderliche Objekte
312
15.1 Zellen und Referenzen
313
15.2 Speichereffekte
315
15.3 Imperative Prozeduren
317
15.4 Reihungen
319
15.5 Reversieren und Sortieren von Reihungen
322
15.6 Agenden
324
15.7 Effiziente imperative Schlangen
325
15.8 Schleifen
326
15.9 Lineare Speicher
329
15.10 Lineare Darstellung von Listen
331
15.11 Lineare Darstellung von Bäumen
333
15.12 Lineare Darstellung von Ausdrücken
335
15.13 Speicherplatzbedarf bei der Programmausführung
336
16 Stapelmaschinen und Übersetzer
340
16.1 Eine Stapelmaschine
340
16.2 Arithmetische Befehle
342
16.3 Sprungbefehle und Konditionale
345
16.4 Imperative Variablen und Schleifen
346
16.5 Verwendung der Halde
348
16.6 Ein Übersetzer
350
16.7 Prozedurbefehle
354
16.8 Aufrufrahmen
356
16.9 Endaufrufe
359
16.10 Dynamische Prozeduren
361
16.11 Automatische Speicherbereinigung
362
16.12 Voll- und Halbübersetzung
364
A Klammersparregeln
368
Literaturverzeichnis
370
Index
372
Mehr eBooks vom gleichen Verlag
Mathematik für die ersten Semester, von: Wolfgang Mückenheim, Preis: 21,80 EUR
Die amerikanische Besetzung Deutschlands, von: Klaus-Dietmar Henke, Preis: 44,90 EUR
Handbuch des Marketing, von: Werner Pepels, Preis: 79,90 EUR
Kostenrechnung. (Managementwissen für Studium und Praxis), von: Dieter Rüth, Preis: 35,80 EUR
3D-Krisenmanagement, von: Ronny A. Fürst, Thomas Sattelberger, Oliver P. Heil, Preis: 29,80 EUR
Alle Preise verstehen sich inklusive der gesetzlichen MwSt.; Ersparnis im Vergleich zur Printversion














