試験について 当日のページから、「試験問題のページ」に移動する 当日は、試験時間開始まで、みれない(可能性がある) 各自やること 試験問題のページから、自分の学籍番号のファイル ( QQQQ.zip ) QQQQ は、自分学籍番号 をダウンロードする 推奨ダウンロード先フォルダ c:\usr\c QQQQ.zip を展開する -> 右クリックをおして、メニューを出し、「全て展開」を選ぶ -> QQQQ フォルダができる QQQQ フォルダの下には、二つのフォルダがある answer -> 試験当日は空なので、きにしない (模擬試験の時は模範解答) question -> 問題ファイル 問題ファイル qXX.txt が 問題 XX の問題の内容 XX フォルダがあり、その中に課題を解くヒントになる情報がある XX フォルダの中身は、利用しなくてもよい 解答方式 (ニ通り) プログラム方式 QQQQ-aXX.c というファイルを作成し、それを、問 XX の解答とする 一問あたり、一つのファイルを提出 模擬テスト : Q00 〜 Q06 が、この形式 記述方式 QQQQ-a.txt の中に、答を直接書込む => やりかたは、どうでもよい (答えがあっていれば良い) 模擬テスト : Q10, Q12, Q14 が、この形式 模擬テストでは、(満点を取るには) 合計 8 つのファイルを提出する -> 提出されたものを採点する -> できなかった場合は、提出しなくてよい ただし、QQQQ-a.txt を提出しないと三問分が 0 点になる QQQQ-a.txt は、できたものだけ書込めばよい 提出先 CST Portal で、「時間内厳守」 提出は、何回でもできる 一番最後のものが有効になる できた順に提出するとよい 本番に向けて 8 割位は、今回の問題の数値が違う版 2 問位、差し替え or 追加を考えている 時間 9:00 〜 12:10 (すんだ人は、その場でかえってよい) === 落穂拾い やっていない事は沢山ある -> C 言語の本 (なんでもよい..) を、一通り読むとよい -> Web 上にも、C の講習のページが沢山ある -> そのページを読むのも吉 ! 一通り、言葉を目にしておく ソフトウェア概論 ほとんどの「考え方」はやっている -> 講議でやっていない事も、本を読めば解ると思う 今後は... 普段から、自分で「使える」ように努力する == 動的なメモリ管理の話 p-001.c/p-002.c : 配列のサイズがプログラム内に記述されている 利用できるメモリが、実行時には、固定されている => 配列のサイズ宣言 => プログラム内に記述されている => 静的 p-003.c 「動的にメモリ」を利用する事ができる ! 「動的」 ! => 利用できるメモリサイズを動かせる ! =>「プログラムを実行する時」 ! 「静的」 ! => 利用できるメモリサイズをうごかせない ! => 「プログラムを作成する時」 malloc() -> 関数を呼び出す度に、指定したサイズのメモリを確保 free() -> そのメモリを開放してくれる (リサイクル) => 使わなくなったメモリを他の目的に再利用できるようにする alloc を利用する事により、サイズの可変な配列(のようなもの)が作れる 解説 C 言語の普通の変数 静的にとられる(ようにみえる) サイズが後からかえらないという制限がある <= C 言語の変数の領域のリサイクルは自動的に行われる 基本、自分(プログラマ)で管理する必要はない 動的メモリ 静的に取られる(ようにみえる) サイズを後から変更可能 <= そのメモリの管理は、プログラマがやる alloc で確保して、free で開放する必要がある !! 動的メモリをプログラマが管理する !! 古典的なプログラミング言語だけ ( C 言語 ) !! 今風のプログラミング言語は、動的なメモリもシステムが管理してくれる事がおおい !! ガーベージコレクション機能 !! java, javascript, C#, D, go, .. !! ガーベージコレクションは、遅いので.. 動的メモリをつかって、「リスト」をつくってみる 「リスト」-> 順序つけられたものの並び !! 「リスト」を動的に実現すると、いくつでも長いリストがつくれる p-004.c 動的なメモリ管理を利用すると、可変なサイズのデータが扱える リスト スタック 集合 扱えるデータの型の表現に自由度がふえる ! 最大サイズをきめておけば、動的メモリは不要 ! しかし、サイズが固定 : 不便(越えたらどうする ?) ! 無駄が多い ( 使っても使わなくても、確保される ) ! 動的ならば、必要なだけ