基本情報技術者科目Bの擬似言語とデータ構造オリジナル・公式資料照合難易度★★★☆☆
配列a={3,8,2,7,4}の添字は1から始まる。次の擬似言語を実行した後のsはどれか。 s ← 0 for i を 1 から 5 まで1ずつ増やす if a[i] mod 2 = 0 s ← s + a[i] endif endfor modは整数の剰余を表す。
A
10
8と2だけなら10ですが、末尾の4も偶数なので加算します。
B
12
偶数8・2・4の合計は14です。12になる計算では条件や要素を取り違えています。
C
14★ 正解
条件を満たすのは8・2・4で、s=0+8+2+4=14です。
D
24
24は条件を無視して全要素3+8+2+7+4を足した値です。
解説
条件分岐に入るのは偶数だけです。i=2,3,5でsが8,10,14と変化します。
根拠資料・確認情報
対応範囲:2026年度 基本情報技術者試験 科目A・B
資料確認日:2026-10-28
同じレッスンの問題
問題 2
添字1~5の配列a={6,4,9,2,7}を次の処理で探索する。x=9のとき、返す値はどれか。
i ← 1
while i ≦ 5 and a[i] ≠ x
i ← i + 1
endwhile
if i ≦ 5
return i
else
return 0
endif
andは左側が偽なら右側を評価しない。
問題 3
昇順配列a={2,5,8,12,16,23,38}の添字は1~7である。二分探索でlow=1, high=7から開始し、mid=floor((low+high)/2)とする。x=16を探し、a[mid]<xならlow=mid+1、a[mid]>xならhigh=mid-1にする。比較する添字midの順序はどれか。
問題 4
空のスタックに対して、push(4)、push(7)、x←pop()、push(2)、y←pop()、z←pop()を順に実行する。pushは先頭へ積み、popは最後に積んだ要素を取り出す。x,y,zの組はどれか。
問題 5
配列a={2,2,5,5,5,2}の隣接する同じ値を一つのまとまりとして数える。次の処理のgroupsは最終的に幾つか。添字は1~6である。
groups ← 1
for i を 2 から 6 まで1ずつ増やす
if a[i] ≠ a[i-1]
groups ← groups + 1
endif
endfor