情報処理Ⅱ 第14回 2005年02月01日(火) 本日のスケジュール 14:50~14:55 … 復習問題 14:55~15:45 … おさらい問題 何でも参照可.周りと相談可.質問可. 採点の対象にはならない. 15:45~16:15 … おさらい問題の解説 16:15~16:20 … 試験について おさらい問題とその解説は,2月10日(木)ごろにWeb公開 の予定. 2 試験の心構え しっかり準備をする. Webページの復習問題やサンプルプログラムには目を通し ておく. プログラムコードを見て,日本語で説明できるよう,訓練する. 何をするプログラムか? 何をする関数か? 何に使う型か? 何に使う変数か? 「データ型の表現できる範囲」「演算子の種類と優先順位」 「配列とポインタの使い分け」を理解しておく. 3 大問2の解説(1) 解答例 原因:retrunと書かれている. 修正方法:21行目を return 0; とする. コメント 関数が,値を返して関数処理を終了するとき, return(値); または return 値; と書く. returnは関数ではなく制御文のキーワードであることに注意. コンパイルエラーがあったら,問題のある「行番号」だけでなく, コンパイラが出力している「識別子」にも注意する. 4 大問2の解説(2) 解答例 文字列の最初を大文字に,2文字目以降を小文字にする.た だし英字以外の文字はそのままとする. コメント 「capitalize」はコンピュータの専門用語として知っておくこ と. ライブラリ関数のtoupper,tolower,putchar,printf を使用している.授業中に解説したライブラリ関数は,注釈を つけずに出題するつもり. 5 大問2の解説(3) 解答例 256通り • 「./capitalize WAKAYAMA」, 「./capitalize WAKAYAMa」, 「./capitalize WAKAYAmA」,…, 「./capitalize wakayama」 • 最初の文字は「W」か「w」のいずれか,次は「A」か「a」,…と 考えると,28=256と求められる. コメント 「この入力には何を出力するか?」は試験に出さない. 出力を見て,「どんな入力を与えたらその出力になるか」を考え ること(未知のプログラムを実行するときにも重要). 6 大問2の解説(4) 解答例 ライブラリ関数のtoupperおよびtolowerを使用するため. コメント 「ライブラリ関数」については,それを使うためにインクルードす べき「ヘッダファイル」も合わせて理解する. • 入出力:stdio.h • 文字列:string.h • 文字情報:ctype.h • その他有用な関数:stdlib.h 7 大問2の解説(5) 解答例 =,[ ],*,!=,++ の5つ コメント C言語の多彩な演算子を確認する.ただし丸暗記する必要は ない. ここでは使わなかった「論理演算子」や「ビット演算子」も見直し ておくこと. 8 大問2の解説(6) 解答例 文字列の「先頭」か「2番目以降」かで分岐している. コメント 「何と何」の「と」にこだわらなくてよい.「何」と「何」が明確にな るように書けばよい. forやwhileの反復の文なら,反復を継続する(繰り返す)条 件,あるいは逆に,反復を終了する(打ち切る,ループから抜 ける)条件を,日本語で説明できるようにしておく. 9 大問3の解説 解答例 ① ② ③ ④ ⑤ 構造体 関数 誤差 型 #define abs_complex(z) (sqrt((z).x * (z).x + (z).y * (z).y)) コメント 「複素数」や「絶対値」が隠されていても,答えられるように. 構造体は「宣言」するもの,構造体の型は「定義」するもの. 関数・関数形式マクロ・関数プロトタイプを理解しておくこと. 10 大問1の解答 (1) ② (2) ② (3) ② (4) ① (5) ② (6) ② (7) ① (8) ①②どちらも正解 (9) ① (10) ② (11) (12) (13) (14) (15) ② ② ② ① ② 11 大問1の解説 (2)「nビットで2n個」はプログラマの常識. (5)「*p」という例を書いてみると分かる. (8)p-qはsize_t型,*p-*qはint型の値になる. 試験中に迷ったら,どちらか一つを書くこと. (9)'0' と "0"もまた異なる値である(暗黙の型変換で同 じ値に…なることはない). コメント 授業で見聞きしたことを思い出す. おさらい問題の問題文は,本番でも,表現を変えて出題するか もしれない. 迷ったら,「プログラミングの心がけ」で選ぶ. 12 試験について 実施上のルール 配点 日時:2月8日(火)14:50~16:20 持込:自筆ノート1冊と,C言語の書籍1冊のみ可 • 「用紙1枚」は不可(カンニング防止のため).本やノートへ の挟み込み,糊付けも不可. • 「ルーズリーフ」は,バインダに綴じており,試験中取り外さ ないなら可. 出席:5点,レポート:10点×2,試験:75点 解答解説など プログラミング基礎Ⅱ試験終了後(2月10日午後)に, Webで公開する. 13
© Copyright 2025 ExpyDoc