Matematički izrazi (ekspresije) u naše programu

7.5 Matematički izrazi (ekspresije) u našem programu

U kom programu?
Pa u našem! Hajde da napravimo malu skripticu koja će da radi nešto korisno, a istovremeno i da prikaže kako se matematički izrazi primenjuju u praksi.
Hajde da uzmemo primer pravougaonika. Možda imamo đaka šestog razreda osnovne škole kome treba pomoć oko izračunavanja obima i površine.
Prvo što MI kao programeri treba da znamo je: kako se izračunava obim, a kako površina pravougaonika. Pa saznajemo da je obim zbir sve četiri stranice pravougaonika, ali, hej, pa pravougaonik ima dva jednaka para paralelnih stranica, tako da obim postaje matematički izraz O = 2 * (a + b). Sledeće što nam treba je formula za površinu. Aha , površina je širina puta dužina! Formula postaje P = a * b.
Znači, sve što treba naš program da radi je da prikaže neku poruku - o čemu se radi, zatim da traži od korisnika da unese stranice pravougaonika, a kada ih unese da prikaže rezultat.
Skica programa izgleda otprilike ovako: dužina i širina pravougaonika ćemo čuvati u promenljivim sa  istim imenima. Čuvaćemo rezultat izraza duzina * sirina u promenljivoj povrsina , a zatim ćemo da je prikažemo pomoću print funkcije. Za obim, mi ćemo direktno koristiti vrednost izraza 2 * (duzina + sirina) u funkciji za prikaz (print). Sačuvaj kao pravougaonik.py
#!/usr/bin/env python3 

############################## 
# Primer matematičkih izraza # 
############################## 

print('Ovo je program koji računa Površinu i obim pravougaonika.') 

duzina = int(input('Molimo unesite dužinu: ')) 
sirina = int(input('Molimo unesite širinu: ')) 

povrsina = duzina * sirina 
print('Površina pravougaonika je:', povrsina) 
print('Obim pravougaonika je :   ', 2 * (duzina + sirina)) 

input('Pritisni Enter za izlaz!')
A sad i da „probamo“ ovaj program:
./pravougaonik.py 
Ovo je program koji računa Površinu i obim pravougaonika. 
Molimo unesite dužinu: 10 
Molimo unesite širinu: 45 
Površina pravougaonika je: 450 
Obim pravougaonika je :    110 
Pritisni Enter za izlaz! 
Tako lako, i tako brzo!
A mogli bi i neki manji programčić za malo starije. Na internetu sam video banere koji „pružaju zadovoljstvo“ posetiocima sajta da izračunaju koliko će imati para u banci posle određenog vremena, ako ulože neku svotu, uz određenu kamatu. Prvo nam, kao i uvek, treba formula za izračunavanje:
A = P *((1 + r / n )) (n * t)
Gde je:
A – suma na kraju perioda,
P – uložen novac,
r -mesečna kamata
n – na koliko meseci se računa kamata (ukoliko je ona mesečna onda je ovaj broj 12, i tako ćemo i raditi)
t – posle koliko godina želimo da podignemo pare.
Sada kada sve to znamo, hajde da „sročimo“ to u malu skriptu. Hajde da je nazovemo mojbankar.py
#!/usr/bin/env python3 

############################################### 
# Skripta za računanje svote prilikom štednje # 
############################################### 

print('''Dobrodošao u program koji računa tvoju štednju!''') 
print() 
print() 

P = int(input('Koliko novca želiš da ostaviš na račun? ')) 

r = float(input('Kolika ti je mesečna kamata (0.0 - 0.99)? ')) 

t = int(input('Na koliko godina želiš da oročiš svoje pare? ')) 

# Neka kamata bude mesečna 
n = 12 

A = P * ((1 + r/n) ** (n * t)) 
 
print('Tvoja suma na kraju perioda iznosi: ') 
print('{:.2f}'.format(A)) 

input('Pritisni Enter za kraj.')
float? '{:.2f}'? Šta je ovo?
Ništa strašno. Ranije si koristio funkciju int() da prebaciš neki string u broj, a funkcija float() nam služi da string napisan kao decimalni broj, prebacimo u – decimalni broj (broj sa zarezom – float).
'{:.2f}' je samo „šablon“ po kome formatiramo decimalni broj, tako da on bude prikazan na ekranu sa 2 cifre iza zareza. Pokušaj da se igraš sa skriptom, i pokušaj bez ovog formatiranja da prikažeš rezultat. Vidiš li zašto sam koristio format metodu?
Ali, pre svega toga, da „isprobamo“ naše programče.
./mojbankar.py 
Dobrodošao u program koji računa tvoju štednju! 


Koliko novca želiš da ostaviš na račun? -10000 
Kolika ti je mesečna kamata (0.0 - 0.99)? .25 
Na koliko godina želiš da oročiš svoje pare? 10 
Tvoja suma na kraju perioda iznosi: 
-118735.65 
Pritisni Enter za kraj. 
Opa, vidimo da ako od banke budem uzeo (očigledno skripta radi i za negativne vrednosti) 10 000 novaca, pri kamatno stopi od 25 %, posle deset godina ću im biti dužan 118 736 novaca. Povoljno, zar ne?
Takođe obrati pažnju, da kada sam unosio veličinu kamatne stope, nisam se ni trudio da otkucam 0.25, već sam samo uneo .25 i program i dalje radi!
Za domaći, modifikuj ovaj program, kako bi ljudi mogli da unose kamatu kao ceo broj (program treba da izračuna koliko je to, npr deljenjem sa sto :) ). Takođe, osvrni se malo oko sebe, i pogledaj, kakvu još skriptu možeš napraviti, a da koristi matematičke operacije, i radi nešto korisno – za tebe.

7.4 Dodela vrednosti Indeks 7.6 Rezime

Коментари

Popularno

Audacious - program za slušanje muzike

LibreOffice Calc - program za izradu tabela

Brasero - program za rezanje CD-ova

Bekstvo iz Titela

Minitube - program za praćenje YouTube sadržaja

Idemo

Kako blokirati neželjene oglase koje AdSense pokazuje na Vašoj web lokaciji

Bezimena

Pozadina Bekstva iz titela

Pažljivo sa MS Word dokumentima koje primate putem elektronske pošte