slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
小林 学 PowerPoint Presentation
Download Presentation
小林 学

Loading in 2 Seconds...

play fullscreen
1 / 21

小林 学 - PowerPoint PPT Presentation


  • 99 Views
  • Uploaded on

湘南工科大学. 2011 年 11 月 1 日. 情報理論2 第4回. 小林 学. 〒251-8511  神奈川県藤沢市辻堂西海岸 1-1-25. Tel. 0466-30-0232( 直通 ). Fax. 0466-34-5932. kobayasi@info.shonan-it.ac.jp. Page 2. [ 前回の課題2 ]. (1) double 型の配列 x[5] を用意し,それぞれにキーボードから数字を入力する. (2) double 型の変数 sum を用意し, x[0] ~ x[4] の和を計算.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about '小林 学' - kimball


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

湘南工科大学

2011年11月1日

情報理論2 第4回

小林 学

〒251-8511 神奈川県藤沢市辻堂西海岸1-1-25

Tel. 0466-30-0232(直通)

Fax. 0466-34-5932

kobayasi@info.shonan-it.ac.jp

slide2

Page 2

[前回の課題2]

(1) double 型の配列 x[5] を用意し,それぞれにキーボードから数字を入力する.

(2) double 型の変数 sum を用意し,x[0]~x[4] の和を計算.

(3) double 型の変数 ave を用意し, x[0]~x[4] の平均を計算.

(4) double 型の変数 sig を用意し, x[0]~x[4] の分散を計算.

(5) sum,ave,sig をそれぞれ表示するプログラム作成

[参考] 入力が 4 1 5 7 3 のとき

sum = 4 + 1 + 5 + 7 + 3 = 20

ave = sum / 5 = 4

sig =( (4–ave)2+ (1–ave)2+ (5–ave)2+ (7–ave)2+ (3–ave)2 ) / 5

= 4

slide3

Page 3

[前回の課題2の解答例]

#include<stdio.h>

void main(void){

int i;

double x[5], sum, ave, sig;

printf("配列x:");

for(i=0;i<5;i++) scanf("%lf", &x[i]);

sum = 0;

for(i=0;i<5;i++) sum += x[i]; //和

ave = sum / 5; //平均

sig = 0;

for(i=0;i<5;i++) sig += (x[i]-ave)*(x[i]-ave);

sig = sig / 5;

printf("sum=%f, ave=%f, sig=%f\n", sum, ave, sig);

}}

slide4

Page 4

[前回の課題3]

  • 100項までのフィボナッチ数列を表示するプログラム作成
  • フィボナッチ数列とは以下のように続く数列
  • 0 1  1  2  3  5  8  13  21  34  55  89  144
  • (2) 100項までのフィボナッチ数列の和を表示するプログラム作成

[参考] フィボナッチ数列は,前の2項の和

 0 13 =  5 +   8

 1 21 =  8 +  13

 1 = 0 + 1 34 = 13 +  21

 2 = 1 + 1 55 = 21 +  34

 3 = 1 + 2 89 = 34 +  55

 5 = 2 + 3144 = 55 +  89

 8 = 3 + 5233 = 89 + 144

slide5

Page 5

[前回の課題3の実行例]

slide6

Page 6

[前回の課題3の解答例]

#include<stdio.h>

void main(void){

int i, fibo[41], sum=0;

fibo[0] = 0;

fibo[1] = 1;

for(i=2;i<=40;i++){

fibo[i] = fibo[i-1] + fibo[i-2];

sum += fibo[i];

printf("fibo[%d]=%d\n", i, fibo[i]);

}

printf("sum=%d", sum);

}

slide7

Page 7

[前回の課題1]

int DataNo=0; :データの数を表す int 型変数

int Data[5]; :データを格納する int 型配列

  • 上の定義に対して,以下の命令を実行したときの配列Data の内容と DataNo の変化,画面出力を示しなさい
  • Input(2) → Output → Input(4) → Input(7) → Output
  • (1)と同様に,以下の結果を示しなさい
  • Input(4) → Input(12) → Input(22) → Output → Output → Output
slide8

Page 8

[前回の課題1の解答] (1)

画面出力

[1]

[4]

Data

[0]

[3]

[2]

DataNo

0

Input(2)

1

Output

2

0

Input(4)

1

slide9

Page 9

画面出力

[1]

[4]

Data

[0]

[3]

[2]

DataNo

1

Input(7)

2

Output

7

1

slide10

Page 10

[前回の課題1の解答] (2)

画面出力

[1]

[4]

Data

