2. Вычислить , ( f ( x ) – значение функции в точке х).

Введение

Цель работы: Ознакомление и приобретение навыков использования указателей и функций в языке С++.

 

1. Постановка задачи

Дана функция f ( x )= .

Требуется вычислить приближенное значение определенного интеграла при заданных пределах интегрирования а, b и шаге dx.

2. Метод решения

Определенный интеграл от функции f ( x ) может быть приближенно вычислен по формуле .

Алгоритм решения следующий:

1. Положить .

2. Вычислить , ( f ( x ) – значение функции в точке х).

3. Увеличить на величину шага:

4. Проверить условие . Если условие выполняется, перейти к п.2 алгоритма, в противном случае – останов.

3. Блок-схема

4. Текст программы на алгоритмическом языке С++

 

#include <math.h>

#include <stdio.h>

#include <conio.h>

 

float func (float x)/*функция, вычисляющая f ( x ) в данной дочке*/

{

return ((x+9)/(x*x+3*x*sin(x)+2));

}

 

float integral (float a, float b, float dx)/*функция, вычисляющая определенный интеграл в заданных пределах и с заданным шагом. принимает три входных параметра(вещественных):a, b, dx; возвращает вещественное число S.*/

{

float x=a,S=0;

while (x<=b)

{

S+=func(x)*dx;

x+=dx;

}

return(S);

}

 

void main()

{

float a, b, dx;

printf ("vvedite a, b ( a<b ), dx: ");

scanf("%f %f %f", &a, &b, &dx);

/*считываем введенные пользователем a , b , dx*/

printf("\nS=%g",integral(a,b,dx)); /*выводим приближенное значение интеграла на экран */

getch();

}

 

5. Исходные данные

1) a= - 10; b = 10; dx= 1;

2) a= -10; b= 10; dx=0.001;

3) a= 50; b = 100; dx=0.5;

6. Результаты счета

1) S=15.6672

2) S=15.3221

3) S=0.791285

7. Анализ получ енных результатов

В случаях 1) и 2) пределы интегрирования были одинаковы, но шаг dx был различным. Тот же определенный интеграл, вычисленный более точными методами, равен 15.3218. На этом примере мы видим, как повышается точность вычисления с уменьшением dx . В случае 3) программа возвращает значение 0.791285. Более точный метод дает значение 0.782496.

 

Выводы

В данной лабораторной работе был разработан и реализован в виде программы на языке С++ алгоритм нахождения приближенного значения определенного интеграла функции f ( x )= .

В качестве входных данных программа принимает значения пределов интегрирования a , b и шаг dx и возвращает приближенное значение S , полученное по формуле .

 


Министерство образования и науки Российской Федерации Казанский национальный исследовательский технический университет им. А. Н.Туполева

 

 

Кафедра автоматики и управления

Отчет по лабораторной работе «Указатели и функции в С++»
дисциплина «Информационные технологии»

 

Выполнил студент группы _3139_ _________ Мубаракшин С.Р

№ группы подпись Фамилия И. О.

 

Оценка ____________

 

Преподаватель ____________ ___________________

подпись Фамилия И. О.

 

 

Казань, 2012