平成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桁目の数字をa₁~a₁₂,チェック数字をXとする。
〔チェック数字の計算方法〕
(1) a₁~a₁₂について,奇数桁には1,偶数桁には3の重みを付ける。
(2) a₁~a₁₂の各桁に,それぞれの桁に対応した重みを掛けたものの和Sを求める。
S=a₁×1+a₂×3+a₃×1+…+a₁₂×3
(3) Sを10で割った余りRを求める。
(4) 10からRを引いた値をチェック数字Xとする。なお,この値が10になった場合は,チェック数字は0とする。

表計算ソフトを使ってチェック数字を求めることにした。チェック数字を求める次のワークシート中のセル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に,チェック数字を求める式を入力する。

- ア10-B6
- イB6-10
- ウ10-剰余(B6,10)
- エ剰余(10-B6,10)
答えを見る
正解 エ剰余(10-B6,10)
要点10−Rが10になる場合に備え、剰余でもう一度10で割る
解説
チェック数字は「10−R、ただし10になった場合は0」なので、剰余(10−B6,10)とすれば、Rが1〜9のときは10−Rのまま、Rが0のときは10を10で割った余りの0になります。
例:S=68、R=8、X=剰余(10−8,10)=2
- ア:10−B6だと、Rが0のときに10となり、1桁のチェック数字にならないので誤り。
- イ:B6−10は負の値になるので誤り。
- ウ:剰余(B6,10)はRのままなので、10−Rで0の場合と同じ問題が残り、Rが0のとき10となって誤り。