Есть ответ 👍

Из текста даны 3 точки, нужно найти окружность, которая охватывает все точки к примеру три точки с координатами: a(100 100) b(300 300) c(100 300) а вывести координаты центра и на котором лежат все точки. какой код будет на pascal?

179
230
Посмотреть ответы 2

Ответы на вопрос:


Точки a, b, c, заданные на плоскости координатами, соединяем между собой и получаем треугольник. сводится к нахождению радиуса и координат центра окружности, описанной вокруг треугольника. направим вдоль сторон треугольника abc векторы: a от в к с, b от а к с, с от а к в. радиус описанной окружности можно найти по формуле: в числителе последней дроби стоит скалярное произведение векторов, в знаменателе - произведение их модулей. координаты центра вычисляются по формулам: в формулах используются координаты точек, а не векторов. площадь треугольника s может быть вычислена по формуле герона: type   vector = record       x: real;       y: real;       l: real   end;   point = record       x: real;       y: real   end; procedure initpoint(s: string; var p: point);   //вводит координаты x,y точки p begin   write('введите координаты x,y точки ' + s, ' ');   readln(p.x, p.y) end; procedure getvector(a: point; b: point; var ab: vector);   // определяет координаты вектора и его длину по пвре точек begin   with ab do   begin       x : = b.x - a.x;       y : = b.y - a.y;       l : = sqrt(sqr(x) + sqr(y))   end end; function innerprod(a: vector; b: vector): real; begin   result : = a.x * b.x + a.y * b.y end; function alpha(a: vector; b: vector): real;   // возвращает угол между векторами a,b begin   result : = arccos(abs(innerprod(a, b)) / (a.l * b.l)); end; function trianglesq(a: real; b: real; c: real): real;   // возвращает площадь треугольника, найденную по трем сторонам   // (формула герона) var   p: real; begin   p : = (a + b + c) / 2;   result : = sqrt(p * (p - a) * (p - b) * (p - c)) end; procedure getcenter(a: point; b: point; c: point; s: real; var d: point); // помещает в запись d координаты центра окружности площадью s, // описанной вокруг треугольника с вершинами а,в и с var   la2, lb2, lc2, detx, dety: real; begin   la2 : = sqr(a.x) + sqr(a.y);   lb2 : = sqr(b.x) + sqr(b.y);   lc2 : = sqr(c.x) + sqr(c.y);   detx : = lb2 * c.y - lc2 * b.y - la2 * c.y + lc2 * a.y + la2 * b.y - lb2 * a.y;   dety : = lb2 * c.x - lc2 * b.x - la2 * c.x + lc2 * a.x + la2 * b.x - lb2 * a.x;   d.x : = detx / (4 * s);   d.y : = -dety / (4 * s) end; var   ap, bp, cp: point;   a, b, c: vector;   r, s: real;   op: point; begin   //ввод координат точек   initpoint('a', ap);   initpoint('b', bp);   initpoint('c', cp);   //вычисление векторов a=bc, b=ab, c=ac   getvector(bp, cp, a);   getvector(ap, bp, b);   getvector(ap, cp, c);   r : = a.l / (2 * sin(alpha(b, ; //радиус описанной окружности   s : = trianglesq(a.l, b.l, c.l);   getcenter(ap, bp, cp, s, op);   writeln('радиус описанной окружности r=', r: 0: 2);   writeln('координаты центра этой окружности: о(', op.x: 0: 1, '; ', op.y: 0: 1, ')') end. тестовое решение (проверено построением): введите координаты x,y точки a 100 100 введите координаты x,y точки b 300 300 введите координаты x,y точки c 100 300 радиус описанной окружности r=141.42 координаты центра этой окружности: о(200.0; 200.0)
Gambuker
4,4(1 оценок)

2мбайт, 1 мбайт, 925 кбайт, 1025 кбайт, 1 кбайт

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS