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

平成26年 秋期 基本情報技術者 午後 問13
問13   表計算

問13 次の表計算のワークシート及びマクロの説明を読んで,設問1,2に答えよ。

(表計算の説明〕

 鉄道会社Y社では,表計算ソフトを使って乗車駅と降車駅を入力すると鉄道路線に おける駅間の距離(以下,乗車距離という)と運賃を表示するプログラムを作成した。

(1) 鉄道路線は,隣接駅間の距離(以下,隣接駅間距離という)が 5km を超えず, 分岐をもたない全長 94.2km の単一路線であり,起点駅から終点駅まで 32 の駅から成る。

(2) 各駅には“001”〜“032”の駅コードが割り付けられている。

(3) ワークシート“鉄道運賃”に乗車駅の駅コード(セル B1 )と降車駅の駅コード(セル B2 )を 入力すると,乗車距離(セル B3 )と運賃(セル B4 )が表示される。 乗車駅と降車駅の駅コードは,鉄道路線の各駅に割り付けられた駅コードのリストから 選択して入力するようになっている。ワークシート“鉄道運賃”の例を図1に示す。

図1 ワークシート“鉄道運賃”の例

(4) 駅コードと隣接駅間距離は,起点駅から終点駅に向かってワークシート“路線情報”の 列 A と列 B に順に格納されている。ワークシート“路線情報”の例を図2に示す。

図2 ワークシート“路線情報”の例

@ ワークシートの各行の隣接駅間距離には,その行の駅コードに対応する駅から次行の 駅コードに対応する駅までの距離(単位はkm)が格納されている。例えば, 駅コード“002”と駅コード“003”の駅間の距離は,セル B3 に格納されている 3.0 である。 終点駅の駅コードに対応する行の隣接駅間距離(セル B33 )には 0.0 が格納されている。

A 列 C は乗車距離計算のための作業領域に用いる。

(5) 運賃は,乗車距離に関係なく一律に定められている基本運賃 100 円と, 乗車距離に応じて決まる距離運賃とを合計した額である。

(6) 距離運賃は,決められた四つの距離の範囲で乗車距離を区分し, 決められた計算方法で区分ごとの運賃(以下,区分運賃という)を計算し, それらを合計した額である。

@ 各区分には 1 〜 4 の番号(以下,区分番号という)が割り付けられている。 各区分の距離の範囲は表1のとおりである。

表1 区分番号と距離の範囲
 区分番号        距離の範囲  
   1 10km 以下の範囲 
   2 10km を超え 40km 以下の範囲 
   3 40km を超え 70km 以下の範囲 
   4 70 kmを超える範囲 

A 乗車距離を,決められた四つの距離の範囲で区分し,区分ごとの距離(以下, 区分距離という)に分ける。例えば,乗車距離が 11.6km の場合,区分番号 1 の 区分距離 10km と,区分番号 2 の区分距離 1.6km(11.6km−10 km)に分ける。

B 区分ごとに,運賃計算の基準となる単位距離が決められている。区分, 単位距離と単位運賃の関係を表2に示す。区分距離の端数は単位距離に切り上げ, 単位距離ごとに単位運賃を加算する。

表2 単位距離と単位運賃
 区分番号   単位距離(km)  単位運賃(円) 
     1     1    10
     2     3    20
     3     5    30
     4    10    50

(7) 例えば,乗車距離が 11.6km である駅コード“004”から駅コード“001”までの 運賃は,次のように求める。ここで,計算式中の“切上げ(X,0)”は,X の小数点以下を 切り上げた値を表す。

@ 区分番号 1 の区分運賃は,1km までごとに 10 円を加算し,次の式で求める。
     10 円×切上げ(10km ÷ 1km,0)= 100 円

A 区分番号 2 の区分運賃は,3km までごとに 20 円を加算し,次の式で求める。
     20 円×切上げ((11.6km − 10km)÷ 3km,0)= 20 円

B 運賃は,基本運賃 100 円と距離運賃 120 円(@,Aで求めた区分運賃の合計額)を 合計した 220 円になる。

(8) 基本運賃と各区分の区分番号,距離の範囲の上限(以下,上限距離という), 単位距離及び単位運賃を格納したワークシート“運賃情報”の例を図3に示す。

図3 ワークシート“運賃情報”の例

@ セル D1 には,基本運賃が格納されている。

A 区分ごとの運賃体系表(セル A4 〜 D8 )のセル A5 〜 D8 には, 各区分の区分番号,上限距離,単位距離及び単位運賃が区分番号の昇順に格納されている。

B 区分番号4の上限距離には,999999 が格納されている。

C 列 E,F には,各区分の区分距離と区分運賃が表示される。

〔乗車距離の計算〕

 乗車駅から降車駅までの間(以下,乗車区間という)にある隣接駅間距離を選び出し, それらを合計したものを乗車距離とする。乗車距離(ワークシート“鉄道運賃”のセル B3 )を 求めるために,ワークシート“路線情報”と “鉄道運賃”に (1) 〜 (3) の手順で式の入力を行う。

(1) 乗車区間の判別に当たり,ワークシート“路線情報”のセル C34 とセル C35 を 使用する。乗車駅及び降車駅の駅コードを利用するために, ワークシート“路線情報”のセル C34 に次の式を入力し,セル C35 に複写する。
     照合一致(鉄道運賃!B1,A$2〜A$33,0)

(2) ワークシート“路線情報”のセル C2 に次の式を入力し,セル C3 〜 C32 に複写する。
    IF( ),'○',null)

