Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



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

Имя выходного параметра это ИМЯ функции, поэтому необходимо указать его тип.

Описание функции:

Function <ИМЯ> (...;...):<тип>;

begin

.........

<ИМЯ>:=< выражение>;

end;


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

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

max(a,c)+max(b,c)

------------------

max(a,c)

Решение.

VAR a,b,c:real;

function max(a,b:real):real;

begin

if a>b then max:=a else max:=b;

end;

BEGIN

readln (a,b,c);

writeln((max(a,c)+max(b,c))/max(a,c));

END.

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

Например, нельзя записать в нашей функции max write (max);

Или для функции убирающей из строки пробелы нельзя так:

function delspace(in:string):string;

var i:integer;

delspace:='';

for i:=1 to length(in) do

if in[i] <> ' ' then delspace:=delspace+in[i];!!!

end;

Как этого избежать? Завести новую переменную.

В языке мы уже встречались со стандартными функциями:

ABS(X), SQR(X),SIN(X),RANDOM(X),…,

Функциями для построения графических изображений, функциями работы со строками,…

Задания к § 33

1.Треугольник задан координатами своих вершин. Определить сумму длин его сторон. Вычисление длины стороны оформить в виде функции.

2. Написать функцию для вычисления факториала и вычислить

a!в!

-------

(а+в)!





Дата публикования: 2014-11-03; Прочитано: 343 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...