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