русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Загальні відомості


Дата додавання: 2014-11-28; переглядів: 781.


 

Функція у термінах сучасних мов програмування є те, що у ту епоху, коли електронні обчислювальні машини вже були, але ніяких мов програмування ще не було, називалося підпрограмою. Розумілося це як деякий програмний код (частина програми), записаний таким чином, щоб було можливо програмувати звернення до нього з будь-якої точки програми. У формі підпрограм реалізовувались типові елементи програм, які мали "багаторазове" призначення. Широкого розповсюдження набула практика створення бібліотек стандартних підпрограм, їх застосування суттєво скорочувало загальний розмір програм, а сам процес програмування робило більш надійним.

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

У мові С/С++ функції є основними елементами тієї частини програми, що представляє алгоритми розв’язання проблеми, покладеної на неї. Образно кажучи, функції являють собою головні будівельні блоки, з яких будується виконуваний код будь-якої програми. Будь-яка програма містить у собі не менш однієї функції. Серед всіх функцій кожної програми особливе місце займає функція з фіксованим ім'ям main (головна функція). З виконання цієї функції починається робота будь-якої програми і після завершення роботи головної функції завершується й робота програми в цілому. На відміну від інших, функція main має свої особливості побудови й роботи, які будуть розглядатися трохи нижче.

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

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

тип ім'я(список параметрів)

{ тіло функції

}

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

 

У зв’язку з тим, що функція є досить автономний компонент програми, важливе значення мають наявні механізми обміну інформацією між функцією та зовнішнім кодом програми. Мовою С/С++ передбачено такі засоби обміну інформацією:

- глобальні об’єкти;

- вхідні та вихідні параметри функції;

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

 

Глобальні об’єкти

Глобальні об’єкти є найпростіший спосіб налагодження передавання вхідної та вихідної інформації. Але при застосування глобальних об’єктів треба враховувати такі обмеження:

1) доступ із функції до глобального об’єкту неможливий, якщо його ім’я екранується локальними оголошеннями функції;

2) якщо глобальний об’єкт є константним, його не можна застосувати для передавання вихідної інформації;

3) глобальні об’єкти рекомендується застосовувати тільки для передавання такої інформації, яка має дійсно глобальний характер (наприклад, константи або інформація, яка має загальне значення для програми в цілому). Для передавання поточної інформації краще застосовувати параметри функції.

У наступному прикладі програма розраховує і виводить на екран таблицю функції
y = x lg(x) з кроком табуляції 0.5. Функція func(), яка виконує обчислення, не має параметрів та повертаємого значення, обмін інформацією з зовнішнім кодом виконується через глобальні змінні X,Y.

 

// Приклад 1

#include <syst.h>

double X,Y;// X,Y - глобальні змінні

void func()// функція працює з глобальними об’єктами

{ Y= X*lg(X);

}


<== попередня лекція | наступна лекція ==>
Void main() | Void main()


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн