Понятие подпрограммы, виды подпрограмм в Паскале. — КиберПедия 

Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

Понятие подпрограммы, виды подпрограмм в Паскале.



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

В процессе изучения Паскаля мы уже неоднократно сталкивались с различными стандартными подпрограммами (например, ClrScr или sin), которые поставляются вместе с компилятором языка. Оказывается, что Паскаль позволяет программисту разрабатывать и использовать свои собственные подпрограммы. Таким образом, подпрограмму можно рассматривать как новую команду, порядок работы которой задаётся программистом самостоятельно.

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

В схемах алгоритмов подпрограммы обозначаются блоками вида:

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

Существует два основных вида подпрограмм: 1) процедуры и 2) функции. Отличие между ними состоит в том, что процедура выполняет предписанные действия, не возвращая явным образом числового результата. В качестве примера процедур можно привести процедуру очистки экрана ClrScr, процедуру генерации звукового сигнала Sound или процедуру установки текстового курсора в заданную позицию GotoXY.

В отличие от процедур, функции после выполнения предписанных действий возвращают результат работы в виде некоторого числа, символа или строки символов. Типичным примером функций являются функция вычисления квадратного корня sqrt, тригонометрические функции sin, cos, tan, функция генерации псевдослучайного числа Random и т.п. Поскольку функции возвращают определённое значение, их можно использовать в правых частях выражений.

Из приведённых примеров также следует, что для нормальной работы подпрограмм им обычно необходимо передавать определённые исходные данные. Например, для вычисления квадратного корня мы должны сообщить функции sqrt число, из которого этот корень будет извлекаться. Для позиционирования текстового курсора процедуре GotoXY следует указать координаты знакоместа на экране, в которое будет перемещён курсор. Подобные исходные данные называются аргументами, или параметрами подпрограммы. Они указываются в круглых скобках после имени вызываемой подпрограммы.

Рассмотрим, как можно модифицировать последний алгоритм, введя специальную подпрограмму, вычисляющую площадь отдельного треугольника.

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



Кроме того, необходимо выбрать имя этой функции и определить список её параметров.

Имя функции должно удовлетворять следующим требованиям. Во-первых, оно, как и все идентификаторы Паскаля, должно состоять из букв латинского алфавита и, возможно, цифр; начинаться с буквы; не совпадать ни с одним зарезервированным словом или ранее объявленным идентификатором. Во-вторых, целесообразно давать подпрограммам осмысленные имена, отражающие суть выполняемых ими действий. Последнее требование не является обязательным с точки зрения синтаксиса языка Паскаль, но оперировать подпрограммами с именами вида P158, или fff_13 крайне неудобно.

Поскольку функция предназначена для расчёта площади, в качестве имени можно выбрать, например, слово Square.

Если для вычисления площади, как и в первом алгоритме, будет использоваться формула Герона, то в качестве исходных данных в функцию следует передавать длины сторон треугольника, для которого производится расчёт.

Таким образом, алгоритм вычисления площади четырёхугольника будет иметь вид:

При этом, разумеется, следует отдельно разработать алгоритм функции Square.






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

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

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

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...





© cyberpedia.su 2017 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав

0.014 с.