QUESTION 51
次の処理が終了したとき、countの値はいくつか。forの開始値と終了値はどちらも含む。modは整数除算の余りを表す。 整数型: count ← 0 整数型: i, j for (i を 1 から 4 まで 1 ずつ増やす) for (j を 1 から i まで 1 ずつ増やす) if ((i + j) mod 2 = 0) count ← count + 1 endif endfor endfor
出典:本サイト オリジナル教材(2026年)
本サイトで独自に作成。IPAの試験問題からの転載ではありません。
公開日:
選択肢を選んで、答え合わせをしましょう。
回答せずに正解・解説を確認する
正解:イ 6
この表示だけでは、回答数や正答率は変わりません。
解説
i=1ではj=1の1回、i=2ではj=2の1回、i=3ではj=1,3の2回、i=4ではj=2,4の2回で条件が真です。加算回数は1 + 1 + 2 + 2 = 6回です。外側のループが終わるごとのcountは1、2、4、6になります。
ア
外側のループ回数です。内側では条件を満たすjが二つある場合もあります。
イ
iとjの和が偶数になる組を数えると6組です。
ウ
内側は毎回4回ではなく、j=1からiまでです。
エ
10は内側の処理を行う総回数1+2+3+4です。条件が偽の4回は加算しません。
関連知識
内側の繰返し回数が外側の変数iに依存しています。すべての(i,j)を三角形状に並べ、条件に合う組へ印を付ける方法でも検算できます。
間違えやすいポイント
繰返し回数と、条件付きで実行する加算の回数を分けて考えます。
覚え方
外側ごとに内側を数え、最後に足す。
実務での意味
二つのデータの組合せを調べる処理や、上三角・下三角部分だけを計算する処理の読解に役立ちます。
解説:本サイト編集部によるオリジナル文章