В какой части программы описываются подпрограммы в языке паскаль между разделами

Если в программе имеется несколько одинаковых (или очень похожих) фраг­ментов, то возникает естественный вопрос: нельзя ли оформить повторяю­щийся фрагмент в виде отдельного блока, а затем обращаться к нему в программе столько раз, сколько требуется. Аналогичная идея возникает и при отладке больших программ — если разделить программу на отдельные самостоятельные фрагменты, то отладить ее по частям будет проще. Эти ра­зумные мысли имеют поддержку во всех языках высокого уровня, которые предоставляют программисту такое удобное средство разбиения программы на части, как подпрограммы.

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

Подпрограммы бывают двух видов: процедуры и функции, которые, в свою очередь, делятся на стандартные и определенные пользователем. Стандартные процедуры и функции являются частью языка и вызываются без предвари­тельного описания. Описание процедур и функций пользователя выполня­ется в разделе описания процедур и функций.

Паскаль для новичков 10-3 — подпрограммы: функции.

Само название подпрограмма говорит о том, что это часть программы, кото­рая оформляется как самостоятельная программная единица. Подпрограмма обязательно должна иметь уникальное имя (идентификатор), это имя и упот­ребляется для вызова подпрограммы. Понятно, что такой вызов можно вы­полнять многократно, более того, одни и те же подпрограммы можно ис­пользовать в разных программах, отладив их код только один раз.

Многие подпрограммы невелики по размерам и содержат десятки строк текста. Написать такие программы можно и без под­программ. Иное дело — создание проектов, насчитывающих тысячи и де­сятки тысяч строк, в которых задействованы целые команды программистов. Писать такие программы как единое целое, без разделения на самостоятель­ные фрагменты, просто невозможно. В курсовой работе рассмотрим варианты реализации подпрограмм средствами языка Pascal.

1 ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

1.1 Общие сведения о реализации подпрограмм

В программах на Pascal используются подпрограммы двух видов: процедуры и функции. Имея один и тот же смысл и аналогичную структуру, они несколь­ко различаются назначением и способом их использования.

Читайте также:
Программа где бедные меняются с богатыми

Все процедуры и функции, в свою очередь, подразделяются на две группы:

Встроенные (стандартные) процедуры и функции входят в стандартные биб­лиотеки и могут вызываться по имени без предварительного описания (напри­мер, процедуры ввода и вывода read и write). Наличие стандартных процедур существенно облегчает разработку программ, и этот инструмент широко используется при программировании на языке высокого уровня.

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

Процедуры и функции пользователя разрабатываются самим программистом и поме­щаются в раздел описаний процедур и функций. Их вызов для выполнения записывается в разделе операторов основной программы или другой подпрограммы.

Подпрограммы в Pascal

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

Аннотация: Структура, назначение и применение подпрограмм. Параметры и аргументы, области действия имен. Процедурный тип данных.

Подпрограммы

Весьма поэтичное объяснение понятия подпрограмма дал В.Ф. Очков: » Подпрограмма — это припев песни, который поют несколько раз, а в текстах песен печатают только один раз» 1 http://twt.mpei. ac .ru/ochkov/mc8Pro.book/6_text.htm .

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

С математической же точки зрения любая подструктура — это замкнутая часть целого, которую можно рассматривать как самостоятельную структуру: подмножество является множеством, подгруппа — группой, подалгебра — алгеброй, подпространство — пространством и т.д.

Таким образом, подпрограмма — это в первую очередь программа . Со всеми полагающимися полноценной программе атрибутами: именем, разделами описания меток ( label ), констант ( const ), типов ( type ), переменных ( var ) и даже со своими (вложенными) функциями и процедурами .

В языке Pascal имеется два вида подпрограмм : процедуры и функции . Описывая их общие черты, мы будем употреблять обобщенный термин » подпрограмма «. Если же в тексте встретятся слова » процедура » или » функция «, то это будет означать, что излагаемая информация свойственна только одному конкретному виду подпрограмм : либо только процедурам , либо только функциям .

Читайте также:
Как работать в программе adem

Объявление и описание

Подпрограммы объявляются и описываются в начале Pascal-программы, до ключевого слова begin , означающего начало тела программы.

