※このページには広告(PR)が含まれます

ITパスポート 令和6年度 問62 の解説テクノロジ系/アルゴリズムとプログラミング

正解はエ。配列の各要素(1, 1, 2, 1, 0)を条件判定することで出力「AABAB」が得られるため適切です。

関数 convert は、整数型の配列を一定のルールで文字列に変換するプログラムである。関数 convert を convert (arrayInput) として呼び出したときの戻り値が“AABAB” になる引数 arrayInput の値はどれか。ここで、arrayInput の要素数は1以上とし、配列の要素番号は1から始まる。 [プログラム] ○文字列型:convert(整数型の配列: arrayInput) 文字列型:stringOutput ← "" // 空文字列を格納 整数型:i for (iを1から arrayInput の要素数まで1ずつ増やす) if (arrayInput [i] が1と等しい) stringOutput の末尾に "A" を追加する else stringOutput の末尾に "B" を追加する endif endfor return stringOutput

この設問が問うていること

プログラム(擬似言語)のループ処理と条件分岐を読み解き、指定された出力結果を得るための配列入力を選ぶ設問です。

ア{0, 0, 1, 2, 1}
選択肢アの解説: 配列から変換される文字列は「BBAAB」となるため誤りです。
イ{0, 1, 2, 1, 1}
選択肢イの解説: 配列から変換される文字列は「BABAA」となるため誤りです。
ウ{1, 0, 1, 2, 0}
選択肢ウの解説: 配列から変換される文字列は「ABABB」となるため誤りです。
エ{1, 1, 2, 1, 0}正解
選択肢エの解説: 配列の各要素(1, 1, 2, 1, 0)を条件判定することで出力「AABAB」が得られるため適切です。

総合解説

プログラムのループ処理をトレースします。配列の各要素が「1と等しい」場合は「A」を、それ以外の場合は「B」を末尾に追加します。戻り値が「AABAB」となるためには、配列の要素が順に「1, 1, 1以外, 1, 1以外」である必要があります。選択肢dの `{1, 1, 2, 1, 0}` では、1番目=1→A、2番目=1→A、3番目=2→B、4番目=1→A、5番目=0→B と処理が進み、文字列が「AABAB」になります。したがって、正解はdです。

執筆・監修: はるのパパ(運営者)更新日: 2026-07-05出典: ITパスポート試験 令和6年度 問62(IPA)

アルゴリズムとプログラミングをまとめて学ぶ

アルゴリズムとプログラミング 重点教科書 →

データ構造・擬似言語・探索と整列アルゴリズム・プログラム言語・HTML/XML/JSONまで、ITパスポートのアルゴリズム分野を体系的に解説します。

令和6年度を本番同様のCBT形式で解いてみよう

無料登録なしでも一部体験可能。登録すれば採点・弱点分析・AI教科書まで使えます。

令和6年度の過去問CBTを解く
PR(SMART合格講座)

苦手な分野を講座で体系的に学び直すなら

🎓

SMART合格講座(スマホで学ぶ試験対策講座)

スマートフォンでの視聴に合わせた講義動画とテキストで、ITパスポートを含む資格の試験対策ができるオンライン講座です。