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

前期中間試験 (2E 情報処理応用 )

N/A
N/A
Protected

Academic year: 2021

シェア "前期中間試験 (2E 情報処理応用 )"

Copied!
3
0
0

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

全文

(1)

前期中間試験 (2E 情報処理応用 )

2007

6

13

1 プログラミング基礎

1.1

構造体とユーザー定義型

[問 1]

構造体の役割を述べよ.

[

2]

学生に関する情報を構造体を用いて管理したい.

次のような情報を持つ構造体を作る

(宣言)

を書け.

名前.英数字

31

文字以上格納できること.

身長.倍精度実数とすること.

体重.倍精度実数とすること.

[問 3] [問 1]で宣言した構造体の変数として, suzuki,

tanaka, ito

を定義する文を書け.

[問 4] [問 2]

の構造体変数

suzuki

に以下の情報を格 納する文を書け.

名前は,"Suzuki Hiroshi"である.

身長は,175.3[cm]である.

体重は,64.3[kg]である.

[問 5] [問 3]

で格納した情報をデ ィスプレ イに書き出 すための文を書け.

[

6] [問 1]

で宣言した構造体を使い,10000人分の 学生の情報を管理したい.構造体変数としてど のように定義するか?

1.2

ファイル処理

[問 1]

リスト

1

は,三角関数の値をファイルに書き 込むプログラムである.次のような条件の元,

に入る適当な文を書け.

ファイル への 出力は 角度

[deg]

sin x,

cos x

とし ,タブ区切りとする.

ファイル名は,”tri.dat”とする.

[問 2] [問 1]

のファイルからデータを読み出したい.

ファイルをオープンする命令を書け.ただし , ファイル型のポインター変数は

hoge

とする.

[問 3] [問 2]

の続きで,ファイルからデータを読み込 む命令

(1

行)を書け.読み込む変数は,勝手に 決めよ.

リスト

1:

三角関数の値をファイル出力するプログラム

#include <s t d i o . h>

#include <math . h>

i n t main (void) {

i n t deg ; double r a d ;

f o r( deg =0; deg<=360; deg++){ r a d=degM PI / 1 8 0 ;

}

return 0 ; }

ファイルの中のデータ

0 0.000000 1.000000 1 0.017452 0.999848 2 0.034899 0.999391 3 0.052336 0.998630 4 0.069756 0.997564

長いので途中省略

359 -0.017452 0.999848 360 -0.000000 1.000000

1

(2)

1.3

再帰関数

[

1]

リスト

2

は,再帰呼出しを使った階乗を計算す るプログラムである.階乗の漸化式は,

0! = 1

n! = n × (n 1)!

である.ただし ,n

1

以上の整数とする.

に入る適当な文を書け.

リスト

2:

階乗を計算するプログラム

#include <s t d i o . h>

i n t k a i j y o (i n t n ) ;

//======= メ イ ン 関 数 ======================

i n t main (void) {

i n t nx , r e s u l t ;

s c a n f ( ”%d” , &nx ) ; // 整 数 入 力

r e s u l t=k a i j y o ( nx ) ; // 関 数 呼 出 し

p r i n t f ( ”%d!=%d\n” , nx , r e s u l t ) ; // 計 算 結 果 表 示 return 0 ;

}

//======= 階 乗 を 計 算 す る 関 数(再 帰 呼 出し)=========

ここを記述する

実行結果

10

10!=3628800

1.4

さまざまな構造体とメモリー

[問 1]

リスト

3

には間違いがある.正しくせよ.

[問 2]

リスト

4

の実行結果を示せ.

[

3]

メモリーの領域について,以下の問に答えよ.

(ア)

プログラムの関数が格納される領域?

(イ)

グローバル変数や文字列定数が格納される 領域?

(ウ)

プログラム中の

malloc()

により確保され る領域?

(エ)

ローカル変数が格納される領域?

[問 4]

メモリーの確保と開放が次のような場合,対応

する変数

(a)〜(d)

の中から選べ.

(ア)

スタック領域にデ ータは格納され ,メモ リーの確保と開放は自動的に行われる.

(ア)

データ領域にデータは格納され,プログラ ム実行中,メモリーの確保も開放もされな い.

(ア)

ヒープ領域にデータは格納され,メモリー の確保と開放はプログラム中で指示する.

選択肢

³ (a)

静的変数やグローバル変数

(b) malloc()

により確保した変数

(c)

自動変数

(d)

レジスター変数

µ ´

リスト

3:

構造体へのポインターの例.

#include <s t d i o . h>

i n t main (void) {

typedef s t r u c t{ char c a p t a l [ 2 0 ] ; double p o p u l a t i o n ; }c o u n t r y ;

c o u n t r y j a p a n={” Tokyo ” , 1 . 2}; c o u n t r y home ;

home=&j a p a n ;

p r i n t f ( ” c a p t a l :% s\n” , home . c a p t a l ) ;

return 0 ; }

リスト

4:

関数へのポインターの例.

#include <s t d i o . h>

#include <math . h>

i n t main (void) {

double (COS) (double) ; COS=s i n ;

p r i n t f ( ”COS=%f\n” ,COS ( 0 ) ) ; return 0 ;

}

2

(3)

2 プログラム作成

2.1

数列

ある数列

S

nが次の漸化式で定義されている.

S

0

= 0

S

n

= n

2

+ S

n−1

これを計算するプログラムを作成せよ.プログラムの条件は,

以下の通り.

再帰呼出しを使うこと.

計算する

n

はキーボード から読み込むこと.

ところで,Snはどのような数列か?

2.2 2

進数への変換

ある

10

進数の正の整数を

2

進数に変換して表示するプログ ラムを作成せよ.プログラムの条件は,以下の通り.

再帰呼出しを使うこと.

計算する正の整数はキーボード から読み込むこと.

3

参照

関連したドキュメント

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

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

 実施にあたっては、損傷したHIC排気フィルタと類似する環境 ( ミスト+エアブロー ) ※1 にある 排気フィルタ

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

の会計処理に関する当面の取扱い 第1四半期連結会計期間より,「連結 財務諸表作成における在外子会社の会計

の会計処理に関する当面の取扱い 第1四半期連結会計期間より,「連結 財務諸表作成における在外子会社の会計

1,2 ※2   Cs  2.5×10 11   前処理フィルタ3  Cs  4.3×10 10   前処理フィルタ4  Sr  2.8×10 9  .