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

UptoLike

25
Схема алгоритма представлена на рис. 2.8 (стр.27).
5. Листинг C-программы
Внимание.
При вводе программы следует иметь в виду, что C различает
регистр букв, т.е., «x» и «X» − это две разные переменные.
//
Табулирование функции, зависящей от параметра
#
include<stdio.h> // Файлы заголовков
#include<conio.h>
#include<math.h>
void main()
{
//
Объявление типа и задание данных
int k = 0;
double a, a1 = 0.5,a2 = 1,xcp = 0.4;
double x,y,xmin = 0,xmax = 1,dx = 0.2;
printf(" T a b l e \n"); // Вывод заголовка
x = xmin;
while(x<=xmax + dx/3) // Цикл с предусловием
{
//
Выбор параметра α
if(x <= xcp) // Если X Xcp
a = a1;
else // Иначе,eсли X > Xcp
a = a2;
y = a*x - pow(cos(a*x),2);
//
Вывод значений X и Y
printf(" X = %.1lf Y = %7.4lf \n",x,y);
if(y < 0)k++; // Вычисление значения K
x += dx;
}
printf(" Result: K = %d ",k); // Вывод значения K
getch();
return;
}
Примечание.
При выполнении оператора while (x<=xmax) в результате
накопления ошибки может произойти «потеря» значения функции при X = X
max
.
Поэтому значение xmax следует увеличить: while (x<=xmax+dx/3).
   Схема алгоритма представлена на рис. 2.8 (стр.27).
                     5. Листинг C-программы
    Внимание. При вводе программы следует иметь в виду, что C различает
регистр букв, т.е., «x» и «X» − это две разные переменные.
// Табулирование функции, зависящей от параметра
#include // Файлы заголовков
#include
#include
    void main()
{
// Объявление типа и задание данных
 int k = 0;
 double a, a1 = 0.5,a2 = 1,xcp = 0.4;
 double x,y,xmin = 0,xmax = 1,dx = 0.2;
  printf("       T a b l e \n"); // Вывод заголовка
 x = xmin;
  while(x<=xmax + dx/3) // Цикл с предусловием
    {
// Выбор параметра α
      if(x <= xcp) // Если X ≤ Xcp
         a = a1;
      else // Иначе,eсли X > Xcp
         a = a2;
      y = a*x - pow(cos(a*x),2);
// Вывод значений X и Y
      printf(" X = %.1lf Y = %7.4lf \n",x,y);
      if(y < 0)k++; // Вычисление значения K
      x += dx;
    }
  printf(" Result: K = %d ",k); // Вывод значения K
  getch();
  return;
}

    Примечание. При выполнении оператора while (x<=xmax) в результате
накопления ошибки может произойти «потеря» значения функции при X = Xmax.
Поэтому значение xmax следует увеличить: while (x<=xmax+dx/3).

                                   25