Задача Функция 2

Материал из PlusPi

Задача[править]

Разработать программу для вычисления значения функции с условиями для ряда значений аргумента , который находится в данном интервале и изменяется с шагом

Входные данные ввести с помощью клавиатуры: . Вычисление значений функции реализовать с помощью подпрограммы-функции. Результат вычислений вывести на экран.

Решение[править]

Программа[править]

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