загрузка...
загрузка...
На головну

ПРОЦЕДУРИ І ФУНКЦІЇ

  1.  I. Метаморфози кореня, спеціалізовані на запасающей функції
  2.  I. Функції 1 сторінка
  3.  I. Функції 2 сторінка
  4.  I. Функції 3 сторінка
  5.  I. Функції 4 сторінка
  6.  II. Метаморфози кореня, службовці для посилення опорної функції (додаткові за походженням)
  7.  III. Функції дійових осіб

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

процедура має таку ж структуру, як і програма, але з двома відмінностями:

- Заголовок процедури має інший синтаксис і включає службове слово procedure;

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

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

procedure <ім'я> (<список описів формальних параметрів>) Опис формальних параметрів може мати вигляд

<Список імен>: <тип> або var <список імен>: <тип>

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

Оператор виклику процедури має вигляд

<Ім'я процедури> (<список виразів>);

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

Параметри-змінні слід використовувати для представлення результатів процедури.

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

- Заголовок функції починається зі службового слова function і закінчується зазначенням типу значення функції:

function <ім'я> (список описів формальних параметрів): <тип>;

-розділ операторів функції повинен містити хоча б один оператор присвоювання імені функції;

- Звернення до функції - НЕ оператор, а вираз виду

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

Функції (і процедури) можуть використовувати своє ім'я у власному описі, тобто можуть бути рекурсивними.

Зовнішні бібліотеки. Як відомо, підпрограми (процедури і функції) використовуються в програмах з метою їх структурування, а також при багатократних повторах деяких частин програми. Процедури і функції описуються в програмних одиницях в розділі опису підпрограм. Вони є внутрішніми для цих програмних одиниць.

Бувають випадки, коли одні і ті ж підпрограми можуть використовуватися в різних програмах одного і навіть декількох користувачів. У подібних ситуаціях доцільно створювати зовнішні підпрограми, які можна в необхідний момент підключати в будь-які програми. Як правило, зовнішні підпрограми об'єднують в окремі пакети, так звані, бібліотеки зовнішніх підпрограм. Можуть створюватися особисті бібліотеки, спеціалізовані бібліотеки колективного користування та ін. З одного з таких бібліотек - вбудованої бібліотекою стандартних підпрограм - користувачі мають справу практично завжди. До складу цієї бібліотеки входять процедури і функції обчислення значень ряду елементарних функцій: синуса, косинуса, експоненти і т.д., процедури і функції обробки символьних величин, процедури введення-виведення та ін. (Список їх наведено в кінці § 3). Вбудована бібліотека підключається до будь-якій програмі автоматично при компіляції. Тому відкомпільований файл з розширенням .corn (іноді званий «комовскім»), як правило, займає в 8 -10 разів більше місця в пам'яті, ніж вихідний текст.

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

модулі використовують в більш пізніх версіях Паскаля для створення бібліотек та поділу великих програм на логічно пов'язані незалежні один від одного складові частини. До складу модуля входять такі розділи: заголовок, інтерфейс, реалізація, ініціалізація. Тема необхідний для посилань на модуль. Інтерфейс містить оголошення, включаючи процедури і функції, представлені списком заголовків і доступні користувачам в тілі основної програми. Розділ «реалізація» містить тіла процедур і функцій, перерахованих в інтерфейсній частині модуля. Розділ «ініціалізація» містить оператори, необхідні для ініціалізації модуля. Таким чином модуль - це набір констант, типів даних, змінних, процедур і функцій. Кожен модуль компілюється окремо; результат компіляцію - файл з розширенням .tpu (Turbo Pascal Unit). Кожен елемент модуля можна використовувати в програмі користувача без додаткового оголошення, для чого достатньо записати ім'я використовуваного модуля в директиві Uses на початку програми після його заголовка.

У Турбо-Паскалі версії 5.0 і вище застосовують стандартні модулі CRT, GRAPH і ін. У цих модулях містяться сервісні процедури і функції по роботі з екраном дисплея, з клавіатурою, графічними примітивами і т.п. Модулі підключаються до програми шляхом спеціальної команди, що розміщується відразу після заголовка:

uses <ім'я модуля>

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

 




 РІЗНІ РІВНІ вистав ПРО ІНФОРМАЦІЮ |  Безперервної та дискретної ІНФОРМАЦІЯ |  імовірнісний підхід |  властивості ІНФОРМАЦІЇ |  АЛГОРИТМ І ЙОГО ВЛАСТИВОСТІ |  ПОНЯТТЯ ВИКОНАВЦЯ АЛГОРИТМА |  ГРАФІЧНЕ ПОДАННЯ АЛГОРИТМІВ |  властивості алгоритмів |  КЛАСИФІКАЦІЯ МОВ ПРОГРАМУВАННЯ |  ПОНЯТТЯ ПРО МОВИ ПРОГРАМУВАННЯ ВИСОКОГО РІВНЯ |

загрузка...
© um.co.ua - учбові матеріали та реферати