枚についてこの予想が成り立つものと仮定する。仮定が成り立つことが示される。自然数について成り立つ。この証明のような、式の中に自分自身が含まれるような方程式を、再帰方程式と呼ぶ。再帰処理の速度予測では、これと同じように再帰方程式をたてる事ができる。一定の処理が行われるので、Nが2以上では、if,==,*,-1,returnの処理と、fact()の再帰が行われる。よって、この再帰方程式を、代入を繰り返しながらとけば、が導き出せる。基礎実験を行っている。Webプログラミングの説明。これにより簡単な掲示板やアンケートを作ってもらった。2回目の今日は、1日実験でPerlと正規表現の実験を行った。最初に、超単純英語によるBot作りをネタに、Perlの基本文法と、正規表現を体験してもらう。このメールデータの中から、From,Toの部分を抽出するプログラムを作ってもらう。らしい節操のない書き方は、説明を避けた。先日の変数の寿命とスコープの話の次ということで、数値の型とN進数について説明。C言語の型変換が、「精度が異なる場合は、精度のいい方に型変換」とか「型キャスト」を説明。実行結果は、%fとintの型の不一致で、異常値の表示。大体の桁数が計算できることを説明。説明し、元の数をNで割った余りを下の桁から書き並べると、N進数に直せることを説明。この後、8進数、16進数、10進数変換の理解度を確認。C言語での0123の8進数表記や、0x123の16進数表記、printfでの"%o","%x"なども説明。次に、小数点以下のN進数の説明を行う。小数点以下にNをかけると、整数部にN進数の小数点上位1桁が得られることを説明する。これより、0.1)10といった値を2進数にすると、無限循環小数になることを示す。この結果、C言語で、0.1を10回積算しても、正確に1.0といった値にならない可能性があることを紹介する。トイレに行ってもどってきたら、マウスもキーボードも動かない。マウスもキーボードも動く。他のUSB機器をつなげたり。やってもマウスキーボードが動かない。PCのマザーボード上のUSB回路がやられたとしか思えない。今年は利用者がいなさそうだし、教官室に移動とした。いうことで、教官室は、iMac,Linux×2,MacBook構成となって、Windowsマシンなし。重要な書類がぞろぞろ。漢字は表示できても読めないファイルがちょろちょろ...ということで、不便極まりない。HFS+にフォーマットし直し、中身をごっそり移動させることにした。今回は具体的な課題に取り組んでもらう。加算と表示メソッドを作る。プログラムを一切変更せずに済むということを示す。直接プログラムを書き、目の前でコンパイル&実行しながら説明を行った。プログラムを作ることを目標として、課題に取り組んでもらう。先週の最大選択法の処理時間の分析を、解説する。具体的な説明は、先週の資料に記載したのでそちらを参照。この後、2分探索法のブログラムを示し、オーダ記法の説明を行う。[M+1,R)}このプログラムでは、ループ1回につき、対象データ件数が約半分になる。データが見つからない最悪ケースでは、対象データ件数が1件になるまで繰り返す。処理時間は、以下のように示される。比例ということが、アルゴリズムの処理時間の分析では重要となる。そこで、「Nについてのどのような式に比例するのか?」を、オーダ記法で表す。いったように表記する。局所変数であれば、宣言されたブロックの中でのみ有効。大域変数は、どこからでも使える変数で便利だけど、危険な使い方。ブロックを抜けると消滅する。プログラム起動時に作られ、プログラム終了まで生き残る。関数処理と同時に消滅するという解説を行う。これにより、関数での副作用が呼び出し側に伝わらないようにすることを説明。一方で、関数の副作用を伝えたい場合は、値渡しではなく、ポインタ渡しをすることを説明。コメントを入れるとかのテクニックを紹介。誤解されないテクニックも紹介する。動いてくれるようになった。認識しかしてくれない。RAIDを構成させるために、領域種別にはraidを指定する。