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

Определите периметры треугольников, заданных координатами их вершин

21.04.2011, 20:27. Показов 2186. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задача:Определите периметры треугольников, заданных координатами их вершин A(5,2), B(5,2), C(5,2). Длину стороны треугольника вычисляйте в подпрограмме-процедуре.

Проблема в том что не могу понять математическую модель и какие уравнения\формулы нужны.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.04.2011, 20:27
Ответы с готовыми решениями:

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

Определить периметры треугольников, заданных координатами их вершин
Определить периметры треугольников, заданных координатами их вершин (Х1,Y1,X2,Y2,X3,Y3). Вычисление...

Вычислить площади треугольников, заданных координатами своих вершин
Подпрограммы Два треугольника заданы координатами своих вершин. Вычислить их площади по формуле...

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

4
S9
Волшебник
656 / 259 / 88
Регистрация: 18.12.2010
Сообщений: 545
21.04.2011, 20:49 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
Program S9;
 
Procedure DistancePoint(x1,y1,x2,y2,d:Real);{считаем расстояние между x1,y1 и x2,y2}
Begin
d:=Sqrt(Sqr(x2 - x1) + Sqr(y2 - y1)); 
End;
 
Var
x1,y1,x2,y2,x3,y3,p1,p2,p3,P:Real;
Begin
WriteLn('Point 1');{это точка А}
ReadLn(x1,y1);
WriteLn('Point 2');{это точка В}
ReadLn(x2,y2);
WriteLn('Point 3');{это точка С}
ReadLn(x3,y3);
DistancePoint(x1,y1,x2,y2,p1);
DistancePoint(x2,y2,x3,y3,p2);
DistancePoint(x1,y1,x3,y3,p3);
P:=p1+p2+p3;
WriteLn('P = ',P);
ReadLn;
End.
Программу не тестировал, поэтому работоспособность не гарантирую
1
4 / 4 / 1
Регистрация: 14.03.2011
Сообщений: 31
21.04.2011, 21:09  [ТС] 3
ну пока не работает, но и за это спасибо, щас может сам допилю.

Добавлено через 12 минут
project1.lpr(16,29) Warning: Variable "p1" does not seem to be initialized
project1.lpr(17,29) Warning: Variable "p2" does not seem to be initialized
project1.lpr(18,29) Warning: Variable "p3" does not seem to be initialized

Почему то все время выдает вот это, отсюда получаю что Р всегда равно 0
0
S9
Волшебник
656 / 259 / 88
Регистрация: 18.12.2010
Сообщений: 545
22.04.2011, 09:05 4
Так-же можно решить с помощью функций (ведь функции - это тоже своего рода процедуры).Тут я проверил, все работает.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Program S9; 
Function DistancePoint(x1,y1,x2,y2:Real):Real;{считаем расстояние между x1,y1 и x2,y2}
Begin
DistancePoint:=Sqrt(Sqr(x2 - x1) + Sqr(y2 - y1)); 
End;
 
Var
x1,y1,x2,y2,x3,y3,p1,p2,p3,P:Real;
Begin
WriteLn('Point 1');{это точка А}
ReadLn(x1,y1);
WriteLn('Point 2');{это точка В}
ReadLn(x2,y2);
WriteLn('Point 3');{это точка С}
ReadLn(x3,y3);
p1:=DistancePoint(x1,y1,x2,y2);
p2:=DistancePoint(x2,y2,x3,y3);
p3:=DistancePoint(x1,y1,x3,y3);
P:=p1+p2+p3;
WriteLn('P = ',P:6:2);
ReadLn;
End.
Кстати насчет
project1.lpr(16,29) Warning: Variable "p1" does not seem to be initialized
project1.lpr(17,29) Warning: Variable "p2" does not seem to be initialized
project1.lpr(18,29) Warning: Variable "p3" does not seem to be initialized
я что-то тоже не могу понять...
0
4 / 4 / 1
Регистрация: 14.03.2011
Сообщений: 31
26.04.2011, 11:39  [ТС] 5
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Да собственно это из за того что задача задана некорректно, как оказалось это A(5,2), B(5,2), C(5,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
36
37
38
39
40
41
42
43
44
45
program Project1;
uses crt;
type mass=array [1..5,1..2] of integer;
  var x1,y1,x2,y2,x3,y3,p1,p2,p3,P:real; a,b,c:mass;
i,j:integer;
    Procedure DistancePoint(x1,y1,x2,y2:real; var c:real);
    Begin
      c:=sqrt(sqr(x2-x1)+sqr(y2-y1));
      end;
Begin
  randomize;
  for i:=1 to 5 do
  for j:=1 to 2 do
  Begin
    a[i,j]:=random(20);
    b[i,j]:=random(20);
    c[i,j]:=random(20);
    end;
  for i:=1 to 5 do
  Begin
    for j:=1 to 2 do
    write(a[i,j],' ');
    end;
  writeln;
  for i:=1 to 5 do
  Begin
    for j:=1 to 2 do
    write(b[i,j], ' ');
    end;
  writeln;
  for i:=1 to 5 do
  Begin
    for j:=1 to 2 do
    write(c[i,j], ' ');
    end;
  writeln;
for i:=1 to 5 do
Begin
DistancePoint(a[i,1],a[i,2],b[i,1],b[i,2],p1);
DistancePoint(b[i,1],b[i,2],c[i,1],c[i,2],p2);
DistancePoint(a[i,1],a[i,2],c[i,1],c[i,2],p3);
P:=p1+p2+p3;
writeln('P=',P:5:2);
readln;
end;
1
26.04.2011, 11:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.04.2011, 11:39
Помогаю со студенческими работами здесь

Какой из 2 треугольников, заданных координатами своих вершин, имеет наибольшую площадь?
Какой из 2 треугольников, заданных координатами своих вершин, имеет наибольшую площадь ?

Какой из трех треугольников, заданных координатами своих вершин, имеет наибольший периметр?
Из трех треугольников , заданных координатами своих вершин , имеет больший периметр ?

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

Определить, площадь какого из треугольников, заданных координатами вершин, больше
На плоскости даны координаты вершин 3-х треугольников. Какой из них будет иметь наибольшую площадь?


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

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