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

選択肢
- ア
- イ
- ウ
- エ
正解と解き方・学習ポイント(AI解説)
正六角形は辺が6本なので、「1m直進して右回りに方向転換する」処理を6回繰り返します。方向転換角は外角で、360度を6で割った60度です。また、条件が「未満」で、(3)の中でカウンタに1を加えるため、カウンタを0から開始すると0,1,2,3,4,5の6回だけ条件を満たし、ちょうど6回実行できます。したがってa=0、b=60が適切です。
Point
この問題は、正多角形を描くときに必要な反復回数(辺の本数)と、進行方向を変える角度(外角)を求められることを確認します。あわせて、カウンタの初期値、加算のタイミング、終了条件が「未満」である点から、意図した回数だけ処理が実行されるかを確認できることをねらいとしています。
解くために必要な知識
この問題を解くには、正多角形の外角の求め方と、反復処理でのカウンタと終了条件(未満)の関係を理解している必要があります。
用語の整理
正六角形
辺の本数が6本で、各辺の長さと角が等しい多角形です。
外角
多角形を辺に沿って進むときに、次の辺へ進むために回転する角度です。
正n角形では次が成り立ちます。
外角 = 360 / n
反復処理(ループ)とカウンタ
同じ処理を繰り返す仕組みです。カウンタは繰り返した回数を数える変数です。
未満条件
「カウンタ < 6」のように、ある値より小さい間だけ処理を繰り返す条件です。
この問題で使う考え方
反復回数
多角形の辺の本数 = 直進と方向転換の繰り返し回数です。
方向転換角
外角を使い、360度を辺の本数で割って求めます。
カウンタの初期値
次の3点を揃えて、意図した回数だけ繰り返せるかを確認します。
-
初期値(a)
-
加算のタイミング((3)内で+1)
-
終了条件(未満)
問題の解法手順
解く手順
1. 反復回数を決める
正六角形は辺が6本なので、(3)の処理は6回実行する必要があります。
2. 方向転換角bを求める
正n角形の外角は、1周の角度360度をnで割った値です。
b = 360 / 6 = 60
3. カウンタの動きから初期値aを決める
問題文より、(3)の中でカウンタに1を加え、(4)で「未満」の間だけ(3)に戻ります。
カウンタの初期値をaとすると、各回のカウンタは次のように増えます。
| 反復回数 | (3)実行後のカウンタ |
|---|---|
| 1回目 | a + 1 |
| 2回目 | a + 2 |
| ... | ... |
| 6回目 | a + 6 |
ここで、(4)の比較値が6で「カウンタが6未満なら(3)へ戻る」という形だとすると、a=0の場合はカウンタが0,1,2,3,4,5の間だけ6未満となり、(3)がちょうど6回実行されます。
4. 組合せを決定する
以上より、a=0、b=60です。
選択肢ごとの解説
- ア:正解
a=0で、カウンタが0,1,2,3,4,5のときに処理が実行され、合計6回になります。b=60は正六角形の外角で、360度÷6=60度です。正しい組合せです。
- イ:不正解
a=0は反復回数の考え方としては合いますが、b=120は正六角形の外角ではありません。120度で曲がると、正六角形になりません。
- ウ:不正解
b=60は正六角形の外角として正しいですが、a=1だとカウンタが1,2,3,4,5の間だけ6未満となり、(3)が5回しか実行されず1辺不足します。
- エ:不正解
a=1は(3)の繰り返しが5回になり不足します。またb=120も正六角形の外角ではないため、回数と角度の両方が適切ではありません。
まとめ
正六角形は辺が6本なので、「1m直進して右回りに方向転換する」処理を6回繰り返します。方向転換角は外角で、360度を6で割った60度です。また、条件が「未満」で、(3)の中でカウンタに1を加えるため、カウンタを0から開始すると0,1,2,3,4,5の6回だけ条件を満たし、ちょうど6回実行できます。したがってa=0、b=60が適切です。
テクノロジ系 > 基礎理論 > アルゴリズムとプログラミング
a=0で、カウンタが0,1,2,3,4,5のときに処理が実行され、合計6回になります。b=60は正六角形の外角で、360度÷6=60度です。正しい組合せです。
a=0は反復回数の考え方としては合いますが、b=120は正六角形の外角ではありません。120度で曲がると、正六角形になりません。
b=60は正六角形の外角として正しいですが、a=1だとカウンタが1,2,3,4,5の間だけ6未満となり、(3)が5回しか実行されず1辺不足します。
a=1は(3)の繰り返しが5回になり不足します。またb=120も正六角形の外角ではないため、回数と角度の両方が適切ではありません。