Шта је функција у програмирању?

Шта је функција у програмирању?

Да ли вам се често дешава да копирате и залепите свој код за поновну употребу у различите одељке програма?





Ако је тако, размислите о употреби функција. Функције су веома моћна карактеристика програмских језика. Они могу учинити код ефикаснијим, лакшим за читање и елегантним.





Шта је функција?

Функција је блок кода који извршава задатак. Може се позивати и поново користити више пута. Можете проследити информације некој функцији и она може послати информације назад. Многи програмски језици имају уграђене функције којима можете приступити у њиховој библиотеци, али можете и да креирате сопствене функције.





Када позовете функцију, програм ће паузирати тренутни програм и извршити функцију. Функција ће се читати одозго према доле. Када се функција заврши, програм наставља да ради тамо где је био паузиран. Ако је функција вратила вредност, та вредност ће се користити тамо где је функција позвана.

Како записујете функцију?

Постоји много различитих начина писања функција. Тачна синтакса ће зависити од језика на коме програмирате. Показаћемо примере у Питхону, ЈаваСцрипт -у и Ц ++ како бисмо демонстрирали низ програмских синтакси.



Повезано: Зашто програмски језици не могу постојати без функција

Воид Фунцтионс

Прва врста функције коју ћемо погледати је функција воид. То једноставно значи да функција не враћа вредност. Функције воид се користе за довршавање скупа инструкција. У овим примерима се назива функција коју смо написали хеллоФунцтион . Сврха функције је испис „Хелло Ворлд“.





САВЕТ: дајте именима имена која објашњавају шта раде. Биће лакше управљати функцијама и читати код како ваш програм постаје сложенији.

Питхон





def helloFunction():
print('Hello World')
helloFunction()

Кључна реч деф се користи у Питхону за дефинисање и креирање функције. Затим је назив функције. Упутства у функцији следе у следећем реду после двоточке. Празан простор је важан у Питхону, па увуците код за који желите да ваша функција ради. У горњем примеру, функција покреће један ред кода.

То су ваше оштре очи можда приметиле принт () је такође функција, али се назива другачије од наше функције. Држите се те мисли сада, касније ћемо истражити параметре функција.

ЈаваСцрипт

веб странице за које вам је досадно
function helloFunction(){
alert('Hello World!');
}
helloFunction();

У ЈаваСцрипт -у, кључна реч функција користи се за креирање функција. Затим имамо име функције. Сваки код који се налази између увијених заграда покреће се када се функција позове.

Бели простор није важан у ЈаваСцрипт -у, али је уобичајено увући код у функцију. Увлачење чини код лакшим за читање, што је веома важно како програми постају сложенији.

Напомена: Слично принт () у ранијем примеру, алерт () је такође функција.

Ц ++

#include
using namespace std;
void helloFunction(){
cout << 'Hello World!';
}
int main(){
helloFunction();
return 0;
}

Функције се различито креирају у Ц ++. Уместо кључне речи за дефинисање функције, прва реч описује тип података које ће функција вратити. У овом случају наша функција не враћа никакве податке, па су подаци ништавни. Затим имамо назив функције. Слично ЈаваСцрипт -у, сав код између уврнутих заграда се покреће када се функција позове. Такође, слично ЈаваСцрипт -у, размак не утиче на функцију, али је добра пракса.

Да ли сте уочили другу функцију у коду Ц ++? Да, главни() је функција. Када покренете Ц ++ програм, аутоматски позивате главну функцију. Када се главна функција успешно заврши, враћа 0 при изласку из програма да сигнализира да није било грешака у покретању програма.

Функције које захтевају вредности

Функције воид су одличне ако откријете да пишете исти део кода изнова и изнова. Али они могу бити ограничавајући. Статични су и не мењају се. Увек испуњавају иста упутства. Један од начина на који можемо повећати њихову корисност је преношење различитих вредности у функцију.

Приметили сте да су заграде пратиле називе свих наших функција. У заградама можемо изјавити да су подаци потребни за извршавање наше функције. Тада можемо користити податке прослеђене нашој функцији у функцији. Хајде да поново погледамо претходне примере, али овај пут пренесите израз да желимо да будемо исписани.

Питхон

def helloFunction(newPhrase):
print(newPhrase)
helloFunction('Our new phrase')

