ЛЮЮЮДИ ПОМОГИТЕ ДЛЯ ЗАЧЕТА НАДООО Даны координаты двух точек на плоскости.Если хотя бы одна из них лежит на какой-нибудь оси, то вывести сообщение об этом; если они обе находятся в одной четверти, то найти и вывести расстояние ...

ЛЮЮЮДИ ПОМОГИТЕ ДЛЯ ЗАЧЕТА НАДООО Даны координаты двух точек на плоскости.Если хотя бы одна из них лежит на какой-нибудь оси, то вывести сообщение об этом; если они обе находятся в одной четверти, то найти и вывести расстояние между ними;иначе точку, наиболее удаленную от центра координат. Это нужно в паскале Даю 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.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы