令和8年度 問88
正六角形を描くプログラム
出典: 令和8年度 ITパスポート試験 公開問題 問88 (IPA)
プログラミングすることによって,ペンの上げ下げ,直進及び右回りの方向転換が可能なロボットがある。このロボットに1辺が1 m の正六角形を描画させるプログラムを作成した。次の正六角形描画プログラムの a, b に入れる字句の適切な組合せはどれか。
〔正六角形描画プログラム〕
- (1) ペンを下ろす。
- (2) 処理回数のカウンタに [ a ] を設定する。
- (3) 次の処理を順に実行する。
・・1 m 直進する。
・・右回りに [ b ] 度方向転換する。
・・処理回数のカウンタに1を加える。 - (4) 処理回数のカウンタが6未満の場合は,(3) に戻る。
- (5) ペンを上げる。
- ア a: 0, b: 60
- イ a: 0, b: 120
- ウ a: 1, b: 60
- エ a: 1, b: 120
正解と解説を見る
正解: ア
- ア: カウンタを 0 から始めると 6 回繰り返し、1 回に 60 度曲がるので、1 周して正六角形になります。正しい答えです。
- イ: 120 度は正六角形の内角です。ロボットが曲がる角度は 60 度です。
- ウ: カウンタを 1 から始めると 5 回しか繰り返しません。
- エ: カウンタが 1 から始まり、120 度では、どちらも合いません。
ポイント
- a: 処理を 6 回繰り返したいので、カウンタを 0 から始めます。「6 未満なら戻る」ので、0, 1, 2, 3, 4, 5 の 6 回実行されます。1 から始めると 5 回しか繰り返しません。
- b: 正六角形を描き終えると 1 周 (360 度) 回るので、1 回の方向転換は 360 ÷ 6 = 60 度です。(正六角形の内角は 120 度ですが、ロボットが曲がる角度は外角の 60 度です。)
広告
「アルゴリズムとプログラミング」をこのサイトで解く (記録・間違えた問題の解き直し・AI教師への質問)
広告