プログラミングⅡ 2005

# プログラミングⅡ 2005

2005年度後期・水曜・Ⅳ—Ⅴコマ
担当: 香川・絹田
TA: 久保・大西・佐々木・土井

信頼性情報システム工学科（RISE）向の「プログラミングⅡ」の情報を掲載します。

## お知らせ

（新しいものほど上です。）

- 期末テストの解答（例）を公開します。(2/24)
- 成績とやり直し試験について(2/23)
- 各個人へのメッセージのページに合否情報を掲載しました。
合格 — 44名、不合格 — 37名 （2/22 現在）
- 不合格者のために、3月8日水曜日（3201教室, Ⅳ-Ⅴコマ）に、
期末試験のやり直し試験を実施します。
実施方式は期末試験と同様です。
（Ⅳコマ — 持ち込み不可のペーパーテスト、Ⅴコマ — 持ち込み可のオンラインテスト）
そして、ペーパーテストとオンラインテストのそれぞれで、
期末試験とやり直し試験の点数の良い方を採用し合否の判定をします。
- もちろん中間テストや平常の課題の成績によって、
挽回がほぼ不可能な人がいます。そこで、
不合格者のひとは、このページから、

「やり直し試験の受験を希望します。」
「やり直し試験の受験を希望しません。来年度、再履修します。」

- のどちらかの内容で、2月28日までに
message.txtというファイルをアップロードして下さい。
（合格者の人はアップロードの必要はありません。）
- なお、やり直し試験は救済措置ですので、
忌引や病気などの事情でやり直し試験が受験できない場合も、
やり直し試験の追試験はありません。
- 期末テストについて
範囲は授業でやったことすべてです。（中間テストの範囲も含みます。）
Quizを良く間違う人はしっかりQuizを復習してきてください。
配点はペーパー25点、オンライン15点の予定です。
- 12/10（土）の授業補完日はプログラミングⅡは授業を行ないません。
（テストをあわせて15回開講が確保できるため。）
しかし、11/30の中間テストで成績が悪かった人は、
この機会に自己学習をしっかりしておいて下さい。
- 12/07（第8回）は教科書第9章（文字列の基本）をやります。
それ以降は1週で1章ずつ進む予定です。
- 11/22の12:00に第3回までの必須・発展課題の解答を公開します。
（それまでに提出した解答でOKにならなかった場合は、
公開以降は、どの点がわかっていなかったか、を述べた反省文を、
解答の代わりに提出して下さい。）
- それ以降は原則として課題の公開日の次々々回の授業の前日に解答を公開します。
（例: 第4回の課題は第7回の授業の前日に公開します。）
問題によっては、それより以前に解答を公開することもあります。
（11/16 追加）
- 依然、インデンテーションが正しくできていない解答が多く見られます。（11/16 追加）
- 11/30 Ⅴコマのオンラインテストは
教室備え付けのコンピュータを使って行なう予定なので、
慣れておいて下さい。

- 使用できるソフトは、ブラウザ（Mozilla Firefox推奨・Internet Explorer非推奨）、
エディタ（メモ帳またはMkEditor)、
コマンド プロンプト
（およびその中でのbcc32, cd, dirなどのC言語のコンパイルと実行に必要なコマンド）です。
不正行為の定義はペーパーでのテストに準じるものとします。つまり、
メール, チャット, Messenger, FTP, WinSCPなどの通信系ソフトは使用禁止、
ブラウザも掲示板、Webメールなどの書き込み可能なページは閲覧禁止
（もちろん課題提出用ページは除く）、
stfileのネットワークフォルダもバックアップの提出を除いて使用禁止とします。
（Google, Yahooなど検索系のページは閲覧しても構いません。
ただし、解答に役に立つとは思えません。）
上に挙げた以外のソフトの使用の可否については事前（11/25まで）に問い合わせること。
もちろん私語や携帯電話の使用などペーパーテストで禁止されていることは、
オンラインテストでも禁止です。
- （11/16 追加）

- 11/30に中間テストを行ないます。
前半（Ⅳコマ）は持ち込み不可でペーパーテスト、
後半（Ⅴコマ）は持ち込み可でオンラインテストの予定です。
（11/09 追加）
- グラフ作成ページ の結果が、ブラウザでうまく表示できない人は、
Macromedia Flash Player
をインストールしなおしてみて下さい。（10/19）
- 後ろの隅の席はTAの人用に空けておいて下さい。（10/19）

タブはスペースに変換して下さい。
（10/05）

- 採点に使用するコンピュータとタブの設定が異なっていると、
インデントが意図通りに見えません。
タブをどうしても使いたいなら、首尾一貫して使って下さい。
- プログラミングⅡ 受講上の心構え（10/05）

