Форум программистов, компьютерный форум, киберфорум
Free Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 25.12.2014
Сообщений: 4
1

Составить программу, которая находит наибольшую среднюю линию треугольника

28.12.2014, 14:14. Показов 1939. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
3. Составить программу, которая находит наибольшую среднюю линию треугольника с заданными координатами вершин (x1,y1),(x2,y2),(x3,y3). Расчёт расстояния между двумя точками оформить в виде функции по известной формуле: https://www.cyberforum.ru/cgi-bin/latex.cgi?d=\sqrt{(x_1-x_2)^2+(y_1-y_2)^2}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.12.2014, 14:14
Ответы с готовыми решениями:

Составить программу, которая вычисляет наибольшую среднюю линию треугольника с заданными координатами вершин
Составить программу, которая вычисляет наибольшую среднюю линию треугольника с заданными...

Составить программу, которая находит меньшую сторону треугольника
Составить программу, которая находит меньшую сторону треугольника, если заданы координаты вершин...

Составить функцию которая находит наибольшую сумму элементов строк матрицы
Привет. Помогите составить функцию которая находит наибольшую сумму элементов строк матрицы.

написать программу, которая считывает длины сторон треугольника, проверяет возможность построения треугольника и находит все медианы этого треугольник
1) написать программу, которая считывает длины сторон треугольника, проверяет возможность...

3
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7769 / 4598 / 2823
Регистрация: 22.11.2013
Сообщений: 13,077
Записей в блоге: 1
29.12.2014, 11:16 2
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
{ наибольшая средняя линия треугольника }
type
  TPoint = record
    x, y: Real;
  end;
 
function Dist(const a, b: TPoint): Real;
begin
  Dist:=sqrt(sqr(a.x-b.x)+sqr(a.y-b.y));
end;
 
procedure Middle(const a, b: TPoint; var m: TPoint);
begin
  m.x:=(a.x+b.x)/2;
  m.y:=(a.y+b.y)/2;
end;
 
var
  t, m: array [1..3] of TPoint;
  d, max: Real;
  i: Integer;
begin
  for i:=1 to 3 do with t[i] do begin
    Write('Введите координаты вершины ',Chr(Ord('A')+i-1),': ');
    ReadLn(x,y);
  end;
  Middle(t[1],t[3],m[3]);
  for i:=1 to 2 do Middle(t[i],t[i+1],m[i]);
  max:=Dist(m[1],m[3]);
  for i:=1 to 2 do begin
    d:=Dist(m[i],m[i+1]);
    if max<d then max:=d;
  end;
  WriteLn('Максимальная средняя линия: ', max);
end.
Добавлено через 20 минут
Или, учитывая особенности FPC:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
{ наибольшая средняя линия треугольника }
uses math;
type
  TPoint = record
    x, y: Real;
  end;
  TTriangle = record
    case Integer of
    0: (p: array [1..3] of TPoint);
    1: (a, b, c: TPoint);
  end;
 
function Dist(x1, y1, x2, y2: Real): Real;
begin
  Dist:=sqrt(sqr(x1-x2)+sqr(y1-y2));
end;
 
var
  t: TTriangle;
  i: Integer;
begin
  for i:=1 to 3 do with t.p[i] do begin
    Write('Введите координаты вершины ',Chr(Ord('A')+i-1),': ');
    ReadLn(x,y);
  end;
  with t do WriteLn('Максимальная средняя линия: ', Max(
    Dist((a.x+b.x)/2,(a.y+b.y)/2,(a.x+c.x)/2,(a.y+c.y)/2),
    Max(
      Dist((a.x+b.x)/2,(a.y+b.y)/2,(b.x+c.x)/2,(b.y+c.y)/2),
      Dist((a.x+c.x)/2,(a.y+c.y)/2,(b.x+c.x)/2,(b.y+c.y)/2))));
end.
Добавлено через 7 минут
Иди даже так:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{ наибольшая средняя линия треугольника }
uses math;
type
  TPoint = record
    x, y: Real;
  end;
 
