2010 年度「計算数学」
後期金曜3限(13 時 00 分から 14 時 30 分まで)、
対象は数物科学類の、主として数学コース2・3年生です。
場所は、金沢大学総合メディア基盤センター第一演習室です。
また、次の4限は別の科目で私がその部屋を使いますので、
その授業のじゃまにならない範囲で、残って自習することが可能です。
(なお、4年生は、これを履修すると旧カリキュラムの
「計算数学1」を履修したことにになります。)
- 2010 年 10 月 01 日 金曜日
(1) 準備 (§1-11)
- 2010 年 10 月 08 日 金曜日
(2) C言語によるプログラミング入門 (§12-16)
- 2010 年 10 月 15 日 金曜日
(3) if ... else による分岐、for ループ、配列 (§17-20)
- 2010 年 10 月 22 日 金曜日
(4) 多重ループ、関数の自作 (§21-23)
- (23.8) の lcd() は、最小公倍数らしくない名前でした。
lcm() としてください。
また、この関数の仕様で「0 以上の整数」と書きましたが、「1 以上の整数」と訂正してください。
(2010-10-22 記す)
- 2010 年 10 月 29 日 金曜日
(5) 乱数、ソートプログラムの準備 (§24-28)
- 2010 年 11 月 05 日 金曜日 金大祭(大学祭)につき授業なし
- 2010 年 11 月 12 日 金曜日
(6) 素朴なソート(その1)(その2)(その3[挿入ソート]) 課題1 (§29-36)
- おまけのパズル(コメントを加筆・訂正しました。2010 年 11 月 25 日)
- 2010 年 11 月 19 日 金曜日 (7) 続き
- (34.1) に書いた方針を、少し変更します。そこの
1 ができたら、N を 20 にして、
3 に書いたようにカウンターをつけてください。
そして、比較回数・交換回数が (33.8) にあうかどうか確認してから、
残りにとりかかってください。
- N の値を三通りに変えて五回ずつ実験するように、
と書きましたが、それらをすべてレポートに貼り付けてください、と明記していませんでした。
すみませんが、そのように理解してください。
(2010 年 11 月 20 日 土曜日 記す)
- レポートは、古いものから順に見ています。
そのため、一通めが「やり直し!」で二通目が「OK」の場合、
「やり直し!」の返信が先に着くと思いますが、
そのうち「OK」が届きますので、しばらくお待ちください。
(2010 年 11 月 20 日 土曜日 記す)
- 2010 年 11 月 26 日 金曜日
(8) Shell ソート 課題2 (§37-39)
- (37.13) に書いた命題は Chinese Remainder Theorem ではありませんでした。
(2010 年 12 月 17 日 金曜日 記す)
- 2010 年 12 月 03 日 金曜日
(9) 続き、ソートプログラムの効率の限界 (§40)
- 2010 年 12 月 10 日 金曜日
(10) ヒープソート 課題3 (§41-42)
- (42.5) の、プログラムを書く際のアドバイスについての、
補足を次の回の分に載せました。(2010 年 12 月 16 日 木曜日 記す)
- 2010 年 12 月 17 日 金曜日
(11) ソートの安定性 (§43)
- 2010 年 12 月 24 日 金曜日 冬休みにつき「授業なし」
- 2010 年 12 月 31 日 金曜日 冬休みにつき「授業なし」
- 2011 年 01 月 07 日 金曜日
(12) 再帰 (§44-45)
- ハノイの塔の、ちょっと見ばえをよくしたプログラム:hanoi.c, hanoi3.c
(後者はまだ習っていないことを使っています。)
- 出席をとるのを忘れましたので全員出席したものとして扱います。(2011 年 01 月 07 日記す)
- (44.5) の説明の図の中に、gcd(x, x % y); とあるのは gcd(y, x % y)
の誤りでした。(2011 年 01 月 07 日記す)
- (44.8) の「a[i] = rand() % 100; を a[i] = i; に変え、」
は削除してください。その必要はありませんでした。 (2011 年 01 月 07 日記す)
- 2011 年 01 月 12 日 水曜日
(13) クイックソート 課題4 (§46-48)
- 2011 年 01 月 14 日 金曜日 センター試験準備のため「授業なし」
- 2011 年 01 月 21 日 金曜日
(14) 続き、マージソート 課題ではない (§49-51),
ほかに、ヒープソートの補足など
- 2010 年 01 月 29 日 金曜日 (15)
できればこの日はやりたくない
← 範囲指定してみよう!
掲示の写し
※
提出されたプログラムは、すべて目を通し、
『「ソート後、配列に 0 が混入していないか、また、逆転している箇所はないか」
をチェックし、チェックが完了したらその旨を画面に出力する』
ルーチン(=プログラムの一部)を付け加えてコンパイルし、
私が書いた解答例と続けて動かして、
乱数の種が同じならば同じ比較・交換回数となることを確かめています。
(完了した旨を出力させるのは、
私のカン違いでこのルーチンが実行されない場合に備えてです。また、
続けて動かすのは、そうすれば乱数の種はほぼ確実に同じになるためです。
解答例が複数ある場合は、解答を複数用意して確かめています。)
参考:「計算機基礎論3B」
(旧カリキュラムの科目です。
履修者がいないため、開講されなかったことになりました。)
付)xscreensaver-demo でスクリーンセーバーの設定ができるようです。
岩瀬順一