ホーム » 2004 » 10月

月別アーカイブ: 10月 2004

2004年10月
« 9月   11月 »
 12
3456789
10111213141516
17181920212223
24252627282930
31  

最近の投稿(電子情報)

アーカイブ

カテゴリー

演習

部屋の掃除のゴミ出しもあり、色々動いていたら、授業開始に遅れる。 といっても演習を行うとの予告もしていたので…. 先に演習を始めているかと思いきや、5分ほど雑談タイムになってたみたい。

構造体を使った演習を行うが、半分講義にするためにも、補足説明を行う。 同一構造体の変数間の一括代入と、構造体データのポインタ渡しによる プログラム例を示す。

構造体を関数に引き渡す際の値渡しと参照渡し(ポインタ渡し)の2つを示し、 副作用の無い呼び出しなら値渡しという点を説明。 さらに構造体が巨大な場合の実引数・仮引数間の全コピーは、 処理が遅くメモリ浪費する点を説明し、一般的には参照渡しを行うことを 強調する。

残りの時間40分程を演習とする。

演習室の掃除

JABEE の審査当日は、施設見学の中で見られる可能性もあるということで、 演習室の掃除を行う。今までの卒研で溜った不燃ゴミも多いし、 プログラムコンテストや自走模型の作業で乱雑になった所もあり、 思ったより時間がかかる。

卒研・特研用の wiki ページ

JABEEの卒研などのエビデンスを色々と求められているが、 学生も紙に記録という方式だと、貯めておいた資料を無くしてしまう 場合も多いし、ちょっとした時に手元資料が無いと、 記録も継続しづらい。

そこで、学科で設置していた pukiwiki を、 卒研・特研の学生さん向けにも立ち上げる。 気軽な書き込みでの継続を維持するために、 学内は誰でも書き込み可、学外からは参照のみ可という設定とする。 一部の学生には凍結用の簡単なパスワードをアナウンスしておく。

うちの卒研グループは、興味を持ってもらったみたい。 たった1日だけど、それなりに記録を残してくれている。 エビデンスを要求されたら、 記録の日付から Excel でデータを起こせば済むし、簡単。

自走模型の制御実験3回目

模型制御だが、9V(006P),5V(レギュレータ後),3V(モータ用乾電池)を 間違えて回路が動かない例が多い。モータ制御ICが20Vまで電源を 選ばないので、壊れていないけど。 でも、もう一つの動かないネタは、単3乾電池×2。マンガン電池だと ちょっと動いたら、モータ制御IC内部の電圧ドロップで電圧不足。 モータも電流加えてるけど動かないから、電流消費が激しい…の 悪循環で、あっと言う間にモータを回せないみたい。 このため、乾電池は4個積みにしないとダメみたい。

この様なトラブルもあるなか、単3電池が新しかったチームは、 妙なモータトラブルに巻き込まれずに、動作確認が完了。 来週からも動くチームが出そうだけれども、 今回のチームは電圧不足もあるため、参考記録にしておこう。

青野・玉邑・山本

  • 時計周り 45.2秒
  • 反時計周り 53.0秒(後半は電池不足が原因)

最初の動作チームだけあって、こちらの準備も不完全。 このため、車体への基板や電池の取り付けが、 ガムテープといういい加減さ。

2分木を走査するアルゴリズムと演習

前半に2分木を扱うプログラムの例を示す。 単純リストをループ・再帰で書いたコードを示した後、 2分木のデータ合計、データ順表示のコードを示す。 次に、2分木にデータを追加する場合の処理を示す。 木へのデータ追加の際の問題点の説明は、次週に行う。

演習としては、 双方向リストもしくは2分木でデータの保存と処理 というテーマで行わせる。 双方向と2分木は自由に選択。 扱うデータは、(1)生年月日、(2)文字列、(3)身長と体重で出席番号で割り振り。 処理は、データの特徴が活かせるような処理を自分で考えて行うこととする。

コンピュータの発達の歴史

10月末なのに2回目の講義。工場見学旅行中の振り替えを木曜に検討するが、 学生さんの都合が悪そう。

