Mathematics
Examination
Test
Archives
図1 画面上の直線の例
コンピュータの画面上に描かれる絵や文字は,実際には,小さなマス目のいくつかを塗りつぶすことで表現されている.例えば図1の左のような画面上の直線を虫眼鏡などで拡大すると図1の右のようにマス目が塗りつぶされていることが確認できる.
ここでは,塗りつぶされたマス目を点とよび,始点と終点の座標を入力したときに,直線となるようにマス目を塗りつぶしていく処理手順について考えてみよう.
図2 マス目の座標
マス目の横方向を軸,縦方向を軸として,図2のように座標を決めることにする.例えば,点は座標を塗りつぶすことで表され,点は座標を塗りつぶすことで表される.
始点の座標を終点の座標をとする直線(ただし,は以上の整数,またとする)は次のようにして表される.平面上の点とを通る直線の方程式すなわちに基づき,の値をからまで刻みで増やしながら,の値をそれぞれ計算し,これに相当する座標を,順次,塗りつぶす.ただし,の値が小数になったときには小数点以下を切り捨てることとする.
この処理手順を,図4に示す記号を用いてフローチャート(流れ図)として表現したものが図3である.
図1: フローチャート |
手順の流れは原則として「上から下へ」進む. 「」は「にの値を代入する」を表す. 図2: フローチャートの記号 |
[設問1] としてをそれぞれ入力した場合,図3におけるの処理が何回実行されるか,答えなさい.
[設問2] として,をそれぞれ入力した結果について,マス目を塗りつぶして答えなさい.
[設問3] 図3の処理手順には,直線の傾きが一定の条件の場合に,塗りつぶすマス目が離れてしまい不連続な直線ができる,という問題点がある.この問題が発生する条件を答えるとともに,その解決策について述べなさい.