Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Po_12S.docx
Скачиваний:
4
Добавлен:
11.09.2019
Размер:
127.85 Кб
Скачать

Приклад виконання лабораторної роботи №7

Завдання 7-1 (варіант №0)

С класти алгоритм і програму для обчислення сумы числового ряду:

Аналіз завдання

Чисельник і знаменник кожного члена ряду можна знайти множенням попереднього значення на х (для чисельника) або на номер індекса цього члена (для знаменника).

Початкові значення (які передують першим) як для чисельника, так і для знаменника дорівнюють одиниці (х0=1; 0!=1).

Додавання треба починати з початкового значення суми, яке дорівнює нулю і в кожній ітерації до поточного значення суми додавати значення чергового члена ряду, обчислене в поточному циклі.

Блок-схема алгоритму (завдання 7-1)

Програма

// Програма обчислення суми ряду, із заданим числом членів

#include<iostream.h>

#include<conio.h>

#include<math.h>

int main()

{

const int n=10; // n - число членів ряду

double x=0.5; // х - константа ряду

int i; // i - змінна циклу

long fact; // fact - знаменник

double stepin, // stepin - чисельник

suma; // suma - сума ряду

clrscr();

cout<<“\n Програма обчислення суми ряду”;

cout<<“\n згідно завданню 7-1”;

cout<<“\n --------------------------------\n\n“;

stepin=1; // Поч. значення чисельника =1

fact=1; // Поч. значення знаменника =1

suma=0; // Початкове значення суми =0

for (i=1; i<n; i++) // Цикл по i від 1 до n

{

stepin=stepin*x; // Обчислення чисельника

fact=fact*i; // Обчислення знаменника

suma=suma+stepin/fact; // Сума i членів ряду

}

printf(“ Сума із %1i членів заданого ряду дорівнює %7.5f “,n,suma);

getch();

return 0;

}

Результати виконання завдання 7-1:

Програма обчислення суми ряду

(згідно завданню 7-1)

--------------------------------

Сума із 10 членів заданого ряду дорівнює 0.64872

Завдання 7-2(варіант №0)

Р озробити алгоритм і програму обчислення суми нескінченного ряду

із заданою точністю ε>0.

Вважати, що задана точність досягнута, якщо модуль чергового доданка не перевищує величини ε.

Аналіз завдання

Зі збільшенням k чисельник виразу для обчислення чергового члена числової послідовності наближається до одиниці, а знаменник - весь час збільшується, а тому значення всього виразу при збільшенні k зменшується. Ознакою закінчення підрахунку можна вважати досягнення черговим членом числового ряду значення меншого (по модулю) від заданого ε.

Блок-схема алгоритму (завдання 7-2)

Програма

#include<iostream.h>

#include<conio.h>

#include<math.h>

#include<stdio.h>

int main()

{

const double x=5.0, // Постiйна величина ряду

e=1.0e-5; // Точнiсть обчислень

double s,a, // Черговий член ряду

suma; // Сума ряду

int k; // Номер чергового члена

clrscr();

cout<<"\nПрограма обчислення сумы безкiнечного ряду";

cout<<"\n з заданою точнiстю е="<<e;

cout<<"\n---------------------------------------------\n\n";

// Пропущeно 2 рядки

suma=0; // Початкова сума

k=1; // Номер чергового эл-та

do // Початок циклу

{

s=pow(fabs(x),1/k)/k/k/k; // Обчислення k-го члена

suma=suma+s; // Додавання членiв ряду

if (k % 2 == 1)

/* Вивiд на екран в 6 колонок результатiв промiжних

розрахункiв:

k | s | suma | k | s | suma |

(Для нeпарних - перехiд на новий рядок) */

printf("\nk=%2i s=%7.7f suma=%7.7f",k,s,suma);

else

printf(" k=%2i s=%7.7f suma=%7.7f",k,s,suma);

if (k % 48 == 0) // Якщо екран заповнений,

getch(); // то призупинка.

k++; // Перехiд до слiдуючого

} // члену ряду.

while (fabs(s) > e); // Повторити, якщо "ТАК"

printf("\n Пiдрахунок закiнчено при k = %1i",k-1);

printf(" Сумa = %7.5f",suma);

getch();

return 0;

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]