NF II, WS 1997/98: Lösungsblatt 6


Aufgabe 1

Die Multiplikation kommt jetzt mit einem Set von Zellen für die linke und rechte Seite aus, was zu einem solchen Aussehen führt:

Ausgangswerte: 145 97
Normal gerechnet:   14065
Per Bauernregel:   0
     
     
Linke Zahl 145  
Rechte Zahl 97  
Akkumulator 145  

Die zugrundeliegenden Formeln sind im folgenden angegeben. Beachten Sie, daß Sie die Iteration im Kalkulationsblatt ausschlaten müssen und die verschiedenen Werte per F9 berechnen.

Ausgangswerte: 145 97
Normal gerechnet:   =B1*C1
Per Bauernregel:   =WENN( B7=1; B8; 0)
     
     
Linke Zahl =WENN( B7=0; B1; B6*2)  
Rechte Zahl =WENN(B7=0; C1; GANZZAHL( B7/2))  
Akkumulator =WENN(B7=0; 0; WENN(UNGERADE(B7)=B7;B8+B6;B8))  

Aufgabe 2

Das Tabellenblatt sieht folgendermaßen aus. Das zugehörige Diagramm ist ein x-y-Diagramm aus den Werten der rechten beiden Spalten.

Parameter Wert x y
Stunde 13 0.367744232 0.474093007
    0 0
Minute 15 0.798421383 -0.050232416
    0 0
Sekunde 36 -0.587785252 -0.809016994
Sec seit MN 4536    

Die Formeln müsen wie folgt lauten. Auch hier ist eine stete Neuberechnung per F9 notwendig. Die einzige Art, dies zu verhindern, ist die Benutzung rekursiver Makros. Man erstelle ein Makro, daß F9 durchführt und danach sich selber erneut aufruft. Das Resultat ist eine sich fortlaufend ändernde Uhr. In unseren Versuchen haben wir festgestellt, daß der dauernde Aufruf keine nachteiligen Wirkungen hat (wie Speicherüberlauf oder Ähnliches). Das deutet darauf hin, daß endrekursive Techniken verwendet werden könnten...

Parameter Wert x y
Stunde 13 =0.6*SIN( $B$7/43200*2*PI()) =0.6*COS( $B$7/43200*2*PI())
    0 0
Minute 15 =0.8*SIN( $B$7/3600*2*PI()) =0.8*COS( $B$7/3600*2*PI())
    0 0
Sekunde 36 =SIN( $B$7/60*2*PI()) =COS( $B$7/60*2*PI())
Sec seit MN =REST(B2;12)*3600+B4*60+B6    


Author:Jan W. Amtrup
Document:
Last modified: