Версия языка не указана, поэтому сделал в самой последней и в самой старой, которая нашлась.
// PascalABC.Net 3.0function F(a, b, x: double):= (1 + Power(a, x)) / ((b - x) * Power(sin(x), 3));const a = 3.45; b = 1.62;var x := 0.1; xe := 3.1; h := 0.15; y, xn, yn, xp, yp: double;begin yp := MaxDouble; yn := yp; repeat y := F(a, b, x); if y > 0 then begin if y < yp then begin yp := y;xp := x end end else if y < 0 then begin if y < yn then begin yn := y;xn := x end end; x += h; until x > xe; Writeln('Минимальное отрицательное ', yn, ' при х=', xn); Writeln('Минимальное положительное ', yp, ' при х=', xp)end.
Тестовое решение:Минимальное отрицательное -446219.37704747 при х=3.1Минимальное положительное 11.837734702392 при х=0.85
{ Borland Pascal 7.01 }{$G+} {$N+}uses Crt;function F(a,b,x:double):double;begin F:=(1+exp(x*ln(a)))/((b-x)*exp(3*ln(sin(x))))end;const a = 3.45; b = 1.62;var x,xe,h,y,xn,yn,xp,yp:double;begin ClrScr; x := 0.1; xe := 3.1; h := 0.15; yp := 1E308; yn := yp; repeat y := F(a, b, x); if y > 0 then begin if y < yp then begin yp := y; xp := x end end else if y < 0 then begin if y < yn then begin yn := y; xn := x end end; x := x + h; until x > xe; Writeln('Минимальное отрицательное ', yn, ' при х=', xn); Writeln('Минимальное положительное ', yp, ' при х=', xp); ReadKeyend.
Тестовое решение:Минимальное отрицательное -4.46219377047470E+0005 при х= 3.10000000000000E+0000Минимальное положительное 1.18377347023920E+0001 при х= 8.50000000000000E-0001