[村川猛彦]


情報処理II

試験は終了しました.試験の問題と解答・解説を公開しています.
諸注意,例題プログラム,講義メモなどを置いています.
予習・復習に活用してください.

諸注意
  • 教科書・参考書について
    • 教科書として指定した『C言語クイック入門&リファレンス』は,授業中,毎回参照しますので,早めに購入しておいてください.
    • このページで各回に記した「教科書番号」は,この教科書の番号(「3桁の数字」または「Lと2桁の数字」)です.ページ番号ではありません.またカッコ内は,授業で読み上げなかったけれども関連のある情報です.
    • 参考書のうち『Cプログラミング入門以前』は,プログラミング基礎I,同IIの教科書です.情報処理IIでは,自習用に使用してもらいます(小テストで出題します).授業への持参は,必要ありません.
  • 授業スライドとノートについて
    • 毎回,「サンプルプログラム」の資料を配布します.自由に書き込んで,プログラム読解に役立ててください.
    • 教科書に書かれていないけれど重要なことを,スライド(PowerPoint)を使って説明します.
    • 「教科書」「配付資料」「スライドを印刷したもの」は,試験で参照できません.試験では,自筆ノート1冊のみ参照可とする予定です.復習の際,ノートに整理することを期待します.
  • 小テストについて
    • 授業開始時と終了時に,小テストを実施します.アンケートのこともあります.
    • 問題と解説(1月28日のアンケート選択率を追加しました)も,復習に活用してください.
第1回:2012年10月1日(月)  はじめに
  • キーワード: Cプログラミングの基本
  • 教科書番号: 001 (002, 010, 009, 132, 133, 134, 013, 014, 015)
  • スライド (PDF, 17枚, 授業終了後に補足を追加)
  • サンプルプログラム
    • matrix22.c (TXTHTML): 2行2列の行列の積
第2回:2012年10月15日(月)  データ型
  • キーワード: 変数, 識別子, 整数型, 実数型, 代入
  • 教科書番号: 001, 013, 014, 015, 005, 006, 007, 038
  • スライド (PDF, 12枚)
  • サンプルプログラム
    • constant.c (TXTHTML): 様々な型と定数
    • xyyx.c (TXTHTML): 2つの変数の値を交換する
    • xyyx2.c (TXTHTML): 2つの変数の値を交換するいくつかの方法
  • 小テストを,第1回の授業の内容,および『入門以前』pp.18-40より出題しました.
第3回:2012年10月22日(月)  制御文
  • キーワード: 制御文, for, while, if
  • 教科書番号: 059, 060, 065, 063, 064, 062, 061, 066, 067
  • スライド (PDF, 19枚)
  • サンプルプログラム
  • 小テストを,第2回の授業の内容,および『入門以前』pp.41-58より出題しました.
第4回:2012年10月29日(月)  演算子
  • キーワード: 演算子,式評価
  • 教科書番号: 043, 044, 045, 046, 047, 048, 049, 050, 051, 052, 057, 054, 027, 026, 058
  • スライド (PDF, 11枚) 授業実施後の公開となってしまいました.申し訳ありません.以後気をつけます.
  • サンプルプログラム
    • charall.c (TXTHTML): char型のすべての値のビットパターン
    • from0to1.c (TXTHTML): 0, 0.1, ..., 1
  • 小テストを,第3回の授業の内容,および『入門以前』pp.62-79より出題しました.
第5回:2012年11月5日(月)  配列
  • 教科書番号: 022, 040, 129, 135, 136, 137, 138, 139, 023
  • スライド (PDF, 13枚)
  • サンプルプログラム
    • int5.c (TXTHTML): 5個の合計・平均・最大・最小
    • matrixnmp.c (TXTHTML): n行m列とm行p列の行列の積
  • 小テストを,第4回の授業の内容,および『入門以前』pp.80-101より出題しました.
第6回:2012年11月12日(月)  文字列
  • 教科書番号: 024, 008, 009, 010, 040, 152, L20
  • スライド (PDF, 10枚)
  • サンプルプログラム
    • caesar.c (TXTHTML): シーザー暗号
    • NameChanger.c (TXTHTML): CamelCaseに
    • name_changer.c (TXTHTML): snake_caseに
  • 関連情報
  • 小テストを,第5回の授業の内容,および『入門以前』pp.106-125より出題しました.
