Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
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