double arrow

Отличие функций от процедур


Теперь мы познакомимся ещё с одним типом подпрограмм – с функциями. Функции, также как и процедуры, предназначены для выполнения одинаковых операций в разных частях программы. Они имеют одно существенное отличие: задача процедуры вычислить и вернуть в вызывающую программу значение-результат (в простейшем случае это целое, вещественное или символьное значение).

Функция –это вспомогательная программа (подпрограмма), предназначенная для получения некоторого объекта-результата (например, числа). Она также может выполнять какие-то полезные действия.Покажем использование функции на примере. Решим задачу, которую мы уже решали раньше.

Пример.Написать программу, которая вводит целое число и определяет сумму его цифр. Использовать функцию, вычисляющую сумму цифр числа.

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

• Функция оформляется так же, как процедура: заголовок и тело функции в фигурных скобках.

• Перед именем функции ставится тип результата(int, float, char, и т.д.) — это означает, что она возвращает значение указанного типа.

• После имени в скобках через запятую перечисляются параметрыфункции — те величины,

от которых зависит ее работа.

• Для каждого параметра отдельно указывается его тип (int, float, char).

• Имена параметров можно выбирать любые, допустимые в языке Си.

• Параметры, перечисленные в заголовке функции, называются формальными— это значит,что они доступны только внутри функции при ее вызове.

• Желательно выбирать осмысленные имена параметров — это позволяет легче разобраться в программе потом.

• При вызове функции надо указать ее имя и в скобках фактическиепараметры, которые используются внутри функции вместо формальных параметров.

• Фактические параметры — это числа или любые арифметические выражения (в этом случае сначала рассчитывается их значение).

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

• Для того, чтобы определить значение функции, используется оператор return, после которого через пробел записывается возвращаемое значение – число или арифметическое выражение. Примеры:

return 34;

returns;

return a + 4*b - 5;

При выполнении оператора returnработа функции заканчивается.

• В функции можно использовать несколько операторов return.

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

• При объявлении функции после заголовка ставится точка с запятой, а в том месте, где записано тело функции — не ставится.

Логические функции

Очень часто надо составить функцию, которая просто решает какой-то вопрос и отвечает

на вопрос «Да» или «Нет». Такие функции называются логическими. Вспомним, что в Си ноль означает ложное условие, а единица – истинное.

Логическая функция –это функция, возвращающая 1(если ответ «Да») или 0(если ответ «Нет»).Логические функции используются, главным образом, в двух случаях:

• если надо проанализировать ситуацию и ответить на вопрос, от которого зависят дальнейшие действия программы;

• если надо выполнить какие-то сложные операции и определить, была ли при этом какая-то ошибка.__


Сейчас читают про: