ホーム » 2009 » 9月

月別アーカイブ: 9月 2009

2009年9月
« 8月   10月 »
 12345
6789101112
13141516171819
20212223242526
27282930  

最近の投稿(電子情報)

アーカイブ

カテゴリー

循環リストと双方向リスト

前期授業がどこまで進んでいたか、学生&自分が忘れているので、 単純リスト構造の復習から説明を行う。

リストによるQueue

リスト構造によるstackの実現方法の説明が終わっているので、 次にリストを用いた待ち行列Queueの説明を行う。 最初に、top,tail の2つのポインタを使う事例を説明し、 その後に、循環リストにすればポインタが1つにすることができることを説明する。 特に、この循環リストは、プロセスキューのようなループするデータを表現するのに 向いていることを紹介する。

毎年ながら、このネタの説明の時には、図を書き間違え、トッチらかった説明をしてしまう。反省。

双方向リスト

エディタのカーソル移動を例にしながら、次のデータ参照と同様に前方データ参照が 必要な事例として紹介する。 そして、このような時に使われるのが、双方向リスト。

struct BDList { // 双方向リストの宣言
int    data ;
struct BDList* prev ;  // 1つ前のデータへのポインタ
struct BDList* next ; // 次のデータへのポインタ
} ;
// 双方向リスト生成の補助関数
struct BDList* bdcons( struct BDList*p ,
int x , struct BDList* n ) {
struct BDList* ans ;
ans = (struct BDList*)malloc( sizeof( struct BDList ) ) ;
if ( ans != NULL ) {
ans->prev = p ;
ans->data = x ;
ans->next = n ;
}
return ans ;
}
void main() {
// リスト生成のサンプル
struct BDList* top ;
top = bdcons( NULL , 1 , NULL ) ;
top->next = bdcons( top , 2 , NULL ) ;
top->next->next = bdcons( top->next , 3 , NULL ) ;
// リスト順次参照のサンプル
struct BDList* p ;
for( p = top ; p != NULL ; p = p->next )
printf( "%d" , p->data ) ;
for( p = top->next->next ; p != NULL ; p = p->prev )
printf( "%d" , p->data ) ;
}
// 指定データの後ろに、データを挿入する処理
void bdinsert( struct BDList* p , int x ) {
struct BDList* n = bdcons( NULL , x , NULL ) ;
if ( n != NULL ) {
n->prev = p ;       // (1)
n->next = p->next ; // (2)
p->next->prev = p ; // (3)
p->next = n ;       // (4)
}
}

これらの説明の後、循環双方向リストを解説する。

Robot Watch の記事に歯みがきロボコンの記載

先日、個人的に子供を連れて富山ロボットフェスティバルに行ってきた。 そこで歯みがきロボコンの出展をしていたのであるが、 Impress の Robot Watch の記事のロボットフェスティバルの記事で、 歯みがきロボコンのネタも記載されていた。

『会場内で一際異彩を放っていたのが「歯みがきロボコン」の体験ブースだ。 これは福井県歯科医師会が主催しているロボコンで…』という説明にて 紹介されている。 ひとまず、全国的なRobot Watch にてほんの一部とはいえ、 紹介されてちょっとうれしいのであった….
# へへっ、画像処理のロボットも1枚だけ写真が掲載…

機械工業会自律ロボット講習会

さすが機械加工が、お得意の方々の製作途中の車体。 私達ではこういう加工ができない…

0909291950_240x320.jpg

JABEE受審説明会

本校は、5年前にJABEEを受審し認定され、 途中で中間審査を経て、 今年は再び新規審査となる。

そして、夏の間に審査書類を提出し、10/25,26,27の3日間には実地審査が行われる。 これに合わせて、受審にあたっての説明会が開催された。 JABEEの趣旨の再確認のあと、JABEE委員の方により本校の受審プログラムの、 前回受審時からの改善点とその内容の説明をうける。 以前、JABEE委員をしていたので準備の大変さを理解しているからこそ、 その大量の情報を必要最小限にまとめて説明され、 改めて現在のJABEE委員の先生に『ご苦労様』と言いたい。

2009-後期-時間割

2009年後期の時間割。画像ファイルにして携帯に送っておくと、いつでも確認できるので、作ったファイルだけど、保護者の方で知りたい人もいるだろうから、日記にも掲載しておく。

0909290925_318x340.GIF0909290925_320x339.GIF

ファイル名は「左から右に読む」とは限らない?!

学生さんと話していると、相変わらず何人かの人が、 「ウィルス対策ソフトは重いから使っていない」 ということを平気で言う人がいる。 これに記載されている方式[※]は、ある意味序の口なんだけど、 こういうテクニックがあることさえも知らないんだったら、 「自分はパソコンに詳しいから、ウィルスにはひっかかりませんよ!」 ということは、決して言ってはならない….

[※] : アラビア文字などを代表とする文字は、右から左に文字を書いていく。 こういう文字を正しく表示するための、 Right-to-Left Override という機能を使ったファイル名偽装のテクニックの紹介記事。

公開講座:初めての簡単プログラミング

簡単なプログラミングを、小学校・中学校の生徒さんにも体験してもらうための、 公開講座が電子情報工学科にて開催されます。

  対象定員: 小学5年生~中学2年生(保護者同伴可) 定員10名
  実施日時: 2009/10/10(Sat) 9:30~16:30
  受 講 料: 無料
   場 所 : 電子情報工学科棟

2009年9月27日(第131回)

  • 数学の部屋 第48回「数学選手権に参加して」 長水先生、MMM研究会のみなさん
    放送で出てくるMathLiveの様子、算額の写真はこちら
    math090927.mp3
  • 新コーナー ライブラボ第1回 「映画の虎」
    コバピーがカナザワ映画祭2009の模様を熱く語りました

緊急連絡システムの遅配&イメージ戦略

遅配についての説明

緊急連絡システムについて、小学校からの問い合わせに対応した。 内容は、『メールの発信から1時間ほどの遅配があったことについて保護者の方からの質問』 であった。

丁度、複数校が関係する学校行事の日程変更の連絡で、遅配の影響があったとの内容であった。 もともと、携帯電話での迷惑メール対策で携帯電話会社は、 大量のメールを送ってくるコンピュータを迷惑メールの発信者と疑うため、 一定時間内のメール送信数に制限があることを説明させて頂いた。

福井高専のイメージ戦略

ちょうど、この話と同じく、高専より「イメージアップ戦略」のために、 緊急連絡システムの末尾につけていた、『** supported by 福井高専』の文字を、 もう少し分かりやすくしようとの提案であった。 個人的には、めざといPR表示というのは性格的に合わないので、消したいところではあるが、 少子化で学校PRも重要な業務ということで、 『** 本システムは福井高専により運営されています』との表示に変更を行った。

技術相談:プログラムの日本語化

共同研究などでお世話になったことのある企業から、 技術相談としてとあるソフトウェアの日本語化について質問をうける。

よくできたソフトであれば、多言語化のための設定ファイルを書き加えるだけだろうが、 そうでなければ2byteコードなどの取り扱いが手間といった一般的な説明を行った。 実際に、そのソフトの体験版があったので、確認をすると、Delphi にて開発されている ようであった。どちらにしろ大変そう。

その際に協力できそうなアルバイトをできる学生さんについても質問されるが、 最近は Delphi のプログラマーは少ない。 しかし、確認すると1人だけ学生さんに経験者が…ということで、 その際は『バイト紹介します!!』