ITパスポート試験 ITパスポート 2022年 (令和4年)78: 関数checkDigitは,10進9桁の整数の各桁の数字が上位の桁から順に格納された整数型の配列originalDigitを引数として,次の手順で計算したチェッ

ITパスポート 2022年 (令和4年)
Q 7878 / 100
関数checkDigitは,10進9桁の整数の各桁の数字が上位の桁から順に格納された整数型の配列originalDigitを引数として,次の手順で計算したを戻り値とする。プログラム中のaに入れる字句として,適切なものはどれか。ここで,配列の要素番号は1から始まる。 〔手順〕 (1) 配列originalDigitの要素番号1〜9の要素の値を合計する。 (2) 合計した値が9より大きい場合は,合計した値を10進の整数で表現したときの各桁の数字を合計する。この操作を,合計した値が9以下になるまで繰り返す。 (3) (2)で得られた値をチェックデジットとする。 〔プログラム〕 ○整数型: checkDigit(整数型の配列: originalDigit) 整数型: i, j, k j ← 0 for (i を 1 から originalDigitの要素数 まで 1 ずつ増やす) j ← j + originalDigit[i] endfor while (j が 9 より大きい) k ← j ÷ 10 の商 /* 10進9桁の数の場合,jが2桁を超えることはない */ [a] endwhile return j
この問の正解率:50.96%(1,621件)

解説

ITパスポート 2022年 (令和4年) 問78「関数checkDigitは,10進9桁の整数の各桁の数字が上位の桁から順に格納さ…」の正解と解説です。ITパスポート試験の「テクノロジ系」分野の過去問で、これまでの受験者の正答率は約51%です。

正解

. j ← k + (j - 10 × k)

正答率 51.0%(1,621人中 826人が正解)

問題の解説

j が 2 桁の時 k = j ÷ 10 が十の位,j - 10 × k が一の位.各桁の和は k + (j - 10 × k) で求まる.イが正解で 9 以下になるまでこの処理を繰り返す.

選択肢ごとの解説

  • j - 10 × k は一の位だけで十の位 k を足し忘れており誤り.
  • 正しい. k + (j - 10 × k) で 2 桁の数の各桁の和を算出.
  • (j - 10) × k は計算式の構造が誤りで成立しない.
  • k + j は重複加算となり正しい桁和とならないため誤った記述であり該当しない.

ITパスポート 2022年 (令和4年) の過去問一覧に戻る・問78

ITパスポート試験 の iOS アプリ版

アプリ版なら、よりスムーズに動作し、
スワイプで問題遷移ができます。

ITパスポート試験 合格.dev を App Store でダウンロード