Определение и использование подпрограмм




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

Методические указания к лабораторной работе № 7
«Основы алгоритмизации и программирования»

 

Ростов-на-Дону


Составитель: С.В.Шинакова

 

 

Методические указания и задания к выполнению лабораторной работы по теме "Программирование в Delphi: введение Object Pascal" / ДГТУ, Ростов-на-Дону, 2009. ** с.

 

 

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

 

Рецензент:

 

 

Печать оперативная. Формат 60х84/16. Бумага офсетная.

Объем 0,7 усл.-п.л., 0,7 уч.-изд.л.

Тираж ** экз.

____________________________________________________________

ã ДГТУ, 2009


Цель работы

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

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

В Object Pascal есть два вида подпрограмм: процедуры и функции.

Для процедур и функций общим является наличие списка фактических (формальных) параметров, приводимого в скобках после имени процедуры, или функции. Рассмотрим следующий пример. Процедура Adder() вычисляет сумму двух вещественных чисел numl и num2:

{Суммирование переменных num1 и num2 и сохранение результата в переменной sum}

procedure Adder(num1: Real; num2: Real; var sum: Real);

begin

sum:= num1 + num2;

end;

В этом коде переменные num1, num2 и sum являются формальными параметрами процедуры Adder(). При вызове подпрограммы формальным параметрам присваиваются значения фактических параметров. Таким образом, в вызываемую подпрограмму передается информация из вызывающей подпрограммы.

Список формальных параметров, заданный в объявлении процедуры Adder() состоит из трех элементов. Это информирует компилятор о том, что в процедуру Adder() при вызове будут переданы три вещественных числа.

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

Фактический параметр – это значение, передаваемое в подпрограмму при ее вызове. Каждому формальному параметру соответствует один фактический параметр.

1. При составлении списка формальных параметров необходимо учитывать следующее.

2. Количество формальных параметров должно быть равно количеству фактических параметров.

3. Первый формальный параметр в списке соответствует первому фактическому, второй – второму и т.д.

4. Тип каждого фактического параметра должен совпадать с типом соответствующего ему формального параметра.

5. Имя фактического параметра никак не связано с именем соответствующего формального параметра.

6. Необходимо строго различать способы передачи данных – по ссылке, или по значению.

Определение и использование подпрограмм

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

 

procedure имя_процедуры (формальный_параметр1: mun1;

формальный_параметр2: тип2;...);

[ локальные_объявления; ]

begin

[ операторы; ]

end;

 

Чтобы вызвать процедуру, нужно задать ее имя и список фактических параметров. Синтаксис вызова процедуры имеет вид

имя_процедуры (фактический_параметр1, фактический_параметр2, …);

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

Изменим процедуру Adder() на функцию:

 

{Функция Adder () возвращает сумму переменных numl и num2}

function Adder(num1: Real; num2: Real): Real;

begin

Adder:= num1 + num2;

end;

 

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

 

function имя_функции (формальный_параметр1: mun1; …): тип_функции;

[ локальные_объявления;]

begin

[ операторы; ]

имя_функции:= возвращаемое_значение;

end;

Функция – это подпрограмма, возвращающая одно значение, в вызывающую подпрограмму.

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

Обратите внимание: функция определяется с заданным типом тип_функции. Этот тип имеет значение, возвращаемое из функции в вызывающую процедуру. Чтобы вернуть в вызывающую процедуру возвращаемое_значение, оно должно быть присвоено имени имя_функции в любом месте внутри блока функции (между ключевыми словами begin и end).



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-27 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: