9 задача, паскаль, пожалуйста
Приложения:

Ответы на вопрос
Ответил Аноним
0
Вспоминаем математику. Если функция дважды дифференцируема, то её минимум находится в точке х тогда, когда в этой точке первая производная равна нулю, а вторая производная имеет положительное значение.

// 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
// 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
Да, виноват. Скопировал, но не подправил.
Новые вопросы
Математика,
2 года назад
Математика,
9 лет назад