ЛЮЮЮДИ ПОМОГИТЕ ДЛЯ ЗАЧЕТА НАДООО Даны координаты двух точек на плоскости.Если хотя бы одна из них лежит на какой-нибудь оси, то вывести сообщение об этом; если они обе находятся в одной четверти, то найти и вывести расстояние ...
ЛЮЮЮДИ ПОМОГИТЕ ДЛЯ ЗАЧЕТА НАДООО
Даны координаты двух точек на плоскости.Если хотя бы одна из них лежит на какой-нибудь оси, то вывести сообщение об этом; если они обе находятся в одной четверти, то найти и вывести расстояние между ними;иначе точку, наиболее удаленную от центра координат. Это нужно в паскале Даю 99 баллов
Ответ(ы) на вопрос:
Гость
Это задача на наименьшее(наибольшее) значение функции.Принцип решения: а) ввести х
б) остальные неизвестные величины выразить через х
в) составить формулу функции, минимальное( максимальное ) значение которой в задаче имеется.
г) исследовaть её на min (max)
Пусть разговор идёт про точку М. Её координаты буду х и (6 - х)
Расстoяние от начала координат =|ОМ|. Именно ОМ должно быть минимальным. ОМ является функцией от х. Надо ОМ найти. Будем искать по т.Пифагора.
ОМ² = х² + (6 - х)² ⇒ ОМ = √(х² + 36 -12х +х²) = √(2х² -12х + 36)
Значит, у = √(2х² -12х + 36)
Проведём исследование этой функции на min
Производная = 1/2√(2х² -12х + 36) · ( 4х - 12)
Приравниваем её к нулю. Ищем критические точки
1/2√(2х² -12х + 36) · ( 4х - 12) = 0⇒ 4х - 12 = 0⇒ 4х = 12⇒х = 3
(2х² -12х + 36≠0)
-∞ - 3 + +∞
Смотрим знаки производной слева от 3 и справа
Производная меняет свой знак с " - " на " + " ⇒ х = 3 - это точка минимума.
Ответ: точка М имеет координаты (3;3), ОМ = √(9 + 9) = √18 = 3√2
Гость
var x1,y1,x2,y2:Integer;
L1,L2,L3:real;
b,c:boolean;
begin
Readln(x1,y1,x2,y2);
L1:=sqrt(sqr(x1)+sqr(y1));
L2:=sqrt(sqr(x2)+sqr(y2));
L3:=sqrt(sqr(x2-x1)+sqr(y2-y1));
If (x1=0) or (y1=0) then
Writeln('Первая точка лежит на оси');
If (x2=0) or (y2=0) then
Writeln('Вторая точка лежит на оси');
b:=false;
c:=false;
If (x1=0) or (x2=0) then
b:=true
else
If x1 div x2>0 then
b:=true;
If (y1=0) or (y2=0) then
c:=true
else
If y1 div y2>0 then
c:=true;
If (b=true) and (c=true) then
Writeln(L3)
else
Writeln(max(L1,L2));
end.
Не нашли ответ?
Похожие вопросы