FUNDAMENTAL INFORMATION TECHNOLOGY ENGINEER
基本情報技術者の問題解説
問題
次の文字列処理を実行したとき,戻り値はどれか。
文字列型: s ← "AABBAAC"
整数型: i, count ← 0
for (i を 2 から sの文字数 まで 1ずつ増やす)
if (sのi文字目 ≠ sの(i - 1)文字目)
count ← count + 1
endif
endfor
return count- ア 2
- イ 3
- ウ 4
- エ 7
出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.2 科目B範囲
正解と解説
正解:3
正解:3
見る場所:比較するのは隣り合う2文字である。文字の種類数ではなく,前の文字から変わった回数を数える。
| 比較 | 判定 | count |
|---|---|---|
| A→A | 同じ | 0 |
| A→B | 変化 | 1 |
| B→B | 同じ | 1 |
| B→A | 変化 | 2 |
| A→A | 同じ | 2 |
| A→C | 変化 | 3 |
処理の追い方:AからB,BからA,AからCの3回で文字が変化するため,戻り値は3。
間違えやすい点:同じ文字が何個あるかではなく,境目の数を数える。Aが3個あることやBが2個あることを直接数えない。
選択肢の見分け方:4は文字の種類や区切りを多く数えた誤り,2は最後のA→Cを見落とした値。
この問題について
公開問題・サンプル問題の形式、擬似言語記法、アルゴリズム読解・トレース・空欄補充・セキュリティ事例判断の傾向を参考にした独自問題です。本文・数値・選択肢は新規作成しています。
公式試験問題、公開問題、市販教材、外部問題サイトの問題文を転載・改題したものではありません。