Главная страница

 

ДОМ
ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

Информатика и программирование
Информационные технологии
Компьютерные сети
Информационная безопасность
Как заработать в сети Интернет
Информатика и программирование
Операційна система Windows
Текстовий редактор Word
Редактор електронних таблиць Excel
Мова програмування Pascal
Язык программирования Pascal

Теоретичний матеріал за темами:

1.              Загальні вказівки

2.              Програмування лінійних структур, обчислення арифметичних виразів

3.              Програмування розгалужених обчислюваньних процесів

4.              Програмування циклічних обчислювальних процесів

5.              Обробка текстових даних

6.              Використання типу Record

7. Використання підпрограм

8. Організація модулів

9. Робота з файлами

10. Використання динамічних змінних

  return_links(); ?>

Copyright © Евгений Литвиненко, 2007
Использование без разрешения автора запрещено

Використання підпрограм

 

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

Copyright © Eugene, 2007
e-mail: webmaster@ITDom.info
Rambler's Top100 Рейтинг@Mail.ru