「みちともデジタル」は、ITパスポート試験の合格を目指す方を応援する無料学習サイトです。

【擬似言語問題の解き方】ITパスポート過去問 令和6年問85解説

ITパスポート擬似言語(疑似言語)問題解説(令和6年問85) 特集
スポンサーリンク

令和6年 問85

関数binaryToInteger は、1桁以上の符号なし2進数を文字列で表した値を引数binaryStrで受け取り、その値を整数に変換した結果を戻り値とする。例えば、引数として“100”を受け取ると、4を返す。プログラム中のa、bに入れる字句の適切な組合せはどれか。

プログラムが切れて表示される場合、横にスクロールすると表示されます。
〔プログラム〕
〇整数型:binaryTointeger(文字列型: binaryStr)
 整数型:integerNum, digitNum, exponent, i
 integerNum ← 0
 for ( i を 1 から binaryStr の文字数 まで 1 ずつ増やす)
  digitNum ← binaryStr の末尾から i番目の文字を整数型に変換した値
                 // 例:文字 “1” であれば整数値 1 に変換
  exponent ← ( a )
  integerNum ← ( b )
 endfor
 return integerNum

ab
(2のi乗)-1integerNum × digitNum × exponent
(2のi乗)-1integerNum + digitNum × exponent
2の(i-1)乗integerNum × digitNum × exponent
2の(i-1)乗integerNum + digitNum × exponent
 
プログラムが切れて表示される場合、横にスクロールすると表示されます。

正解の理由

2進数から10進数への変換

2進数は、以下のように10進数に変換できます。

2進数10進数
022×0 + 21×0 + 20×00
122×0 + 21×0 + 20×11
1022×0 + 21×1 + 20×02
1122×0 + 21×1 + 20×13
(問題の例)
100
22×1 + 21×0 + 20×04
10122×1 + 21×0 + 20×15
11022×1 + 21×1 + 20×06
11122×1 + 21×1 + 20×17

a の選択肢について

a は、 
(2のi乗-1) 
2の(i-1)乗 
のどちらかです。

問題にある「100」の例に、それぞれ当てはまるか確認します。

令和6年問85解説選択肢aアイ
令和6年問85解説選択肢aウエ

よって、a には、2の(i-1)乗 があてはまります。

b の選択肢について

は、 
integerNum × digitNum × exponent
integerNum + digitNum × exponent
のどちらかです。

問題にある「100」の例に、それぞれ当てはまるか確認します。

令和6年問85解説選択肢bアウ
令和6年問85解説選択肢bイエ

よって、 には、integerNum + digitNum × exponent があてはまります。

解答

a2の(i-1)乗

b integerNum + digitNum × exponent なので

正解は  です。

  前の問題  問題一覧  次の問題 
問84 令和6年 問86

コメント

タイトルとURLをコピーしました