У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент


МIНIСТЕРСТВО ОСВIТИ І НАУКИ УКРАЇНИ

Лабораторна робота

Тема: “Обчислення визначеного інтегралу з використанням підпрограми-функції”

Мета роботи: оволодiти прийомами складання алгоритмiв i програм з використанням підпрограми-процедури, і підпрограми-функції для обчислення визначеного інтегралу.

Завдання: за варіантами завдань, наведених в таблиці, обчислити означений інтеграл f(x)dx із заданою похибкою, поділивши проміжок [a, b] на n частин користуючись методами прямокутника, трапеції і Сімпсона.

15 | tg2(x)+ctg2(x) | 54 | /6 | /3 | 0.001

Теоретичні відомості: Мова Сi дозволяє використовувати лише один вид пiдпрограми: процедуру-функцiю з параметрами. Характерною особливiстю процедури-функцiї є наявнiсть багатьох вхiдних параметрiв i одного вихiдного, який присвоюється iменi функцiї. Всi пiдпрограми повиннi бути оголошенi в головнiй або пiдпорядкованих програмах. Оголошення процедури-функцiї має вигляд: ТПЗ IПФ(СТП);,

де ТПЗ - тип значення, яке повертає процедура-функцiя;

IПФ - iм'я процедури-функцiї, iдентифiкатор;

СТП - список типiв дiйсних параметрiв.

Крiм оголошення, функцiя має бути визначена, тобто має бути вказано що ця функцiя власне виконує. Визначення функцiє має вигляд:

ТПЗ IПФ(СФП){ОЗП;ТПФ;},

де: СФП - список формальних параметрiв i їх типiв;

ОЗП - оголошення внутрiшнiх (власних) змiнних функцiї;

ТПФ - тiло процедури, оператори та вирази.

Тiло процедури-функцiї може мiстити один або декiлька операторiв RETURN (вираз); його виконання приводить до завершення процедури i повернення в програму, з якої функцiя викликалася. Якщо цей оператор має вираз, то його значення присвоюється iменi процедури i є результатом її виконання. Формальнi параметри функцiї, якщо вони є, локалiзованi в її тiлi, пам'ять пiд них дублюється. Локалiзованими є також внутрiшнi змiннi функцiї, їх значення теж втрачаються пiсля виходу з процедури, якщо вони не мають клас пам'ятi static. Звернення до процедури-функцiї в головнiй програмi вiдбувається шляхом вказування її iменi, пiсля якого в круглих дужках дається список дiйсних параметрiв.

Забороняється передавати масиви в якостi параметрiв функцiї. Натомiсть можна використовувати вказувачi на масиви. Масиви в процедурi не дублюються.

Звернення до процедури графiчно вiдображається за допомогою прямокутника з подвоєними бiчними сторонами.

 

Графічний алгоритм. (Головна програма)

Графічний алгоритм. (підпрограма-функція Pramokytnuk).

так

Графічний алгоритм. (підпрограма-функція Trapecia).

Графічний алгоритм. (підпрограма-функція simpsona).

Програма складена мовою Сі за допомогою підпрограми –функції:

#include <stdio.h>

#include <math.h>

float pramokytnuk (float a, float b, float n)

{

float h,s=0,y,x;

int i;

h=(b-a)/n;

for(i=0;i<=n;i++)

{

x=a+h*i;

y=fabs(pow(tan(x),2)+pow(1/tan(x),2));

s+=y;

}

s*=h;

return s;

}

float trapecia (float a, float b, float n)

{

float h,s=0,y,x;

int i;

h=(b-a)/n;

for(i=0;i<=n-1;i++)

{

x=a+h*i;

y=fabs(pow(tan(x),2)+pow(1/tan(x),2));

s+=y;

}

s+=fabs(pow(tan(a),2)+pow(1/tan(a),2))+fabs(pow(tan(b),2)+pow(1/tan(b),2))/2;

s*=h;

return s;

}

float simpsona (float a, float b, float n)

{

float x1,x2,y1,y2,s=0,h;

int i,k;

h=(b-a)/n;

k=n/2;

for(i=1;i<=k-1;i++)

{

x1=a+h*(2*i-1);

x2=a+h*2*i;

y1=4*(fabs(pow(tan(x1),2)+pow(1/tan(x1),2)));

y2=2*(fabs(pow(tan(x2),2)+pow(1/tan(x2),2)));

s+=y1+y2;

}

s+=fabs(fabs(pow(tan(a),2)+pow(1/tan(a),2))+fabs(pow(tan(b),2)+pow(1/tan(b),2))+fabs(pow(tan(b-h),2)+pow(1/tan(b-h),2)));

s*=h/3;

return s;

}

main()

{

float a1=3.14/6,b1=3.14/3,n1=54,x;

clrscr();

printf("s=%f\n",pramokytnuk(a1,b1,n1));

printf("s=%f\n",trapecia(a1,b1,n1));

printf("s=%f\n",simpsona(a1,b1,n1));

getch();

}

Результат виконання програми:

S1=1.293902

S2=1.310018

S3=1.230194

Висновок: Виконавши лабораторну роботу, я оволодів прийомами складання графічних алгоритмів та програм з використанням підпрограми-процедури та підпрограми функції на мові програмування СІ для обчислення визначеного інтегралу різними методами.