Тема 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 Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|