В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
KarinaKrasko
KarinaKrasko
01.04.2022 08:19 •  Информатика

Напишите, , алгоритм создания бабочки с рисователя в программе "кумир" на xp​

Показать ответ
Ответ:
kira1180
kira1180
21.06.2020 20:53
Чертёж дан во вложении.
Пусть ΔABC - равнобедренный, АВ = с - его основание, АС = ВС = b - боковые стороны. По условию треугольник симметричен относительно горизонтальной оси, так что его основание АВ должно быть перпендикулярно горизонтальной оси и при этом АО = ОВ, а вершина С попадет на горизонтальную ось. Разместим ΔABC так, чтобы основание попало на вертикальную ось.
Окружность, описанная вокруг треугольника, пройдет через все три его вершины. Точка М - центр описанной окружности, - лежит на пересечении перпендикуляров, проведенных из середин сторон треугольника. Поскольку ΔABC равнобедренный, то ОС - его высота и отрезок МС, равный радиусу окружности R, также лежит на горизонтальной оси.
Найдем высоту ОС, обозначив её через h, по теореме Пифагора.
ОС - это катет ΔAOC, AO ⊥ OC.
\displaystyle h= \sqrt{AC^2-AO^2}= \sqrt{b^2-\left(\frac{c}{2}\right)^2}
Площадь ΔABC находим по формуле
\displaystyle S= \frac{1}{2}\cdot AB \cdot OC = \frac{1}{2}hc
Для нахождения радиуса R = MC рассмотрим прямоугольные ΔAOC и ΔMDC, имеющие общий угол АСО = α
\displaystyle \cos \alpha= \frac{OC}{AC}= \frac{CD}{MC} \to MC= \frac{AC\cdot CD}{OC}; \\ R= \frac{b\cdot \displaystyle \frac{b}{2}}{h} = \frac{b^2}{2h}; \qquad OM=h-R
Теперь легко сделать необходимое построение.
Для этого откладываем от начала координат по горизонтальной оси отрезок ОМ и проводим из него, как из центра, окружность радиуса R. Соединяем между собой три точки пересечения окружностью осей координат и получаем треугольник с длинами сторон, равными заданным.

Ниже приводится программа на языке Microsoft QBasic, позволяющая рассчитать длину отрезка ОМ (Mx - координату х точки М) и радиус описанной окружности R по заданной длине основания с и длине боковой стороны b.

INPUT "Основание: ", c
INPUT "Боковая сторона: ", b
h = SQR(b ^ 2 - (c / 2) ^ 2)
R = b ^ 2 / (2 * h)
Mx = h - R
PRINT "Радиус равен "; R, "Координата центра равна "; Mx

Тестовое решение:
Y:\qbasic>QBASIC.EXE
Основание: 6
Боковая сторона: 5
Радиус равен  3.125         Координата центра равна  .875

Чтобы продолжить, нажмите любую клавишу

(qbasic) построить равнобедренный треугольник симметричный относительно горизонтальной оси, задать е
0,0(0 оценок)
Ответ:
hopas1
hopas1
02.06.2021 19:41
Type
  Point=record
    x,y:real
    end;

procedure GetPoint(c:char; var A:Point);
  var
    x,y:real;
begin
  Write('Введите координаты x и y точки ',c,': ');
  Read(x,y);
  A.x:=x; A.y:=y
end;

function DistPoint(A,B:Point):real;
begin
  DistPoint:=sqrt(sqr(B.x-A.x)+sqr(B.y-A.y))
end;

var
  A,B,M:Point;
  d,p,ab,ma,mb:real;
begin
  GetPoint('A',A); GetPoint('B',B); GetPoint('M',M);
  ab:=DistPoint(A,B); ma:=DistPoint(M,A); mb:=DistPoint(M,B);
  if ma>=ab+mb then d:=mb
  else
    if mb>=ma+ab then d:=ma
    else begin
      p:=(ma+mb+ab)/2;
      d:=2*sqrt(p*(p-ab)*(p-ma)*(p-mb))/ab
    end;
  Writeln('Минимальное расстояние составляет ',d)
end.

Тестовое решение:
Введите координаты x и y точки A: -3 -5
Введите координаты x и y точки B: 2 5
Введите координаты x и y точки M: -3 4
Минимальное расстояние составляет 4.02492235949962
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота