HOME»基本情報技術者平成25年春期問題»午後問10
基本情報技術者過去問題 平成25年春期 午後問10
⇄問題文と設問を画面2分割で開く⇱問題PDF問10 ソフトウェア開発(COBOL)
次のCOBOLプログラムの説明及びプログラムを読んで,設問1~3に答えよ。
〔プログラムの説明〕
1993年4月1日に創立したX社では,創立20周年の記念日である2013年4月1日に,勤続年数が0~20年の全ての従業員に特別給を支給することにした。特別給は,基本給に,表1に示す決定表によって導出される支給係数を掛け合わせて百円未満を切り捨てた金額であり,創立記念日に上司が現金の入った封筒を部下に手渡す。このプログラムは,従業員ファイルに格納されている従業員の情報を読み込み,各従業員への支給金額と,各金種の必要数を支給ファイルに出力する。ここで,金種は1万円紙幣,5千円紙幣,千円紙幣,5百円硬貨,百円硬貨の5種類とする。
〔プログラムの説明〕
1993年4月1日に創立したX社では,創立20周年の記念日である2013年4月1日に,勤続年数が0~20年の全ての従業員に特別給を支給することにした。特別給は,基本給に,表1に示す決定表によって導出される支給係数を掛け合わせて百円未満を切り捨てた金額であり,創立記念日に上司が現金の入った封筒を部下に手渡す。このプログラムは,従業員ファイルに格納されている従業員の情報を読み込み,各従業員への支給金額と,各金種の必要数を支給ファイルに出力する。ここで,金種は1万円紙幣,5千円紙幣,千円紙幣,5百円硬貨,百円硬貨の5種類とする。
- 従業員ファイルは,図1に示すレコード様式の順ファイルである。
- 役職には,一般職の場合は 0,管理職の場合は 1 を格納する。
- 入社日には,入社した年,月,日を,それぞれ4桁,2桁,2桁の西暦で格納する。表1に示す支給係数の決定表の条件1(勤続年数)は,入社日から2013年4月1日までの 経過年数とする。例えば,入社日が2012年4月1日の場合は1年であり,2012年4月2日の場合は0年である。
- 支給ファイルは,図2に示すレコード様式の順ファイルである。
- 支給金額には,基本給と支給係数から算出した支給金額を格納する。
- 金種別必要数には,それぞれの金種の必要数を格納する。ここで,必要数の合計が最少となるようにする。
設問1
プログラム中の に入れる正しい答えを,解答群の中から選べ。
a に関する解答群
- E-MMDD < 0401
- E-MMDD > 0401
- W-YEAR < 20
- W-YEAR ≧ 20
b,c に関する解答群
- ADD 1 TO CNT
- ADD CNT TO P-CUR(CNT)
- MOVE CUR-KIND(CNT) TO P-CUR(CNT)
- SUBTRACT CUR-KIND(CNT) FROM W-PAY
- SUBTRACT P-CUR(CNT) FROM W-PAY
解答選択欄
- a:
- b:
- c:
解答
- a=イ
- b=エ
- c=ア
解説
この設問の解説はまだありません。
設問2
プログラム中の,支給係数を求める EVALUATE 文について,正しく判定できることを確認するために,従業員ファイルのテストデータを作成した。全ての選択対象(WHEN 指定に書かれた作用対象を指す)について真を判定できる組合せを,解答群の中から選べ。ここで,解答群では見やすくするために項目の区切りに","を挿入しているが,実際のデータ中には存在しない。
解答群
- 000001,0,20100901,117000
000002,1,20100401,121000
000003,0,20060401,151000
000004,1,20020901,192000
000005,0,20000401,198000
000006,1,19980401,254000 - 000001,0,20110401,115000
000002,1,20110901,132000
000003,0,20060401,151000
000004,1,20060401,186000
000005,0,20010401,195000
000006,1,19970901,223000 - 000001,0,20120401,102000
000002,1,20080901,132000
000003,0,20070401,151000
000004,1,20050901,186000
000005,0,20040401,188000
000006,1,20010901,223000 - 000001,0,20120901,110800
000002,1,20100401,132000
000003,0,20080401,151000
000004,1,20020901,176000
000005,0,20010401,198000
000006,1,19950901,254000
解答選択欄
解答
- イ
解説
この設問の解説はまだありません。
設問3
金融機関に現金を用意してもらうために,金種ごとの必要数を集計して,図3に示すとおり画面に表示するようプログラムを変更する。表2中の に入れる正しい答えを,解答群の中から選べ。
d に関する解答群
- 行番号 42と43 の間に追加
- 行番号 44と45 の間に追加
- 行番号 46と47 の間に追加
- 行番号 66と67 の間に追加
e に関する解答群
- ADD 1 TO CUR-TOTAL(CNT)
- ADD CUR-KIND(CNT) TO CUR-TOTAL(CNT)
- ADD P-CUR(CNT) TO CUR-TOTAL(CNT)
- ADD P-PAY TO CUR-TOTAL(CNT)
解答選択欄
- d:
- e:
解答
- d=イ
- e=ウ
解説
この設問の解説はまだありません。