Функции в C++

Функции в C++

Что такое функции и зачем они нужны?

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

Предположим у нас есть определённый фрагмент кода отвечающий за вычисление факториала.

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

Таким образом на свет админский появились функции.

Функции — это блоки содержащие в себе повторяющийся код программы

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

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

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

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

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

После того, как функция выполнила свою задачу (например, посчитала факториал), нам нужно получить результат вычислений. Так как это ограниченный блок, то нам необходимо вернуть значение, то есть вернуть наш результат. Здесь нам помогает return temp_faktorial. Если функция типа не void, то она обязательно должна что-нибудь возвращать.

Функция может возвращать значение, а может и не возвращаться, всё зависит от типа функции. Типы точно такие же, как и у переменных. Если Вы забыли типы языка C++ — вспомните их.
Все ранее нам известные типы позволяют вернуть от функции значение (то есть, получить результат их деятельности, но этот результат нужно присвоить какой-то переменной). Скажем, нам нужно, чтобы функция просто вывела на экран, скажем 50 звёздочек (можно использовать в качестве разделителя при выводе на экран результатов программы), что делать? Возвращать как число или символ — дурацкая затея. Здесь нам поможет тип void, он не имеет диапазона, да и вообще на самом деле это довольно туманная фигура. Если у функции тип void, то она не сможет возвращать значение, а значит с её помощью мы можем организовать вывод на экран чего угодно. В случае, когда нам не нужно делать нечто сложное, аргументы можно не передавать, а функцию оставить без параметров.

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

Написание фрагментов кода в виде функций называется процедурным подходом программирования.

 

Таким нехитрым образом мы познакомились с функциями языка C++ 🙂

Post Author: Nikulux

Добавить комментарий