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

後期中間試験 (2E 情報工学概論 )

N/A
N/A
Protected

Academic year: 2021

シェア "後期中間試験 (2E 情報工学概論 )"

Copied!
2
0
0

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

全文

(1)

後期中間試験 (2E 情報工学概論 )

2005

12

5

1 ソート

[

1]

以下の数列をバブルソートで昇順

(小さい順)

並び替えよ.比較した要素が分かるように,記 述すること.

2, 4, 1, 0, 3

[問 2]

以下の数列をクイックソートで昇順

(小さい順)

に並び替えよ.規準の値が分かるように記述す ること.

4, 5, 1, 3, 2, 6, 0

[問 3]

バブルソートで整数の数列を昇順ソートする 関数を作成せよ.その関数は,以下のとおりと する.

関数名は,BubbleSortとして,引数と戻 り値は無いものとする.すなわち関数のは じめは,

void BubbleSort(void)

と書く.

ソートする数列は配列

array

に格納されて おり,これはグローバル変数となっている.

配列

array

は,

int array[N]

と宣言され ている.そして,この

N

は#define N 10 となっている.この宣言と#defineは記述 の必要はない.

[

4]

バブルソートの計算量のオーダーを

O

記表で 示し ,その意味を述べよ.

2 サーチ

[問 1]

バイナリーサーチのアルゴ リズムを説明せよ.

[

2]

バ イナ リ ー サ ー チ の 計 算 量 の オ ーダ ー は

O(log

2

N )

となることを示せ.式の意味と計算

過程をきちんと記述すること.式のみではだめ である.

[問 3]

リスト

1

はリニアサーチのプログラムである.

それを番兵を使ったプログラムに直したものが,

リスト

2

である.これら関数の動作は,以下の 通りとなっている.

配列

a[0]〜a[num-1]

に整数が格納されて おり,xのある位置

(配列の添え字)

の番号 を返す.

配列の 中に 探索する整数

x

が 無い 場合 は,NOT FOUNDを返す.これは,#define

NOT FOUND (-1)

となっている.

この関数内での処理の前後では,配列

a

値は変化しない.もし,関数内の処理で変 えたならば,関数から出る時に戻さなくて はならない.

リスト

2

の適当な文を以 下の選択肢から選び,記号で答えよ.

の選択肢

(a) if(t==x)return num

(b) x=t

(c) x=a[num-1]

(d) a[num-1]=x

の選択肢

(a) n<num (b) a[n]==x

(c) a[n]!=x (d) a[n]<x

の選択肢

(a) a[num-1]=x (b) a[num-1]=t (c) a[num-1]=n (d) a[num-1]=a[n]

の選択肢

1

(2)

(a) return n (b) return n-1 (c) return x (d) return t

リスト

1:

リニアサーチ

i n t l i n e a r s e a r c h (i n t x ,i n t a ,i n t num) {

i n t n =0;

/∗ 配 列 の 範 囲 内 で 目 的 の 値 を 探 す ∗/ while( n<num&&a [ n ] ! = x )

n++;

i f( n<num) return n ; return NOT FOUND;

}

リスト

2:

番兵を使ったリニアサーチ

i n t s e a r c h (i n t x ,i n t a ,i n t num) {

i n t n=0 , t ; t=a [ num1 ] ;

;

while( )

n++;

;

i f( n<num1) return n ; i f( x==t )

;

return NOT FOUND;

}

3 リスト

[

1]

構造体を用いて整数のデータを格納するリスト を作る.その構造体を書け.ただし,この構造 体では,前と次のデータを表すポインターと整 数値を格納する.

4 C 言語プログラムテクニック

[問 1]

実行時にメモリーを割り当てる方法についての 問いである.以下のようにメモリーを確保した い.実現する

C

言語の文を書け.

確保したメモリーの先頭を表すポインター

(アドレ ス)

は,int *array;で宣言され たポインターに格納する.

変数

count

に格納されている整数値が,こ こで確保するメモリーで記憶できる整数の 数である.

[問 2]

前問で確保された メモリーの

3

番目の領域に

999

を代入を代入する文を書け.

[問 3]

ある構造体を示すポインター

newnode

がある.

その中のメンバー

data

に変数

buf

の値を代入 する文を書け.ただし ,data

buf

も整数型 の変数とする.

5 応用問題

[

1]

以下のアルゴ リズムで配列に格納されている整 数を整列する場合の要素同士の比較回数を表す 式を示せ.ただし ,配列は

a[i]

として,i 範囲は

1, 2, 3, · · · , N 1

とする.

1. a[0]〜a[N-1]

の中から最小の要素を探し 出し ,a[0]と交換する.

2. a[1]〜a[N-1]

の中から最小の要素を探し 出し ,a[1]と交換する.

3. a[2]〜a[N-1]

の中から最小の要素を探し 出し ,a[2]と交換する.

4.

同じことを

a[N-2]

まで繰り返す.

2

参照

関連したドキュメント

第一保全部 タービングループメンバー 1名 第一保全部 原子炉グループメンバー 1名 第一保全部 電気機器グループメンバー 1名

春学期入学式 4月1日、2日 履修指導 4月3日、4日 春学期授業開始 4月6日 春学期定期試験・中間試験 7月17日~30日 春学期追試験 8月4日、5日

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

試用期間 1週間 1ヶ月間 1回/週 10 分間. 使用場所 通常学級

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

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