Составители:
Рубрика:
32
5.
Листинг C-программы
Внимание.
При вводе программы следует иметь в виду, что C различает
регистр букв, т.е., «x» и «X» − это две разные переменные.
//
Табулирование функции с различным шагом
#
include<stdio.h> // Файлы заголовков
#include<conio.h>
#include<math.h>
void main()
{
double s = 0,xmin,xcr,xmax; // Объявление данных
double dx,dx1,dx2,x,y;
// Ввод данных с клавиатуры
по запросу с экрана,
//
числа при вводе разделяются запятой
printf
(" Input XMIN,XCR,XMAX,DX1,DX2 ?\n ");
scanf
("%f,%f,%f,%f,%f",&xmin,&xcr,&xmax,&dx1,&dx2);
x = x
min;
dx = dx1;
do // Цикл с постусловием
{
y = sinh(x)-sqrt(x);
s + = y; // Вычисление суммы S
printf(" X = %.1lf Y = %6.3lf \n",x,y);
if(abs(x - xcr)<=0.001) // Если X = Xср
{
printf("-------------------- \n");
dx = dx2;
}
x = x + dx; // Увеличение аргумента на шаг
}
while(x<=xmax + dx/3); // Конец цикла
printf(" R e s u l t \n ");
// Определение знака суммы S
if(s > 0) // Если S > 0
printf(" Sum: S = %.3lf S > 0 ",s);
else // Иначе,если S < 0
printf(" Sum: S = %.3lf S < 0 ",s);
getch();
return;
}
Примечание.
При выполнении оператора while (x<=xmax) в результате
накопления ошибки может произойти «потеря» значения функции при X = X
max
.
Поэтому значение xmax следует увеличить, например: while (x<=xmax + dx/3).
5. Листинг C-программы Внимание. При вводе программы следует иметь в виду, что C различает регистр букв, т.е., «x» и «X» − это две разные переменные. // Табулирование функции с различным шагом #include// Файлы заголовков #include #include void main() { double s = 0,xmin,xcr,xmax; // Объявление данных double dx,dx1,dx2,x,y; // Ввод данных с клавиатуры по запросу с экрана, // числа при вводе разделяются запятой printf(" Input XMIN,XCR,XMAX,DX1,DX2 ?\n "); scanf("%f,%f,%f,%f,%f",&xmin,&xcr,&xmax,&dx1,&dx2); x = xmin; dx = dx1; do // Цикл с постусловием { y = sinh(x)-sqrt(x); s + = y; // Вычисление суммы S printf(" X = %.1lf Y = %6.3lf \n",x,y); if(abs(x - xcr)<=0.001) // Если X = Xср { printf("-------------------- \n"); dx = dx2; } x = x + dx; // Увеличение аргумента на шаг } while(x<=xmax + dx/3); // Конец цикла printf(" R e s u l t \n "); // Определение знака суммы S if(s > 0) // Если S > 0 printf(" Sum: S = %.3lf S > 0 ",s); else // Иначе,если S < 0 printf(" Sum: S = %.3lf S < 0 ",s); getch(); return; } Примечание. При выполнении оператора while (x<=xmax) в результате накопления ошибки может произойти «потеря» значения функции при X = Xmax. Поэтому значение xmax следует увеличить, например: while (x<=xmax + dx/3). 32
Страницы
- « первая
- ‹ предыдущая
- …
- 30
- 31
- 32
- 33
- 34
- …
- следующая ›
- последняя »