ホーム » スタッフ (ページ 105)
「スタッフ」カテゴリーアーカイブ
2016年12月18日(第506回)
- 今年の漢字について
- ジャズバー歴史 64杯目 「美のあり方」
- クリスマスに欲しいプレゼントは?
- 初雪の話
- 冬休みの予定
担当:木下(3EI、MC)、植村(2E、MIX)、川﨑(3EI)、佐々木(F4)
データベースの課題ER図の作成
課題
「卒業研究で扱うデータをER図で表現する」 実験系のテーマの人は、実験結果をデータベースに保存することを 想定してER図を作成すること。 どうしても、ER図で表現しづらいテーマの人は、身の回りのデータ をデータベースで扱うことをテーマにしてもいい。
内容
データベースを、トップダウンで設計した場合のER図、 ボトムアップで設計した場合のER図を作成すること。
提出物に記載すべき内容
- トップダウンで設計する場合の、要求仕様に相当するもの
- それから抽出した実体・関連・属性などの説明
- そこから作成したER図
- 正規形の条件を満たすために書き換えたER図の説明、および結果の図が正規形
の条件を満たしていることの確認
- ボトムアップ設計する場合の、もともとのデータ(帳票)に相当するもの
- その説明
- レベル分けやグループ分けをして作成したER図
- 正規形の条件を満たすために書き換えたER図の説明、および結果の図が正規形
の条件を満たしていることの確認
- 2つのER図を見比べた場合の考察
2016年12月11日(第505回)
- 高専カフェについて
- 卒業生の前田さんに質問しよう!
- まるよし Train Pops ~ 国語と遊ぼう! 第103便「学術用語」
ゲスト:卒業生 前田様
担当:田嶋(3C、MC)、植村(2E、MIX)、上野(F1)、越後(F5)
2016年12月4日(第504回)
- 今日は何の日
- 12月の話
- まるよし Train Pops ~ 国語と遊ぼう! 第102便「ウルトラマン」
担当:小藤(3B、MC)、西島(2EI、MIX)、西(教員)、中村(教員)
2016年11月27日(第503回)
高専ライブ500回記念月間の総仕上げ!!
教員による生放送でお送りしました。
- ジャズバー歴史の舞台裏
- 数学の部屋の思い出
- 英語の囃子の思い出 徳山からの長水先生、生電話
- 「まるトレ」からのお知らせ
- 12月9日の高専カフェでまるトレが再現
- 12月4日と11日の高専ライブで、まるトレ、復活!!
担当:吉田(英語科教員)、手嶋(社会科教員)、中村(国語科教員、MC)、西(電子情報工学科教員、MIX)
構造体を使ったプログラム例
今日はテスト前で、構造体の全体的な説明も終わり、演習の時間。 以下のようなオブジェクト指向の考え方を取り入れた、 構造体ポインタ渡しのスタンダードなプログラムを示す。
#include <stdio.h> #define SIZE 10 struct Person { char name[ 20 ] ; int age ; } ; int read_Person( struct Person* p ) { return scanf( "%s%d" , p->name , &(p->age) ) == 2 ; } void print_Person( struct Person* p ) { printf( "%s %d\n" , p->name , p->age ) ; } int main() { int i , size ; struct Person table[ SIZE ] ; // データの入力処理 for( i = 0 ; i < SIZE ; i++ ) { if ( !read_Person( &( table[i] ) ) ) break ; } size = i ; // データの出力処理 for( i = 0 ; i < size ; i++ ) print_Person( &( table[i] ) ) ; return 0 ; }
ファイル入出力にも慣れてもらおう
#include <stdio.h> #define SIZE 10 struct Person { char name[ 20 ] ; int age ; } ; int read_Person( struct Person* p , FILE* fp ) { return fscanf( fp , "%s%d" , p->name , &( p->age ) ) == 2 ; } void print_Person( struct Person* p , FILE* fp ) { fprintf( "%s %d\n" , p->name , p->age ) ; } int main() { int i , size ; struct Person table[ SIZE ] ; FILE* fp_in ; if ( (fp_in = fopen( "data.txt" , "rt" )) != NULL ) { for( i = 0 ; i < SIZE ; i++ ) if ( ! read_Person( &( table[i] ) , fp_in ) ) { size = i ; break ; } for( i = 0 ; i < size ; i++ ) print_Person( &( table[i] ) , stdout ) ; } return 0 ; }
オブジェクト指向っぽく
#include <stdio.h> #define SIZE 10 class Person { private: char name[ 20 ] ; int age ; public: int read() { return scanf( "%s%d" , name , &age ) == 2 ; } void print() { printf( "%s %d\n" , name , age ) ; } } ; int main() { int size ; Person table[ SIZE ] ; for( int i = 0 ; i < SIZE ; i++ ) if ( !table[i].read() ) { size = i ; break ; } for( int i = 0 ; i < size ; i++ ) table[i].print() ; return 0 ; }
2016年11月20日(第502回)
学生さんがテスト期間中につき、教員による収録でお送りしました。
- 新任教員紹介 一般科目教室物理科 挽野先生
- ジャズバー歴史 63杯目 「古鉄」
- 研修旅行の話
ゲスト:一般科目教室物理科 挽野先生
担当:亀山(機械工学科教員)、川上(電子情報工学科教員)、中村(国語科教員、MC)、西(電子情報工学科教員、MIX)
倍精度で精度が足りない…
他の先生の卒研の学生から、「C言語のプログラムを書いているけど、 精度が足りないのでどうしたらいいか?」 という質問をうける。
double 型で計算をしているようなので、 計算アルゴリズムの問題かもしれない。 積分計算なら、台形法じゃなく「シンプソンの公式」を使うとか、 微分方程式を解くのなら、「オイラー法」とか 「ルンゲクッタ法」を使うとか…。 でも、この辺は、私は自信がないので、 物理系のシミュレーションの卒研をしている先生の方が 詳しいので、計算方法アドバイスしてもらうべき…
もう一つの対応という点では、もっと精度の いい型を使う方法。整数型演算が絡む場合であれば、 bignum というライブラリで…という方法もあるけど、 今回は double 型の計算。
ということで、long double 型を説明する。
#include <stdio.h> #include <math.h> int main() { long double x = 3.14159265358979323846264338327950288L ; printf( "%Lf\n" , x ) ; return 0 ; }
3.14の後ろについている"L"が重要。 "l"でもいいけど、"1"と区別ができないので、大文字で書くべき。