ITパスポートの過去問
令和6年度
テクノロジ系 問7
このページは閲覧用ページです。
履歴を残すには、 「新しく出題する(ここをクリック)」 をご利用ください。
問題
令和6年度 ITパスポート試験 テクノロジ系 問7 (訂正依頼・報告はこちら)
関数 convert は、整数型の配列を一定のルールで文字列に変換するプログラムである。関数 convert を convert(arrayInput) として呼び出したときの戻り値が「AABAB」になる引数 arrayInput の値はどれか。ここで、arrayInput の要素数は1以上とし、配列の要素番号は1から始まる。
- {0,0,1,2,1}
- {0,1,2,1,1}
- {1,0,1,2,0}
- {1,1,2,1,0}
正解!素晴らしいです
残念...
この過去問の解説 (3件)
01
正解は「{1,1,2,1,0}」です。
convert(arrayInput)は arrayInput の要素を1つずつ ”A” または ”B”に変換し、 stringOutput に返却する関数です。
if文の条件式より、arrayInput[i] の値が1の場合は”A”、それ以外の場合は”B”に変換します。
戻り値を「AABAB」にしたい場合、 arrayInput は{1,1,x,1,x}※ となります。
※xは任意の値
戻り値が「BBABA」になるため、不正解です。
戻り値が「BABAA」になるため、不正解です。
戻り値が「ABABB」になるため、不正解です。
戻り値が「AABAB」になるため、正解です。
参考になった数7
この解説の修正を提案する
02
関数 convert は、整数型の配列を一定のルールで文字列に変換するプログラムです。関数 convert(array Input) として呼び出したときの戻り値が「AABAB」になる引数 array Input の値を問う問題です。配列の要素番号は1から始まります。
変換: A A B C B
結果: AABCB → 不正解
変換: A B C B B
結果: ABCBB → 不正解
変換: B A B C A
結果: BABCA → 不正解
変換: B B C B A
結果: AABAB → 正解
正解の配列は {1, 1, 2, 1, 0} です。
参考になった数2
この解説の修正を提案する
03
この問題を解くポイントは、プログラムが配列の各要素に対して「1 なら A を追加」「1 以外なら B を追加」するというルールで文字列を作成することを理解することです。そして、最終的に「AABAB」という文字列を生成するためには、どのような配列の値の並びが必要かを正確に見極めることです。
1番目:0 → "B"(不適切)
2番目:0 → "B"(不適切)
3番目:1 → "A"
4番目:2 → "B"
5番目:1 → "A"
最初の2つが「A」でないため、この配列では「AABAB」は生成されません。
1番目:0 → "B"(不適切)
2番目:1 → "A"
3番目:2 → "B"
4番目:1 → "A"
5番目:1 → "A"
最初が「A」でないため、この配列では「AABAB」は生成されません。
1番目:1 → "A"
2番目:0 → "B"(不適切)
3番目:1 → "A"
4番目:2 → "B"
5番目:0 → "B"
2番目が「A」でないため、この配列では「AABAB」は生成されません。
1番目:1 → "A"
2番目:1 → "A"
3番目:2 → "B"
4番目:1 → "A"
5番目:0 → "B"
すべての要素が「AABAB」のパターンと一致しています。この配列が正解です。
プログラムは、配列内の各値が 1 かどうかを判定し、1 の場合は "A"、それ以外の場合は "B" を文字列に追加します。最終的に「AABAB」という文字列を生成するためには、arrayInput が「1, 1, 2, 1, 0」の順に並んでいる必要があります。
参考になった数1
この解説の修正を提案する
前の問題(問6)へ
令和6年度問題一覧
次の問題(問8)へ