PROGRAMMIERUNG INTER- AKTIVER GRAFIKEN

download PROGRAMMIERUNG INTER- AKTIVER GRAFIKEN

of 74

  • date post

    04-Feb-2017
  • Category

    Documents

  • view

    234
  • download

    2

Embed Size (px)

Transcript of PROGRAMMIERUNG INTER- AKTIVER GRAFIKEN

  • LERNEN MIT DIGITALEN MEDIEN

    PROGRAMMIERUNG INTER-AKTIVER GRAFIKEN

    EINE EINFHRUNG MIT ACS LOGO

    BAND 1: POLYGONE, SPIROLATERALE, REKURSIVE GRAFIKEN, L-SYSTEME

    JOACHIM WEDEKIND

  • Mit der Reihe LERNEN MIT DIGITALEN MEDIEN stelle ich Texte zur Verfgung, die sich mit unterschiedlichen Aspekten des Lernens mit digitalen Medien befassen. Sie thematisieren praxisorientierte fach- und mediendidaktische Aspekte der digitalen Medien im Lehr-/Lernkon-text.

    IMPRESSUM:

    Joachim Wedekind:Programmierung interaktiver Grafiken: Eine Einfhrung mit ACS Logo. Band 1: Polygone, Spirolaterale, rekursive Grafiken, L-Systeme

    Version 1.0

    2014 Tbingen fr das Gesamtwerk beim AutorGrafische Gestaltung und Satz: Joachim Wedekind Das Werk steht elektronisch im Internet zur Verfgung: http://programmieren.joachim-wedekind.de/logo/logo-buch/

    Dieses Werk von Joachim Wedekind steht unter einer Creative Commons Lizenz 3.0: Namensnennung, Nicht Kommerziell, Keine Bearbeitungber diese Lizenz hinausgehende Erlaubnisse knnen Sie unter http://joachim-wedekind.de/impressum/ erhalten.

    http://programmieren.joachim-wedekind.de/logo/logo-buch/http://programmieren.joachim-wedekind.de/logo/logo-buch/http://joachim-wedekind.de/impressum/http://joachim-wedekind.de/impressum/

  • LERNEN MIT DIGITALEN MEDIEN

    PROGRAMMIERUNG INTERAKTIVER GRAFIKENEINE EINFHRUNG MIT ACS LOGO

    BAND 1: POLYGONE, SPIROLATERALE, REKURSIVE GRAFIKEN, L-SYSTEME

    JOACHIM WEDEKIND

  • Inhaltsverzeichnis

    Vorwort 1

    Einleitung 3

    Wie alles anfing ... 5

    Logo in der Schule 11

    Die ersten Schritte 14

    Vielecke und Spiralen 24

    Spirolaterale 36

    Rekursive Grafiken 41

    L-Systeme 48

    Zitierte Literatur 56

    Weiterfhrende Literatur 58

    Links und Downloads 60

    Anhang A: Installation ACSLogo 63

    Anhang B: Befehlsbersicht 65

  • VorwortWofr verwenden Sie eigentlich privat Ihren Computer? Noch vor nicht allzu langer Zeit wre die Antwort vermutlich gewesen: Briefe schreiben, CDs katalogisieren oder Vergleichbares, vielleicht auch Spielen. Inzwischen ist sicherlich auch das Surfen im Internet hinzu gekommen. Sie ver-wenden dazu aufgabenbezogene Programme, die Sie unmittelbar nutzen knnen, also z.B. die Textverarbeitung oder den Internet-Browser. Weitergehende Mglichkeiten bieten Werkzeuge, die flexibel innerhalb eines Anwendungsbereichs einsetzbar sind. Vielleicht haben Sie ja mit ei-nem Tabellenkalkulationsprogramm Ihre Einkommenssteuererklrung vorbereitet oder mit ei-nem Webeditor Ihre persnliche HomePage gestaltet?

    Die grte Flexibilitt bieten Computer allerdings dann, wenn wir sie selber programmieren. Obwohl in gut sortierten Buchhandlungen dazu Regalmeter an Einfhrungen und Fortgeschrit-tenenliteratur zu finden ist, vermute ich doch, dass viele vor dieser sicherlich anspruchsvollsten Nutzungsform ihres Computers zurckschrecken. Es bleibt eben bei jeder Programmiersprache aufwendig und anspruchsvoll, sich die zugrunde liegenden Programmierkonzepte sowie die Un-zahl (z. T. Hunderte davon) an Befehlen zu erarbeiten und angemessen fr Problemlsungen ein-zusetzen.

    Da sind dann schon etliche Schritte notwendig, um z. B. das beliebte und in vielen Einfhrungs-bchern genannte allererste Programm zu schreiben, das den berhmten Satz Hello World auf den Bildschirm zaubert. Die Entwicklungsumgebungen der derzeit gngigsten Programmierspra-chen, wie C++, Java oder der Scriptsprachen, wie z.B. Python oder Ruby, sind auerordentlich leistungsfhig, aber dadurch eben auch sehr komplex und schwer erlernbar.

    Einen deutlich leichteren Einstieg erlaubt dagegen die Programmiersprache Logo, die ursprng-lich fr Kinder und Schulen konzipiert wurde. Trotzdem ist diese Sprache durchaus leistungsf-hig, fr bestimmte Probleme sogar leistungsfhiger als andere. Logo erlaubt praktisch sofort und ohne Einstiegsschwelle loszulegen. Natrlich kann (und will) Logo nicht mit den oben genannten allgemeinen Programmiersprachen in puncto Leistungsfhigkeit und Anwendungsbreite konkur-rieren, aber fr das Anwendungsfeld interaktiver Grafiken ist es bestens geeignet, in mancher Hinsicht sogar einzigartig. Einige Beispiele in diesem Bndchen sollen das belegen.

    Es gibt mathematische Phnomene, die durch ihre Visualisierung mit Hilfe des Computers groe Popularitt erlangten. Das gilt z.B. fr das Game of Life, das John H. Conway 1970 vorgestellt hat, ebenso wie fr das Apfelmnnchen, das Mitte der 80er-Jahre als Visualisierung der Mandelbrot-Menge zum Sinnbild fr das Forschungsfeld Chaos und Fraktale wurde. Wie viele andere ambi-tionierte Hobbyprogrammierer, habe auch ich das Game of Life nachprogrammiert (damals in FORTRAN). Bei der Beschftigung mit weiteren mathematischen Konzepten, insbesondere den L-Systemen zur Modellierung natrlicher Pflanzenformen, habe ich bei deren programmtechni-scher Umsetzung dann die Sprachelemente von Logo schtzen gelernt. Es hat groen Spa ge-macht, jeweils mglichst kompakte und gleichzeitig flexible Programme zu entwickeln, mit denen sich die Grafiken uerst variabel darstellen lieen.

    Mit diesem Bchlein mchte ich nun allen, die sich fr die Programmierung und deren Anwen-dung bei der Erstellung interaktiver Grafiken interessieren, die Grundkonzepte und den Umgang mit Logo nher bringen. Dabei hoffe ich, ein wenig von der Faszination zu vermitteln, die ich

    Vorwort

    Programmierung interaktiver Grafiken 1

  • selbst bei der Erzeugung der Grafiken empfunden habe. Da ich weder Informatiker noch Ma-thematiker bin (sondern Unterrichtstechnologe und Mediendidaktiker), sollten Sie keine systema-tische Einfhrung in das Programmieren erwarten; auch bei den mathematischen Hintergrnden muss ich auf die einschlgige Literatur verweisen (die Sie im Literaturverzeichnis finden). Ich verwende fr die Umsetzung der Beispiele ACSLogo, eine Logo-Implementation von Alan C. Smith unter Mac OS X.

    Zur Vorgeschichte dieses Bchleins: Ende der 80er Jahre arbeitete ich an einem Lehrerfortbil-dungsprojekt mit Studienmaterialien zum Thema "Lehren und Lernen mit dem Computer". Die-se boten sowohl Orientierung zu allgemeinen pdagogischen Fragestellungen, die durch den Computereinsatz in der Schule aufgeworfen wurden, als auch praxisorientierte fach- und medien-didaktische Aspekte des Computereinsatzes im Fachunterricht. Ergnzt wurde dies durch er-probte Unterrichtseinheiten mitsamt der entsprechenden Software. Die 14 Studienbriefe mit Be-gleitsoftware fanden ber mehrere Jahre viele Adressaten. In dieser Broschre beziehe ich mich an einigen Stellen auf den Studienbrief Schildkrtengrafik - Einfaches Programmieren von Gra-fiken, den ich zusammen mit Hans Rauch verfasst und der dafr seinerseits auch die Software entwickelt hatte (Rauch & Wedekind, 1989). Sein Programm TURTLE-LLC war auf MS-DOS-Rechnern lauffhig und bot einen berschaubaren Befehlssatz, der sich im Wesentlichen auf den Grafikteil von Logo beschrnkte.

    Die hier verwendete Logo-Version ACSLogo ist dagegen eine vollstndige und leistungsfhige Implementation der Sprache. Wenn Sie Spa am Programmieren mit Logo gefunden haben, knnen Sie also weitergehende und anspruchsvollere Probleme als die von mir vorgestellten Bei-spiele in Angriff nehmen. Dabei wnsche ich Ihnen viel Freude und Erfolg.

    Tbingen, Juli 2014 Joachim Wedekind

    Vorwort

    2 Programmierung interaktiver Grafiken

  • EinleitungDiese Einfhrung in das Programmieren mit Logo soll Ihnen einen ersten, einfachen Einstieg in das selbstndige Programmieren von Computern ermglichen. Mit Hilfe der Schildkrtengrafik knnen Sie mit einem berschaubaren Befehlssatz zunchst einfache, aber dann zunehmend komplexe Grafiken programmieren. Sie lernen dabei die Formulierung von Algorithmen und ihre Codierung. Sie werden in einige zentrale Programmierkonzepte wie die Spracherweiterung durch Prozeduren, Kontrollstrukturen und Rekursion eingefhrt. Die hierbei gewonnenen Erfahrungen knnen sicherlich auf moderne hhere Programmiersprachen bertragen werden. Mit ACSLogo kann man eigentlich gleich loslegen. Es braucht nicht viele Vorkenntnisse, um die ersten Erfolgs-erlebnisse zu erreichen. Wir werden deshalb auch nicht mit einer systematischen Spracheinfh-rung beginnen, sondern direkt mit einfachen Beispielen einsteigen.

    Zwei Kapitel werde ich allerdings voranstellen: ACSLogo steht in der Tradition der Logo-Bewe-gung. Die Philosophie von ACSLogo ist eigentlich nur aus dieser heraus zu verstehen. Ich skiz-ziere deshalb im ersten Kapitel die Geschichte von Logo - auch wenn eilige Leser dies bersprin-gen mgen. Im zweiten Kapitel geht es um Logo in der Schule, denn von Anfang an lagen die Beweggrnde fr die Entwicklung von Logo in dem Anspruch, Kindern und Jugendlichen einen neuen Zugang zum Problemlsen mit dem Computer zu erffnen.

    Mit ACSLogo arbeiten knnen Sie natrlich erst, wenn Sie es lauffhig auf Ihrem Rechner haben. Im Anhang A erfahren Sie alles Notwendige zur Installation des Programms. ACSLogo luft nur auf dem Apple Macintosh (System MacOS X). Logo-Versionen fr andere Plattformen (Windows, Linux) bzw. rein browserbasierte Versionen sind im Link-Verzeichnis aufgefhrt.

    Haben Sie ACSLogo erfolgreich installiert, fangen wir mit Beispielen an. Im Kapitel Die ersten Schritte werden einerseits anhand der Turtle-Grafik grundlegende Programmierkonzepte (wie Erweiterbarkeit, Wiederholungen, Parameterbergabe u.a.) eingefhrt. Andererseits lernen Sie dabei bereits einen Teil des Befehlssatzes von ACSLogo kennen.

    In den darauf folgenden Kapiteln werden eine Reihe von Programmbeispielen besprochen, die einerseits Sprachkonzepte in der konkreten Anwendung zeigen, andererseits das Spektrum der grafischen Darstellungen verdeutlichen, die sich mit ACSLogo bearbeiten lassen. Diese Beispiele sollten Sie direkt am Rechner nac