※本情報は解説作成時点のもので、閲覧時点では法改正等により情報が変更になっている場合がございます。あらかじめご理解いただければ幸いです。
正解は「B:j←k+(j-10×k)」です。
チェックデジットを計算する際、2桁以上になった合計値を1桁になるまで繰り返し桁ごとに合計する操作で、この式を用います。
この記事では、ITパスポート試験(令和4年度)で出題された過去問の第24問「チェックデジット計算のプログラム修正」について、試験対策の観点からわかりやすく解説します。
Contents
チェックデジットの計算手順
1. 配列 originalDigit の1~9番目の値を合計 → j
2. jが9より大きい場合、各桁を合計して1桁にする操作を繰り返す
3. 最終的に得られた値をチェックデジットとして返す
プログラム中の計算式の意味
whileループ内で、jを1桁にするために以下の操作を行います。
・k ← j ÷ 10 の商(十の位)
・j ← k + (j – 10×k) (十の位 + 一の位)
この操作により、2桁の数が再度1桁に合計されます。
他の選択肢との違い
- j←j-10×k:一の位だけを残すが、十の位を加えないため誤り
- j←k+(j-10×k):正しい操作。十の位と一の位を足して1桁にする
- j←k+(j-10)×k:計算式が誤っており、正しい桁の合計にならない
- j←k+j:十の位を加算すると二重になり正しくない
問われているポイント
この問題では、チェックデジットを求める際に、合計値が2桁になった場合の桁ごとの合計処理を正しく理解しているかが問われています。
気を付けてほしい点(勘違いしやすいポイント)
- 2桁の数値を単に一の位だけにしてはいけない
- 十の位と一の位を足すことを忘れずに
補足
ITパスポート試験では、アルゴリズムや計算手順の理解を問う問題も出題されます。
ITパスポート試験での出題パターン
テクノロジ系では、プログラムの処理手順やアルゴリズムの理解を問う問題が出題されます。
この知識が使われている問題
まとめ
- チェックデジットは、各桁の合計を1桁にすることで求める
- 2桁の合計値は、十の位と一の位を足す操作で1桁にする
- プログラム中では j←k+(j-10×k)が正しい処理