88の正解: テクノロジ系アルゴリズムとプログラミング

プログラミングすることによって、ペンの上げ下げ、直進及び右回りの方向転換が可能なロボットがある。このロボットに1辺が1mの正六角形を描画させるプログラムを作成した。次の正六角形描画プログラムのa, bに入れる字句の適切な組合せはどれか。 〔正六角形描画プログラム〕 (1) ペンを下ろす。 (2) 処理回数のカウンタに [ a ] を設定する。 (3) 次の処理を順に実行する。 ・1m直進する。 ・右回りに [ b ] 度方向転換する。 ・処理回数のカウンタに1を加える。 (4) 処理回数のカウンタが6未満の場合は、(3)に戻る。 (5) ペンを上げる。

問88の図

この設問が問うていること

プログラミングにおけるループ処理と幾何学的な図形描画の概念について問う設問です。

a=0, b=60正解
選択肢の解説: 「a=0, b=60」の組み合わせです。カウンタの初期値が0、方向転換の角度が60度であり、正六角形を描画するプログラムとして正しい組み合わせです。
a=0, b=120
選択肢の解説: 「a=0, b=120」の組み合わせです。カウンタの初期値は正しいですが、方向転換の角度が120度では正六角形を描画できません。
a=1, b=60
選択肢の解説: 「a=1, b=60」の組み合わせです。方向転換の角度は正しいですが、カウンタの初期値が1ではループが5回しか実行されず、正六角形を描画できません。
a=1, b=120
選択肢の解説: 「a=1, b=120」の組み合わせです。カウンタの初期値も方向転換の角度も正六角形を描画するプログラムとしては不適切です。

総合解説

この問題は、ロボットに正六角形を描画させるプログラムの穴埋めを通して、プログラミングの基本的な「ループ処理(繰り返し処理)」と「図形描画の幾何学的な考え方」を理解しているかを問うものです。 1. カウンタの初期値 `a` について プログラムの(4)には「処理回数のカウンタが6未満の場合は、(3)に戻る」とあります。これは、カウンタの値が0, 1, 2, 3, 4, 5 のときにループ((3)の処理)が実行されることを意味します。つまり、合計6回ループが実行されます。正六角形は6つの辺を持つため、6回直進し、6回方向転換する必要があります。したがって、カウンタの初期値 `a` は `0` が適切です。もし `a=1` とすると、カウンタは1, 2, 3, 4, 5 の5回しかループが実行されず、正六角形を描画できません。 2. 方向転換の角度 `b` について ロボットが多角形を描く場合、各頂点で「外角」の分だけ方向転換します。正六角形は6つの辺を持つため、外角は 360度 ÷ 6辺 = 60度 となります。したがって、右回りに方向転換する角度 `b` は `60` 度が適切です。内角の120度で方向転換すると、ロボットは内側に向かって曲がりすぎてしまい、正六角形にはなりません。 これらの理由から、「a=0, b=60」の組み合わせである選択肢アが正解となります。他の選択肢は、カウンタの初期値または方向転換の角度、あるいはその両方が不適切であるため、正六角形を正しく描画できません。

執筆・監修: 運営者 KH更新日: 2026-06-30出典: IPA公式PDF(過去問題・解答例)
AIAIにその場で質問(デモ応答)

こんな聞き方もできます(タップで質問)

令和8年度を本番同様のCBT形式で解いてみよう

無料登録なしでも一部体験可能。登録すれば採点・弱点分析・AI教科書まで使えます。

令和8年度の過去問CBTを解く