Структура процедур и функций
Оценка 4.9

Структура процедур и функций

Оценка 4.9
docx
информатика
06.05.2020
Структура процедур и функций
0.1. Структура процедур и функций
92.docx

0.1. Структура процедур и функций

Подпрограмма может не только обращаться к другим подпрограммам, но и иметь внутри себя свои собственные, внутренние, вложенные подпрограммы. Все эти подпрограммы описываются внутри данной подпрограммы, являются локальными в ней и не видны снаружи. Необходимость этого вытекает из желательности развязки отдельных частей больших проектов. Так, руководитель проекта может разделить проект на пять больших подпрограмм и поручить каждую отдельному руководителю. Те в свою очередь делят свои куски между подчиненными программистами, каждому поручая подпрограмму помельче, которая тоже в свою очередь нуждается в разбивке. В результате, если не использовать вложенности, проект оказывается разбит на несколько сотен маленьких равноправных подпрограмм. Нет никакой гарантии, что среди них не встретятся одноименные, и если бы вложенных подпрограмм не было, Паскаль обнаружил бы среди них одноименные и выдал ошибку. При использовании же вложенности это не страшно, так как подпрограммы с одинаковыми именами упрятаны внутрь более крупных подпрограмм и друг друга не видят.

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

По сути структура подпрограммы копирует структуру программы за исключением того, что в подпрограммах запрещено писать USES.

Приведу пример записи программы с вложенными подпрограммами:

PROGRAM Hard;

Uses   ...

Label  ...

Const ...

Type   ...

Var     ...

Procedure a1;

            Const ...

            Var     ...

            Procedure a11;

                        Label  ...

                        Type    ...

                        Var     ...

                        begin

                                    ...

                        end;

            Function f11

                        Var     ...

                        begin

                                    ...

                        end;

            begin

                        ...

            end;

Function  f2;

            Procedure a21;

                        begin

                                    ...

                        end;

begin

                        ...

end;

begin

            ...

end.

Здесь в программу Hard  входят процедура a1 и функция f2. В процедуру a1 вложены процедура a11 и функция f11. В функцию f2 вложена процедура a21.

Из f2 видна a1, но не видны a11 и f11. Точно так же из a21 видны a1 и f2, но не видны a11 и f11. Это значит, что в теле процедуры a21может содержаться вызов a1и f2, но не может содержаться вызов a11и f11.


 

Скачано с www.znanio.ru

Структура процедур и функций

Структура процедур и функций

Здесь в программу Hard входят процедура a1 и функция f2

Здесь в программу Hard входят процедура a1 и функция f2
Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.
06.05.2020
Посмотрите также: