Algorithmen und Datenstrukturen: Pascal-Version by Niklaus Wirth

By Niklaus Wirth

In den vergangenen Jahren wurde die Programmierung wm Rechenanlagen als diejenige Disziplin erkannt, deren Beherrschung grundlegend und entscheidend für den Erfolg vieler Entwicklungsprojekte ist und die wissenschaftlicher Behandlung und Darlegung zugänglich ist Vom Handwerk stieg sie zur akademischen Disziplin auf. Die ersten hervorragenden Beiträge zu dieser Entwicklung wurden von E. W. Dijkstra und C. A. R. Hoare geliefert Dijkstra's Notes on Struetured Programming [6J führten zu einer neuen Betrachtung der Programmierung als wissenschaftliches Thema und als intellektuelle Herausforderung. Sie bahnten den Weg zu einer "Revolution" in der Programmierung [35J. Hoare's An Axiommic Ba3is for desktop Programming [10J zeigte deutlich, dass Progamme einer exakten examine nach mathematischen Grundsätzen zugänglich sind. Beide Artikel argumentieren überzeugend, dass viele Programmierfehler vermieden werden können, wenn guy den Programmierern die Methoden und Techniken, die sie bisher intuitiv und oft unbewusst verwendeten, zur Kenntnis bringt Diese Artikel konzentrierten sich auf die Aspekte des Aufbauens und Analysierens von Programmen oder, genauer ausgedruckt, auf die Struktur der durch die Progammtexte dargestellten Algorithmen. Es ist jedoch völlig klar, dass ein systematisches und wissenschaftliches Angehen der Konstruktion von Programmen seine grösste Wirkung im Fall grosser komplexer Programme hat, die komplizierte Datenmengen bearbeiten. Folglich muss eine Methodik des Programmierens auch alle Aspekte der Datenstrukturierung behandeln. Programme sind letztlich konkrete Formulierungen abstrakter Algorithmen, die sich auf bestimmte Darstellungen und Datenstrukturen stützen. Einen wesentlichen Beitrag, Ordnung in die verwirrende Vielfalt der Terminologie und Konzepte von Datenstrukturen zu bringen, leistete Hoare durch seine Notes on Daltl Strueturing [13J.

Show description

Read Online or Download Algorithmen und Datenstrukturen: Pascal-Version PDF

Best german_4 books

Vom Vertriebsingenieur zum Market-Ing.: Kunden gewinnen mit System

Im advertising wird sehr viel Geld investiert, das Kostenbewu? tsein bzw. Controlling ist dagegen oft nur schwach ausgebildet. Die Autoren stellen in diesem Buch eine Kundenertragswertanalyse vor. Dabei wird der "Lebenszyklus" eines Kunden besonders im Invest-Bereich im Hinblick auf seinen Beitrag zum Unternehmensergebnis untersucht.

Numerische Bahnsteuerung: Beitrag zur Informationsverarbeitung und Lageregelung

Ausgehend von der Betrachtung der numerisch gesteuerten Werk zeugmaschine als ein informationsverarbeitendes procedure werden Aussagen Uber die notwendige und hinreichende Eingabedatenmen ge sowie Uber die Anforderungen an die numerische Steuerung als auch die Lageregelkreise gemacht. Ein fUr Lageregelkreise bei numerisch gesteuerten Werkzeugma schinen speziell geeignetes Optimierkriterium wird formuliert und das Berechnungsverfahren angegeben.

Historische Sozialforschung: Einführung und Überblick

Aus dem Inhalt: Historische Sozialforschung / Geschichtstheorie / Geschichte und Theorien der Sozialwissenschaften / Quantitative Methoden für die Historie / Neue Quellen- und Datenformen

Extra resources for Algorithmen und Datenstrukturen: Pascal-Version

Sample text

Die Wahl weiterer Kandidaten muss dann auf die Menge derjenigen restlichen Kurse beschränkt werden, die nicht mit den schon gewählten kollidieren. Wir nennen diese Menge die Testmenge. Wenn wir einen Kandidaten aus der Testmenge untersuchen, hängt seine endgültige Wahl davon ab, ob der Durchschnitt der bereits gewählten Kurse mit der Menge der mit dem Kandidaten kollidierenden Kurse leer ist. Dies führt zur Ausarbeitung der Anweisung gruppe: = "nächste geeignete Wahl". 30) testmenge: auswahl; BEGIN k := 1; WHILE NOT (k IN restliche) Da k := k+l; gruppe := [k] ; testmenge := restlich - konflikt[k]; FOR t := 1 Ta N Da IF t IN testmenge THEN IF konflikt[t] * gruppe = [] THEN gruppe := gruppe + [t] END Offensichtlich wird diese Lösung für die Wahl geeigneter Fächergruppen keinen Stundenplan erstellen, der in irgendeinem spezifischen Sinn optimal ist In ungünstigen Fällen kann die Zahl der Fächergruppen gleich gross sein wie die Zahl der Kurse, obwohl gleichzeitiges Abhalten von Fächern möglich wäre.

Das Einführen der Datentypen INTEGER und REAL als fundamentale Typen hat jedoch den wesentlichen Vorteil, dass solche detaillierten Angaben ausgelassen werden können und dass das System verschiedene, für seine Zwecke geeignetere 6S Darstellungen der Zahlen verwenden kann. Tatsächlich benutzen auf wissenschaftliche Berechnungen ausgerichtete Systeme ausnahmslos eine binäre Darstellung, die in fast allen Aspekten der dezimalen Darstellung überlegen ist. Dies bedeutet aber, dass der Programmierer nicht annehmen kann, Zahlen direkt von Text-Files ohne zugehörige Konversionsoperationen lesen oder schreiben zu können.

X); Sex) END (I. 56) In den meisten Programmiersprachen ist es üblich, bei den Prozeduren read und write auch Argumente vom Typ INI'EGER oder REAL zuzulassen. Diese Verallgemeinerung wäre problemlos, wenn die Typen INI'EGER und REAL als Arrays von Zeichen definiert wären, dessen Elemente die einzelnen Ziffern der Zahl darstellen. Stark auf kommerzielle Anwendungen ausgerichtete Sprachen verwenden tatsächlich solche Definitionen und benötigen eine Darstellung von Zahlen in Form von dezimalen Ziffern und des dezimalen Zahlensystems.

Download PDF sample

Rated 4.71 of 5 – based on 44 votes