Home

Programmieren mit DERIVE

image

Contents

1. m i runde 16156 38875 45 16156 3888 runde 16156 38875 13 16156 4 runde 16156 38875 23 16156 39 runde 16156 38875 3 16B00 Nun soll das Geheimnis gel ftet werden Wie sieht ein DERIVE Programm aus 1 EVPROEI pv add pmt perc periods n ep values 2 Prog 3 cap de py 4 values ro cap 5 Loop 6 n 1 7 cap 1 perc 100 cap add_pnmt 8 values APPEND values n runde cap 2 9 If n periods 10 RETURN APPEND Periode Kapitalstand values Die links stehenden kursiv geschriebenen Ziffern geh ren nicht zum Programm sondern sind Referenznummern f r Programmzeilen auf die ich mich im Text beziehen werde Das sieht ja ganz sch n aus und erkl rt sich weitgehend von selbst Aber beginnen wir ganz von vorne und versuchen Sie bitte noch nicht dieses Programm abzutippen FVPROG ist der Programm Funktions name mit den Parametern pv Anfangskapital principal value add_pmt Zusatzzahlung additional payment perc Prozentsatz f r die Verzinsung und periods f r die Laufzeit in Perioden Aber dann folgen ja noch weite re Variable in der Parameterliste bk teachware 8 bk teachware Schriftenreihe Im allgemeinen m ssen alle Variablen die im Programm auftreten als lokale Variable in der Parameterliste angef hrt werden Am Beginn stehen jene Parameter die vom Benutzer be legt werden m ssen alle anderen k nnen
2. a Schleife fuer die Seite b LOOP IF b gt x exit a Schleife fuer die Seite c LOOP IF c gt x exit a die Heron sche Flaechenformel s a tb tc 2 ar SORT s s a s b s c IF ar gt 0 AND INTEGER ar res APPEND res APPEND SORT a b c lar l Gei y e O wira auf 1 zur ckgesetzE und D uw T erh re 4 c 1 b 1 7 bk teachware 24 bk teachware Schriftenreihe a b und c werden zur ckgesetzt und a erh ht c 1l b 1 a 1 r a Ende der u ersten Schleife mehrfach vorkommende Tripel werden entfernt LOOP TEVE SDI ESS Iy ERLU LOOPATE 7 gt DIM res exit IF res SUB i res SUB j_AND res SUB j_ 0 res REPLACE NO reS J a T nel r 1 0 Lee Let r RETURN SELECT k 0 k res Hier sehen Sie deutlich die Unterschiede zur Arbeit mit dem Compiler im Umgang mit loka len Variablen in der Parameterliste mit den Loops Schleifen mit der IF Konstruktion und den Kommentaren Auch die Klammer n setzung wird vom Compiler bernommen Auch hier wird nur ein Teil des DERIVE Schirms gezeigt zusammen mit einem neuerlichen Testlauf des Programms va c wird auf 1 zurueckgesetzt und b um 1 erhoeht un Eu Pi jet c werden zur ckgesetzt und a erh ht e Ende der u ersten Schleife E zuletzt werden mehrfach vorkommende Tripel entfernt Loop IF i_ DIM res exit Loop IF j_ gt DIM res exit If restli_ restj_ a restj_ B
3. einen Brief von Herrn Walter Schiller aus Paderborn Ich zitiere den Anfang des Schreibens ER ich habe einen einfachen Compiler geschrieben der f r die Programmierung von DERIVE Prozeduren hervorragend eingesetzt werden kann Der beiliegende Artikel beschreibt die einfache Syntax begleitet mit einfachen Beispielen Ich war neugierig und begeistert zugleich und arbeite seither auch mit diesem Werkzeug das Herr Schiller den Mitgliedern der DUG zur Verf gung gestellt hat Er nannte den Compiler ganz einfach TOM EXE TOM TO Math 7 Inzwischen steht nach einem regen Briefwechsel die bereits sehr ausgereifte Version 3 von TOM f r alle Mitglieder der DUG bereit Sehen Sie nun wie die Heronschen Dreiecke in einem Quelltext f r TOM EXE der wieder mit jedem Editor verfasst werden kann erzeugt werden k nnen beron triangle x prog das ist die berschrift reS Tan TOM TC ELAECHE die Seiten werden drei Schleifen durchlaufen loop c 1 to x by 1 loop b 1 to x by 1 loop a 1 to x by 1 nun folgt die Heronsche Fl chenformel s atb c 2 ar sqrt 88 3 s b s c nur im Falle von ganzzahligen und nichtverschwindenden Fl cheninhalten liegt ein Heronsches Dreieck vor U bk teachware 22 bk teachware Schriftenreihe if integer ar and ar gt 0 then res append res la b c ar end end end die drei Schleifen werden geschlossen Ausgabe der m glichen
4. 2 2 Ellipse 4 x 16 y 64 3 999 0ra 3 989 0 1422 0 6042 1 977 Punkte 0 8390 14 2955 3 10 0 6431 0 1874 1 997 34999 0 03774 y 105 9 26 48 x y 28 11 7 011 x y 0 07640 x 2 023 Tangenten y 0 1072 x 2 045 y 1 472 x 6 219 y 2 002 0 02345 x y 105 9 26 48 x bk teachware 36 bk teachware Schriftenreihe 3 997 0 09006 4 346 2 355 0 1213 2 032 Sechsseit 6 054 2 695 2 819 2 068 3 928 1 910 3 997 0 09006 y 02770x 1 017 Diagonalen y 0 3277 0 6173 x y 1 035 x 2 158 Brianchon scher Punkt 1 503 0 6007 o r z 3 007 x y 1 201 y 2 622 0 01 2 2 Markierung x 3 007 x y 1 201 y 2 622 0 02 2 2 x 3 007 x y 1 201 y 2 622 0 03 Daraus entwickelte sich dann im Zeichenfenster eine Veranschaulichung des Satzes von BRIANCHON die in Farben noch viel deutlicher wird BRIANCH ONscher Punkt G Die Ausgabe der kompletten Matrix ist nat rlich sehr aufw ndig und die Zahlenwerte m gen uns meist nicht interessieren Daher will ich Ihnen zeigen wie man hier sehr sinnvoll globale Variable einsetzen kann bk teachware B hm Programmieren mit DERIVE 37 Man definiert die Variablen vor dem Programm am besten in einer Liste ell pser pts diags i brpt marks ipsi tgs Nat rlich wird man da im Ernstfall sprechendere Variablennamen w hlen Dan
5. Wir wollen f r diese Standardaufgabe ein Programm schreiben das zu einer gegebenen Liste von Punkten das Interpolationspolynom ermittelt Dabei wird kein Wert auf einen ausget ftelten Algorithmus gelegt sondern es soll nur die traditionelle Vor gangsweise in einem Programm und in der DERIVE Syntax verpackt werden polynom m m mat koeff PROG m DIM m ea ein Polynom vom Grad m 1 wird gebildet ein GLS mit E m Gleichungen und m Variablen Ist zu Loesen 1 mates VECTOR VECTOR kiyim 1 0 1 kn COLE I mat APPEND mat m COL 2 koeff ROW REDUCE mat COL m 1 ed Oder VECLOR ZIT 1 Mm 1 0 FLY koefi T SUMS o 2 koer SUB Lp Dy Mog dr EL In Zeile 1 wird die Koeffizientenmatrix der Terme gebildet die bei Belegung von ax b x mit allen x Werten erste Spalte der Punktmatrix m daher m COL 1 entsteht In der n chsten Zeile wird diese Matrix um die rechten Seiten der Gleichungen die y Werte zweite Spalte von m erweitert koeff ist dann die letzte Spalte der in die redu zierte Zeilen Stufenform gebrachten erweiterten Systemmatrix des Gleichungssystems Diese Koeffizienten verhelfen sofort auf zwei m gliche Arten zum gesuchten Polynom po Lynom pkte 6 5 4 3 Fi 182721 x 49523 x 3514919 x 33376461 x 1276427 x EGE980481 x 25946920 5 4974208 g 4324320 5 17277288 5 7260728 g 4324320 5 193409 46332 Dieses Polynom soll vorerst nicht gezeichnet werden bk
6. der Perioden notwendig Ich w rde mir beim Startkapital 4000 das f nfmal um je 2000 aufgestockt wird und bei 5 Zinsen eine Ausgabe etwa in der folgenden Form w nschen Feriode Kapitalstand A 4444 1 6200 FUFR G 4000 20060 5 53 2 8510 3 19935 5 4 13482 275 5 16156 38875 Den kleinen Sch nheitsfehler mit den Dezimalstellen werden wir mit einer geeigneten Run dungsroutine noch ausmerzen k nnen Mir ist klar dass man f r dieses Problem kein Programm ben tigt sondern mit einer ent sprechenden Formel aus der Rentenrechnung sofort zum Ergebnis kommen kann n 2006 1 05 1 TABLE ne m rt 1205 1 n fsooo 1 os 15 galala i 6206 2 8518 3 19935 5 4 13482 275 5 16156 38875 bk teachware B hm Programmieren mit DERIVE 7 DERIVE Kenner werden l cheln und die Aufgabe rekursiv l sen indem sie mit einem ele ganten Einzeiler die ITERATES Funktion einsetzen perc 148 FU_ITER pv add_pmt perc periods rrenares u j b aaa_om 1 v _ i pv periods FU_ITER 4000 2000 5 5 Ich m chte aber dieses Beispiel als Einstieg nutzen um gleich eine z hlergesteuerte Schleife einzusetzen und au erdem einige ganz wesentliche Grundlagen zum Programmieren mit DERIVE hervorzuheben Da man eine Rundungsfunktion sicherlich fters gebrauchen kann werden wir diese extern definieren und dann vom Programm her aufrufen m FLOOR 18 x B_5 runde x m
7. el Platz wird daf r ben tigt die erweiterte 4n 4 x An 3 Matrix des Gleichungssystems zusammenzustellen Ich werde nicht das ganze Listing hier anbieten sondern verweise auf die mitgelieferte Diskette Sie werden ja sicher nicht den Ehrgeiz haben das Programm abzutippen Aber einige wesentliche Erl uterungen die ber die Kommentarzeilen hinausgehen will ich schon noch anbringen SPLINES m m ppa ymar 20mae 277 aKO Spln Sp yan zende PROG Mi BDIMAM y 1 z VECTOR 0 k 4 m_ 3 LSLE Sy In 1 wird ein Nullvektor z bereitgestellt in dem an den richtigen Stellen die Nullen durch die Koeffizienten der Gleichungen ersetzt werden Ein besseres Verst ndnis f r den Aufbau der Matrix erh lt man wenn man versucht einige Zeilen selbst zu erstellen Im ersten LOOP wird das Argument der ersten St tzstelle in den ersten Spline eingesetzt und damit die ersten 4 Elemente von z berschrieben ersetzt und anschlie end die noch leere Matrix mat mit der ersten Zeile gef llt Anschlie end folgt eine Schleife f r die inneren Punkte die jeweils zweimal Verwendung finden gefolgt von der Ber cksichtigung des Punktes am rechten Rand LOOP IF i 5 EXIT Z2 S REPLACHE m SUB 1 SUB IS Z N i 1 der Funktionswert an die letzte Stelle gesetzt z REPLACE m SUB 1 SUB 2 z 4 m 3 mat APPEND Maty Z 1 To 1 2 8 2 j 1 bk teachware B hm Programmieren mit DERIVE 49 LOOP a
8. serp IF x lt r IE1220 SORTI F 72 4 12 272 72 TRUE PE SORTIrT 2 2 2 DIDI logische Verkn pfung der Ungleichungen RETURN cc ca AND v lt sserp AND NOT E2 OR c1 yinyangib Herausforderung 20 Stellen Sie das Symbol so dar wie in es in der Abbildung am Beginn des Abschnitts zu sehen ist bk teachware 60 bk teachware Schriftenreihe Herausforderung 21 Drehen Sie das YIN amp YANG Symbol um 90 Herausforderung 22 Versuchen Sie das dargestellte Sechseck zu erzeugen Am ein fachsten w re es lineare Funktio nen zu verwenden und mit Unglei chungen den schaffierten Bereich zu beschreiben Das ist aber vielleicht nicht das k rzeste Programm Herausforderung 23 Erzeugen Sie eine Figur nach eigenem Design Polygone Rosetten Figuren bk teachware B hm Programmieren mit DERIVE 61 Literaturhinweise Vedic Mathematics using DERIVE Nurit Zehavi a o DNL 43 2001 The Natural Calculator Deepa Jeswani Proceedings Portoroz 2000 bk teachware ACDCA 10 Milton s Problems Milton Lesmes amp Josef B hm DNL 44 2001 Mr Setif s Treasure Box Robert Setif DNL 3 1991 Schwarze L cher im Zahlenchaos Fr Fricker Spektrum d Wissenschaft 01 2002 Dynamic Algebra Ren Hugelshofer DNL 43 2001 Programming with DERIVE A Compiler Walter Schiller DNL 27 2000 www washlee arlington k12 va us DEPARTMENTS Maths data content3 html The MedMed Regression with DERIVE Josef B
9. tzlich das Sierpinski Dreieck Dieses sch ne Dreieck l t sich auch mit einem Einzeiler er zeugen und wiederum mit dem sehr m chtigen ITERATES Befehl 23 1 5 RANDOM 1 gt 3 1 RANDOM 3 1 5 RANDOM i1 3 n Herausforderung 7 Chaospolygone 11 Ausgehend von einem regelm igen p Eck mit p gt 4 ergibt sich der jeweils n chste Punkt nach der folgenden Vorschrift p f p 1 f Zufallsecke mit f 5 2 1 cos P Papa gpgS Ptr Pret ME En p pin a AME ba E Br Bi wir et Zeil p en g t a pa Mi aT FA ge ayga PRR maa hE iE Mi Et Ka In der Abbildung sehen Sie ein Resultat von chaospol 6 10000 bk teachware 34 bk teachware Schriftenreihe 7 Der Satz von BRIANCHON ein Satz ber Kegelschnitte Blaise Pascal entdeckte 1640 m Alter von 17 Jahren einen bemerkenswerten nach ihm be nannten Satz siehe Herausforderung 9 Fast 200 Jahre sp ter wendete Charles Brianchon das damals gefundene Dualit tsprinzip der Projektiven Geometrie an und formulierte das duale Gegenst ck den Satz von BRIANCHON 1812 Wenn man einem beliebigen Kegelschnitt ein geschlossenes Sechsseit um schreibt und die entstehenden Ecken von 1 bis 6 durchnumeriert dann gehen die Verbindungsgeraden von gegen berliegenden Ecken 1 4 2 5 und 3 6 im mer durch einen gemeinsamen Punkt den BRIANCHONschen Punkt siehe auch die Herausforderung 7 12 Wir wollen ein Programm schreiben d
10. x y Optimum Art 4 3 44 n lokales Maximum A 9 A lokales Minimum Die Ber cksichtigung von allf lligen Randextrema finden S e ebenso w e das komplette Programm in Kapitel 9 Leider wird weder im Handbuch noch in der DERIVE Online Hilfe ausf hrlich auf das Pro grammieren mit DERIVE eingegangen Das vorliegende B chlein soll helfen diese L cke zu schlie en Daneben sollen einige vielleicht auch f r Sie neue Eigenschaften von DERIVE gezeigt werden und dies alles an Hand von ausgesuchten Beispielen die sich alle in der bk teachware 6 bk teachware Schriftenreihe Sekundarstufe II einsetzen lassen Ich bin n mlich der Meinung dass man durchaus auch das Programmieren in kleinen Dosen wieder in den Mathematikunterricht einflie en lassen k nnte und dies auch tun sollte Wir beginnen mit einem einfachen Auftrag aus der Finanzmathematik Ein Startkapital soll ber eine bestimmte Anzahl von Perioden jeweils am Ende der Periode um einen festen Betrag vermehrt werden Welcher Betrag steht nach Ablauf der Perioden zur Verf gung wenn eine gegebene Verzinsung bei Zinseszinsen ZU ber cksichtigen ist Die Ausgabe soll nicht nur den Endbetrag liefern sondern in einer Tabelle den je weiligen Kapitalstand am Ende jeder Periode ausweisen Dem Programm geben wir den Namen FVPROG erhalten FV von Endwert Future Value Als Parameter sind das Startkapital der konstante Zuwachs die Verzinsung und die Anzahl
11. x1 x2 berpr ft die L sung und verwaltet die Anzahl der gestellten Aufgaben und der richtigen Antworten und results zeigt die Bilanz der bungssitzung LOAD G SEMINARE Programmbuch vieta t t Wie eine Vieta Sitzung aus 2 vieta t 15 t 54 sehen k nnte zeigt der Bild ant 9 5 falsch sondern schirmausschnitt 2 vietai o o 9 ant 8 1 falsch sondern vieta txt noch txt weil 2 vieta 1 7 1 direkt im Editor erstellt wurde ant B 2 richtig als Utility file in den Hinter grund geladen 2 vietai r i r 32 ant 16 2 richtig Aufgahen gestellt 4 results davon richtig 2 das sind in DA bk teachware 58 bk teachware Schriftenreihe Die Antworten von DERIVE auf ant x1 x2 fallen hier nicht besonders auf aller dings ist es nicht so einfach die Form falsch sondern 1 9 zu erreichen Wenn Sie nur mit APPEND arbeiten werden Sie ein Komma vor 1 nicht unterdr cken k nnen Hier greift eine Stringoperation ein eine der vielen Neuerungen von DfW5 APPEND falsch sondern STRING w_41 STRING w_x2 Oder Sie machen es noch ausgekl gelter und lassen die bung blockweise mit einer beliebigen Anzahl von Aufgaben durchf hren 2 x 8 x 2686 2 m f m 136 hlvieta l4 2 h 15 h 14 2 e 3e 18 gt 8 i 2 hlant Anzahl der L sungen stimmt nicht 17 8 1 2 ric
12. 1ps SUB 1 wu l a die Diagonalen 1 4 2 5 und 3 6 werden gebildet IT l bk teachware B hm Programmieren mit DERIVE 35 diags VECTOR EXPAND y ips SUB k SUB 2 ips SUB k 3 SUB 2 198 SUB K SUB T 1IPpPS OUB K3 SUB 1 amp 1P98 SUB Kk SUB 1 198 SUB K SUB 2 Y K 1 23 ITW l Der BRPkt entsteht im Schnitt von zwei dieser Diagonalen LAES i l BIPES SOLUTTONS 41398 SUB 1 SUB 1 AND diags SUR 2 SUB 15 831 SUB L der BrPkt soll durch einen dreifachen Kreis markiert werden a dann Zusammenfassung der Ergebnisse und Ausgabe in einer Matrix Marks BxXPANDI VECTOROI amp BEBE SUR II RZELY DIDE SUB 297 250 1 72 k 3 tei lIs BLLIDBS amp 57 Asx Aa 2 y7 253 2 572 Punkte pts te1il2 Tangenten tg8 Sechsseit 198s Diagsnalen zdiags te il3se Brranch n scher P nkt brpEl Markierung marks RETURN APPEND teill teil2 teil3 NotationDigits 4 Der Programmcode sollte selbsterkl rend sein wenn man davon absieht dass sich die SUBs schwerer lesen lassen als die Indizes Ein zus tzlicher Hinweise zur DERIVE Syntax scheint aber angebracht 2 pi RANDOM 1 erzeugt eine Zufallszahl zwischen 0 und 2r Die Ausgabe mit 4 werthabenden Stellen k nnen S e nat rlich auch weglassen und dann extern ber Declare Output Settings individuell einstellen brianchon 4 2 brachte be m r z B das folgende Ergebnis
13. 2 9 h extrem r h n h r r 6 6 b P h r ptimum Art 7 A 5 lokales Minimum 3 4 48 n lokales Maximum 7 A am unteren Rand Ad 6 am oberen Hand Wenn Sie anstelle der Werte 9 und 6 mit allgemeinen Gr en a und b arbeiten funktioniert zwar die Extremwertsuche auch aber die Art der Extremwerte kann nicht bestimmt werden da DERIVE bei den allgemeinen zweiten Ableitungen nicht das Vorzeichen bestimmen kann Dass auch Wurzelfunktionen richtig bearbeitet werden zeigt das folgende Beispiel aus 12 2 2 2 y 15 extrem 15 15 x 250 K2S5 u 3 X y 5 x x y pt imum Art 12 33166637 6 482261995 4881 079524 lokales Minimum 12 33106637 6 88322601795 4881 077524 lokales Minimum Beachten Sie aber dass sie immer im exact Modus rechnen lassen und erst das Ergebnis approximieren bk teachware 42 bk teachware Schriftenreihe Besonders einfach aber auch interessant sind die Ergebnisse f r die n chsten beiden Aufga ben Einem gleichschenkligen Trapez a 4 h 1 5 und c 3 ist das a fl chengr te b umfangsgr te Rechteck einzuschreiben Wenn man das erste Ergebnis A richtig interpretiert und i 2 nicht nur abschreibt erkennt extrem b h DE b h man dass es ein Rechteck mit der H he 3 in einem u 12 Ant Trapez dessen H he nur 1 5 2 d b lokales Maximum betr gt nicht geben kann 4 b i 2 3 extrem b h h bh h U 3 h 2 Wenn wir f
14. 35 40 42 50 SUM 18 51 Sutra 13 TABLE 6 19 Textdatei 11 27 Tilde 11 TOM EXE 21 TxtToMth EXE 27 Ungleichungen 25 Utility 14 57 VARIABLES 40 59 VECTOR 8 18 20 35 40 47 49 56 Vieta 57 z hlergesteuerte Schleife 7 Zufallsauswahl 32 Zufallsgenerator 32 bk teachware
15. A LOOP Nun folgt wieder eine geschachtelte Schleife die die Zeilen der Matrix erzeugt die aus der bereinstimmung der ersten Ableitungen folgen Diese wird in der Wiedergabe bersprun gen und wir schauen uns die n chste Schleife n her an die die geforderten bereinstimmun gen der zweiten Ableitungen beschreibt a die zweiten Ableitungen m ssen bereinstimmen LOOP A A 2 LOOP IF i 3 EXIT 2 S REPLACE 4 1 m SUB JPI SUB LA 2 1 72 4247 212 a ee i 5 LOOP IF i 7 EXIT A REPLACE 091 1m SUB 742 SUB 1 0622 7AJ Ar i 1 mat APPEND mat z_ Jekly IF j m 1 EXIT a die zweiten Ableitungen an den Raendern verschwinden Die Kommentarzeile sagt schon wie es weitergeht hnlich dem Beginn werden die zweiten Ableitungen an den R ndern ber cksichtigt Ein letztes Mal wird die Matrix um eine Zeile erweitert und dann extrahieren wir die letzte Spalte der mit ROW_REDUCE behandelten Matrix Ihre Elemente sind die Koeffizienten der gesuchten Splines immer sch n in Viererp ckchen wenn die Matrix regul r ist Das aber wird in Zeile 2 abgefragt mMatcs APPEND Mat Z yy koeff ROW REDUCE mat COL 4m _ 3 y Bestimmung der Splinefunktionen 3 spLle VECTOR TX IE 2 27 117 KOSER ROW 121 7 35 235342 215 7 2 TIF NOT NUMBER SUBST spls SUB 1 X 0 Y RETURN singulaere Matrix bk teachware 50 bk teachware Schriftenreihe 4 splf EXPAND SUM spl
16. Darstellung Herausforderung 4 Eine andere Zahlenfolge kann so definiert werden Ein Startwert ganz positiv und durch drei teilbar wird vorgegeben Die n chste Zahl ist die Summe der dritten Po tenzen ihrer Ziffern usw Erzeugen und untersuchen Sie derartige Folgen 5 R deger Baumann hat im DERIVE Newsletter 47 dieses Problem und eine interessante Verallgemeinerung auf rekursive Weise behandelt 32 bk teachware 4 Heronsche Dreiecke Geschachtelte Schleifen Ren Hugelshofer schrieb einen sch nen Beitrag f r den International DERIVE amp TI 9 Newsletter mit dem Titel Dynamic Algebra 6 in dem er Heronsche Dreiecke als solche definierte in denen sowohl die Seitenl ngen als auch der Fl cheninhalt ganzzahlige Werte annehmen z B 3 4 5 In einem Nebensatz machte er die Bemerkung dass man auf dem TI 92 ein Programm zur Auflistung aller derartigen Dreiecke bis zu einer vorgegebenen maximalen Seitenl nge s schreiben k nnte Dies war Anlass genug f r mich das Problem mit DERIVE zu l sen Da man f r alle drei Seiten alle m glichen ganzzahligen Werte lt s untersuchen muss ergibt sich zwangsl ufig die Notwendigkeit mit geschachtelten Schleifen zu arbeiten Nun m chte ich Sie mit einem weiteren sehr m chtigen Werkzeug bekannt machen das das Programmieren mit DERIVE ganz entscheidend vereinfachen kann Vor einiger Zeit erhielt ich im Rahmen meiner Arbeit f r die DUG DERIVE User Group
17. Perioden erreicht hat dann ist es Zeit f r die Ausgabe der Liste nicht ohne vorher noch eine ber schrift vorangestellt zu haben So weit so gut Aber wie schreiben wir nun das Programm da uns nur die Eingabezeile zur Verf gung steht Dass man nicht direkt n das Algebrafenster hineinschreiben kann haben sicherlich schon viele von uns oft bedauert Das ist nun das gro e Problem dass uns in DERIVE vorerst kein Fullscreen Editor zur Verf gung steht Das Programm ist in linearer Form d h Zeichen f r Zeichen Klammer f r Klammer zu schreiben und man beginnt EVPRO G PV add PhE Peze per1908 1n 9 lt apr valuss I PROG Caps py values n cap LOOP n 1 cap 1 perc 100 captadd_pmt values APPEND val ues n runde cap 2 IF n periods RETURN APPEND Periode Kapit alstand values bk teachware B hm Programmieren mit DERIVE 9 Das ist nicht sehr bersichtlich und au erdem fehleranf llig Ein besonderes Problem stellen die vielen notwendigen Klammern dar und dabei ist das ja noch gar kein richtiges Pro gramm Bei geschachtelten Schleifen und verschachtelten IF Konstruktionen kann es ohne hinreichende bung schon recht unangenehm werden Ich empfehle aber trotzdem dieses kleine Programm auf die konventionelle Art auf den DERIVE Schirm zu zaubern Achten Sie auf die Einr ckungen die dann auf dem Schirm zu sehen sind und welche die Struktur des Programms erkennen
18. Wil 12 sofort im 2D Plotfenster ge Pa schehen Damit das Bild ver a n nftig wird hat man auf einige EEE Einstellungen im 2D Fenster zu Emeeen en en achten s 8 heo Um den Platz optimal zu n tzen habe ich die beiden Toolbars mit den mathematischen und griechischen Zeichen weggeschaltet Unter Options Display empfiehlt sich bei Grids die Intervals Horizontal auf 28 und Vertical auf 15 zu setzen Wenn man die Lines auf On stellt soll man darauf achten dass man eine sehr dezente Farbe w hlt Und zum Schluss noch eine ganz wichtige Einstellung die Punkte sollen Size Large und Connect No aufweisen Jetzt kann es losgehen Mit m glichst wenigen Geraden sollen alle Punkte abgeschossen werden wobei Sie den zus tzlichen Auftrag geben k nnen dass achsenparallele Gerade nicht gelten sollen au er dies ist das erkl rte bungsziel Genauso k nnen Sie die Devise 16e Nur Gerade durch den Ursprung sind erlaubt ausgeben Aber unter diesen Voraussetzun gen gilt dann die Resultatanzeige nicht Der bende hat eine Gerade gefunden im Kopf mit einer Nebenrechnung sie m ge z B y 2x lauten dann gibt er diese Gerade unter plline y 2x ein und plottet sie bk teachware 54 bk teachware Schriftenreihe Unmittelbar sieht er seine Treffer Es ist nicht notwendig die Gerade in expliziter Form anzugeben Jede Darstellung ist erlaubt 1 Cross 7 6 6 Center 0 0 Sc
19. e zuerst die gegebenen Punkte und legen S e dann den Spline dar ber Aktivieren Sie nur den Spline Anschlie end zeichnen Sie bitte auch die Polynomfunktion dazu wenn S e nicht schon vorher neugierig gewesen sind bk teachware B hm Programmieren mit DERIVE 51 3 1 j i 2 3 4 5 G6 7 A ii i 1 2 3 4 l 5 Sp testens jetzt erkennen Sie den Vorteil des Splines er osziliert wesentlich weniger als das Polynom 6 Grades Der Linienfluss ist nat rlicher So oder so hnlich w rde man auch freih ndig einen Versuch unternehmen die Punkte zu verbinden Im n chsten Bild sieht man sch n die glatten berg nge in den St tzstellen Nat rlich lassen sich auch andere Randbedingungen vorgeben So sind manchmal die Anstiege im linken und rechten Endpunkt vorgeschrieben Zu den Splines gibt es sehr viel Literatur 18 20 24 31 33 bk teachware 32 bk teachware Schriftenreihe Herausforderung 14 Die vorliegende Kurve ist der halbe Querschnitt eines Drehk rpers das k nnte z B eine Turmhaube sein Erzeugen Sie eine Spline Anpassung an diese Kurve unter Verwendung von mindestens sechs geeigneten St tzstellen Verwenden Sie die gefundene Funktion zur Berechung des von diesem Drehk rper eingeschlossenen Volumens 100 cm Herausforderung 15 bertragen Sie aus einer Landkarte f nf oder mehr Landschaftspunkte die durch eine Stra e verbunden werden sollen Konzipieren Si
20. ganz wird das Paar gelistet Ty IF INTEGER n AND INTEGER m u APPEND u m 2 n 2 gt Hier finden Sie im Code dokumentierende Kommentare eingef gt Sie stehen unter und werden zus tzlich mit dem eingeleitet um sie als Dokumentation kenntlich zu machen bk teachware 14 bk teachware Schriftenreihe DIVISORS ist eine Funktion die das Utility file NUMBER MTH bereit stellt Falls DERIVE ordungsgem installiert wurde wird diese Datei beim ersten Aufruf von DIVISORS auto matisch in den Hintergrund geladen DIVISORS x liefert alle Teiler der Zahl x in einer geordneten Liste Beachten Sie die Funktion INTEGER die im Falle eines ganzzahligen Arguments den Wert true zur ckgibt Auf ein kleines Zeichen m chte ich Sie aber besonders aufmerksam machen Wenn Sie in DERIVE die Addition 1 1 eingeben dann erhalten Sie nat rlich 2 Manchmal w re es aber w nschenswert dass DERIVE nicht n vorauseilendem Gehorsam gleich alles ausrech 66 J net Daf r ist der Quote Operator vorgesehen Sehen Sie den Unterschied i i s 2 e a G a l zsutra x u p i u a b m n gt Frog e Plausibilitaetskontrolle If x 2 w a INTEGER x RETURN impossible t e alle Teiler von x werden in einer Liste gesammelt v DIVISORS xXx E nur die erste Haelfte der Liste wird verwendet p FLOOR DIM y 2 i 1 Loop If i gt p RETURN u vE der i te Divisor aus der
21. globale Variable ist kann sie sofort nach dem Aufruf von hit mit task im Algebrafenster betrachtet werden Die Anzahl der gew nschten Punkte wird ber pts gesteuert Beachten Sie die entsprechenden Kommentarzeilen Welche Zufallszahlen produziert RANDOM 23 11 Da RANDOM 23 eine ganzzahlige Zufallszahl aus 0 22 erzeugt ergibt sich nach Subtraktion von 11 die Menge 11 11 Mit plline Geradengleichung plottet man seinen ersten Versuch und erkennt ob und wie viele Punkte getroffen wurden Nun tritt der zentrale Teil von plline in Akti on die Verwaltung der getroffenen bzw der noch zu treffenden Punkte Ich werde das am besten an einem Beispiel erkl ren Zu diesem Zweck habe ch vorher nur zu Demonstrationszwecken die Variable yes _ globalisiert Unser task m ge bei spielsweise neun Punkte umfassen von denen 3 auf der Geraden y 3 x liegen Daher plotte ichplline y 3 x und sehe wie erwartet meine drei Treffer sch n markiert Im Algebrafenster inspiziere ich dann die Variablen hit plline y 3 x yes_ i 2 i 6 252 2 6 4 4 a nl task sg 6 2 ii 3 3 A 3 In erzeugt yes die Liste jener Punkte aus der Punktliste task die getroffen wurden weil die Koordinaten eingesetzt in die Geradengleichung eine wahre Aussage ergeben Die Matrix yes wird uns auf Abfrage auch gezeigt Sie wird in dazu verwendet die Punkte zu markieren In wird die Punktliste ta
22. hm DNL 41 2001 Mastering the TI 92 Larry Gilligan a o GILMAR Publishing 1996 Computer Graphics with DERIVE Mar a Koth DNL 32 34 1999 5000 Jahre Geometrie C J Scriba Springer 2001 An Introduction to Plane Geometry H H Baker Cambridge Press 1943 Cinderella Benutzerhandbuch J R Gebert u a Springer 2000 Maximum and Minimum Values Erich Zott DNL 12 1993 Optimierungsaufgaben grafisch numerisch Josef B hm bk teachware 1998 Discussion of a Curve A Program Josef B hm DNL 15 1994 Analysis mit DERIVE H J Kayser D mmler Verlag 1996 Reverse Discussion of a Curve Otto Reichel DNL 18 1995 Cubic Splines Reichel Klingen B hm DNL 18 19 1995 Abituraufgaben mit Grafikrechnern Teil 1 H Knechtel u a Schroedel 2001 Mathematische Grundlagen der Computergrafik W Luther Vieweg 1988 Numerical Analysis via DERIVE Steven Schonefeld Mathware 1994 Akima Splines Outperform Cubic Splines Robert Geruschkat DNL 38 2000 Mathe Trainer I f r TI 89 92 92 Josef B hm bk teachware 2000 Vieta by Chance Jan Vermeylen DNL 20 1995 A Macro for DERIVE Johann W esenbauer DNL 42 2001 bk teachware 62 28 29 30 31 bk teachware Schriftenreihe The Delayed Assignment Heinz Rainer Geyer DNL 27 1997 Mathographics Robert Dixon Dover Publications 1987 DERIVE Handbuch Vlasta Kokol Volic amp Bernhard Kutzler TI Publications Materialien f r den Einsatz von Grafikrechnern und C
23. man sich als Lehrer einmal entschlossen hat ein CAS m Unterricht einzusetzen reduziert sich ab einem gewissen Moment sicherlich nach der h ndischen Durchf hrung von einigen weni gen einf hrenden Aufgaben der mathematische Gehalt auf das Auffinden und Formulieren von Haupt und Nebenbedingung en hb bzw nb und auf das Interpretieren der Ergeb nisse Alles andere Substituieren f r die Variablen Differenzieren und L sen der auftreten den Gleichungen wird nach einem Rezept vom CAS bernommen Dann k nnte man aber auch im Unterricht versuchen dieses Rezept in Form eines ablauf f higen Algorithmus einem programmierbaren System zu lernen Damit wird man erst richtig gezwungen ganz klar und sauber Schritt f r Schritt zu berlegen und auch allf ll g auftretende Sonderf lle in seine berlegungen mit einzubeziehen 15 Im vorgestellten Programm werden auch m gliche Randextrema ber cksichtigt Kommenta re sind eingef gt extremchbunD v1L v2 83 72 1 2 27 501hb h5 1 581891 20U3 V1 92hb 2 75 art n1solsl vald2 1 7 reS7501 5V2 58181 v4 v4 zandex PROG a Menge der echten Variablen 3 va 3 iy1 v2 aA die NB wird nach vl aufgeloest sols1 SOLUTIONS nb v1 nsols1 DIM sols1 E a S r a Schleife fuer Loesungen der NB LOOP TEPLE 7nSOLs17ex1T 5 a die Loesungen aus der NB werden in die HB eingesetzt ausvl i ss lsl SUB I hbl SUBSTE Kb v1 auxvl a die HB hae
24. teachware B hm Programmieren mit DERIVE 47 Man kann sich aber fragen was passiert wenn das 3 9 Programm berbestimmt ist dh wenn die vorliegen 25 a den n Punkte gar kein Polynom vom Grad n ben ti gen i i 3 polynom A 15 X Gegen Polynome h heren Grades als Interpolations 1 5 2 25 polynome sprechen einige Gr nde das Arbeiten mit 4 16 derartigen Polynomen ist recht umst ndlich Da kann 5 25 man aber dagegenhalten dass dies im Zeitalter des Computers kein Problem mehr darstellt Ok dann warten Sie bitte bis Sie den Graphen der Funktion gesehen haben warum einiges f r oder gegen das folgende Verfahren spricht Wir verbinden jeweils zwei benachbarte St tzpunkte durch eine Kurve 3 Grades so dass dieser bergang stetig das ist klar und differenzierbar Ecke wollen wir keine drin finden ist Dar ber hinaus sollen die Kurven in den Anschlusspunkten auch in ihren zweiten Ab leitungen bereinstimmen um einen besonders glatten und ruckfreien bergang zu er m glichen Diese Aufgabenstellung erinnert an die umgekehrten Kurvendiskussionen wie sie in s terreich genannt werden w hrend ich in Deutschland schon den sch nen Namen Steck briefaufgaben daf r geh rt habe siehe auch Herausforderung 14 Wir bilden das mathematische Modell f r n St tzstellen die mit n 1 Polynomen 3 Grades pk zusammengehalten werden Da jedes dieser Polynome durch 4 Parameter bestimmt ist wer den 4n
25. 4 Gleichungen f r diese 4n 4 Variablen ben tigt Ich empfehle Ihnen eine kleine Skizze zu machen und mit mir mitzuz hlen Das erste und letzte Polynom m ssen durch den ersten bzw letzten Punkt gehen P amp 1 Y 1 Pn 1 Xn Yn 1 In den n 2 brigen Punkten h ngen die Polynome zusammen Pk 1 Xk Yk und Pkk Yk mit k 2 l 2n 4 In diesen Punkten stimmen 1 und 2 Ableitung benachbarter Polynome berein Pr 1 Xk Pk Xk oder Pr Xk Pr X 0 n 2 Pr Xk Pk Xk oder Pki Xk Pk Rx 0 n 2 Und um das System zu komplettieren werden noch zwe Bedingungen ben tigt Zumeist l sst man die zweite Ableitung an den Randpunkten verschwinden p amp 0 und Pa Xn 0 2 Nun z hlen wir zusammen 1 1 2n 4 n 2 n 2 2 4n 4 bk teachware 48 bk teachware Schriftenreihe Ist schon das Aufstellen des Gleichungssystems l stig genug f r unsere 7 Punkte w ren 24 Gleichungen mit 24 Variablen notwendig kapitulieren wir sofort bei der Aufl sung des Systems Nun es gibt verschiedene Algor thmen f r dieses Standardproblem der numerischen Mathe matik aber wir wollen die h ndische L sung simulieren Das hei t dass wir ehrlich die Matrix des Gleichungssystems aufbauen lassen auf die Matrix wieder ROW _REDUCE an wenden und schlie lich aus dem resultierenden L sungsvektor die kubischen Splines zu sammenstellen Das Programm ist nat rlich etwas l nger und v
26. 56 118 186 lied i i i I1di 2 4 16 182 Iif2 5 25 29 85 89 145 42 20 4 16 163 1id3 18 1 184 i 4 17 5A 25 27 85 89 145 42 28 4 i 185 i 5 26 40 16 186 Iifib 37 58 859 145 42 20 4 16 107 1M7 50 25 29 85 89 145 42 20 4 16 188 id8 65 61 37 58 89 145 42 20 4 16 187 1i 82 68 160 i 118 118 2 4 16 TABLE DIM sixteen x x 1000 i i 1008 2 1801 4 Mit TABLE sixteen erhalten wir 1892 11 die Folgen wogegen uns der zus tzliche a DIM Befehl nur die Anzahlen der Elemente i ausgibt Und diese Tabelle der Folgenl ngen iaa 9 wollen wir graphisch f r die ersten 10000 1007 ii ganzen Zahlen darstellen lassen 1808 11 10099 5 i i 4 Lassen Sie aber bitte die Tabelle nicht im Algebrafenster ausgeben sondern wechseln Sie unmittelbar ins 2D Zeichenfenster aktivieren Sie die Option Approximate Before Plotting passen Sie die Skalierung an und lassen Sie die Punkte Small und Connect No erscheinen Dann sollte die nach einiger Rechenzeit auftauchende Grafik ein recht chaotisches Bild dar stellen Jedenfalls st unter den ersten 10000 Folgen keine l nger als 17 Elemente TABLE DIM sixteen x x 0 10000 i 2 ABH 151515 m 151515 151515 7151515 THBB SABH 7006 inp bk teachware 20 bk teachware Schriftenreihe Das entstehende Muster weist keinerlei Regelm igkeit auf es scheint chaotisch zu sein Eine geeignete A
27. AUM MTH finden daher erfolgt hier die Berechnung von Funktionswerten ber das Substituieren oder ber einen Grenzwert bk teachware B hm Programmieren mit DERIVE 41 SUBST solsl SUB 1 v3 rr oder LIM solsl SUB 1 v3 rr setzen den rechten Rand des Definitionsbereichs f r die Variable v3 in den entsprechenden Term ein der nach Aufl sung der Nebenbedingung nach der anderen Variablen entstanden ist Besondere Sorgfalt verdient die Zusammenfassung der Ergebnisse in Form einer Matrix Der Einsatz der eckigen Klammern ist ein wenig ausgekl gelt da man sehr klar zwischen einem Vektor und einer einzeiligen Matrix die mit begrenzt wird zu unterscheiden hat In umgekehrter Reihenfolge braucht man ein SUB oder zwei SUBs um ein Element aus dem Vektor eindimensionale Liste oder der Matrix anzusprechen Beachten S e bitte die ent sprechenden Hinweise in der DERIVE Hilfe Date Nun wollen wir aber unser selbst geschaffenes Werkzeug n tzen um einige Extremwertauf gaben zu l sen und damit gleich das Programm auf seine Tauglichkeit zu testen Auf Seite 5 habe ch die L sung f r die wohlbekannte Extremwertaufgabe gegeben n der einem geraden Kreiskegel mit r 6 und h 9 der volumsgr te Kreiszylinder einzuschrei ben ist Ich versuche nochmals meinem Programm die L sung zu entlocken verwende aber andere Variable vertausche die Reihenfolge der Variablen und gebe f r r die Defini tionsgrenzen mit 0 und 6 an
28. Dreiecke return res end Aller Text zwischen und sind Kommentare Zeilenumbr che k nnen beliebig eingef gt werden um den Code lesbarer zu machen Der Compiler erzeugt die Liste der lokalen Vari ablen aus dem Quelltext heraus Damit kann auch keine mehr vergessen werden Globale Variable k nnen zus tzlich definiert werden Beachten S e weiters die handliche Formulie rung der Loops und der IF Konstruktion TOM bietet noch einige andere sehr praktische M glichkeiten Einen weiteren gelungenen Versuch finden Sie im Kapitel 11 Nachdem der Text editiert und gespeichert wurde hier unter dem Namen herontom txt wird der Quelltext in der DOS Umgebung oder aus WINDOWS heraus compiliert Anschlie end sollte die entsprechende MTH Datei von DERIVE erkannt und geladen werden k nnen MA HMS DOS Eingabeaufforderung E SEMINARE 4Programm eren gt tom herontom txt finished f lefherontom txt GE SEMINARE Programmieren gt d r herontom Datentr ger in Laufwerk CG MS3 D03_6 Seriennummer des Datentr gers 4D4 AE46 Nerzeichnis von G2 5EHINARE4Frogramm eren HERONTOH TAT 1 156 30 17 01 18 16 herontom txt HERONTOM MTH 597 30 12 01 18 3 herontom mth 2 Date len 1 753 Bytes N Verzeichnisse 115 015 680 Bytes frei E SEHINARE4Programm eren _ Ich zeige im Folgenden nur einen kleinen Ausschnitt des compilierten DERIVE Programms Es sieht merkw rdig genug aus heron_triangle x c s 5start1 5
29. I 0 NHAME_TO_CODES 128 4 56 56 Der erste Josef wurde unter Doppelhochkommata eingegeben die aber am DERIVE n Schirm nicht mehr gezeigt werden Beim zweiten Josef ohne die beiden arbeitet die Funktion nicht nach Wunsch wogegen f r die numerische Gr e 128 wieder die Liste der Zahlencodes f r 1 2 und 8 ausgegeben wird 2 NECTOR CODES_TO_NAMESk k_ 47 58 56 gt GI 4 64 Diese Liste steht also am Ende des VECTOR Befehls in dem die Umkehrfunktion CODES TO NAME k_ jedes Element k_ dieser Liste wieder in die Zahl r ckverwandelt die dann quadriert wird Der Summationsbefehl addiert alle Komponenten der auf diese Weise entstandenen Liste womit die n chste Zahl erhalten wird und die Schleife ein n chstes Mal durchlaufen werden kann Die Eingabe des Programmcodes ist nun einfach da das Programm sehr kurz ist sixteen n seq PROG LOOP seq APPEND seq n Endabfrage IEF n 16 OR n 1 RETURN seq am n SUM VECTOR CODES TO NAME k 2 k_ NAME TO CODES n a Ende der Schleife r a Ende des Programms Die alleinstehenden Klammern machen das Ende des Loops und des Programms deutlich Beachten Sie bitte dass k als Schleifenz hler nicht in die Parameterliste aufgenommen werden muss Anschlie end wollen wir die L ngen der entstehenden Folgen untersuchen bk teachware B hm Programmieren mit DERIVE 19 InABLE sixteen x x 1
30. Liste a i uli b xa m a hy AEBS Ca bjr a nur wenn n und m ganzzahlig sind wird das Faar gelistet If INTEGER n INTEGER m u APPENIKu im 2 n 2 i i szutra i la Diesen Quote Operator setzen wir dazu ein dass die Differenz der Quadrate von m und n nicht ausgerechnet wird wir wissen ja dass sich die gegebene Zahl x ergibt sondern dass die Differenz der Quadrate wirklich ersichtlich wird Einfacher w re die Ausgabe der Paare m n aber die w re doch nur halb so sch n Die doppelte eckige Klammer bei der Ausgabe im Falle von nur einer L sung wird Puristen nat rlich st ren Da ich der Meinung bin dass sich ein Programm durch eine geeignete Form der Ausgabe verkaufen muss wollen wir diesen kleinen Sch nheitsfehler durch eine Abfrage unmittel bar vor der Ausgabe entfernen bk teachware B hm Programmieren mit DERIVE 15 Die IF Abfrage am Beginn der Schleife wird ersetzt durch die folgende geschachtelte IF Abfrage 2 IF i gt p IF DIM u 1 RETURN u SUB 1 RETURN u 30865 30863 2 2 15434 15438 2 2 18291 18285 la 2 sutra 12 4 2 2 2 720 7712 2 2 5154 5138 sutra 123456 2 2 ZUR 3866 3860 Daneben k nnen Sie die Ausgabe P 3 f r eine etwas gr ere Zahl sehen 2o84 2560 2 2 1745 1913 f j 2 2 Literaturhinweis 1 2 1318 1262 2 2 671 595 Da in diesem Programm mit einer Li
31. Programmieren mit DERIVE Josef B hm bk teachware Schriftenreihe Nr SR 32 ISBN 3 901769 50 1 10 11 12 Inhalt Einleitung Woraus ein DERIVE Programm besteht das erste Programm Die Mathematik der Veden in einem DERIVE Programm Miltons Folge ein Souvenir aus Kolumbien Heronsche Dreiecke Geschachtelte Schleifen Tipps f r das Entwanzen Debuggen Kennen Sie die MedMed Regression Eine Editierhilfe von Albert Rich Das Chaos Spiel Der Satz von BRIANCHON ein Satz ber Kegelschnitte Und damit verlieren die Extremwertaufgaben ihren Schrecken Polynominterpolation gegen kubische Splines Programmieren mit DERIVE ist ein hit ein Trainingsprogramm Zum Abschluss YIN und YANG Literaturhinweise Index bk teachware 13 17 21 26 24 27 31 34 39 46 53 59 61 63 B hm Programmieren mit DERIVE 3 Einleitung Dieses B chlein entstand aus der langj hrigen Besch ftigung des Autors mit DERIVE als Begr nder der International DERIVE amp TI 92 User Group DUG als Lehrerfortbildner und vor allem als Lehrer der lange und erfolgreich DERIVE im Mathematikunterricht an einer Handelsakademie eingesetzt hat Mit der Programmierf higkeit hat DERIVE 5 eine von vielen Ben tzern schon lange gefor derte Eigenschaft erhalten Damit l t sich die ungeheure power eines sehr guten CAS mit der Vielseitigkeit einer Programmiersprache verbinden Wenn auch die Programmie
32. Sehwinkel be S wundern zu k nnen Gegeben ist das Viereck ABCD mit A 0 0 A FOP a eE B 5 0 C 5 5 2 5 D 1 2 5 T ist ein beliebi u Schiebe T auf RB Ga ger Punkt auf AB Auf AD ergibt sich der Ba Punkt P mit AP AT und auf BD der Punkt Q mit BQ BT F r welche Lage von T hat das entstehende Viereck ABQP a gr ten Umfang und b gr ten Inhalt AT 2 266Mm U 16 amp 40EM n 13 65 2m8 Die nach rechts offene Parabel mit dem Schei tel in 8 0 geht durch den Punkt 0 6 Die Parabel und die Gerade g 3x 2y 12 be grenzen mit y 0 in der oberen Halbebene einen Bereich dem ein achsenparalleles Rechteck eingeschrieben werden kann eo o Ze h 4 2609 a Bestimmen Sie das Rechteck mit dem gr ten Fl cheninhalt b Bestimmen Sie das Rechteck mit dem gr ten Umfang A 2Z1 93567 U 15 rr716 Alle Beispiele sind dem bkt Buch SR 06 entnommen Optimierungsaufgaben grafisch numerisch und analytisch mit dem TI 92 l sen Die TI 92 Bilder zeigen CABRI Modelle der gestellten Aufgaben bk teachware B hm Programmieren mit DERIVE 45 Herausforderung 13 aufw ndig aber leichter als extrem Ein anderer Dauerbrenner im Rahmen der Differentialrechung sind die Kurven untersuchungen 17 18 Schreiben Sie ein Programm das nach Eingabe der Funktion als einzigen Parameter die Nullstellen Extremwerte Wendepunkte An stiege der Wendetangenten Polstellen Verhalten
33. abel 1 ecos p e gt Hyperbel bk teachware 38 bk teachware Schriftenreihe Herausforderung 9 Der Satz von Pascal lautet in moderner Sprechweise Sind 1 6 beliebige Punkte eines Kegelschnitts und bezeichnet 1 2 2 3 usw die entsprechende Verbin dungsgerade 1 2 4 5 usw den Schnittpunkt dieser Geraden so liegen die Schnittpunkte 1 2 4 5 2 3 5 6 und 3 4 6 1 auf einer Geraden der Pascal schen Geraden 12 13 berlegen Sie dass die beiden S tze Brianchon und Pascal durch Dualisierung auseinander hervorgehen Vertauschen Sie jeweils Punkt gt Gerade Verbinden lt gt Schneiden Schreiben Sie nach der Vorlage brianchon ein entsprechendes Pro gramm pascal Das ist etwas einfacher als brianchon In der Abbildung k nnen Sie eine Realisierung des Satzes von Pascal sehen die mit dem DGS Dynamischen Geometrie System Cinderella erzeugt wurde 14 Herausforderung 10 Falls Ihnen ein Dynamisches Geometriesystem zur Verf gung steht dann erzeugen Sie die Darstellung von einem der beiden S tze Hier wurde der Satz von Brian chon mit der Cabri Applikation des TI 92 dargestellt Das rechte Bild entstand aus dem linken durch Ver nderung der Lage von zwei Ellipsenpunkten bk teachware B hm Programmieren mit DERIVE 39 8 Und damit verlieren die Extremwertaufgaben ihren Schrecken Wer kennt sie nicht die Probleme der Sch ler mit den Extremwertaufgaben Wenn
34. aktualisierten Utility Date en finden die zum Lieferumfang von DERIVE geh ren z B NUMBER MTH entstanden unter entschei dender Mitwirkung von Johann Wi esenbauer Au erdem publizieren wahre DERIVE Spezialisten wie Johann Wiesenbauer Richard Schorn Stefan Welke Josef Lechner R de ger Baumann Terence Etchells u a DERIVE Programme f r den DNL die aber den Rahmen dieses B chleins bei weitem sprengen w rden Albert Rich einer der Gr nderv ter von DE RIVE hilft bei Problemen immer sehr rasch Ich m chte mich hier bei allen die immer wieder helfen die M glichkeiten von DERIVE auszuloten ganz herzlich bedanken Ganz besonderer Dank gilt Richard Schorn und R deger Baumann die mir wertvolle Hin weise gegeben haben R deger Baumann hat auch eine Variante des BRIANCHON Programms geliefert das auf der Diskette unter BRIBAUM MTH zu finden ist Herzlichen Dank auch daf r Und jetzt bleibt mir nur noch Ihnen viel Spa und Erfolg beim Programmieren mit DERIVE zu w nschen Josef B hm nojo boehm pev at bk teachware B hm Programmieren mit DERIVE 5 1 Woraus ein DERIVE Programm besteht das erste Programm Eine der wichtigsten Neuerungen von DERIVE 5 ist die M glichkeit Programme zu schrei ben Es war auch in fr heren Versionen schon m glich sehr komplexe Abl ufe und Algo rithmen in DERIVE zu realisieren aber doch nur in der Weise dass man oft eine Vielzahl von Funktionen definieren musste die si
35. ale 1 A X plline y 1 Nachdem der letzte Punkt getroffen wurde wird das Ergebnis rechts unten angezeigt Werden die Punkte mit der theoretisch richtigen Mindestzahl von Versuchen getroffen dann ist das Ergebnis wie beim Golf PAR und es erscheint ein Kreis F r jeden zus tzlichen Versuch BER PAR wird ein gef lltes Quadrat angezeigt und bei g nstigen Punktkons tellationen und Geschick des benden soll es fallweise m glich sein mehrere Punkte mit einer Geraden zu treffen dann schafft man auch UNTER PAR was mit einem oder mehr gef llten Kreisen belohnt wird In meinem Bild lautet das Ergebnis Eins ber Par Hier finden wir eine sinnvolle Anwendung von globalen Variablen da man sich ja die Punk te task das vorgegebene Par par und die Treffer score jeweils merken muss Daher sind globale Variable unbedingt notwendig Wie Sie sehen ist das Programm gar nicht so umfangreich Das ist mein Programmvorschlag seore task S par hit pts 2 0 dummy p dy E y Piz Cask PRO dummy random 0 score a Man kann als ersten Parameter eine Anzahl von Pkten angeben oder mit hit eine Zufallszahl akzeptieren bk teachware B hm Programmieren mit DERIVE 55 a BLC CIL2 G10t 12 P nkte HIER Liefert erne zuf llige Anzahl TEPC 10 d 7 RANDOM 4 ce mr aA par erlaubte H chstzahl von Versuchen par lt ELOOR 2 0 5 dA
36. as zu einer Ellipse mit frei gew hlten Halbachsen a und b ein zuf lliges umschriebenes Sechsseit erzeugt die Tangenten in 6 zuf lligen Punkten auf der Kurve Die Tangentenschnittpunkte werden zu einem geschlossenen Sechsseit ver bunden und die drei Diagonalen Verbindungen der Gegenecken gezeichnet Sie m ssen sich immer in einem Punkt treffen der dann noch besonders herausgehoben wird Die Ausgabe soll so erfolgen dass wir schrittweise die Konstruktion im 2D Grafikfenster nachvollziehen k nnen Ich zeige das Programm wieder wie es im Editor aussieht da die bertragung aus dem DERIVE Schirm nur nach vielen Anstrengungen gelingen w rde brianchon a b dummy teil2 vals markierung brpt teill ips diags pts tgs teil3 PROG dummy RANDOM 0 6 Parameter zur Erzeugung von 6 Zufallspunkten auf der Ellipse Dabei wird der erste Punkt am Ende nochmals gebraucht vals VECTOR 2 pi RANDOM 1 Kk 6 vals APPEND vals vals SUB 1 das sind die 6 Punkte auf der Ellipse 5 pts VECTOR a COS t b SIN t t vals mit den zugehoerigen Tangenten Pkt Richtungsform TOSS3 VECLORL SUBSLIY BITTE A a SINE FREIES EI I FBF SIN t t k l k vals a ips wird die Liste der Tangentenschnittpunkte ips VECTOR SOLUTIONS tgs SUB i SUB 1 AND tgs SUB i 1l SUB 1 x yl SUB 1 1 6 IT a damit entsteht dann ein geschlossenes Sechseck LASA l ips APPEND ips
37. ch gegenseitig aufriefen Damit wurde das Nach vollziehen bzw ndern eines Programms alter DERIVE Art in vielen F llen recht m h sam Die wichtigste Neuerung ist nun dass man alle diese Funktionen in ein Paket schn ren kann Mit der IF Konstruktion steht schon lange eine m chtige Kontrollstruktur zur Verf gung wogegen man bisher die M glichkeit von z hler und ablaufgesteuerten Schleifen vermissen musste Es gibt zwar auch hier noch keine FOR NEXT Schleife und auch das WHILE und UNTIL werden Programmierer vergeblich suchen Doch mit der Loop Anweisung kann man das alles relativ einfach verwirklichen Das ist die zweite wesentliche Erweiterung des bisher in DERIVE vorhandenen Befehlsvorrats Gemeinsam mit der hohen Funktionalit t des Computer Algebra Systems sind beachtenswer te Ergebnisse zu erzielen Um den Leser ein wenig neugierig zu machen stelle ich ein Resultat eines Programmierver suchs vor Sie alle kennen den Schrecken der Sch ler Extremwertaufgaben Nun und da gibt es ein Werkzeug das nach Eingabe von Haupt und Nebenbedingung den beiden Vari ablen und den Definitionsgrenzen einer dieser beiden variablen Gr en die komplette L sung des Problems in einer ansprechenden Form pr sentiert Mit einer herk mmlichen Programmiersprache ist das wohl nicht leicht m glich da das exakte Differenzieren nicht verf gbar ist Aber hier 2 9 y extrem x y n 70707 X H 6 bh x
38. chen Spielw rfel f r die Zufallsauswahl Die Punktmenge scheint sich chaotisch innerhalb der Dreiecksgrenzen auszubreiten Wenn wir sehen wollen wie dieses Chaos nach 100 1000 oder gar 10000 Punkten aussieht m ssen wir wohl den Computer bem hen haon in Y 20y 2era eaS PROGI a das Startdreieck v aell OOl 1272 27 1272 7211 a ein Zurallsp nkt mit I lt x lt 2 DJ eye a RANDOM 1 ist eine Zufallszahl gt 0 und lt 1 xn 3 RANDOM 1 1 yn 3 RANDOM 1 1 a das ist der Startpunkt pts xn yal l LOOP RANDOM 3 gibt eine Zufallszahl aus 0 1 2 zz ist die Nr der Zufallsecke und ze ist diese zz RANDOM 3 1 Zes V _ SUB 22 xn xntze SUB 1 2 yn yntze SUB 2 2 pts APPEND pts xn yn a Endabfrage fuer die Schleife IF i n RETURN pts i 1 bk teachware 32 bk teachware Schriftenreihe Die Erzeugung des jeweils neuen Punktes kann auch ber die Vektorrechung erfolgen Das entsprechende Programm findet sich in der Datei chaos dfw Auch dieses Programm hat noch einen Sch nheitsfehler Nehmen wir einmal an dass Sie in einer Schulklasse diese Prozedur gemeinsam entwickeln und dann testweise die ersten 5 Punkte darstellen lassen Von Zufall keine Spur Alle Sch ler und auch Sie selbst werden dieselbe Konfiguration auf Ihrem Schirm sehen Und wenn Sie es das n chste Mal nach einem Neustart von DERIVE wieder probieren dann sehen Sie wieder dieselben
39. chware B hm Programmieren mit DERIVE 13 Bereits erfahrene Programmierer werden noch eine Notwendigkeit beim Programmieren vermissen eine geeignete Dokumentation Aber auch das l sst s ch leichter verwirklichen als angenommen Hilfreiche Tipps f r die Fehlersuche finden Sie auf Seite 25 2 Die Mathematik der Veden in einem DERIVE Programm Schon die alten Inder wussten dass sich jede positive ganze Zahl x gt 2 als Differenz zweier Quadratzahlen m und n darstellen l sst Durch Addition durch Subtraktion nennt sich die entsprechende Sutra denn as wenn x a b dann ergeben sich m und n als a b 2 und a b 2 Unser Programm soll f r jede Zahl x alle m glichen ganzzahligen Paare m n ausgeben Zusatzaufgaben f r Sch ler Beweise die Behauptung F r welche Zahlen gibt es kein derartiges Paar Warum muss man nur bis DIM v 2 z hlen Der Programmcode wie er sich im Editor pr sentieren k nnte a NUMBER MTH aus dem MATH Verzeichnis muss vorhanden sein sutra xV riru S a burn SPROG Plausibilit tskontrolle IF x lt 2 OR NOT INTEGER X RETURN unm glich 1 a alle Teiler von x werden in einer Liste gesammelt Ty 7S DIVISOROSAX gt a die abgerundete 1 H lfte der Liste wird verwendet p FLOOR DIM v 2 i 1 LOOP IESE RETURN ukha der i te Divisor aus der Liste a v SUB i b3 x2 3 m a tb 2 n ABS a b 2 gt a nur wenn n und m
40. e die Trasse mit Hilfe von ku bischen Splines Herausforderung 16 Das vorliegende kalligra phische T soll durch zwei kubische Splines erzeugt wer den W hlen Sie geeignete St tzpunkte und erzeugen Sie die Splines in einem ge eigneten Ma stab bk teachware B hm Programmieren mit DERIVE 53 10 Programmieren mit DERIVE ist ein hit Das n chste Programm ist aus meiner schulischen Praxis entstanden in der ich mehrere bungs und Trainingsprogramme f r meine Sch ler f r den TI 92 geschrieben habe darun ter f r das Arbeiten mit Termen das Faktorisieren von Termen f r die Ableitungs und Integrationsregeln und auch f r einige Grundaufgaben mit den linearen Funktionen 25 Unter diesen erwies sich ein Ballerspiel als besonders erfolgreich bei dem es galt zuf llig im Koordinatensystem vorgegebene Punkte durch m glichst wenige Gerade abzuschie en Es war nun f r mich eine wahre Herausforderung dieses Spiel nach DERIVE zu bertragen wie auch alle anderen Trainingsprogramme Sehen Sie zuerst wie so etwas aussehen kann Derive 5 2D plot 1 1 8 1xJ Hiie Edt Ima Se Oftons Wndo Help lex DEUS a xT wk EH orje le rm pp ojule JE Der bende ruft mit hit a re zwischen 7 und 10 zuf llige Punkte m Koordinatensystem auf die alle ganzzahlige Koor D ww a AaS J dinaten aufweisen Das kann 42 11 410 9 8 7 6 5 4 3 2 l L 2 3 4 5 6 7 3 9
41. en haben und medreg daten aufrufen sollten Sie ein Ergeb 135 16 nis wie auf der vorigen Seite gezeigt erhalten iBd 22 hp gt 125 19 86 15 1668 i 1215 29 Zum Vergleich habe ich die Ausgabe am 77 92 Schirm abgebildet Zu guter letzt werden alle Daten und Ergebnisse geplottet und man kann deutlich den Unter schied zwischen linearer und Median Median Regression erkennen edied Regression lineare Regression Herausforderung 6 Stellen Sie auch f r andere Arten von Regressionslinien eine Ausgabe wie auf Seite 29 her wie z B cubicreg liste 3 2 Regressions linie B 666561Y7 x B 48887 x 1 532681 x 4 805241 GummeRes 2 123 725 BestMa 0 998516 linreg liste2 Reyressionslinie 33 7873 8 132255 x SummeRes 2 83 766 Korrkoeff 1 822922 BestMa 1 677261 bk teachware B hm Programmieren mit DERIVE 31 6 Das Chaos Spiel F1 In der Ebene wird ein gleichseitiges Dreieck A ABC mit A 0 0 und B 1 0 gezeichnet Ein belie biger Startpunkt Po in der ai Ebene wird festgelegt Jetzt kann das Spiel begin P3 nen Eine der drei Ecken des Dreiecks wird zuf llig gew hlt und der Mittelpunkt der Strecke zu dieser Ecke ist der n chste Punkt P nun wird wieder eine Ecke zuf llig gew hlt und die Strecke von P zu dieser Ecke wieder halbiert gt P usw 10 11 Probieren Sie 20 Punkte auf diese Weise h ndisch zu konstruieren und verwenden Sie einen gew hnli
42. er Ziffern Das ergibt die n chste Zahl von der wieder die Quadratsumme gebildet wird usw Dabei m ndet man entweder bei der Zahl 1 oder bei 16 d e dann den Anfang einer Peri ode bildet Erstelle das zugeh rige Programm und untersuche die L ngen der Folgen f r die ersten 10000 ganzen Zahlen Wenn man z B mit 128 beginnt dann erzeugt man die Folge 128 69 117 51 26 40 16 128 17 2 8 69 69 6 9 117 17 V T 7 51 5 5 1 26 26 2 6 40 40 4 0 16 16 6 37 seixteen n seg gt Frog Loop seg i AFPEND seq In gt a Endahfrage If n ibwns i 3 B ii seg n A VECTOR CODES T0_NAME k_ 3 2 k_ NAME_TO_CODES n a Ende der Schleife a Ende des Programms sixteen 128 128 69 117 51 26 460 i So kann man auch sofort die Periode erkennen die mit 16 begonnen wird sixteen 37 37 58 87 145 42 20 4 16 Der Kern des Problems liegt darin wie man die Zahl in ihre Dezimalstellen zerlegt um de ren Quadrate zu bilden die dann summiert werden Wie aus dem Programm ersichtlich geschieht dies alles in der drittvorletzten Zeile die ich aber n her erkl ren will bk teachware 18 bk teachware Schriftenreihe Mit NAME TO CODES x wird eine Zeichenfolge x String oder Zahl aber keine Variable in eine Liste der ASCII Codes der einzelnen Zeichen umgewandelt NAME_TO_CODES Josef 74 iii 115 i i 162 NHAME_TO_CODES J 0 ef NAME_TO_LCODESLe f
43. erster Punkt in der Liste task RANDOM 23 11 RANDOM 13 6 Ke rk LOOP IF k d yeI a ein neuer Punkt wird erzeugt pt _ RANDOM 23 11 RANDOM 13 6 a Testroutine um Dopplepunkte zu vermeiden ttask 2F SELBECTIPE L y Le taski TEXetask l ly task i APPEND IPt Task k Bose k 1 Ir RETURN task ad nun folgt die Zeichen und berpr fungsroutine prline egu yes resp Lou z D1loEl YZ PROSK a der n chste Versuch score 1 Liste der getroffenen Punkte OD yes SELECT SUBST equ x y v_ true v_ task a revidierte Punktliste task SELECT SUBST equ_ x y l v_ false v_ task Q PAR ein Kreis IF par score 0 resp 9 5 122711527 27336 53 7 270 02 5 BER PAR gef llte Quadrate IF par score lt 0 resp LOE_3 VECTOR 12 8 17 27 12 21L and 6 8 lt y lt 6 2 1 1 score p r a UNTER PAR gef llte Kreise IF par score gt 0 resp LOC 2 FVBETORM XFL Lo 2 APY FO I 20A a A par score Gerade zeichnen und getroffene Punkte markieren plot1_ APPEND equ_ VECTOR x y6s5 sub I sub 1 22H gy yes Sub 2 8Ub27 722 07372 15 1 DIM yes IF DIM task J 0 ploti APPENDA BISTI r amp sp 16T bk teachware 56 bk teachware Schriftenreihe Ganz zu oberst erfolgt die Definition der globalen Variablen Im Programm hit wird die Aufgabe task zusammengestellt und das par festgelegt Da task eine
44. eses Dienstprogramm auf durch einfachen Doppelklick m Explorer g bt den Namen der txt Date ein und erh lt eine gleichnamige MTH Date zur ck Gro schreibung der DERIVE Funktionen ist nicht not wendig Die einzelnen DER VE Ausdr cke sind durch Leerzeilen zu trennen wol i g Hame 7 KF Beendet TxtT oMth Enter txt file name medmed uli Successfully created mth file MEDMED MTH Der Bildschirmausschnitt illustriert die Vorgangsweise bk teachware 28 bk teachware Schriftenreihe zuerst wird eine Funktion median liste erzeugt median liste n PROG li1st SORT liste n DIM liste LE MOD mr 2 317 128E SUB Ka DI 27 list SUB n 2 list SUB n 2 1 2 diesen Kommentar sieht man im DERIVE file nicht mehr aber die n chste Zeile schon a mdreg liste erzeugt die MedMed Regressionsgerade ndreg l2ste nsE1 2 929 921 922 923 02 91 9259371 337 BROET a die Liste wird nach steigenden x Werten sortiert liste SORT liste n DIM liste E aal und in moegslichst gLeiche Gruppen geteilt E13 SFE0O0OR 3 FED IH 3 Terre org 11 272 115 TRArel 9rg S f1l 272I 1T GESTEEL pA rE LELEII a die Gruppengrenzen richten sich nach Divisionsresten wird nicht nach DERIVE bertragen Srl 1L185T8 ROR Lyssa zat SUB Ly gtz t lrete ROW Org SUB EL 255077 SUB 2 gros i liste ROW org SUB Zr zes a die Mediane der x und y Werte bestimmen 3 Punkte pl bis p3 0l media
45. f nf Punkte Daran muss man immer dann denken wenn man mit dem Zufallsgenerator arbeitet F r Testzwecke ist es oft gar nicht schlecht immer dieselben Daten zu erhalten aber sp ter sollte wirklich der Zufall walten z B wenn man Simulationsprogramme erstellt Entweder man simplifiziert am Beginn der Sitzung RANDOM 0 3151648782 und intialisiert damit den Zufallsgenerator mit der Systemzeit des PC oder man integriert diesen Aufruf gleich ins Programm F gen Sie daher gleich nach PROG eine Dummy Variable ein dummy RANDOM 0 wobei anstelle von dummy jede andere Bezeichnung stehen kann Vergessen Sie aber nicht diese Variable in die Parameterliste aufzunehmen damit sie lokal bleibt Jetzt wollen Sie doch sicher auch wissen wie unser Chaos aussieht W hrend chaos 20 noch nichts enth llt zeigt sich bei chaos 100 doch schon die An deutung eines Musters bk teachware B hm Programmieren mit DERIVE k nb Pas E a A u en Pe Far Br RR i En Ken A EA Fr t PARRA aE E AA PE Eh n J vu ea Ed SLO IE EHEN ad A u w An oh gi T Ba Ar ho 2 a A ELF ER DE LT NE Eh u FIR PR Ca h ka E eia f T A Ei n en Ri n E a ME r in k Sa na 4 Er ae dh ia nO AR h fi Tau m i 3 Eu ee FA ME ap Eh w A Be u z en m Na ei 15 5 1 1 15 sierp3f n ITERATES z 2 i J3 2 2 33 Und wenn man gar 5000 Punkte zeichnen l t dann entsteht ganz pl
46. geben An dieser Stelle wird sonst in der Liste die Variable n initialisiert FUFROG 5 HHH Z20060 5 10 73 Feriode Kapitalstand Fi CHBR 8 725i 2 7612 5 i 12093 13 Wir erkennen dass wir damit den default Wert f r n n mlich n 0 berschreiben und ihm von au en den Wert n 7 zuteilen k nnen Auch das werden wir sp ter zu nutzen wis sen Herausforderung 1 Schreiben Sie ein Programm f r eine Kreditr ckzahlung Gegeben sind die Kredit summe die j hrliche R ckzahlung am Jahresende und der Kreditzins Ausgabe in Form einer Tabelle die f r jedes Jahr die offene Restschuld ausweist kredit 10 0 20006 10 Feriode Kapitalstand A a5 51515 5 1 v4 5151515 2 791006 3 6670A 4 53590 5 38949 6 22843 9 7 0128 29 Bevor wir nun bk teachware B hm Programmieren mit DERIVE 11 weitere Aufgaben l sen wollen wir berlegen wie wir diese m hsame Eingabe des Pro srammcodes umgehen k nnen Ein alter Trick von mir ist es immer sich das Format einer Date genauer anzusehen wenn dies m glich ist Zu diesem Zweck m ssen wir eine bereits bestehende DER IVE Date heranziehen Wir markieren die Funktion runde und das Programm FVPROG und speichern diese beiden Funktionen als MTH Datei Dabei werden wir darauf aufmerksam gemacht dass wir alle Formatierungen verlieren und nur den reinen Code speichern l Zwiesel Garve As Ei Ei HotationD _ Speichern E Frogrammbuch ae FF E
47. htig 17 H richtig hlant zei 14 falsch sondern 1 14 5 2 falsch sondern 2 5 Hier m ssen Sie sich nat rlich die Anzahl der gestellten Aufgaben merken und die Antworten m ssen in der Reihenfolge der gestellten Aufgaben als Matrix eingege ben werden plane l gt 19 27717 8715 12 35327 Au erdem kann es notwendig sein f r jede einzelne Aufgabe die Variable nach der die Gleichung zu l sen ist zu ermitteln Dazu hilft die VARIABLES Funktion z B vasta Sk SUR y va VARIABLES va SUB 1 w_ SOLUTIONS task SUB 1_ va Sie k nnen aber auch die Matrix mit den L sungen gleich bei der Erstellung der Aufgaben zusammenstellen und diese als globale Variable in die Beurteilung der Beantwortung hin berretten Weitere Literatur 27 28 bk teachware B hm Programmieren mit DERIVE 59 11 Zum Abschluss YIN und YANG Als Abschluss soll ein einfaches und nicht so umfangreiches Programm verfasst werden das das bekannte YIN Y ANG Symbol zeichnet 29 Im Prinzip l sst sich das auch ohne Programm als eine Funktion vom Radius des umgeschriebe nen Kreises formulieren aber als Programm gewinnt die Prozedur sowohl an Deutlichkeit als auch an Lesbarkeit yinyang E00 Ca serp ClO PROG 2 Kreisrand Ges Zu 2 7 2 ad gef llte Kreisscheibe Ca EAZ FYSA 22172 a die beiden kleinen Kreisscheiben CLAS IACI Zr 2e 178 72 C2 x r 2 2 y 2 lt r 8 2 a die Schlangenlinie T
48. hy3 5t03 Frog rez z2 L a bh verr FLAECHE amp start1 TRUE 1 atol x v byi gt i Loop If starti Sstarti1 FALSE bk teachware B hm Programmieren mit DERIVE 23 Wir erkennen eine Menge von neuen Variablen die zur bersetzung der Schleifen verwen det werden Diese sind aber Strings Auch Strings k nnen als Variablenbezeichnungen ver wendet werden Herr Schiller brauchte neue Variable die aber auf keinen Fall mit anderen vom Programmierer verwendeten Var iablenbezeichnungen in Konflikt geraten d rften Da her schaffte er k nstliche Variable die mit einem Zeichen beginnen dies ist aber nur als String m glich a b c FLAECHE 5 4 3 6 Nun wollen wir noch schauen ob das Pro 4 5 3 6 gramm auch funktioniert E J o4 6 3 5 4 6 heron_triangle 6 435 6 3 4 5 6 6 5 5 12 D 6 5 12 5 5 6 12 Im Prinzip erf llt es unseren Zweck allerdings brauchen wird die Kombination 3 4 5 nicht in allen Permutationen aufgelistet einmal wird ja gen gen Es fehlt also noch eine Routine die diese Matrix beginnend mit der zweiten Zeile auf das Mehrfachvorkommen von Zeilenvektoren berpr ft Dies ist im n chsten Quelltext bereits ber cksichtigt den ich wieder so verfasst habe dass er auch ohne Compiler von DERIVE verstanden werden kann heron x res a b c AREA a 1 b 1 c 1 orab hariru ae PROG a Schleife fuer die Seite a LOOP IF a gt x exit
49. ie sich schon mit Regressionslinien auf den diversen Taschencomputern besch ftigt haben m gen sich schon gefragt haben was es mit der Median Median Regression auf sich hat Sie wird auch in den Statistik Lehrb chern erw hnt wobei jeweils aber meist nur die Computerergebnisse angef hrt werden Ich verdanke meinem Kollegen Fritz Tinhof aus Eisenstadt den Hinweis auf eine Homepage 8 die es mittlerweile nicht mehr gibt auf der die Berechnung dieser Regressionslinie sehr sch n erkl rt war So wie der Median einer Stichprobe allf llige Ausrei er weniger ber cksichtigt als der Mittelwert tut dies diese Regressionslinie auch im Vergleich zur linearen Regression Die Durchf hrung der Median Median Regression erfordert nur die Kenntnis des Medians und der Zweipunkt bzw Punkt Richtungsform der Geraden Daher ist sie auch eine sch ne Anwendung der linearen Funktion im Rahmen des Mathematikunterrichts 9 Der folgende Code ist hoffentlich weitgehend selbsterkl rend doch vorher gibt es noch eine Editierhilfe von Albert Rich Wenn Sie das folgende Listing betrachten werden Ihnen einige mit einem Strichpunkt einge leitete Zeilen auffallen Albert Rich schrieb f r die Programmiergemeinde e n Hilfspro gramm TxtToMth EXE das txt Dateien in MTH Dateien konvertiert und Kommentare an beliebigen Stellen enthalten darf Diese sind mit einem f hrenden zu versehen Ist das Programm editiert ruft man im Kommandomodus di
50. im Unendlichen Symmetrie ausgibt Hier k nnen Sie einen Ausschnitt einer Ausgabe sehen f r x x 2 2 j 3 x 5 8 7362 9 4527 2 263 8 1472 Infl points k I 3 2 18 2 x Ix 10 x 5 2 3 Sex D 3 172 6 1327 6 02072 complex H t complex H H Foles x 1 29 x 1 29 Herausforderung 14 nicht so aufw ndig leichter als extrem Schreiben Sie ein Programm f r eine Umgekehrte Kurvendiskussion 18 19 Beispiel Welche Polynomfunktion hat die Punkte A 0 2 B 1 3 und C 4 4 als loka le Extremwerte Mein Programmvorschlag besteht aus 10 Zeilen O B 2 18 8 I 4 3 2 B i 3 313 x b4 x 3175 x 4463 x Funk I i i B 432 7 144 216 B 4 4 14 Lesen Sie die beiden ersten Zeilen der Matrix als die nullte Ableitung an der Stelle x 0 ist 2 die erste Ableitung an dieser Stelle ist 0 Und bei welcher Funktion treten diese Punkte A B und C als Wendepunkte auf bk teachware 46 bk teachware Schriftenreihe 9 Polynominterpolation gegen kubische Splines Stellen Sie sich vor S e h tten 7 Punkte in der Ebene gegeben und sollen die Polynomfunk tion niedrigsten Grades finden deren Graph diese Punkte St tzpunkte enth lt blicherweise werden Sie wahrscheinlich ein Polynom 6 Grades finden wollen Das Auf stellen der sieben Gleichungen und auch das L sen des Gleichungssystems stellen f r ein CAS kein Problem dar
51. komplexen Funktionsvorrat von DERIVE auch ohne Programm l sen Aus didaktischen Gr nden sollten sie aber mit Hilfe von Programmen bearbeitet werden sonst m sste man gleich mit zu umfangreichen Programmen beginnen die f r ein doch mehr einf hrendes Werk ungeeignet w ren F r die meisten der Herausforderungen sind L sungsm glichkeiten auf der beigelegten Diskette zu finden Die Programme wurden mit der aktuellen englischen DERIVE Version 5 05 gestestet aber wie immer k nnen sich doch trotz gr ter Sorgfalt Fehler eingeschlichen haben Ich b n f r R ckmeldungen sehr dankbar bk teachware 4 bk teachware Schriftenreihe Ich m chte Sie berhaupt auffordern sich bei mir zu melden wenn Sie Probleme haben wenn S e interessante Aufgabenstellungen selbst gel st haben oder um L sungen suchen Auch f r Verbesserungsvorschl ge f r DERIVE bin ich sehr dankbar ber die DERIVE User Group habe ich einen sehr guten und direkten Kontakt zu den Softwareschmieden die gerne Anregungen von Ben tzern entgegennehmen Beachten Sie bitte auch die ausf hrliche Referenzliste am Ende des Buchs In der Referenz liste wird Ihnen auffallen dass sehr viele Beitr ge aus den DERIVE Newsletters DNL ge nannt sind Diese sind wirklich eine fast unersch pfliche Quelle f r Programmierideen Wo fr her lange Funktionsketten notwendig waren kann heute ein kompaktes Programm erzeugt werden DERIVE Programme k nnen Sie auch in einigen
52. lassen Dies ist vorerst Ihre einzige Kontrolle ob alles stimmt Ein Startkapital von 5000 wird 10 Jahre hindurch um 200 am Jahresende vermehrt Wie s eht die Kapitalstands bersicht aus wenn 3 1 4 Zinsen verrechnet werden Feriode Kapitalstand 15 151515 5362 5 5736 78 6123 23 6522 23 6934 2 7359 57 7798 75 3252 21 8720 41 7203 82 FUPROG S BGG 2060 3 25 i w sJ A N A w K e jl n Ich habe vorhin erw hnt dass alle in der Parameterliste aufgef hrten Variablen lokale Variable sind Sie existieren nicht au erhalb des Programms Das k nnen Sie leicht sehen da unter values keine Werte gespeichert sind values values Es gibt aber doch F lle in denen globale Variable gew nscht sind z B bei der Fehlersu che oder aus problembezogenen Gr nden Dann muss die Variable vor dem Programmauf ruf als existent definiert werden und wird nicht in die Parameterliste aufgenommen sp ter werden wir darauf n her eingehen k nnen Wenn wir nun das Programm ablaufen lassen dann erkennt man vorerst keinen Unterschied Aber nachher hat values den letzten im Programm zugewiesenen Wert behalten bk teachware 10 bk teachware Schriftenreihe Feriode Kapitalstand 5 151515 FUPROG SABH 2006 5 3 1 7258 2 1612 5 3 12893 13 5 DHAR i 7250 values 2 9612 5 3 12093 13 Was geschieht wenn wir nach den Perioden noch einen weiteren Wert in der Parameterliste an
53. n gr L COL 1 median gri COL 27 P2 median gr COL 1J median gr2 COG 2 D2 median gro COL 1J median gr COL 2 J3 Evpl und po Tegen den Anstieg m der Regressionsgeraden fest y 1 2 P3 SUR 2 pPE SUB 2 P3 SUB d pl SUB 71 e di Ist der Abschnitt auf der y Achse T dal 2 P gt SUB 2M Apo Sys a durch p2 geht eine Parallele und bildet den Abschnitt d2 d23 p2 SUB 2 m Pp2 SUB L die endgueltige Gerade hat den Anstieg m und einen gewichteten Abschnitt a und es ergibt sich die Regressionslinie EXPAND m x 2 d1 d2 3 medregqg erzeugt die Ausgabe der Fehlerquadrate medreg liste sse PROG sse SUM Liste SUB i SUB 2 LIM mdreg liste amp kiste GUB SUB 1 72 372 z D1IM 18 27 MedMed Gerade mdreg liste SummeRes 2 sse auch die Daten k nnen gleich ber den Editor eingegeben werden hps 7522215 175 1252325 191 00 227125 129753 1 2 0 1707380 23 Dieser Text erzeugt zuerst die Funktion median liste anschlie end im Herzst ck die Median Median Regressionsgerade mit mdreg tabelle und schlie lich mit medreg tabelle die Ausgabe mit der Summe der Fehlerquadrate bk teachware B hm Programmieren mit DERIVE 29 Ein Hinweis zur Erzeugung der Gruppen 1 3 sei gegeben Bei 15 Datenpaaren ist fl FLOOR 15 3 5 und der Divisionsrest von 15 3 0 gt r MOD 15 3 0 Alle Gruppen haben gleich viele Elemente n mlich 5 5 und 5 Bei 16 Datenpaaren is
54. n sind diese Variablen aus der Parameterliste des Programms zu entfernen und die ellipse ins Pro gramm aufzunehmen brianchon2 a b dummy teill teil2 teil3 vals PROG Au erdem ist eine kleine nderung am Ende des Programms notwendig wobei die ur spr nglichen Ausgabesequenzen durchaus erhalten bleiben k nnen da sowieso nur der erste auftretende RETURN Auftrag erf llt werden kann marks EXPAND VECTOR x brpt SUB 1 2 y brpt SUB 2 2 k 0 1 2 k 3 ellipse b 2 x 2 a 2 y 2 a 2 b 2 RETURN Zeichne ellipse pts tgs ips diags brpt marks teilli ELlipse HB ET Zt 2 yet 2 9 T P nkte BET Im Algebrafenster sieht es jetzt viel einfacher und weniger dicht aus Die graphische Darstel lung kann nun komplett im 2D Grafikfenster durchgef hrt werden indem man die Variablen der Reihe nach in der Eingabezeile aufruft und darstellt H4 hrianchon2 4 2 HS Aeichne ellipse pts tg9s ips diags brpt marks H6 ellipse 47 pts 8 tgz 9 ips Das sehen Sie dann im Algebrafenster HIA diaga 411 brpt Hi2 Ieg Herausforderung 7 ndern Sie brianchon in dem Sinn ab dass Sie die G ltigkeit des Satzes auch f r Hyperbeln bzw Parabeln sichtbar machen k nnen Herausforderung 8 Verallgemeinern Sie brianchon so dass zuf llig ein beliebiger Kegelschnitt entsteht Ein Tipp dazu Denken Sie an die Polarform von Kegelschnitten 0 lt e lt l1 Ellipse r p ft g 1 Par
55. ngt nur mehr von v2 ab und EW wird gesucht solsv2 SOLUTIONS DIF hbl1 v2 0 v2 solsvl VECTOR auxvl1 v2 solsv2 solhb VECTOR hb1 v2 solsv2 Art der Extremwerte wird bestimmt d2hb DIF hb1 v2 2 vald2 VECTOR d2hb v2 solsv2 art 2eVEGTORLIEIK gt 05 Lokales Minimum IF k_ lt 0 lokales Maximum kein EWI sk NaLa yy i 1 a Ende der Schleife Variable mit den gegebenen Grenzen wird ber cksichtigt 1 IF NOT STRING v3 PROG 4 va_ va_ v3 v4 VARIABLES va_ SUB 1 SsOlSs1l8 SOLUTLTONS nb v4 hb1 SUBST hb v4 sols1 SUB 1 bk teachware 40 bk teachware Schriftenreihe Q Bestimmung der Werte f r HB am Rand des Def Ber randex IF NAME TO CODES STRING v3 NAME TO CODES STRING vl lr SUBST sols1 SUB 15V3 12 SUBST E51 73 17 an unteren Rand rr SUBST sols1 SUB 1 v3 rr SUBST hb1 v3 rr am oberen Rand SUBST sols1 SUB 1 v3 1lr lr SUBST hb1 v3 1r am unteren Rand SUBST sols1 SUB 1 v3 rr rr SUBST hb1l v3 rr am oberen Rand y Zusammenfassung und Ausgabe des Endergebnisses res APPEND APPEND v1l1 solsv1l APPEND v2 solsv2 APPEND Optimum soIRhb TFAPPENDG Art zart 1 res res a randex ist bereits eine zweizeilige Matrix 2 IF NOT STRING v3 RETURN APPEND res randex RETURN res Aus drucktechnischen Gr nden mussten einige Einr ckungen ver ndert werden wenn die Schrift eine lesba
56. omputeralgebra Teil 1 Diffe rentialrechnung Heiko Knechtel u a westermann 2001 ACDC R deger Baumann DNL 47 2002 Splines mit dem TI 92 und DERIVE Max G nter Schr fel VISIT ME 2002 Proceedings bk teachware 2002 bk teachware B hm Programmieren mit DERIVE Index abschnittsweise def Funktion 50 APPEND 8 22 31 Approximate Before Plotting 9 ASCII Code 18 Brianchon 34 Cabr 38 44 Chaos 31 CHI 50 CODES TO NAME 18 Collatz Folge 20 Compiler 21 Declare Output Settings 35 default Wert 10 DGS 38 DIM 13 19 DIVISORS 14 Dokumentation 13 Dualit tsprinzip 38 Editor 11 22 Ellipse 34 Endabfrage 18 31 extrem 39 Extremwertaufgaben 39 Finanzmathematik 6 FLOOR 7 11 FOR NEXT 5 FVPROG 6 globale Variable 8 22 26 36 55 Hyperbel 37 INTEGER 14 23 ITERATES 7 33 Kegelschnitt 34 Kommentare 13 Kurvendiskussion 45 Laufvariable 8 lineare Regression 29 LISP 15 lokale Variable 8 22 26 55 LOOP 5 7 13 Matrix 8 23 29 35 41 45 56 Median 27 63 MedMed Regression 27 MTH Datei 11 27 NAME TO CODES 18 44 NOT 40 NotationDigits 35 Parabel 17 57 Parameterliste 8 18 24 33 38 55 Pascal 38 Permutationen 23 Quelltext 21 Quote Operator 14 RANDOM 32 35 56 REPLACE 24 48 RETURN 26 40 ROW REDUCE 46 runden 7 11 SELECT 8 20 24 55 Sierpinski Dreieck 33 SOLUTIONS 35 39 59 SOLVE 43 Spline 46 String 18 23 STRING 44 58 STRING 40 SUB 20 45 SUBST
57. r die H he A die hi Ir Optimum ne Grenzen mit 0 und 3 2 3 2 6 lokales Maximum festlegen dann sehen wir 5 1 5 t Rand dass hier ein Randextremum na e _ 3 9 vorliegt h 3 2 b 3 und 3 E E E E 2 2 Fl che 9 2 Das Problem b liefert gar keinen lokalen Extremwert 4 h 1 2 3 extrem I h 2 h h bh h B 3 h 2 h b ptimum Art A 4 ta am unteren Rand 3 7 am oberen Rand 2 Da die Hauptbedingung eine lineare Funktion bleibt g bt es keine lokalen Extremwerte nur Randextrema existieren Dem Programm kann man offensichtlich weitgehend vertrauen Ich habe es mit vielen g n gigen Aufgaben aus den Schulb chern getestet Es gibt aber wahrscheinlich Sonderf lle die nicht richtig behandelt werden Aber auch oder gerade bei Computerprogrammen gilt die Lebensweisheit Vertrauen ist gut Kontrolle ist besser bk teachware B hm Programmieren mit DERIVE 43 Zum Abschluss soll noch eine rechentechnisch schwierigere Aufgabe versucht werden Aus 40cm Draht soll das Kantenmodell einer geraden Pyramide mit quadratischer Grundfl che gefertigt werden Bei welchen Ab messungen hat die Pyramide das gr te Fassungsverm gen Ich substituiere f r k aus nbo1 in nb2 und probiere mein Gl ck mit extrem 2 Ich hatte Gl ck So wie bei der traditionellen hh u Durchf hrung muss man hier manchmal die Reihenfolge der Berechnung ndern Schon nb1_ 4 a 4 k 40 die Ve
58. re Gr e behalten sollte F r v3 wird die unm gliche Variable voreingestellt und falls diese nicht berschrie ben wird dann wird die Frage nach Randextrema nicht gestellt In 1 und 2 wird nach der Existenz dieses Strings gefragt und bei Nichtexistenz NOT STRING v3 wird die Rou tine zur Behandlung der Randextrema durchgef hrt Die Einf hrung einer Menge der Variablen in 3 war deshalb notwendig weil ja bei den Ex tremwertaufgaben auch Formvariable auftreten k nnen nach denen weder differenziert wird noch werden f r sie Randwerte gesucht Wenn die Werte der Hauptbedingung an den R n dern berechnet werden sollen m ssen wir dem System mitteilen welche der allf lligen noch vorhandenen Variablen die zweite bestimmende Variable des Problems ist Dazu wird auch die Prozedur in 4 ben tigt Eine Neuheit in diesem Programm ist dass man in ein IF Konstrukt auch Bl cke von An weisungen einbauen kann Diese m ssen aber wie aus 1 ersichtlich in einer PROG Anweisung zusammengefasst werden Sie sehen hier wie das dann auf dem DERIVE Schirm aussieht If a TRING uy3 Frog z va_ uJ VARIABLES va_H3 41 solsi1 50LUTIONS nh v4 hbi SUBST hh v4 sols141 a Bestimmung der Werte fuer HB am Rand des Def Ber randex IF NAME_TO_CODES STRING u3 NAME_TO CODESC Leider k nnen in einem DERIVE Programm eigene Funktionen nur m hsam definiert wer den ein Beispiel k nnen Sie in BRIB
59. res HREFLACE B res j j i1 i_ i j_ i_ i RETURN SELECT k k res a b c AREA Ich ersetze die wiederholt auftretenden Tripel herontGY 3 4 5 G zuerst durch eine 0 und selektiere dann alle E 5 G 1 von 0 verschiedenen Elemente der Ergebnis a h c AREA liste Eine andere MER mehrfach sE R auftretende Elemente aus einer Liste zu ent fernen finden Sie in Herausforderung 17 heron 18 5 5 6 12 P bzw in der angebotenen L sung angespro 5 p u 12 chen b 8 18 24 bk teachware B hm Programmieren mit DERIVE 23 Eine weitere L sung wurde von R deger Baumann zur Verf gung gestellt wof r ich ihm herzlich danke heron_baumann dfw Ich m chte Ihnen aber auf keinen Fall die L sung vorenthalten die mir Johann Wiesenbauer angeboten hat Beachten S e vor allem den souver nen Umgang mit den Listen heron s a_ s_ i gt gt Send a_ WECTOR SORT u_ u_ FOWERZSET 1 E 3 er Z APP ENIKa_ VECTORCSORTCADJOTNCFIRST Cu_ III ER EI E E oop If gt RETURN ADJOIN lt a bh c AREA SORTIS a_ HIL i i i i i i i i i 1i i i FIRSIT s r4 If a_ 6 INTEGER a_ se ADJOIN AFFEND FIRST s a_ l Es TREST E Diese ist etwa um den Faktor 10 schneller als meine erste und noch immer 5 mal schneller als meine L sung die zur Herausforderung 17 geh rt Herausforderung 5 Schreiben Sie ein Programm zur L sung von Ungleichungen mit z
60. rtauschung der Reihenfolge von a und P J a h zeigt kein so sch nes Ergebnis mehr hie E extrem RHS hh_ SUESTinb2_ k i a a h a h ptimum Art 1 648188 4 22367 38 4174 lokales Minimum 1 648168 1 22367 39 4174 lokales Maximum 5 18 A lokales Maximum 5 18 B lokales Minimum Die L nge der Seitenkante k muss man dann separat aus nbl berechnen SOLVE 4 4 648162415 4 k 40 k k 5 351837585 Mit diesem Werkzeug lassen sich sicher viele der g ngigen Extremwertaufgaben l sen Wenn Ihnen aber einmal eine unterkommt bei der extrem versagt dann bleiben Ihnen zwei M glichkeiten e Das Programm analysieren und so verbessern dass die neue Aufgabe auch gel st wer den kann oder e die M glichkeiten eines CAS n tzen und traditionell vorgehen Eine kritische Kontrolle des Ergebnisses bleibt aber immer angeraten bk teachware 44 bk teachware Schriftenreihe Herausforderung 11 leicht Wie lassen sich mit extrem auch Aufgaben ohne Nebenbedingung l sen Finden Sie dazu ein geeignetes Problem Herausforderung 12 noch leicht L sen Sie die folgenden traditionellen Extremwertaufgaben 16 mit extren Ein 3m hohes Bild h ngt an der Wand eines Sem IFFHIDEIFE TR Saales sein unterer Rand ist 2 5m ber dem Fu boden Wie weit muss sich ein Betrachter dessen Auge sich 150cm ber dem Boden befindet von der Wand entfernen um das Bild BR Pe a E unter einem m glichst gro en
61. rumge bung Editieren Debuggen usw noch einiges an W nschen offen l t kann man auf einfache Art und Weise bemerkenswerte Resultate erzielen vor allem dann wenn man schon Programmiererfahrung hat F r das Editieren und Debuggen werden n diesem Buch sehr brauchbare Hilfen angeboten Wie ich aus Erfahrung zu wissen glaube wurden nun einige Generationen von PC Nutzern herangezogen denen fast ausschlie lich der Umgang mit Standardpaketen beigebracht wur de und f r die das Selbsterstellen von Programmen nicht mehr notwendig schien Zur Zeit ist jedoch ein Umdenken m Gange da die Herstellung von Makros Java Applikationen u wieder zum Programmieren hinf hren sollen Dieses Buch wendet sich nicht unbedingt an den DERIVE Einsteiger Grundkenntnisse im Umgang mit dieser wunderbaren Software wird vorausgesetzt Der Autor hofft dass aber auch der bereits etwas kundige DERIVIANER neben dem Programmieren viel Wissenswer tes ber DERIVE Funktionen und Syntax mitnehmen kann Ich m chte ausdr cklich darauf hinweisen dass sich sicherlich alle vorgestellten Programme auch noch anders und vielleicht auch k rzer und oder eleganter schreiben lassen Ich habe aber bewusst der Verst ndlichkeit den Verzug gegen ber dem Griff in die Trickkiste gegeben Jedem Kapitel sind Herausforderungen angeschlossen die den Leser zu eigenen Program mierabenteuern ermuntern sollen Manche Aufgabenstellungen lassen sich aus dem sehr
62. s SUB 1 CHI m SUB i_ SUB 1 x Mm SUB HL FIA SUB 19 72 ylym F ante se m SUB 1 SUB Ly ende IAM oUm SUR d splf IF x lt sanf IF x lt ende splf RETURN APPEND spls spl f In 3 werden die Splines zusammengestellt man k nnte dies auch mit dem Inneren Produkt erreichen der Aufwand ist ziemlich der gleiche Interessantes passiert in 4 die einzelnen Teile werden von Punkt zu Punkt zusammengef gt und es entsteht eine abschnittweise defi nierte Funktion M glicherweise kennen Sie die Indikatorfunktion CHI a x b noch nicht die dabei eingesetzt wird Diese hat f r a lt x lt b den Wert 1 sonst berall den Wert 0 Wenn nun eine beliebige Funktion Ax mit CHI a x b multipliziert wird dann erscheint sie nur innerhalb dieser Grenzen Sehen Sie hier ein Beispiel mit zwei zusammengesetzten Parabeln In der Ausgabe sehen wir dann den kompletten Spline als sehr langen und gro en Ausdruck und eine Liste der einzelnen hier sechs verschiedenen kubischen Funktionen Wenn Sie diese nicht brauchen dann soll Ihre letzte Programzeile nur hei en RETURN spls Wollen Sie trotzdem nicht auf die einzelnen Kurven verzichten dann f hren Sie splf als globale Variable ein indem sie diese aus der Parameterliste entfernen und als allererste Kommandozeile splf in der Datei an die Spitze stellen Unter sp1 sind alle kubischen Parabeln verf gbar die im unteren Bild auf der n chsten Seite dargestellt sind Plotten S
63. sk aktualisiert Wir finden dann auch nur mehr 6 Punkte in dieser Liste die aus den nicht getroffenen Punkten besteht In resplot wird ein vorl ufiges Ergebnis bereitgestellt das aber erst wirksam wird wenn sich in die Punktliste task als leer erweist Der eigentliche Plotauftrag f r die Ge rade und f r die B lle die in yes angegeben werden erfolgt inplotl_ bk teachware B hm Programmieren mit DERIVE 57 Ich empfehle das Programm als Zusatz Date utility file in den Hintergrund zu laden Da mit braucht man niemanden mit dem Code zu belasten und viel wichtiger er wird nicht besch digt Wie Sie eine geladene Utility erkennen das zeigt Ihnen Herausforderung 18 Herausforderung 17 Bauen Sie in hit eine Routine ein die daf r sorgt dass horizontale und vertikale Gerade nicht gezeichnet werden Herausforderung 18 ndern Sie hit so ab dass Parabeln gesucht werden Welche nderung ist notwendig Herausforderung 19 Versuchen Sie ein Trainingsprogramm f r den Wurzelsatz von Vieta zu schreiben Der PC gibt eine quadratische Gleichung entweder immer in der gleichen Variab len oder schwieriger mit zuf lligen Variablen vor und der bende soll die L sun gen aus den Koeffizienten ermitteln k nnen 26 W hlen Sie dazu einen vern nfti gen Bereich f r die ganzzahligen L sungen dass es nicht zu schwierig wird Das Paket besteht aus insgesamt 3 Teilen vieta stellt die Aufgabe ant
64. ste gearbeitet wird m chte ich nicht die Gelegenheit vers umen darauf hinzuweisen dass DERIVE auf der Programmiersprache LISP basiert LISP ist listenorientiert und man programmiert besonders DERIVE gerrecht wenn man die Listenbearbeitungsbefehle von DERIVE sinnvoll einsetzt Ich verdanke diesen wichtigen Hinweis meinem langj hrigen Mr Titbits aus den DERIVE Newslettern Johann Wiesenbau er Sehen Sie nun auch diese Variante m Editor n chste Seite Ich h re Ihre Fragen Und wo sind nun die Tilden Warum schreiben Sie hier die DERIVE Funktionen nicht gro Nun die Antwort ist ganz einfach Wenn Sie nur einen einzigen Ausdruck sei es eine einfache Zuweisung oder eine lange Funktion oder ein umfangreiches Programm aus dem Editor nach DERIVE transferieren wollen dann k nnen Sie das wie folgt tun Markieren Sie den ganzen Ausdruck und f gen sie ihn ber die Zwischenablage mit erst Strg C und dann mit Strg V in die DERIVE Eingabezeile ein Wenn der Ausdruck syn taktisch richtig ist dann sehen Sie ihn nach einem abschlie enden Enter im Algebrafens ter Vergleichen S e bitte die Behandlung der Liste in der Loop Konstruktion bk teachware 16 bk teachware Schriftenreihe Suera 212 9 PrU 1173 1n 9 7 progt a Plausibilit tskontrolle LE X lt 2 Or not linteger ix Leturn unm glich 9 a alle Teiler von x werden in einer Liste gesammelt v divisors x a die abgerundete 1 H lfte der Liste wird
65. t fl 5 aber r die Gruppengr en sind 5 6 und 5 Bei 17 Datenpaaren ist fl 5 r 2 und die Gruppengr en sind 6 5 6 Beachten Sie die Matrizenoperationen ROW und COL mit denen man Zeilen und Spalten einer Matrix ansprechen kann Ich strebe eine Ausgabe in der folgenden Form an mdreg hp 38 26B41666 B 1625 x MedMed Gerade 38 26B041666 B 1625 x SummeRes 2 1 1 256868H FIT x ax b hp 33 70730948 9 1322556544 x medreyChp Hier wurde zus tzlich auch die lineare Regression f r die Datentabelle hp durchgef hrt Der median Baustein sollte am DERIVE Schirm die folgende Gestalt haben median liste n gt Frog list S 0RT liste n DIM liste If MO Din 2 i1 list4l n 132 list4 n 2 list4 n 2 13372 Testen S e bitte diese Funktion mit einigen Listen Nun folgt das Kernprogramm inklusive der n tigen Erkl rungen ber die Median Median Prozedur Das ist der Beginn des DERIVE Erscheinungsbildes mdreg liste n fl r grg gri gr2 yr3 d pl p2 p3 m_ gt Proy e die Liste wird nach steigenden x Werten sortiert liste 50RT liste n DIM liste E und in moeglichst gleiche Gruppen geteilt fl FLOOR n 3 MOD in 3 If r grg fl 2 1 If r i grg fl 2 Ff1 1 grg Fl i 2 l i bk teachware 30 bk teachware Schriftenreihe o 99 Wenn Sie dann eine Datenmatrix wie die nebenstehende eingege 175 12 b
66. t nach DERIVE bernehmen Meine Vorstellung von ordentlich lesbar sieht nun so aus runde x m FLOOR 10 m x 0 5 10 m FVPROG pvr dd pmt pere per1093 0 0 cap values PROG cap pv values n cap LOOP n 1 cap l1 perc 100 captadd_pmt values APPEND values n runde cap 2 IF n periods RETURN APPEND Periode Kapitalstand values Diese Textdatei wird unter dem Namen finanztest gespeichert Wechseln Sie zur ck nach DERIVE und ffnen Sie die Datei finanztest Speichern in E Programmierer d Iaop1 rift Sie werden sie weder chaosneu medeompg E selecttest unter den dfw noch extredi median E until Ioop medneu finden Suchen Sie sie bei dem Dateityp unter All files Dateiname Ifinanztest Dateityp Textdokumente Abbrechen Nun sollten die bereits bekannten beiden Ausdr cke wieder m Auswahlfenster erscheinen Speichern Sie die Datei als DERIVE file und das Verfahren ist gegl ckt Laden Sie bitte probeweise diese Date in DERIVE S e werden bald noch bequemere Editierm glichkeiten Z kennen lernen Ein wichtiger Hinweis Alle DERIVE Befehle und Funktionen m ssen wenn Sie so mit dem Editor arbeiten in Gro buchstaben geschrieben werden Das Multiplikationszeichen ist zu schreiben Das n chste Programm werden wir vorerst auf diese Weise entwickeln und editieren bk tea
67. ungeordnet aufgez hlt werden Laufvar iable in VECTOR SELECT Befehlen u braucht man dabei nicht zu ber cksichtigen Ich habe diese Vorschrift eingerahmt da sie die vielleicht wichtigste berhaupt ist Es k nnen auch globale Variable verwendet werden die ber das Programm hinaus am Leben bleiben Dann f llt noch n 0 in der Parameterliste auf Startbelegungen f r Variable k nnen in die Parameterliste aufgenommen werden Man h tte auch nur n hineinnehmen k nnen und dann als dritte Programmzeile n 0 geschrieben In Zeile 2 steht dass es sich um ein Programm handelt cap ist eine Hilfsvariable die mit dem jeweils aktuellen Kap talstand belegt wird der zum Zeitpunkt n 0 mit pv berein stimmt Mit values definieren wir eine Matrix die vorerst nur aus einem Zeilenvektor f r die Periode 0 besteht Und nun beginnt in 3 eingeleitet von Loop die Schleife die jeweils die Perioden hochz hlt n 1 und aus dem alten Kapitalstand durch Verzinsung und Hinzuf gung der zus tzli chen Zahlung das neue Kapital erzeugt Hinweis n 1 ist eine Kurzform f rn n 1 Analoges gilt f r die anderen Grund rechnungsoperationen z B n 1 n 2 oder n 10 Die Berechnung des neuen Kapitals erfolgt in Zeile 7 Die Matrix values wird durch Anh ngen APPEND anf gen der neuen Zeile aktualisiert Und hier wird auch die Run dungsfunktion f r die Ausgabe aufgerufen Wenn der Z hler n die Anzahl der
68. usschnittvergr erung macht das noch deutlicher Auch die Untersuchung der H ufigkeit der auftretenden Folgenl ngen unter Verwendung der SELECT Funktion gibt keinen Hinweis auf eine besondere Verteilung TABLE DIM SELECT k_ x_ k_ VECTOR DIM sixteen x x 1 18003373 x 2 205 2 3 4 5 6 7 B 7 i 11 12 13 14 15 16 i7 18 17 20 b 21 63 94 94 81 5i 38 67 87 118 135 97 34 b 12 15 A A Ich habe in diesem Beispiel die beiden n tzlichen Stringoperationen CODES TO NAME und NAME TO CODES vorgestellt Hier sind sie aber nicht unbedingt erforderlich da auf alle Zeichenketten und auch auf Zahlen die Vektoroperationen angewendet werden k nnen 128 sub 2 2 Daher l sst sich die entscheidende Programmzeile die aus einem Folgenelement das n chste macht umschreiben in n vector n sub k k dim n 2 Herausforderung 3 Das 3n 1 Problem oder die Collatzfolge 4 Eine Zahlenfolge wird auf folgende Weise erzeugt Der Benutzer gibt eine beliebige positive ganze Zahl ein falls die Zahl gerade ist wird sie halbiert anderenfalls wird sie verdreifacht und um eins vermehrt Diese so gewonnene neue Zahl ist das n chste Folgenelement falls sie gerade ist wird sie halbiert anderenfalls Die Zahlenfolge endet sobald der Wert 1 erreicht ist Versuchen Sie 27 oder 26623 oder 60965 oder Erzeugen Sie ein bersicht der Folgenl ngen f r einen bestimmtes Intervall der ganzen Zahlen zusammen mit einer geeigneten graphischen
69. verwendet p floor dim v 2 loop Ir oa VD opr return Aij das erste Element von v y a first v b x 3 m a tb 2 n ABS a b 2 a nur wenn n m ganz wird das Paar gelistet if integer n and integer m rsappend un n 4m 2 R72 11 y a das IEL wird aus der Liste genommen mir a dem Rest von v wird der Vorgang wiederholt v rest v Herausforderung 2 Ein ganz einfaches Beispiel aus der Sekundarstufe 1 Von einer Pyramide mit recht eckiger Basis kennt man die Grundkanten a und b sowie die K rperh he H Schrei ben Sie ein Programm das neben den Ausgangsdaten auch das Volumen die O berfl che und die Gesamtkantenl nge der Pyramide ausgibt Fyramide mit a b H 3 5 i Uo lumen DE pyramide 3 5 10 Oherflaeche 76 4826 Kantenlaenge 17 6653 Fyramide mit a b H 12 35 21 55 48 33 Uolumen 4188 07 pyramide 12 35 21 65 48 33 Ohberflaeche 1896 44 Kantenlaenge 266 186 Auch Ausgabe bzw Berechnungsvereinbarungen lassen sich ins Programm integrieren Precision Approximate Notat18nD191ts qs p Diese werden aber erst nach erstmaligem Aufruf des Programms wirksam bk teachware B hm Programmieren mit DERIVE 17 3 Milton s Folge ein Souvenir aus Kolumbien Milton Lesmes Acosta ein lieber Kollege aus Kolumbien stellte mir die folgende DERIVE Aufgabe 3 Man startet mit einer beliebigen ganzen positiven Zahl und bildet die Summe der Quadrate d
70. wei oder drei Variablen ber einer Teilmenge von Z x Z bzw Zx Z x Z Stellen Sie die L sungsmengen auch graphisch dar und berzeugen Sie sich von der Richtigkeit Ihres Programms 2 Fa ungl ib x y 144 x 5 5 y 5 5 2 2 1x y x y en ungl Gr Ix vl J 5B xy r p 1 i uU 1 18 bk teachware 26 bk teachware Schriftenreihe i 2 3 4 5 6 783 f 1A ii ie i3 Tipps f r das Entwanzen Debuggen e Die Funktionsweise eines Programms l t sich schrittweise berpr fen indem man an der entsprechenden Stelle mit RETURN eine Programmausgabe erzwingt Das ist beson ders interessant bei Schleifen da man damit auch der Ursache von Endlosschleifen auf den Grund gehen kann Auch der jeweilige Stand von lokalen Variablen kann angezeigt werden e Variable k nnen auch abgefragt werden indem man sie globalisiert siehe Hinweis auf Seite 9 e Kritische Programmteile k nnen mit Doppelhochkommata zu Kommentaren degradiert und damit aus dem Programmfluss ausgenommen werden test zahl grenze i gt Frog Loop i 2 If i gt grenze exit zahl zahl i RETURN zahl i RETURN zahl testi1d 8 12 2 test zahl grenze i gt Frog Loop i 2 If i gt grenze exit zahl zahl i RETURN zahl i RETURN zahl test 1f 85 30 bk teachware B hm Programmieren mit DERIVE 27 5 Kennen Sie die MedMed Regression Viele von Ihnen d
71. z hit hitz hittom S MEDMEDT mehrfach D ateiname Ifinanz Dateityp Math file mth Abbrechen 4 runde 3z24 Save l State Yariables Make backup MW Expressions Selected Anschlie end inspizieren wir diese Datei im Editor findet sich im Zubeh r der Windows Programme Man kann aber auch den Editor auf der DOS Ebene einsetzen Wir sehen eine reine Textdatei in der die einzelnen Funktionen und Programme durch eine Leerzeile getrennt s nd und falls der Code ber eine Zeile hinausgeht wird der Zeilenum bruch mit einer Tilde gekennzeichnet So zeigt sich finanz mth im Editor wobei die Zeile immer mit dem Zeichen der Tilde endet Wegen der Schriftgr e kann das Zeichen bei Ihnen etwas anders aussehen runde x m FLOOR 10 m x 0 5 10 m EVPROG pv add pnt pere per1ods n 0 Cap values PROG capi py valuen n cap LOOP n 1 cap 1 perc 100 captadd_pmt values APPEND v alues n runde cap 2 IF n periods RETURN APPEND Periode Ka pitalstand values bk teachware 12 bk teachware Schriftenreihe Jetzt werden wir einmal frech und ver ndern diesen Code nach unseren Vorstellungen nicht inhaltlich aber formal um dem Programm eine lesbare Struktur zu verleihen Wenn DERIVE anschlie end diese gesch nte Version versteht k nnten wir ja berhaupt im Editor das Programm schreiben und von dor

Download Pdf Manuals

image

Related Search

Related Contents

CR Atelier 3 anim atelier d`écriture  Service Manual - Dixie Sewing Machine 1-800-289-1554  Apell LN1002I    ESPECIFICACION DE REQUERIMIENTOS DE SOFTWARE Rockola  Samsung C100C Brugervejledning  

Copyright © All rights reserved.
Failed to retrieve file