WWW.REFERATCENTRAL.ORG.UA - Я ТУТ НАВЧАЮСЬ

... відкритий, безкоштовний архів рефератів, курсових, дипломних робіт

ГоловнаІнформатика, Компютерні науки → Підпрограми - процедури та функції - Реферат

Підпрограми - процедури та функції - Реферат

Реферат на тему:

Підпрограми - процедури та функції

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

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

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

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

Розділ локальних даних

Begin

... {розділ виконавчих операторів}

End;

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

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

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

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

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

Результати роботи підпрограми можуть бути передані до головної програми через формальні параметри та глобальні дані.

Приклад. Програма обчислення суми десяткових цифр.

Програма:

Const N=5;

Var X:Array [1..N] of Integer;

SumX, Kill,I : Integer;

Procedure Sum(A:Integer; Var ISum:Integer);

Begin

ISum:=0;

While A<>0 do

Begin

Kill:=Kill+1;

ISum:=ISum+Abs(A) mod 10;

A:=A div 10;

End;

End;

Begin

Writeln('Введіть масив');

For I:=1 to N do Read(X[i]);

Kill:=0;

For I:=1 to N do

Begin

Sum(X[I], SumX);

Writeln(X[I]:6, SumX:4);

End;

Writeln('Загальна кількість цифр', Kill);

End.

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

Ім'я функції вибирається довільно (як ім'я змінної).

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

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

{локальні дані}

Begin

...

ім'я := ...;

...

End;

Типом функції може бути скалярний тип, тобто: цілий, дійсний, логічний, символьний та рядковий тип String.

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

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

Звернення до функції виконується з якого-небудь арифметичного виразу так, як і до стандартних функцій тину sin(x), ln(x), тощо. Результат роботи функції передається в місце її виклику.

Приклад. Використання функції для обчислення степені.

Програма:

Var x,y,z : Real ;

Function Step(a:real; b:real):real;

Begin

If a<=0 then

Begin

Writeln( 'перевірте дані');

Halt(0);

End;

If b=0 then Step:=1

else Step:=exp(b*ln(a));

End;

Begin

Readln(x:y);

Z:=Step(x,y)+Step(y,x);

Writeln(x,y,z);

End.

Loading...

 
 

Цікаве