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


Тема № 4. Программирование подпрограмм и структурных типов данных

Перестановка и сортировка элементов массива

Рассмотрим фрагменты программ в таблице 6.

Таблица 6

Операция Фрагмент программы
1. Перестановка элементов 1-й и 2-й строк двумерного массива for j:=1 to n do begin c:=A[1,j]; A[1,j]:=A[2,j]; A[2,j]:=c; end;
2. Перестановка элементов 1-го и 2-го столбцов двумерного массива for i:=1 to m do begin c:=A[i,1]; A[i,1]:=A[i,2]; A[i,2]:=c; end;
3. Сортировка элементов одномерного массива по возрастанию (аналогично по убыванию) for k:=1 to n-1 do begin min:=A[k]; imin:=k; for i:=k+1 to n do if A[i]<min then begin min:=A[i]; imin:=i; end; c:=A[k]; A[k]:=A[imin]; A[imin]:=c; end;
4. Сортировка строк двумерного массива по возрастанию первых элементов строк (аналогично по убыванию) for k:=1 to m-1 do begin min:=A[k,1]; imin:=k; for i:=k+1 to m do if A[i,1]<min then begin min:=A[i,1]; imin:=i; end; for j:=1 to n do begin c:=A[k,j]; A[k,j]:=A[imin,j]; A[imin,j]:=c; end; end;
5. Сортировка столбцов двумерного массива по возрастанию первых элементов столбцов (аналогично по убыванию) for k:=1 to n-1 do begin min:=A[1,k]; jmin:=k; for j:=k+1 to n do if A[1,j]<min then begin min:=A[1,j]; jmin:=j; end; for i:=1 to m do begin c:=A[i,k]; A[i,k]:=A[i,jmin]; A[i,jmin]:=c; end; end;

 


Подпрограмма – именованный блок операторов, отдельно выделенный в составе программы.

Подпрограммы бывают 2-х видов:

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

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

Как правило, использование подпрограммы означает:

1. Описание подпрограммы, включающее:

а) Заголовок.

б) Разделы описаний.

в) Тело подпрограммы (begin…end;).

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

Заголовок подпрограммы и её вызов включают:

1. Имя подпрограммы (идентификатор функции или процедуры).

2. Список параметров (аргументов, атрибутов).

Параметр подпрограммы - величина, от значения которой зависит результат выполнения подпрограммы.

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

Формальные параметры – переменные, которые объявляются в заголовке подпрограммы (перечисляются в скобках через точку с запятой с указанием спецификации и типа параметров; параметры одного типа перечисляются через запятую).

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

Параметры-значения – параметры, значения которых передаются в подпрограмму в момент её вызова и назад не выдаются.

Параметры-переменные – параметры, значения которых передаются в подпрограмму в момент её вызова и могут использоваться после выполнения подпрограммы (перечисляются со словом var перед именем переменной).

Локальные переменные – переменные, используемые только внутри подпрограммы.

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