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

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...

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

2017-11-18 636
Понятие подпрограммы, виды подпрограмм в Паскале. 0.00 из 5.00 0 оценок
Заказать работу

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Поделиться с друзьями:

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

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

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



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

0.008 с.