■問6■ |
表計算を利用した万年カレンダの作成に関する次の記述を読んで、設問1〜6に答えよ。
Wさんは経理部に所属し、支払い小切手や手形の管理を担当しているので、銀行の休業日を知る必要がある。前年や翌年のカレンダまでめくらなければならず、面倒な思いをしている。
そこで、決済伝票の記録に使っている表計算ソフトのワークシート上に、指定した年月の
1
か月分のカレンダを表示すれば、手間が省けると考えた。
Wさんが用いたカレンダの計算アルゴリズムは、次のとおりである。
(1) |
うるう年の判定方法は、“年が 4
の倍数をうるう年とする。ただし、100
の倍数で、400
の倍数でない年はうるう年ではない。”
としている。以下、うるう年ではない年を平年という。 |
(2) |
起算日を西暦元年 1 月 1
日(月曜日)とし、起算日からの延べ日数を 7
で割り、余りである 0 〜 6
(以下、曜日コードという)を日曜日 〜
土曜日に対応させると曜日が求まる。 |
(3) |
平年では、1 年の日数が 365
日であることから、翌年の 1 月 1
日の曜日は一つ進む。 |
このアルゴリズムを使って完成したワークシートは、図のようになった。
(1) |
セル B3、B4
はそれぞれ指定年と指定月の入力域である。 |
(2) |
セル B5
は指定年がうるう年であれば 1、平年であれば 0
である。 |
(3) |
セル B7 〜 B18
は毎月の日数である。セル
B8を除き定数である。セル B8 はセル B5
の値を判定して設定している。 |
(4) |
セル C7 〜 C18
は指定月の前月までの各月の日数である。セル
C19 はセル C7 〜 C18
の合計値で、指定年内の前月までの延べ日数である。 |
(5) |
セル D7 〜 D18
の指定月に対応するセルはその指定月の日数で、他のセルは
0 である。セル D19 は指定月の最終日である。 |
(6) |
セル B20 は西暦元年 1 月 1
日から指定年月の 1
日までの延べ日数(前年までのうるう年は考慮していない)である。セル
B21 はセル B20
の値にうるう年を考慮した延べ日数である。 |
(7) |
セル B22 は指定年月の 1
日の曜日コードである。 |
(8) |
セル B23 〜 H23
は、曜日コードである。セル I23 〜 AL23
は曜日コードより大きな定数 7
を設定している。 |
(9) |
セル B24 〜 AL25
は、指定年月の完成したカレンダである。 |
|
■設問1■
|
指定された年がうるう年ならば 1、平年であれば 0
となるような計算式を、セル B5 に入力した。計算式の
【 】
に入れる適切な字句を、解答群の中から選べ。解答は重複して選んでもよい。
IF(剰余(【 a 】,4)【 b 】 0,0,
IF(剰余(【 c 】,100)【 d 】 0,1,
IF(剰余(【 e 】,400)【 f 】 0,1,0)))
a ,c ,e に関する解答群
ア B3 |
イ B6 |
ウ (B3−1) |
エ (B3+1) |
オ (B6−1) |
カ (B6+1) |
|
|
|
■設問2■
|
指定月の前月までの各月の日数を求める計算式をセル C7
に入力し、セル C8 〜 C18 に複写した。計算式の
【 】
に入れる適切な字句を、解答群の中から選べ。
IF(【 g 】 【 h 】
【 i 】,【 j 】,0)
g ,i ,j に関する解答群 |
ア A7 |
イ A8 |
ウ B4 |
エ B7 |
オ $B$4 |
カ (B7+B8) |
キ (B7+C6) |
|
|
h に関する解答群 |
ア = |
イ ≠ |
ウ < |
エ ≦ |
|
■設問3■
|
延べ日数 1 を求める計算式をセル B20
に入力した。計算式の 【 】
に入れる適切な字句を、解答群の中から選べ。解答は重複して選んでもよい。
(【 k 】)*365+【 ℓ 】
ア B3−1 |
イ B3 |
ウ B3+1 |
エ C19−1 |
オ C19 |
カ C19+1 |
キ C19+D19−1 |
ク C19+D19 |
ケ C19+D19+1 |
|
■設問4■
|
延べ日数 2 を求める計算式をセル B21
に入力した。計算式の 【 】
に入れる適切な字句を、解答群の中から選べ。解答は重複して選んでもよい。
B20 【 m 】 整数部(【 n 】/4)
【 o 】
整数部(【 n 】/100)
【 p 】
整数部(【 n 】/400)
ア B3 |
イ B20 |
ウ (B3+1) |
エ (B3−1) |
オ (B20−1) |
カ (B20+1) |
|
■設問5■
|
指定月の 1 日の曜日を求める計算式をセル B22
に入力した。計算式として正しいものを、解答群の中から選べ。
ア 剰余(B20,7) |
イ 剰余(B21,7) |
ウ 剰余((B21+C19+1),7) |
エ 整数(B20/7) |
オ 整数(B21/7) |
カ 整数((B21+C19+1)/7) |
|
■設問6■
|
カレンダを表示する考え方に基づいた計算式を、セル
B25 に入力し、セル C25 〜 AL25 に複写した。セル B25
の計算式の 【 】
に入れる適切な字句を、解答群の中から選べ。解答は重複して選んでもよい。
考え方は次のとおりである。
(1) |
指定月の 1
日より前の日は空白文字(スペース)を表示する。 |
(2) |
指定月の 1 日の曜日から日を表示する。 |
(3) |
2 日以降の日は前の日に 1
を加えた日とする。 |
(4) |
日が指定月の日数より大きくなったら、空白文字(スペース)を表示する。 |
IF($B$22【 q 】 【 r 】,
IF($B$22【 s 】
【 t 】,1,’’),
IF(【 u 】=’’,’’,
IF($D$19【 v 】
【 w 】,’’,【 x 】)))
注 |
1、2
行目は考え方の(1)と(2)の処理、3、4
行目は考え方の(3)と(4)の処理を行っている。 |
ア A23 |
イ A25 |
ウ B23 |
エ B25 |
オ (A23+1) |
カ (A25+1) |
キ (B23+1) |
ク (B25+1) |
|
■答え■
|
設問1 : |
a−ア,b−イ,c−ア,d−イ,e−ア,f−ア |
設問2 : |
g−ア,h−ウ,i−オ,j−エ |
設問3 : |
k−ア,ℓ−カ |
設問4 : |
m−ア,n−エ,o−イ,p−ア |
設問5 : |
イ |
設問6 :
|
q−カ,r−ウ,s−ア,t−ウ,u−イ,v−エ(ウ),w−イ(カ),x−カ
※(v ,w)の組合せは(エ ,イ)と(ウ
,カ)が正解 |
|
|
|