Приклад
Програма роботи
Постановка завдання
Мета роботи
Лабораторна Робота № 6
ЦИКЛІЧНИЙ ОБЧИСЛЮВАЛЬНИЙ ПРОЦЕС. НЕсКІНЧенНІ СУМИ
Дослідити роботу операторів циклу алгоритмічної мови С++, засвоїти ме-тодику складання, налагодження та розрахунку програм циклічних обчислювальних процесів для обчислення нескінченних сум на ПЕОМ.
Скласти схему алгоритму, таблицю символічних імен та програму мовою С++ відповідно до заданого варіанта. Налагодити та розв’язати задачу на ПЕОМ.
Теоретичні відомості
Для розв’язання задачі обчислення нескінченних сум та добутків доречне використання оператора циклу з постумовою dowhile, який забезпечує ви-конання тіла циклу перед перевіркою умови виходу з циклу (у задачі – доки не досягнуто значення точності e).
Операторdo-whileформально записуєтьсятак:
do{тіло_циклу} while(вираз);
Основна відзнака між циклами whileі do-whileу тому, що тіло в циклі do-whileвиконується як мінімум один раз. Тіло циклубуде виконуватисядоти, покивиразудужках не набудезначення false. Якщо ж воно неправильне ще передвходомуцикл, його тіло виконуєтьсярівно один раз.
Дозволяєтьсявкладати одніциклив інші, тобтов тілібудь-якогоциклуможутьз’являтисяоператориfor, whileіdo-while.
3.1. Записати запропанований викладачем варіант завдання з п. 5.
Ознайомитись з рекомендованою літературою та конспектом лекцій.
3.2. Програмування задачі:
– скласти таблицю символічних імен;
– скласти схему алгоритму або псевдокод (за вказіквою викладача);
– скласти програму розв’язання задачі мовою С++.
3.3. Розв’язання задачі на ПЕОМ.
На ПЕОМ набрати, відлагодити та розв’язати складену програму.
3.4. Оформлення звіту.
Звіт повинен містити:
– номер лабораторної роботи та її назву;
– умову задачі та дані свого варіанта;
– таблицю символічних імен;
– схему алгоритму (або псевдокод);
– лістинг (або рукопис) програми;
– результати розрахунку задачі;
– висновки.
Обчислити наближене значення нескінченної суми з точністю e=0.0000119.
Розв’язання.
Таблиця символічних імен
Математичне ім’я | Ім’я у програмі | Смислове значення | Змінна | |
Тип | Значення | |||
і | i | Параметр циклу | int | Змінна |
memb | memb | Член ряду | double | Змінна |
r | r | Сума | double | Результат |
Текст програми мовою С++
для компіляторів Visual C++
#include <iostream.h>
#include <iomanip.h>
#include <cmath>
int main()
{
int i;
double r, memb;
i = 0; // задаємо початкове значення лічильника
r = 0; // задаємо початкове значення суми
memb = static_cast<float>(1)/pow((2*i + 1),4);// задаємо
// значення першого члена ряду
cout << setprecision(10) << setiosflags(ios::fixed |
ios::showpoint); // установки екрана
do // початок тіла циклу
{
r += memb; // накопичення суми
memb = static_cast<float>(1)/pow((2*i + 1),4);
// підраховуємо кожний наступний член ряду
i++; // збільшуємо лічильник на одинцю
} while (fabs(memb) >= 0.0000119); // тіло циклу буде
// виковуватися, доки модуль члена ряда не зменшиться до e
cout << "Результат з точністю до eps = 0.0000119: "
<< r << endl;
}
4. Варіанти завдань
Кожен студент вибирає варіант завдання за номером у списку групи.
Завдання. Скласти схему алгоритму, таблицю символічних імен та програму для обчислення нескінченних сум та добутків відповідно до заданого варіанта.
Обчислити наближене значення нескінченної суми з точністю e:
Варіант | Функція | Точність e |
![]() | 0. 001 | |
![]() | 0.005 | |
![]() | 0.0001 | |
![]() | 0.05 | |
![]() | 0.00005 | |
![]() | 0.0001 | |
![]() | 0.001 | |
![]() | 0.005 | |
![]() | 0.0005 | |
![]() | 0.01 | |
![]() | 0.05 | |
![]() | 0.005 | |
![]() | 0.0001 | |
![]() | 0.00001 | |
![]() | 0.00001 | |
![]() | 0.05 | |
![]() | 0.001 | |
![]() | 0.01 | |
![]() | 0.05 | |
![]() | 0.05 | |
![]() | 0.00005 | |
![]() | 0.0005 | |
![]() | 0.0001 | |
![]() | 0.001 | |
![]() | 0.005 |
______________________________________________________________________________