Практикум по курсу "Алгоритмизация и программирование". Часть 2. Андрианова А.А - 31 стр.

UptoLike

. Практикум по курсу «Алгоритмизация и программирование». Часть 2
float f(float x)
{
return (x*x-4);
}
// прототип функции решения уравнения методом хорд
int RootEquation(float a, float b,float eps, float& x);
void main(void)
{
printf("Введите концы отрезка a, b:");
float a,b,eps;
scanf("%f",&a);
scanf("%f",&b);
if(a>b)
{
float z=a;
a=b;
b=z;
}
eps=0.0001;
float x;
int f=RootEquation(a,b,eps,x);
if(f==0)
printf("Корней нет.\n");
else
printf("x=%f\n",x);
}
// определение функции решения уравнения методом хорд
int RootEquation(float a, float b,float eps, float& x)
{
// вычисление значений f(x) на концах отрезка
float fa = f(a), fb = f(b);
// a=b
if(a==b && fa==0)
{
x=a; return 1;// корень найден
}
if(fa*fb<0)
{
x=a;
// условие выхода из цикла – значение функции в
// одном из концов отрезка близко к нулю
31
       .      Практикум по курсу «Алгоритмизация и программирование». Часть 2
float f(float x)
{
      return (x*x-4);
}

// прототип функции решения уравнения методом хорд
int RootEquation(float a, float b,float eps, float& x);

void main(void)
{
      printf("Введите концы отрезка a, b:");
      float a,b,eps;
      scanf("%f",&a);
      scanf("%f",&b);
      if(a>b)
      {
           float z=a;
           a=b;
           b=z;
      }
      eps=0.0001;
      float x;

     int f=RootEquation(a,b,eps,x);
     if(f==0)
          printf("Корней нет.\n");
     else
          printf("x=%f\n",x);
}

// определение функции решения уравнения методом хорд
int RootEquation(float a, float b,float eps, float& x)
{
      // вычисление значений f(x) на концах отрезка
      float fa = f(a), fb = f(b);
      // a=b
     if(a==b && fa==0)
      {
           x=a; return 1;// корень найден
      }
      if(fa*fb<0)
      {
           x=a;
           // условие выхода из цикла – значение функции в
           // одном из концов отрезка близко к нулю


                                31