Menu schließen

Tutorial: Programmieren in LOGO

Alles zu Betriebssysteme und Software

Programmieren in LOGO



A Befehle in Logo (und ihre Abkürzungen)
1 Igelbefehle
Befehl Abk. Bsp. od. Erklärung
VORWÄRTS VW VW 50
RÜCKWÄRTS RW RW 30
RECHTS RE RE 90
LINKS LI LI 60
STIFTHOCH SH Igel geht ohne zu zeichnen
STIFTAB SA Igel zeichnet wieder
VERSTECKIGEL VI Igel unsichtbar
ZEIGEIGEL ZI Igel sichtbar
AUF auf 100 10
AUFX AUFX 100 (y-Koordinate bleibt)
AUFY AUFY 50 (x-Koordinate bleibt)
AUFXY AUFXY 10 50 (setzt Igel auf Koordinatenpunkt)
AUFKURS AUFKURS 0 (Igel wird nach oben ausgerichtet)
MITTE = AUF 0 0
BOGEN Bogen :Winkel :Radius
BILD Löscht das gezeichnete Bild

2 Programmierbefehle

WIEDERHOLE WH WH 4 [VW 50 re 90]
PROZEDUR PR dahinter frei wählbarer Name
WENN Wenn :seite < 10 [befehl]
ENDE

B Beispiel für eine Prozedur

PR Rechteck
WH 2 [ VW 40 RE 90 VW 70 RE 90 ]
ENDE

C Benutzung von Variablen

Variablen stehen wie in der Mathematik als Platzhalter, in Logo für Zahlen
oder Text. Vor dem frei wählbaren Variablennamen wird ein Doppelpunkt
gesetzt. (Schlüsselwörter sind natürlich nicht erlaubt)
Tipp: der Name sollte einen Hinweis darauf geben, wofür er steht; aber
ein paar Vereinfachungen sind möglich:
für Seitenlängen regelmäßiger Figuren (Quadrat, Rechteck, Dreieck usw)
kann man wie in der Geometrie :a, :b, :c usw nehmen
Eine häufige Art der Einführung einer Variablen ist im Namen (= Kopfzeile)
einer Prozedur (siehe Beispiel)
Beispiel für eine Prozedur mit Variablen:
PR QUADRAT :a
WH 4 [ VW ]
ENDE (ergänze die 2. Zeile)

Programmieren in LOGO S. 2

weiteres Beispiel für eine Prozedur mit Variablen:
PR Rechteck :länge :breite oder: PR Rechteck :a :b
WH 2 [ VW :länge RE 90 VW :breite RE 90 ] (bzw :a :b)
ENDE

Aufgabe: Schreibe eine Prozedur "Vieleck", mit der es möglich ist, Vielecke mit
beliebiger Eckenzahl zu zeichnen, also Dreiecke, Vierecke, Fünfecke usw.
Tipp: du brauchst eine Variable für die Seitenlänge und eine für die Zahl
der Ecken. Mit dieser kann man auch in der Prozedur den Drehwinkel
berechnen lassen.

Mit Hilfe der Prozedur Vieleck und der Möglichkeit des WH-Befehls lassen
sich eine ganze Menge schöner Muster "erfinden"!
Probiere einige aus!

D Gliederung in Prozeduren

Bei komplizierteren Gebilden oder zusammengesetzten Figuren ist es
sinnvoll, diese in einzelne Prozeduren zu gliedern.
Beispiel: ein Wald, der aus einzelnen Bäumen besteht, die wiederum in
Teilprozeduren gegliedert werden können.
Oder eine Straße mit mehreren Häusern, die wiederum Fenster, eine Tür
und ein Dach haben.
Tipp: bei Teilprozeduren ist es sinnvoll, den Igel jeweils an seinen Ausgangs-
punkt zurückkehren zu lassen, da es häufig wichtig ist, zu wissen, wo er sich
befindet!