## 課題

注意:
「Null Pointer …」何とかというメッセージがでて、受講生専用ページにアクセスできない時は、
いったんログアウトするか、
ブラウザを終了して、再度アクセスを試みて下さい。

各回の課題（必須・発展）の解答例は、次々々回の授業の前日の正午以降に公開します。
（メンテナンス中のため、解答例が現在一時的に見れなくなっています。）

10/05（第1回）（復習）
課題、
評価、
解答: （発展）
enshu1_3.c,
enshu1_8.c,
enshu2_6.c,
enshu3_10.c,
enshu4_10.c,
enshu6_3.c
10/12（第2回: 1〜4章）
まとめ、
課題、
評価、
解答: （必須）
escape.c,
third.c,
addHM.c,
factorial.c
（発展）
sankaku.c,
star.c
10/19（第3回: 4〜5章）
まとめ、
課題、
評価、
解答: （必須）
indent.c,
trinum1.c,
diamond.c,
maxmin.c
（発展）
trinum2.c,
trinum3.c,
trinum4.c,
trinum5.c,
trinum6.c
10/26（第4回: 5〜6章）
まとめ、
課題、
評価、
解答: （必須）
pairsum.c,
lattice.c,
min3.c
（発展）
lattice3D.c,
mid3.c,
11/09（第5回： 6章、8-3節）
まとめ、
課題、
評価、
解答: （必須）
ayatori.c,
recipsum.c,
powerrec.c
11/16（第6回: 6章、8-4節）
まとめ、
課題、
評価、
解答: （必須）
reverse.c,
digits.c,
（発展）
bubunwa.c,
trialpha.c,

- 11/30（第7回・中間テスト）
問題、
評価、
- 12/07（第8回: 9章）
まとめ、
課題、
評価、
解答: （必須）
dec07_1.c,
dec07_2.c,
（発展）
dec07_3.c
12/14（第9回: 10章）
まとめ、
課題、
評価、
解答: （必須）
dec14_1.c,
dec14_2.c,
（発展）
dec14_3.c
12/21（第10回: 11章）
まとめ、
課題、
評価、
解答: （必須）
dec21_1.c,
dec21_2.c,
（発展）
dec21_3.c
01/11（第11回: 12章）
まとめ、
QUIZ、
課題、
評価、
解答（02/07公開予定）: （必須）
jan11_1.c,
jan11_2.c,
01/18（第12回: 13章）
まとめ、
QUIZ、
課題、
評価、
解答（02/14公開予定）: （必須）
jan18_1.c,
jan18_2.c,
02/01（第13回: 総合演習）
まとめ、
QUIZ、
QUIZ その2、
課題、
評価、
解答: （発展）
feb01_1.c,
feb01_2.c,
02/08（第14回）
まとめ、
QUIZ、
QUIZ その2、
QUIZの評価、
課題、
解答: （必須）
feb08_1.c,
feb08_2.c,
- 02/15（第15回・期末テスト）
問題、
解答（例）
- 03/08（第15回・期末やりなおしテスト）
問題、

各個人へのメッセージはこのページを見て下さい。
このなかでステイタスがNGとなっている課題については、
必須課題は必ず修正して再提出して下さい。

ステイタスがNGにもOKにもなっていない課題は、
まだチェックしていないか、決定を保留しています。
必須でない課題（発展・挑戦）は余裕があれば、で構いません。
修正する前に、
せめて出題の次週に公開されるの課題の評価のページを読んで下さい。
解答例の公開（通常出題から3週間）後は解答の代わりに考察・反省文を提出して下さい。
なお、11/30の課題は中間テストの問題ですので、NGになっていても再提出の必要はありません。
（11/30の場合 OKは正解もしくは軽微な間違い、NGは重大な間違いを表します。）
01/11以降のQuizも修正する必要はありません。

## 教科書

新版 明解C言語入門編
柴田 望洋 著
ソフトバンクパブリッシング
ISBN4-7973-2792-8

## この授業でやらないこと

## 上記の教科書やC言語の標準的な解説書:

プログラミング言語C 第2版
B.W.カーニハン D.M.リッチー 著
石田 晴久 訳
共立出版

に書かれている事柄で、この授業で取り扱わない（主な）項目は以下のとおりです。

ビット演算子、goto文とラベル、
関数形式マクロ、列挙体（enum）,
共用体（union）、ビットフィールド、分割コンパイル、
動的メモリ割当て（mallocとfree）、関数へのポインタ、

Koji Kagawa (kagawa@eng.〜)

（〜の部分はSPAM mail予防のため省略します。）