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



Лабораторна робота - Накопичення суми
1



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

Тема:

 

Накопичення суми

Мета роботи: оволодiння прийомами складання циклiчних алгорит-

мiв i програм з накопичення суми i добутку певної

кiлькостi членiв ряду.

Завдання: Обчислити

Короткі теоретичні відомості:

Можливi такi варiанти постановки задачi накопичення суми або

добутку

s= a ; s= a ; s= a ; s= a .

Тут - символ суми, - символ добутку,

a - значення чергового члена ряду, n - кiлькiсть членiв.

37

Накопичення суми або добутку виконують в циклi за формулами:

для суми s=s+a , для добутку s=s*a . Перед циклом змiннiй s при-

своюїться початкове значення: для суми s=0, для добутку s=1.

Якщо ряд маї кiнцеве число членiв, в якостi параметра циклу

вибирають змiнну i - порядковий номер члена, якщо - безмежне, то

a - значення члена ряду.

При накопиченнi суми або добутку безмежного числа членiв ряд

повинен бути збiжним, тобто при i --- a --- 0. Обчислювальний

процес припиняїться, якщо ¦a ¦< , де - задана похибка.

Як правило, a представляї собою арифметичний вираз. З метою

його спрощення, зменшення похибки обчислень та запобiгання пере-

повнення пам'ятi при одержаннi промiжних результатiв слiд там,

де це можливо, використовувати рекурсiю для обчислення чергового

члена ряду за формулою a =F(a ).

Блок-схема матиме такий вигляд

Початок

i, h, y, s=0,



ні

=0

 

так

h=

 

s=s+h

 

*s

 

Друк

у

Кінець

Ідентифікація змінних:

Змінна | Ідентифікатор

b | b

i | i

? | s

h | h

c | c

Програма:

#include<math.h>

main()

{

int i;

float b=21.2, c=16.35,

s=0, h, y;

for(i=1;i<=8;i++)

{

if(pow(i,2)==9) continue;

h=1/(pow(i,2)-9);

s+=h;

}

y=sqrt(b+c)*s;

printf("y=%f",y);

getch();

}

Результати:

y= - 0.241583

Висновок: Я оволодiв прийомами складання циклiчних алгорит-

мiв i програм з накопичення суми i добутку певної

кiлькостi членiв ряду.