profile
Размещено 4 года назад по предмету Информатика от Avengerone

Определить пересекаются ли линии y=ax^4+bx^3+cx^2+dx+f и y=bx^3+mx^2+dx+p. Если пересекаются, найти точку пересечения. Язык Паскаль.

  1. Ответ на вопрос
    Ответ на вопрос дан Аккаунт удален
    Линии пересекаются в точках, где их уравнения при одинаковых аргументах возвращают одинаковые значения. Чтобы определить условия точек пересечения заданных уравнений линий
    y=ax^4+bx^3+cx^2+dx+f; quad y=bx^3+mx^2+dx+p
    следует приравнять их правые части и решить полученное уравнение относительно аргумента х.
    ax^4+bx^3+cx^2+dx+f=bx^3+mx^2+dx+p; \ ax^4+cx^2+f=mx^2+p; ax^4+x^2(c-m)+(f-p)=0;
    Сделаем подстановку и получим квадратное уравнение:
    x^2 rightarrow t; quad c-m= reghtarrow u; quad f-p= rightarrow v quad Rightarrow quad at^2+ut+v=0;
    Далее находим дискриминант, проверяем его знак, производим ветвление алгоритма в зависимости от результата. При неотрицательных t определяем х, извлекая из t квадратный корень и для каждого х вычисляем у из второго уравнения (оно короче).

    var
      a, b, c, d, f, m, p: real;

    function y(x: real): real;
    begin
      y := b * x * sqr(x) + m * sqr(x) + d * x + p
    end;

    procedure OutPoint(x: real);
    begin
      writeln('Найдена точка пересечения функций (', x, ',', y(x), ')')
    end;

    procedure TDev(t: real; var np: Boolean);
    var
      x: real;
    begin
      if t = 0 then begin
        np := false;
        OutPoint(0)
      end
      else if t > 0 then begin
        np := false;
        x := -sqrt(t);
        OutPoint(x);
        x := sqrt(t);
        OutPoint(x)
      end
    end;

    var
      x1, x2, u, v, t1, t2, Dis: real;
      NoPoints: Boolean;

    begin
      writeln('Введите значения переменных a,b,c,d,f,m,p');
      readln(a, c, f, m, p);
      u := c - m;
      v := f - p;
      Dis := sqr(u) - 4 * a * v;
      NoPoints := true;
      if Dis = 0 then begin
        t1 := -u / (2 * a);
        TDev(t1,NoPoints);
         end
      else begin
        t1 := (-u - sqrt(Dis)) / (2 * a);
        TDev(t1,NoPoints);
        t2 := (-u + sqrt(Dis)) / (2 * a);
        TDev(t2,NoPoints);
      end;
      if NoPoints then writeln('Общих точек пересечения нет')
    end.

    Тестовое решение

    Введите значения переменных a,b,c,d,f,m,p
    2 3 4 5 6 7 8
    Найдена точка пересечения функций (-1.27201964951407,14.0901699437495)
    Найдена точка пересечения функций (1.27201964951407,14.0901699437495)

    Введите значения переменных a,b,c,d,f,m,p
    -3 -5 -3 2 1 4 5
    Общих точек пересечения нет



    1. Ответ на вопрос
      Ответ на вопрос дан Аккаунт удален
      Ну значит почти будущий коллега.
    2. Ответ на вопрос
      Ответ на вопрос дан Avengerone
      да.
Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 5 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.