東京理科大学 infoserv[更新日]2000.10.23


次の問3から問6までの4問については,この中から2問を選択し,
答案用紙の選択欄の をマークして 解答してください。
 なお,3問以上選択した場合には,はじめの2問について採点します。

問3  手続呼出しに関する次の説明を読んで,設問 1,2 に答えよ。

〔手続呼出しの説明〕

(1)

ある言語で書かれた原始プログラム 1(図 1 )と,原始プログラム 2(図 2 )がある。

仝胸魯廛蹈哀薀狠罎諒竸 S は, 整数型の大域変数である。整数型はキーワード Int で表す。

 キーワード External は外部参照を示す。 External Int S は整数型の大域変数 S への外部参照を,External Proc B は 手続 B への外部参照を示す。

 変数 X1 は,整数型の局所変数である。

 X1=100 は,変数 X1 に 100 を代入する。

 Call B(X1) は,変数 X1 を実引数として, 手続 B を呼び出す。引数は参照渡し(call by reference)である。

 Proc B(Int X2) 〜 End B は, 整数型の仮引数 X2 をもつ手続 B の範囲を示す。

(2) 原始プログラム 1,2 を,それぞれコンパイル後リンクし,実行ファイルを作成した。 コンパイラは,局所変数をスタック領域に割り当て,リンカは,プログラムコードをコード領域に, 大域変数をデータ領域に割り当てる。
(3) プログラムを実行したとき,αで示す場所から手続 B が呼び出される直前の スタックの内容は,図 3 のとおりである。 ここで,スタックは上位アドレス(番地の大きい方)から下位に向かって使用される。


図3 手続Bが呼び出される直前のスタックの内容

設問1 図 4 は,βで示す場所から手続 C が呼び出される直前のスタックの内容である。 図 4 中の に入れる正しい答えを,解答群の中から選べ。 ただし,アドレスは 1 語,整数型の変数も 1 語を使用するものとする。


図4 手続Cが呼び出される直前のスタックの内容

解答群

設問2 リンク時に外部参照が解決されるものを,解答群の中から三つ選べ。

解答群

ア 手続 A における手続 B の参照    イ 手続 A における変数 X1 の参照

ウ 手続 B における手続 C の参照    エ 手続 B における変数 S の参照

オ 手続 B における変数 X1 の参照    カ 手続 B における変数 X2 の参照

キ 手続 C における変数 S の参照


問4  次のプログラムの説明,擬似言語の記述形式の説明及びプログラムを読んで,設問に答えよ。

〔プログラムの説明〕

成績表ファイルを読んで,個人ごとの合計点を計算し,成績の良い順に印字する。 ただし,合計点が同じ場合は,国語の点の良い順に印字する。

(1) 成績表ファイルの様式は,次のとおりで,レコード数は 99 以下である。

氏名 国語 数学 英語

(2) 成績表の印字様式は,次のとおりである。

             成績表
   氏名       国語  数学  英語  合計   
   山田一郎     100   96   95   291
   鈴木千代子     96   91   100   287
   林幸之助      95   98   94   287
   佐藤昭夫      93   90   95   278
     ・       ・   ・   ・   ・
     ・       ・   ・   ・   ・
     ・       ・   ・   ・   ・

〔擬似言語の記述形式の説明〕

〔プログラム〕

設問   プログラム中の に入れる正しい答えを, 解答群の中から選べ。解答は,重複して選んでもよい。

a,b,e に関する解答群

ア (j−1)    イ (j+1)      ウ 1

エ 2        オ 99        カ 100

キ 101       ク (入力件数−1)  ケ 入力件数

コ (入力件数+1)

c,d に関する解答群

ア =    イ ≠    ウ >    エ <


問5  関係データベースに関する次の記述を読んで,設問 1,2 に答えよ。

顧客表,注文表,受注明細表及び商品表からなる関係データベースがある。

設問1 次のデータを得るための SQL 文を例のように考えたところ,数人の先輩から指摘があった。 指摘として適切な記述を解答群の中から選べ。

受注番号 顧客名 受注金額

例 SELECT 受注明細表.受注番号, 顧客名, SUM(注文数量*単価) 
   FROM 受注明細表, 顧客表, 商品表, 注文表
   WHERE 顧客表.顧客コード = 注文表.顧客コード 
     AND 受注明細表.商品番号 = 商品表.商品番号
     AND 受注明細表.受注番号 = 注文表.受注番号

解答群

ア 一つの SELECT 文で結合できる表は三つまでである。

イ 複数の表を結合した場合に SUM 関数を使って集計はできない。

ウ “GROUP BY 受注明細表.受注番号”を加える必要がある。

エ “GROUP BY 受注明細表.受注番号, 顧客名”を加える必要がある。

オ “ORDER BY 受注明細表.受注番号”を加える必要がある。

設問2 顧客コード A156 の顧客からの商品の注文について,その品種を調べたい。 次の記述中の に入れる正しい答えを, 解答群の中から選べ。

