PowerPoint プレゼンテーション

2011年10月25日
湘南工科大学
情報理論2
第3回
小林 学
〒251-8511 神奈川県藤沢市辻堂西海岸1-1-25
Tel.
0466-30-0232(直通)
Fax.
0466-34-5932
[email protected]
データ構造1:スタック
int DataNo=0;
int Data[5];
Data [0]
[1]
Page 2
:データの数を表す int 型変数
:データを格納する int 型配列
[2]
[3]
[4] DataNo 画面出力
0
Input(5)
1
5
Input(13)
5
2
13
Output
5
1
13
データ構造1:スタック
Data [0]
5
[1]
[2]
Page 3
[3]
[4] DataNo 画面出力
1
Input(9)
5
2
9
Input(22)
5
9
3
22
Output
5
9
2
22
1
9
Output
5
Page 4
[今回の課題1]
int DataNo=0;
int Data[5];
:データの数を表す int 型変数
:データを格納する int 型配列
(1) 上の定義に対して,以下の命令を実行したときの配列Data
の内容と DataNo の変化,画面出力をメモ帳に記述しなさい
Input(2) → Output → Input(4) → Input(7) →
Output
(2) (1)と同様に,以下の結果をメモ帳に記述しなさい
Input(4) → Input(12) → Input(22) → Output →
Output → Output
Page 5
[前回の課題1]
(1) double 型の変数 x を用意し,キーボードから数字を入力する.
(2) double 型の変数 y を用意し,次式を計算.
3
y  5 x  (2 x  3) x  4
(3) 結果の y を表示するプログラム作成
(4) (1)~(3)を 4 回繰り返すプログラム作成
[参考]
double x;
scanf(“%lf”, &x);
printf(“%f”, x);
double 型変数の定義
double 型変数の入力
double 型変数の表示
[前回の課題1実行例]
Page 6
[前回の課題1解答]
#include<stdio.h>
void main(void){
int i;
double x, y;
}
for(i=0 ; i<4 ; i++){
printf("x=");
scanf("%lf", &x);
y = 5*x*x*x+(2*x-3)*x+4;
printf("y=%f\n\n", y);
}
Page 7
[今回の課題2]
Page 8
(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
[今回の課題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 を求めるプログラムを作成しなさい)
}
Page 9
Page 10
[今回の課題3]
(1) 100項までのフィボナッチ数列を表示するプログラム作成
フィボナッチ数列とは以下のように続く数列
0 1 1 2 3 5 8 13 21 34 55 89 144
(2) 100項までのフィボナッチ数列の和を表示するプログラム作成
[参考] フィボナッチ数列は,前の2項の和
0
13 = 5
1
21 = 8
1 = 0 + 1
34 = 13
2 = 1 + 1
55 = 21
3 = 1 + 2
89 = 34
5 = 2 + 3
144 = 55
8 = 3 + 5
233 = 89
+
8
+ 13
+ 21
+ 34
+ 55
+ 89
+ 144
[今回の課題3の実行例]
Page 11
[今回の課題4]
スタック構造を実現するプログラムを作成しなさい
[実行例]
Page 12