令和8年度 ITパスポート 問88(テクノロジ)
出典:令和8年度 ITパスポート試験 公開問題 問88(独立行政法人情報処理推進機構(IPA))
プログラミングすることによって,ペンの上げ下げ,直進及び右回りの方向転換が可能なロボットがある。このロボットに1辺が1mの正六角形を描画させるプログラムを作成した。次の正六角形描画プログラムのa,bに入れる字句の適切な組合せはどれか。
〔正六角形描画プログラム〕
(1)ペンを下ろす。
(2)処理回数のカウンタに[ a ]を設定する。
(3)次の処理を順に実行する。
・1m直進する。
・右回りに[ b ]度方向転換する。
・処理回数のカウンタに1を加える。
(4)処理回数のカウンタが6未満の場合は,(3)に戻る。
(5)ペンを上げる。
| 選択肢 | a | b |
|---|---|---|
| ア | 0 | 60 |
| イ | 0 | 120 |
| ウ | 1 | 60 |
| エ | 1 | 120 |
正解と解説を見る
正解:ア
【正六角形を描くには】
正六角形の内角は120度です。ロボットが辺に沿って進むとき、角で向きを変える角度は内角ではなく外角で、180 - 120 = 60度です(多角形の外角の和は必ず360度なので、360 ÷ 6 = 60度と求めることもできます)。したがって、bは60です。
【カウンタの初期値】
処理(3)は「1m直進して、60度方向転換して、カウンタに1を加える」で、1回実行すると1辺を描きます。6辺を描くには、(3)をちょうど6回実行する必要があります。
・aが0の場合:(3)を1回実行するとカウンタが1、…、6回実行すると6になり、(4)で「6未満」ではなくなるので終了します。6回実行して6辺を描けます。
・aが1の場合:(3)を5回実行した時点でカウンタが6になって終了するので、5辺しか描けません。
aは0、bは60の組合せです。よって、正解は選択肢アです。