F-LECCS主催のティーチングポートフォリオ・ワークショップ に参加し、自らの教育活動について振り返った資料作成を してきました。

10ページぐらいの目標・理念・方法・成果を記載し、 そのエビデンスと共にまとめたものです。 書いてる時には、昇格のための自己推薦資料を作っている 気分でした。

最後にA4×1枚のカバーページに、内容をまとめワークショップ は修了です。3日間かけて作りましたが、もう少し修正を加え 最終稿を仕上げる予定です。

ということで、カバーページをあげておこう。

1703212220_1128x783.png
1703212220_1171x843.png

斉藤でぇ~すっ。

1703180819_1536x1535.jpg
1703171806_320x320.JPG

5EIのクラスについては、先週火曜よりインフルエンザに感染者が続出し、本日時点で10名となりました。 他の1名の欠席もインフルエンザの可能性ありということから、以下のように学級閉鎖となりました。

 対象学級:5EI
 閉鎖期間:1/17(火),1/18(水)
 補足:寮生についても、同期間は帰省すること

振り替えの授業などは、随時連絡をさせて頂きます。

今日、自分宛にマイクロソフトの名前を騙った怪しいメールが届いてる。

メールの流れる経路を確認すると、アメリカ→ルーマニア....を経由 している所から、不正アクセスを目的とした迷惑メールだろうな。

ということで、メールの中にある「今すぐ認証」のボタンなどは アクセスしないようにご注意ください。

今すぐ認証...のリンク先は、ロシア。ってことで、何処をどう考えても怪しいメール。

Webで検索すると、この数時間の間に同様の記事があがっているから、 かなり広範囲に送られているみたい。

1701120911_664x398.png

構造体と実体について

構造体と実体の違いや、Javaに慣れている学生さんに あらためて、データ構造のイメージを持って欲しいので、 以下のコードを示す。

struct Complex {
    double re ;
    double im ;
} ;
struct Complex2 {
    double* pre ;
    double* pim ;
} ;
void main() {
    // メモリ確保失敗のNULLチェックは省略
    struct Complex a ;
    struct Complex* p ;
    struct Complex2 b ;
    struct Complex2* q ;
    a.re = 1.2 ;
    a.im = 2.3 ;

    p = (struct Complex*)malloc( sizeof( struct Complex ) ) ;
    p->re = 1.2 ;
    p->im = 2.3 ;
    // in Java
    // p = new Complex ;
    // p.re = 1.2 ;
    // p.im = 2.3 ;

    b.pre = (double*)malloc( sizeof( double ) ) ;
    *(b.pre) = 1.2 ;
    b.pim = (double*)malloc( sizeof( double ) ) ;
    *(b.pim) = 2.3 ;

    q = (struct Comple2*)malloc( sizeof( struct Complex2 ) ) ;
    q->pre = (double*)malloc( sizeof( double ) ) ;
    *(q->pre) = 1.2 ;
    q->pim = (double*)malloc( sizeof( double ) ) ;
    *(q->pim) = 2.3 ;
}

上記プログラムのメモリの格納イメージ図を以下に示す。

課題

「卒業研究で扱うデータをER図で表現する」 実験系のテーマの人は、実験結果をデータベースに保存することを 想定してER図を作成すること。 どうしても、ER図で表現しづらいテーマの人は、身の回りのデータ をデータベースで扱うことをテーマにしてもいい。

内容

データベースを、トップダウンで設計した場合のER図、 ボトムアップで設計した場合のER図を作成すること。

提出物に記載すべき内容

  • トップダウンで設計する場合の、要求仕様に相当するもの
  • それから抽出した実体・関連・属性などの説明
  • そこから作成したER図
  • 正規形の条件を満たすために書き換えたER図の説明、および結果の図が正規形

の条件を満たしていることの確認

  • ボトムアップ設計する場合の、もともとのデータ(帳票)に相当するもの
  • その説明
  • レベル分けやグループ分けをして作成したER図
  • 正規形の条件を満たすために書き換えたER図の説明、および結果の図が正規形

の条件を満たしていることの確認

  • 2つのER図を見比べた場合の考察

JOINTフォーラム

1612111401_530x1280.jpg
1612041809_640x640.JPG
1612041809_640x480.JPG
1612041809_640x396.jpg

今日はテスト前で、構造体の全体的な説明も終わり、演習の時間。 以下のようなオブジェクト指向の考え方を取り入れた、 構造体ポインタ渡しのスタンダードなプログラムを示す。

#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 ;
}

2017年3月

      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

アーカイブ

Google

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。