Задача Функция 2
Задача[править]
Разработать программу для вычисления значения функции с условиями для ряда значений аргумента , который находится в данном интервале и изменяется с шагом
Входные данные ввести с помощью клавиатуры: . Вычисление значений функции реализовать с помощью подпрограммы-функции. Результат вычислений вывести на экран.
Решение[править]
Программа[править]
uses crt; function y(x,a,b:real):real; begin if (x<0) then y:=1+(3+b*x)/(1+x*x) else if (x>1) then y:=(1+x)/(1+cos(x)*cos(x)) else y:=sqrt(a+(1-x)*(1-x)); end; var x,xmin,xmax,dx,a,b:real; begin clrscr; write('Введите Xmin, Xmax, Dx, a, b:'); readln(xmin, xmax, dx, a, b); x:=xmin; repeat if ((a+(1-x)*(1-x))<0) then writeln('x=',x:7:2,' y(x) - функция неопределенна') else writeln('x=',x:7:2,' y(x)=',y(x,a,b):7:2); x:=x+dx; until (x>xmax); readln; end.
Примеры работы[править]
Пример №1
Введите Xmin, Xmax, Dx, a, b:-1.5 2.1 0.3 2 3 x= -1.50 y(x)= 0.54 x= -1.20 y(x)= 0.75 x= -0.90 y(x)= 1.17 x= -0.60 y(x)= 1.88 x= -0.30 y(x)= 2.93 x= 0.00 y(x)= 1.73 x= 0.30 y(x)= 1.58 x= 0.60 y(x)= 1.47 x= 0.90 y(x)= 1.42 x= 1.20 y(x)= 1.94 x= 1.50 y(x)= 2.49 x= 1.80 y(x)= 2.66 x= 2.10 y(x)= 2.47