1 / 1 / 0
Регистрация: 18.10.2013
Сообщений: 17
1

По введенным координатам 3 точек на плоскости вычислить определить соответствующий треугольник

18.10.2013, 17:56. Показов 6098. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
По введенным координатам 3 точек на плоскости вычислить определить соответствующий треугольник (если это возможно), вычислив величины его углов, периметр и площадь.
Указание: Точки задавать, используя записи с двумя полями (вещественного типа), вывод результатов организовать таблицей следующего вида. Самостоятельно найти способ прорисовки рамок таблицы и округления входящих в нее значений величин (используя документацию по языку программирования)

Вершина Координаты
на плоскости Величина угла
(в градусах)
A (0,0) 90
B (0,1) 45
C (1,0) 45

Периметр треугольника 3,414
Площадь треугольника 0,5
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.10.2013, 17:56
Ответы с готовыми решениями:

По введенным координатам вершин треугольника определите является ли данный треугольник прямоугольным
Сейчас нужно... По введенным координатам вершин треугольника определите является ли данный...

Процедура позволяет рисовать треугольник по координатам вершин трёх точек. Нарисовать прямоугольный треугольник, и равнобедренный
помогите пожалуйста решить, срочно нужно на экзамен...жду вашей помощи) 1)Процедура позволяет...

По заданным координатам точек на плоскости найти треугольник с минимальным периметром
Your a given coordinates of N points on the XY-plane.All points are different.Find the triangle...

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

1
Супер-модератор
6145 / 2887 / 1299
Регистрация: 04.03.2013
Сообщений: 5,750
Записей в блоге: 1
18.10.2013, 21:35 2
Лучший ответ Сообщение было отмечено eleot как решение

Решение

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
46
47
48
49
50
const
  pi = 3.1415926;
type
  vertex = record //вершина
    x : real; 
    y : real
  end;
var
  triangle : array[1..3] of vertex; //треугольник
  a : array[1..3] of real;
  p : array[1..3] of real;
  i : byte;
  z, s, a12, a23, a13 : real;
begin
  p[1] := 0; p[2] := 0; p[3] := 0; s := 0;
  {ввод координат вершин треугольника}
  repeat
    write('введите координаты вершины A треугольника ABC: ');
    readln(triangle[1].x, triangle[1].y);
    write('введите координаты вершины B треугольника ABC: ');
    readln(triangle[2].x, triangle[2].y);
    write('введите координаты вершины C треугольника ABC: ');
    readln(triangle[3].x, triangle[3].y)
  // проверка чтобы 2 или 3 вершины не совпали
  until
    (triangle[1] <> triangle[2]) and (triangle[2] <> triangle[3])
    and (triangle[1] <> triangle[3]); 
  {расчет периметра и вывод его на экран}  
  p[1] := sqrt(sqr(triangle[1].x-triangle[2].x) + sqr(triangle[1].y-sqr(triangle[2].y)));  
  writeln('сторона AB имеет длину: ', p[1]:6:3); 
  p[2] := sqrt(sqr(triangle[1].x-triangle[3].x) + sqr(triangle[1].y-sqr(triangle[3].y)));  
  writeln('сторона AC имеет длину: ', p[2]:6:3);  
  p[3] := sqrt(sqr(triangle[3].x-triangle[2].x) + sqr(triangle[3].y-sqr(triangle[2].y)));  
  writeln('сторона BC имеет длину: ', p[3]:6:3);
  z := p[1] + p[2] + p[3];
  {углы}
  // по теореме косинусов
  a[1] := arccos((sqr(p[2]) + sqr(p[1]) - sqr(p[3])) / (2 * p[2] * p[3])) * 180 / pi;
  a[2] := arccos((sqr(p[1]) + sqr(p[3]) - sqr(p[2])) / (2 * p[1] * p[3])) * 180 / pi;
  a[3] := 180 - a[2] - a[1];
  {вывод таблицы}
  writeln('вывод координат треугольника и углов треугольника: ');
  for i := 1 to 3 do
    writeln('x = ', triangle[i].x:6:3, ' y = ', triangle[i].x:6:3, ' угол = ', round(a[i]));  
  writeln('периметр треугольника ABC равен: ', z:6:3);
  {нахождение площади}
  s := sqrt((z / 2) * ((z / 2) - p[1]) * ((z / 2) - p[2]) * ((z / 2) - p[3]));
  writeln('площадь треугольника ABC равен: ', s:6:3);
  readln  
end.
Добавлено через 1 минуту
Отладка выглядит примерно так:
Код
введите координаты вершины A треугольника ABC: 0 0
введите координаты вершины B треугольника ABC: 0 1
введите координаты вершины C треугольника ABC: 1 0
сторона AB имеет длину:  1.000
сторона AC имеет длину:  1.000
сторона BC имеет длину:  1.414
вывод координат треугольника и углов треугольника: 
x =  0.000 y =  0.000 угол = 90
x =  0.000 y =  0.000 угол = 45
x =  1.000 y =  1.000 угол = 45
периметр треугольника ABC равен:  3.414
Добавлено через 3 минуты
Надеюсь я с тут с правками уложился... Посмотрите еще раз...
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.10.2013, 21:35
Помогаю со студенческими работами здесь

По заданным целым координатам точек на плоскости определить фигуру
По заданным целым координатам точек на плоскости определить фигуру, соединив точки в порядке ввода...

Проверить треугольник по введенным координатам
Мне надо создать программу в котором надо вводить координаты треугольника и если координаты не...

По координатам трех точек на плоскости определить, лежат ли они на одной прямой
По координатам трех точек на плоскости определить, лежат ли они на одной прямой.

По вещественным координатам двух точек на Декартовой плоскости вычислить расстояние между ними
Написать функцию , которая по вещественным координатам двух точек на Декартовой плоскости вычисляет...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru