it-kakomon › ITパスポート › 令和8年度 › 問88

令和8年度 ITパスポート 問88(テクノロジ)

出典:令和8年度 ITパスポート試験 公開問題 問88(独立行政法人情報処理推進機構(IPA))

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

正解:ア

【正六角形を描くには】

正六角形の内角は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の組合せです。よって、正解は選択肢アです。

この回の100問を通しで解く(無料)