Aufgabe: a) Schreibe eine Prozedur "Haus", die aus mindestens 4 Teilprozeduren
besteht (Dach, Außenwände, Fenster, Tür).
Verwende dabei u.a. die vorhandene Prozedur "Rechteck"!
Ergänze die Prozedur zu einer Prozedur "Straße"!
Benutze eine Prozedur "Parallelogramm", um ein Schrägbild eines
Hauses zu zeichnen!

b) Schreibe eine Prozedur "Blume", die aus den Teilprozeduren Stengel,
Blatt und Blüte besteht. Bei "Blüte" kannst du sicher auf eines der
bereits vorhandenen Muster bei den gedrehten Vielecken zurückgreifen.
Der Stiel sollte schräg geneigt sein.
Tipp: der Igel sollte nach jeder Teilprozedur an den Ausgangspunkt
zurückkehren.

c) Schreibe eine Prozedur "Wald", die aus verschiedenen Prozeduren
besteht.
Tipp: erst muss man einen Baum haben, dann kann der Rest relativ
einfach ergänzt werden.

Befehl EDALLE Dieser Befehl bewirkt, dass alle bisher ge-
schriebenen Prozeduren sichtbar und auch
veränderbar werden.

Programmieren in LOGO S. 3

Befehl Zufallszahl ZZ ZZ 20 liefert eine ganze Zufallszahl von 0 bis 19

Aufgabe: a) Gib den Bereich an, aus dem man bei folgenden Befehlen eine
Zufallszahl erhält!

ZZ 30
1+ZZ 8
2+ 2*ZZ 5

b) Gib den Befehl an, mit dem man folgende Zufallszahlen erhält:

Zahlen von:
0 bis 98
1 bis 6
3 bis 11
durch 3 teilbare Zahlen von 0 bis 30

c) Schreibe eine Prozedur VIELECK2, bei der die Seitenlänge und (wenn
dies klappt) auch die Eckenzahl zufällige Zahlen ab einer bestimmten
Mindestgröße sind!
Tipp: die Eckenzahl muss z.B. mindestens 3 sein

d) Benutze die vorhandene Prozedur Baum und schreibe eine Prozedur
Baum2, die zufällige Baumgrößen ab einer bestimmten Mindestgröße
erzeugt!
Tipp: die Prozedur muss mindestens eine Variable enthalten

Befehl setfloodcolor [255 255 0] Stellt den Farbton auf bestimmte Einstellungen
Es sind immer 3 Werte erforderlich, ein Rot-
ein Grün- und ein Blauwert.
Das Beispiel erzeugt gelb
Befehl fülle Füllt eine geschlossene Figur mit der zuvor
gewählten Farbe.
Die beiden letzten Befehle werden meistens kombiniert.

Beispiel PR Bildchen
Vieleck 100 4 es entsteht ein Quadrat mit der Seitenlänge 100
SH RE 45 VW 5 SA der Igel wird in das Quadrat gebracht
SETFLOODCOLOR[255 0 255] der Farbton wird gewählt
FÜLLE Fläche wird mit dem gewählten Farbton ausgefüllt
SH RW 5 LI 45 SA der Igel wird wieder an den Eckpunkt gebracht
ENDE

Aufgabe: a) Färbe in deiner Prozedur BLUME das Blatt grün und die Blüte mit einer
oder mehreren beliebigen Farben!

b) Färbe in deiner Prozedur HAUS das Dach grau und beleuchte ein oder
mehrere Fenster (gelb)!

c) Denke dir ein hübsches Muster aus (Rosette oder ähnliches) und färbe
ein oder mehrere Teilflächen!

Programmieren in LOGO S. 4

Programmierprinzip "Selbstaufruf"

Selbstaufruf einer Prozedur bedeutet folgendes:
Innerhalb der Prozedur wird erneut diese Prozedur aufgerufen, verlangt oder
erneut ausgeführt.
Beispiel: PR TEST
vw 30 re 60 vw 40 re 30
TEST
ENDE

