Programmieren mit xlogo XLogo ist eine einfache Programmiersprache um die Grundbegriffe des Programmierens zu erlernen. Wir wollen hier der Frage nachgehen, was Programmieren überhaupt ist. Ich möchte diese Frage nicht einfach beantworten sondern Sie selbst entdecken lassen In der Sprache Logo geht es darum mit Hilfe einer Schildkröte Zeichnungen zu erstellen. Wir geben einer Schildkröte Anweisungen, wie sie sich bewegen muss und betrachten die Spur die sie nach sich zieht. Unsere Schildkröte versteht nur wenige Befehle. Geben wir ihr einen anderen Befehl, so versteht Sie uns nicht und bewegt sich nicht. Die Schildkröte versteht nur eindeutige Befehle. Sie versteht leider auch nicht was Sie zeichnen soll, sie macht nur das was man Ihr sagt. Steuerung der Schildkröte Wie sind die wichtigsten Befehle um die Schildkröte zeichnen zu lassen. Die roten Zahlen geben an, wie weit sich die Schildkröte bewegen soll oder um wie viele Grad sie sich drehen soll. Wir schreiben Die Befehle einfach hinter einander mit einem kleinen Abstand. Schon rennt Sie fröhlich drauflos. Programm Ein Programm um Logo auszutesten findet man auf der Internetseite http://xlogo.tuxfamily.org/ #vorwärts bewegen #rückwärts bk 100 #drehen nach rechts #drehen nach links lt 90 Dieses Programm wurde in Java geschrieben und funktioniert auf jedem Betriebssystem. aufgaben xlogo.docx 1 13.06.2007
Aufgaben a) Schreibe das folgende Programm für die Schildkröte am Start. Skizzieren Sie in das Feld, wie die Ausgabe aussieht. fd 150 fd 50 lt 90 fd 150 fd 50 b) Schreibe das folgende Programm. Zeichne das so entstandene Bild. fd 260 fd 80 fd 50 c) Schreibe Programme, um folgende Bilder zu zeichnen. a. Quadrat mit Seitenlänge 200 b. vier Quadrate mit Seitenlängen 100 c. horizontale Strecke 50, vertikale Strecke 30 aufgaben xlogo.docx 2 13.06.2007
Wiederholen von Befehlslisten Wenn wir ein Quadrat zeichnen wollen, dann geht das mit dem Programm Wir beobachten, dass sich die beiden Befehle vier Mal wiederholen. Wäre es nicht einfacher, dem Rechner zu sagen, dass er diese zwei Befehle vier Mal wiederholen soll? Wir können das wie folgt tun: Mit dem Befehl repeat gibt man an, dass eine Liste von Befehlen wiederholt werden soll. Die Zahl nach repeat gibt an, wie oft die Befehlsliste wiederholt werden soll. Die Befehlsliste wird mit eckigen Klammern begrenzt. Aufgaben repeat 4 [ ] 1. Schreiben Sie das folgende Programm. Was entsteht dabei? repeat 4 [ ] repeat 4 [ ] repeat 4 [ ] repeat 4 [ ] Schaffen Sie es, dieses Programm noch kürzer zu schreiben? 2. Zeichne eine Treppe mit 10 Stufen der Grösse 20. 3. Zeichnen Sie das folgende Bild (Quadratseite 20 Einheiten) aufgaben xlogo.docx 3 13.06.2007
Prozeduren Jedem Programm, das wir geschrieben haben, können wir einen Namen geben. Wenn wir dann den Namen des Programms schreiben, wird die Tätigkeit des Programms durchgeführt. repeat 4 [ ] ist das Programm zum Zeichnen eines 100 x 100 Quadrats. Wir können dieses Programm auf folgende Weise mit dem Name QUADRAT100 versehen: Den Namen kann sich jeder selber aussuchen, wir haben «quadrat» gewählt, weil wir andeuten wollen, dass es um das Zeichnen eines 100 x 100 Quadrates geht. Auf dem Bildschirm wurde jetzt nichts gezeichnet, weil wir dem Programm nur einen Namen gegeben haben. Wenn wir jetzt aber den Namen schreiben: dann wird das Programm ausgeführt. Auf dem Bildschirm erscheint ein Quadrat. Aufgaben to quadrat repeat 4 [ ] end quadrat 1. Benennen Sie das folgende Programm «fett» fd 1 rt 180 2. Wiederhole 100Mal das Programm «fett» mit dem Programm repeat 100 [fett] Was entsteht auf dem Bildschirm? 3. Schreiben Sie ein Programm welches ein Quadrat mit Seitenlänge 50 zeichnet. Benennen Sie das Programm «quadrat50». Machen Sie das Gleiche für die Seitenlängen 75, 100 und 125. Machen Sie die folgende Zeichnung mit einem Programm. aufgaben xlogo.docx 4 13.06.2007
Prozeduren mit Parameter Wie sie wahrscheinlich gemerkt haben, wäre es sehr nützlich, wenn man nicht für jede Quadratgrösse eine eigene Prozedur schreiben müsste. Dies ist natürlich möglich. Wir müssen der Schildkröte nur klar machen, dass unsere gewünschte Variable später erst mit einem Zahlenwert gefüllt wird. Nun kann man in der Befehlszeile von XLogo den Befehl «quadrat» benutzen wobei man nun dem Namen eine Zahl die gewünschte Seitenlänge, angeben muss. Aufgaben to quadrat :seite repeat 4 [fd :seite ] end quadrat 100 1. Die folgenden Programme zeichnen Vierecke verschiedener Grösse: repeat 4 [ ] repeat 4 [fd 50 ] repeat 4 [fd 200 ] Die Zahlen 100, 50, 200 kann man als Werte eines Parameters betrachten, der die Grösse des Vierecks bestimmt. Schreibe ein Programm mit dem Parameter :GR, das ein beliebig grosses Viereck zeichnen kann. Der Rechner erkennt den Parameter nach dem :. Deshalb muss überall, wo ein Parameter vorkommt, ein : vor dem Namen des Parameters stehen. 2. Die folgenden Programme zeichnen unterschiedlich grosse Kreise: repeat 360 [fd 1 rt 1] repeat 360 [fd 12 rt 1] repeat 360 [fd 3 rt 1] Schreibe ein Programm mit einem Parameter, mit dem man beliebig grosse Kreise zeichnen kann, und probiere es für die Parametergrössen 1, 2, 3, 4 und 5 aus. Den Namen des Programms und den Namen des Parameters darfst Du Dir selber aussuchen. Du musst nur aufpassen, dass immer der : vor dem Parameter steht. 3. Schreibe ein Programm mit einem Parameter, das ein beliebig grosses Dreieck zeichnet. Zeichne dann mit diesem Programm nacheinander Dreiecke der Grösse 20, 40, 60, 80, 100, 120, 140, 160 und 180. Was entsteht dabei? aufgaben xlogo.docx 5 13.06.2007
Grundbefehle #Vorwärts bewegen #Rückwärts bewegen bk 100 #drehen nach rechts #drehen nach links lt 90 #Stift anheben (Schildkröte zeichnet nicht mehr) pu #Stift senken (Schildkröte zeichnet wieder) pd #Löschen des Bildschirms cs #zum Startpunkt zurück home circle 100 #Kreis mit Radius 100 # Wiederholen einer Befehlsliste repeat 5 [ Befehlsliste ] # Prozedur to prozedur :variable #Liste von Variablen Befehlsliste end aufgaben xlogo.docx 6 13.06.2007