function Dist(x1, y1, x2, y2: Real): Real;
begin
  Dist:=sqrt(sqr(x1-x2)+sqr(y1-y2));
end;
 
var
  a, b, c: TPoint;
begin
  Write('Введите координаты вершин треугольника: ');
  ReadLn(a.x,a.y,b.x,b.y,c.x,c.y);
  WriteLn('Максимальная средняя линия: ', Max(
    Dist((a.x+b.x)/2,(a.y+b.y)/2,(a.x+c.x)/2,(a.y+c.y)/2),
    Max(
      Dist((a.x+b.x)/2,(a.y+b.y)/2,(b.x+c.x)/2,(b.y+c.y)/2),
      Dist((a.x+c.x)/2,(a.y+c.y)/2,(b.x+c.x)/2,(b.y+c.y)/2))));
end.
Добавлено через 2 минуты
Или так:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function Dist(x1, y1, x2, y2: Real): Real;
begin
  Dist:=sqrt(sqr(x1-x2)+sqr(y1-y2));
end;
 
var
  ax, ay, bx, by, cx, cy: Real;
begin
  Write('Введите координаты вершин треугольника: ');
  ReadLn(ax,ay,bx,by,cx,cy);
  WriteLn('Максимальная средняя линия: ', Max(
    Dist((ax+bx)/2,(ay+by)/2,(ax+cx)/2,(ay+cy)/2),
    Max(
      Dist((ax+bx)/2,(ay+by)/2,(bx+cx)/2,(by+cy)/2),
      Dist((ax+cx)/2,(ay+cy)/2,(bx+cx)/2,(by+cy)/2))));
end.
1
1642 / 1091 / 487
Регистрация: 17.07.2012
Сообщений: 5,345
29.12.2014, 13:30 3
bormant, не проще ли по точкам найти стороны? Средняя линия равна пол-стороны которой она параллельна.
3
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7769 / 4598 / 2823
Регистрация: 22.11.2013
Сообщений: 13,077
Записей в блоге: 1
31.12.2014, 00:35 4
Новичок,
безусловно проще:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
uses Math;
 
function Dist(x1, y1, x2, y2: Real): Real;
begin
  Dist:=sqrt(sqr(x1-x2)+sqr(y1-y2));
end;
 
var
  ax, ay, bx, by, cx, cy: Real;
begin
  Write('Введите координаты вершин треугольника: ');
  ReadLn(ax,ay,bx,by,cx,cy);
  WriteLn('Максимальная средняя линия: ', 
    Max(Dist(ax,ay,cx,cy)/2,Max(Dist(ax,ay,bx,by)/2,Dist(bx,by,cx,cy)/2)));
end.
Профессионализм программиста определяется в том числе и количеством ненаписанного им ненужного кода :-)
1
31.12.2014, 00:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.12.2014, 00:35
Помогаю со студенческими работами здесь

Написать программу, которая считывает длины сторон треугольника, проверяет возможность построения треугольника и находит все медианы этого треуголника
Написать программу, которая считывает длины сторон треугольника, проверяет возможность построения...

Написать программу, которая находит наибольшую последовательность цифр в созданном текстовом файле
Нужна ваша помощь в решении задач по теме &quot;файлы&quot; 1. Написать программу, которая находит...

Известны стороны треугольника. Вычислить его среднюю линию.
Известны стороны треугольника. Вычислить его среднюю линию. Добавлено через 3 часа 40 минут...

Написать программу, которая находит определённые вершины треугольника
Задача должна обязательно быть решена через массивы и/или списки Для набора треугольников,...

Написать программу, которая находит площадь треугольника по 2 сторонам и углу
Задание: Написать программу, которая находит площадь треугольника по 2 сторонам и углу. Код:...

Написать программу, которая находит максимальную сумму чисел в вершинах треугольника
Народ такая задача, если кто разбирается в языке SkiLab желательно на нём написать, но можно и на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru