Das Trainingsbuch zu LOGO
Das Trainingsbuch zu LOGO | |||
---|---|---|---|
Sprache | deutsch | ||
Autor(en) | Dr. Gerhard Sauer | ||
Verlag | Data Becker | ||
Jahr | 1985 | ||
ISBN | ISBN 3-89011-044-4 | ||
Neupreis | 39.- DM | ||
Datenträger | |||
Seitenzahl | 374 | ||
letzte Auflage | |||
Genre | Programmieren | ||
Information | Mehrere Auflagen erschienen |
Buchrückseite[Bearbeiten | Quelltext bearbeiten]
DAS STEHT DRIN: LOGO ist nicht nur eine Sprache für Kinder, sondern eine für viele Bereiche interessante und bemerkenswerte Computersprache. Neben einer leicht verständlichen Einführung in das LOGO des COMMODORE 64 bietet dieses Trainingsbuch zusätzlich viele tiefergehende Informationen, um die besonderen Eigenschaften der Sprache nutzen zu können.
Aus dem Inhalt:
- Grafikprogrammierung
- Einführung in Wörter- und Listenverarbeitung
- Funktionsplotter
- Bedienung des LOGO-Systems
- Maskengenerator
- fortgeschrittene Grafik (3-D)
- Ein-/Ausgabe
- Prozeduren
- Rekursion
- Vertieftes Arbeiten mit Listen
- Datenstrukturen mit LOGO
- Sprites und Musik
und vieles mehr
UND GESCHRIEBEN HAT DIESES BUCH:
Dr. Gerhard Sauer ist Physiker, Studienrat und programmiert
seit 1965. Diese Verbindung führte ihn dazu,
sich mit der besonders für. den Ausbildungsbereich
interessanten Sprache LOGO zu beschäftigen.
Inhaltsverzeichnis[Bearbeiten | Quelltext bearbeiten]
LEKTION 1: RECHNEN MIT LOGO 1.1 Erste Rechenaufgaben ................................ 3 1.2 Editieren von Eingabezeilen ......................... 5 1.3 Zahlen Speichern ................................... 11 1.4 Mit gespeicherten Zahlen Rechnen ................... 14 1.5 Mathematische Funktionen ............................ 16 LEKTION 2: WÜRFELN UND WIEDERHOLEN 2.1 Zufallszahlen ....................................... 21 2.2 Ausgabe von Resultaten ............................. 23 2.3 Wiederholung von LOGO-Anweisungen .................. 25 LEKTION 3: PROGRAMMIEREN 3.1 Programmieren als Spracherweiterung ................ 31 3.2 Der Umgang mit Prozeduren .......................... 32 3.3 Prozeduren mit Ergebnis ............................. 36 3.4 Einfache Programme Schreiben ....................... 38 LEKTION 4: PROGRAMME EDITIEREN 4.1 Programme Korrigieren ............................... 44 4.2 Programme mit Eingaben ............................. 47 4.3 Globale und lokale Namen .......................... 50 4.4 Den erweiterten Wortschatz Ausgeben ............... 52 4.5 Programme und Namen Löschen ........................ 54 LEKTION 5: EINFÜHRUNG IN DIE GRAFIKPROGRAMMIERUNG 5.1 Bewegungen der Schildkröte ......................... 55 5.2 Einfache Grafikprogramme ............................ 61 5.3 Drehen von Figuren .................................. 64 5.4 Verschieben von Figuren ............................ 66 5.5 Prozeduren rufen Prozeduren ......................... 69 5.6 Der Ablaufverfolger in LOGO ....................... 72 LEKTION 6: GRAFIKPROGRAMME MIT WIEDERHOLUNG DURCH REKURSION 6.1 Vom Quadrat zum Kreis .............................. 75 6.2 Strukturiertes Programmieren mit lokalen Namen...... 79 6.3 Die Schildkröte auf krummen Wegen .................. 80 6.4 Wiederholung durch Rekursion ........................ 85 6.5 Rekursion mit veränderten Eingaben .................. 88 6.6 Stickmuster oder chaotische Kurven ................. 91 6.7 Abbruch mit Bedingungen ............................ 92 6.8 Zeichnen im Koordinatensystem ....................... 94 6.9 Funktionen Darstellen ............................... 98 LEKTION 7: DIE BEDIENUNG DES LOGO-SYSTEMS 7.1 Der Umgang mit Disketten ........................... 105 7.2 STARTUP : Selbststartende Programme ................. 112 7.3 Platz Schaffen ..................................... 116 7.4 Neustart des LOGO-Systems .......................... 119 7.5 Bildschirmfarben .................................... 119 LEKTION 8: WÖRTER UND LISTEN 8.1 Zeichenketten als Wörter ........................... 124 8.2 Sätze als Listen ................................... 126 8.3 Sätze aus Sätzen: Hierarchische Listen ............ 128 8.4 Zerlegen von Listen und Wörtern..................... 129 8.5 Zusammensetzen von Wörtern und Listen .............. 132 8.6 Zufallssätze ........................................ 136 8.7 Aufteilen von Wörtern und Listen ................... 140 8.8 Listen Verlängern ................................... 148 8.9 Prüfwörter .......................................... 152 LEKTION 9: EINGABE UND AUSGABE 9.1 Eingabelisten ....................................... 161 9.2 Sprünge nach vorne und hinten ...................... 164 9.3 Bildschirm-Layout ................................... 172 LEKTION 10: PROZEDUREN 10.1 LOGO-Tätigkeiten als Prozeduren ................... 182 10.2 Prozedurtypen ...................................... 184 10.3 Das Zusammenwirken von Prozeduren ................. 188 10.4 Untersuchung des Programmaufbaus .................. 191 LEKTION 11: REKURSION 11.1 Rekursiver Aufruf am Prozedurende ................. 200 11.2 Rekursiver Aufruf vor dem Prozedurende ............ 203 11.3 Rekursive Funktionen ............................... 207 11.4 Weitere Beispiele zur Rekursion ................... 211 11.5 Die Türme von Hanoi .............................. 213 LEKTION 12: VERTIEFTES ARBEITEN MIT LISTEN 12.1 Ersetzen von Listenelementen ....................... 221 12.2 Ersetzen in Texten ................................ 225 12.3 Ersetzen mit Zuordnungstabellen .................... 227 12.4 Suchen im Kontext: Intelligente Dialogprogramme.... 228 LEKTION 13: DATENSTRUKTUREN IN LOGO ................... 237 13.1 Einfache Listen: Primzahlsieb ..................... 238 13.2 Tabellen: LOGOPLAN 240 13.3 Baumstrukturen: Tiereraten ........................ 248 13.4 Verbundene Daten: Sortieren mit Schlüsseln ........ 260 LEKTION 14: PROGRAMME ALS LISTEN 14.1 Die Grundfunktionen ............................... 265 14.2 Programme schreiben Programme ...................... 267 14.3 Anwendungsbeispiele ................................ 270 14.4 LOGOPLAN: Rechnendes Tabellenprogramm ............. 272 14.5 Maskengenerator .................................... 276 LEKTION 15: FORTGESCHRITTENE GRAFIKPROGRAMMIERUNG 15.1 Die Richtung der Turtle ............................ 285 15.2 Die Position der Turtle ........................... 287 15.3 Punkte Setzen und Löschen ........................ 289 15.4 Beschriftung von Grafiken .......................... 291 15.5 Beispiele zur Grafik in LOGO ..................... 293 15.6 Zeichnen in drei Dimensionen ...................... 301 LEKTION 16: SPRITES UND MUSIK 16.1 Programmierung von Sprites ......................... 308 16.2 Sprites Vergrößern und Verkleinern ............... 312 16.3 Speicher Lesen und Beschreiben .................... 314 16.4 BIT-Manipulationen ................................. 315 16.5 Erzeugung von Sprites .............................. 316 16.6 Speichern und Laden von Sprite-Bildern ............ 318 16.7 Kollisionen ........................................ 319 16.8 Testbefehl für die Turtle-Grafik ................. 320 16.9 Programmierung von Musik ........................... 323 ANHANG: LOGO-LEXIKON A1 Grafik-Vokabeln ....................................... 329 A2 Vokabeln für Wörter und Listen ...................... 336 A3 Vokabeln zum Umgang mit Zahlen ....................... 340 A4 Kontrollstrukturen .................................... 343 A5 Prüfwörter, Logische Ausdrücke ....................... 346 A6 Programmieren. ........................................ 347 A7 Vokabeln zur Verwaltung von Namen ................... 349 A8 Vokabeln für Ein- und Ausgabe ....................... 350 A9 Vokabeln zur Speicherverwaltung ...................... 354 A10 Weitere LOGO-Vokabeln ................................ 357 A11 Hilfsmittel zum Editieren .......................... 359
Leseprobe[Bearbeiten | Quelltext bearbeiten]
(1. Auflage - Seite 208: Kapitel "Lektion 16: Sprites und Musik")
LEKTION 16: SPRITES UND MUSIK
Für viele sind die Homecomputer in erster Linie Geräte für Computerspiele. Der Reiz dieser Spiele hängt teilweise mit der Möglichkeit schnell bewegter Grafiken und dem Einsatz von (manchmal nervtötenden) Musik- und Geräuscheffekten zusammen.
LOGO ist sicher nicht konzipiert, um damit professionelle Computerspiele zu erstellen, die werden in der Maschinensprache geschrieben. LOGO untersützt aber die vom Gerät her zusätzlich angebotene sogenannte SPRITE-Grafik. Die Programmierung von Sprites und Ton ist sehr rechnerspezifisch. Diese Lektion wendet sich speziell an die Leser, die mit dem Commodore 64 arbeiten.
16.1 PROGRAMMIERUNG VON SPRITES
Die Sprites sind grafische Objekte, die aus 21 Zeilen zu je 24 Punkten aufgebaut sind. Diese Objekte gehören weder zum Textschirm noch zum Grafikschirm, sie werden vom Rechner vielmehr zusätzlich beim Bildaufbau erzeugt. Will man auf dem Grafikschirm Figuren bewegen, so müssen einzelne Punkte gelöscht und andere neu gesetzt werden. Die Sprites werden dagegen nur bei der Erzeugung des Fernseh- bzw. Monitorbildes an anderer physikalischer Position wiedergegeben. Bewegungen werden auf diese Weise schneller und bequemer dargestellt.
Beim Commodore-LOGO hat man von vorneherein die Möglichkeit von Sprites genutzt: Die Schildkröte, d.h. das kleine den Zeichenstift repräsentierende Dreieck ist selbst ein Sprite.
Insofern wissen Sie schon fast alles über die Bewegung von Sprites. Die Turtle kann allerdings mehr als ein normaler Sprite. Das Dreieck wird bei der Ausführung der Drehbewegungen RIGHT und LEFT als solches auf den Bildschirm gedreht, die Kommandos zur Drehung haben nicht nur Einfluß auf den Weg, den der Zeichenstift nimmt, sie verändern auch die Stellung der Schildkröte.
Die anderen Sprites werden als ganze über den Bildschirm hinweg verschoben. Die Befehle RIGHT/LEFT, SETHEADING drehen die Richtung, in die die Sprites bewegt werden, die Objekte werden dadurch aber nicht wie die Turtle um die eigene Achse gedreht.
Für die Bewegung der Sprites ist der Wickel-Modus (WRAP) der Turtle-Grafik recht interessant. Bewegliche Objekte, die den Bildschirmrand überschreiten, kommen dann auf der entgegengesetzten Seite wieder ins Bild, ohne daß dazu besondere Anstrengungen nötig sind.
LOGO bietet mit dem Kommando PC (PENCOLOR) eine bequeme Möglichkeit, die Farbe der Sprites zu verändern. Farbänderungen können dann auch im Bewegungsablauf erfolgen.
Der Rechner C 64 kann acht solcher Objekte gleichzeitig auf dem Bildschirm darstellen, der Sprite Nr. 0 ist die Turtle selbst. Damit ist nicht die Anzahl der Figuren selbst beschränkt, nur können nicht mehr gleichzeitia dargestellt werden.
Die Befehle FORWARD, SETXY usw. wirken standardmäßig auf die Schildkröte. Sollen andere der gleichzeitig dargestellten Sprites angespochen werden, muß dies durch die LOGO-Vokabeı TELL befohlen werden.
TELL 2
- TELL benötigt eine Eingabe zwischen O und 7. Bis zum nächsten TELL-Befehl wirken alle Kommandos für Sprites auf den angesprochenen Sprite.
TELL 2 heißt nicht, daß jetzt ein bestimmtes Objekt mit der Nummer 2 zu sehen ist, es wird nur mitgeteilt, wer . auf folgende Kommandos reagieren soll. Das Objekt 2 übernimmt jetzt die Rolle der Schildkröte.
TELL 2 SHOWTURTLE
macht das Objekt sichtbar,
TELL 2 HIDETURTLE
bringt es wieder zum Verschwinden.
Umgekehrt kann man die Nummer des gerade angesprochenen Objekts erfahren mit der LOGO-Vokabel WHO.
WHO RESULT : O
diese Zeile gibt an, daß die vertraute Schildkröte gerade auf die Befehle zur Bewegung hört.
TELL 1 + WHO
Damit wird auf den Sprite mit der nächsthöheren Nummer umgeschaltet. Der alte bleibt wohl sichtbar, kann aber nicht mehr (bis zum nächsten TELL) bewegt werden.
- WHO braucht keine Eingaben, als Ergebnis wird die Nummer des gerade angespochenen Sprites zurückgegeben.
Die Sprites sind so etwas wie bewegliche Kisten auf dem Bildschirm. In diese Kisten können jeweils verschiedene Bilder hineingestellt werden. Man kann auch dieselben Bilder gleichzeitig in verschiedene Kisten hineinstellen und getrennt über den Bildschirm bewegen.
Im Prinzip kann man einen großen Vorrat an möglichen Bildern im Rechner bereithalten, von denen aber gleichzeitig nur acht dargestellt werden können. Diese Bilder benötigen jeweils Speicherplatz zur Lagerung. In LOGO sind wegen des knappen Speicherplatzes nur acht mögliche Bilder zugelassen, eigentlich sogar nur 7, weil die Nummer Null für die drehbare Standardturtle reserviert ist. Wünscht man eine größere Vielzahl von Bildern, muß man neue Bilder von der Diskette holen und dafür andere im Rechner löschen.
Die Zuweisung eines Bildes zu einem bestimmten Sprite geschieht mit der LOGO-Vokabel SETSHAPE.
TELL 1 SETSHAPE 5
TELL 1 bewirkt, daß alle Befehle auf Sprite Nr.1i wirken, auch SETSHAPE. SETSHAPE 5 bedeutet dann: das Bild Nr. 5 wird in die "Kiste" Nr. 1 gestellt. Dieses Bild wird dann künftig bewegt, wenn TELL 1 befohlen und damit etwa WHO das Resultat 1 ergibt.
TELL 1 SETSHAPE 1 TELL 2 SETSHAPE 1
Damit wird dasselbe Bild in zwei verschiedene "Kisten" gestellt, es kann damit unabhängig voneinander in doppelter Ausführung bewegt werden.
Die Gestalt Nr.0 ist das kleine Dreieck zur Darstellung der Turtle. Diese Gestalt ist reserviert und sollte nur vom Sprite Nr. 0 benutzt werden. Wird die normale Turtle nicht benutzt, kann man im Prinzip auch ein Bild in diese Kiste stellen.
Umgekehrt kann man auch nachfragen, welches Bild in der gerade befehligten "Kiste" steht. Dies geschieht mit SHAPE.
TELL 1 MAKE "S SHAPE
Unter dem Namen S ist danach die Nummer des für Sprite Nr.1 verwendeten Bildes verfügbar.
- SETSHAPE hat eine Eingabe zwischen 0 und 7. Dem gerade hörenden Sprite wird das Bild mit der Nummer des Eingabewertes zugewiesen. Die Eingabe 0 (TURTLE-Figur) ist nur für SPRITE Nr.O zulässig, also nach TELL 0.
- SHAPE hat keine Eingabe. Als Ergebnis wird die Nummer des Bildes zurückgegeben, das in der gerade kommandierten "Kiste" steht.
Damit sind bereits die Vokabeln im Grundwortschatz von LOGO erschöpft, die zur Steuerung der Sprite-Grafik vorhanden sind.
Die Programmierung der Sprites ist nur sinnvoll, wenn auch geeignete Bilder vorhanden sind. Wenn Sie trotzdem einfach mit den Kommandos experimentieren, erscheinen dennoch Objekte auf dem Bildschirm. Sie kommen von den zufällig im entsprechenden Bereich stehenden Speicherinhalten.