[村川猛彦]


情報処理II

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

諸注意
  • 授業評価アンケートについて
  • 教科書・参考書について
    • 教科書として指定した『C言語クイック入門&リファレンス』は,授業中,毎回参照しますので,早めに購入しておいてください.
    • 参考書のうち『Cプログラミング入門以前』は,プログラミング基礎I,同IIの教科書です.情報処理IIでは,自習用に使用してもらいます(小テストで出題します).授業への持参は,必要ありません.
  • 授業スライドとノートについて
    • 毎回,「サンプルプログラム」の資料を配布します.自由に書き込んで,プログラム読解に役立ててください.
    • 教科書に書かれていないけれど重要なことを,スライド(PowerPoint)を使って説明することがあります.
    • 配付資料や,スライドを印刷したものは,試験で参照できません.試験では,自筆ノート1冊のみ参照可とする予定です.復習の際,ノートに整理することを期待します.
  • サンプルプログラムについて
    • サンプルプログラムの文字コードは,UTF-8としています.このまま保存し,UTF-8に対応していないテキストエディタで開くと,日本語が文字化けするので,注意してください.
  • 小テストについて
    • 授業開始時と終了時に,小テストを実施します.アンケートのこともあります.
    • 問題と解説(1月23日出題分まで)も,復習に活用してください.
第1回:2011年10月3日(月)  はじめに
  • キーワード: Cプログラミングの基本
  • 教科書番号: 001, 002, 010, 009, 132, 133, 134, 013, 014, 015
  • スライド (pp.2-16)
  • サンプルプログラム
    • matrix22.c (TXTHTML): 2行2列の行列の積
第2回:2011年10月17日(月)  データ型
  • キーワード: 変数, 識別子, 整数型, 実数型, 代入
  • 教科書番号: 001, 013, 014, 028, 030, 031, 015, 016, 005, 006, 007, 038, 039, 133, 134
  • スライド (pp.17-27)
  • サンプルプログラム
    • constant.c (TXTHTML): 様々な定数とprintfの変換指定
    • xyyx.c (TXTHTML): 2つの変数の値を交換
    • xyyx2.c (TXTHTML): 2つの変数の値を交換するいくつかの方法
  • 小テストを,第1回の授業の内容,および『入門以前』pp.26-40より出題しました.
第3回:2011年10月24日(月)  制御文
  • キーワード: 制御文
  • 教科書番号: 059, 060, 065, 063, 064, 062, 061, 066, 067
  • スライド (pp.28-45)
  • サンプルプログラム
    • from0to1.c (TXTHTML): 0, 0.1, ..., 1
    • kuku.c (TXTHTML): 九九の表
    • ordinal.c (TXTHTML): 序数
  • 小テストを,第2回の授業の内容,および『入門以前』pp.41-58より出題しました.
第4回:2011年10月31日(月)  演算子
  • キーワード: 演算子,式評価
  • 教科書番号: 043, 044, 045, 046, 047, 048, 049, 050, 051, 052, 057, 054, 027, 026, 058
  • スライド (pp.46-55)
  • サンプルプログラム
    • charall.c (TXTHTML): char型のすべての値のビットパターン
    • from0to1bad.c (TXTHTML): 0, 0.1, ..., 1 (間違った方法)
  • 小テストを,第3回の授業の内容,および『入門以前』pp.62-79より出題しました.
第5回:2011年11月7日(月)  配列
  • キーワード: 配列,文字列
  • 教科書番号: 022, 040, 129, 135, 136, 137, 138, 139, 024, 010, 023
  • スライド (pp.2-15)
  • サンプルプログラム
    • int5.c (TXTHTML): 5個の合計・平均・最大・最小
    • caesar.c (TXTHTML): 文字列をずらす(シーザー暗号)
    • matrixnmp.c (TXTHTML): n行m列とm行p列の行列の積
  • 小テストを,第4回の授業の内容,および『入門以前』pp.80-101より出題しました.
第6回:2011年11月14日(月)  ポインタ
  • キーワード: ポインタ,配列とポインタ,コマンドライン引数
  • 教科書番号: 069, 053, 070, 071, 072, 073, 075, 096
  • スライド (pp.16-29)
  • サンプルプログラム
    • address.c (TXTHTML): さまざまなポインタの値を知る
    • 0eq1.c (TXTHTML): 文字列の中の0と1の数が等しいか判定する
  • 小テストを,第5回の授業の内容,および『入門以前』pp.106-125より出題しました.
