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 />
Um den Algorithmus maschinell (auf einem Computer) ausführen zu lassen,<br />
überführen wir den in der Programmiersprachensyntax beschriebenen Algorithmus<br />
in ein Programm. Hierzu muss die algorithmische Beschreibung um<br />
programmiersprachenspezifische Beschreibungsmittel und abstrakte Befehle<br />
(Befehle, die unabhängig von einer konkreten Maschine sind), ergänzt werden. Ist<br />
dies geschehen, ergibt sich der so genannte Quellcode. Hier wird auch deutlich, dass<br />
ein Programm nicht mit einem Algorithmus gleichgesetzt werden kann. Vielmehr<br />
stellt es eine notwendige Hülle dar, in welcher durchaus auch mehrere Algorithmen<br />
verpackt sein können. Denkbar sind auch Programme ohne eine konkrete<br />
Algorithmenbeschreibungen oder mit ausschließlich trivialer algorithmischer<br />
Formulierung.<br />
Für das Beispiel wird im Folgenden ein repräsentativer Quellcode aus (jetzt ohne<br />
Kommentare und in Java-Syntax) dargestellt.<br />
public class InsertionSort {<br />
private static int[] array = {13,4,5,2,6,1};<br />
public static void main(String args[]) {<br />
insertionSort(array);<br />
System.out.println(“Ergebnis: ”);<br />
for (int i = 0; i < array.length; i++) {<br />
System.out.println(array + “ ”);<br />
}<br />
}<br />
public static void insertionSort(int[] array) {<br />
for (int i = 1; i < array.length; i++) {<br />
int tmp = array[i];<br />
int j = i - 1;<br />
}<br />
}<br />
}<br />
while ((j >= 0) && (tmp < array[j])) {<br />
array[j+1] = array[j];<br />
j = j – 1;<br />
}<br />
array[j+1] = tmp;<br />
Kurze Erläuterung: das Programm sortiert die vorgegebene Menge {13, 4, 5, 2, 6, 1}<br />
ganzer Zahlen und gibt diese anschließend auf dem Bildschirm aus. Auf die<br />
Möglichkeit der manuellen Eingabe wurde verzichtet, um unnötige Komplexität am<br />
Quellcode zu vermeiden. Schließlich geht es in diesem Beispiel um Anschaulichkeit<br />
11