12月17日
先週の課題について
もっとも多かった間違いは、
- 関数名が問題の指示通りになっていない(特にpow2.c)、
というものである。
関数は良く使う機能を再利用できるようにしたものなので、
名前はその機能の重要な一部である。
発展問題の問4.1.8.3では、階乗を繰返しごとに計算しなおす解答が多かったが、
これは効率が良くない。
直前の階乗の値を再利用する形にするべきである。
先週の各人の課題提出場所にcomment.txtというファイルを置いて、
その中で間違いを指摘しているので、
指摘された部分は手直しして、今週の課題と同じ提出場所に提出すること。
(先週の提出場所に出さないように注意して下さい。)
本日の予定
プリント第4章
「C言語中級編」
4.1 関数
4.1.2 大域変数と局所変数
foo.c,
4.1.3 関数の宣言,
4.1.4 インクルードファイル,
4.1.5 マクロ,
4.1.6 再帰関数
factrec.c,
simpleTree.c
(simpleTree.cの出力例1,
simpleTree.cの出力例2)
ハノイの塔のアニメーション
本日の提出課題
-
問4.1.12 (プリント p.37
参考にするプログラム factrec.c)
(今週の提出場所にmypow2.cとmypow2.exeというファイル名で提出すること。)
- 教科書 演習 8-6(教科書 p.197 参考にするプログラム
factrec.c)
問題文中の漸化式を利用して再帰関数として定義すること。
(今週の提出場所にtext8_6.cとtext8_6.exeというファイル名で提出すること。 )
以下の問題は発展問題です。(必須ではありません。) 「秀」を狙いたい人は挑戦して下さい。
- 問4.1.15 (プリント p.38
参考にするプログラム simpleTree.c)
(今週の提出場所にsimpleTree1.cとsimpleTree1.exeというファイル名で提出すること。
さらに、このプログラムの出力をsimpleTree1.svgというファイル名で提出すること。
)
-
問4.1.12-改
(参考にするプログラム factrec.c)
m0 | = | 1 | |
mn | = | mk・mk |
| (n = 2k) |
mn | = | m・mk・mk |
| (n = 2k+1) |
という関係を利用して、mnを求める再帰関数mypow3を定義せよ。
(同じ計算を何度も繰り返さないよう注意する。)
(今週の提出場所にmypow3.cとmypow3.exeというファイル名で提出すること。)
今週の提出場所:
\\stfile\Report\kagawa\Programming2\031217\s学籍番号\
Koji Kagawa
(kagawa@eng.?????)