第5回放送授業
5.5 再帰呼び出し
再帰呼び出し(recursive call) int factorial(int x) { if (x == 1) { # x が 1 ならば 1 を返す return 1; } else { # それ以外は x*(x-1)!を返す return x * factorial(x - 1); }
6 アルゴリズム
6.1 アルゴリズムとは
アルゴリズム algorithm プログラムの手順 構成、流れ 処理のしかた 書き方、考え方
良いプログラムとは 計算速度が速いこと メモリーをあまり使わないこと 考え方がすっきりしていること 読みやすいこと
6.2 よいアルゴリズムの例
与えられた数が素数か 与えられた数Nの一つ下N-1から順に、その数で割ってみる 2、3、4、…と順に小さい数から割ってみる 下から順に素数を拾い出しながら、素数だけで割ってみる
6.3 ユーザから見た よいアルゴリズム
最大計算速度が速いこと 平均計算速度が速いこと メモリーをあまり使わないこと 操作性がよいこと 可能ならばマニュアルを読まなくて すむこと
6.4 プログラムの保守
変数名をわかりやすくする コメントを多くつける readme 構造化プログラム ブロック化とサブルーチン
6.5 プロファイラ
プロファイリングとプロファイラ プログラム中に注目点を入れておくと注目点と注目点の間の計算時間を表示してくれる