• Помогите записать алгоритм Помогите записать алгоритм  Запишите на алгоритмическом языке алгоритм построения окружности заданного радиуса r, проходящей через заданные точки А и В

Ответы 1

  • Для начала задачу нужно решить чисто математически, решения приведены на листочках. Поскольку задача школьная, то вариант совпадения точек не рассматриваетсяАлгоритмического языка не знаю, но поскольку это вариант псевдокода, то думаю алгоритм вполне понятеналг Круг_по_двум_точкам_и_радиусу(арг действ Ax, арг действ Ay, арг действ Bx, арг действ By, арг действ r)   дано | A,B,r   надо | нарисовать окружностьнач    ввод Ax, Ay, Bx, By, r    действ dAB = ((Ax - Bx)^2 + (Ay - By)^2)^(0.5) // длина АВ    действ h = (r^2-dAB^2/4)^(0.5) // высота и длина вектора ОМ    // М середина АВ    действ Mx = (Ax + Bx) / 2     действ My = (Ay + By) / 2    //первый круг    действ Ox = Mx + (Ay - By) * h/dAB    действ Oy = My - (Ax - Bx) * h/dAB    нарисовать_круг(Ox, Oy, r)    //второй круг    Ox = Mx - (Ay - By) * h/dAB    Oy = My + (Ax - Bx) * h/dAB    нарисовать_круг(Ox, Oy, r)кон//PascalABC.NET версия 3.3.1590 от 03.12.2017//Если программа не запускается, то обновите версиюuses GraphABC;const    zoom = 100;var    Ax, Ay, Bx, By, r: real;begin    readln(Ax, Ay, Bx, By, r);        var dAB := sqrt(sqr(Ax - Bx) + sqr(Ay - By)); // длина АВ    var h := sqrt(r * r - dAB * dAB / 4); // высота и длина вектора ОМ        // М середина АВ    var Mx := (Ax + Bx) / 2;    var My := (Ay + By) / 2;        //первый круг    var Ox := Mx + (By - Ay) * h / dAB;    var Oy := My - (Bx - Ax) * h / dAB;    DrawCircle(round(Ox * zoom), round(Oy * zoom), round(r * zoom));        //второй круг    Ox := Mx - (By - Ay) * h / dAB;    Oy := My + (Bx - Ax) * h / dAB;    DrawCircle(round(Ox * zoom), round(Oy * zoom), round(r * zoom));end.
    answer img
    • Автор:

      willow23
    • 6 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years