PDF, 97KB - Westfälische Wilhelms-Universität Münster
PDF, 97KB - Westfälische Wilhelms-Universität Münster
PDF, 97KB - Westfälische Wilhelms-Universität Münster
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Kapitel 2: Das Konzept „Algorithmus“<br />
und um das Verständnis für die Abstraktionsstufe „Quellcode“ im Prozess der<br />
schrittweisen Verfeinerung.<br />
Der Quellcode kann für sich genommen noch nicht auf einer konkreten Maschine<br />
ausgeführt werden. Vielmehr muss er in eine Repräsentationsform umgesetzt<br />
werden, die einer Maschine (dem Computer) zugänglich ist. Dazu wird der<br />
Quellcode von einem Compiler der benutzten Programmiersprache in einen<br />
Maschinencode bzw. in Maschinensprache übersetzt. Erst jetzt kann das Programm,<br />
und mit ihm der Algorithmus zum laufen gebracht werden!<br />
Der Maschinencode stellt die niedrigste Abstraktionsstufe dar. Eine algorithmische<br />
Beschreibung in Maschinencode ist jetzt maschinenabhängig, wohingegen eine<br />
Beschreibung in Form von Quellcode nach wie vor von der konkreten Maschine<br />
abstrahiert. In Java kann z.B. ein und derselbe Quellcode in verschiedene<br />
Maschinencodes übersetzt werden. Das compilierte Programm liegt in diesem<br />
Beispiel als „Quasi-Maschinencode“ für die Java-Virtual-Machine vor, dem so<br />
genannten Bytecode. Dieser sei aus Platzgründen nicht an dieser Stelle, sondern im<br />
Anhang A vollständig aufgeführt.<br />
Allerdings ist der Quellcode insoweit spezifischer als ein Pseudocode mit gleicher<br />
Bedeutung, als dass der Quellcode ausschließlich für die Programmiersprache gilt,<br />
in der er formuliert wurde. Soll beispielsweise ein in der Programmiersprache Java<br />
geschriebener Quellcode von einem Compiler für die Programmiersprache C++ in<br />
Maschinencode übersetzt werden, wird dies nicht ohne weiteres gelingen.<br />
Anhand dieses eher simplen Beispiels kann leicht der Eindruck entstehen, das sich<br />
der Prozess der schrittweisen Verfeinerung nur über wenige Verfeinerungsstufen<br />
(in diesem Beispiel zwei Stufen) erstreckt. Typischerweise führt eine schrittweise<br />
Verfeinerung zu deutlich mehr als zwei Ableitungsschritten.<br />
Die Folgende Abbildung soll noch einmal den Entstehungsprozess von Algorithmen<br />
veranschaulichen.<br />
12