Найти наименьшее положительное и меньше отрицательное значение функции и соответствующее...

0 голосов
20 просмотров

Найти наименьшее положительное и меньше отрицательное значение функции и соответствующее им значение аргумента: A=(1+a^x)/((b-x)sin^3(x)) a=3.45 b=1.62. Аргумент х изменяется от начального значения 0.1 с шагом 0.15 до конечного 3.1 (радиан) (а^x-то имеется ввиду что а в степени "х" так же и синус в степени) на языке Pascal!!!


Информатика (29 баллов) | 20 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
Версия языка не указана, поэтому сделал в самой последней и в самой старой, которая нашлась.

// PascalABC.Net 3.0

function 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);
  ReadKey
end.  

Тестовое решение:
Минимальное отрицательное -4.46219377047470E+0005 при х= 3.10000000000000E+0000
Минимальное положительное  1.18377347023920E+0001 при х= 8.50000000000000E-0001








(142k баллов)
0

спасибо большое!!!

0

Пожалуйста