Лабораторный практикум по информатике. Гурьяшова Р.Н - 20 стр.

UptoLike

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"); // Вывод заголовка
(x = xmin;x<=xmax + dx/3;x+=dx) // Цикл по X
{
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