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

4. Функции в языке Pascal

Функции в языке Pascal - это программные единицы (подпрограммы), предназначенные для вычисления значения функции одной или нескольких переменных [Л1, стр. 64].

Они могут помещаться в рабочей программе или в библиотеке (модуле).

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

function имя-функции (список формальных параметров);

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

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

Пример 22. Вычислить корень алгебраического уравнения f(x)=0 методом половинного деления на интервале [a,b] с точностью .

Пусть нужно решить уравнение x2 - 5 = 0 и вывести на экран приближенное значение корня x, значение функции f(x), количество последовательных приближений n.

Пусть известно, что в интервале [2,3] имеется единственный корень.

Будем выполнять расчеты при различных значениях .

В данном примере поместим подпрограмму-функцию в рабочую программу.

В программе будем использовать следующие обозначения для имен переменных: t – середина интервала [a,b], fa – значение f(a) , ft - значение f(t), eps- значение .

Program Primer22;

var a, b, eps, t, x, fa, ft : real;

n : integer;

function f(x: real) : real; {подпрограмма-функция f(x)}

begin

f:=x*x-5;

end;

begin writeln(‘a, b, eps’);

readln(a, b, eps);

n:=0;

fa:=f(a); {обращение к подпрограмме-функции f(x) при x=a}

while abs(b-a) > eps do

begin

t:=(a+b)/2;

n:=n+1;

ft:=f(t); {обращение к подпрограмме-функции f(x) при x=t}

if (fa*ft) < 0 then b:=t else begin a:=t; fa:=ft; end;

end;

x:=(a+b)/2;

writeln(‘x = ’, x:5:3, ‘ f(x) = ’, f(x):5:3, ‘ n = ’, n:3);

end.

Контрольные расчеты

Исходные данные

Результаты вычислений

a

b

x

f(x)

n

2

3

0.01

2.23828

0.0099

7

2

3

0.001

2.23583

-0.001

10

2

3

0.00001

2.23605

-0.00006

14

Примечание.

Если x является приближенным значением корня уравнения, то f(x) ≈ 0.

5. Процедуры в языке Pascal

Процедуры в языке Pascal - это программные единицы (подпрограммы), которые могут помещаться в рабочей программе или в библиотеке (модуле) [Л1, стр. 61-64].

Заголовок в подпрограмме- процедуре имеет вид:

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

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

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

Пример 23. Даны матрицы A, B. Вычислить матрицу C=A+B. Элементы матрицы С вычисляются по формуле: cij = aij + bij.