Опубликован: 28.04.2014 | Доступ: свободный | Студентов: 987 / 89 | Длительность: 01:30:00
Специальности: Программист
Лекция 7:

Процедуры и функции. Функции

< Лекция 1 || Лекция 7: 123

Функции в программировании

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

<заголовок функции>
<тело функции>

Заголовок однозначно определяет:

  • Множество, которому принадлежат значения функции;
  • Имя функции;
  • Число аргументов;
  • Для каждого аргумента его имя и то множество, которому принадлежит аргумент.

Синтаксически все выглядит достаточно просто и эффективно. Вот как выглядит формальный синтаксис заголовка функции:

<тип значения, возвращаемого функцией> <имя функции> (<список формальных параметров>)

Ранее мы говорили, что тип задает определение множества. Указав тип возвращаемого значения, мы тем самым определяем множество, которому принадлежат значения функции. Число аргументов функции определяется числом элементов в списке формальных параметров. Каждый формальный параметр задает аргумент функции – его имя и множество, которому принадлежит аргумент. Элементы в списке формальных параметров, разделяются запятыми, а каждый параметр задается следующим синтаксисом:

<тип параметра> <имя параметра>

Рассмотрим в качестве примера функцию y = x2. На языке C# заголовок этой функции может выглядеть так:

int Quadrat(int x)

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

double Quadrat(double x)

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

Мы выяснили роль заголовка функции. А какова роль тела функции? Тело функции задает отображение, позволяющее преобразовать аргумент x в результат y. Синтаксически тело функции – это блок – совокупность операторов и объявлений, заключенная в фигурные скобки. На этот блок накладывается дополнительное требование, - последним выполняемым оператором блока должен быть оператор возврата, имеющий следующий синтаксис:

return <выражение>;

Этот оператор завершает выполнение функции, возвращая в качестве результата вычисления функции значение выражения, заданного оператором return.

Функции, изучаемые в школе, достаточно простые и, чаще всего, задаются одной формулой. На языке C# для таких функций блок, задающий тело функции, может состоять из одного оператора return, выражение в котором задает формулу, представляющую нашу функцию.

Представим полное описание объявления функции y = x2, содержащее как заголовок, так и тело функции:

double Quadrat(double x)
{ 
return x * x; 
}

Рассмотрим функцию SumAB, вычисляющую сумму двух аргументов. Ее объявление может быть задано следующим образом:

double SumAB(double a, double b)
{ 
return a + b; 
} 

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

< Лекция 1 || Лекция 7: 123
Дмитрий Лубченков
Дмитрий Лубченков
Николай Молдован
Николай Молдован