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

学年末試験解答用紙 (2E 情報工学概論 )

N/A
N/A
Protected

Academic year: 2021

シェア "学年末試験解答用紙 (2E 情報工学概論 )"

Copied!
4
0
0

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

全文

(1)

学年末試験解答用紙 (2E 情報工学概論)

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

1 スタックとキュー

[問1] 5

First In First Out(FIFO)

と表現されるデータ構造である.このデータ構造では,最後に入れたデータを一番最初に取り出す.関

数呼び出しのときのデータの保存が代表的な使用例である.関数を呼び出すとき,呼出元のデータをスタックを使って保存するこ とが多い.

[問2] 10

スタックデータ構造の変化は以下の通り.点線で囲まれた部分はデータの移動を表し,実践で囲まれた部分がスタックのデータの 内容を表す.

3 3

5

3 3 3

2 2

1

3 2

3 3

3 1

5

5 2

1

1

2 1

[問3] 5

キューとは,

Last In First Out(LIFO)

と表現されるデータ構造である.最初に入れたものを最初に取り出す.プ リンターの出力 処理などに使われている.

[問4] 10

キューのデータ構造の変化は以下の通り.点線で囲まれた部分はデータの移動を表し,実践で囲まれた部分がスタックのデータの 内容を表す.

6 6

2 2

6 2

6

7 7

2 7

2

3 3

7 3

1

7

1 1 3

7

1

(2)

2 再帰呼び出し

[問1] 10

漸化式を使って,以下のように

F2, F3, F4, F5

と順番に計算する.

F2=F1+F0= 0 + 1 = 1 F3=F2+F1= 1 + 1 = 2 F4=F3+F2= 2 + 1 = 3 F5=F4+F3= 3 + 2 = 5

したがって,

F5

の値は

5

である.

[問2] 8

(

)

[問3] 5

int kaijyo(int a){

if(a==0){

return 1;

}else{

return a*kaijyo(a-1);

} }

3 ツリー構造

[問1] 10

28

15 32

61 65

51 73

45 43

17 70

2

(3)

[問2] 5

以下のツリー構造にデータを追加すること.

28

13 40

5 68

8 31

35

78

65 89

93 58

99 91 54

52

20

25 62

46 82

38 80

[問3] 5

以下,ど ちらでも正解

30 15

10 70

33

77

64 90

93 57

24 80

42

30

15 42

10 33 70

77

64 90

24 80 93

57

[問4] 5

\vspace{20mm}

typedef struct _tag_tree_node {

int value;

struct _tag_tree_node *left;

struct _tag_tree_node *right;

}tree_node;

3

(4)

4 浮動小数点型と数値計算

[問1] 9

実数型の演算で生じる

3

つの誤差は以下の通り.

丸め誤差

情報落ち

打ちきり誤差

[問2] 10

二分法は,

f(x) = 0

となる方程式の解

x

を求める方法である.それは,閉区間

[a, b]

で連続な関数

f(x)

の値が,

f(a)f(b)<0

ならば,

f(α) = 0

となる

α

が区間

[a, b]

にある

という原理を使っている.これは,中間値の定理から保証される.

コンピューターを用いた二分法の計算では,

f(a)f(b)<0

であるような

2

a, b(a < b)

から出発する.そして,区間

[a, b]

2

分する点

c= (a+b)/2

に対して,

f(c)

の計算を行う.

f(c)f(a)<0

ならば

b

c

と置き換え,

f(c)f(a)>0

ならば

a

c

と置き 換える.絶えず,区間

[a, b]

の間に解があるようにする.この操作を繰り返して,区間の幅

|b−a|

が与えられた値

ε

よりも小さく なったならば,計算を終了する.

最終的に得られた

a

または

b

,あるいは

c= (a+b)/2

は,真の解

α

に十分近い値となる.これらの誤差は,

ε

程度である.

5 応用問題

[問1] 3

#include <stdio.h>

/*=====================================================*/

/*

ハノイの塔の移動を示す関数

*/

/*=====================================================*/

void move(int n, char from, char work, char to){

if(n==1){

printf("%c -> %c\n", from, to);

}else{

move(n-1, from, to, work);

printf("%c -> %c\n", from, to);

move(n-1,work, from, to);

} }

/*=====================================================*/

/*

メイン関数

*/

/*=====================================================*/

int main(void){

int n;

printf("

ハノイの塔の円盤の枚数を入力してください

\n");

scanf("%d",&n);

move(n, ’A’, ’B’, ’C’);

return 0;

}

4

参照

関連したドキュメント

物質工学課程 ⚕名 電気電子応用工学課程 ⚓名 情報工学課程 ⚕名 知能・機械工学課程

<第2次> 2022年 2月 8 日(火)~ 2月 15日(火)

を体現する世界市民の育成」の下、国連・国際機関職員、外交官、国際 NGO 職員等、

氏名..

⚙.大雪、地震、津波、台風、洪水等の自然災害、火災、停電、新型インフルエンザを含む感染症、その他

*⚓ TOEFL Ⓡ テストまたは IELTS を必ず受験し、TOEFL iBT Ⓡ テスト68点以上または IELTS 5.5以上必要。. *⚔ TOEFL iBT Ⓡ テスト79点以上または

ケンブリッジ英語検定 実用英語技能検定 GTEC IELTS TEAP TEAP CBT TOEFL iBT TOEIC L&amp;R / TOEIC S&amp;W ※⚒. First 以上 または Cambridge