22.07.2014 Aufrufe

Aufgaben

Aufgaben

Aufgaben

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!