функція round

Як стати програмістом 2.0
Ця книга для тих, хто хоче стати програмістом. Насправді хоче, а не просто мріє. І хоче саме стати програмістом з великої літери, а не просто навчитися кулебякать якісь примітивні програмки ... Детальніше.
Функція Round в Паскалі округлює значення з плаваючою точкою до найближчого цілого числа. синтаксис:
function Round (X: ValReal). Int64;
Функція Round округлює Х до найближчого цілого числа і повертає значення, яке може бути як менше, так і більше початкового значення дійсного числа Х.
Про тип ValReal я розповідав тут.
Правило округлення числа
Округлення дійсного числа Х виконується за наступним правилом:
- Якщо дрібна частина числа Х менше 0.5, то число Х округляється в меншу сторону.
- Якщо дрібна частина числа Х більше 0.5, то число Х округляється в більшу сторону.
- Якщо дрібна частина числа Х дорівнює 0.5, то використовується особливий принцип округлення числа, так зване "Банківська округлення". Тобто коли число округляється завжди в сторону парного числа.
Приклади округлення чисел
Виходячи з вищесказаного функція Round буде повертати наступні результати при округленні чисел:
Ну і наостанок приклад програми:
Тому, якщо необхідно скласти дві змінних - цілу і речову, а результат помістити в цілу, то треба використовувати будь-яку з підпрограм перетворення типів. Наприклад, функцію Round.
Також зверніть увагу, що функція Round повертає число типу Int64. Цей тип НЕ є порядковим типом даних. Це означає, що по ідеї функцію Round не можна використовувати в конструкціях, що вимагають застосування порядкових типів. Наприклад, з оператором case.
Тобто по ідеї компілятор повинен видати помилку, якщо у вашій програмі буде щось типу того: Однак я перевірив. Програма компілюється і працює нормально. І все ж я не раджу використовувати в ваших програмах конструкції, які суперечать документації. Якщо необхідно використовувати результат функції Round в подібних ситуаціях, то краще спочатку привласнити результат якоїсь змінної порядкового типу, а потім вже цю змінну використовувати з таким операторами, як case.

директиви компілятора
Як це не дивно, але навіть багато досвідчених програмісти не використовують директиви компілятора, вважаючи їх чимось непотрібним і марним. А між тим, директиви компілятора - це дуже класна штука. Якщо їх вміло застосовувати в своїх програмах, то можна істотно скоротити час на розробку і зменшити кількість рутинних операцій. Детальніше.