平成24年度 春期 ITパスポート試験 問100
テクノロジ/ソフトウェア【中問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桁目は重みなし) 【設問】表計算ソフトを使ってチェック数字を求めることにした。チェック数字を求める次のワークシート中のセル N2に入れる適切な式はどれか。このワークシートは,セル B2〜M2に数字を入力することで,繰り返し使うものとする。 (1) セル B1〜N1に,ISBN コードの桁数を表す数値を入力する。 (2) セル B2〜M2に,ISBN コードの1〜12桁を,各セルに1桁ずつ入力する。 (3) セル B3〜M3に,ISBN コードの各桁に対応した重みを入力する。 (4) セル B5に,ISBN コードに各桁の重みを掛けたものの合計を求める。 (5) セル B6に,剰余関数を使った次の式を入力する。 剰余(B5,10) (6) セル N2に,チェック数字を求める式を入力する。 図3 チェック数字を求めるワークシート 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,4,3,2,1(N2は求める対象のセル) B3〜M3(重み):1,3,1,3,1,3,1,3,1,3,1,3 4行目(B4〜M4):(網掛け・表示していない) B5(和 S):68 B6(剰余 R):(表示していない) (剰余(x,y) は x を y で割った余りを返す関数である。) (注:本サイトでは原問題の表を文字表記に変換しています)
出典:平成24年度 春期 ITパスポート試験 問100
- ア10−B6
- イB6−10
- ウ10−剰余(B6,10)
- エ剰余(10−B6,10)
正解:エ
解説
和 S=68 なので,B6の剰余 R は 68÷10 の余りの8です。チェック数字は10−R=2 で,10になった場合だけ0にします。ここで剰余(10−B6,10) を使うと,R が1〜9のときは 10−R がそのまま得られ,R が0のとき(10−0=10)は10を10で割った余りの0になるので,「10になったら0」という規則も一つの式で満たせます。このワークシートは繰り返し使うので,R=0の場合にも対応できる式を選ぶ必要があります。
選択肢ごとの解説
- ア誤り。R=8のときは2になりますが,R=0のとき10になってしまい,チェック数字を0とする規則を満たしません。
- イ誤り。R−10は負の値(8−10=−2)になり,チェック数字になりません。
- ウ誤り。R=8のときは2になりますが,R=0のとき10−0=10となり,0にならないため,繰り返し使うワークシートでは誤りになります。
- エ正しい。R=8のときは剰余(2,10)=2,R=0のときは剰余(10,10)=0となり,どの場合も規則どおりのチェック数字が得られます。