![Page 1: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/1.jpg)
OOсновиснови програмирањапрограмирања 11ЛекцијаЛекција 99
Висока школа електротехнике и рачунарстваструковних студија
Београд
дрдр ЗоранЗоран БањацБањац
![Page 2: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/2.jpg)
Зоран Бањац 2
СадржајСадржај
Функције
• дефиниција
• елементи
• прослеђивање аргумената
![Page 3: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/3.jpg)
Зоран Бањац 3
ПоделаПодела програмапрограма
• Приликом развоја алгоритма могу се уочитилогичке целине, односно поступци обрадекоје се понављају више пута, најчешће надразличитим скупом података.
• Такве целине треба издвојити у посебнепрограмске целине - потпрограме.
• Потпрограм: део кôда унутар већег програмакојим се извршава неки специфичан задатак.
![Page 4: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/4.jpg)
Зоран Бањац 4
ПотпрограмПотпрограм
• Структура потпрограма најчешће обухвта:– кôд који се извршава након позивапотпрограма
– вредности које се прослеђују потпрограмуприликом позива
– вредност коју потпрограм враћа на местоодакле је позван
• Потпрограм може/не мора да има повратнувредност
![Page 5: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/5.jpg)
Зоран Бањац 5
ПотпрограмПотпрограм• У програмским језицима обично серазликују две врсте потпрограма:– Процедурални потпрограми (procedure), немају директну повратну вредност
– Функцијски потпрограми (function), имају директну повратну вредност
• Обе врсте потпрограма могу да изазовубочне ефекте (side effect)
• Бочни ефекат: мењање вредности изванпотпрограма независно од директнеповратне вредности– промена глобалне променљиве, променавредности прослеђених аргумената,...
![Page 6: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/6.jpg)
Зоран Бањац 6
процедурепроцедуре : : функцијефункције
• Програмски језик C познаје самофункцијске потпрограме, скраћенофункције
• Синоними: потпрограми (subprogram, subroutine), методе (method) и процедуре.
• Програмски језик C дозвољава постојањефункција које немају повратну вредност
![Page 7: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/7.jpg)
Зоран Бањац 7
ЗаштоЗашто функцијефункције??
• повећава се прегледност и читљивостпрограма,
• смањује се величина програма,• постиже се универзалност кода,• омогућава се лакше отклањање грешака.• омогућава се скривање дела кода
![Page 8: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/8.jpg)
Зоран Бањац 8
ЗаштоЗашто функцијефункције??
• Писање мањих целина које се лакшеконтролишу
• Функције - градивни елемент програмаЈедном написана функција се користи увише различитих програма
• Понављање извршавања истог кôда упрограму
![Page 9: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/9.jpg)
Зоран Бањац 9
ФункцијеФункције
• Функција се обично дефинише као потпрограмкоји на основу одређеног броја улазнихвредности (аргумената) даје један резултат(повратну вредност).
• Податак који функција враћа главном програмуили другој функцији назива се повратна вредностфункције.
• Тип функције је тип податка који враћа функција.
• Функција не мора да има повратну вредност(понаша се као процедура), односно може да дајесамо бочне ефекте.
![Page 10: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/10.jpg)
Зоран Бањац 10
ВрстеВрсте функцијафункција
• C програм je најчешће комбинација дватипа функција: – корисничке функције:функције које пише сам програмер
– библиотечке функције :функција које постоје у стандарднимбиблиотекамаprintf, scanf, sin, malloc, free, идруге.
![Page 11: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/11.jpg)
Зоран Бањац 11
ОсобинеОсобине ФункцијеФункције
• Функције у математици
• Тип функције (тип повратне вредности)• Пареметри/Аргументи функције• Тип параметара функције
( ) 2 5f x x= +
![Page 12: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/12.jpg)
Зоран Бањац 12
БиблиотечкеБиблиотечке функцијефункције
#include <math.h>#include <stdio.h>main(){
double y;
/* poziv biblioteсke funkcije*/y = floor(2.8);printf( "The floor of 2.8 is %f\n", y );y = floor( -2.8 );printf( "The floor of -2.8 is %f\n",y );
}
The floor of 2.8 is 2.000000
The floor of -2.8 is -3.000000
• Готове функције које постоје у оквирупрограмског језика
![Page 13: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/13.jpg)
Зоран Бањац 13
КорисничкеКорисничке функцијефункције
• Корисничке функције су функције коједефинише програмер
• Mогу да се поделе у две категорије:–Функције које имају тип податкатј. враћају неку вредност
–Функције које не враћају вредност, void функције
![Page 14: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/14.jpg)
Зоран Бањац 14
КорисничкеКорисничке функцијефункције
• Својства функције :1. Име функције2. Број аргумената функције3. Тип податка сваког аргумента4. Тип повратне вредности (тип функције)
5. Шта ради та функција, (њен кôд).
![Page 15: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/15.jpg)
Зоран Бањац 15
ДефиницијаДефиниција функцијефункције
tip ime (tip1 arg1, tip2 arg2, ... , tipN argN)
{def_lokalnih_promjenljivih;
programski_iskazi;
return (izraz); }
Тип функцијеАко се не наведе
подразумева се intАко функција не враћаподатак, тип је void
Име функцијеИдентификатор у складу
са синтаксом језика
Листа формалних аргуменатаПараметри кроз које функција
прима податке(вредности или адресе)
Излаз из функције и враћа вредностдатог типа
У телу функције може бити више returnисказа
Ако функција не враћа ништа, returnможе да се изостави.
Локалне променљивекоје се користе у функцији,
Нису видљиве изванфункције
![Page 16: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/16.jpg)
Зоран Бањац 16
ПозивПозив функцијефункције
tip prom;...prom = ime(sarg1, sarg2, ... , sargN);...• Приликом позива наводе се вредностиаргумената (sarg1, sarg2, ... , sargN)или имена променљивих (типови се не наводе) чије вредности треба да се пренесу у функцију
• Ови аргументи се називају СТВАРНИ аргументи• Aко функција враћа вредност та вредност можеда се додели променљивој (prom)
• Препорука је да тип те променљиве буде једнактипу повратне вредности
![Page 17: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/17.jpg)
Зоран Бањац 17
ФункцијеФункције којекоје враћајувраћају вредноствредност
• Заглавље и тело функције
int abs(int x){if(x < 0)
x = -x;return x;}
Тело функције
Заглавље функције
Формални аргументифункције
![Page 18: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/18.jpg)
Зоран Бањац 18
ФормалниФормални ии стварнистварни аргументиаргументи
main(){ double u = 2.5; double v = 3.0; double x, y, w; x = stepen(u, v); /* Linija 1 */y = stepen(2.0, 3.2); /* Linija 2 */z = stepen(v, 7); /* Linija 3 */
}
double stepen(double osnova, double eksponent){
...}
стварни аргументи
Формални аргументи
![Page 19: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/19.jpg)
Зоран Бањац 19
ДефинисањеДефинисање функцијафункција
• Општа синтакса за дефинисање функције је:tip_funkcije ime_funkcije(lista form argumenata){naredbe
}
• Тело функције– Део синтаксе између витичастих заграда– Наредбе:
дефинисање променљивих (декларативне)извршне наредбе
![Page 20: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/20.jpg)
Зоран Бањац 20
ТипТип функцијефункције
• Тип вредности коју враћа функција. • Назива се и тип повратне вредности
(return type) функције. • Уколико се изостави подразумева се типint.
• За функције које не враћају вреднострезервисан је тип void.
![Page 21: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/21.jpg)
Зоран Бањац 21
ТипТип функцијефункције
int ime_funkcije(lista form. argumenata)
double ime_funkcije(lista form. argumenata)
void ime_funkcije(lista form. argumenata)
![Page 22: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/22.jpg)
Зоран Бањац 22
ИмеИме функцијефункције
• Правила за доделу имена идентификатора.• Испред имена функције може да се стави *Повратна вредност функције: показивач наподатке чији је тип наведен као tip_funkcije
double *treci_stepen(lista form. аrgumenata)
void *moja_fun(lista form. argumenata)
![Page 23: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/23.jpg)
Зоран Бањац 23
ЛистаЛиста формалнихформалних аргуменатааргумената
• Наводи се унутар малих заграда• Потребно је навести тип податка и његовоиме.
• Уколико постоји више аргумената они семеђусобно раздвајају зарезом.
tip_funkcije ime_funkcije(tip_prom1 ime_prom1, tip_prom2 ime_prom2,...
,tip_promN ime_promN)
float funPrimer(int a, double b)
![Page 24: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/24.jpg)
Зоран Бањац 24
ЛистаЛиста формалнихформалних аргуменатааргумената
• Аргумената не мора бити али и у том случају семорају навести мале заграде.
/* definicija funkcije */tip_funkcije ime_funkcije() /* zaglavlje */{
...}
• У случају да је листа формалних параметарапразна, онда приликом позива те функције не требанаводити листу стварних аргумената.
ime_funkcije(); /* poziv */
![Page 25: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/25.jpg)
Зоран Бањац 25
НаредбаНаредба returnreturn
• Вредност коју функција треба да врати севраћа помоћу наредбе return.
• Синтаксаreturn izraz;
• izraz– променљива, – константа или– неки израз чијим израчунавањем се добијажељена вредност.
![Page 26: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/26.jpg)
Зоран Бањац 26
НаредбаНаредба returnreturn
• Након извршења наредбе returnфункција се тренутно напушта, а контролупреузима део програма из ког је функцијапозвана.
• Наредба којом је позвана функција се„замењује” са вредношћу коју враћафункција, тј. са вредношћу поред наредбеreturn.
![Page 27: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/27.jpg)
Зоран Бањац 27
НаредбаНаредба returnreturn
float manji(float x,float y){float pom; if(x <= y)
pom = x; else
pom = y;return pom;
}
1
float manji(float x, float y){ if(x <= y)
return x; 2else
return y;}float manji(float x, float y){
if(x <= y) 3return x;
return y;}
![Page 28: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/28.jpg)
Зоран Бањац 28
НаредбаНаредба returnreturn#include<stdio.h>main( ){float prvi, drugi, MinBroj;
printf("Manji broj od 5 i 6 je %f\n",manji(5,6));
printf("Unesite dva broja\n"); scanf("%f %f", &prvi ,&drugi);MinBroj = manji(prvi, drugi);...
![Page 29: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/29.jpg)
Зоран Бањац 29
Manji od 5 i 6 je 5.000000Unesite dva broja8 2Manji od 8.000000 i 2.000000 je 2.000000Manji od 0.900000 i 2.000000 je 0.900000
НаредбаНаредба returnreturnprintf("Manji od %f i %f je %f\n", prvi,
drugi, MinBroj);printf("Manji od %f i %f je %f\n", 0.9,
drugi, manji(0.9, drugi));}
![Page 30: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/30.jpg)
Зоран Бањац 30
ПрототипПрототип функцијефункције
• Идентификатор мора да се декларише препрве употребе.
• Обично се прво пише функција main пре свихосталих корисничких функција.
• Проблем: како позвати функцију предефиниције
• Решење: Прототип функције предефинисања било које функције (укључујући ифункцију main)
![Page 31: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/31.jpg)
Зоран Бањац 31
ПрототипПрототип функцијефункције
• Прототип функције представља заглављефункције (без навођења тела функције).
• Прототип функције се обавезно завршава сазнаком тачка-зарез (;)
tip_fun ime_fun(lista formalnih arg.);• прототип за функцију manji jefloat manji(float x, float y);
• Имена променљивих нису неопходна, типјесте
float manji(float , float );
![Page 32: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/32.jpg)
Зоран Бањац 32
ПрототипПрототип функцијефункције
• Прототип или декларација функцијепредставља њен ”опис за спољашњи свет”
• Из прототипа се види како се комуницираса датом функцијом, јер садржи:– тип функције,– име функције,– типове (а може и имена) аргумената.
int zbir( int a, int b )
{ return (a+b); }
void poruka( )
{ printf(“zdravo!”); }
int zbir( int , int );
void poruka( );
![Page 33: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/33.jpg)
Зоран Бањац 33
ФункцијеФункције
• Уобичајено– претпроцесорскедирективе
– прототип функција– main– дефиницијафункција
• Могуће– претпроцесорскедирективе
– дефиницијафункција
– main
• Погодно када постојимали број функција
• Ако функција позиванеку другу функцију, функција која се позивамора претходно битидефинисана
Структура С програма
![Page 34: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/34.jpg)
Зоран Бањац 34
ПримерПример
#include <stdio.h>void poruka ();main(){
poruka();}
void poruka (){printf(”Zdravo!”);
}
#include <stdio.h>
void poruka (){printf(”Zdravo!”);
}
main(){
poruka();}
![Page 35: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/35.jpg)
Зоран Бањац 35
vvoidoid функцијефункције
• Функције које не враћају вредност
• Наредба return не мора да постоји• return може али без израза поред ње• return се користи се за напуштањефункције пре њеног краја.
• void функције могу али не морају да имајуаргументе
![Page 36: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/36.jpg)
Зоран Бањац 36
ПрослеђивањеПрослеђивање вредностивредности аргуменатааргумената
• Приликом позива функције у малимзаградама се наводи листа аргумената.
• По начину преношења вредности, уопштено гледано, постоји две врстеаргумената :
1. Аргументи који се прослеђују прековредности (value arguments)
2. Аргументи који се преносе помоћуадресе (reference arguments)
![Page 37: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/37.jpg)
Зоран Бањац 37
ПримерПример 1:1:
Учитати дужине страница правоугаоника, азатим израчунати и исписати обим иповршину. Обим треба да се рачуна уфункцији obim, а површина у функцијиpovrs.
![Page 38: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/38.jpg)
Зоран Бањац 38
ПримерПример 1:1: 1/21/2
#include <stdio.h>
float obim(float, float);
float povrs(float s1, float s2);
main(){float a, b, o, p;printf(”Stranica a: ”); scanf(”%f”, &a); printf(”\nStranica b: ”); scanf(”%f”, &b);
Прототип функцијеobim
Наведени самотипови аргумената
Прототип функције povrs
Наведени типови и имена аргумената
![Page 39: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/39.jpg)
Зоран Бањац 39
ПримерПример 1:1: 2/22/2
o = obim(a,b);
p = povrs(a,b);
printf(”Obim: %7.3f\n”, o);printf(”Povrsina: %7.3f\n”,p);
} /* kraj funkcije main */
float obim(float x, float y){ return ( 2*x + 2*y ); }
float povrs(float c, float d){ float s;s = c*d;return ( s );
}
Позив функције obimПозив функције povrs
Шаљу се стварни подаци a и b
Дефиницијафункције obim
Функција прихватапрослеђеневредности(a и b) кроз
формалне аргументеx и y
Функција израчунаваобим 2*x+2*y и товраћа у главни
програм
![Page 40: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/40.jpg)
Зоран Бањац 40
ПримерПример 22::#include <stdio.h>void kvadrat ( int );main(){
int i,n;do{
printf(”n = ”); scanf(”%d”, &n); }while (n<1); for (i = 1; i <= n; i++)
kvadrat(i);} /* kraj funkcije main */void kvadrat (int k){
int kv;kv = k * k;printf(”%5d %5d\n”, k, kv);
}
Функција kvadrat не враћавредност (void)
Оваква функција понаша секао процедурални
потпрограм
n = 4....1 ....1....2 ....4....3 ....9....4 ..16
Позив функцијеkvadrat
![Page 41: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/41.jpg)
Зоран Бањац 41
ПримерПример 33:: 1/21/2 ИсписИспис n n простихпростих бројевабројева#include <stdio.h>#include <math.h>int prost(int); /* deklaracija funkcije */main(){
int i = 1, broj = 1, n;do{
printf(”n = ”); scanf(”%d”, &n); }while (n < 1); printf(”Prosti brojevi:\n”);while (i <= n){if ( prost(broj) ) /* poziv funkcije prost */{ printf(” %d”, broj); i++; }broj++;
} } /* kraj funkcije main */
![Page 42: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/42.jpg)
Зоран Бањац 42
ПримерПример 33:: 2/22/2
/* definicija funkcije */int prost(int b){
int d = 3, pom;pom = (b % 2) || (b == 2);while (pom && d<=sqrt(b)){
pom = b % 2;d += 2;
}return(pom);
}
![Page 43: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/43.jpg)
Зоран Бањац 43
ПреносПренос параметрапараметра уу функцијуфункцијупрекопреко ВРЕДНОСТИВРЕДНОСТИ
1. приликом позива функције шаље се вредност• као стварни аргумент може да се наведе:
- име променљиве,- нека константа или- израз ( израчунава се вредност израза и та
вредност се шаље у функцију)
2. функција прихвата послате вредности уформалне аргументе
• формални и стварни аргументи морају да сеслажу у:
- броју, - редоследу и- типу
![Page 44: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/44.jpg)
Зоран Бањац 44
ПреносПренос параметрапараметра уу функцијуфункцијупрекопреко ВРЕДНОСТИВРЕДНОСТИ
• формални аргументи (променљиве)аутоматски настају приликом уласка уфункцију и преузимају прослеђеневредности
3. по изласку из функције формалниаргументи аутоматски нестају
• аутоматски настају и нестају па се називајуаутоматске променљиве
![Page 45: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/45.jpg)
Зоран Бањац 45
ПреносПренос параметрапараметра уу функцијуфункцијупрекопреко ВРЕДНОСТИВРЕДНОСТИ
• У функцији се формира слика стварнихаргумената
• Користи се тa слика, а не стварнепроменљиве из главног програма
• Зато након изласка из функцијепроменљиве у главном програму остајунепромењене!!!
![Page 46: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/46.jpg)
Зоран Бањац 46
ПримерПример 4:4:#include <stdio.h>void f(int);/* deklaracija funk. */main(){
int i = 10;printf(”main: %d\n”,i);f(i);printf(”main: %d\n”,i);
}/* definicija funkcije */void f(int k){
printf(”f: %d\n”,k);k = 20;printf(”f: %d\n”,k);
}
main:10f:10f:20main:10
![Page 47: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/47.jpg)
Зоран Бањац 47
ПреносПренос параметрапараметра уу функцијуфункцијупрекопреко АДРЕСЕАДРЕСЕ
Приликом позива функције шаље се адреса
• као стварни аргумент може да се наведе: - име показивача,- нека константа (вредност се тумачи као
адреса)- израз
• Познавање адресе омогућава промену ведностистварног аргумента!
![Page 48: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/48.jpg)
Зоран Бањац 48
ПримерПример#include <stdio.h>void fа(int *p);/* deklaracija funk.*/
main(){
int i = 10;printf(”main: %d\n”,i);fa( &i);printf(”main: %d\n”,i);
}/* definicija funkcije */void fa(int *k){
printf(”fa: %d\n”, *k);*k = 20;printf(”fa: %d\n”,*k);
}
main:10fa:10fa:20main:20
![Page 49: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/49.jpg)
Зоран Бањац 49
ПримерПример 1/291/29#include<stdio.h>void funJedan(int a, int *b, char v);int funDva(int *x, int y, char *w);main( ){
int num1, num2;char ch;
num1 = 10; /* Linija 1*/num2 = 15; /* Linija 2*/ch = 'A'; /* Linija 3*/
![Page 50: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/50.jpg)
Зоран Бањац 50
ПримерПример 2/292/29
...printf("Linija 4: .... ");funJedan(num1, &num2, ch);printf("Linija 6: ....");num1 = funDva(&num2, 25, &ch);printf("Linija 8: ... ");
}
![Page 51: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/51.jpg)
Зоран Бањац 51
ПримерПример 3/293/29
void funJedan(int a, int *b, char v){int jedan;jedan = a; /* Linija 9 */a++; /* Linija 10 */*b = (*b) * 2; /* Linija 11 */v = 'B'; /* Linija 12 */printf("Linija 13: Unutar funJedana=%d, *b=%d, v=%c\n",a,*b,v);
}
![Page 52: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/52.jpg)
Зоран Бањац 52
ПримерПример 4/294/29
int funDva(int *x, int y, char *w){
(*x)++; /* Linija 14*/y = y * 2; /* Linija 15*/*w = 'G'; /* Linija 16*/
return y;}
![Page 53: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/53.jpg)
Зоран Бањац 53
ПримерПример 5/295/29
main( ){int num1, num2;char ch;
num1 = 10; /*L1*/
num2 = 15; /*L2*/
ch = 'A'; /*L3*/
main
10
15
A
.
.
.
.
.
.
.
.
.
1200
add
1430
1620
ime
num1
num2
ch
![Page 54: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/54.jpg)
Зоран Бањац 54
ПримерПример 6/296/29
main( ){int num1, num2;char ch;
num1 = 10; /* L1*/num2 = 15; /* L2*/ch = 'A'; /* L3*/printf("Linija 4: ....);funJedan(num1, &num2, ch); /* L5*/
![Page 55: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/55.jpg)
Зоран Бањац 55
ПримерПример 7/297/29funJedan(num1, &num2, ch); /* L5 poziv*/void funJedan(int a, int *b, char v){int jedan;...
10
1430
A
.
.
.
.
.
??
funJedan
.
.
10
15
A
.
.
.
.
.
.
.
.
.
1200
add
1430
1620
ime
num1
num2
ch
ime
a
b
v
jedan
main
![Page 56: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/56.jpg)
Зоран Бањац 56
ПримерПример 8/298/29
void funJedan(int a, int *b, char v){int jedan;jedan = a; /* L 9 */a++; /* L10 */*b = (*b) * 2; /* L11 */v = 'B'; /* L12 */printf("Linija 13: Unutar funJedana=%d, *b=%d, v=%c\n",a,*b,v);
}
![Page 57: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/57.jpg)
Зоран Бањац 57
ПримерПример 9/299/29
• У линији 9, након наредбе jedan=a;
a
b
v
jedan
num1
num2
ch
funJedanmain
10
15
A
.
.
.
.
.
.
.
.
.
10
1430
A
.
.
.
.
.
10
1200
1430
1620
![Page 58: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/58.jpg)
Зоран Бањац 58
ПримерПример 10/2910/29
void funJedan(int a, int *b, char v){int jedan;jedan = a; /* L 9 */a++; /* L10 */*b = (*b) * 2; /* L11 */v = 'B'; /* L12 */printf("Linija 13: Unutar funJedana=%d, *b=%d, v=%c\n",a,*b,v);
}
![Page 59: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/59.jpg)
Зоран Бањац 59
ПримерПример 11/2911/29
• Након линије 10 (а++):
a
b
v
jedan
num1
num2
ch
funJedanmain
10
15
A
.
.
.
.
.
.
.
.
.
11
1430
A
.
.
.
.
.
10
1200
1430
1620
![Page 60: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/60.jpg)
Зоран Бањац 60
ПримерПример 12/2912/29
void funJedan(int a, int *b, char v){int jedan;jedan = a; /* L 9 */a++; /* L10 */*b = (*b) * 2; /* L11 */v = 'B'; /* L12 */printf("Linija 13: Unutar funJedana=%d, *b=%d, v=%c\n",a,*b,v);
}
![Page 61: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/61.jpg)
Зоран Бањац 61
ПримерПример 13/2913/29
• Након наредбе *b = (*b) * 2; линијa 11
a
b
v
jedan
num1
num2
ch
funJedanmain
10
30
A
.
.
.
.
.
.
.
.
.
11
1430
A
.
.
.
.
.
10
1200
1430
1620
![Page 62: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/62.jpg)
Зоран Бањац 62
ПримерПример 14/2914/29
void funJedan(int a, int *b, char v){int jedan;jedan = a; /* L 9 */a++; /* L10 */*b = (*b) * 2; /* L11 */v = 'B'; /* L12 */printf("Linija 13: Unutar funJedana=%d, *b=%d, v=%c\n",a,*b,v);
}
![Page 63: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/63.jpg)
Зоран Бањац 63
ПримерПример 15/2915/29
• Након наредбе v = 'B' у линији 12
a
b
v
jedan
num1
num2
ch
funJedanmain
10
30
A
.
.
.
.
.
.
.
.
.
11
1430
B
.
.
.
.
.
10
1200
1430
1620
![Page 64: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/64.jpg)
Зоран Бањац 64
ПримерПример 16/2916/29
void funJedan(int a, int *b, char v){int jedan;jedan = a; /* L 9 */a++; /* L10 */*b= (*b) * 2; /* L11 */v = 'B'; /* L12 */printf("Linija 13: Unutar funJedana=%d, *b=%d, v=%c\n",a,*b,v);
}
![Page 65: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/65.jpg)
Зоран Бањац 65
ПримерПример 17/2917/29
• Након наредбе улинији 13
• Напушта се функцијаfunJedan
• Програм наставља дасе извршава у L6 функције main
main
10
30
A
.
.
.
.
.
.
.
.
.
1200
add
1430
1620
ime
num1
num2
ch
![Page 66: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/66.jpg)
Зоран Бањац 66
ПримерПример 18/2918/29main( ){int num1, num2;char ch;
num1=10; /* L 1 */num2=15; /* L 2 */ch='A'; /* L 3 */printf("Linija 4: ....);funJedan(num1, &num2, ch); /* L 5 */printf("Linija 6: Unutar...);num1 = funDva(&num2, 25, &ch); /* L 7*/printf("Linija 8: ...);}
![Page 67: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/67.jpg)
Зоран Бањац 67
ПримерПример 19/2919/29
num1 = funDva(&num2, 25, &ch) /* L7 poziv*/int funDva(int *x, int y, char *w);{...
x
y
w
num1
num2
ch
funDvamain
10
30
A
.
.
.
.
.
.
.
.
.
...
1430
25
1620
....
....
...
1200
1430
1620
![Page 68: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/68.jpg)
Зоран Бањац 68
ПримерПример 20/2920/29
int funDva(int *x, int y, char *w){(*x)++; /* L14*/y = y * 2; /* L15*/*w = 'G'; /* L16*/
return y;}
![Page 69: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/69.jpg)
Зоран Бањац 69
ПримерПример 21/2921/29
• Након извршавања наредбе у линији 14, (*x)++
x
y
w
num1
num2
ch
funDvamain
10
31
A
.
.
.
.
.
.
.
.
.
...
1430
25
1620
....
....
...
1200
1430
1620
![Page 70: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/70.jpg)
Зоран Бањац 70
ПримерПример 22/2922/29
int funDva(int *x, int y, char *w){(*x)++; /* L14*/y = y * 2; /* L15*/*w = 'G'; /* L16*/
return y;}
![Page 71: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/71.jpg)
Зоран Бањац 71
ПримерПример 23/2923/29
• Наредба у линији 15 (y = y * 2) даје
x
y
w
num1
num2
ch
funDvamain
10
31
A
.
.
.
.
.
.
.
.
.
...
1430
50
1620
....
....
...
1200
1430
1620
![Page 72: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/72.jpg)
Зоран Бањац 72
ПримерПример 24/2924/29
int funDva(int *x, int y, char *w){(*x)++; /* L14*/y = y * 2; /* L15*/*w = 'G'; /* L16*/
return y;}
![Page 73: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/73.jpg)
Зоран Бањац 73
ПримерПример 25/2925/29
• Након линије 16 (*w = 'G')
x
y
w
num1
num2
ch
funDvamain
10
31
G
.
.
.
.
.
.
.
.
.
...
1430
50
1620
....
....
...
1200
1430
1620
![Page 74: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/74.jpg)
Зоран Бањац 74
ПримерПример 26/2926/29
int funDva(int *x, int y, char *w){(*x)++; /* L14 */y = y * 2; /* L15 */*w = 'G'; /* L16 */
return y; /* L17 */}
![Page 75: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/75.jpg)
Зоран Бањац 75
ПримерПример 27/2927/29
• Након наредбе у L17
• Напушта се функциаfunDva()
• Враћа се у L7функције main()
• Додељује сеповратна вредностпроменљивој num1
main
50
31
G
.
.
.
.
.
.
.
.
.
1200
add
1430
1620
ime
num1
num2
ch
![Page 76: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/76.jpg)
Зоран Бањац 76
ПримерПример 29/2929/29
• Након линије 8
• Прекида се извршавање програма
• Ослобађа се меморијски простор
![Page 77: Лекција 9 - vps.ns.ac.rs · ЗоранБањац 3 Поделапрограма • Приликомразвојаалгоритмамогусеуочити логичкецелине](https://reader030.vdocuments.mx/reader030/viewer/2022011814/5e4cd8bc675cef4f554857c7/html5/thumbnails/77.jpg)
Зоран Бањац 77
Хвала на пажњи
Питања?