Bültmann & Gerriets
Struktur und Interpretation von Computerprogrammen
Eine Informatik-Einführung
von Harold Abelson, Gerald J. Sussman
Übersetzung: S. Daniels-Herold
Verlag: Springer Berlin Heidelberg
E-Book / PDF
Kopierschutz: PDF mit Wasserzeichen

Hinweis: Nach dem Checkout (Kasse) wird direkt ein Link zum Download bereitgestellt. Der Link kann dann auf PC, Smartphone oder E-Book-Reader ausgeführt werden.
E-Books können per PayPal bezahlt werden. Wenn Sie E-Books per Rechnung bezahlen möchten, kontaktieren Sie uns bitte.

ISBN: 978-3-662-01163-8
Auflage: 2. Aufl. 1993
Erschienen am 18.04.2013
Sprache: Deutsch
Umfang: 651 Seiten

Preis: 39,99 €

39,99 €
merken
Inhaltsverzeichnis

1 Konstruktion von Abstraktionen mit Prozeduren.- 1.1 Die Programmelemente.- 1.1.1 Ausdrücke.- 1.1.2 Namen und Umgebungen.- 1.1.3 Auswertung von Kombinationen.- 1.1.4 Zusammengesetzte Prozeduren.- 1.1.5 Das Substitutionsmodell für Prozeduranwendungen.- 1.1.6 Bedingte Ausdrücke und Prädikate.- 1.1.7 Beispiel: Berechnung der Quadratwurzel nach dem Newtonschen Iterationsverfahren.- 1.1.8 Prozeduren als "Black-box"-Abstraktionen.- 1.2 Prozeduren und Prozesse.- 1.2.1 Lineare Rekursion und Iteration.- 1.2.2 Baumrekursion.- 1.2.3 Größenordnungen.- 1.2.4 Potenzrechnung.- 1.2.5 Der größte gemeinsame Teiler.- 1.2.6 Beispiel: Primzahlen.- 1.3 Abstraktionen mit Prozeduren höherer Ordnung.- 1.3.1 Prozeduren als Parameter.- 1.3.2 Konstruktion von Prozeduren mit lambda.- 1.3.3 Prozeduren als allgemeine Methode.- 1.3.4 Prozeduren als Ergebnis.- 2 Konstruktion von Abstraktionen mit Daten.- 2.1 Einführung in die Datenabstraktion.- 2.1.1 Beispiel: Arithmetische Operatoren für rationale Zahlen.- 2.1.2 Abstraktionsbarrieren.- 2.1.3 Was sind eigentlich Daten?.- 2.1.4 Beispiel: Arithmetik mit Intervallen.- 2.2 Datenhierarchien.- 2.2.1 Darstellung von Sequenzen.- 2.2.2 Darstellung von Baumstrukturen.- 2.2.3 Symbole und die Notwendigkeit des quote.- 2.2.4 Beispiel: Symbolisches Differenzieren.- 2.2.5 Beispiel: Darstellung von Mengen.- 2.2.6 Beispiel: Huffman-Bäume.- 2.3 Mehrfachdarstellungen abstrakter Daten.- 2.3.1 Darstellungen komplexer Zahlen.- 2.3.2 Manifeste Typen.- 2.3.3 Datengesteuerte Programmierung.- 2.4 Systeme mit generischen Operatoren.- 2.4.1 Generische Arithmetikoperatoren.- 2.4.2 Kombination von Operanden verschiedenen Typs.- 2.4.3 Beispiel: Symbolische Algebra.- 3 Modularität, Objekte und Zustände.- 3.1 Zuweisungen und lokale Zustände.- 3.1.1 Lokale Zustandsvariablen.- 3.1.2 Der Preis der Zuweisung.- 3.1.3 Die Vorzüge der Zuweisung.- 3.2 Das Umgebungsmodell der Auswertung.- 3.2.1 Die Auswertungsregeln.- 3.2.2 Auswertung einfacher Prozeduren.- 3.2.3 Rahmen als Ort, an dem sich der lokale Zustand befindet.- 3.2.4 Interne Definitionen.- 3.3 Modelle mit veränderbaren Daten.- 3.3.1 Veränderbare Listenstrukturen.- 3.3.2 Darstellung von Warteschlangen.- 3.3.3 Darstellung von Tabellen.- 3.3.4 Ein Simulator für digitale Schaltkreise.- 3.3.5 Propagierung von Beschränkungen.- 3.4 Datenströme.- 3.4.1 Datenströme als Standardschnittstellen.- 3.4.2 Prozeduren höherer Ordnung für Datenströme.- 3.4.3 Implementierung von Datenströmen.- 3.4.4 Datenströme unendlicher Länge.- 3.4.5 Datenströme und verzögerte Auswertung.- 3.4.6 Mit Datenströmen Modelle von lokalen Zuständen bilden.- 4 Metalinguistische Abstraktion.- 4.1 Der metazirkuläre Evaluator.- 4.1.1 Das Kernstück des Evaluators.- 4.1.2 Darstellung von Ausdrücken.- 4.1.3 Bearbeitung von Umgebungen.- 4.1.4 Der Evaluator als Lisp-Programm.- 4.1.5 Behandlung von Ausdrücken als Programm.- 4.2 Variationen zu einem Schema.- 4.2.1 Auswertung in normaler Reihenfolge.- 4.2.2 Andere Arten der Bindung.- 4.3 Module.- 4.3.1 Verwendung von Umgebungen zum Erzeugen von Modulen.- 4.3.2 Module in einem System für generische Arithmetik.- 4.4 Logikprogrammierung.- 4.4.1 Deduktiver Informationsabruf.- 4.4.2 Wie das Anfragesystem funktioniert.- 4.4.3 Ist Logikprogrammierung Mathematische Logik?.- 4.5 Implementierung des Anfragesystems.- 4.5.1 Die Treiberschleife und Instantiierung.- 4.5.2 Der Evaluator.- 4.5.3 Finden von Aussagen durch Mustervergleich.- 4.5.4 Regeln und Unifikation.- 4.5.5 Die Datenbank.- 4.5.6 Weitere nützliche Prozeduren.- 5 Rechnen mit Registermaschinen.- 5.1 Entwurf von Registermaschinen.- 5.1.1 Eine Sprache zur Beschreibung von Registermaschinen.- 5.1.2 Abstraktion beim Entwurf von Maschinen.- 5.1.3 Unterprogramme.- 5.1.4 Implementierung der Rekursion mit einem Keller.- 5.1.5 Ein Simulator für Registermaschinen.- 5.2 Der Evaluator mit expliziter Steuerung.- 5.2.1 Der Kern des Evaluators mit expliziter Steuerung.- 5.2.2 Auswerten von Sequenzen und Endrekursion.- 5.2.3 Bedingte Ausdrücke und andere Sonderformen.- 5.2.4 Laufenlassen des Evaluators.- 5.2.5 Interne Definitionen.- 5.3 Übersetzen.- 5.3.1 Die Struktur des Übersetzers.- 5.3.2 Übersetzen Übersetzen von Ausdrücken.- 5.3.3 Datenstrukturen des Übersetzers.- 5.3.4 Elementare Codegeneratoren.- 5.3.5 Ein Beispiel für übersetzten Code.- 5.3.6 Die Schnittstelle zwischen übersetztem Code und dem Evaluator.- 5.3.7 Lexikalische Adressierung.- 5.4 Speicherzuteilung und Speicherbereinigung.- 5.4.1 Speicher als Vektoren.- 5.4.2 Als ob der Speicher unendlich wäre.- Anhang zur deutschen Ausgabe.- Stichwortverzeichnis.