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