第7回:2012年11月19日(月)  ポインタ
  • キーワード: ポインタ,配列とポインタ,コマンドライン引数
  • 教科書番号: 069, 070, 053, 071, 072, 073, 075, 096
  • スライド (PDF, 16枚)
  • サンプルプログラム
    • address.c (TXTHTML): さまざまなポインタの値を知る
    • 0eq1.c (TXTHTML): 0と1の字数が等しいか
  • 小テストを,第6回の授業の内容,および『入門以前』pp.128-143より出題しました.
第8回:2012年12月3日(月)  演習(1)
  • キーワード: プログラム読解演習
  • スライド (PDF, 12枚)
  • おさらい問題 (PDF, 3枚),大問3の解答例 (PDF, 1枚)
  • 小テストを,これまでの授業の内容より出題しました.『入門以前』からの出題は,ありません.
第9回:2012年12月10日(月)  関数(1)
  • キーワード: 関数,変数の有効範囲
  • 教科書番号: 078, 080, 081, 082, 084, 026, 087, 090, 092, 093, 094, 028, 029, 030, 031, 033, 036
  • スライド (PDF, 29枚)
  • サンプルプログラム
    • swapint.c (TXTHTML): 2つのint型の値を交換
    • polynomial.c (TXTHTML): 多項式の計算(関数使用)
    • polynomial_mainonly.c (TXTHTML): 多項式の計算(関数使用せず)
  • 小テストを,第8回までの授業の内容,および『入門以前』pp.146-169より出題しました.
第10回:2012年12月17日(月)  関数(2)
  • キーワード: 再帰,ライブラリ関数
  • 教科書番号: 115, L19, 151, L03, 152, 020, L20
  • スライド (PDF, 23枚)
  • サンプルプログラム
    • count.c (TXTHTML): 再帰でカウントダウン・カウントアップ
    • gcd.c (TXTHTML): 再帰で最大公約数の計算
    • NameChanger.c (TXTHTML): CamelCaseに
    • factorial.c (TXTHTML): 再帰で階乗の計算
  • 小テストを,第9回の授業の内容,および『入門以前』pp.170-191より出題しました.
第11回:2012年12月25日(火)  様々なデータ型
  • キーワード: 型定義,typedef,enum,構造体
  • 教科書番号: 021, 018, 097, 098, 099, 100, 055, 101, 103, 104, L20
  • スライド (PDF, 15枚)
  • サンプルプログラム
    • matrixstruct.c (TXTHTML): 行列の積(構造体使用)
  • 小テストを,第10回の授業の内容,および『入門以前』pp.194-217より出題しました.
レポート課題
第12回:2013年1月7日(月)  前処理
  • キーワード: 前処理,#define,標準入出力
  • 教科書番号: 114, 115, 116, 117, 118, 119, 121, 122, 123, 128, 129, 130, 131, L18
  • スライド (PDF, 15枚)
  • サンプルプログラム
    • binom.c (TXTHTML): パスカルの三角形
    • linenumber.c (TXTHTML): 行番号をつけて出力
    • binom-ifdef.c (TXTHTML): パスカルの三角形(条件付きコンパイル使用)
  • 小テストを,第11回の授業の内容,および『入門以前』pp.222-241より出題しました.
第13回:2013年1月21日(月)  入出力
  • キーワード: ファイル処理,記憶域管理
  • 教科書番号: 140, 141, 143, 144, L18, 153
  • スライド (PDF, 16枚)
  • サンプルプログラム
    • linenumber2.c (TXTHTML): ファイルから読み出し,行番号をつけて出力
    • linenumber3.c (TXTHTML): ファイル・標準入力から読み出し,行番号をつけて出力
    • matrixfile.c (TXTHTML): 行列の積(ファイル入出力)
  • 小テストを,第12回の授業の内容,および『入門以前』pp.272-302>より出題しました.
第14回:2013年1月28日(月)  演習(2)
  • A601演習室で実施します.あらかじめLinuxでログインし,ターミナル,テキストエディタ,ブラウザを起動しておいてください.
  • スライド (PDF, 12枚)
  • 課題と答案用紙 (PDF, 6枚),fibonacci.cの説明 (PDF, 2枚)
  • サンプルプログラム
    • fibonacci.c (TXTHTML): 様々な方法でフィボナッチ数を計算
  • 小テストは実施しません.授業中に答案を作成・提出してもらいますので,筆記用具を忘れずに持参してください.
第15回:2013年1月29日(火)  演習(3)
試験:2013年2月4日(火)
リンク