Функције су један од основних појмова математике и програмирања. Оне представљају пресликавања одређених улазних вредности (каже се параметара, аргумената) у једну или више излазних вредности тј. резултата.
Прво ћемо се само позабавити коришћењем неких основних уграђених функција (оне су већ дефинисане језиком и можемо их слободно користити тј. позивати у нашим програмима).
Минимум и максимум
min(24, 17)
min(min(5, 2), 3)
max(3, 2, 5, 4)
Апсолутна вредност
Апсолутном вредношћу се одређује одступање броја од нуле.
У језику Python апсолутну вредност можемо израчунати помоћу функције abs.
abs(5)= 5
abs(-3)= 3
Једна од најзначајнијих примена апсолутне вредности је да се израчуна удаљеност бројева.
Поред ових које смо видели, језик Python 3 нуди многе друге корисне функције за рад са бројевима.
round заокружује дати реални број на најближи цео број.
round(2.9) = 3
round(4.5) = 5
round(2.1) = 2
Слично, функција math.ceil заокружује дати реалан број навише тј. на најмањи цео број већи или једнак њему, док math.floor заокружује дати реалан број наниже тј. на највећи цео број мањи или једнак њему.
math.ceil(2.1) = 3, исто као и math.ceil(2.9)
math.floor(2.1) = 2, исто као и math.floor(2.9).
Приметимо да имена ових функција почињу са math. Оне су део такозване математичке библиотеке и да би се могле користити у програму на његовом почетку мора бити написано import math.
Функција math.sqrt израчунава квадратни корен. math.sqrt(9) = 3
Функција math.pow врши степеновање. math.pow(2, 3) = 2*2*2 = 8
у библиотеци math дефинисане су и разне корисне константе, math.PI (вредност тог броја је око 3,141592)
Задаци:
1. Љубица је једног дана добила оцену из биологије и географије. Која је већа оцена коју је Љубица добила тог дана?
biologija = int(input("biologija: "))
geografija = int(input("geografija: "))
print("veća ocena: ", 0) # ispravi ovu liniju
2. Аљоша и Борис су браћа која иду у трећи и шести разред и деле исту собу. У соби имају две полице за књиге, међутим, књиге су им се измешале и они желе да их раздвоје тако да на једној полици буду само Аљошине књиге за трећи, а на другој полици буду само Борисове књиге за шести разред (свеједно им је која ће полица бити чија). Колики је најмањи број књига које треба да помере?
polica1_aljosine = 10
polica1_borisove = 5
polica2_aljosine = 7
polica2_borisove = 8
potrebno_premestiti = 0 # ispravi ovaj red
print(potrebno_premestiti)
3. Алекса и Ђорђе су два програмера који раде у истој компанији. Алекса ће у понедаљак бити на послу од 8 сати до 17 сати, а Ђорђе од 10 до 15 сати. Колико су сати тог дана могли заједно да раде на игрици коју програмирају? Напиши програм тако да ради и када се подаци промене (на пример, у уторак ће Алекса бити на послу од 15 до 20, а Ђорђе од 8 до 14).
aleksa_dosao = 8
aleksa_otisao = 17
djordje_dosao = 10
djordje_otisao = 15
drugi_dosao = max(aleksa_dosao, djordje_dosao)
prvi_otisao = min(aleksa_otisao, djordje_otisao)
zajedno = max(prvi_otisao - drugi_dosao, 0)
print(zajedno)
4. Cпратови у једној згради су обележени са бројевима од -2 до 10 (бројеви -2 и -1 означавају два нивоа испод земље, 0 означава приземље, док остали бројеви означавају спратове изнад земље). Ако се знају спратови на којима се налазе два другара, израчунај колико су спратова удаљени.
5. Јелена је дошла аутобусом на станицу у s1 сати и m1 минута, док је Иванин аутобус стигао у s2 сати и m2 минута. Колико је сати и минута она која је прва стигла чекала ону која је друга стигла?
6. Марија има две ћерке. Напиши програм који на основу њихових година одређује и исписује колико година има старија, а колико година има млађа од њих.
7. Напиши програм који одређује колика је разлика у годинама између две Маријине ћерке.
8. Срђан има три сина. Напиши програм који одређује колика је разлика у годинама између најстаријег и најмлађег.
9. Напиши програм који одређује за колико се разликују мања и већа цифра у запису двоцифреног броја.