Сада, између заграда, наша функција изјављује да јој је за покретање потребна променљива. Именовали смо променљиву невПхрасе и сада га можемо користити у нашој функцији. Када позивамо функцију, морамо да проследимо тражене информације стављајући их између заграда. Исте промене су направљене и у ЈаваСцрипт -у.

ЈаваСцрипт

function helloFunction(newPhrase){
alert(newPhrase);
}
helloFunction('Our new phrase');

Ц ++

како искључити обавештења поштом за Виндовс 10
#include
using namespace std;
void helloFunction(string newPhrase){
cout << newPhrase;
}
int main(){
helloFunction('Our new Phrase');
return 0;
}

Наша Ц ++ функција је захтевала мало више информација. Знамо да ваша функција жели низ података, али то није довољно добро за Ц ++. Када креирате своју функцију, морате да наведете коју врсту података ваша функција захтева. Ако не пошаљете исправну врсту података, функција ће направити грешку.

Ово би могло изгледати помало досадно, али строги језици често могу да вам уштеде главобољу. Ако напишете функцију у ЈаваСцрипт -у која захтева цео број, али се број шаље као низ, то може створити грешку којој је веома тешко ући у траг.

Повезано: 5 функционалних програмских језика које морате знати

Функције које враћају вредност

Коначна способност функције коју ћемо покрити је враћање података. Ово је посебно драгоцено када желите да промените податке пре него што их употребите. Иако бисте то могли уписати инлине, ако ћете више пута користити исте прорачуне, попут претварања империјалног у метричко, можда би имало више смисла написати га као функцију. Наш пример ће бити једноставнији. Наша функција ће захтевати два цела броја и вратиће збир.

Питхон

def addingFunction(a, b):
return a + b
print(addingFunction(2, 4))

У овом примеру наша функција захтева две променљиве уместо једне. То указујемо одвајањем имена променљивих зарезом. Кључна реч повратак говори функцији да врати следеће податке, у овом случају 2 + 4 или 6. Позивамо функцију унутар датотеке принт () функција.

Када би наш програм дошао до те линије, паузирао би, покренуо нашу функцију, а затим наставио као да аддФунцтион (2, 4) је заправо била само враћена вредност 6.

ЈаваСцрипт

ЈаваСцрипт код је веома сличан Питхон коду. Примарна разлика је у томе што се функција позива у упозорењу.

function addingFunction(a, b){
return a + b;
}
alert(addingFunction(2, 4));

Ц ++

#include
using namespace std;
int addingFunction(int a, int b){
return a + b;
}
int main(){
cout << addingFunction(2, 4) ;
return 0;
}

Ц ++ код ради слично, али као и обично, захтева мало више информација. Прво морамо рећи коју врсту података ће наша функција вратити. Видећете то празнина је промењено у инт . То значи да ће уместо враћања података наша функција вратити цео број. Осим тога, код је сличан коду који смо већ истраживали.

Управљајте својим функцијама

Забавна ствар у вези функција је што функције могу позвати друге функције. Могу чак и сами да се назову! Али са великом моћи долази и велика одговорност. Немојте полудети стварајући код са функцијама које позивају друге функције које позивају још функција.

Као што је поменуто, сваки пут када се функција позове, програм се зауставља док извршава функцију. То значи да се програм чува у активној меморији. Ако позовете још неколико функција, а да их нисте довршили, користите активнију меморију. Ако нисте опрезни, ваш програм може измаћи контроли.

Објави Објави Твеет Емаил Како одржавати чист код помоћу енкапсулације објеката

Глобалне променљиве могу изгледати једноставне, али су често узрок толико грешака. Ево како да поједноставите свој код помоћу енкапсулације.

Прочитајте следеће
Повезане теме
  • Програмирање
  • Програмирање
  • Функционално програмирање
О аутору Јеннифер Сеатон(Објављен 21 чланак)

Ј. Сеатон је научни писац који се специјализовао за разбијање сложених тема. Докторирала је на Универзитету Саскатцхеван; њено истраживање се фокусирало на коришћење учења заснованог на играма за повећање ангажовања ученика на мрежи. Кад не ради, затећи ћете је како чита, игра видео игрице или се бави вртларством.

Више од Јеннифер Сеатон

Претплатите се на наш билтен

Придружите се нашем билтену за техничке савете, критике, бесплатне е -књиге и ексклузивне понуде!

Кликните овде да бисте се претплатили