平成24年度 春期 ITパスポート試験 問99
テクノロジ/ソフトウェア【中問D(問97〜100の共通文章)】 多くの市販の書籍には,書籍を識別するための ISBN(International Standard Book Number)コードが付けられている。ISBN コードは,0〜9の数字を使った13桁の記号で構成され,左側から桁を数える。最も左側の桁を1桁目とする。1桁目から12桁目までは,国記号,出版者記号及び書籍固有の記号などが含まれる。 ISBN コードの13桁目(最も右側の桁)はチェック数字と呼ばれる桁である。ISBN コードのチェック数字は,1桁目から12桁目の数字を使って,次の計算方法によって求める。ここで,図1のように1桁目から12桁目の数字を a1〜a12,チェック数字を X とする。 〔チェック数字の計算方法〕 (1) a1〜a12について,奇数桁には1,偶数桁には3の重みを付ける。 (2) a1〜a12の各桁に,それぞれの桁に対応した重みを掛けたものの和 S を求める。 S = a1×1+a2×3+a3×1+…+a12×3 (3) S を10で割った余り R を求める。 (4) 10から R を引いた値をチェック数字 X とする。なお,この値が10になった場合は,チェック数字は0とする。 図1 ISBN コードの構成 桁:1,2,3,4,5,6,7,8,9,10,11,12,13 ISBN コード:a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,X 重み:1,3,1,3,1,3,1,3,1,3,1,3(13桁目は重みなし) 【設問】表計算ソフトを使ってチェック数字を求めることにした。チェック数字を求めるワークシートを,次の手順で作成するとき,a に入れる適切な式はどれか。 (1) セル B1〜N1に,ISBN コードの桁数を表す数値を入力する。 (2) セル B2〜M2に,ISBN コードの1〜12桁を,各セルに1桁ずつ入力する。 (3) セル B3〜M3に,ISBN コードの各桁に対応した重みを入力する。 (4) セル B4に,式[ a ]を入力し,セル C4〜M4に複写する。 (5) セル B5に,セル B4〜M4の合計を求める式を入力する。 (6) セル B6に,セル B5の値を10で割った余りを求める式を入力する。 (7) セル N2に,チェック数字を求める式を入力する。 図2 チェック数字を求めるワークシート A 列は項目名:1行目「桁」,2行目「ISBN コード」,3行目「重み」,4行目(空欄),5行目「和(S)」,6行目「剰余(R)」 B1〜N1(桁):1,2,3,4,5,6,7,8,9,10,11,12,13 B2〜M2(ISBN コード):9,7,8,4,0,0,0,0,1,2,3,4(N2は空欄) B3〜M3(重み):1,3,1,3,1,3,1,3,1,3,1,3 4行目(B4〜M4):(網掛け・表示していない) B5(和 S):72 B6(剰余 R):(表示していない) (注:本サイトでは原問題の表を文字表記に変換しています)
出典:平成24年度 春期 ITパスポート試験 問99
- アB1*B2
- イ$B1*B$3
- ウB2*B3
- エ$B2*B$3
正解:ウ
解説
B4には,B 列の「ISBN コードの桁の数字(B2)」と「重み(B3)」の積を求める式を入れます。これを C4〜M4に複写すると,式の中のセル番地が列方向にずれて,C2*C3,D2*D3,…となり,各桁の「数字×重み」が求められます。このように複写でセル番地が自動的にずれるよう,列も行も固定しない相対参照で B2*B3 とします。
選択肢ごとの解説
- ア誤り。B1は「桁」の行で,ISBN コードの数字(2行目)と重み(3行目)の積になっていません。
- イ誤り。$B1*B$3 は,B1(桁)に重みを掛けており,ISBN コードの数字(2行目)を使っていません。また列を固定しているので,複写しても各桁の計算になりません。
- ウ正しい。複写で列がずれていくので,各桁の「数字×重み」を正しく計算できます。
- エ誤り。$B2のように列を固定すると,複写しても常に B 列の数字を使ってしまい,各桁の計算になりません。