ホーム » 2005 » 10月

月別アーカイブ: 10月 2005

2005年10月
« 9月   11月 »
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

最近の投稿(電子情報)

アーカイブ

カテゴリー

2分木の課題

2分木の構造にて、

  • 名前と生年月日
  • 名前と電話番号

のデータにて、入力し2分木を生成し、データ順で表示。 これに加え、以下の処理をできるようにする。

  • 同じ名前のデータを探す。
  • データを探す時の最悪の検索回数を求める。
  • 指定したデータを削除する。

自走模型

担当実験じゃないけど、昨年に引続き記録だけ。 昨年のコースの周回速度は、15秒。 車体正面の無駄な飾りが….
# でも、最初の完成グループの割に、飾りで遊ぶ余裕があるのか….
プログラム応用の授業で、ビットフィールドの処理の説明が良かったみたい。

2005-10-31-00.JPG

IT文化フェスティバル

2005-10-30-00.JPG 2005-10-30-01.JPG 2005-10-30-02.JPG

IT文化フェスティバルの準備

勝山の地場産業振興センターにて

2005-10-29-00.JPG

構造体のワードアライメントとビットフィールド

構造体の応用として、ワードアライメントの話とビットフィールドの話をする。

構造体のワードアライメント

struct A {
int  x ;
char n[ 5 ] ;
} ;
struct A array[ 100 ] ;
printf( "%d" , sizeof( array ) ) ;

この例が、900byte でなく 1200byte の場合もあるよ…ということで、 最近のコンピュータが、ワード単位でメモリをアクセスすることや、 ワード境界をまたがったメモリアクセスは、速度低下の可能性があることを説明。 メモリをパックして節約もできるという説明の時に『大量のメモリ使用がスワッピングを引き起こし速度低下の可能性がある』ことも説明する。

関連授業:計算機構成論、OS論

構造体のビットフィールド

struct YMD {
int  year ;
int  month ;
int  day ;
} ;

の構造体が、12byte メモリを消費することを説明し、メモリ節約のために int 型で表現したら、どうなるかを説明する。

/* int型で年月日を保存 */
/* 0000,0000,0000,YYYY,YYYY,YYYM,MMMD,DDDD */
int bday = (2005 ≪ 9) + (10 ≪ 5) + 28 ; /* 2005年10月28日 */
/* int型の年月日より抽出 */
int y = bday ≫ 9 ;           /* bitマスクをbit幅から作る  */
int m = (bday ≫ 5) & 0xF ;   /* (bday ≫ 5) & ((1U≪4)-1) */
int d = bday & 0x1F ;         /* bday & ((1U≪5)-1)        */
/* int型の年月日の月を2月に変更 ;
bday = (bday & 0xFFE1F) | (2 ≪ 5) ;
/* bday & ~(((1U≪4)-1) ≪ 5) | (2 ≪ 5) */

でも、説明していても、『年は何bitで表現できる?』の回答ができない学生もいる….

この面倒臭い式を説明した後、ビットフィールドの説明で閉める。

struct YMD {
unsigned int  year  : 11 ;
unsigned int  month :  4 ;
unsigned int  day   :  5 ;
} ;
struct YMD bday ;
/* 構造体への代入 */
bday.year = 2005 ; bday.month = 10 ; bday.day = 28 ;
/* 構造体の一部を修正 */
bday.month = 2 ;

国民文化祭、IT文化フェスティバルのデモ用

10/30(Sun)に勝山市の奥越地域地場産業振興センターにて開催される IT 文化フェスティバル にて 福井高専の電子情報工学科より、デモ展示 を行う予定。 そこで以前より個人オモチャ兼、卒研で自動制御の実験をしないかと もくろみ、購入していた飛行船のラジコンを初フライト。 (まだ人間が操縦するしかないのだが…)

2005-10-27-00.JPG

産業会館での IT フォーラムに展示していた、画像処理でおどる Huma とあわせて展示も行う。 他にも、他の先生の AIBO やら MindStorm やらのオモチャ系の デモで子供にコンピュータやロボットへの興味を喚起….!?

言語プロセッサ

先週までのコンピュータの歴史で、最後の『プログラム言語の歴史』は 詳しく話さず、今回の言語プロセッサの話題に切替える。

コンピュータの中でのプログラムの実行のネタとして、 機械語,アセンブラ、 RAM,ROM とは、 コンピュータの電源ONからブートローダ・BIOS・OS起動などの 説明をおこなう。 そのあと、コンパイラ方式,インタプリタ方式の説明を行う。 速度面での利点欠点、プログラム配布面での利点欠点を解説する。 特殊な事例として、バイトコードインタプリタやらエミュレータなども説明する。 このネタの中で、Java がネットワークの安全性やCPU非依存性で有利な点を 紹介する。

中央前列の2名さまは、すごく興味深げに話しを聞いてくれて、気持が良い。 やる気がでるね。その反動で、話の速度が上がりがちかも….

編入情報

就職情報

Google などで就職情報を探すが、新卒情報の殆んどは リクナビ にたどり着く。

動画を含めた画像処理の講義資料

動画を含めた画像処理の講義資料

中部大学の藤吉研究室 の画像処理の講義資料。 パワーポイント資料やプログラムソースもあり、 プレゼン資料も実例が交えてあって、解りやすい。
# 卒研のネタおよび自分の勉強のためにリンク。