Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Тема 3.2 Подпрограммы-процедуры.




Тема 3. 2 Подпрограммы-процедуры.

 

1. Функции

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

Подпрограмма-функция обрабатывает данные, переданные ей из главной программы, и затем возвращает полученный результат (в отличие от процедуры). В языке Паскаль есть стандартные функции, которые описаны в модулях. Ими можно пользоваться. Для использования некоторых стандартных функций требуется объявление соответствующего модуля в секции uses раздела описаний. Наиболее часто используемые математические функции приведены в табл. 1. 6.

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

Функция, определенная пользователем, состоит из заголовка, своего раздела описаний и тела функции. Заголовок содержит зарезервированное слово function, имя, список формальных параметров (заключенный в скобки) и тип возвращаемого функцией значения. Раздел описаний аналогичен разделу описаний программы и может содержать те же секции, включая описание собственных функций и процедур. Раздел описаний может и отсутствовать, если в нём нет необходимости. Тело функции представляет собой локальный блок, по структуре сходный с программой.

Общий вид описания функции:

function < имя> (< параметры> ): < тип результата>;

const …;

… {раздел описания}

var …;

begin

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

end;

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

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

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

Описанную функцию можно использовать в основной части программы. Функция используется в выражениях по имени с фактическими параметрами.

 

Пример 3. 1. Найти значение следующего выражения:

,

где .

 

Решение:

program prf;

var t, c, r: real;

function F(x: real): real;

begin

F: =sqrt(x)+2*sqr(x)+3*x;

end;

begin

Writeln(‘Введите числа’);

Write(‘t=’); Readln(t);

Write(‘c=’); Readln(c);

r: =(F(t)–F(c))/(F(t+c));

writeln(‘результат = ’, r: 8: 3);

end.

2. Примеры полезных функций

Часто возникает необходимость описать математическую функцию, которой нет в списке стандартных функций. Например, в Паскале нет операции возведения в произвольную степень или отсутствует функция тангенса и факториала числа. Приведу несколько полезных функций.

 

Пример 3. 2. Описание функции тангенса:

function tg(x: real): real;

begin

tg: =sin(x)/cos(x);

end;

 

Пример 3. 3. Описание функции возведения любого числа в натуральную степень xn:

function stn(x: real; n: integer): real;

var i, n: integer; s: real;

begin

s: =1;

for i: =1 to n do

s: =s*x;

stn: =s;

end;

 

Пример 3. 4. Описание функции возведения любого числа в любую вещественную степень x y.

Для решения этой задачи воспользуемся свойством натурального логарифма . Тогда .

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...