Садржај
1. Робот Карел - линијски програми и бројачка петља
2. Робот Карел - условна петља и гранање
3. Робот Карел - задаци за вежбање
4. Корњача графика - линијски програми и петље
5. Корњача графика - гранање, угнежђене петље, функције, торке и листе
6. Корњача графика - задаци за вежбање
9. Израчунавања - коришћење и дефинисање функција
10. Израчунавања - задаци за вежбање
13. Контрола тока - вежбање
17. Програмирање 2Д графике - Увод у Pygame

9.1. Коришћење функција

Уграђене функције

Хајде прво да погледамо наредни видео који је у вези са уграђеним функцијама, а затим детаљно прочитај све што следи и уради све питалице и задатке.

Појам функције

Функције су делови програма (називају се и потпрограми) које можемо да позовемо у помоћ када нам током програмирања затребају. Њих је неко испрограмирао и утиснуо у Пајтон како бисмо их ми могли корстити, а врло су корисне!

Појам функције у математици

Функције су један од основних појмова математике и програмирања. Оне представљају пресликавања одређених улазних вредности (каже се параметара, аргумената) у једну или више излазних вредности, тј. резултата. На пример, функција може да као улазни параметар добије дужину странице једнакостраничног троугла \(а\) и да као резултат врати дужину обима тог троугла \(3\cdot a\). Таква зависност би се у математици описала као \(f(a) = 3\cdot a\) што значи да функција коју смо назвали f (што је најчешће име за функцију) на основу датог параметра \(а\) одређује вредност \(3\cdot a\). Слично, функција која израчунава обим правоугаоника на основу дужине његових страница би се у математици описала као \(g(a, b) = 2\cdot a + 2 \cdot b\). У овом случају је функцији дат назив \(g\), она има два улазна параметра (\(a\) и \(b\)) и враћа резултат који је одређен формулом \(2\cdot a + 2 \cdot b\).

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

  • min, max - минимум и максимум

  • abs - апсолутна вредност

  • math.pow, math.sqrt - степен, квадратни корен

  • round, math.floor, math.ceil - заокруживање реалних бројева

Минимум и максимум

У многим задацима потребно је одредити мањи или већи од два дата броја. Пошто је тај задатак веома чест, програмски језик Пајтон нуди решење у виду функција min и max. На пример, вредност израза min(2, 5), је мањи од бројева 2 и 5 тј. број 2 (тај израз представља позив функције min са аргументима 2 и 5), док је вредност израза max(2, 5) већи од бројева 2 и 5, тј. број 5 (тај израз представља позив функције max са аргументима 2 и 5).

Вредност израза min(24, 17) је

    Q-81: Која је вредност израза min(min(5, 2), 3)?

  • 2
  • Тачно!
  • 3
  • min означава мањи од два броја.
  • 5
  • min означава мањи од два броја.

Минимум и максимум неколико бројева могуће је израчунати тако што се сви наведу као параметри функција min, односно max. На пример, вредност израза max(3, 2, 5, 4) је 5.

Ево неколико задатака у чијем нам решавању ове функције могу помоћи.

Већа оцена

Љубица је једног дана добила оцене из биологије и географије. Која је оцена већа?

Највећи број поена у игрици

Асмир, Снежа и Мица су играли игрицу на рачунару. Који је највећи број освојених поена (high-score).

Апсолутна вредност

Још једна веома корисна функција коју си упознао у математици је апсолутна вредност. Апсолутном вредношћу се одређује одступање броја од нуле. На пример, број 4 одступа од нуле за 4, док број -5 одступа од нуле за 5 јединица. Дакле, апсолутна вредност броја \(x\), која се, ако се сећаш, обележава са \(|x|\), једнака је самом броју \(x\) ако је \(x \geq 0\), односно броју \(-x\), ако је \(x < 0\).

У језику Пајтон апсолутну вредност можемо израчунати помоћу функције abs. Тако је вредност израза abs(5) једнака 5, док је вредност израза abs(-3) једнака 3.

Вредност израза abs(-11.2) је

Једна од најзначајнијих примена апсолутне вредности јесте у случају када треба израчунати удаљеност бројева, без обзира на њихов међусобни однос. Наиме, растојање између бројева \(x_1\) и \(x_2\) је једнако апсолутној вредности њихове разлике, тј. вредности \(|x_1 - x_2|\), без обзира на то да ли је \(x_1 \geq x_2\) или је \(x_1 < x_2\). Хајде да погледамо наредни задатак.

Удаљеност спратова

Cпратови су у једној згради обележени бројевима од -2 до 10 (бројеви -2 и -1 означавају два нивоа испод земље, 0 означава приземље, док остали бројеви означавају спратове изнад земље). Ако се зна на којим се спратовима налазе два другара, израчунај колико су спратова удаљени.

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

Наравно, уместо бројева 3 и -1 могуће је стављати и друге, а могуће је ове бројеве учитати приликом покретања програма. Испробај програм са неколико својих примера, али и са примерима које смо ти ми припремили.

(Created using Swinx, RunestoneComponents and PetljaDoc)
© 2022 Petlja
A- A+