(1) 商品番号を抽出する次の SQL 文を実行した結果は,表 1 のとおりになった。

SELECT   商品番号 FROM 注文表, 受注明細表
   WHERE 顧客コード = 'A156' AND 注文表.受注番号 = 受注明細表.受注番号
品種を出力するために,更に商品表を結合した SQL 文 を実行したところ, 出力件数は であった。 SQL 文 を副問合せを使った SQL 文 に 変更して実行したところ,出力件数は であった。 ここで,商品番号と品種は表 2 に示すとおりである。

SQL 文

SELECT 品種 FROM 注文表, 受注明細表, 商品表
  WHERE 顧客コード = 'A156' AND 注文表.受注番号 = 受注明細表.受注番号
    AND 商品表.商品番号 = 受注明細表.商品番号
SQL 文 

  (SELECT 受注明細表.商品番号 FROM 受注明細表, 注文表
  WHERE 顧客コード = 'A156' AND 受注明細表.受注番号 = 注文表.受注番号)

(2) SQL 文 のαの位置に DISTINCT を 挿入したとき,出力件数は になった。

解答群

ア 4    イ 5    ウ 6    エ 7    オ    8カ 9    キ 10


問6  コンピュータネットワークのアクセス制御に関する次の記述を読んで,設問に答えよ。

 X 社では,社内及び関連会社との通信にネットワークを使用している。 X 社の LAN 構成を図に示す。 通信プロトコルは TCP/IP を用いており,図中の数字は,IP アドレスを表している。 この IP アドレスは,架空のものとする。

関連会社との接続に際して,セキュリティ上の配慮から,関門ルータを設置してある。 関門ルータは,ルータを通過するすべてのパケットの内容を検査し, 設定された条件に合わないものを破棄する機能をもつ。 関門ルータに設定する条件は,設定テーブルにあらかじめ登録しておく。


図 X 社の LAN 構成

 関門ルータ内の設定テーブルの例を表 1 に示す。 条件設定は,IP 層での識別番号である IP アドレスと,TCP 層での識別番号であるポート番号を 組み合わせて行う。 すなわち,設定テーブルの一つの行に IP アドレスとポート番号を指定すると, その IPアドレス及びポート番号に該当するパケットだけが関門ルータを通過することができる。 設定テーブルの IP アドレス欄に 0.0.0.0 又はポート番号欄に 0 を指定すると, その欄に関しては制限しないことを意味する。 また,“:”を挟んで範囲を指定したときには,その範囲内の IP アドレス又はポート番号の パケットを通過させることを意味する。 関門ルータを通過しようとするパケットの検査は,設定テーブルの最初の条件から順に 行われ,どの条件にも適合しないパケットは破棄される。

表1 関門ルータ内の設定テーブルの例(telnet 対応)

 

IP 層

TCP 層

送信元 IP アドレス あて先 IP アドレス 送信元ポート番号 あて先ポート番号
条件 1 100.1.1.1:100.1.1.5 0.0.0.0 0 23
条件 2 0.0.0.0 100.1.1.1:100.1.1.5 23 1026:65535

 表 1 の設定例では,社内から社外への仮想端末機能(telnet)サービスのパケット及び その返信である社外から社内への telnet サービスのパケットだけが通過できるように 設定している。 その結果,ネットワーク運用管理課の PC-NA 〜 PC-NE(IPアドレスは100.1.1.1〜100.1.1.5) から X 社外のサーバが提供している telnet サービス(ポート番号は23 で固定)が利用できる。 社外からのパケットは,ポート番号が 1026 以上のパケットだけを通すように設定している。

設問   X 社の関連会社である Y 社から,X 社の LAN に対する次の接続要請があった。
 Y 社の 2 台のパソコン(IP アドレスは 101.1.1.1 と 101.1.1.2)から, X 社のネットワーク運用管理課のデータ転送用サーバ(IP アドレスは 100.1.1.12)へ接続して, データ転送機能サービスを利用したい。

 この要請を満たすために,関門ルータの設定テーブルには,どのような条件を 指定すればよいか。次の設定テーブルの に 入れるべき値を解答群の中から選べ。 ここで,データ転送にあたって,X 社のサーバはポート番号 1024 と 1025 の二つを 同時に利用するものとする。解答は,重複して選んでもよい。

表2 関門ルータ内の設定テーブル(データ転送対応)

IP 層 TCP 層
送信元 IP アドレス あて先 IP アドレス 送信元ポート番号 あて先ポート番号
0
1026:65535

解答群

ア 0 イ 0.0.0.0 ウ 100.1.1.12
エ 100.1.1.12:101.1.1.1    オ 100.1.1.12:101.1.1.2     カ 101.1.1.1
キ 101.1.1.1:101.1.1.2    ク 1024             ケ 1024:1025
コ 1025


東京理科大学 infoserv 戻る 次頁:問07