Различия между процедурами и функциями начинаются уже с момента их объявления.

Объявление функции

Функции объявляются следующим образом:

function [()]:;

В отличие от констант и переменных, объявление подпрограммы может быть оторвано от ее описания. В этом случае после объявления нужно указать ключевое слово forward :

function [()]:; forward;

Объявление процедуры

Процедуры следует объявлять так:

procedure [()];

Если объявление процедуры оторвано от ее описания, нужно поставить после него ключевое слово forward :

procedure [()]; forward;

Описание подпрограммы

Описание подпрограммы должно идти после ее объявления. Оно осуществляется по следующей схеме (единой для процедур и функций ):

[ uses ;] [ label ;] [ const = ;] [ type = ;] [ var : ;] [ procedure ] [ function ;] begin end; (* конец тела подпрограммы *)

Если объявление подпрограммы было оторвано от ее описания, то описание начинается дополнительной строкой с указанием только имени подпрограммы :

function ;
procedure ;

Описания двух различных подпрограмм не могут пересекаться: каждый блок должен быть логически законченным. Однако внутри любой подпрограммы (она ведь тоже является программой, помните?) могут быть описаны другие процедуры или функции — вложенные. На них распространяются все те же правила объявления и описания подпрограмм .

procedure err(c:byte; s:string); var zz: byte; begin if c = 0 then writeln(s) else writeln(‘Ошибка!’) end;

Источник: intuit.ru

Процедуры пользователя в Pascal (описание, вызов, структура)

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

Процедуры помещаются в раздел описаний программы. Для обмена информацией между процедурами и функциями и другими блоками программы существует механизм входных и выходных параметров.

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

Одна и та же подпрограмма может вызываться неоднократно, выполняя одни и те же действия с разными наборами входных данных. Параметры, использующиеся при записи текста подпрограммы в разделе описаний, называют формальными, а те, что используются при ее вызове — фактическими.

Читайте также:
Понятие исполнителя алгоритма и программы виды управления исполнителем

Описание и вызов процедур

Структура описания процедур до некоторой степени похожа на структуру Паскаль-программы: у них также имеются заголовок, раздел описаний и исполняемая часть. Раздел описаний содержит те же подразделы, что и раздел описаний программы: описания констант, типов, меток, процедур, функций, переменных. Исполняемая часть содержит собственно операторы процедур.

Формат описания процедуры имеет вид:

Procedure имя процедуры (формальные параметры); раздел описаний процедуры Begin исполняемая часть процедуры End;

Формальные параметры в заголовке процедур записываются в виде:
Var имя праметра: имя типа

и отделяются друг от друга точкой с запятой. Ключевое слово var может отсутствовать. Если параметры однотипны, то их имена можно перечислять через запятую, указывая общее для них имя типа.

При описании параметров можно использовать только стандартные имена типов, либо имена типов, определенные с помощью команды type.Список формальных параметров может отсутствовать.

Вызов процедуры производится оператором, имеющим следующий формат:

имя процедуры(список фактических параметров);

Список фактических параметров — это их перечисление через запятую. При вызове фактические параметры как бы подставляются вместо формальных, стоящих на тех же местах в заголовке.

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

  • количество фактических параметров должно совпадать с количеством формальных;
  • соответствующие фактические и формальные параметры должны совпадать по порядку следования и по типу.

Кроме того, все формальные параметры являются временными переменными — они создаются в момент вызова подпрограммы и уничтожаются в момент выхода из нее.

  • Локальные – описываются в подпрограммах, используются только в той подпрограмме, где были описаны. В основной программе они не известны.
  • Глобальные – описываются в основной программе до раздела процедур и функций. Область их действий распространяется на основную программу и на все подпрограммы.

Var x,y,m,n: integer; Procedure MaxNumber(a,b: integer; Var max: integer); Begin If a>b Then max := a Else max := b; End; Begin write(‘Введите x,y ‘); readln(x,y); MaxNumber(x,y,m); MaxNumber(2,x+y,n); writeln(‘m=’,m,’n=’,n); End.

Источник: bigspawn.blogspot.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru