分類テクノロジ系 » アルゴリズムとプログラミング » アルゴリズムとプログラミング新しい試験範囲外(2027年度からの新しい試験には出ない分野)年度令和6年度の100問の一覧
関数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
正解と解説
正解:エ
ア× 変換すると「BBABA」です。1番目が0なので、最初の文字がもう B になります。
イ× 変換すると「BABAA」です。1番目が0なので、最初の文字が B になります。
ウ× 変換すると「ABABB」です。2番目が0なので、2文字目が B になります。
エ○ 正解 1・1・2・1・0 は「1・1・1以外・1・1以外」なので、変換すると「AABAB」になります。
解説
このプログラムは、配列 arrayInput の要素を1番目から順に見て、値が1なら「A」、1以外なら「B」を文字列の末尾に足していきます。要素の値が1かどうかだけで A と B が決まるので、0 も 2 も同じ「B」になります。
戻り値が「AABAB」なら、1番目から順に「1・1・1以外・1・1以外」でなければなりません。4つの配列を変換すると次のとおりです。
{0, 0, 1, 2, 1} → BBABA
{0, 1, 2, 1, 1} → BABAA
{1, 0, 1, 2, 0} → ABABB
{1, 1, 2, 1, 0} → AABAB
教科書 g37この問題の知識
アルゴリズムは問題を解くための手順で、順次・選択・繰返しの3つで組み立てます。流れ図と擬似言語の読み方、変数の値を書き出すトレース、空欄の埋め方、線形探索と2分探索、選択ソート・バブルソート・クイックソートと併合までを、公開問題を解ける形でまとめます。
Udemy の ITパスポート講座を、受講者数・★評価・口コミで比べたページです(広告を含みます)。
過去問教科書の一覧(現行の試験の順)教科書の一覧(新しい試験の順)
出典:IPA「ITパスポート試験 公開問題」令和6年度 問62。問題文と選択肢は改変せずに引用しています(表・図は文字に書き起こしたもの)。正解は IPA 公表の解答例によります。