(3) 乗車距離を求めるために,ワークシート“鉄道運賃”のセル B3 に次の式を入力する。
    条件付合計(路線情報 !C2 〜 C32,='○',路線情報 !B2 〜 B32 )

〔運賃の計算〕

区分距離と区分運賃を計算し,基本運賃と全ての区分運賃を合計したものを運賃とする。 運賃(ワークシート“鉄道運賃”のセル B4 )を求めるために,ワークシート“運賃情報”と “鉄道運賃”に (1) 〜 (4) の手順で式の入力を行う。

(1) 区分番号1の区分距離を求めるために,ワークシート“運賃情報”のセル E5 に 次の式を入力する。
    IF(鉄道運賃 !B3 ≦ B5,鉄道運賃 !B3,B5 )

(2) 区分番号 2 〜 4 の区分距離を求めるために,ワークシート“運賃情報”のセル E6 に 次の式を入力し,セル E7,E8 に複写する。
    IF(鉄道運賃 !B$3 ≦ B6,鉄道運賃 !B$3,B6 )−

(3) 区分運賃を求めるために,ワークシート“運賃情報”のセル F5 に次の式を入力し, セル F6 〜 F8 に複写する。
    

(4) 乗車区間の運賃を求めるために,ワークシート“鉄道運賃”のセル B4 に次の式を入力する。
    運賃情報 !D1 +合計(運賃情報 !F5 〜 F8 )

設問1 乗車距離の計算,運賃の計算に関する説明文中の に 入れる正しい答えを,解答群の中から選べ。

a に関する解答群

ア 論理積         イ 論理和

b に関する解答群

ア 照合一致(A2,A$2〜A$33,0)< 最小(C$34〜C$35)

イ 照合一致(A2,A$2〜A$33,0)≦ 最小(C$34〜C$35)

ウ 照合一致(A2,A$2〜A$33,0)> 最小(C$34〜C$35)

エ 照合一致(A2,A$2〜A$33,0)≧ 最小(C$34〜C$35)

c に関する解答群

ア 照合一致(A2,A$2〜A$33,0)< 最大(C$34〜C$35)

イ 照合一致(A2,A$2〜A$33,0)≦ 最大(C$34〜C$35)

ウ 照合一致(A2,A$2〜A$33,0)> 最大(C$34〜C$35)

エ 照合一致(A2,A$2〜A$33,0)≧ 最大(C$34〜C$35)

d に関する解答群

ア B5             イ E5              ウ 合計(B$5〜B5)

エ 合計(B$5-B$8)       オ 合計(E5〜E$8)       カ 合計(B$5〜E5)

e に関する解答群

ア 切上げ(B5,0)/ C5*D5        イ 切上げ(B5 / C5,0)*D5

ウ 切上げ(E5,0)/ C5*D5        エ 切上げ(E5 / C5,0)*D5

オ 切捨て(B5 / C5 + 1,0)*D5      カ 切捨て(E5 / C5 +1,0)*D5

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

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

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

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

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

設問2 Y社では,区分運賃を見直すことによる運賃改定を行うことにした。ただし, 区分ごとの単位距離と単位運賃は変更せず,距離の範囲だけを見直す。これに伴い, ワークシート“運賃情報”の区分番号1〜3の上限距離(セル B5 〜 B7 )の値を 変更するためのマクロを作成し,ワークシート“運賃情報”に格納した。 マクロ Change_SectionInfo に関する説明を読んで,マクロ中の に 入れる正しい答えを,解答群の中から選べ。ここで,g1 と g2 に入れる答えは, g に関する解答群の中から組合せとして正しいものを選ぶものとする。

〔距離の範囲見直しの説明〕

(1) 少なくとも隣接駅間距離は,区分番号1の距離の範囲に入るようにする。

@ 隣接駅間距離の中で最長の距離を求める。

A 求めた距離の小数点以下を切り上げた値を,区分番号1の新たな上限距離とする。

(2) 五つ離れた駅までの距離は,区分番号2の距離の範囲に入るようにする。 @ 鉄道路線上のそれぞれの駅から五つ離れた駅までの距離を計算し,その中で最長の距離を求める。

A区分番号1の新たな上限距離に区分番号2の単位距離の倍数を加えた値でかつ, @で求めた距離以上となる最小値を,区分番号2の新たな上限距離とする。

(3) 鉄道路線の全区間(起点駅から終点駅まで)の距離の 50% 以下の距離は, 区分番号3の距離の範囲に入るようにする。 @鉄道路線の全区間の 50% の距離を求める。

A区分番号2の新たな上限距離に区分番号3の単位距離の倍数を加えた値で,かつ, @で求めた距離以上となる最小値を,区分番号3の新たな上限距離とする。

〔マクロ:Change_SectionInfo〕

f に関する解答群

ア J : Ø,J ≦ 4       イ J : 1,J ≦ 4      ウ J : Ø,J ≦ 5

エ J : 1,J ≦ 5       オ J : Ø,J ≦ 31      カ J : 1,J ≦ 31

g に関する解答群

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

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


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