11: Математичке конструкције


До сада смо извршавали математичка израчунавања помоћу оператора +,  -, *, / као и помоћу функција max и min. У овој лекцији ћемо видети још оператора и функција, и научићемо како да извршавамо комплекснија израчунавања.


Математички оператори

Већ смо научили како да користимо операторе за сабирање и одузимање, а + b и a - b. Сада ћемо научити нова три оператора:

  • Степен a ** b израчунава ab (а помножено само са собом b пута). На пример, 2 ** 3 је једнако 8 (тј. 2 * 2 * 2)
  • Целобројно дељење a // b израчунава количник при дељењу а са b, и при том дељењу игнорише количник, тако да је резултат цео број. На пример, за 14 // 3, резултат је 3.
  • Мод оператор a % b рачуна остатак при дељењу а са b. На пример, 14 % 3 је једнако 2.


Пример: Степен, целобројно дељење и остатак при дељењу

Вежба кодирања: Јаја
Картон јаја има тачно 12 јаја. Картони се увек пуне скроз пре него што се однесу на пијацу за продају, никад се у картону не налази мање јаја од 12. Написати програм у којем се учитава цео број, број јаја, помоћу input() функције, и штампа се 2 броја: колико картона може бити скроз попуњено јајима, као и колико ће јаја преостати након попуњавања картона.
На пример, за 27 јаја излаз ће бити:

2
3

пошто се са 27 јаја могу попунити 2 картона, и преостаје 3 јаја.
Можете унети улаз за програм у поље испод.

 

Вежба кодирања: Дељивост
Написати програм у којем се учитава 2 позитивна цела броја а и b. Ако је а дељиво са b, одштампати поруку "deljivo". У супротном, штампа се порука "nije deljivo".
За улаз:

14
3

програм треба да одштампа поруку "nije deljivo"
Можете унети улаз за програм у поље испод.

 

Математичке операције

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

  • sqrt(x)- рачуна корен броја x.
  • exp(x) и log(x) - експоненцијална и логаритамска функција.
  • sin(x), cos(x), tan(x) - тригонометријске функције.
  • pi - математичка константа 3.1415...

Када се користе тригонометријске функције у Python-у, угао мора бити изражен у радијанима, а не у степенима.

 

Пошто у Python-у постоји много функција, зарад лакшег њиховог коришћења оне су подељене на групе, тј. модуле. Функције које смо малочас поменули припадају math модулу. Ако у програму користимо функцију из неког модула, морамо да укључимо тај модул у програм, тј. да га импортујемо. Да бисмо укључили модул у програм, морамо на почетку програма унети реч import, и одмах иза ње назив модула који желимо да користимо. Да би се користила функција из модула, мора се укуцати име модула, затим тачка, па име функције.

 

Пример: коришћење функција из math модула

 

Вежба кодирања: Округла пица
Дошли су вам гости, и желите да наручите пицу. Пица коју смо наручили је округлог облика. Написати програм који рачуна површину пице. Улаз је реалан број r, и он представља полупречник пице, изражен у cm2. Излаз треба да буде површина, изражена у cm2. Она се рачуна помоћу формуле  A=pi*r2. Савет
Можете унети улаз за програм у поље испод.


Вежба кодирања: Геометријска средина
Геометријска средина два броја а и b је:

\sqrt{ab}

Написати програм у којем се уноси два реална броја (float), и штампа се њихова геометријска средина.
Пример: Ако је улаз

5.0
20.0

онда излаз треба да буде 10.0.
Можете унети улаз за програм у поље испод.


Старост рачунских операција које користи Python је следећи:

 

- заграде

- експонент (степен)

- дељење

- множење

- сабирање

- одузимање

 

На пример, израз

3 * (1 + 2) ** 2 % 4

 

се рачуна на следећи начин: саберу се бројеви у загради (1+2 = 3), затим степен (3 ** 2 = 9), па множење (3 * 9 = 27), и на крају остатак при дељењу са 4. Дакле, коначан резултат је 27 % 4 = 3.

 

Вежба кратког одговроа: Редослед рачунских операција
Која ће бити вредност следећег израза у Python-у?

6 - 52 // 5 ** 2

Тачно!

 

Целобројно дељење са негативним бројевима: Изрази а // b и int(a / b) су исти ако су а и b позитивни бројеви. А када је а негативан број, а // b заокружује вредност према нижем броју, а // b заокружује вредност на виши број (према нули).

 

Пример: целобројно дељење са негативним бројевима

 

Вежба кодирања: Инчи
За овај програм улаз је реалан број који представља висину изражену у инчима. Написати програм који претвара унету висину у центиметре и штампа тај број. 1 инч = 30.48. За улаз 0.5, програм треба да одштампа 15.24
Можете унети улаз за програм у поље испод.

 

Вежба кодирања: Гравитација
Каменчић је бачен из авиона брзином v ,израженом у m/s из авиона који је на висини 11000m. Написати програм који помоћу дате формуле, израчунава време потребно да каменчић падне на земљу. Улаз је реалан број v.

t=\frac { v-\sqrt { v^{ 2 }-4(-4.9)(11000) }  }{ 2(-4.9) }
Можете унети улаз за програм у поље испод.