-
Programiranje
Skup instrukcija (komandi) napisanih za rešavanje nekog problema
na računaru naziva se PROGRAM. Pisanje instrukcija pomoću nekog
programskog jezika naziva se PROGRAMIRANJE. PROGRAMSKI JEZIK je
skup pravila kojim se računaru predstavljaju instrukcije i opisuju
podaci. Podatak je opis svojstva nekog entiteta, pojejave ili
procesa. Podatke sakupljamo i čuvamo u memoriji računara, da bismo
ih po potrebi koristili. Podaci mogu biti u obliku brojeva, teksta,
slike, zvuka. Podaci postaju informacije u momentu njihovog
korišćenja. Informacija je logički skup podataka, koje za objekat
(čovek, računar) koji ih prima, imaju određenu upotrebnu vrednost i
značenje. Obrada podataka je proces pretvaranja podataka u
informacije.
Tip podataka Osnovni tipovi podataka u Python-u su:
integer – celi brojevi float – realni brojevi (decimalni zapis)
boolean – logički tip (true, false) string – znakovni zapis
(tekst)
Tip podataka je kategorija za vrednosti i svaka vrednost pripada
samo jednom tipu podataka. Najčešći tipovi podataka su ceo broj
(npr. 24, 18, -4…) i brojevi sa decimalnim (pokretnim) zarezom
(npr. 24.1, 18.3, 4.02…). Primer, 27 ceo broj, 27.0 je broj sa
pokretnim zarezom.
Najčešći tipovi podataka dati su u tabeli ispod:
https://s3.eu-west-1.amazonaws.com/campster-upload/06042018/701c4c89fa450fb.jpg
-
Python programi takođe mogu imati i tekstualne vrednosti, koje
se nazivaju stringovi (str). String se uvek obuhvata karakterima (‘
‘), npr. ‘Zdravo svima!’ , ‘Unesi prvi broj:’.
Ako napišemo samo ‘ ’ bez slova unutra, to je takođe string,
koji se naziva prazan string.
Boolean tip podataka u Python programskom jeziku može imati samo
jednu od dve vrednosti; True – tačno
ili False – netačno.
Čuvanje vrednosti u promenljivim Promenljive su privremeni
kontejneri u koijma se skladište neke vrednosti.
Promenljive su simbolčki nazivi za neke memorijske lokacije koje
služe da se u njih čuva
(skladišti) neka vrednost (neki podatak) .
Vrednosti se čuvaju u promenljivim sa iskazom dodele. Iskaz
dodele sadrži naziv promenljive, znak jednakosti (koji se naziva
operator dodele) i vrednosti koja će biti sačuvana. Npr. ako
unesemo iskaz dodele broj=24, onda će promenljiva pod nazivom broj
imati u sebi sačuvanu vrednost celog broja 24.
Zamislite promenljivu kao kutiju sa nazivom “broj” u koju je
postavljena vrednost 24:
Promenljiva je kreirana kada je vrednost prvi put sačuvana u
njoj, a nakon toga može da se upotrebi u izrazu sa drugim
promenljivama ili sa drugim vrednostima (što vidite iznad). Kada je
promenljivoj dodeljena nova vrednost, stara vrednost je
zaboravljena, kao što je to slučaj sa promenljivom broj2 u našem
primeru. Zbog toga broj2 sada ima vrednost 35, a ne 30 kao na
početku. To se naziva prepisivanje promenljive.
Nazivi promenljivih
Prilikom imenovanja promenljivih postoji nekoliko pravila kojih
se moramo držati:
promenljiva ne sme počinjati brojem;
može biti samo jedno slovo, jedna reč ili više spojenih
reči;
ime promenljive mora početi slovom ili donjom crtom, posle koga
mogu se koristiti brojevi, slova i donje crtice;
specijalni karakteri nisu dozvoljeni u imenima promenljivih
(npr. $, #, %,*,/, ‘’, & itd);
promenljive su osetljive na mala i velika slova (a i A su dve
različite promenljive) .
- Ako u ime promenljive sadrži dve ili više reči, te reči moraju
biti spojena.
- Nepisano pravilo, koga se drži većina programera je da se ime
promenljive piše malim slovima (primer: x, y, z…a, b, c…ocena1,
ocena2…), a ako je u imenu promenljive više reči onda se pišu
spojeno, a prvo slovo druge reči se piše kao veliko (primer:
srednjaOcena…)
http://www.manuelradovanovic.com/2018/08/uvod-u-python-programski-jezik.htmlhttps://s3.eu-west-1.amazonaws.com/campster-upload/06042018/1b5b0a82c3dd6ba.jpg
-
U sledećoj tabeli možete pogledati pravilne i nepravilne nazive
promenljivih:
Promenljiva (varijabla) ima ime, tip i vrednost.
Izrazi
Izraz se sastoji od vrednosti (koje promenljive čuvaju, kao što
je pr. 2) i od operatora (posebnih simboli koji sprovode
aritmetičke ili logičke račune, kao što je +, -, *, /, itd.).
Primeri:
a = 5 y = a - 2 k = x / y
U ovim izrazima znak = se zove operator dodele.
Ostali operatori dodele +=, -=, *=, /=, itd.
https://s3.eu-west-1.amazonaws.com/campster-upload/06042018/7924a3023153520.jpg
-
Operatori Kao i u matematici i u programiranju imamo potrebu
sabirati, množiti i izvoditi druge računske operacije nad
vrednostima. Nije bitno tačno znat koji su koji operatori
(aritmetički, logički, relacijski(poređenja)...), već šta rade
pojedini operatori.
Malo objašnjenje za deljenje sa ostatkom i celobrojno
deljenje:
Primer1: 14 : 4 = 3, ostatak 2, ovde je ceo broj pri deljenju
ova dva broja 3, a ostatak 2 U Python-u bi to zapisali kao 14 // 4
= 3 i 14 % 4 = 2 Primer2: 24 : 3 = 7, ostatak 3, ovde je ceo broj
pri deljenju ova dva broja 7, a ostatak 3 U Python-u bi to zapisali
kao 24 // 3 = 7 i 24 % 3 = 3
Aritmetički operatori
Oni su identični kao u matematici, za brojeve (float i integer),
u svakom od izraza je moguće i mešati ciele sa realnim
brojevima:
+ sabrajanje - oduzimanje * množenje / dijeljenje
** stepenovanje % ostatak cielobrojnog deljenja, ako je 7 = 3 *
2 + 1, ostatak deljenja 7 sa 3 je 1 jer je
najbliži djeljivi sa 3 broj 6, moguće je računat i ostatak sa
realnim brojevima (4 % 1.5 = 1.0) // celobrojno deljenje, podeli i
odbaci ostatak
-
Za stringove postoji nekoliko operacija:
+ sabrajanje ili spajanje stringova. Primeri:
>>> "Ovo " + "radi!"
'Ovo radi' >>> "ja imam " + 2 + "kutije" ERROR # nismo
pretvorili broj u string
# sledece bas i nema smisla ali umesto broja moze bit i
varijabla :) >>> "ja imam " + str(2) + "kutije" 'ja imam
2kutije'
# spojeno jer nema razmaka ispred stringa "kutije"
* množenje, radi samo ukoliko množimo string sa celim brojem
funkcionalno je jednako kao da smo isti string napisali onoliko
puta sa koliko ga mnoćimo. Primer:
>>> "zdravo!" * 10
zdravo! zdravo! zdravo! zdravo! zdravo! zdravo! zdravo! zdravo!
zdravo! zdravo!
Operatori poređenja (relacijske operacije)
- Koristi se za sve tipove podataka (integeri, floatovi,
stringovi, booleanovi).
- Rezultat poređenja je boolean (ili je tačno ili netačno).
a == b - proverava jesu li jednaki a != b - proverava jesu li
različiti a < b - proverava da li je a manji od b a > b -
provjerava da li je a veći od b a = b - provjerava da li je a veći
ili jednak b
Za stringove će uzeti sumu vriednosti pojedinog znaka (pozvaće
ord() za svaki znak i sabrati ih) i tako
uporediiti Za booleane može samo == i != ostalo nema smisla,
Logički operatori
Njih koristimo najčesće u if-naredbama, ali i na drugim mestima
gdje tražimo istinitost izraza.
and - ukoliko su oba logicka uslova True, onda je True.
Primeri:
True and True
True True and False False
False and False
False
-
or - ukoliko je bar jedan od uslova True, onda je True.
Primeri:
True or True True True or False True
False or False
False
not - negira uslov - pretvara True u False i obrnuto.
Primeri:
not True False not False
True not(False or False) True
not(True or False)
False
Prioritet operatora
( ) zagrade ** stepenovanje *, /, %, // množenje, deljenje,
celobrojni ostatak i celobrojno deljenje +, - sabrajanje i
oduzimanje = upoređivanje veličina ==, != upoređivanje jednakosti
=, %=, /=, //=, *=, **=, +=, -= operatori dodjele (više o tome u
drugom razredu)
not, or, and logički operatori
Zašto je to bitno? Da bi prilikom korišćenja operacija znali
koji je njihov prioritet, pa ih tako treba pisati, a to nam je
bitno da bi se operacije izvodile tačnim redosledom kojim
želimo.
Pisanje komentara u programu Komentar je tekst u programu koji
služi za objašnjenje delova programa drugim programerima, ali služi
i kao podsetnik programeru koji taj program piše. Python ignoriše
komentare i potpuno ih preskače prilikom prevođenja programa. Svaki
tekst u ostatku linije iza znaka # je deo komentara. Python ne
intrepretira komentare, tako da oni ne utiču na izvršavanje
programa.
Primer1:
print("Ovo nije komentar, ovo će pisati na ekranu!") # ovo je
komentar
Primer2:
# Ovo je komentar
-
Ugrađene funkcije Kao i u drugim programskim jezicima i u
Python-u postoje mnogobrojne ugrađene funkcije koje olakšavaju
pisanje programa (mogu se koristiti više puta, kada god je potrebno
u programu).
Neke od njih su:
abs(broj) – vraća apsolutnu vrednost broja. len(kolekcija) –
vraća dužinu date kolekcije ili stringa. max(a, b) – vraća veću
vrednost od dve zadate. min(a, b) – vraća manju vrednost od dve
zadate. range(početak, kraj) – vraća listu brojeva od početnog pa
sve do krajnjeg. round(broj, broj_decimala) – vraća broj sa zadatim
brojem decimalnih cifara (može da se
pozove i bez drugog parametra i onda vraća broj bez decimalnih
cifara). sorted(kolekcija) – vraća kolekciju sortiranu po rastućem
redosledu. str(vrednost) – datu vrednost pretvara u string.
math.ceil(broj) – vraća realni broj zaokružen na najmanji ceo broj
veći ili jednak njemu; math.floor(broj) – vraća realni broj
zaokružen na najveći ceo broj manji ili jednak njemu;
math.sqrt(broj) – vraća kvadratni koren; math.pow(broj, stepen) –
vraća stepenovani broj.
Napomena: potrebno je na početku unošenja naredbi uvesti
matematicke funkcije naredbom import math
Primeri:
import math
print(min(123, 141, 89, 16, 125)) 16
print(max(13, 241, 98, 116, 325)) 325
print(abs(-123)) 123
print(abs(123)) 123
print(len("informatika")) 11
print(round(135.44)) 135
print(math.ceil(8.4)) 9
print(math.floor(8.4)) 8
print(math.sqrt(min(25,10))) 3.1622
print(math.pow(max(5,2),2)) 25.0
-
Primeri:
Primer za funkciju abs:
abs(10)=10 abs(-11)=11
Primer za funkciju max: max(4, 10)=10
Primer za funkciju len: len('informatika')=11
Primer za funkciju round: round(10)=10 round(10.7)=11
round(5.5)=6