Есть ответ 👍

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

231
443
Посмотреть ответы 2

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


Версия языка не указана, поэтому сделал в самой последней и в самой старой, которая нашлась. // 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(/((b-x)*exp(3*ln(sin( 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
Cammelia
4,7(89 оценок)

Var a: array[1..100] of real; i,n: integer; sum: real; begin writeln('введите количество элементов массива'); readln(n); writeln('массив'); for i: =1 to n do begin a[i]: =(random(100)-50)/10; write(a[i]: 5); if a[i]< -0.5 then sum: =sum +a[i]; end; writeln; writeln('сумма элементов меньших -0,5 = ', sum); end.

Популярно: Информатика