科目Bアルゴリズム

2024年春 科目B 問2
アルゴリズムの過去問

まずは自分で考えて、理由を確かめよう。

LET'S TRY

問題文

次のプログラム中の □ に入れる正しい答えを,解答群の中から選べ。


関数convDecimalは,引数として与えられた,"0"と"1"だけから成る1文字以上の文字列を,符号なしの2進数と解釈したときの整数値を返す。例えば,引数として"10010"を与えると18が返る。


〔プログラム〕

○整数型: convDecimal(文字列型: binary)

整数型: i, length, result ← 0

length ← binaryの文字数

for (i を 1 から length まで 1 ずつ増やす)

result ← □

endfor

return result

当てはまるものを、ひとつ選んでね。

1〜4キーで選択し、Enterキーで採点できます。

出典:令和6年度 基本情報技術者試験 科目B 問2
IPAの公開問題について ↗

LET'S UNDERSTAND

キホン猫と、理由を確かめよう。

自分で考えてから、解説を開いてみてね。

正解と解説を見る

正解は エ です。

2進数を10進数に変換するには、左から順に「result × 2 + 現在のビット」を繰り返します(ホーナー法)。"10010"→result: 0→1→2→4→9→18。左から順にi文字目を使うのでbinary の i文字目の文字です。

同じ分野の問題を探す →

この問題を、学びのノートに。

Xでシェア ↗

学習ノートを読み込んでいます…