Проверить попадает ли введенное значение в интервал и яляется ли оно точкой максимума для заданной функции - C (СИ)

Узнай цену своей работы

Формулировка задачи:

double x х мы вводим (задача с точками) Есть sin(x)/pow(x,2) - функция есть промежуток от 0.2 до 2.5 0.2 --- 198 --- 2.5 = 200 точек между 0.2 и 2.5 есть 198 точек и нам нужно вызначить попадает ли наш х в промежуток 0.2-2.5 если да то выяснить есть ли он максимальным . извините за русский !

Решение задачи: «Проверить попадает ли введенное значение в интервал и яляется ли оно точкой максимума для заданной функции»

textual
Листинг программы
double x;
cin>>x;
if(x<0.2 || x>2.5)
    cout<<"Точка "<<x<<"Не попадает в интервал [0.2;2.5]";
else
{
     double y[200];
     for(int i=0;i<200;i++)
     {
         double delta=(2.5-0.2)/199.;
         double xi=0.2+i*delta;
         y[i]=sin(xi)/(xi*xi); // табулирование функции
      }
     int max=0; 
     for(int i=1;i<200;i++)
       if(y[i]>y[max]) // поиск точки с максимальным значением
           max=i;
     for(int i=0;i<200;i++)
     {
         double delta=(2.5-0.2)/199.
         double xi=0.2+i*delta;
         if(x<=xi) // поиск точки, ближайшей к x
         {
              if( abs(i-max)<=1)
                  cout<<"Точка "<<x<<" попала в максимум\n";
              else
                 cout<<"Точка "<<x<<" не попала в максимум\n";
              break;
         }
     }
}

Объяснение кода листинга программы

В этом коде:

  1. Объявляется переменная типа double x, в которую считывается значение с помощью функции cin.
  2. С помощью условного оператора if проверяется, попадает ли значение x в интервал [0.2; 2.5]. Если нет, то выводится сообщение об этом.
  3. В противном случае (когда x попадает в интервал), создается массив y типа double размером 200, в который табулируется функция sin(xi)/(xi*xi), где xi - это значения от 0.2 до 2.5 с шагом 0.001.
  4. Затем ищется точка с максимальным значением функции в массиве y с помощью цикла for и условного оператора if.
  5. После этого в цикле for проверяется, попадает ли значение x в интервал от текущей точки до следующей, и если да, и эта точка является точкой максимума, то выводится сообщение о том, что x попала в максимум.
  6. Если же в ходе проверки будет обнаружена точка, не являющаяся точкой максимума, то выводится сообщение о том, что x не попала в максимум.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4 из 5
Похожие ответы