スポンサーリンク

ITパスポート試験 令和8年度 [問88] 過去問解説

問題

問88

プログラミングすることによって,ペンの上げ下げ,直進及び右回りの方向転換が可能なロボットがある。このロボットに1辺が1mの正六角形を描画させるプログラムを作成した。次の正六角形描画プログラムのa, bに入れる字句の適切な組合せはどれか。

  • 上記表の「ア」
  • 上記表の「イ」
  • 上記表の「ウ」
  • 上記表の「エ」

[出典:ITパスポート試験 令和8年度 問88]

正解

正解は「」です。

解説

 この問題の正解は「ア」です。まず、aに設定する「処理回数のカウンタ」について考えます。正六角形には辺が6本あるため、描画処理(3)を合計6回実行させる必要があります。条件文(4)には「カウンタが6未満の場合は(3)に戻る」とあります。もしaを0に設定すると、カウンタは0, 1, 2, 3, 4, 5のときに(3)を実行し、次にカウンタが6になった時点で「6未満」という条件から外れて終了します。これでちょうど6回実行されます。もしaを1にすると5回しか実行されず、辺が1本足りなくなります。

 次に、bの「方向転換の角度」です。図形を描くとき、ロボットは現在の進んでいる方向からどれだけ向きを変えるかを考えます。これは数学でいう「外角」に相当します。どんな多角形でも、一周回って元の向きに戻るまでの回転角の合計は360度になります。正六角形の場合は角が6つあるので、1回あたりの回転角度は「360度 ÷ 6 = 60度」となります。

 日常生活で例えると、車の運転で急カーブ(120度)を曲がりすぎるのではなく、適切な角度(60度)で6回曲がって元の場所に戻ってくるイメージです。以上のことから、a=0、b=60の組み合わせが正解となります。

イ(a: 0, b: 120):
 a(実行回数)は正しいですが、方向転換の角度120度は正三角形を描く際の角度であるため誤りです。
ウ(a: 1, b: 60):
 b(角度)は正しいですが、aに1を設定するとループが5回しか回らず、五角形までしか描けないため誤りです。
エ(a: 1, b: 120):
 実行回数が5回になり、かつ角度も正三角形用のものであるため、意図した図形を描くことができず誤りです。

スポンサーリンク

難易度

 この問題は、プログラミングの基礎である「ループ処理」と算数の知識を組み合わせた内容です。IT未経験の方にとっては、繰り返し回数の数え方(0から始まるか1から始まるか)や、多角形を描く際の「内角」と「外角」の違いが少し紛らわしく感じるかもしれません。しかし、論理的に順序を追って考えれば解けるため、初心者の方でも落ち着いて取り組めば正解を導き出しやすい「標準的」な難易度の問題と言えます。

用語補足

カウンタ:
 処理が行われた回数などを数えるための変数です。スタンプカードで回数を記録していくような役割を果たします。

ループ:
 同じ処理を繰り返し実行するプログラムの構造です。洗濯機の「すすぎ」を3回繰り返す設定のようなものです。

外角:
 図形の辺を延長した線と隣の辺が作る角です。ロボットが進行方向から「どれだけ向きを変えるか」を表す際に使われます。

未満:
 その数を含まない、それより小さい範囲のことです。「6未満」であれば、0から5までの整数が該当し、6は含まれません。

対策

 この問題を解くポイントは2つあります。1つ目はループの終了条件を正確に把握することです。「0から始めて6未満」なら6回、「1から始めて6未満」なら5回という違いを意識しましょう。2つ目は、多角形を描く際の回転角は「360 ÷ 頂点の数」で求められる外角を使うことです。ロボットが実際にどの方向に進み、どの程度向きを変えるかを頭の中でシミュレーションすることが有効な対策となります。

Dell 4K ワイドフレームレスモニター 27インチ S2721QS(3年間無輝点交換保証/AMD FreeSync;/4K/IPS非光沢/DP,HDMIx2/縦横回転,高さ調節/スピーカー付)


error:
タイトルとURLをコピーしました