↑ Вгору

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

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


читати

Переглянути реферат

зберегти

Скачати реферат

друкувати

Друкувати реферат

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

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

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

При проектуванні програми визначається, які частини алгоритму треба
реалізувати як процедури, а де знадобиться функція. В головній частині
програми підпрограми розташовуються після розділу опису даних перед
оператором 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

H

R



-



X

Z

\

^

b

j

p

- h®

3 h®

^

p

??o

??????o?p

+ h®

3 h®

3 h®

- h®

- h®

% h®

??o?um:=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.


© 2013 Alive-inter.net Про сайт Зворотній зв`язок Відмова від відповідальності