Информатика, вопрос задал PaNFeR131 , 9 лет назад

9 задача, паскаль, пожалуйста

Приложения:

Ответы на вопрос

Ответил Аноним
0
Вспоминаем математику. Если функция дважды дифференцируема, то её минимум находится в точке х тогда, когда в этой точке первая производная равна нулю, а вторая производная имеет положительное значение.
displaystyle f(x)=ax^3+bx^2+cx+d \ f^{'}(x)=3ax^2+2bx+c \ f^{''}(x)=6ax+2b \ f^{'}(x)=0;  3ax^2+2bx+c=0; D=4b^2-12ac;  Dge0

// PascalABC.NET 3.1, сборка 1246 от 23.05.2016
function f(a,b,c,d,x:real):=d+x*(c+x*(b+a*x));

begin
  var a,b,c,d:real;
  Write('Введите значения a b c d: ');
  Read(a,b,c,d);
  var dd:=4*b*b-12*a*c;
  if dd<0 then Writeln('Минимум отсутствует')
  else
    if dd=0 then begin
      var d1:=-b/(3*a);
      Writeln('f(',d1,')=',f(a,b,c,d,d1))
      end
    else begin
      dd:=sqrt(dd);
      var d1:=(-2*b-dd)/(6*a);
      var d2:=(-2*b+dd)/(6*a);
      if 6*a*d1+2*b>0 then Writeln('f(',d1,')=',f(a,b,c,d,d1));
      if 6*a*d2+2*b>0 then Writeln('f(',d2,')=',f(a,b,c,d,d2));
    end
end.

Тестовое решение
Введите значения a b c d: 5 90 20 10
f(-0.112159422448102)=8.88193311534206
Ответил archery
0
else if dd = 0 then Writeln('f(', -2 * b / (6 * a), ') = ', f(a, b, c, d, -2 * b / (6 * a)))
Ответил Аноним
0
Да, виноват. Скопировал, но не подправил.
Новые вопросы