必ず受かる情報処理技術者試験

当サイトは、情報処理技術者試験に合格するためのWebサイトです。
ITパスポート試験,基本情報技術者,応用情報技術者,高度試験の過去問題と解答及び詳細な解説を掲載しています。
  1. トップページ
  2. ITパスポート
  3. 平成21年度春季問題
  4. 平成21年度春季解答・解説

平成24年度春季解答

多くの市販の書籍には、書籍を識別するための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+・・・+a12×3

(3) Sを10で割った余りRを求める。
(4) 10からRを引いた値をチェック数字Xとする。なお、この値が10になった場合は、チェック数字は0とする。

問題97

ISBNコードの1桁目から12桁目が次の数字の場合、13桁目に付加されるチェック数字Xはどれか。

1
3
7
9

解答:ア

<解説>

S=9+21+8+12+0+0+0+0+8+18+0+3=79

R=S÷10=79÷10=7余り9

X=10-9=1

よってアが正解である。

問題へ

問題98

ISBNコードにチェック数字が含まれることによって得られる効果はどれか。

検査機能が付加されるので、ISBNコードを人が入力する際に、入力ミスが検出しやすくなる。
識別機能が付加されるので、在庫管理システムや書籍検索システムなどにおけるコンピュータ処理の効率が向上する。
整列機能が付加されるので、客が書店で書籍を探す際に、その書籍を展示してある棚が分かりやすくなる。
分類機能が付加されるので、図書館や学校などが行う書籍管理のための図書館分類が明確になる。

解答:ア

<解説>

ISBNコードに含まれるチェックデジットは、チェック用の桁であり元のコードについてある種の計算を行い、その結果を「チェックデジット」としてそのコードに付加することで、入力されたコードの値に誤りがあるかどうかを検査することができます。
× チェック機能を追加することで、コードの桁数が増え処理に時間がかかる。その結果、コンピュータ処理の効率は低下する。
× チェック機能を追加しても整列機能は付加されない。したがって、客が書店で書籍を探す際に、その書籍を展示してある棚が分かりやすくならない。
× チェック機能を追加しても分類機能は付加されない。したがって、図書館や学校などが行う書籍管理のための図書館分類が明確にならない。

問題へ

問題99

表計算ソフトを使ってチェック数字を求めることにした。チェック数字を求めるワークシートを、次の手順で作成するとき、aに入れる適切な式はどれか。
(1) セルB1~N1に、ISBNコードの桁数を表す数値を入力する。
(2) セルB2~M2に、ISBNコードの1~12桁を、各セルに1桁ずつ入力する。
(3) セルB3~N3に、ISBNコードの各桁に対応した重みを入力する。
(4) セルB4に、式[ a ]を入力し、セルC4~M4に複写する。
(5) セルB5に、セルB4~M4の合計を求める式を入力する。
(6) セルB6に、セルB5の値を10で割った余りを求める式を入力する。
(7) セルN2に、チェック数字を求める式を入力する。

B1*B2
$B1*B$3
B2*B3
$B2*B$3

解答:ウ

<解説>

横に複写の場合は、複写元とその右のあるべき式を考えます。

  • セルB4(複写元):B3*B4
  • セルC4(その右):C3*C4

比較して,固定したい列に$を付ける。今回はなし。

よって,B3*B4となる。

問題へ

問題100

表計算ソフトを使ってチェック数字を求めることにした。チェック数字を求める次のワークシート中のセルN2に入れる適切な式はどれか。このワークシートはセルB2~M2に数字を入力することで、繰返し使うものとする。

(1) セルB1~N1に、ISBNコードの桁数を表す数値を入力する。
(2) セルB2~M2に、ISBNコードの1~12桁を、各セルに1桁ずつ入力する。
(3) セルB3~N3に、ISBNコードの各桁に対応した重みを入力する。
(4) セルB5に、ISBNコードに各桁の重みを掛けたものの合計を求める。
(5) セルB6に、剰余関数を使った次の式を入力する。
   剰余(B5,10)
(6)セルN2に、チェック数字を求める式を入力する。

10-B6
B6-10
10-剰余(B6,10)
剰余(10-B6,10)

解答:エ

<解説>

ワークシートには〔チェック数字の計算方法〕の(2)の手順である「それぞれの桁に対応した重みを掛けたものの和S」がセルB5に、(3)の手順にあたる「Sを10で割った余りRを求める。」がセルB6にそれぞれ計算されている。

よって(4)の手順「10からRを引いた値をチェック数字Xとする。なお,この値が10になった場合は,チェック数字は0とする。」の部分を計算式としてセルN2に入力することで各けたに対応するチェック数字を求めることができるようになります。

B6には和Sを10で割った余剰Rが入力されているので、セルN2には10からRを引く「10-B6」の計算式が適切であるように思いますが、セルB6の値が0であった場合には「10-0=10」となってしまいチェック数字が2ケタとなってしまう問題が生じます。チェック数字は1ケタでなくてはなりませんから、余剰関数を使用することでN2の値が必ず1ケタの数字がN2の値になるようにした※「余剰(10-B6,10)」が適切な計算式ということになります。

※B6=0の 場合、N2=10-0=10,N2=余剰(10-0,10)=0 とチェック数字が異なってしまいます。

問題へ