next up previous
Next: 2.3 課題2A Up: 2 FOR 〜 NEXT Previous: 2.1 FOR NEXT 構文の復習

2.2 簡単な漸化式

例題1. 定数 $ r$ が与えられたとき、漸化式

$\displaystyle a_1=1,\quad a_{n}=r a_{n-1}$   $\displaystyle \mbox{($n\ge 2$)}$

で定義される数列 $ \{a_n\}_{n\in\N}$ の最初の 100 項を求めよ。 -- 要するに等比数列 $ a_n=r^{n-1}$ですが、 この仕事を要求するには、例えば次のようなプログラムを書けば OK です。
配列を使うバージョン touhi1.bas
REM 等比数列 (配列を使うバージョン)
DIM A(100)
INPUT PROMPT "r=": r
A(1)=1
FOR n=2 to 100
  A(n)=r*A(n-1)
  print n;A(n)
NEXT n
END

演算精度を上げておくべきかもしれません。 これは (1000桁演算モード) ボタンを押しても実現できますが、 プログラムの先頭部分に例えば
  OPTION ARITHMETIC DECIMAL_HIGH
と書いてもよいでしょう。


実は一度 A(n-1) として使われた後はもう使われなくなるので、 次のようなプログラムで済ませることが出来ます。
配列を使わないバージョン touhi2.bas
REM 等比数列 (配列を使わないバージョン)
INPUT PROMPT "r=": r
A=1
FOR n=2 to 100
  A=r*A
  print n;A
NEXT n
END


next up previous
Next: 2.3 課題2A Up: 2 FOR 〜 NEXT Previous: 2.1 FOR NEXT 構文の復習
Masashi Katsurada
平成20年10月18日