Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вспомогательные алгоритмы.doc
Скачиваний:
57
Добавлен:
13.04.2015
Размер:
218.62 Кб
Скачать

Алгоритм-процедура

- +

Используем этот алгоритм при описании основного алгоритма.

Ответы: max(a+b,a-b)=c

max(a2,b2 )= d

max(a,b)=c

При описании основного алгоритма

обращение к процедуре записывают в блоке:

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

z

1)

2)

3)

p

M

a+b

a-b

c

a2

b2

d

a

b

c

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

Алгоритм-функция.

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

Пример: Напишем для рассмотренной выше задачи алгоритм-функцию, вычисляющий max(z,p). В отличие от процедуры значение результата присваивается имени функции.

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

2вариант:

-

z

p

1

a+b

a-b

2

a2

b2

3

a

b

Здесь 2 формальных параметра - z, p. Это параметры-значения. Результат присваивается имени.

Отметим, что при обращении к подпрограмме (процедуре и функции) фактические параметры следует записывать в той же последовательности, что и формальные.

Программирование с использованием процедур и функций. Описание подпрограммы-процедуры.

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

Procedure<имя процедуры>(<список формальных параметров>);

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

Пример: Записать процедуру, вычисляющую функцию: y=xn, n € Z

Procedure Stepen (x:real; n:integer; var y:real);

Var i:integer;

Begin

y:=1;

for i:=1 to n do

y:=y*x;

end;

Параметры х, y, n являются формальными, причем x, n – параметры-значения (исходные данные), y – параметр-переменная (результат), поэтому у в списке параметров описывается по-особому с использованием слова var, то есть: var y:real

Кроме того, в этой процедуре используется переменная i. Она описана вне заголовка, в описательном разделе блока процедуры – разделе описания переменных процедуры var.

Переменная i является локальным параметром, который описан внутри данной процедуры и действует только внутри еелокально.