岩井先生の講義ページへ

2004年度

コンピュータ基礎 講義資料

第1回:4月15日(ソフト)導入・C言語(配列・関数・ポインタ・ファイル)
   講義資料(OHP)はこちら

第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

コンピュータ基礎演習 課題

第1回:4月15日 演習課題1,2,3:復習(選択・反復)

第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:二分探索木,ハッシュ

第11回:7月 8日 演習課題26,27:分割コンパイル,応用(オセロ)

第12回:7月15日 最終課題:強いオセロのプログラムを作る.

第13回:7月22日 最終課題評価:オセロの強さを評価する.


第10回課題・最終課題用オセロプログラム:

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 などでも大丈夫だと思うけど..

text_othello.c


第11回参考資料

簡単な,先の手を読むプログラム.
強いプログラムを作るのに,これを参考にする,もしくはこれを元に改造して作成してよい.

comp2.c


最終日:オセロ大会

以下の othello.c をダウンロードし,自分の othello.c と置き換える.
othello.c

このプログラムは対戦用に作ってあり,

というものである.これを用い, の3通りについて対戦成績を求めて提出する.

なお randomPlayer と evalPlayer の関数は othello.c の末尾に付いているので,
othello.c を入れ替えると自動的に利用可能になる.
(ダウンロード直後は,randomPlayer と evalPlayer との対戦となっている.)

なお隣の人とは,センターディスプレイを共有している人.
欠席や端の席の場合は,近くの3人でそれぞれ交換してください.
またプログラムを組み合わせるには,それぞれの comp.c の該当部分を編集してくっ付けても良いが,
makefile を編集して山田君の compYamada.c と藤井君の compFujii.c の両方をコンパイルするようにしても良い.
(ただしその場合でも comp.h には両方の関数名を書かなければならない.)