2004年度
第2回:4月22日(ソフト)C言語(文字列・構造体)
講義資料(OHP)はこちら
(5月 6日 休講)
第3回:5月13日(ソフト)復習,データ構造その1(スタック・待ち行列)
講義資料(OHP)は 4/22 と同じでこちら
第4回:5月20日(ソフト)アルゴリズム(探索:逐次探索,二分探索 整列:バブルソート・直接選択法,基本挿入法),
計算量,C言語(再帰),データ構造(リスト構造)
講義資料(OHP)はこちら (html) (ppt) (pdf)
第5回:5月27日(ソフト)データ構造(双方向リスト,木構造,二分木,二分探索木となぞり)
講義資料(OHP)はこちら (html) (ppt) (pdf)
第6回:6月 3日(ソフト)データ構造&アルゴリズム(高速ソート,ハッシュ法,バランス木)
講義資料(OHP)はこちら (html) (ppt) (pdf)
第7回:6月10日(ソフト)UNIX環境(シェル,コマンド,パイプ/リダイレクト,分割コンパイルと make)
講義資料(OHP)はこちら (html) (ppt) (pdf)
Linux のコマンドについては適当に検索するといくらでも出てきます.例えばここなど.
make の使い方も同様ですが,ここが大変参考になります.
第8回:6月17日(ハード)(教科書 P2 - P26)コンピュータの基本構成
講義資料(OHP)はこちら
講義資料に引用した図版,ムービーはこちらにあります.
大変参考になる資料ですので,ぜひ一度見てみてください.
第9回:6月24日(ハード)(教科書 P27 - 45)演習課題(前回の復習,二進数の計算)
演習問題:Microsoft Word 形式 PDF(Adobe Acrobat)形式
第10回:7月1日 ブール代数,論理代数,真理値表,論理記号
第11回:7月8日 論理圧縮(論理代数,カルノー図),論理回路の設計
演習問題:Microsoft Word 形式 PDF(Adobe Acrobat)形式
第12回:7月15日 フリップフロップ,順序回路の基礎
第13回:7月22日 順序回路の設計(状態遷移図,遷移表,入力方程式の計算)
配布プリント:PDF(Adobe Acrobat)形式
講義で使用したソフトウェア:源内CAD
第2回:4月22日 演習課題4,5,6:C言語(配列,関数,ファイル入出力)
第3回:5月13日 演習課題7,8:C言語(ポインタ,文字列)
第4回:5月20日 演習課題9,10,11:C言語(構造体)
第5回:5月27日 演習課題12,13,14:基本データ構造(スタック),アルゴリズム(整列,探索)
第6回:6月 3日 演習課題15,16,17:リスト構造(連結リスト),アルゴリズム(再帰)
第7回:6月10日 演習課題18,19:アルゴリズムの実装
第8回:6月17日 演習課題20:双方向リスト
第9回:6月24日 演習課題21,22,23:二分木,二分探索木
第10回:7月 1日 演習課題24,25:二分探索木,ハッシュ
第12回:7月15日 最終課題:強いオセロのプログラムを作る.
第13回:7月22日 最終課題評価:オセロの強さを評価する.
1.以下のファイルを自分のディレクトリへダウンロードする
othello.tar.gz
2.コマンドプロンプトでダウンロードしたディレクトリへ移動し(cd コマンド),以下の作業を行う
実行するコマンド tar xzvf othello.tar.gz
3.その結果,6つのファイルがディレクトリ othello の中にできることを確認(ls コマンド)
othello.c
othellosub.c
othellosub.h
comp.c
comp.h
makefile
4.ディレクトリ othello の中に移動し,make する.
実行するコマンド make
5.実行してみる(コンピュータ同士の対戦となる)
実行するコマンド ./othello
6.othello.c を編集し,人対コンピュータに変更してみる,など.
なお,これらのプログラムにはサイバーメディアセンターの Handy Graphic ライブラリが必要.
Linux マシンで実行するには,以下のファイルを用いると良い(動かない場合もある).
handy.h
libhg.a
自宅のパソコン(Windows や Mac など)では Handy Graphic がないため,
以下に printf などのみで構成したもの(C言語さえ動けば,どこでも実行可能)をおいた.
また make が使えない環境もあると思うので,1つのファイルにまとめた.
表示部分の関数名や関数の引数などは同じだが,表示や入力のみ,テキスト画面とキーボードに置き換えてある.
Borland C++ および gcc (cygwin) で動作確認済み.Visual Studio などでも大丈夫だと思うけど..
簡単な,先の手を読むプログラム.
強いプログラムを作るのに,これを参考にする,もしくはこれを元に改造して作成してよい.
以下の othello.c をダウンロードし,自分の othello.c と置き換える.
othello.c
このプログラムは対戦用に作ってあり,
なお randomPlayer と evalPlayer の関数は othello.c の末尾に付いているので,
othello.c を入れ替えると自動的に利用可能になる.
(ダウンロード直後は,randomPlayer と evalPlayer との対戦となっている.)
なお隣の人とは,センターディスプレイを共有している人.
欠席や端の席の場合は,近くの3人でそれぞれ交換してください.
またプログラムを組み合わせるには,それぞれの comp.c の該当部分を編集してくっ付けても良いが,
makefile を編集して山田君の compYamada.c と藤井君の compFujii.c の両方をコンパイルするようにしても良い.
(ただしその場合でも comp.h には両方の関数名を書かなければならない.)