02.11.2013 Aufrufe

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

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!