Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_раб_2.DOC
Скачиваний:
1
Добавлен:
09.11.2018
Размер:
97.79 Кб
Скачать

Лабораторна робота №2.

Тема: Лінійні програми.

Мета: Отримати практичні навички написання лінійних програм із використанням математичних функцій.

Приклад виконанна програми:

До страхової компанії було зроблено внесок у сумі А грн. як ренту. Річні відсоткові нарахування складають R% і виплати будуть тривати N років. Яка сума Р буде сплачуватися щороку?

Як відомо, розрахунок суми щорічних виплат проводиться за формулою:

Він може бути зроблений за допомогою програми мовою С++, текст якої та приклад виконання наводяться нижче:

_________________________________________________________

/* renta.cpp Програма розрахунку виплат ренти */

#include <iostream.h> //C1

#include <math.h> //C2

void main() //C3

{ float A,R,i,P; //C4

int N;

cout << "Введіть початковий внесок та щорічний відсоток: ";

cin >> A >> R;

cout << "Скільки років повинна сплачуватися рента? "; //C5

cin >> N; //C6

i = R/100; //C7

P = A*i/(1-pow(1+i,-N)); //C8

cout << "Щорічні виплати складають " << P << " грн.\n"; //C9

}

Введіть початковий внесок та щорічний відсоток: 1000 16

Скільки років повинна сплачуватися рента? 15

Щорічні виплати складають 179.36 грн.

_________________________________________________________

Розглянемо тепер текст цієї програми. В першому рядку знаходиться коментар. С++ підтримує два види коментарів. Один використовує пари знаків /* та */ і може міститися на одному або декількох рядках. Саме такий коментар використовуються в першому рядку і він оголошує назву програми. Другий вид використовує пару знаків //, щоб позначити початок коментарю, який закінчується в кінці рядка. В цій програмі ми його використовуємо неодноразово, щоб виділити рядки, що потребують особливої уваги. Далі ми обговоримо нові конструкції мови С++.

С1 - Мова С++ є дуже компактною, тому багато операторів, функцій, конструкцій тощо не включено до списку базових конструкцій, а можуть підключатися за допомогою бібліотек. Таке підключення відбувається за допомогою вказівки препроцесору #include <...>, де в кутових дужках вказується ім’я файла-заголовку (Header file). В даному випадку підключається файл iostream.h, який дозволяє використовувати зручні операції введення та виведення інформації cin та cout.

С2 - Підключення бібліотеки math.h дозволяє користуватися широким списком математичних функцій, деякі з них наведено в таблиці

Математична функція

Запис

мовою С++

Математична функція

Запис

мовою С++

|x|

abs(x), fabs(x)

arctgx

atan(x)

Sinx

sin(x)

ex

exp(x)

Cosx

cos(x)

lnx

log(x)

Tgx

tan(x)

ab

pow(a,b)

arcsinx

asin(x)

10x

pow10(x)

arccosx

acos(x)

sqrt(x)

C3 - програма мовою С++ складається з однієї або кількох функцій, але серед них обов’язково повинна бути одна і тільки одна функція main(), яка вказує на вхід до виконання програми. /В програмах, що створюються для середовища Windows замість неї використовуються функції WinMain() або OwlMain()/. Слово void перед нею вказує, що ця функція не повертає жодного значення. «Тіло» функції, тобто інструкції, що включаються до неї беруться в фігурні дужки {}.

C4 - інформація, що обробляється в програмі, зберігається в величинах - змінних або константах. Кожна величина має своє ім’я (ідентифікатор), тип та значення. Перед використанням ми повинні оголосити всі величини в операторі оголошення. В даному і наступному рядках ми зустрічаємось з оголошенням величин. Ім’я може складатися з латинських літер, цифр або символу підкреслення «_», який має ті ж самі права, що й літера, але ідентифікатор починається обов’язково з літери. На відміну від багатьох інших мов програмування в С++ розрізняються маленькі та великі літери, тому, напр. Name_1, NAME_1 та name_1 є іменами різних величин. Величини також мають свій тип. Так, в наведеній задачі кількість років може приймати тільки ціле значення, тому ця величина має цілий тип - int (є ще long), а інші величини не обов’язково приймають ціле значення, тому вони оголошені, як float(також існує double). Також відзначимо, що після кожного оператору ставиться символ «;» - крапка з комою.

С5, С6 - В багатьох програмах присутні початкові дані, причому програма повинна проводити розрахунки з різними початковими данними, які вводить користувач програми. В цій програмі процес введення даних проходить в два етапи: спочатку за допомогою об’єкта cout на екран виводиться запрошення "Введіть початковий внесок та щорічний відсоток: " ввести деякі величини, а потім об’єкт cin очікує введення з клавіатури значень величин A та R. При виведенні перед кожним елементом ставиться пара символів <<, а при введенні >>. Аналогічно вводиться кількість років в двох наступних рядках.

С7 - В цьому рядку ми вперше зустрічаємось з оператором присвоювання. Він обраховує значення виразу, що стоїть справа від знаку рівності і отримане значення заносить до змінної, ім’я якої стоїть зліва. В виразі ми можемо використовувати константи, імена змінних, знаки арифметичних операторів(+ - * /), круглі дужки, функції та деякі інші оператори.

С8 - Цей оператор присвоювання відрізняється від попереднього тим, що в ньому використовується функція pow( , ), опис якої знаходиться в файлі math.h.

C9 - В цьому рядку за допомогою об’єкта cout на екран виводиться одразу кілька елементів: дві текстові константи - "Щорічні виплати складають " та "грн.\n", а також значення змінної Р. Символ \n в другій константі вказує на те, що після виведення повідомлення курсор повинен перейти до наступного рядка екрана дисплея.