русс | укр

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

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


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


Функції.


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


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

Опис функції розміщується в програмі перед основним блоком і містить заголовокта тіло функції. Опис виглядає як звичайна самостійна програма з своєрідним заголовком:

FUNCTION <ім’я> (<список параметрів та їх типів>) : <тип функції> ;

<ім’я> –ідентифікатор функції;

<список параметрів та їх типів>– перелік формальних параметрів із вказівкою їх типів;

<тип функції>визначає, які значення може набувати ідентифікатор функції.

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

Після заголовку і перед тілом функції, як і в будь-якій програмі ,повинні йти блоки оголошень всіх констант, змінних, типів, підпрограм, які використовуються в тілі функції, тобто її основному блоці. Все це – її локальні дані , які не можуть бути використані в головній програмі.

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

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

<ім’я функції> (<список фактичних параметрів>) ;

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

Послідовність дій при виконанні виклику підпрограми-функції:

Ø Робота головної програми припиняється і починається виконання ПП-функції.

Ø Головна програма передає ПП одне або декілька конкретних значень, тобто відбувається заміна формальних параметрів на фактичні.

Ø Виконуються дії, передбачені ПП, в результаті яких обчислюється значення функції.

Ø Знайдене значення функції повертається в головну програму, саме в ту точку, з котрої викликалася ПП.

Механізм виконання виклику підпрограми-функції можна схематично представити так:

 

FUNCTION F ( a1 : T1 ; a2: T2 ; …….. ; an : Tn ) : T ;

F ( b1 , b2, ……, bn )

Правила формування та використання підпрограми-функції:

1. Перший рядок опису ПП-функції – її заголовок, в якому визначаються : ім’я функції, ім’я та тип кожного формального параметра, тип результату, тобто самої функції.

2. Локальні змінні, що оголошуються за заголовком функції, ніяк не пов’язані з об’єктами головної програми, навіть якщо в них співпадають імена; при виконанні тіла функції ПП користується окремою від головної “стековою” пам’яттю.

3. Фактичні параметри можуть бути змінними, константами або навіть виразами.

4. ПП починає виконуватися з тими значеннями своїх формальних параметрів, які вони мали в момент входу в ПП.

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

6. Значення, що повертається в головну програму, може бути 1)присвоєне деякій змінній; 2)використано як складова якогось виразу; 3)надруковано; 4)передано в іншу ПП як фактичний параметр.

7. Підпрограму-функцію можна тестувати та відладжувати незалежно від інших модулів.

Приклад. Скласти програму обчислення значення кількості сполучень

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

PROGRAM SPOLUCH ;

VAR CNM : REAL;

N , M , L : INTEGER;

FUNCTION FACTOR ( K: INTEGER ) : INTEGER ;

VAR I , P : INTEGER ;

BEGIN

P := 1;

FOR I :=1 TO K DO P := P*I ;

FACTOR := P

END ;

BEGIN

WRITELN (‘ВВЕСТИ N,M’) ; READ ( N , M );

L := N – M ;

CNM := FACTOR(N)/ (FACTOR(M) *F ACTOR(L)) ;

WRITELN ( ‘Кількість сполучень із ‘ , N , ‘ по ‘ , M ,

‘ = ‘ , CNM )

END .


<== попередня лекція | наступна лекція ==>
Підпрограми | Процедури .


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