アルゴリズムとプログラミング

基本情報技術者試験数字文字('0'〜'9')だけからなる文字型の配列 s を整数値に変換する次の手続に、s =…

アルゴリズムとプログラミングアルゴリズムとプログラミング計算問題難易度:normal
数字文字('0'〜'9')だけからなる文字型の配列 s を整数値に変換する次の手続に、s = {'2','0','5','3'}(要素数 4、添字は 1 から)を与えて実行したとき、戻り値はどれか。digit(c) は文字 c に対応する数値('0'→0, …, '9'→9)を返す関数とする。
○整数型: parseInt(文字型の配列: s)
  整数型: v ← 0
  整数型: i
  for (i を 1 から sの要素数 まで 1 ずつ増やす)
    v ← v × 10 + digit(s[i])
  endfor
  return v
3502
2053
10 進数
253
正解
イ.2053

先頭桁から v×10+digit を繰り返すと位取りが正しく組み上がる。2, 20, 205, 2053 と進み最終的に 2053 となるため イが正しい。

?選択肢ごとの解説

ア ×桁を逆順に組み立て 3502 とした、末尾から処理したと誤認した順序の誤りである。
イ ○先頭桁から v×10+digit を繰り返すと位取りが正しく組み上がる。2, 20, 205, 2053 と進み最終的に 2053 となるため イが正しい。
ウ ×具体的な数値ではなく『10 進数』という分類名を答えた、戻り値の型と値を取り違えた不適切な選択である。
エ ×途中の桁 '0' を読み飛ばして 2,5,3 だけを連結し 253 とした、ゼロの桁を落とした誤りである。
この問題の「深掘り・誤答の完全解説・覚え方」は、登録すると読めます。

基本情報技術者試験は全4,036問。公開しているのはその一部で、登録すると残りも一問ごとにAI解説つきで解けます。SRS暗記カード・全真模試・弱点診断まで。

登録は1分・クレジットカード不要。無料のまま練習・暗記カード・模試まで使えます。

作成・校閲:ukamiru編集部 · 基本情報技術者試験 過去問 · fe-b-algo-0088

【基本情報技術者試験】数字文字('0'〜'9')だけからなる文字型の配列 s…|正解「2053」|ukamiru 過去問