例題1. 定数 が与えられたとき、漸化式
配列を使うバージョン touhi1.bas |
REM 等比数列 (配列を使うバージョン) DIM A(100) INPUT PROMPT "r=": r A(1)=1 print 1;A(1) FOR n=2 to 100 A(n)=r*A(n-1) print n;A(n) NEXT n END |
やってみよう DIM, INPUT PROMPT 等の 命令の説明をオンライン・ヘルプで読んでみましょう。
等比数列はものすごい勢いで大きくなったり小さくなったりするので、 演算精度を上げておくべきかもしれません。 これは (1000桁演算モード) ボタンを押しても実現できますが、 プログラムの先頭部分に例えば
OPTION ARITHMETIC DECIMAL_HIGH |
ちょっと質問 ``arithmetic'' って何でしょうね?1
実は一度 A(n-1) として使われた後はもう使われなくなるので、 次のようなプログラムで済ませることが出来ます。
配列を使わないバージョン touhi2.bas |
REM 等比数列 (配列を使わないバージョン) INPUT PROMPT "r=": r A=1 print 1;A FOR n=2 to 100 A=r*A print n;A NEXT n END |
配列変数の代りに、 普通の変数 Aだけで済んでいる理由を理解しましょう。 代入文 A=r*A は、数学に現れる等式とは違って、 一般には