Ein kleiner Programmierkurs - Einleitung

Wenn man davon redet, programmieren zu lernen, so ist damit meist gemeint, eine der Programmiersprachen Basic, Pascal, C/C++, Java, Python, PHP (oder wie sie alle heißen) zu lernen. Dies ist auch die richtige Wahl, wenn es um die Entwicklung kompletter Anwendungen geht.
Das Ziel dieses kleinen Kurses ist es jedoch, euch beizubringen, (kleinere) mathematische Probleme mit kleinen Programmen zu lösen. Das ist auch genau das, was ihr später im Schullaltag können solltet, um euch das Leben zu vereinfachen.

Für diese Anforderungen gibt es jede Menge mathematischer Softwarepakete, die alle ihre Stärken und Schwächen haben: Mathematica, Maple, MatLab, Derive sind die wohl bekanntesten. Selbst mit Excel kann man viele mathematische Probleme lösen. Aber auch mit diesen Programmpaketen wollen wir nicht arbeiten.


Stattdessen wird in diesem Kurs die im interaktiven Geometrie-Program Cinderella.2 eingebaute Programmiersprache CindyScript gelehrt. Der große Vorteil dieser Programmiersprache liegt in der direkten Anbindung an die geomtretische Zeichenoberfläche von Cinderella, was uns eine programmierte Steuerung der geometrischen Objekte in Cinderella ermöglicht. So können wir die Ergebnisse unserer Programme sofort auf einer visuellen Ebene erleben. Darüber hinaus ermöglicht gerade der Zugmodus von Cinderella eine sehr einfache Handhabung der Interaktion unserer Programme mit dem Benutzer. Wir brauchen uns nicht viel Gedanken ünber die Eingabe von Daten machen.Wer jetzt vielleicht eine Übersicht über die Unterschiede von CindyScript zu anderen Programmiersprachen erwartet, so wie sie am Anfang vieler Programmierbücher zu finden ist, den muss ich leider enttäuschen. Das verrate ich (noch) nicht! Zum einen müsste man, um diese Unterschiede zu verstehen, bereits andere Programmiersprachen beherrschen, was ich aber explizit nicht voraussetzen möchte.Zum anderen halte ich es für völlig egal, welche Programmiersprache man am Anfang erlernt. Das Wichtige, was man lernen muss, ist, wie ein Computer "denkt", wie er arbeitet, nach welchen Prinzipien ich ihn steuern muss. Und diese grundlegenden Prinzipien sind in den meisten Programmiersprachen sehr ähnlich umgesetzt. Dies hat zur Folge, dass es sehr viel leichter ist, neue Programmiersprachen zu lernen, sobald man erst einmal eine Programmiersprache beherrscht.


Doch nun wollen wir einfach mal anfangen. Wir starten Cinderella und sehen ein Fenster mit einer leeren euklidischen Zeichenoberfläche. Um das Programmierfenster zu öffnen wählen wir in der Menüleiste den Punkt Datei->Scripte erstellen. Auf dem Bildschirm erscheint ein weiteres Fenster, das in etwa wie folgt aussieht:

ScriptFenster

In der linken Seite des Fensters findet sich eine Liste mit verschiedenen Ereignissen, bei denen unser Programm ausgeführt werden kann. Was dies alles genau zu sagen hat, braucht uns jetzt noch nicht zu interessieren. Wichtig ist nur der Punkt "Draw". Was wir hier programmieren, wird immer dann ausgeführt, wenn die Zeichenoberfläche von Cinderella neu gezeichnet wird. Dies kann ziemlich oft sein, z.B. immer dann, wenn ein neues geometrisches Objekt erzeugt wird, eines gelöscht wird, oder ein Element im Zugmodus bewegt wird.Wir wählen also "Draw", und im Texteingabe-Feld rechts daneben erscheint der Hinweis "Scriptcode hier eingeben". Klicken wir auf diesen Text, verschwindet der Hinweis wieder und wir können anfangen unser erstes Programm zu schreiben...

Dieser Kurs ist noch im Aufbau.

Inhaltsübersicht


1 Grundlagen

1.1 „Hello World“
1.2 „Hello World“ interaktiv
1.3 Funktionen funktionieren
1.4 Schleifen - Immer wieder das gleiche
1.5 Integration durch Trapezfunktion
1.6 Zusammenfassung

2 Graphische Benutzer-Schnittstelle

2.1 Schieberegler
2.2 Knöpfe und Schalter
2.3 Punkte als Check-Buttons
2.4 Texteingabe-Felder

3 Funktionale Abhängigkeiten & Transformationen: Bewegungen neu gemacht

3.1 Punkt auf Streckenzug fixieren
3.2 Freie Punkte mit Abhängigkeiten
3.3 Zug-Modus extrem: Gemeinsames Bewegen
3.4 Alles dreht sich: Rotationen eines Polygons