C構造体からC++クラスへ
授業3回目にて、電子情報以外の学生さんが受講を取りやめ、 受講者全員が電子情報学生となった。 基本的な部分の説明が不要となるため、細かい内容まで話すことができた。 最初に、前回授業で話すことができなかった、参照渡し(ポインタ渡し,値渡し)を説明した後、 C言語でオブジェクトっぽく書くスタイルを発展させながら、下記のようなC++における、 クラス宣言を説明する。
class Person { private: char name[ 20 ] ; int age ; public: Person( char s[] , int a ) { // コンストラクタ strcpy( name , s ) ; age = a ; } inline void print() const // inline 開いたサブルーチンにする { // const メンバ変数を書き換えないメソッド printf( "%s %d\n" , name , age ) ; } } ; void main() { Person saitoh( "T-Saitoh" , 46 ) , mitsuki( "Mitsuki" , 10 ) ; saitoh.print() ; mitsuki.print() ; }
例年は説明を省略しているけど、const メンバ関数宣言や、inline 宣言による説明を行う。
2010年5月2日(第162回)
ゴールデンウィーク真っ盛り!
- 金沢にいるただ君と生電話
- メールテーマ:皆さんのゴールデンウィーク
- 英語の囃子 第33回 吉田三先生、電子情報5年丸山さん
英語 で浦島太郎を読んでみよう
eng100502.mp3 - 高専の体育祭について
つつじ祭りのお知らせをしました。
今日は体育祭
昨日、雨で延期になった体育祭。朝一番の雨で開催が心配でしたが、 4年の皆さんは時間をかけて準備をした成果の発表でもあり、 無事に体育祭開催となり、一安心でした。
様々な競技と写真を撮っていまーす。 デコレと応援は動画もきちんと記録するぞ!!
デコレ
デコレも頑張っていたけど、残念ながら優秀賞などはとれませんでしたね。 審査員的には、高専だし『技術系ネタ』だと自然と評価が高くなる。 電子情報的には今年は「アバター」で「3D視差技術の違い」であれば、 専門ネタになって、評価が高かったと思いました。
応援演技
電子ブロック使ってみた
創造工学のネタで学生さんにシミュレータを作ってみようと提案してみたし、 せっかく買ったもんだし、一番簡単そうな回路図で動かしてみた。 『No.013:オーディオジェネレータ』で、アンテナ同調コイルを低周波トランスの代用とした、 RLC発信回路。
回路実験とシミュレータ作りの視点から
実際に動かしてみた感想は、バリコン(可変コンデンサ)を動かせば、 かなり広い周波数変化をするかと思ったけど、大きく周波数変化する部分もあるけど、 たいした周波数変化はしなかった。 シミュレータを作るとなると、意外に多用されている、この同調コイルの特性再現も重要な課題になるはず。
もう一つの感想は、回路図をブロックに置き換える際には、指導書の回路を配線する分には 簡単なんだけど、ちょっと特性を変化させるために抵抗追加と思っても、 ブロック配置も変わる。それにブロックの種類も限られているため、 T字型に配線されている抵抗ブロックの直通部分を配線に使うといった、 「電子ブロックの配線」のためのノウハウも重要となる。 このため、プロコン応募を目標に作るのであれば、 回路図を入力したら『EX-150』の部品の中から無理矢理ブロック配置を考えてくれる ツールも欲しいなぁ。
シミュレータを作るのなら
実際にシミュレータを作るという視点で、フリーの回路図エディタ・シミュレータの利便性を確認。 まず、Debian/Linux に含まれているツールということで確認すると、 GPL EDA 電子回路設計ソフトウェア回路図エディタ(geda-gschem)であれば、 SPICE用ネットリスト生成は簡単みたい(「gschemで回路図作成」)。 ひとまず、初めてだけど gschem をLinux上で動かしてみた。 初めてだと、該当部品をライブラリから探すだけでも一苦労ということがよく分かった。 慣れれば簡単なんだろうけど…
ちなみに、 gschemの吐き出したネットリストも見てみた。 配置された部品の座標間を、無損失伝送路(T)が大量に配置されている。 (Wikipediaの説明に無い文法も含まれてるなぁ…".END"行も出力されていないし、gschem専用文法だな…) EX-150専用エディタを作れば、回路図上の部品配置なんて関係ないので、 シンプルなネットリストを吐くことはできるだろう。
- gschemのネットリストから、SPICE用のネットリスト出力するには、gnetlist が必要みたい。
- 回路シミュレータは、Debian であれば、"Non-free"ではあるけどngspiceが、パッケージに含まれているみたい。
(( ひとまずDebianでこの辺のネタを試すのに必要なインストール作業 )) # aptitude install geda geda-gschem geda-gnetlist geda-symbols geda-utils ngspice gwave
創造工学演習・アイディア草稿
今日は、具体的なアイデアを検討することを目標に、 各グループ毎に情報交換1コマ(50分)の後、演習室にて関連情報調査2コマ(100分)の後、 実際のアイデア草稿提出資料作成の1コマ(50分)にて行った。 早くアイデアの出ている学生さんについては、草稿原稿をチェックなども行った。
アイデアといっても、初めての検討では「既存技術・アイデア」なネタがほとんどになってしまう。 このためプロコン審査員の視点でみれば「面白くない」で終わってしまう。 しかしながら、創造工学は実際に作成することも目標であり、既存だから「ボツ」アイデアと 言ってしまうだけでは、不十分。 このため、『演習指導者』の視点では、「新しいアイデア」・「技術力で作れるのはこのレベル」 とのジレンマに悩まされる。
ひとまず「プロコン応募資料作成」までは「実現可能性は別にした新しいアイデアを検討」という目標とし、 「創造工学後半」では「既存ネタでも本当に動くものを作ってみよう」という目標を示す。
レトロ系アイデア案
学生さんのアイデアといっても、なかなか新しいものは出にくいし、 アイデアの一例ということで、レトロ系のネタをいくつか示した。
案1:『Arduinoで、ベクタスキャン系ゲーム&ネットワーク対戦』
一昨年、H8 とXYモードのオシロスコープを使って、Pongを作ってみないか?との提案をして、 実際にチャレンジしてもらっている。(高専プロコンでは予選通過NG)。 現在では、Arduino を使えば同じようなものは、C言語ベースでもう少し簡単に作れそうだし、 Ethernetシールドを使って、ネットワーク対戦もできるレトロゲーム復刻版を提案してみた。 オシロスコープのXYモードのベクタースキャン表示ということで、 Pongに留まらず、StarWarsなんか作れたらもっと面白いんじゃ?と目的を膨らませてみた。
案2:『電子ブロックEX-150シミュレータ with SPICE』
先日ネタに掲載しているが、学研の大人の科学で復刻版が売られている電子ブロックEX-150の シミュレータを作ってみようというネタ。
# よく見れば、表示方式はベクタスキャン型ではないんだけどね…
# それにこの機能すべてはArduinoじゃ重すぎだろうな。
# TIEファイターもただのH表示に簡略化するしかないか…
変数の型と範囲・N進数
授業を進めるにあたって、昨年の講義録をみながら進度確認や話し忘れを確認するけど、 この数回の授業は、1コマまるっきり昨年と同じペース&内容というのが続いている。 講義録といっても、昨年の資料にきちんと書いてあるし、ペースもまるっきり同じだったり。 ということで、今日の講義についても、昨年度同時期資料へのリンクとする。 (手抜きじゃないぞ!!)
2010年4月25日(第161回)
- メールテーマ:ブラックサンダーにあうもの、教えてください。
- 英語の囃子 第32回 吉田三先生、電子情報5年丸山さん
英語で浦島太郎を読んでみよう
eng100425.mp3
- 山本君がブラックサンダーにあうものを試しました!
ごはん、わさび、豆腐、抹茶アイス
机の上には、ブラックサンダーと各種食べ物が・・・
創造工学演習・導入実験・数値計算
創造工学にてH8にセンサーなどを接続して信号処理をするなどのプログラムを作る場合、 ノイズ除去のための移動平均や、安定を判定するための微分、加速度センサーから位置を 求めるための積分という考え方は重要となってくる。
そこで、適当な信号の列に対して、上記の信号処理を加えるプログラムを作成せよ。 ただし入力値は、テキストファイルに1行1件で記録されているものとする。 参考資料として、実際の計算を表計算ソフトで行った結果を、示す。
学力到達度試験で優秀者2名
今年最初に3年を対象として行われた、全国高専学力到達度試験にて、 2名の学生が優秀な成績であったとのことで、学内表賞の 賞状と副賞(図書券)を配りました。優秀者は以下の2名。 3年末での試験といいながら学生さんにしてみれば、 メリットが少なくきちんと準備して受験していない人も多い中、 日頃の成果をきちんと出してくれたと思います。
- 4EI本山くん(数学・物理の2科目)
- 4EIツェンデくん(数学)
ループ型処理の時間見積もり
先週の単純サーチの処理時間に引き続き、 2分探索法の処理時間と、最大選択法の処理時間の式を示す。 この結果を踏まえ、処理時間の見積もりでは、Nが巨大化したときの最大項と、 その項から比例乗数を抜いた式を、オーダ記法と言うことを説明する。
今日の授業だけど、4年になった変化なのか、いい意味でのツッコミなどがぽんぽんと 出てきて、説明のリズム的にもすごく話しやすかった。 積極的に質問も出てくるし、どこが変わったんだろうか…. 楽しく話ができて、気持ちいい授業でした!!