Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция Pascal_mat №11_12.doc
Скачиваний:
6
Добавлен:
02.12.2018
Размер:
92.16 Кб
Скачать

Тема11-12

Підпрограми. Поняття про проектування зверху вниз. Класифікація підпрограм. Стандартні підпрограми й підпрограми користувача. Область застосування. Синтаксис. Особливості опису процедур і способи їхнього використання. Параметри-значення й параметри-змінні.

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

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

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

  • вбудовані;

  • визначені користувачем.

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

Стандартні функції

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

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

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

До стандартних функцій, що найбільш широко використовуються, відносяться наступні:

    • abs(x) – визначає абсолютне значення аргументу, яким може бути число або вираз цілого або дійсного типу;

    • arctan(x) – обчислює арктангенс кута, значення якого виражене в радіанах;

    • copy(x,n,l) – виділяє в рядковій змінній х групу символів, починаючи з позиції під номером п. Довжина групи дорівнює l. Параметри п і l повинні бути величинами цілого типу;

    • cos(x) – обчислює косинус кута, значення якого виражене в радіанах;

    • delete(x,n,l) – видаляє із рядкової змінної х групу символів, починаючи з позиції під номером п. Кількість символів дорівнює l;

    • ехр(х) – обчислює експоненту аргументу (тобто е в степені х);

    • int(x) – визначає цілу частину аргументу. Значенням функції є величина дійсного типу;

    • ln(х) – обчислює натуральний логарифм аргументу;

    • round(x) – округляє значення аргументу до найближчого цілого числа;

    • sin(x) – обчислює синус кута, значення якого виражене в радіанах;

    • sqr(x) – обчислює квадрат аргументу, яким може бути число або вираз цілого або дійсного типу;

    • sqrt(x) – обчислює квадратний корінь з аргументу;

    • trunc(x) – визначає цілу частину аргументу. Значенням функції є величина цілого типу.

    • length(x) – визначає кількість символів в рядку. Аргументом функції є рядкова змінна (або рядок), а значенням функції є величина цілого типу;

    • ord(x) – визначає код символу в таблиці ASCII Аргументом функції є символ, а значенням функції є величина цілого типу;

    • chr(x) – визначає символ по коду. Аргументом функції є ціле число, а значенням – символ.

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