Wenn man keine entsprechenden Vorkehrungen trifft, bedeutet dies aber,
dass man eine Endlosschleife erhält. Die Prozedur ginge nie zu Ende, da
sie sich ja immer wieder selbst aufruft.
Daher braucht man ein neues Schlüsselwort.
Dieses Schlüsselwort muss dafür sorgen, dass das Programm nicht endlos
weitergeht; man sagt dazu: es muss eine Abbruchbedingung vorhanden sein.
Das Programm muss abgebrochen werden.

Befehl WENN Bsp.: WENN :seite < 10 [vw :seite]
Der Wenn-Befehl funktioniert ähnlich wie in Excel, nur
dass man statt des Wortes DANN den auszuführenden
Befehl in eckige Klammern setzt.

Befehl Rückkehr, abgekürzt RK Das Programm beendet den gerade auszu-
führenden Befehl und geht an die Stelle im
Programm, die auf diesen Befehl folgt.
Dieser Befehl liefert also die für den Abbruch des
Programms erforderliche Abbruchbedingung.

Anwendungsbeispiel: WENN :seite < 5 [RK]

Aufgabe: a) Schreibe eine Prozedur SCHNECKE, die sich selbst aufruft und bei der
eine Folge kleiner werdender Vielecke mit jeweils einer Drehung nach
jedem Vieleck gezeichnet wird.
Tipp: Es ist mindestens eine Variable erforderlich, die beim Selbstaufruf
kleiner werden muss, damit die Abbruchbedingung erreicht wird.
Es ist sinnvoll, diese Wenn-Bedingung am Anfang der
Prozedur zu schreiben.

b) Denke dir mindestens 2 weitere Prozeduren mit Selbstaufruf und
Abbruchbedingung aus.
Dabei kann auch die Variable größer statt kleiner werden und der
Abbruch dann erfolgen, wenn eine bestimmte Größe erreicht ist.
Inhalt
Die Datei im EXCEL-Format gibt eine gute Einführung in das Programm MSWLogo mit Befehlsübersicht, Beispielen und Übungsaufgaben. (1092 Wörter)
Hochgeladen
von unbekannt
Optionen
Hausaufgabe herunterladen: PDFPDF, Download als XLSXLS
  • Bewertung 4 von 5 auf Basis von 22 Stimmen
  • 1
  • 2
  • 3
  • 4
  • 5
4/5 Punkte (22 Votes)



Seite drucken | Melden
Kostenlos eine Frage an unsere Informatik-Experten stellen:

2 weitere Dokumente zum Thema "Betriebssysteme und Software"
109 Diskussionen zum Thema im Forum
Wenn du dieses Dokument verwendest, zitiere es bitte als: "Tutorial: Programmieren in LOGO", https://e-hausaufgaben.de/Hausaufgaben/D3008-MSWLogo-Einfuehrungs-Blaetter-fuer-MSWLogo.php, Abgerufen 22.12.2024 03:19 Uhr

Es handelt sich hier um einen fremden, nutzergenerierten Inhalt für den keine Haftung übernommen wird.
Download: PDFPDF, Download als XLSXLS
ÄHNLICHE DOKUMENTE:
PASSENDE FRAGEN:
  • GUI Programmierung
    Hi @ all! Ich habe eine Frage, hat jemand ein gutes Tutorial für das Schreiben von GUI programmen mit C++. Bücher sind auch ..
  • Programmieren in Java- Wer kann helfen ? (Girls oder Boys)
    Nochmal sind leute hier die sich mit programmieren aus kennen wie zum bsp Programmieren mit java. bitte meldet euch bei mir plz
  • programmieren
    hi leute gibt s hier auch n paar pc freaks, die sich richtig gut auskennen und mir beim programmieren weiterhelfen können? waär ..
  • Photoshop
    Habe folgendes problem. soll mit Photoshop einen Flyer erstellen über ein neues Produkt. Ich will jetzt ein NEU logo einfücken..
  • Die teuerste Software der Welt
    ...ist mit Abstand bestimmt diese Software von Microsift kostet nur 17.999€ http://terraserver.microsoft.com/About/images/..
  • mehr ...