русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Функция, определенная пользователем


Дата добавления: 2014-11-28; просмотров: 1644; Нарушение авторских прав


Функция, определенная пользователем, состоит из заголовка и тела функции.

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

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

const ...

type ...

var

begin

<операторы>

end;

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

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

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

Пусть требуется разработать программу вычисления выражения:

Z=( + )/2* ,

в которой возведение в степень выполняется функцией Step.

program DemoFunc;

Var

М : integer;

А,Z,R : real ;

{Функция вычисления степени. N - степень, X – число, возводимое в данную степень. N, X — формальные параметры; результат, возвращаемый функцией в точку вызова, имеет вещественный тип}

function Step(N : integer; X : real): real;

Var

I : integer;

Y : real;

begin

Y:=1;

for I:=1 to N do{Цикл вычисления N—й степени числа X)

Y:=Y*X;

Step:=Y ; {Присваивание функции результата вычисления степени}

end; {Конец функции}

Begin {Начало основной программы}

Write('Введите значение числа А и показатель степени М');

Readln(A,M) ;

Z:=Step(5,А) ; {Вызов функции с передачей ей фактических параметров N=5, X=А}



Z:=Z+ Step(3,l/A); {Вызов функции с передачей ей фактических параметров N=3, X=1/А}

if M=0 then R:=l {если число возводится в нулевую степень, то результат всегда равен 1}

else if M>0 then R:=Step(M,A){Вызов функции Step с передачей ей фактических параметров М, А}

else R:=Step(-M,A); {Вызов функции с передачей ей фактических параметров: - М, отрицательная степень}

Z:=Z/(2*R) ;

Writeln(' Для А= ',А,'М= ',М,' Значение выражения= ',Z);

end.

В начале программы описываются переменная целого типа М и переменные вещественного типа А, Z, R, после этого описывается функция вычисления степени числа Step с формальными параметрами N и X, результат, возвращаемый функцией в точку вызова, - вещественного типа.

В описании функции вводятся две локальных (местных) переменных I и Y. Переменная I служит для подсчета числа повторений цикла, а в Y накапливается значение степени как произведения N одинаковых сомножителей. В заключение функции присваивается значение вычисленного произведения.

В начале выполнения основной программы на экран выводится запрос "Введите значение числа А и показатель степени М" и считывается с клавиатуры значение вещественного числа А и целого числа М.

Затем выполняется оператор:

Z:=Step(5,A);

Осуществляется вызов функции Step с передачей ей фактических параметров 5, А. Их значения присваиваются формальным параметрам функции N и X. По окончании вычисления степени числа значение функции Step, вычисленное для фактических параметров 5 и А, присваивается переменной Z. Аналогично в операторе:

Z := Z + Step(3,l/A);

сначала осуществляется вызов функции Step с передачей ей фактических параметров 3, 1/A, после чего значение переменной Z увеличивается на величину возвращенного в основную программу результата вычисления функции Step.

Операторы:

if M=0 then R:=1

else if M>0 then R:=Step(M,A)

else R:=Step(- M,A);

проверяют условия М=0, М>0 и в зависимости от их соблюдения либо при­сваивает переменной R значение 1 (при М=О), либо выполняет вызов функции Step для фактических значений М, А или -М, А, а после вычисления значения функции Step присваивает его переменной R.

Оператор:

Z:=Z/(2*R);

выполняет вычисление значения выражения, а затем присваивает вычисленное значение переменной Z.

В заключение программы стандартная процедура Writeln выводит на экран сообщение о результате вычислений степени М числа А.



<== предыдущая лекция | следующая лекция ==>
Функции в Паскале | Формат описания файлового типа


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 2.722 сек.