プログラミング演習Ⅱ 第14回 応用課題(1) 情報・知能工学系 山本一公 [email protected] 前回の課題の解説・ポイント(1) • 課題12-1 – 文字 c の場所を文字列の先頭から順番に探し て行って、見つかったらその場所のポインタ を返す while (*str) { if (*str == c) { return str; } str++; } return NULL; 前回の課題の解説・ポイント(2) • 課題12-2 – 泥臭い方法の例:文字列の先頭を1文字だけ削除して 文字を詰める関数を別に作っておいて、与えられた 文字列を先頭から見ていって数字を見つけたらその 関数を呼ぶ – もう少しスマートな方法の例 char *str1 = str; while (*str) { if (*str >= ’0’&& *str <= ’9’) { str++; } else { *str1++ = *str++; } } 課題11の採点結果から • 課題11-1 – 結果を見て以下のことを考えよう! • 領域が連続しているかどうか • 余分な領域が確保されているかどうか • 同じアドレスが表示されるのは何故か • 課題11-2 – 結果を入れる配列の初期化(累和を求める前の0の 代入)は関数内で行うべき! • 掛け算の結果が返ってくる関数なのに、初期化を忘れると結 果が違ってしまうため – そもそも初期化してない!って人も結構いました 応用課題(1) • 今週と来週は応用課題 • 課題を3問与える – 課題1は必須。課題2/3のどちらかを選択。 – 2週間で2つのプログラムを作成すること • プログラムの説明を、プログラム中にコメント として書くこと – プログラムの処理の流れの説明 – 各関数の頭に関数の説明(役割、引数、返却値) – プログラム途中の処理内容 応用課題(2) • 課題1:「三目並べ」 – 人対人で遊べる三目並べのプログラムを作成する • 課題2:「リバーシ」 – 人対人で遊べるリバーシのプログラムを作成する • 課題3:「ライフゲーム」 – 世代毎に進化を画面表示するプログラムを作成する • 詳細は課題pdfファイルを参照のこと レポートについて • 電子メールで提出 – 提出先は [email protected](質問メールもここに) – Subjectを「プログラミング演習2 応用課題提出 学籍番 号・氏名 」とすること – C言語ソースファイルを添付する • メールの本文には何も書かなくて良いです – プログラムにコメントで以下の情報を入れる • 学籍番号・氏名(プログラムの先頭に) • プログラムの説明(どのように動くのかという全体の流れ。 プログラムの先頭に) • 関数の役割・引数・返却値の説明(関数の先頭に) – 提出締切は、2月20日(水) 12:00 (2週間後) 授業用Webサイト • URL: http://www.slp.cs.tut.ac.jp/~kyama/programming2/ – 課題のpdfファイルが置いてあります。 – 授業で使ったpptファイルを置いていきます。 • 質問メールは、以下のどちらかのアドレスまで – [email protected] – [email protected] • C-515へ直接質問しに来ても構いません
© Copyright 2024 ExpyDoc