Zum Hauptinhalt springen Zur Suche springen Zur Hauptnavigation springen
Beschreibung
Dieses Buch behandelt Grundlagen von Programmiersprachen, deren Verknüpfung mit realen Rechenmaschinen und - exemplarisch - Algorithmen. Das Ziel des Buches ist es, eine solide Basis für das Studium der Informatik zu legen. Es ist ins­ besondere für Studenten im Grundstudium des Studienganges Informatik gedacht. Ein Programm ist nur dann brauchbar, wenn es das gestellte Problem korrekt löst, und dies darüber hinaus mit der gewünschten Effizienz tut. Aussagen über die Korrektheit und Effizienz eines Programms sind nur dann möglich, wenn die verwendete Programmiersprache exakt definiert ist, d.h., wenn die Menge der Pro­ gramme (Syntax) und deren Bedeutung (Semantik) festliegen. Die Definition von Syntax und Semantik nimmt daher in diesem Buch einen wichtigen Platz ein. For­ male Definitionen werden erst dann lebendig, wenn sie auf einem guten intuitiven Verständnis aufbauen, und wenn sie zu Folgerungen in der Form von Sätzen führen. Daher enthält dieses Buch eine große Anzahl von Beispielen, Sätzen und Aufgaben. Die Grundlagen der Programmiersprachen werden eingeführt anhand einer spezifischen Programmiersprache, PROSA genannt (PROgrammiersprache SAar­ brücken). PROSA ist der Programmiersprache Pascal sehr ähnlich, weicht aber in einigen Punkten (z.B. dynamische Felder, geschachtelte Verbunde) aus didaktischen Gründen ab. Die Abweichungen dienen zum einen der Vereinfachung, und zum an­ deren der lllustration einiger Konzepte, die Pascal nicht kennt. Die Benutzung von Pascal in einem begleitenden Programmierpraktikum stellt aber keinerlei Problem dar.
Dieses Buch behandelt Grundlagen von Programmiersprachen, deren Verknüpfung mit realen Rechenmaschinen und - exemplarisch - Algorithmen. Das Ziel des Buches ist es, eine solide Basis für das Studium der Informatik zu legen. Es ist ins­ besondere für Studenten im Grundstudium des Studienganges Informatik gedacht. Ein Programm ist nur dann brauchbar, wenn es das gestellte Problem korrekt löst, und dies darüber hinaus mit der gewünschten Effizienz tut. Aussagen über die Korrektheit und Effizienz eines Programms sind nur dann möglich, wenn die verwendete Programmiersprache exakt definiert ist, d.h., wenn die Menge der Pro­ gramme (Syntax) und deren Bedeutung (Semantik) festliegen. Die Definition von Syntax und Semantik nimmt daher in diesem Buch einen wichtigen Platz ein. For­ male Definitionen werden erst dann lebendig, wenn sie auf einem guten intuitiven Verständnis aufbauen, und wenn sie zu Folgerungen in der Form von Sätzen führen. Daher enthält dieses Buch eine große Anzahl von Beispielen, Sätzen und Aufgaben. Die Grundlagen der Programmiersprachen werden eingeführt anhand einer spezifischen Programmiersprache, PROSA genannt (PROgrammiersprache SAar­ brücken). PROSA ist der Programmiersprache Pascal sehr ähnlich, weicht aber in einigen Punkten (z.B. dynamische Felder, geschachtelte Verbunde) aus didaktischen Gründen ab. Die Abweichungen dienen zum einen der Vereinfachung, und zum an­ deren der lllustration einiger Konzepte, die Pascal nicht kennt. Die Benutzung von Pascal in einem begleitenden Programmierpraktikum stellt aber keinerlei Problem dar.
Über den Autor
Peter Sanders is a professor of computer science at the Karlsruhe Institute of Technology. He is a leading researcher in the area of theoretical and experimental algorithm analysis, in particular related to efficient algorithms for parallel processing and communication in networks. He won the Gottfried Wilhelm Leibniz Prize of the German Research Foundation in 2012.

Kurt Mehlhorn has been a professor of computer science at Saarland University since 1975, and a director of the Max Planck Institute for Informatics in Saarbrücken. He was appointed a Fellow of the ACM (1999) "for important contributions in complexity theory and in the design, analysis, and practice of combinatorial and geometric algorithms." He has coauthored over 250 refereed conference papers and journal articles, in collaboration with 200 researchers. He received the Gottfried Wilhelm Leibniz Prize of the German Research Foundation in 1987 and the Konrad Zuse Medal of the German Society for Informatics in 1995.

