DERIVE erlaubt eine streng funktionale Programmierung mit einigen einfachen Strukturbausteinen. Bereits die Befehle VECTOR und ITERATE(S) erlauben schleifenähnliche bzw. rekursive Strukturen. Daneben gibt es mit LOOP und IF weitere Konstrukte, die die klassische programmiertechnische Schleife und Verzweigung zulassen. Funktionen mit Parameterübergabe sind sowieso ein DERIVE-übliches Merkmal. Damit kann man bereits recht ausgefeilte Programme erzeugen, die durch die Verwendung der DERIVE-internen Befehle und Grafikmöglichkeiten in manchen Bereichen klassischen Programmiersprachen einiges voraus haben (zB. lange Ganzzahlen etc.). Schwächen liegen in den sehr einfach gehaltenen Ein- und Ausgabemöglichkeiten. Hinweis - alle Variablen die als lokale Variable in einem Programm vorkommen, müssen im Funktionsaufruf angeführt werden, wobei die Parameter, die vom Benutzer eingegeben werden müssen, am Anfang stehen müssen. Einzige Ausnahme sind Zählparameter in den VECTOR-, SELECT- und ITERATE-Befehlen. Daneben können innerhalb der Funktion auch globale Variable verwendet werden. Befehle:
Tips - Kommentare können mit "@ ... " eingefügt werden (Anführungszeichen plus einleitendes @-Zeichen). Beispiele:Problem: Aufsummieren aller ganzen Zahlen von 1 bis n - gelöst über ein kleines Programm mit einer Schleife (LOOP). Die Variable n wird eingegeben, i und summe werden definiert (als lokale Variable) und mit Werten belegt. Tip - es empfiehlt sich, die Eingabezeile auf mehrzeilig zu stellen. Neue Zeilen erreicht man in der Eingabezeile über ALT + RETURN. Problem: Berechnen des EAN-Codes (Europäische Artikel Nummer). EAN ermöglicht eine eindeutige Kennzeichnung von Artikeln mit Hilfe einer Zahl (12-stellig). Um die korrekte Übertragung zu gewährleisten, wird eine Prüfziffer ergänzt. Diese berechnet sich aus:
Berechne (kontrolliere) die Prüfziffer eines eingegebenen EAN-Codes! Problem: Chaos und Sierpinski-Dreieck. Zeichne in der Ebene ein gleichseitiges Dreieck mit A(0/0), B(1/0). Lege einen beliebigen Startpunkt P0(xp/yp) in der Ebene fest.
Hinweis - RANDOM(1) wird zu einer Zufallszahl im Interval [0, 1) vereinfacht. RANDOM(n) wird für n>1 ganzzahlig zu einer zufälligen ganzen Zahl im Intervall [0, n) vereinfacht. Das Ergebnis des Chaos für 100 bzw. 5000 Iterationen ergibt das bekannte Sierpinski-Dreieck (unter anderem für Antennen in Handys eingesetzt). Download der DERIVE-Datei zu den drei Problemstellungen. |
© PI-NOe, letzte Änderung am 5. Mai 2005, erstellt von Mag. Walter Wegscheider