課題プリント

計算機数学演習 A 2014.5.9. 数式処理ソフト Risa/Asir のプログラミング. 課題プリント
行列
1. 単項式を成分に持つ 2 × 2 行列
(
)
a b
A=
c d
をつくり, A2 , A3 , A4 , A5 を計算せよ. また関数 det を使って, A の行列式を計算せよ.
2. 単項式を成分に持つ 3 × 3 行列

1
1
x2
y
y2

B =x
1


z
z2
をつくり, 関数 det を使って, B の行列式を計算せよ. また, その行列式を関数 fctr で因数分解せよ.
リスト
1. 要素が 1, 2, 3, 4, 5, 6, 7 なるリストをつくれ.
2. 1. のリストから先頭要素を順に削除することにより, 空リストを作れ. (cdr 関数を使ってリストから要素を削除し
ていく.)
3. 空リストの先頭に要素を順に 1, 2, 3, 4, 5, 6, 7 と追加せよ. (cons 関数を使ってリストに要素を追加していく.)
4. リスト L=[[1,2,3],[4,5,6],[7,8,9]] から, 要素 8 を取り出すにはどうするか.
5. 因数分解の命令 fctr は, 因数分解した結果をリストで返すものであった. fctr(x^5-1) を実行し, 因数分解され
た各多項式をリストから取り出せ.
6. 与えられた自然数 N について, リスト [1,2,3, ..., N] を返す関数を書け.
再帰
1. 再帰を使わずに, 階乗を計算する関数を書け.
2. 再帰を用いたフィボナッチ数を計算する関数に print 文を追加して, 関数がどのように呼び出されるかを表示する
ように書き換えよ.
3. 再帰を使わずにフィボナッチ数列を計算する関数を書け. また再帰を使った方の関数との計算時間の比較を行え.
4. 再帰を使ったトリボナッチ数列 {tn } を計算する関数を書け.

t
n−1 + tn−2 + tn−3
tn =
1
(n > 3)
(n = 1, 2, 3)
5. 組合せの数 3 C2 を再帰的定義にしたがって計算するとどうなるか. また, r_comb(3,2) を呼び出すと, r_comb は
どのように呼び出されるか.
6. 組合せの数を再帰を使わずに計算する関数を書け.
7. パスカルの三角形を表示するプログラムを書け. パスカルの三角形とは次のようなものであった.
1
1 1
1 2
1 3
1 4
...
1
3 1
6 4 1
つづく
1