ホーム » 2011 » 10月 (ページ 2)

月別アーカイブ: 10月 2011

2011年10月
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

最新の投稿(電子情報)

アーカイブ

カテゴリー

電子情報工学科キャンパスリサーチ

今年は高専祭の2日目に、キャンパスリサーチということで、中学校の生徒さんに 高専での実験を体験してもらっています。 Arduinoを使い、LEDの点滅や光センサーを使い、ハードとプログラミングの体験をしてもらっています。

1110151221_960x720.JPG

高専祭、5EI鉄板

1110141215_960x640.JPG

2分木の演習

2分木の説明を終え、今日は演習。 名前と年齢といった複数項目からなるデータを、2分木により処理するプログラムを作成する。 データの登録・検索・表示などの処理ができること。

検索では、2分木の右枝・左枝に分岐するためのキーとなるもので検索する処理に加え、 理解度に自信のある人は、非キーでも検索する機能を実装してほしい。 (例えば、名前と年齢の2分木で枝の左右を名前で行う場合、指定年齢のデータを表示する機能なども実装する)

関係データベースの基礎

関係データベースの基礎として、SQLの導入について説明を行う。

SQLの導入

SQLの導入として、データ定義言語,データ操作言語,データ制御言語の説明。

データ定義言語
CREATE TABLE

CREATE TABLE テーブル名(
要素1  型 ,
要素2  型 ,
) ;

型としては、integer,float,char/varchar/text,datetime などを紹介する。 ただし、型などの具体的な名称は、データベースにより微妙に違う場合がある。

DROP TABLE

DROP TABLE テーブル ;
データ操作言語
INSERT

INSERT INTO テーブル(要素1,要素2,...) VALUES(値1,値2,...) ;

UPDATE

UPDATE テーブル SET 要素=値 WHERE ...

DELETE

DELETE FROM テーブル WHERE ...

SELECT

SELECT 要素 FROM テーブル WHERE ...
データ制御言語
GRANT , REVOKE など

関係データベースの数学的基礎

関係データベースは、1970年頃のコッド博士(IBM)の論文から始まる。

A,Bを集合(set)としたとき、A×Bは直積(Cartesian product)とよばれ、A×B={(x,y)|x∈A,y∈B}となる。 この直積の部分集合を関係R(A,B)と呼ぶ。 (x,y)の組は、取り扱う集合の種類によってN項組(タプル)とかレコードと呼ばれる。 実際の取りうる値を定義域(Domain)と呼ぶ。

2011年10月9日(第237回)

誠市、ご縁市開催中でした!

  • ご縁市でのサイエンス同好会発表について
    サイエンス同好会顧問 加藤先生、五味先生
  • 高専祭のお知らせ

photo11100901.jpg

photo11100902.jpg
サイエンス同好会の学生さんが実験をしていました。

CEATECの見学(幕張メッセ)

幕張メッセで開催されているCEATECを見学してきました。

元職場のブースはちょいと見学。 自分が居た頃とは製品が変わりすぎだな…

1110081652_1024x768.jpg

小惑星探査衛星はやぶさのイオンエンジン、思ったより小さい。

1110081652-1_1024x768.jpg

「1位じゃなくても…」と言われながら「1位となったスパコン京」。 すごいマシンと思っていたけど、Sparc(64bit)だったんだ。 まあ実績のあるマシンで組むのは原則か…

1110081652-2_1024x768.jpg

CEATEC見学中

災害とSNSの組み合わせ面白そう

1110071323_960x640.JPG

スティーブ・ジョブズ追悼として…

Apple社前CEOのスティーブ・ジョブズ氏が無くなったそうな。 情報構造論の前に、ネタ的に彼の逸話やApple社の変遷を少し話してみた。 でも、追悼とするならば、有名な以下の動画がいいだろう。
スタンフォード大学卒業式辞(日本語字幕版)

構造体の関数との受け渡し

週末の授業が都合が悪く、高久先生と交代で金曜と近い状態での構造体2回目。

前回の授業で、構造体の関数との受け渡しとして、ポインタ渡しとアロー演算子を 説明したけれど、ポインタ渡しに関連する概念をもう一度説明。

  • C言語で一般的な値渡し(call by value)
  • 大域変数渡し(競合が発生しやすいので極力使わない方がいい)
  • 関数の返り値(1つしか値を返せない)
  • 配列の参照渡し(配列名は先頭のポインタと同じなので本当はポインタ渡し)
  • ポインタ渡し(指定したポインタの先に書きこんでもらう)

これに加え、前回授業で説明の抜けた構造体の初期化を紹介。 次に、2年で基本は習っているはずなので早々に演習として、 「前課題でのファイル入出力で、そのデータを構造体で記述すること」 として演習をしようと思ったけど、講義入れ替えなので演習室が使えない…

仕方が無いので補足説明として、 struct …{ } の後の";"忘れが多いのでその注意や、構造体宣言もスコープがあるため、 関数内でstruct…を宣言すると、自分の関数との受け渡しがかけない。 だから、構造体宣言はプログラムの最初で…といった説明を行う。

早く講義を終えた後、プログラムの好きな学生が typedef について聞いてきた。 typedef struct… では、struct…での構造体変数の宣言部の部分に、新しくつける名前を 記載することを説明。ただし、C++ では、タグ名がそのまま型名として利用できるため、 typedef struct … という使い方は、めったにすることがなくなったことを説明。

typedef struct PersonTag {
char name[ 20 ] ;
int  age ;
} Person ;
void main() {
Person saitoh ;
strcpy( saitoh.name , "t-saitoh" ) ;
saitoh.age = 46 ;
}

タイからの短期留学生受け入れ

タイからの短期留学生として、電子情報工学科で プラウさんとナッツさんの2名を1月間受入れる こととなりました。

今日は最初にチュータとなる5EIの学生さんとの 面談でした。

1110041715_320x240.jpg