[0]

[3]

[2]

DataNo

0

Input(4)

1

Input(12)

2

Input(22)

3

Output

22

2

slide11

Page 11

画面出力

[1]

[4]

Data

[0]

[3]

[2]

DataNo

2

Output

12

1

Output

4

0

slide12

Page 12

[前回の課題4]

スタック構造を実現するプログラムを作成しなさい

[実行例]

slide13

Page 13

[前回の課題4の解答]

#include<stdio.h>

void main(void){

int select, i, DataNo=0, Data[5], input;

while(1){

printf("\nInputならば0,Outputならば1を入力:");

scanf("%d",&select);

if(select==0){

printf("入力データ:");

scanf("%d",&input);

Data[DataNo] = input;

DataNo++;

}else{

DataNo--;

printf("出力:%d\n",Data[DataNo]);

}

printf("Data=");

for(i=0;i<DataNo;i++) printf(" %d",Data[i]);

}

}

slide14

Page 14

[例題1] 次のプログラムの変数の値をトレースしなさい

[解答]

#include<stdio.h>

void main(void){

int i, siki;

for(i=0;i<5;i++){

siki = 2*i;

printf("%d\n", siki);

}

}

画面出力

変数の値

i siki

  • 0 0
      • 2
  • 4
  • 6
  • 8
  • 0
      • 2
  • 4
  • 6
  • 8
slide15

Page 15

[課題1] 次のプログラムの変数の値をトレースしなさい

[解答]

#include<stdio.h>

void main(void){

int i, siki;

for(i=0;i<5;i++){

siki = 2*i+1;

printf("%d\n", siki);

}

}

画面出力

変数の値

i siki

  • 0
slide16

Page 16

[例題2] 次のプログラムの変数の値をトレースしなさい

[解答]

#include<stdio.h>

void main(void){

int i, siki, data[5];

for(i=0;i<5;i++){

data[i] = 3*i+1;

printf("%d\n", data[i]);

}

}

画面出力

変数の値

i data[i]

  • 0 1
      • 4
  • 7
  • 10
  • 13
  • 1
      • 4
  • 7
  • 10
  • 13
slide17

Page 17

[課題2] 次のプログラムの変数の値をトレースしなさい

[解答]

#include<stdio.h>

void main(void){

int i, siki, data[5];

for(i=0;i<5;i++){

data[i] = 2*i+2;

printf("%d\n", data[i]);

}

}

画面出力

変数の値

i data[i]

  • 0
slide18

Page 18

[例題3] 次のプログラムの変数の値をトレースしなさい

[解答]

#include<stdio.h>

void main(void){

int i, siki, data[5];

for(i=0;i<5;i++) data[i] = i+7;

for(i=0;i<3;i++){

siki = 2*i;

printf(“%d\n”, data[siki]);

}

}

画面出力

変数の値

i data[i] siki

  • 0 7
      • 8
  • 9
  • 10
  • 11
  • 0 0
  • 2
  • 4
  • 7
      • 9
  • 11

(注意)変更のない変数は書かなくてよい

slide19

Page 19

[課題3] 次のプログラムの変数の値をトレースしなさい

[解答]

#include<stdio.h>

void main(void){

int i, siki, data[5];

for(i=0;i<5;i++) data[i] = 3*i;

for(i=0;i<3;i++){

siki = i+2;

printf(“%d\n”, data[siki]);

}

}

画面出力

変数の値

i data[i] siki

  • 0
  • 0

(注意)変更のない変数は書かなくてよい

slide20

Page 20

[例題4] 次のプログラムの変数の値をトレースしなさい

[解答]

#include<stdio.h>

void main(void){

int i, data[5];

for(i=0;i<5;i++) data[i] = i+7;

for(i=0;i<4;i++){

data[i] = data[i+1];

printf(“%d\n”, data[i]);

}

}

画面出力

変数の値

i data[i]

  • 0 7
      • 8
  • 9
  • 10
  • 11
  • 0 8
  • 9
  • 10
  • 11
  • 8
      • 9
  • 10
  • 11

(注意)変更のない変数は書かなくてよい

slide21

Page 21

[課題4] 次のプログラムの変数の値をトレースしなさい

[解答]

#include<stdio.h>

void main(void){

int i, data[5];

for(i=0;i<5;i++) data[i] = 3*i;

for(i=0;i<3;i++){

data[i] = data[2*i];

printf(“%d\n”, data[i]);

}

}

画面出力

変数の値

i data[i]

  • 0
  • 0

(注意)変更のない変数は書かなくてよい