Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Функции в Паскале
Подпрограмма - автономная часть программы, выполняющая определенный алгоритм и допускающая обращение к ней из различных частей общей программы.
В языке Паскаль существует два вида подпрограмм: процедура (PROCEDURE) и функция (FUNCTION).
Набор встроенных функций в языке Паскаль достаточно широк (ABS, SQR, TRUNC и т.д.). Если в программу включается новая, нестандартная функция, то ее необходимо описать в тексте программы, после чего можно обращаться к ней из программы. Обращение к функции осуществляется в правой части оператора присваивания, с указанием имени функции и фактических параметров. Функция может иметь собственные локальные константы, типы, переменные, процедуры и функции. Описание функций в Паскале аналогично описанию процедур. Отличительные особенности функций: - результат выполнения - одно значение, которое присваивается имени функции и передается в основную программу;
- имя функции может входить в выражение как операнд.
Функция, определенная пользователем, состоит из заголовка и тела функции. Заголовок содержит зарезервированное слово function, идентификатор (имя) функции, заключенный в круглые скобки, необязательный список формальных параметров и тип возвращаемого функцией значения. Тело функции представляет собой локальный блок, по структуре аналогичный программе:
function <имя> (Формальные параметры): тип результата;
const...;
type...;
var...;
begin
<операторы функции>
end;
В разделе операторов должен присутствовать, по крайней мере, один оператор, присваивающий имени функции значение. В точку вызова возвращается результат последнего такого присваивания.
Обращение к функции осуществляется по имени с необязательным указанием списка аргументов. Каждый аргумент должен соответствовать формальным параметрам, указанным в заголовке, и иметь тот же тип.
Пример. Написать подпрограмму-функцию степени аx, где a, х – любые числа. Воспользуемся формулой: аx = ex ln a
program p2;
var f, b, s, t, c, d: real; { глобальные параметры}
function stp (a, x: real): real;
var y: real; { локальные параметры}
begin
y:= exp (x * ln (a));
stp:= y;{присвоение имени функции результата вычислений подпр-мы}
end; { описание функции закончено }
begin {начало основной программы }
d:= stp (2.4, 5); {вычисление степеней разных чисел и переменных }
writein (d, stp (5,3.5));
read (f, b, s, t); c:= stp (f, s)+stp (b, t);
writeln (c);
end.
Дата публикования: 2014-11-29; Прочитано: 426 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!