基本情報技術者試験の過去問と解説
[TOP] [午前分野別] [午後分野別] [キーワード索引] [令和元年秋午前] [令和元年秋午後]

平成17年 春期 基本情報技術者 午後 問05
問05   プログラム設計に関する記述

プログラム設計に関する次の記述を読んで,設問1,2に答えよ。

ある大学では,既存システムから出力される授業の時間割ファイルを, 新システムの入力とするために,ファイル編集プログラムを作成することになった。

この大学の時間割では,同じ年次,曜日,時限に複数の科目が存在する場合がある。

既存システムで出力ファイルを作成した後に,時間割の変更が生じた場合, 担当者が出力ファイルを修正してから,編集プログラムに入力することも想定されている。 さらに,新システムでは,入力レコードの各項目の値の範囲及び順序の誤りを 検査する機能をもっていないので,これらの検査も編集プログラムの機能に含めることにした。

この大学の時間割の例,既存システムの出力ファイル,新システムの入力ファイル及び 編集プログラムの流れを次に示す。

  〔時間割の例〕

   図1 時間割の例

〔既存システムの出力ファイル〕

既存システムは,次の様式で,年次,曜日,時限,表示順をキーとして, 昇順に時間割ファイルのレコードを出力する。

年次:1〜4年次を,数字1〜4で表す。

曜日:日〜土の曜日を,数字1〜7で表す。

時限:1〜9時限(最大9時限まで)を,数字1〜9で表す。

表示順:同一年次の同一曜日,同一時限の科目の表示の順番を,1から始まる
連続した数字で表す。

科目名:“哲学”,“政治学”などを,文字列で記述する。

教員名:“井上紘司”,“小林慎一”などを,文字列で記述する。

レコード様式は,次のとおりである。

年次曜日時限表示順科目名教員名

〔新システムの入力ファイル〕

年次,曜日,時限,科目名,教員名は,それぞれ1レコードとして入力する。 ただし,既存システムの出力と同じ順番を維持する。

複数の科目を,同一年次の同一曜日,同一時限に指定する場合は,登録する順に, 科目名と教員名の組を連続して入力する。

年次,曜日,時限のレコードは,それぞれが変わるときにだけ入力する。

レコードの内容は,次に示す年次,曜日,時限,科目名,教員名のいずれかである。 年次,曜日,時限は,先頭の半角英字1文字と,それに続く半角数字1文字で指定する。 科目名と教員名は,全角の文字列で指定する。

年次:1〜4年次を,記号 G1 〜 G4 で表す。

曜日:日〜土の曜日を,記号 D1 〜 D7 で表す。

時限:1〜9時限(最大9時限まで)を,記号 T1 〜 T9 で表す。

科目名:“哲学”,“政治学”などを,文字列で記述する。

教員名:“井上紘司”,“小林慎一”などを,文字列で記述する。

既存システムの出力例の一部と対応する新システムへの入力を図2に示す。

       図2 各ファイルの内容の例

〔プログラムの流れ〕

   図3 編集プログラムの流れ

   図4 主処理の流れ

設問1 編集プログラムの振る舞いに関する次の記述中の に入れる正しい答えを,解答群の中から選べ。

既存システムの出力ファイルと,新システムへの入力ファイルの特徴から, 編集プログラムが出力するレコード件数は,正しい入力レコード1件に対し, 最小で , 最大で となる。

図1の時間割を既存システムが出力し,それをそのまま編集プログラムに入力した場合, 3年次の火曜日1時限の会計Uの入力レコードに対して,主処理中の処理1〜4のうち, 実行されるのは 及び処理4である。

a,b に関する解答群

ア 1    イ 2    ウ 3    エ 4    オ 5

カ 6

c に関する解答群

ア 処理 1            イ 処理 1,処理 2

ウ 処理 1,処理 2,処理 3    エ 処理 1,処理 3

オ 処理 2            カ 処理 2,処理 3

キ 処理 3

解答 a ←クリックすると正解が表示されます

解答 b ←クリックすると正解が表示されます

解答 c ←クリックすると正解が表示されます


設問2 図 3 及び図 4 中の各処理の内容に関する次の記述中の に入れる正しい答えを,解答群の中から選べ。

条件判定に用いる変数(NENJI,YOBI,JIGEN,HYOJIJUN)の新しい値の設定又は これらの変数の必要最小限の初期化は,主処理中の処理1〜4の中で行っている。

このうち処理3の は, である。 また,編集プログラムの最初に行う,初期値設定での必要十分な変数の初期化は, である。

主処理中の の部分の条件 X は, であり,判定 Y は, である。

d に関する解答群

ア JIGEN ← 0    イ JIGEN ← I_JIGEN

ウ NENJI ← 0    エ YOBI ← 0
   YOBI ← 0       JIGEN ← 0
   JIGEN ← 0

e に関する解答群

 ERROR ← 偽  イ ERROR ← 偽
            NENJI ← 0
            
 ERROR ← 偽  エ ERROR ← 偽
  NENJI ← 0     NENJI ← 0
  YOBI ← 0     YOBI ← 0
  JIGEN ← 0
            
 ERROR ← 偽
  NENJI ← 0
  YOBI ← 0
  JIGEN ← 0
  HYOJIJUN ← 0

f に関する解答群

ア HYOJIJUN−1:I_HYOJIJUN    イ HYOJIJUN−1:I_HYOJIJUN+1

ウ HYOJIJUN+1:I_HYOJIJUN    エ HYOJIJUN+1:I_HYOJIJUN−1

オ HYOJIJUN:I_HYOJIJUN

g に関する解答群

ア =    イ >    ウ <

エ ≠    オ ≦    カ ≧

解答 d ←クリックすると正解が表示されます

解答 e ←クリックすると正解が表示されます

解答 f ←クリックすると正解が表示されます

解答 g ←クリックすると正解が表示されます


[←前の問題] [次の問題→] [問題一覧表] [分野別] [基本情報技術者試験TOP ]