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

Функції округлення

Найчастіше потрібно скористатися округленим значенням тієї або інший змінної. C++ пропонує набір функцій для рішення цього завдання. Залежно від конкретної ситуації може знадобитися функція, що округляє значення аргументу в більшу або меншу сторону. Розглянемо найбільше часто використовувані варіанти викликів.

Для округлення числа в меншу сторону використовується функція floor і її різновиди для різних типів аргументів, що й вертаються параметрів. Округлення в більшу сторону проводиться за допомогою функції ceil.

Синтаксис функції

значення, що вертається

double floor ( double ) ;

long double floorl ( long double ) ;

округлення числа в меншу сторону

double ceil ( double ) ;

long double ceil ( long double ) ;

округлення числа в більшу сторону

Однак у реальності проблема вибору, у яку ж сторону робити округлення, покладає на розроблювальну програму. Нижче пропонується варіант рішення цього завдання.

#include <iostream.h> // містить функції введенняввиводу

#include <math.h> // містить математичні функції

double round ( double num )

{

double val = floor ( num ); // округлення числа в меншу сторону

double frac = modf ( num, val ) ; // обчислення залишку

if ( frac < 0.5 ) num = val ; // якщо залишок менше 0.5, округляємо в меншу сторону

else num = val + 1.0 ; // якщо залишок більше 0.5, округляємо в більшу сторону

return num ;

}

Для роботи обох варіантів функції необхідно задіяти заголовний файл math.h прототип, що містить, функцій floor і modf.

Призначення перевантаження

Перевантаження функцій – це один з типів поліморфізму, забезпечуваного C++. В C++ кілька функцій можуть мати те саме ім'я.

Якщо функції мають однакове ім’я, але відрізняються типом або кількістю параметрів , або й тим й іншим, то вони називаються перевантаженими.

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

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