Martin Dietzfelbinger is a professor of computer science at the Ilmenau University of Technology. His research interests include complexity theory and algorithms, in particular the design and analysis of randomized data structures and algorithms, hash functions, applications of hashing, sorting, algorithm engineering, and the complexity of parallel and distributed computation.

Roman Dementiev is a senior staff application engineer in the Intel Architecture, Graphics and Software group. He holds a Ph.D. in computer science from Saarland University. His interests include parallel algorithms, compute accelerators and processor architectures, hardware transactional memory, hardware performance and power monitoring, memory hierarchies, software libraries, and scalable software architectures.
The authors have considerable experience teaching on the topic of algorithms and working on related industrial projects.
Inhaltsverzeichnis
I Die formalen Grundlagen.- 1.1 Relationen.- 1.2 Funktionen.- 1.3 Zeichen und Worte.- 1.4 Formale Sprachen und kontextfreie Grammatiken.- 1.5 Rekursive Definition von Funktionen.- 1.6 Attributierte Grammatiken.- 1.7 Mathematische Maschinen.- II Ausdrücke.- 2.1 Vollständig geklammerte Ausdrücke.- 2.2 Unvollständig geklammerte Ausdrücke mit Prioritäten.- III PROSA, eine einfache Programmiersprache.- 3.1 Syntax, Kontextbedingungen und Semantik.- 3.2 Objekte und Typen.- 3.3 Ein PROSA-Programm.- 3.4 Die PROSA-Maschine.- 3.5 Der Deklarationsteil.- 3.6 Das Programm.- 3.7 Der Anweisungsteil.- 3.8 Zusammenfassung.- 3.9 Korrektheitsbeweise.- 3.10 Laufzeit und Termination.- 3.11 Weitere Beispiele.- IV Datenstrukturen.- 4.1 Felder.- 4.2 Verbunde und Zeiger.- 4.3 Die erweiterte Syntax und Semantik von PROSA.- V Übersetzung von PROSA nach RESA, Teil 1.- 5.1 Die Rechenanlage RESA.- 5.2 Die Symboltabelle in Übersetzern.- 5.3 Die Übersetzung von primitivem PROSA nach RESA.- 5.4 Elimination von Konstanten- und Verbundbezeichnungen.- 5.5 Zurückführung des Datentyps bool auf den Datentyp int.- 5.6 Darstellung von Verbunden und Zeigern durch Felder.- 5.7 Mehrdimensionale Felder.- 5.8 Übersetzung von Ausdrücken in primitive Ausdrücke.- VI Prozeduren.- 6.1 Einführung.- 6.2 Vertiefung und weitere Beispiele.- 6.3 Die Syntax von PROSA mit Prozeduren.- 6.4 Die Semantik von PROSA mit Prozeduren.- VII Übersetzung von PROSA nach RESA, Teil 2.- 7.1 Die Speicherorganisation.- 7.2 Speicherzugriff.- 7.3 Die Erzeugung des RESA-Programms.- VIII Spracherweiterungen.- 8.1 Ein Modulkonzept.- 8.2 Polymorphismus.- 8.3 Verallgemeinerte Kontrollstrukturen.- 8.4 Parallelismus.- Ergänzende und weiterführende Literatur.- Schlagwortverzeichnis.- Verzeichnis der Notationen.- Verzeichnis derwichtigsten Nichtterminale.
Details
Erscheinungsjahr: 1986
Fachbereich: Allgemeines
Genre: Mathematik, Medizin, Naturwissenschaften, Technik
Rubrik: Naturwissenschaften & Technik
Medium: Taschenbuch
Reihe: Leitfäden und Monographien der Informatik
Inhalt: 448 S.
34 s/w Illustr.
448 S. 34 Abb.
ISBN-13: 9783519022541
ISBN-10: 3519022540
Sprache: Deutsch
Einband: Kartoniert / Broschiert
Autor: Mehlhorn, Kurt
Wilhelm, Reinhard
Hersteller: Vieweg+Teubner Verlag
Leitfäden und Monographien der Informatik
Verantwortliche Person für die EU: Springer Vieweg in Springer Science + Business Media, Abraham-Lincoln-Str. 46, D-65189 Wiesbaden, juergen.hartmann@springer.com
Maße: 244 x 170 x 25 mm
Von/Mit: Kurt Mehlhorn (u. a.)
Erscheinungsdatum: 01.10.1986
Gewicht: 0,774 kg
Artikel-ID: 106826828