第7回:2011年11月28日(月)  演習(1)
  • キーワード: プログラム読解演習
  • おさらい問題
  • スライド (pp.30-40.12月2日更新)
  • 大問3の解答例
  • 小テストは,これまでと異なる形式で行いました.『入門以前』からの出題は,ありません.
第8回:2011年12月5日(月)  関数(1)
  • キーワード: 関数,引数
  • 教科書番号: 078, 080, 081, 082, 084, 026, 087, 088, 090, 091, 092, 093, 094
  • スライド (pp.2-23)
  • サンプルプログラム
    • swapint.c (TXTHTML): 2つの値を交換
    • polynomial.c (TXTHTML): 多項式の計算
    • polynomial_mainonly.c (TXTHTML): 多項式の計算(関数定義なし)
  • 小テストを,第7回までの授業の内容,および『入門以前』pp.128-143より出題しました.
第9回:2011年12月12日(月)  関数(2)
  • キーワード: 関数と変数,変数の有効範囲,再帰
  • 教科書番号: 028, 029, 030, 031, 033, 036, L19
  • スライド (pp.24-49)
  • サンプルプログラム
    • count.c (TXTHTML): 再帰でカウントダウン・カウントアップ
    • connection.c (TXTHTML): 連結数問題
    • gcd.c (TXTHTML): 最大公約数
    • factorial.c (TXTHTML): 階乗
  • 小テストを,第8回までの授業の内容,および『入門以前』pp.146-169より出題しました.
第10回:2011年12月19日(月)  関数(3)
  • キーワード: ライブラリ関数
  • 教科書番号: 115, 156, L19, 151, 152, L03, 020, L20, L11
  • スライド (pp.50-59)
  • サンプルプログラム
    • strcmp.c (TXTHTML): ライブラリ関数と自作関数で文字列比較
    • sincurve.c (TXTHTML): サインカーブ
  • 小テストを,第9回までの授業の内容,および『入門以前』pp.170-191より出題しました.
第11回:2011年12月26日(月)  様々なデータ型
  • キーワード: typedef,enum,構造体
  • 教科書番号: 021, 018, 097, 098, 099, 100, 101, 103, 104, 055
  • スライド (pp.60-73,授業実施日の夜に修正)
  • サンプルプログラム
    • matrixstruct.c (TXTHTML): 行列の積(構造体使用)
  • 小テストを,第10回までの授業の内容,および『入門以前』pp.194-217より出題しました.
レポート課題
第12回:2012年1月16日(月)  前処理
  • キーワード: 前処理,#define,標準入出力
  • 教科書番号: 114, 115, 116, 117, 118, 119, 121, 122, 123, 128, 129, 130, 131, 140
  • スライド (pp.3-14,1月19日更新)
  • サンプルプログラム
    • connection2.c (TXTHTML): 連結数問題を解く(前処理指令とenum使用)
    • linenumber.c (TXTHTML): 行番号をつけて出力
  • 小テストを,第11回までの授業の内容より出題しました.
第13回:2012年1月23日(月)  入出力
  • キーワード: 標準入出力関数,ファイル処理,記憶域管理
  • 教科書番号: 140, 141, 143, 144, L18, 153
  • スライド (pp.15-29)
  • サンプルプログラム
    • twonum.c (TXTHTML): 2つの数値を足してファイルに保存する
    • strplus.c (TXTHTML): 2つの文字列を連結する
    • twonum2.c (TXTHTML): 2つの数値を足してファイルに保存する(さまざまな読み出し方法)
  • 小テストを,第12回までの授業の内容,および『入門以前』pp.290-302より出題しました.
第14回:2012年1月30日(月)  演習(2)
  • キーワード: プログラム読解演習
  • A601で実施します.あらかじめ,Linuxでログインしておいてください.座席は自由です.
  • スライド
  • プログラムの論述例 (2月5日改訂)
  • ソースファイルは授業ページからリンクしません.演習室などにLinuxでログインして,~takehiko/ipii2011の各ファイルを参照してください.
  • 答案を6F学科事務室にて返却します.期間は2月2日(木)~10日(金)で,学科事務室が開いている時間帯に限ります.
  • 小テストは実施しません.
第15回:2012年1月31日(火)  演習(3)
試験:2012年2月13日(月)
リンク