Приветствую Вас, Гость! Регистрация RSS
Пятница, 29.03.2024


Главная » Файлы » Доклады » Доклады

Функції та підпрограми
[ Скачать с сервера (60.5 Kb) ] 18.02.2018, 00:11
Часто виникає необхідність використання одного і того ж фрагменту у різних частинах програми. Змінюватися повинні лише значення параметрів цього фрагменту. Тривіально було б включити цей фрагмент у відповідні місця програми, однак це супроводжується затратами часу на програмування і відлагодження та нераціональним використанням пам’яті комп’ютера внаслідок суттєвого видовження програми. Оформлення такого фрагменту у вигляді підпрограми, підпрограми-функції чи оператора-функції дає можливість зекономити час і пам’ять. При такому оформленні фрагмент записується один раз, а у відповідні місця програми вставляються лише звертання до цього фрагменту.

7.1. Оператор-функція

Оператор-функція складається з одного оператора. Він має вигляд:

f (a1, a1, …, an) = e

Тут f – ім’я функції; a1, a1, …, an – імена формальних параметрів; e – вираз. Функція і кожен формальний параметр мають тип. Тип може бути заданий неявно чи за допомогою оператора описання типу. У виразах e можуть входити константи, формальні параметри, змінні та звертання до підпрограм-функцій. В e не можуть входити елементи масивів і звертання до того ж самого оператора-функції.
Приклади операторів-функцій:

Оператор описання типу та оператор-функція Тип оператора-функції
FORM(A, B, C) = A–B/C+COS(A*B)–5.3 Дійсний
INTEGER FUN
FUN(K, M1) = 2*K1–ALJG(M1)
Цілий
LOGICAL LG
LG(X,Y,Z) = X .GT. Y .AND. Y .GT. Z
Логічний

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

D3 = P+FORM(P, R+1.2, –3.25)
TT = FUN(K4, 21)*FORM(–P, 2*R, S)–ABC
H = FORM(FORM(–5.1, R, S), D1, F)

Після кінцевого обміну параметрів перший оператор стає еквівалентним оператору

D3 = P+P–(R+1.2)/(–3.25)+COS(P*(R+1.2))–5.3

В останньому прикладі оператор-функція викликається двічі. Спочатку обчислюється значення виразу FORM(–5.1, R, S). Після цього знову відбувається звертання до того ж оператора-функції при нових значеннях фактичних параметрів. Отримане значення присвоюється змінній Н.

7.2. Підпрограма-функція

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

t FUNCTION f (a1, a1, …, an)

Тут FUNCTION – символ Фортрану; f – ім’я підпрограми-функції; a1, a1, …, an – імена формальних параметрів (n1); t – оператор описання типу підпрограми-функції. На місці t можуть використовуватися символи INTEGER, REAL, DOUBLE PRECISION, COMPLEX чи LOGICAL, або він може бути упущений. Якщо на місці t вказаний один із перерахованих символів, то цей символ визначає тип підпрограми-функції. Якщо оператор описання типу відсутній, то тип підпрограми-функції заданий неявно, тобто визначається першою буквою його імені. Формальними параметрами можуть бути:
1) змінна;
2) масив;
3) підпрограма;
4) інша підпрограма-функція.
Формальні параметри (крім імені підпрограми) мають тип. Він може бути заданий неявно чи встановлений оператором описання типу, який розташовується після оператора початкового рядка підпрограми-функції.
Після оператора початкового рядка і операторів описання типу параметрів (якщо такі мають місце) записуються виконувані й невиконувані оператори, які вже описані у попередніх розділах.
Приклади заголовків підпрограм-функцій:

Оператор початкового рядка та оператор описання типу Тип підпрограми-функції
FUNCTION FUN(X) Дійсний
FUNCTION ABDM(Z5, B, N)
INTEGER B Дійсний
FUNCTION MFUN (Y, J, K) Цілий
INTEGER FUNCTION FUN(X) Цілий
LOGICAL LG(X, Y, Z)
LOGICAL Y, Z Логічний
Чи LOGICAL FUNCTION LG(X, Y, Z)????

Всередині підпрограми-функції не можуть знаходитися інші підпрограми-функції, а також підпрограми, однак допустима присутність операторів-функцій, розташованих перед першим виконуваним оператором. Формальні параметри підпрограми-функції не можна вказувати в операторі еквівалентності. Всередині підпрограми-функції її ім’я можна використовувати як змінну. Ім’я підпрограми-функції можна вказувати у виразах. Йому можна присвоювати значення. Якщо формальним параметром виступає ім’я масиву, то воно повинне бути описане всередині підпрограми-функції оператором описання розмірності масиву. Виконання підпрограми-функції починається з першого виконуваного оператора. Дальше виконується другий оператор і т. д. Після виконання оператора повернення RETURN робота підпрограми-функції закінчується.
Категория: Доклады | Добавил: opteuropa | Теги: лабораторна робота, дипломн, скачати доповідь, доповідь з права., КОНТРОЛЬНА, скачать реферат, курсач, курсова, курсовая работа, магістерська
Просмотров: 324 | Загрузок: 15 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Украина онлайн

Рейтинг@Mail.ru

подать объявление бесплатно