Увод

Шта ћеш научити?

  • шта је декомпозиција проблема

  • да дефинишеш и позовеш функцију у главном програму, користиш прототип функције

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

  • да разумеш и користиш пренос параметара по вредности и по референци

  • да разумеш улогу показивача у бочним ефектима

  • да користиш низ као параметар функције

  • да користиш функције које враћају показивачке променљиве

  • шта су рекурзивне функције

  • да формираш сопствену библиотеку функција

Свакодневни живот и рад захтева решавање проблема и проблемских задатака. Они некада могу бити једноставни, али врло често наилазимо на сложене задатке које треба да савладамо.

Још у основноj школи из математике си имао задатак да израчунаш, рецимо, површину плочица у купатилу и број плочица датих димензија потребних за поплочавање. Учио си да направиш скицу купатила, а затим да одредиш коју површину плочице покривају у њему. Рачунао си површину једне плочице и на крају делио две површине да би добио број плочица. Тада си већ радио један проблемски задатак. Успешно си га решавао јер си задатак рашчлањивао на мање целине, а њих би на крају повезао са главним захтевом.

А како би израчунао површину плочица у целој згради? Да ли би рачунао за сваки стан посебно? Наравно да не. То би било превише посла, признаћеш. Мора да постоји једноставнији, ефикаснији начин. Морамо уочити да је формула израчунавања иста за све станове у вертикали. Тако креирана формула онда се може позивати за сваки стан појединачно или за све заједно.

Основна идеја билa је да се овај сложени задатак рашчлани на мање задатке или кораке. Ово растављање проблема на више мањих се назива декомпозиција проблема.

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

Ти потпрограми се у програмском језику С називају функције.

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

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