GAME of CODES: aus Algorithmus wird Code

GAME of CODES: vom Algorithmus zum Programm

Sicherlich kennen Sie den Begriff Algorithmus aus den Medien. Was aber bedeutet der Begriff Algorithmus?

Ein Algorithmus ist ein (Computer-)Verfahren zur Lösung von Problemkategorien (oder auch Problemklassen; „Klasse“ diesmal aber nicht im Sinne der Objektorientierung verstanden). Das Verfahren muss durch die Anwendung wohldefinierter Einzelschritte in endlicher Zeit ein Ergebnis liefern. Damit ein Computer einen Algorithmus ausführen kann muss dieser in einer Programmiersprache (= algorithmische Sprachen) formuliert werden.

Der Begriff “Algorithmus” geht zurück auf den orientalischen Universalgelehrten al-Chwarizmi, der im 9. Jhd. in Bagdad lebte und im “Haus der Weisheit” arbeite und dabei u.a. Berechnungsverfahren entwickelte (z.B. für die Berechnung der Höhe fälliger Steuern).

Erst der Algorithmus, dann das Programm

Bevor ein Programm  (egal in welcher Programmiersprache) zur Lösung eines Problems geschrieben werden kann, benötigt man eine Lösungsidee! Wie der Name schon sagt, ist die Lösungsidee eine Idee über die Vorgehensweise zu Herstellung der Lösung. In aller Regel muss diese erste Idee mehrfach überdacht und dabei präzisiert werden, bis die Lösungsidee “ausgegoren” und damit mehr als eine “Idee” ist. Wenn wir mit der Idee soweit sind, dann liegt (unter Umständen) der Algorithmus – die präzise Handlungsanweisung – vor.

Wenn diese “Handlungsanweisung” für einen Computer geschrieben wird, z.B. in der Programmiersprache Java, dann liegt uns ein Programm zu Lösung des Problems vor, für das wir ursprünglich mit der “Lösungsidee” gestartet sind.

So geht’s los: das Problem “knacken”

Streng genommen kommt vor dem “Problem knacken” noch ein Schritt: das Problem muss verstanden werden! Schon hier hilft die Kommunikation mit dem Problemsteller und mit anderen engagierten Beteiligten, die bei der Problemlösung mitmachen möchten.

Wenn also das Problem richtig verstanden ist und der Algorithmus soweit “steht”, dass er mit einer Programmiersprache formuliert werden kann, kommt für uns Java ins Spiel: wie können die algorithmischen wohldefinierten Einzelschritte mit Java notiert werden, damit wir die Lösung erhalten, wenn das Programm 1. geschrieben, 2. übersetzt und 3. ausgeführt ist?

Dann beginnt der Spaß, im GAME of CODES

Das Programm müssen wir selbst schreiben – dafür gibt es heute noch kein zufriedenstellendes Werkzeug, das für uns das Programmschreiben übernimmt! Wann das soweit sein wird, kann ich nicht sagen. Schon meine Professoren hatten seinerzeit an der TU München in der Fakultät Informatik die Hoffnung, dass dies eines Tages soweit sein wird. Wir werden das wohl noch eine Weile selbst übernehmen müssen.

Wir schreiben unsere zum Programm kristallisierten Algorithmen mit Eclipse. Eclipse unterstütz uns dabei, um syntaktisch/grammatikalisch korrekte Programme zu notieren. Haben wir unser Programm geschrieben, dann kann Eclipse für uns das Übersetzen und Ausführen übernehmen (Eclipse fasst die beiden Schritte zusammen).

Im nächsten Blogpost skizzieren wir die elementaren Kontrollstrukturen, mit deren Hilfe wir die wohldefinierten Einzelschritte des Algorithmus mit der Programmiersparche Java formulieren werden. Dies wohldefinieren Einzelschritte werden dann mit den Daten und Datentypen arbeiten, die wir im Blogpost “Basisdatentypen – etwas Theorie muss sein” kennengelernt haben.

Benutzer-Avatar

Autor: Prof. Illik Hans

Studium der Wirtschaftsinformatik an der TUM Technischen Universität in München. Berufliche Stationen: Hardwarehersteller in München - Softwarehäuser in München - eigene Firmen in München, Stuttgart und Birmingham/UK- mehrere Bücher zum Programmieren und eCommerce -Lehraufträge an verschiedenen Hochschulen in München, Stuttgart, Frankfurt - Professur an der HFU - Softwareentwickler (Ada/C/C++/C#/PHP/Python/Java) - Berater - Coach - Betriebsystemen (Unix-Portierungen) und Implementierung von eShops (Magento u.a.).

2 Gedanken zu „GAME of CODES: aus Algorithmus wird Code“

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.