Составители:
Рубрика:
20
6.
Листинг С-программы «Табулирование функции»
Внимание.
При вводе программы следует иметь в виду, что C различает
регистр букв, т.е., «x» и «X» − это две разные переменные.
Условия Y < 0 и Y > YMAX объединены логической связкой &&.
#include<stdio.h>
// Файлы заголовков
#include<conio.h>
#include<math.h>
void main()
{
double
xmin,xmax,dx; // Объявление типа данных
double
x,y,xm,ymax = -1.0e38;
// Ввод данных с клавиатуры по запросу с экрана
,
//
числа при вводе разделяются пробелом
printf
(" Input XMIN XMAX DX ?\n ");
scanf
("%f %f %f",&xmin,&xmax,&dx);
printf
(" X Y \n"); // Вывод заголовка
for
(x = xmin;x<=xmax + dx/3;x+=dx) // Цикл по X
{
y =
pow((2.*x),(1./3.))-exp(-x)*pow(tan(3*x),2);
// Вывод значений аргумента
X и функции Y
printf
(" I %.2lf I %6.3lf I \n ",x,y);
if
(y < 0 && y > ymax) // Если Y < 0 и Y > YMAX
{
ymax = y; xm = x;
}
}
//
Вывод значений YMAX, XM
printf
(" YMAX = %.3lf XM = %.2lf ",ymax,xm);
getch();
return;
}
Примечание.
При выполнении оператора for(x = xmin;x<=xmax;x+=dx) в
результате накопления ошибки может произойти «потеря» значения функции при
X = X
max
. Поэтому значение xmax следует увеличить:
for(x = xmin;x<=xmax + dx/3;x+=dx).
6. Листинг С-программы «Табулирование функции» Внимание. При вводе программы следует иметь в виду, что C различает регистр букв, т.е., «x» и «X» − это две разные переменные. Условия Y < 0 и Y > YMAX объединены логической связкой &&. #include// Файлы заголовков #include #include void main() { double xmin,xmax,dx; // Объявление типа данных double x,y,xm,ymax = -1.0e38; // Ввод данных с клавиатуры по запросу с экрана, // числа при вводе разделяются пробелом printf(" Input XMIN XMAX DX ?\n "); scanf("%f %f %f",&xmin,&xmax,&dx); printf(" X Y \n"); // Вывод заголовка for(x = xmin;x<=xmax + dx/3;x+=dx) // Цикл по X { y = pow((2.*x),(1./3.))-exp(-x)*pow(tan(3*x),2); // Вывод значений аргумента X и функции Y printf(" I %.2lf I %6.3lf I \n ",x,y); if(y < 0 && y > ymax) // Если Y < 0 и Y > YMAX { ymax = y; xm = x; } } // Вывод значений YMAX, XM printf(" YMAX = %.3lf XM = %.2lf ",ymax,xm); getch(); return; } Примечание. При выполнении оператора for(x = xmin;x<=xmax;x+=dx) в результате накопления ошибки может произойти «потеря» значения функции при X = Xmax. Поэтому значение xmax следует увеличить: for(x = xmin;x<=xmax + dx/3;x+=dx). 20
Страницы
- « первая
- ‹ предыдущая
- …
- 18
- 19
- 20
- 21
- 22
- …
- следующая ›
- последняя »