「3点から三角形の面積を求める」の編集履歴(バックアップ)一覧はこちら

3点から三角形の面積を求める」(2010/11/25 (木) 00:58:25) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

#asciiart(blockquote){ #N88BASIC Function Distance(p1 As *POINTAPI, p2 As *POINTAPI) As Double Distance = Sqr((p1->x - p2->x)^2 + (p1->y - p2->y)^2) End Function Sub InputP(mes As String, p As *POINTAPI) If mes <> "" Then Print mes; Input "x,y = ";p->x, p->y End Sub Sub PrintP(p As *POINTAPI) Print "x=";p->x, "y=";p->y End Sub 'ヘロンの公式 Function heron(a As Double, b As Double, c As Double) As Double heron = Sqr(((a+b+c)*(a+b-c)*(b+c-a)*(c+a-b))/16) End Function '直交座標の式 Function chokou(p1 As *POINTAPI, p2 As *POINTAPI, p3 As *POINTAPI) As Double Dim pp[2] As POINTAPI pp[0].x = p2->x - p1->x pp[0].y = p2->y - p1->y pp[1].x = p3->x - p1->x pp[1].y = p3->y - p1->y chokou = Abs(pp[0].x * pp[1].y - pp[1].x * pp[0].y) / 2 End Function Dim p[3] As POINTAPI Dim d[3] As Double InputP("点1:", VarPtr(p[0])) InputP("点2:", VarPtr(p[1])) InputP("点3:", VarPtr(p[2])) d[0] = Distance(VarPtr(p[0]), VarPtr(p[1])) d[1] = Distance(VarPtr(p[1]), VarPtr(p[2])) d[2] = Distance(VarPtr(p[2]), VarPtr(p[0])) Print "面積=";heron(d[0], d[1], d[2]);chokou(VarPtr(p[0]), VarPtr(p[1]), VarPtr(p[2])) }

表示オプション

横に並べて表示:
変化行の前後のみ表示: