Что такое функция?
Функции в других языках программирования
Практическая работа №22 «Функции»
Практическая работа №23 «Функции-2»
• функция • вызов функции • параметры • рекурсивная функция
Представьте себе, что вы заказываете товар с доставкой по телефону или в интернет-магазине. Если говорить на языке программистов, вы вызываете вспомогательный алгоритм. Но, в отличие от процедуры, исполнитель этого алгоритма не только выполняет какие-то действия, но и возвращает результат — товар, который вам привозит курьер. Это второй тип вспомогательных алгоритмов (подпрограмм). Такие подпрограммы называются функциями.
Функция — это вспомогательный алгоритм, который возвращает результат (число, строку символов и др.).
Построим функцию, которая возвращает среднее арифметическое двух целых чисел.
Какой тип данных нужно использовать для хранения среднего арифметического двух целых чисел?
Функция принимает два параметра — исходные целые числа и возвращает результат — вещественное число:
В заголовке функции указывают тип результата — перед именем функции в алгоритмическом языке записано ключевое слово вещ. В языке Паскаль заголовок функции начинается словом function, а после скобок, в которых перечисляются параметры, через двоеточие записывают тип результата — real (вещественное число).
Используя дополнительные источники, выясните, что означает английское слово average, от которого образовано название функции Avg.
Результат функции (возвращаемое значение) нужно записать в специальную переменную. В алгоритмическом языке она называется знач, а в Паскале совпадает с именем функции.
знач:=(а+b)/2 Avg:=(a+b)/2;
При вызове функции нужно сказать, где сохранить полученный от неё результат. Например, можно записать его в отдельную переменную того типа, который возвращает функция:
Результат функции можно сразу вывести на экран:
вывод Avg(4,8) writeln(Avg(4,8));
Что будет выведено на экран в результате работы этого фрагмента программы?
sr:=Avg(3,5) sr:=Avg(3,5);
вывод sr+Avg(7,ll) write(sr+Avg(7,11));
Функции можно передавать не только аргументы-константы, но также имена переменных и арифметические выражения:
Наша функция Avg возвращает вещественное число, поэтому вызовы этой функции можно применять везде, где разрешено использовать вещественное число, в том числе в арифметических выражениях, условных операторах и циклах. Например:
Найдите значения переменных а, b и х, при которых в результате работы этого фрагмента программы будет выведено сообщение «Да!»:
Найдите начальные значения переменных а, b и х, при которых этот цикл выполнится ровно четыре раза:
Следующая страница Функции в других языках программирования