Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Osnovy_informatiki_-_6_Podprogrammy

.pdf
Скачиваний:
12
Добавлен:
13.02.2015
Размер:
154.08 Кб
Скачать

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

2 0 1 2

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

2

Подпрограмма – последовательность операторов, имеющая имя и, возможно, список параметров

Подпрограмма может быть вызвана из программы или другой подпрограммы

Вызов подпрограммы осуществляется по ее имени

В вызове указываются также значения параметров

 

Чердынцева М.И. Мехмат ЮФУ

27.10.2012

 

 

 

 

 

 

 

 

 

Цели введения подпрограмм

3

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

Обеспечение массовости алгоритма не через ввод данных, а через передачу параметров

 

Чердынцева М.И. Мехмат ЮФУ

27.10.2012

 

 

 

 

 

 

 

 

 

Типы подпрограмм

4

Процедура

Функция

Вызов процедуры – оператор процедуры. Используется как любой другой оператор.

Вызов функции – указатель функции. Используется как операнд в выражении.

 

Чердынцева М.И. Мехмат ЮФУ

27.10.2012

 

 

 

 

 

 

 

 

 

Примеры стандартных подпрограмм

5

Процедуры ввода/вывода read( a,b);

writeln(‘ s = ‘, s);

Стандартные функции

Y:= sin(X);

if odd(N) then ….

 

Чердынцева М.И. Мехмат ЮФУ

27.10.2012

 

 

 

 

 

 

 

 

 

6

Описание процедур и функции выполняется в разделе описаний

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

 

Чердынцева М.И. Мехмат ЮФУ

27.10.2012

 

 

 

 

 

 

 

 

 

Синтаксис описания процедуры

7

procedure <имя >

[(<послед-ть спецификаций формальных параметров>)];

<раздел локальных описаний> begin

<операторы> end;

 

Чердынцева М.И. Мехмат ЮФУ

27.10.2012

 

 

 

 

 

 

 

 

 

Синтаксис вызова процедуры

8

<имя>[(<список фактических параметров>)]

 

Чердынцева М.И. Мехмат ЮФУ

27.10.2012

 

 

 

 

 

 

 

 

 

Пример

9

program ORDER;

procedure SWAP( var a, b:real); var t:real;

begin

t:=a; a:=b; b:=t end;

var a, b, c:real; begin

read (a, b, c); SWAP(a, b); SWAP(b, c); writeln (a, b, c)

end.

a

b

c

 

 

 

 

 

3

7

2

 

 

 

 

 

7

3

 

SWAP (a, b)

 

 

 

 

7

2

3

SWAP(b, c)

 

 

 

 

 

Чердынцева М.И. Мехмат ЮФУ

27.10.2012

 

 

 

 

 

 

 

 

 

Функции

10

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

 

Чердынцева М.И. Мехмат ЮФУ

27.10.2012