TURBO PASCAL

Новости

Программы   

Turbo Pascal 

Игры

Документация   

Странности

FAQ

Ссылки

Форум

Гостевая книга

Рассылка

Благодарности

Об авторе

 

 

Процедуры и функции 

             Код между  последними  операторами begin и end программы уп-
        равляет логикой программы.  В очень простой программе в этой сек-
        ции кода может содержаться все,  что вам нужно. В более крупных и
        сложных программах размещение в этой  секции  всего  программного
        кода может затруднить чтение и понимание программы.  К тому же ее
        будет труднее разрабатывать.

             Процедуры и функции позволяют разделить логику программы  на
        более мелкие и управляемые фрагменты и аналогичны подпрограммам в
        других языках.  Как и в основном блоке программы,  все действия в
        процедурах  и функциях заключаются в begin и end.  Каждый из этих
        сегментов кода выполняет конкретную задачу.

             ┌──────────────────────────────────────────────────────────┐
             │ Процедура или функция                                    │
             │┌────────────────────────────────────────────────────────┐│
             ││ Заголовок процедуры или функции                        ││
             │└────────────────────────────────────────────────────────┘│
             │┌────────────────────────────────────────────────────────┐│
             ││ Блок процедуры или функциями                           ││
             ││ begin                                                  ││
             ││┌──────────────────────────────────────────────────────┐││
             │││ Логика                                               │││
             ││└──────────────────────────────────────────────────────┘││
             ││ end;                                                   ││
             │└────────────────────────────────────────────────────────┘│
             └──────────────────────────────────────────────────────────┘


             Рис. 1.1 Диаграмма процедуры или функции.

             Если вы обнаружите, что в вашей диаграмме одни и те же дейс-
        твия выполняются многократно,  такую логику желательно выделить в
        процедуру или функцию.  Вы можете один раз записать  этот  код  в
        процедуре или  функции,  а затем многократно вызывать его в прог-
        рамме.

             Приведем пример функции. Следующая функция GetNumber получа-
        ет число от пользователя:

             function GetNumber: Real;
             var
                Responce: Real;
             begin
                Write('Введите число: ');
                Readln(Response);
                GetNumber := Response;
             end;

             Процедура или функция должна содержаться в  программе  перед
        секцией основного кода. В основном коде она может затем использо-
        ваться (вызываться).

             ┌──────────────────────────────────────────────────────────┐
             │ Процедура или функция                                    │
             │┌────────────────────────────────────────────────────────┐│
             ││ Заголовок процедуры или функции                        ││
             │└────────────────────────────────────────────────────────┘│
             │┌────────────────────────────────────────────────────────┐│
             ││ Блок процедуры или функциями                           ││
             ││┌──────────────────────────────────────────────────────┐││
             │││ Процедуры или функции (0 или более)                  │││
             ││└──────────────────────────────────────────────────────┘││
             ││ begin                                                  ││
             ││┌──────────────────────────────────────────────────────┐││
             │││ Логика                                               │││
             ││└──────────────────────────────────────────────────────┘││
             ││ end;                                                   ││
             │└────────────────────────────────────────────────────────┘│
             └──────────────────────────────────────────────────────────┘

             Рис. 1.2 Простая программа на Паскале.

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

             1. Получение числа от пользователя.

             2. Выполнение с этим числом необходимых вычислений.

             3. Печать отчета.


             Основная логика   программы   заключена  в  последнем  блоке
        begin..end.

             Program Report;

             var
               A: Real;
             { другие описания }
                .
                .
                .
               function GetNumber: Real;
               var
                  Responce: Real;
               begin
                  Write('Введите число: ');
                  Readln(Response);
                  GetNumber := Response;
               end;

               procedure Calculate(X: Real);
                  .
                  .
                  .
               procedure PrintReport;
                  .
                  .
                  .
             begin
               A: = GetNumber;
               Calculate(A);
               PrintReport;
             end.

             Основная логика  программы  достаточно проста для понимания.
        Все детали убраны в тела процедур и функций. Использование проце-
        дур и функций позволяет вам рассматривать программу более удобным
        и модульным способом.

Содержание

На первую страницу

Rambler's Top100 Rambler's Top100
PROext: Top 1000

(с)Все права защищены

По всем интересующим вопросам прошу писать на электронный адрес

Hosted by uCoz