2011年10月17日 湘南工科大学 情報理論2 第2回 小林 学 〒251-8511 神奈川県藤沢市辻堂西海岸1-1-25 Tel. 0466-30-0232(直通) Fax. 0466-34-5932 [email protected] [前回の課題2] Page 2 (1) int 型の変数 a と b を用意し,キーボードからそれぞれに数 字を入力するプログラム作成. (2) (1) の入力に対して,画面に a と b の和,差,積,商,余りを 表示するプログラム作成. [実行例] Page 3 [前回の課題2解答] #include<stdio.h> void main(void){ int a, b; printf("変数a->"); scanf("%d", &a); printf("変数b->"); scanf("%d", &b); } 整数型の変数 変数の前に & をつける printf(“和:%d\n差:%d\n積:%d\n", a+b, a-b, a*b); printf("商:%d 余り:%d\n", a/b, a%b); [前回の課題1] Page 4 (1) 画面に 1 から 10 を表示するプログラムを作成しなさい. (2) int 型の配列 a[10] を用意し,それぞれに 1 から 10 までの 数字を入れるプログラムを作成しなさい (3) (2) の内容を画面に表示するプログラムを追加しなさい. [実行例] Page 5 [前回の課題1] (1) #include<stdio.h> void main(void){ int i; } 制御変数 for(i=1 ; i<=10 ; i++) printf("%d \n", i); for(初期値 ; 繰り返し条件 ; 制御変数の更新 ) 文; 意味:一つの「文」の繰り返し (注:「文」とは,「;」までの命令のこと) Page 6 [前回の課題1] (1) #include<stdio.h> void main(void){ int i; } 制御変数 for(i=1 ; i<=10 ; i++){ printf("%d \n", i); } for(初期値 ; 繰り返し条件 ; 制御変数の更新 ){ 文; : 意味:複数の「文」を繰り返し 文; } Page 7 [前回の課題1解答] (3) #include<stdio.h> void main(void){ int i, a[10]; } 配列の定義 for(i=0 ; i<10 ; i++){ a[i] = i+1; printf("%d \n", a[i]); } int a[10]; a[0] ~ a[9] a[i] で 10 個の変数を一度に定義 それぞれが変数として使える i 個目の変数として使える [前回の課題1解答] (3) 問題のように表示 #include<stdio.h> void main(void){ int i, a[10]; } 配列の定義 for(i=0 ; i<10 ; i++){ a[i] = i+1; printf("a[%d] = %d \n", i, a[i]); } Page 8 [前回の課題3] Page 9 (1) int 型の配列 a[3] を用意し,キーボードからそれぞれに数 字を入力するプログラム作成. (2) int 型の配列 b[3] を用意し,キーボードからそれぞれに数 字を入力するプログラム作成. (3) ベクトル a とベクトル b の内積を計算するプログラム作成 [実行例] 内積の計算 = 1*4 + 2*5 + 3*6 Page 10 [前回の課題3解答] #include<stdio.h> void main(void){ int i, a[3], b[3], ans; printf("配列a->"); for(i=0;i<3;i++) scanf(“%d”,&a[i]); printf("配列b->"); for(i=0;i<3;i++) scanf("%d",&b[i]); 配列に値を入れる ans = 0; for(i=0;i<3;i++) ans += a[i]*b[i]; } printf("内積:%d\n",ans); ans = ans + a[i]*b[i]; と書いても同じ Page 11 [課題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 12 [課題2] Page 13 (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 をそれぞれ表示するプログラム作成 [参考] 入力が 1 2 3 4 5 のとき sum = 1 + 2 + 3 + 4 + 5 = 15 ave = sum / 5 = 3 sig =( (1–ave)2+ (2–ave)2+ (3–ave)2+ (4–ave)2+ (5–ave)2 ) / 5 =2 [課題2実行例] Page 14 Page 15 [課題3] (1) 40項までのフィボナッチ数列を表示するプログラム作成 フィボナッチ数列とは以下のように続く数列 0 1 1 2 3 5 8 13 21 34 55 89 144 (2) 40項までのフィボナッチ数列の和を表示するプログラム作成 [参考] フィボナッチ数列は,前の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 16 Page 17 【ウサギの問題】 生まれたばかりの1つがいのウサギは,2か月目から毎月1つがい のウサギを産むことにする。すべてのウサギがこの規則にしたがい, 死ぬことはないとするとき,1つがいのウサギは1年後に何つがい になっているだろうか。
© Copyright 2024 ExpyDoc