function get_side(xst, yst, xfn, yfn: double): double; begin result := sqrt(sqr(xst - xfn) + sqr(yst - yfn)); end; function mediana(side_a, side_b, against: double): double; begin result := sqrt(2 * (sqr(side_a) + sqr(side_b)) - sqr(against)) / 2; end;
procedure TForm.get_medians; var len_a, len_b, len_c: double; sum: double; begin len_a := get_side(strtofloat(edit1.text), strtofloat(edit2.text), strtofloat(edit3.text), strtofloat(edit4.text)); len_b := get_side(strtofloat(edit3.text), strtofloat(edit4.text), strtofloat(edit5.text), strtofloat(edit6.text)); len_с := get_side(strtofloat(edit5.text), strtofloat(edit6.text), strtofloat(edit1.text), strtofloat(edit2.text)); sum := mediana(len_b, len_c, len_a) + // медиана к стороне А mediana(len_a, len_c, len_b) + // к стороне В mediana(len_a, len_b, len_c); // к стороне С
{ вывод суммы медиан куда нужно... } end;
только на форме у тебя должны быть не 2 Edit-а, а 6 (1 и 2 содержат X, Y координаты вершины A; 3 и 4 - для вершины B; ну, а 5 и 6 - для C соответственно)...