Приклад

Програма роботи

Постановка завдання

Мета роботи

ЛАБОРАТОРНА РОБОТА № 4

ЦИКЛІЧНИЙ ОБЧИСЛЮВАЛЬНИЙ ПРОЦЕС. ТАБУЛЮВАННЯ ФУНКЦІЇ

 

Дослідити роботу операторів циклу алгоритмічної мови С++, засвоїти ме-тодику складання, налагодження та розрахунку програм циклічних обчислювальних процесів для табулювання функцій на ПЕОМ.

 

Скласти схему алгоритму, таблицю символічних імен та програму мовою С++ відповідно до заданого варіанта. Налагодити та розв’язати задачу на ПЕОМ.

Теоретичні відомості

 

Цикли утворюються для того, щоб виконати деякий оператор чи групу операторів кілька разів. В мові С++ існує три оператора циклу: for, while і do while. Перший з них формально записується у вигляді

for (вираз_1; вираз_2; вираз_3) тіло_циклу.

Тіло циклу складається з одного або кількох операторів, об’єднаних фі-гурними дужками { ... } (після блока крапка з комою не ставиться). У виразах 1, 2, 3 фігурує спеціальна змінна, що називається керуючою. За її значенням установлюється необхідність повторения циклу або виходу з нього.

Вираз_1– початкове значення, вираз_2 – кінцеве значення керуючої змінної, а вираз_3 – крок, з яким має змінювати своє значення керуюча змінна з подольшої ітерації.

3.1. Записати запропанований викладачем варіант завдання з п. 5.

Ознайомитись з рекомендованою літературою та конспектом лекцій.

3.2. Програмування задачі:

– скласти таблицю символічних імен;

– скласти схему алгоритму або псевдокод (за вказіквою викладача);

– скласти програму розв’язання задачі мовою С++.

3.3. Розв’язання задачі на ПЕОМ.

На ПЕОМ набрати, відлагодити та розв’язати складену програму.

3.4. Оформлення звіту.

Звіт повинен містити:

– номер лабораторної роботи та її назву;

– умову задачі та дані свого варіанта;

– таблицю символічних імен;

– схему алгоритму (або псевдокод);

– лістинг (або рукопис) програми;

– результати розрахунку задачі;

– висновки.

 

 

Побудувати таблицю значень для функції на відрізку [0,3p] з числом розбиття відрізка m=10.

 

Розв’язання.

Таблиця символічних імен

Математичне ім’я Ім’я у програмі Смислове значення Змінна
Тип Значення
f f Функція double Результат
x x Аргумент функції double З’ясовується у процесі
a a Початкове значення інтервалу double Уводиться з клавіатури
b b Кінцеве значення інтервалу double Уводиться з клавіатури
m m Число розбиття int Уводиться з клавіатури
step step Крок розбиття double З’ясовується у процесі
i i Керуюча змінна int Змінне значення

 

Текст програми мовою С++

для компіляторів Borland C

#include <iostream.h>

#include <math.h>

int main()

{

double f, step, a, b, x;

int i, m;

cout<<”Уведіть початкове значення відрізку”<<endl;

cin>>a;

cout<<”Уведіть кінцеве значення відрізку”<<endl;

cin>>b;

cout<<”Уведіть число розбиття”<<endl;

cin>>m;

 

step =(b – a)/m; // визначаємо, з яким кроком змінюються значення x

x = a; // задаємо початкове значення x

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

{

f = x*sin( x ); // присвоюємо значенню y поточне значення x

cout <<"Значення функції f["<<x<<"]="<<f<<endl;

x = x + step; // змінюємо поточне значення аргументу на наступне

}

return 0;

}

5. Варіанти завдань

 

Кожен студент вибирає варіант завдання за номером у списку групи.

 

Завдання. Скласти схему алгоритму, таблицю символічних імен та програму для обчислення значень функції відповідно до заданого варіанта.

1. Побудувати таблицю значень для функції на відрізку [a,b] з числом розбивання відрізка m:

Варіант Функція Відрізок Число розбиття
[0,p/2] 10
[p/4, p/2] 15
[p/3,2p/3] 20
[0, p/4] 10
[p/4,p/2] 15
[0,1] 20
[0.5,1] 10
[2,7] 15
[0,p/2] 20
[0,3p] 10
[p/8,2/p] 10
[p/4,4/p] 20
[p/6,2p/3] 10
[p/3,3p/3] 15
[0,p/4] 20
[p/4,p/2] 10
[0,2p/3] 15
[p/2,p] 20
[p/4,p/2] 10
[p/2,p] 15
[1,10] 20
[0,1] 10
[1,2] 12
[10,20] 20
[-p/2,p/2] 25

___________________________________________________________________________________________