問78の正解: エテクノロジ系/アルゴリズムとプログラミング
手続 calcMod3を呼び出したときの出力はどれか。 [プログラム] ○calcMod3() 整数型: totalValue, i totalValue ← 0 for (iを1から7まで1ずつ増やす) if (i÷3の余りが0と等しい) totalValue ← totalValue + i endif endfor totalValue を出力する
この設問が問うていること
ループ処理と条件分岐、剰余(余り)計算を伴うプログラムの実行結果について問う設問です。
ア2
選択肢アの解説: iが3で割り切れる回数や計算誤りのため不適切です。
イ3
選択肢イの解説: iが3のときの値(3)のみを足した不適切な数値です。
ウ7
選択肢ウの解説: ループの終了値(7)などを誤って出力しているため不適切です。
エ9正解
選択肢エの解説: i=3とi=6のときに条件を満たし、その累積和(3 + 6 = 9)が出力されるため適切です。
総合解説
プログラムを順にトレース(追跡)します。`totalValue`は最初0です。ループで変数`i`は1から7まで変化します。ループ内で「i÷3の余りが0」すなわち「iが3の倍数」である場合のみ、`totalValue`に`i`を加算します。1から7の中で3の倍数は「3」と「6」です。iが3のとき、`totalValue`は「0 + 3 = 3」になり、iが6のとき、`totalValue`は「3 + 6 = 9」になります。ループ終了後、`totalValue`の「9」が出力されます。したがって、正解は選択肢dです。
AIAIにその場で質問(デモ応答)
こんな聞き方もできます(タップで質問)