プロセッサの発達の歴史

最初に機械系学生向けに、CPU,HDD,メモリといった言葉の説明を行ってから、 前回の説明に続き、パソコンの世界での8bitコンピュータから64bitコンピュータ までの歴史を説明する。特に 8bit→16bitでのIntelの上位互換性維持と、 286→386でのメモリ保護機能、 Pentiumでのスーパスカラによる並列化 Pen4→IA-64/Athlon64 での今後 を説明する。

OSの歴史

機械語→制御モニタ(→BASIC)→MS-DOS…といった OS の歴史を、 Windows系でのマルチユーザ/マルチタスクの変化, GUI の導入, Multics→unix→Linux, オープンソースの流れ, TRONによるリアルタイム性 などのトピックを説明する。

規定コース作り

ライントレース模型もそろそろ実地動作テストも始まりそうなので、 規定コース を作る。A4(PowerPoint資料)を、センターで A1 拡大印刷してもらう。 コースは、黒線部 5cm の瓢箪型とする。単純だと面白くないので、 コース一部はシケイン?となるように瓢箪を歪ませる。

構造体の演習と、アロー演算子

前半は演習室にて構造体を使ったプログラムの演習を行う。 (1)名前と誕生日(2)名前と電話番号(3)名前と身長体重 といったデータ構造を構造体配列に入力して、出力するだけ。

1/3程度の学生が完成したあたりで、次の講義内容として、 アロー演算子の説明を行う。前半で学生の書いたプログラムと 同じような短いプログラムを示し、入力関数・出力関数を作る。

void read( struct NameAge* p )
{
scanf( "%s %d" , (*p).name , &((*p).age) ) ;
}
↓
void read( struct NameAge* p )
{
scanf( "%s %d" , p->name , &(p->age) ) ;
}

これらのプログラムを見せた後、構造体を扱う関数を作れば、 データ構造を考える人と応用部を作る人に別れてプログラムを作れることを説明。 これが、 ブラックボックス化 FN 情報処理技術者試験を受けた学生の突っ込みを受け、ブラックボックス化を先に説明 /FN となることを説明し、構造体宣言が データ抽象 、構造体を扱う関数が、 手続き抽象 と呼ばれ、 オブジェクト指向 の入口であることを説明する。

小型模型制御実験2回目

専攻科実験で判明したプログラムの間違いを学生に説明し、実験を行う。 光センサーを使っているとやたら部品が熱を持っている。 回路図と照らし会わせると、LEDに流れ込む電流制限用の抵抗。 抵抗値を100→330Ωに増やす。おかげで光の量が減りセンサーの調整が 微妙になるが、H8 のレギュレータICへの負担も問題となるためやむおえない。

学生さんの反応は『難しい』を連発。 しかし基本形のプログラムの動作原理を説明しても、 「実験するときだけ判りやすいプログラムに書き換えよう」 という取り組みを行う学生が少ない。 この状況では、最後まで動くチームは少ないかもしれない。

台風23号被害、演習室雨漏り

現在、台風23号が福井の側を通過しているようだ。 夕方会議があったが、外では風が吹き荒れ、 内心「はよかえろう…」と思っていた。 必要なメールを書き終えて、帰ろうとした時、卒研学生が 「演習室雨漏りしてますよ!」 と報告してきた。

演習室雨漏り

演習室は、以前上のフロアで実験用の水のタンクが壊れ、 水洩れ被害をうけたことがあるので、4階をチェックするが、 大丈夫な様であった。演習室の雨漏りはエアコン付近だし、 エアコンのダクト付近が原因だろう。 ちなみに、パソコンのキーボードが水浸し。 水気をきっておくが、明日は使えるだろうか? パソコンを少し移動し、バケツを置いて帰る。

駐車場までも水浸し

駐車場に向かうが、学校内の道が一部水浸し。 車は大丈夫だけど、普通の靴を履いているので、 駐車場に入れない。諦めて靴を脱ぎ、靴下水浸しで車にたどりつく。はぁ…. そういえば、堀井さんの部屋の灯がついていたし、携帯で状況報告する。