過去問データベース 過去問を探す

九州大学 1999年度
文理共通数学 第3問(c)・第4問(c)

問題

次の(1),(2)では,それぞれ,その目的を実行するためのBASICによるプログラムの始めの部分が与えられている.方針を記述してから,プログラムの残りの部分を完成せよ.ただし,変数A(1),A(2)等には座標等が入力されるものとする.
注意:(1)のプログラムでは配列を表すためにDIM文を使っているが,DIM文を使わないプログラムを作成してもよい.そのときは,行番号10の文は消去し,行番号20,30の文は
20 INPUT A1, A2
30 INPUT P1, P2
で置き換えるものとする.(2)についても,同様である.

(1) 座標平面上の原点と異なる点について,任意の点から直線への距離を表示すること.
10 DIM A(2), P(2)
20 INPUT A(1), A(2)
30 INPUT P(1), P(2)

(2) 点を座標平面上の相異なる点とし,直線で平面を二分する.点がこの直線の同じ側にあるときは1を,異なる側にあるときはを,の少なくとも一方がこの直線上にあるときは0を表示すること.ただし,ある点と直線との距離が,与えられた正数0.00001より小さいときはその点は直線上にあるとみなすことにする.
10 DIM A(2), B(2), P(2), Q(2)
20 EPS=0.00001
30 INPUT A(1), A(2)
40 INPUT B(1), B(2)
50 INPUT P(1), P(2)
60 INPUT Q(1), Q(2)

出典:九州大学 1999年度 前期日程 第2次学力試験 文系 第3問(c)/理系 第4問(c)

方針

(1) は直線 と書き,点と直線の距離公式をそのままプログラムにする。(2) は直線 の左辺に を代入した値の符号で同じ側か異なる側かを判定する。ただし距離が 未満なら直線上とみなすため,代入値を直線係数の長さで割ってからしきい値と比べる。方針としては,距離判定を先に行い,その後で符号の積を見る。

解答

(1)

直線 は原点と を通るので,方程式は である。したがって点 からこの直線までの距離は である。よってプログラムの残りは,この式を計算して表示すればよい。

(2)

直線 と書ける。点 をこの左辺に代入した値を とする。 の符号が同じなら同じ側,異なれば異なる側である。ただし,直線からの距離は なので,これが より小さいときは直線上とみなす。

したがって,例えば次のようにすればよい。

行100,110で点が直線上とみなされる場合を先に除いている。その後は の符号だけを見ればよい。