Житомирський військовий інститут національного авіаційного університету
Реферат
на тему:
Процедури та функції в
Turbo
Pascal
Житомир 20
10
1. Загальні відомості про процедури та функції
Автономна частка програми (яка реалізує визначений алгоритм і припускає звертання до неї із різних часток загальної програми) називається підпрограмою
.
Розміщення підпрограм у програмі схоже з ієрархічним принципом побудови файлової системи (рис.1).
Рис. 1.
Позитивні сторони використання підпрограм:
1) реалізується метод структурного програмування (блочна, модульна побудова);
2) економія пам’яті (яка виділяється для зберігання змінних підпрограми тільки під час роботи підпрограми);
3) імена змінних в основній програмі і підпрограмах незалежні (потр. змінна А програми і підпрограми можуть мати різні фізичні значення);
4) самостійний характер підпрограм дозволяє їх створення різними користувачами, що прискорює процес програмування.
В мові Паскаль виділяють два види підпрограм:
- процедура (PROCEDURE
);
- функція (FUNCTION
).
Принципи побудови Паскаль-програми, процедури і функції ідентичні і відрізняються тільки заголовками.
Форма заголовків:
Program <ім’я> (список параметрів)
Procedure <ім’я> (список параметрів)
Function <ім’я> (список параметрів)
Блоки можуть бути незалежними або вкладеними один в одного. Відповідно вони носять назву зовнішнього
або внутрішнього
(рис.1).
Рис. 2. Принцип блочної побудови програми
Змінні і константи можна описувати у зовнішніх або внутрішніх блоках. Тому виникає два поняття змінних і констант: локальні
і глобальні
.
Локальні
– існують у рамках того блока, де вони описані. Тобто за межами даного блока їх використовувати не можливо.
Глобальні
– описані у зовнішньому блоці але використовують у внутрішньому блоці.
Правила локалізації змінних:
1) змінна (константа) існує в рамках того блока де вона описана;
2) кожна змінна в межах блока повинна бути описана тільки один раз;
3) якщо у внутрішньому блоці використовується змінна, яка описана у зовнішніх блоках, то діє тільки опис самого внутрішнього блоку (найближчого);
4) якщо змінна описана як у внутрішньому так і у зовнішньому блоках, то при переході до внутрішнього блока опис зовнішнього блока не використовується, тобто діє опис внутрішнього блоку. При переході до зовнішнього блока знову починається дія опису зовнішнього блока.
2. Процедури з параметрами та без параметрів
Процедури з параметрами (методика розробки)
· процедура складається із заголовка і блока. Блок будується стандартно і не відрізняється від блока програми за винятком того, що наприкінці процедури ставиться крапка з комою.
· Ім’я вибирають довільно. Параметри, які містяться у списку параметрів, носять назву формальних
– тобто вони не приймають ніяких значень, а тільки позначають місця, на які далі будуть поставлені так звані фактичні параметри
. Параметри позначають початкові дані (аргументи) і результати виконання процедури.
· Список параметрів складається із окремих секцій, які відокремлюють крапкою з комою ( ;
). В секції вказується перелік (список) параметрів і через двокрапку їх тип.
Наприклад:
Procedure R( x, y : real; k : integer; var s : real);
Тут параметри x
і y
вказують першу секцію, k –
другу, s
– третю. В даному прикладі x, y, k
– параметри-значення; s
– оператор-змінна, перед яким повинно стояти службове слово var
. Параметри-значення – аргументи функції, а параметри-змінні – результати виконання процедури.
Приклад 2.1.1
розробки процедури:
Procedure Sum (a, b : real; var y, z : real);
const n=10;
var i : integer;
begin
for i := 1 to n do
begin
y := a + b * i;
z := 4 * y – i;
end;
end
Тут a
і b
– вхідні параметри, їх значення передаються із основної програми в цю процедуру. Результати процедури (вихідні параметри)є обчислені значення y
і z
, які передаються із процедури в основну програму і там можуть бути використані.
Методика використання процедури у зовнішньому блоці
Для використання процедур існує так званий оператор процедури:
<ім’я процедури> (список фактичних параметрів)
Ім’я повинноспівпадати з іменем записаної процедури. Параметри у дужках носять назву фактичних
. Вони відповідають реальним змінним, над якими виконують операції. Фактичні і формальні параметри повинні відповідати одне одному за містом їх розміщення і типом. Список фактичних параметрів не містить типів даних, бо вони вже вказані у списку формальних параметрів.
Program PR;
procedure P(x, y : real; var z : real );
end;
begin
P(a, b, c);{виклик процедури}
end
Приклад 2.2.1
в програмі визначити довжину кола C
і площі круга S
, обмеженого цим колом; відстань L
центра кола від початку координат О
. Координати центра кола – x, y
, радіус кола – R
.
Program KOLO (input, output);
var R: real; {радіус}
x, y: real;{координати центра}
C: real;{довжина кола}
S: real;{площа круга}
L: real;{відстань від центру}
Procedure KRUG (R, x, y : real; var C, S, L : real);
const pi = 3.14;
begin
C:= 2 * pi * R;
S:= pi* sqr ( R );
L:= sqrt ( sqr(x) + sqr(y));
end;
begin
writeln (‘ ввести R, x , y :‘);
read (x, y , R);
KRUG (R, x ,y, C, S, L);
writeln (‘довжина кола = ’, C : 6 : 2);
writeln (‘площа кола = ’, S : 6 : 2);
writeln (‘відстань = ’, L : 6 : 2);
end.
Суть (трактовка) параметрів-значень і параметрів змінних
Розглянемо особливості передачі параметрів із зовнішнього блоку до внутрішнього.
1-й спосіб – підстановка на місце формальних параметрів обчислених значень фактичних параметрів. Наприклад (див. приклад 2.1.1):
Sum (3.5, 7.6, y, z);
2-й спосіб – підстановка замість формальних параметрів імен фактичних параметрів:
Sum (x1, x2, y, z);
При цьому результати процедури завжди отримують імена (і не обов’язково співпадають з іменами формальних параметрів). Наприклад:
Sum (x1, x2, С, D);
Розглянемо можливі варіанти опису фактичних параметрів у зовнішньому блоці і відповідне звертання до процедури.
Таблиця 2.1
І. Procedure P(x : тип; y : тип; var z : тип);
|
||
1 | A – const; B - const; C – var |
P (A, B, C) |
2 | A – var; B – var; C – var |
A := F1; B := F2; P (A, B, C); або read (A, B); P (A, B, C); |
3 | C – var; | P (3, 4 ,C); |
ІІ. Procedure P1(var x : тип; var y : тип; var z : тип);
|
||
4 | A – var; B – var; C – var; |
A := F1; B :=F2; aбо read (A, B); P1 (A, B, C); |
|
Рис. 4
Приклад:
Program Pr (input, output);
var i, n, k : integer;
T: array[1..100] of real;
FUNCTION SN: real;
begin
SN := 0
for i:=1 to n do SN:=SN+T[i]
end;
begin
i:=34;
r:=SN;
a:=i + k;{i – після виконання функції стала
невизначеною, тому a:=i + k – не має смисла}
end.
Висновки:
Таким чином, в мові Pascal є широкі можливості використання процедур і функцій, що надає більшу наочність, компактність, структурованість програмам; виникають умови для створення складних програмних комплексів групами програмістів; процес програмування стає більш систематичним і цілеспрямованим.
Название реферата: Процедури та функції в Turbo Pascal
Слов: | 2155 |
Символов: | 18732 |
Размер: | 36.59 Кб. |
Вам также могут понравиться эти работы:
- Функціональний генератор інфранизької частоти на базі мікропроцесорної системи
- Схема електрична принципова Луноходу з мікроконтролерним управлінням
- Анализ системы управления Общежитие
- Теория устойчивости систем
- Информатика и ЭВМ в психологи
- Проектирование информационной системы складского учета с использованием платформы 1С Предприяти
- Разработка модуля для предприятия по сборке ПК в программе 1С Предприятие