Advertisement
eggggggggor

тупоугольник+

Nov 24th, 2023
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 2.35 KB | None | 0 0
  1. program ObtuseTriangleAnglesi;
  2.  
  3. Uses math;
  4.  
  5. var
  6.     x1, y1, x2, y2, x3, y3: real;
  7.     a, b, c, longest_side: real;
  8.     angleA, angleB, angleC: real;
  9.  
  10. begin
  11.     // Ввод координат точек
  12.     write('Введите координаты первой точки (x1 y1): ');
  13.     readln(x1, y1);
  14.     write('Введите координаты второй точки (x2 y2): ');
  15.     readln(x2, y2);
  16.     write('Введите координаты третьей точки (x3 y3): ');
  17.     readln(x3, y3);
  18.  
  19.     // Вычисляем длины сторон
  20.     a := sqrt(sqr(x2 - x1) + sqr(y2 - y1));
  21.     b := sqrt(sqr(x3 - x2) + sqr(y3 - y2));
  22.     c := sqrt(sqr(x1 - x3) + sqr(y1 - y3));
  23.  
  24.     if (a > b) and (a > c) then
  25.     begin
  26.         longest_side := a;
  27.     end
  28.     else if (b > c) then
  29.     begin
  30.         longest_side := b;
  31.     end
  32.     else
  33.     begin
  34.         longest_side := c;
  35.     end;    
  36.  
  37.     // Проверяем условие тупоугольного треугольника
  38.                                                   //Самая длинная сторона - это сторона а
  39.     if (sqr(longest_side) > sqr(b) + sqr(c)) and (longest_side <> b) and (longest_side <> c) or
  40.                                                   //Самая длинная сторона - это сторона b
  41.        (sqr(longest_side) > sqr(a) + sqr(c)) and (longest_side <> a) and (longest_side <> c) or
  42.                                                   //Самая длинная сторона - это сторона c
  43.        (sqr(longest_side) > sqr(a) + sqr(b)) and (longest_side <> a) and (longest_side <> b) then
  44.     begin
  45.         // Вычисляем углы в радианахi и переводим в градусы
  46.         angleA := arccos((sqr(b) + sqr(c) - sqr(a)) / (2 * b * c)) * 180 / pi;
  47.         angleB := arccos((sqr(a) + sqr(c) - sqr(b)) / (2 * a * c)) * 180 / pi;
  48.         angleC := arccos((sqr(a) + sqr(b) - sqr(c)) / (2 * a * b)) * 180 / pi;
  49.  
  50.         // Выводим результат
  51.         writeln('Угол A: ', angleA:0:2, ' градусов');
  52.         writeln('Угол B: ', angleB:0:2, ' градусов');
  53.         writeln('Угол C: ', angleC:0:2, ' градусов');
  54.     end
  55.     else
  56.         writeln('Треугольник не является тупоугольным.');
  57. end.
  58.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement