armentamada1906
?>

Даны действительные числаx, y (x≠ y меньшее из этих двух чисел заменить их полусуммой, а большее – их удвоенным произведением. нужно решить в basic.

Информатика

Ответы

ВладимировнаАлександр1421
DIM x AS DOUBLE, y AS DOUBLE
CLS
INPUT x, y
IF x < y THEN
   x = (x + y) / 2
   y = 2 * x * y
ELSE
   y = (x + y) / 2
   x = 2 * x * y
END IF
PRINT "x="; x; ", y="; y

Результат
? 5.68,3.9
x= 54.4144 , y= 4.79

Даны действительные числаx, y (x≠ y). меньшее из этих двух чисел заменить их полусуммой, а большее –
abadaeva
Точки А и В - любые точки на плоскости.

Установить раствор циркуля равный заданному радиусу.
Установить ножку циркуля в точку А, провести окружность.
Установить ножку циркуля в точку В, провести окружность.
Есть ли точки пересечения?
Нет - искомой окружности не существует.
Да - Устанавливаем ножку циркуля в точку пересечения, проводим окружность.

(Точек пересечения может быть две, тогда можно построить две окружности. Или окружности могут соприкасаться в одной точке, тогда искомая окружность будет одна.)
Tselyaritskaya Yurevich
Для начала задачу нужно решить чисто математически, решения приведены на листочках. 
Поскольку задача школьная, то вариант совпадения точек не рассматривается
Алгоритмического языка не знаю, но поскольку это вариант псевдокода, то думаю алгоритм вполне понятен

алг Круг_по_двум_точкам_и_радиусу(арг действ 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.


Записать алгоритм записать алгоритм запишите на алгоритмическом языке алгоритм построения окружности
Записать алгоритм записать алгоритм запишите на алгоритмическом языке алгоритм построения окружности

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Даны действительные числаx, y (x≠ y меньшее из этих двух чисел заменить их полусуммой, а большее – их удвоенным произведением. нужно решить в basic.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

prohorovalena
Aleksandrovich-Mayatskikh
axo-geo
nebo2020
Nikolaevna1623
sakh2010kprf7
format-l3364
Reznikova1075
optikaleks7
Шиморянов Мария1866
Columbia777
petrova-kate3
Конычева-музей&quot;260
Olesya
nataliagorki476