• 検索結果がありません。

後期中間試験解答用紙 (1E 情報処理基礎 )

N/A
N/A
Protected

Academic year: 2021

シェア "後期中間試験解答用紙 (1E 情報処理基礎 )"

Copied!
4
0
0

読み込み中.... (全文を見る)

全文

(1)

後期中間試験解答用紙 (1E 情報処理基礎 )

電気情報工学科     学籍番号     氏名  

1 制御の流れ

[問1] 3

[リスト1] エ [リスト2] キ [リスト3] オ または ケ

2 関数と変数

2.1 関数と変数のスコープ

[問1] 7

問2の下の表に記述する.変数の種類は,GとL,Bで記述のこと.

G:グローバル変数 L:ローカル変数

B:ブロック内宣言の変数 [問2] 7

行 変数名 変数の種類 有効範囲

(G/L/B) 開始行 終了行

4 foo G 7 29

8 foo L 9 19

8 bar L 9 19

13 j B 14 16

22 a L 23 29

22 b L 23 29

24 i L 25 29

[問3] 3

 ブロック内宣言の変数ローカル変数グローバル変数

[問4] 3

3行目

[問5] 3

実引数:14行目のfooとbar 仮引数:22行目のaとb

1

(2)

[問6] 5

引数間で次の動作が行われる.

実引数のfooに格納されている値が,仮引数のaにコピーされる.

実引数のbarに格納されている値が,仮引数のbにコピーされる.

[問7] 2

i

[問8] 2

void

[問9] 5

111 112 113

2.2 記憶クラス

[問1] 1

[A] auto [B] static [C] staic [D] extern [E] register

[問2] 1

[a] ウ [b] ア [c] エ [d] オ [e] イ

[問3] 2

デフォルトである自動変数(auto)が使われる.

2

(3)

3 プログラム作成

3.1 関数の最大値を求める

20

#include <stdio.h>

#include <math.h>

double f(double x); //プロトタイプ宣言

//========================================================

// メイン関数

//========================================================

int main(void){

double x, dx, xmin, xmax, y;

double max_y, max_x;

int i, ncal;

//--- 計算条件設定 --- xmin = -10;

xmax = 10;

dx = 0.00001;

ncal = (xmax-xmin)/dx;

//--- 暫定最大値 --- max_x = xmin;

max_y = f(xmin);

//--- 最大値検索 --- for(i=1; i<=ncal; i++){

x = xmin + i*dx;

y = f(x);

if(max_y <= y){ //最大値が見つかった場合 max_x = x;

max_y = y;

} }

printf("%fのとき,最大%fとなる.\n",max_x, max_y);

return 0;

}

//============================================================

// ユーザー定義関数

//============================================================

double f(double x){

double y;

y = -5*x*x - 6*x + 10 - sin(x); // 関数の計算 return y;

}

3

(4)

3.2 三角形の面積と周長

20

#include <stdio.h>

#include <math.h>

void info_tri(double a, double b, double c); // プロトタイプ宣言

double S, total_len; // グローバル変数

//===========================================================

// メイン関数

//===========================================================

int main(void) {

double hen1, hen2, hen3;

printf("辺1の長さ?\t");

scanf("%lf",&hen1);

printf("辺2の長さ?\t");

scanf("%lf",&hen2);

printf("辺3の長さ?\t");

scanf("%lf",&hen3);

info_tri(hen1, hen2, hen3);

if(S < -990){

printf("入力した辺では,三角形はできません!!!!!\n");

}else{

printf("面積は,%fです.\n", S);

printf("周長は,%fです.\n", total_len);

}

return 0;

}

//===========================================================

// ユーザー定義関数

//===========================================================

void info_tri(double a, double b, double c) {

double s, test;

s=(a+b+c)/2;

test=s*(s-a)*(s-b)*(s-c);

if(test<=0){

S = -999.0;

}else{

S = sqrt(test);

total_len = a+b+c;

} }

4 応用問題

[問1] 1

120 [問2] 1

0 1 2 3

4

参照

関連したドキュメント