Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции к экзамену ГТК.docx
Скачиваний:
16
Добавлен:
26.09.2019
Размер:
339.82 Кб
Скачать

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

4.2. Программирование задач с функциями

Заголовок описания функции имеет вид:

function Func ( SFP1 : T1 ; … ; SFPN : TN ) : T ;

где function – функция, Func – имя функции, SFP1 – список формальных параметров 1-й, SFPN – список формальных параметров N-й, T1 – тип параметров в 1-м списке, TN – тип параметров в N-м списке, T – тип значения, возвращаемого функцией.

Это означает, что задаётся подпрограмма-функция с именем Func, зависящая от формальных параметров из списка SFP1 типа T1 , … из списка SFPN типа TN , а также вычисляющая значение типа T.

Вызов функции из другой части программы имеет вид:

Func ( SFP )

где Func – имя функции, SFP – список фактических параметров.

Это означает, что вычисляется значение функции Func, зависящей от фактических параметров из списка SFP, причём вызов функции может осуществляться в составе выражения.

Задача 1.

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

Программа.

Program z1;

Var

A:array[0..100] of real;

B,C,x:real;

i,n:integer;

Function Step(a,b:real):real;

begin

Step:=exp(b*ln(a));

end;

Begin

read(n,x);

for i:=0 to n do

read(A[i]);

B:=Step(2.1,5)+Step(7,0.3);

C:=0;

for i:=0 to n do

C:=C+A[i]*Step(x,i);

writeln(B,C);

End.