前期中間試験 (5E 計算機応用 )
2005
年6
月16
日1 UNIX の使い方
1.1
ファイル複数のデ ィレクトリーが図
1
のようなツリー構造で管理さ れている。各デ ィレクトリーには、複数のファイルやデ ィレ クトリーが存在する。図中の∗
で示したD6
をカレントディレ クトリーとする。以下の設問に答えよ。[
問1]
矢印に示したデ ィレクトリーD4
内のファイルf1
を指定したい。それを、絶対パスで書け。[
問2]
前問のf1
を相対パスで書け。[問 3]
カレントデ ィレ クト リーを表示するコマンド「pwd」の結果を示せ。
[
問4]
親デ ィレクトリーを示せ。[問 5]
サブデ ィレクトリーを示せ。[問 6]
親ディレクトリーに移るときのコマンドを示せ。[
問7]
サブデ ィレクトリーに移る方法を示せ。[問 8]
ホームデ ィレクトリーに移るコマンド を示せ。[問 9]
ファイルとディレクトリーの違いについて、説 明せよ。
図
1:
デ ィレクトリーのツリー構造1.2
コマンド以下の作業を行う場合のコマンド を示せ。
[問 1]
カレントディレクトリーにあるファイルやディ レクトリーを表示する。[問 2] hoge
というサブデ ィレクトリーを作成する。[
問3] hoge.c
というファイルをfuga.c
という名前 で複製する。ただし 、カレントディレクトリー には、元々、fuga.cは無いもととする。[問 4] hoge.c
というファイルを削除する。[
問5]
ファイルhoge.c
の名前をfuga.c
に変更する。ただし 、カレントデ ィレクトリーには 、元々、
fuga.c
は無いもととする。2 C 言語の文法
2.1
基礎[
問1]
配列について簡潔に説明せよ。[問 2]
コメント文(注釈文)
の書き方を示せ。[問 3]
整数変数i
と倍精度実数変数x
を使うときの 変数宣言を書け。[問 4] 0〜1000
までの添字を持つ、倍精度実数型の配 列hoge
を使う場合の宣言を書け。2.2
制御文例題と解答例のように、問
1〜問 5
の条件のif
文を書け。[例題] a
が-30より大きいの場合、「end」と画面に書
き出す。[解等例]
1
if(-30 < a){
printf("end\n");
}
[問 1] a
の値が 、max以上の場合、maxの値をa
の値 にする1。[
問2] a
の値が、50
以上かつ100
以下の場合、a
の値 を75
にする。[
問3] a
の値が 、-50以下または50
以上の場合、a
の 値を999
にする。2.3
関数[
問1]
リスト1
のプログラムの実行した場合、ディス プレ イに表示される文を示せ。リスト
1:
関数に関する問題1
#include <s t d i o . h>
i n t a f u n c ( i n t a , i n t b ) ; i n t main ( void ) {
i n t i , j , k , m;
i =3;
j =4;
k = a f u n c ( i , j ) ; m = a f u n c ( 8 , 7 ) ;
p r i n t f ( ” k=%d\tm=%d\n” , k , m) ; return 0 ;
}
i n t a f u n c ( i n t a , i n t b ) { i n t x ;
x = a ∗ a + b ; return x ; }
[問 2]
リスト2
のプログラムの実行結果は、以下のよ うになった。 の内容を示せ。a =
アb =
イc =
ウd =
エe =
オf =
カ1
a
の値をmax
へ代入する。リスト
2:
関数に関する問題2
#include <s t d i o . h>
void aswap ( i n t a , i n t b ) ; void bswap ( i n t ∗ c , i n t ∗ d ) ; void cswap ( void ) ;
i n t e , f ;
/ ∗ −−−−−−−−−−−−−− main −−−−−−−−−−−−−−−−∗ / i n t main ( void ) {
i n t a , b , c , d ; a =1;
b=2;
c =3;
d=4;
e =5;
f =6;
aswap ( a , b ) ;
p r i n t f ( ” a = %d b = %d \ n” , a , b ) ; bswap(&c , &d ) ;
p r i n t f ( ” c = %d d = %d \ n” , c , d ) ; cswap ( ) ;
p r i n t f ( ” e = %d f = %d \ n” , e , f ) ; return 0 ;
}
/ ∗ −−−−−−−−−−−−−− a f u n c −−−−−−−−−−−−−−−−∗ / void aswap ( i n t a , i n t b ) {
i n t temp ; temp=a ; a=b ; b=a ; }
/ ∗ −−−−−−−−−−−−−− b f u n c −−−−−−−−−−−−−−−−∗ / void bswap ( i n t ∗ c , i n t ∗ d ) {
i n t temp ; temp= ∗ c ;
∗ c= ∗ d ;
∗ d=temp ; }
/ ∗ −−−−−−−−−−−−−− c f u n c −−−−−−−−−−−−−−−−∗ / void cswap ( void ) {
i n t temp ; temp=e ; e=f ; f=temp ; }
2
3 プログラム作成
3.1
基本1〜1000
までの和を計算し 、その結果を表示するプログラムを作成せよ。
3.2
素数1〜1000000
までの素数を書き出すプログラムを作成せよ。アルゴ リズムは、どのようなもでも良い。