- •План:
- •Приклад
- •Приклад1:
- •Формат визначення функції наступний:
- •Оператором повернення з функції в точку її виклику являється оператор return. Він може
- •Формат звернення до функції (виклику функції) традиційний:
- •Прототип функції
- •Тут використаний прототип функції.
- •Прототипом називається попередній опис функції, в якому містяться усі необхідні відомості для правильного
- •Приклад 3
- •Приклад 4
- •Якщо основна частина програми є функцією, то хто (чи що) її викликає? Програму
- •Використання бібліотечних функцій
- •Розглянемо програму рішення наступної задачі: знаючи декартові координати вершин опуклого чотирикутника, вичислити його
- •Математичне рішення цієї задачі наступне.
- •Аналогічно обчислюються довжини інших відрізків. Для вирішення основного завдання — обчислення площі чотирикутника
- •Приклад 5
- •У цій програмі використовуються функції з трьох стандартних бібліотек із заголовними файлами iostream.h,
- •Ще одним новим елементом в приведеній програмі є рядок
- •У функції Geron є звернення до функції Line, а в основній функції —
- •Рекурсивні визначення функцій
- •Передача значень через глобальні змінні
- •Наприклад:
- •При зверненні до функції передача значень можлива як через параметри, так і через
- •Результат виконання функції MAX заноситься в глобальну змінну z, яка «видно» також і
- •Класи пам'яті
- •Під глобальні змінні виділяється місце в зовнішній пам'яті (це оперативна пам'ять класу extern).
- •Приклад 7
- •Локальні змінні, оголошені усередині блоків, розподіляються в автоматичній пам'яті, працюючій за принципом стека.
- •Ініціалізація статичної змінної відбувається тільки при першому входженні у блок. Якщо ініціалізація явно
- •Приклад 8
Приклад 4
Зіставимо програму на Паскале для обчислення найбільшого загального дільника для суми, різниці і твору двох чисел з аналогічною програмою на Сі++
Якщо основна частина програми є функцією, то хто (чи що) її викликає? Програму викликає операційна система при запуску програми на виконання; main -функція зовсім не обов'язково повинна мати тип void. Наприклад, вона може повертати операційній системі ціле значення 1 в якості ознаки благополучного завершення програми і 0 — в «аварійному» випадку. Обробка цих повідомлень здійснюватиметься системними засобами.
Використання бібліотечних функцій
Бібліотечними називаються допоміжні функції, що зберігаються в окремих файлах. Стандартні бібліотеки входять в стандартний комплект системи програмування на Сі/Сі++. Програміст може створювати власні бібліотеки функцій.
для використання стандартних функцій необхідно підключати до програми заголовні файли відповідних бібліотек. Робиться це за допомогою директиви претранслятора #include з вказівкою імені заголовного файлу.
Наприклад, #include <stdio.h>.
Усі заголовні файли мають розширення h (від англійського header). Ці файли містять прототипи функцій бібліотеки. На стадії передтрансляции відбувається підстановка прототипів перед основною функцією, після чого компілятор в змозі контролювати правильність звернення до функцій. Самі програми, що реалізовують функції, зберігаються у формі об'єктного коду і підключаються до основної програми на стадії редагування зв'язків (при роботі компонувальника).
Розглянемо програму рішення наступної задачі: знаючи декартові координати вершин опуклого чотирикутника, вичислити його площу
Математичне рішення цієї задачі наступне.
Позначимо координати вершин чотирикутника так:
(х1, у1) (х2, у2) (х3, у3) (х4, у4).
Площу чотирикутника можна вичислити як суму площин двох трикутників. У свою чергу, площа кожного трикутника обчислюється за формулою Герона. Для застосування формули Герона треба знайти довжини сторін. Довжина сторони між першою і другою вершинами обчислюється за формулою:
Аналогічно обчислюються довжини інших відрізків. Для вирішення основного завдання — обчислення площі чотирикутника — потрібно допоміжний алгоритм обчислення площі трикутника, для якого, у свою чергу, потрібний допоміжний алгоритм обчислення довжини відрізку по координатах кінців. Нижче приведена програма рішення поставленої задачі.
Приклад 5
У цій програмі використовуються функції з трьох стандартних бібліотек із заголовними файлами iostream.h, math.h і conio.h. Бібліотека (файл conio.h) містить функції, призначені для управління виводом на екран в символьному режимі.
У програмі з цієї бібліотеки використовується функція clrscr () — очищення екрану.
Ще одним новим елементом в приведеній програмі є рядок
typedef double D;
Службове слово typedef є специфікатором типу, що дозволяє визначати синоніми для позначення типів. В результаті в даній програмі замість довгого слова double для позначення того ж самого типу можна вживати одну букву D. Цей опис діє глобально і поширюється як на основну, так і на допоміжні функції.