Kapitel 3 Einführung in die Programmierung
Was ist eine Programmiersprache?
Um eine Programmiersprache zu beherrschen, sind einige Grundkenntnisse notwendig. Dieses Kapitel verrät Ihnen die Ideen hinter Programmiersprachen im Allgemeinen und die Konzepte der Sprache ActionScript im Speziellen.
Fast jede Programmiersprache verwendet Metaphern aus der realen Welt, um das Erlernen und Anwenden zu erleichtern. Verglichen mit der realen Welt ist die Funktionsweise von Programmiersprachen twie ActionScript aber sehr einfach. Ganz grob gesagt ist die Aufgabe einer Programmiersprache nichts anderes, als die Lösung eines Problems so zu beschreiben, dass ein Computer diese Lösung »erarbeiten« kann. Und dank dieser Metaphern sind auch Menschen in der Lage, die Lösung eines Problems in einer Programmiersprache computerverständlich zu formulieren.
3.1 Vom Problem zum Programm
Sie haben ein Problem, denn Sie haben großen Hunger auf Pfannkuchen (auch Palatschinken oder Eierkuchen genannt). Also entwickeln Sie ein Rezept zur Zubereitung von Pfannkuchen. Die Arbeit mit einer Programmiersprache gestaltet sich beinahe genauso, und ein ActionScript-Programm unterscheidet sich nur unwesentlich von einem Kochrezept: Am Anfang steht immer das Problem und die Suche nach einer Lösung.
Pfannkuchen
In diesem Kapitel gehe ich immer wieder auf eines meiner zahlreichen Lieblingsgerichte ein: den Pfannkuchen. Und an dieser Stelle verrate ich Ihnen das Standardrezept für meine Pfannkuchen.
Zutaten: 100g Mehl, 1/8l Milch, 3 Eier, eine Prise Salz und Backfett, für den Belag Zucker oder Marmelade.
Zubereitung: Mehl und nach und nach Milch und Eier in eine Rührschüssel geben. Leicht salzen und zu einem nicht zu flüssigen Teig verrühren.
So viel Fett in der Pfanne heiß werden lassen, dass der Boden gerade bedeckt ist. Etwas Teig hinzugeben und die Pfanne schwenken, damit der Teig sich nach allen Seiten gleichmäßig verteilt. Unterseite leicht bräunen. Anschließend den Pfannkuchen wenden und von der anderen Seite bräunen.
Den fertigen Pfannkuchen auf eine Platte legen und zuckern oder mit Marmelade bestreichen. Guten Appetit.
Auch wenn sich meine sonstigen Kochkünste im Rahmen halten, bereite ich die weltbesten Pfannkuchen in zahlreichen Varianten zu: Je nach Lust und Laune ist neben der Milch auch ein wenig Sprudelwasser möglich, und es dürfen anstelle von drei auch vier Eier sein. Besonders »fluffig« wird der Pfannkuchen durch das vorherige Schlagen des verwendeten Eiweiß. Geschmacklich interessant ist es, den Teig mit Obst (z.B. Apfelscheiben) zu versehen.
3.1.1 Probleme mit den Problemen
Hier klicken, um das Bild zu Vergrößern
Abbildung 3.1
Große Probleme lassen sich besser lösen, wenn zuerst nur Teilprobleme bearbeitet werden.
Noch bevor die Lösung eines Problems in Form eines Programms erstellt werden kann, muss das Problem klar definiert sein. Und da es sich in den seltensten Fällen bei dem Problem um konkrete, sondern meist eher um abstrakte Zusammenhänge handelt, gestaltet sich dieser Prozess schwierig. Leichter wird es in der Regel, wenn Sie ein großes Problem in viele kleine Teilprobleme zerlegen. Bei unserem Pfannkuchen-Beispiel kann das komplette Problem gut in die zwei Teilprobleme »Teig mischen« und »Pfannkuchen in der Pfanne bräunen« zerlegt werden. Oder anstelle eines kompletten Weltraumspiels beschäftigen Sie sich zuerst einmal mit den Problemen »Raumschiff steuern«, »Asteroiden erzeugen« und »Asteroiden abschießen«. Die Lösungen dieser drei Teilprobleme fügen Sie dann zu einer großen Lösung für das eigentliche Problem zusammen.
3.1.2 Algorithmen und Programme
Hier klicken, um das Bild zu Vergrößern
Abbildung 3.2
Ein Algorithmus kann zu vielen Programmen führen.
Auf dem Weg vom Problem zum Programm gibt es einen kleinen Zwischenschritt: den Algorithmus. Dabei handelt es sich um ein Verfahren zur Problemlösung. Erst wenn der Algorithmus in einzelne Anweisungen einer spezifischen Sprache umgesetzt wird (Implementierung), spricht man von einem Programm. Der Algorithmus entspricht somit der substanziellen Idee des Erfinders, das Programm ist nur noch die Umsetzung dieser Idee. Und diese kann in unterschiedlichen Sprachen formuliert sein, der eigentliche Algorithmus bleibt der gleiche. Auch bei Ihrer Arbeit mit ActionScript sollten Sie noch vor der Programmierung die eigentliche Idee sprachunabhängig formulieren: Schließlich kann es schnell passieren, dass Sie das ursprüngliche Problem mit einer anderen Technologie lösen wollen. Oft stehen für die Lösung des gleichen Problems auch mehrere unterschiedliche Algorithmen zur Verfügung. Hier gilt es dann, den besten Algorithmus zu finden.
Einen Algorithmus dürfen Sie auch umgangssprachlich oder in einer selbst definierten Sprache verfassen. Das davon abgeleitete Programm muss sich jedoch an die Regeln der verwendeten Sprache halten. Diese Regeln bestehen im Wesentlichen aus der Grammatik (Syntax) und der Bedeutung der einzelnen Bestandteile (Semantik). Das ist auch bei einer normalen Sprache nicht anders: Hier müssen Sie sich ebenfalls an die Grammatik halten und Bestandteile wählen, die eine Bedeutung haben und somit Ihren Sätzen einen Sinn geben.
Algorithmen
Der Begriff Algorithmus leitet sich von dem im 9. Jahrhundert lebenden persisch-arabischen Mathematiker Ibn Műsâ Al-Chwârismî ab. Heute ist der Algorithmus als Verfahren zur Problemlösung eines der zentralen Themen in der Informatik.
3.1.3 Daten
Programme gehorchen meistens EVA. Dabei steht EVA für Eingabe, Verarbeitung und Ausgabe. Für die Eingabe und Ausgabe sowie die Zwischenschritte benötigt ein Programm Wertebehälter. Denn irgendwo muss es sich ja die Werte der Eingabe und mögliche Zwischenschritte bis zur Ausgabe merken. Diese Wertebehälter heißen Variablen oder bei der Objektorientierung Eigenschaften.
Jede Variable besteht aus einem Bezeichner – sozusagen ihrem Namen – und einem Inhalt sowie einem Typ. Dabei verhält es sich wie bei einer Vorratsbox: Diese ist von einem speziellen Typ und kann beispielsweise nur für feste Stoffe und nicht für Flüssigkeiten eingesetzt werden. Der Inhalt sollte diesem Typ entsprechen. Vielleicht ist Mehl in der Box. Und damit man die Box auch immer wieder gut findet, erhält sie einen Bezeichner und wird beschriftet.
3.1.4 Datenstrukturen
Viele Algorithmen erfordern zusammengesetzte Daten, die über einfache Variablen hinausgehen. Deren Struktur legen Sie in einer Programmiersprache wie ActionScript meist über Objekte fest. Dabei ist ein Objekt in einer Programmiersprache nichts anderes als ein Objekt in der realen Welt mit dem kleinen Unterschied, dass es abstrakt ist.
So wie sich Objekte in der realen Welt durch Eigenschaften (z.B. die Farbe) und Fähigkeiten (z.B. fahren) beschreiben lassen, geht das auch in der Programmierung. Objekte zeichnen sich immer durch ihre Eigenschaften und Fähigkeiten (auch Methoden genannt) aus. Außerdem kann ein Objekt sowohl in der realen Welt als auch im Computer wieder aus anderen Objekten bestehen.
Objekte, die auf diese Weise geschaffen werden, nennt man Datenstrukturen. Eine Programmiersprache gibt Ihnen die Möglichkeit, alle relevanten Objekte sowie Veränderungen dieser Objekte zu definieren. Bei einem Kochrezept sind die Zutaten und das fertige Gericht die Objekte. Die Anweisungen im Rezept führen die gewünschten Veränderungen der Datenstruktur durch oder erzeugen neue Objekte. Bei einer Flash-Anwendung sind Ihre Zutaten Movieclips oder XML-Elemente, die z.B. durch Bewegen eines Movieclips oder das Hinzufügen eines XML-Attributs ein neues »Gericht« ergeben!
// Datenstruktur Pfannkuchen (hier ohne Fähigkeiten)
meinPfannkuchen = new Object();
meinPfannkuchen.mehlInGramm = 100;
meinPfannkuchen.milchInLiter = 0.125;
meinPfannkuchen.eierInStück = 3;
meinPfannkuchen.salzInPrisen = 1;
Der Aufbau und die Struktur der verwendeten Daten sind sehr wichtig, damit Algorithmen optimal funktionieren. Aus diesem Grund sollten Sie sich viel Zeit für den Entwurf der Datenstruktur nehmen. Bei einem Kochrezept kann es beispielsweise fatal sein, wenn Sie keinen gemahlenen Pfeffer, sondern Pfefferkörner, aber keine Pfeffermühle haben. Auch die Organisation einer Adressliste in einer Flash-Anwendung ist von großer Bedeutung, denn andernfalls finden Sie die Adressen nicht oder nicht schnell genug.
Daten und Informationen
Eine Information ist ein mit Bedeutung versehenes Datum (Datum ist die Einzahl von Daten). Bei 0,125 handelt es sich erst einmal um ein Datum in Form einer Zahl. Sobald es jedoch mit der Menge Milch für das Pfannkuchen-Rezept in Verbindung gebracht wird, ist es eine Information.
|