Das Deutsche Casio-Taschenrechner Forum wurde zum 31.12.2013 geschlossen und kann weiterhin als Nachschlagewerk verwendet werden.
Wer mehr erfahren möchte: Ein sehr guter Beitrag von Elias

Schleife im Programm zu langsam

Hier wird über die Grafiktaschenrechner neuen Classpad Serie diskutiert.

Schleife im Programm zu langsam

Beitragvon cp-Benutzer » Do 12. Okt 2006, 22:09

Hallo,
in einem Programm habe ich eine einfache for-next-Schleife auf dem ClassPad300 laufen:

0=>a
h=>7

for i=>1 to n
a + h*(i*h)^0,5 => a
next

print a

Solange ich nur kleine Durchläufe mache (n<20) ist die Laufzeit ja noch akzeptabel, bei 100 Schleifendurchläufen geht das Programm deutlich in die Knie.

Ersetzt man die Wurzel (...)^0,5 durch ein Quadrat (...)^2, wird das Programm deutlicher schneller.

Wieso bremst die Wurzel (...)^0,5 das Programm derart aus?

Wie kann ich die Sache beschleunigen?

cp-Benutzer
 

Re: Schleife im Programm zu langsam

Beitragvon cp-Benutzer » Fr 13. Okt 2006, 10:18

Hallo,
zu einer ersten Erkenntnis bin ich nun schon selber gekommen. Wenn ich mit approx() arbeite, steigt die Geschwindigkeit an. Wahrscheinlich wird dabei das CAS übergangen. Habt ihr sonst noch Tipps?
cp-Benutzer
 

Re: Schleife im Programm zu langsam

Beitragvon Maddin » Mi 25. Okt 2006, 16:57

Also mit approx() bist du auf jeden fall schonmal auf nem ziemlich Geschwindigkeits-steigernden Weg. Was du noch versuchen kannst, ist die Variablen nicht global sondern explizit lokal zu definieren.

Um Variablen lokal zu machen, musst du sie zu anfang so deklarieren:

local var1,var2,var3...etc

Der Nachteil ist dann natürlich, dass du die im Programm gerechneten Werte dann im "main" nicht mehr zur Verfügung hast, um manuell mit denen weiter zu rechnen...

Hoffe ich konnte helfen...
Maddin
 


Zurück zu Das Classpad Forum

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

cron