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
© Copyright 2024 ExpyDoc