湘南工科大学
This presentation is the property of its rightful owner.
Sponsored Links
1 / 13

湘南工科大学情報工学科 准教授 小林 学 PowerPoint PPT Presentation


  • 84 Views
  • Uploaded on
  • Presentation posted in: General

湘南工科大学. 2013 年 10 月 29 日. 情報理論2. 湘南工科大学情報工学科 准教授 小林 学. [ 前回の課題1 ]. Page 2. (1) double 型の変数 x, y を用意する. (2) x を -2 から 2 まで 0.1 刻みで次式を計算. (3) 各 x, y の値を画面に表示するプログラム作成. [ 実行例 ]. Page 3. [ 課題1解答例 ]. #include<stdio.h> void main(void){ double x, y;

Download Presentation

湘南工科大学情報工学科 准教授 小林 学

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


4100853

湘南工科大学

2013年10月29日

情報理論2

湘南工科大学情報工学科

准教授 小林 学


4100853

[前回の課題1]

Page 2

(1) double 型の変数 x, y を用意する.

(2) xを -2 から 2 まで 0.1 刻みで次式を計算.

(3) 各 x, y の値を画面に表示するプログラム作成

[実行例]


4100853

Page 3

[課題1解答例]

#include<stdio.h>

void main(void){

double x, y;

for(x=-2; x<=2; x=x+0.1){

y = 5*x*x*x + (2*x-3)*x + 4;

printf("%f,%f\n",x, y);

}

}

for(初期値; 繰り返し条件; 変数の更新 ){

文;

}


4100853

Page 4

[前回の課題2]

(1) double 型の配列 x[5]={2,4,6,8,10} を用意する.

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

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

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

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

[参考] 計算方法

sum = x[0] + x[1] + x[2] + x[3] + x[4]

ave = sum / 5

var =( (x[0]–ave)2+ (x[1]–ave)2+ (x[2]–ave)2

+ (x[3]–ave)2+ (x[4]–ave)2 )/5


4100853

Page 5

[課題2解答例]

#include<stdio.h>

void main(void){

int i;

double x[5]={2,4,6,8,10} , sum, ave, var;

sum = 0;

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

ave = sum / 5;

var = 0;

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

var /= 5;

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

}


4100853

Page 6

[前回の課題3]

40項までのフィボナッチ数列を表示するプログラム作成

フィボナッチ数列とは以下のように続く数列

0 1  1  2  3  5  8  13  21  34  55  89  144

[参考] フィボナッチ数列は,前の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


4100853

Page 7

[課題3解答例]

#include<stdio.h>

void main(void){

int i, fibo[41];

fibo[0] = 0;

fibo[1] = 1;

printf("fibo[0]=0\nfibo[1]=1\n");

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

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

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

}

}


4100853

Page 8

アルゴリズム:数を数える(カウント)

[1]

[4]

Data

[0]

[3]

[2]

実行結果

用意する変数:count(1の数を入れる)

初期値: count = 0


4100853

Page 9

アルゴリズム:数を数える(カウント)

i Data[i] count

初期値:

0

繰り返し:

0 10→1

101

2 01

311→2

412→3

if(Data[i]==1)

count++;


4100853

Page 10

[例題のプログラム]

#include<stdio.h>

void main(void){

int i, Data[5]={1, 0, 0, 1, 1};//データの初期化

int count;

count = 0;//カウントの初期化

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

if(Data[i]==1) count++;//Data[i]が1ならば

//countを1増やす

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

}

printf("Data中の1の数:%d\n",count);

}


4100853

Page 11

アルゴリズム:最大値・最小値

最大の位置

[1]

[4]

Data

[0]

[3]

[2]

void main(void){

int Data[5]={5, 3, 6, 8, 2};//配列Dataの初期化

実行結果

用意する変数:max(最大値の候補),

position(最大の位置の候補)

初期値: max= Data[0]

position= 0


4100853

アルゴリズム:最大値・最小値

Page 12

i Data[i] max position

初期値:

50

繰り返し:

(for文)

1350

2 662

3883

4283

if(Data[i]>max){

max = Data[i];

position = i;

}


4100853

Page 13

[例題のプログラム]

#include<stdio.h>

void main(void){

int i, Data[5]={5, 3, 6, 8, 2}, max, position;

max = Data[0];// maxの初期化

position = 0; // positionの初期化

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

if(Data[i]>max){// maxとpositionの更新

max = Data[i];

position = i;

}

printf("%d, %d, %d, %d\n", i, Data[i], max, position);

}

}


  • Login