Vous êtes sur la page 1sur 21

Programiranje 1

Uvod

Univerzitet u Beogradu
Elektrotehnički fakultet
Sadržaj
 Viši programski jezici
 Sintaksa
⚫ Identifikatori i rezervisane reči
⚫ Komentari
 Promenljive i dodela vrednosti
 Numerički tipovi i konverzije
 Osnovni numerički operatori
 Standardni ulaz i izlaz
 Razvojna okruženja
ETF Beograd::Programiranje 1 2/21
Viši programski jezici
 Viši nivo apstrakcije od mašinskih jezika
 Python:
⚫ Viši programski jezik
⚫ Interpretirani jezik
⚫ Jezik opšte namene
⚫ Primenjuje se u analizi podataka, robotici, sistemskom,
internet, numeričkom i naučnom programiranju, ...
⚫ Dve grane jezika:
 Verzija 2.7
 Verzija 3.x

ETF Beograd::Programiranje 1 3/21


Identifikatori i rezervisane reči
 Identifikatori:
⚫ Nazivi promenljivih, funkcija, modula...
⚫ Davati imena iz kojih se lako može zaključiti šta opisuje
⚫ Biti konzistentan u načinu imenovanja i izabranog
jezika (srpski, engleski, ...)
⚫ Imenovanje kada se identifikator sastoji od više reči:
 camelCase (PascalCase)
 snake_case

 Rezervisane reči:
⚫ Ne mogu se koristiti kao identifikatori

ETF Beograd::Programiranje 1 4/21


Komentari
 Interpreter ignoriše komentare
 Komentar u jednom redu:
⚫ Počinje znakom # i traje do kraja reda
⚫ Može se naći u redu nakon koda
# primer komentara u jednom redu
print("Jednostavna linija koda") # primer komentara nakon koda

 Komentar u više redova:


⚫ Okružen je sa tri para znaka navoda (""" ili ''')
'''
Ovo je komentar
u više redova
'''

ETF Beograd::Programiranje 1 5/21


Promenljive i dodela vrednosti
 Promenljive:
⚫ Koriste se za smeštanje podataka
⚫ Pristupa im se preko identifikatora
⚫ Deklarisanje i definisanje se vrši prilikom prve dodele
vrednosti promenljivoj
 Dodela vrednosti:
⚫ Za dodelu se koristi operator =
⚫ Moguća je višestruka dodela vrednosti
broj = 5
tekst = "Programiranje 1"
a, b, c = 1, 2, 3
d = e = f = 4

ETF Beograd::Programiranje 1 6/21


Numerički tipovi i konverzije
 Tri numerička tipa:
⚫ int – označeni celi brojevi
⚫ float – realni brojevi u pokretnom zarezu
⚫ complex – kompleksni brojevi
 Za konverziju se koriste funckije int(), float() i
complex(), a za proveru tipa funkcija type()
ceoBroj = 2
realanBroj = 2.718
kompleksanBroj = 1 + 2j

print(type(ceoBroj)) # <class 'int'>


print(type(realanBroj)) # <class 'float'>
print(type(kompleksanBroj)) # <class 'complex'>
print(type(int(realanBroj))) # <class 'int'>

ETF Beograd::Programiranje 1 7/21


Osnovni numerički operatori
 Aritmetički operatori:
⚫ Negacija (-), sabiranje (+), oduzimanje (-), množenje
(*), deljenje (/), celobrojno deljenje (//), moduo (%),
stepenovanje (**)
 Operatori dodele:
⚫ Operator dodele (=) i kombinovani operatori dodele
(+=, -=, *=, /=, //=, %=, **=)
a = 10 # a = 10
b = -49 # b = -49
b %= 7 # b = 0
c = 2**9 * a // 160 # c = 32
c += a # c = 32 + 10 = 42
c *= a**b # c = 42

ETF Beograd::Programiranje 1 8/21


Standardni ulaz i izlaz
 Ulaz:
⚫ Funkcija input() se korisiti za čitanje sa standardnog
ulaza
a = input() # može se pozvati bez argumenata
b = input("Unesi b: ") # Unesi b: - opciono se može proslediti poruka koja se ispisuje
print(type(a)) # <class 'str'> - učitana vrednost je uvek tipa string
b = int(b) # neophodna je ekspilicitna konverzija u željeni tip
print(type(b)) # <class 'int'>

 Izlaz:
⚫ Funkcija print() se korisiti za ispis na standardni izlaz
print("Ispiši samo ovo") # Ispiši samo ovo – ispis uz prelazak u novi red
print("Na kraju ide", end=".") # Na kraju ide. – end definiše čime se završava ipsis
print("jedan", "dva", "tri") # jedan dva tri – ispis više vrednosti odvojenih razmakom
print("04","11","2019", sep="-") # 04-11-2019 – sep definiše čime se odvajaju vrednosti

ETF Beograd::Programiranje 1 9/21


Razvojna okruženja
 Integrisano razvojno okruženje:
⚫ Integrated Development Environment (IDE)
⚫ Skup alata koji se koriste prilikom razvoja programa:
 Editor koda, debager, prevodilac ili interpreter, ...
 Dobro podržana razvojna okruženja za Python:
⚫ IDLE
⚫ PyCharm
⚫ IntelliJ IDEA
⚫ Thonny
⚫ Spyder
ETF Beograd::Programiranje 1 10/21
1. zadatak
 Na programskom jeziku Python sastaviti program
koji ispisuje poruku Zdravo svete! na standardnom
izlazu.

# ovo je ceo prvi program


print("Zdravo svete!")

ETF Beograd::Programiranje 1 11/21


2. zadatak
 Na programskom jeziku Python sastaviti program
koji učitava cele brojeve 𝑎 i 𝑏, a zatim računa i
ispisuje ceo deo i ostatak dobijen deljenjem ova
dva broja.

a = input("a: ")
a = int(a)
b = input("b: ")
b = int(b)
ceo_deo = a // b
ostatak = a % b
print("Ceo deo:", ceo_deo)
print("Ostatak:", ostatak)

ETF Beograd::Programiranje 1 12/21


3. zadatak
 Na programskom jeziku Python sastaviti program
koji za unetu ivicu kocke 𝑎 računa poluprečnik
upisane sfere, površinu i zapreminu kocke.

a = input("a: ")
a = float(a)
u = a / 2
P = 6 * a**2
V = a**3
print("Poluprečnik upisane sfere:", u)
print("Površina:", P)
print("Zapremina:", V)

 Kako izgleda ispis? Da li može preglednije?


ETF Beograd::Programiranje 1 13/21
Stringovi – Formatiranje
 Metoda format() se korisiti formatiranje
stringova:
print("Površina: {}".format(P)) # Površina: 3010.5599999999995
print("Zapremina: {}".format(V)) # Zapremina: 11239.423999999997
print("P: {}, V: {}".format(P, V)) # P: 3010.5599999999995, V: 11239.423999999997

 Formatiranje realnih brojeva:


⚫ broj decimalnih mesta
⚫ ukupan broj mesta koje zauzima broj
⚫ način ispisa
print("Površina: {:.4}".format(P)) # Površina: 3.011e+03
print("Zapremina: {:10.3}".format(V)) # Zapremina: 1.12e+04
print("P: {:0.2f}, V: {:0.2f}".format(P, V)) # P: 3010.56, V: 11239.42

ETF Beograd::Programiranje 1 14/21


4. zadatak
 Na programskom jeziku Python sastaviti program
koji broj unet sa standardnog ulaza:
⚫ a) množi sa brojem 2
⚫ b) celobrojno deli sa brojem 8
 Koristiti bitske operatore << i >>.
broj = int(input("broj: "))
a = broj << 1
b = broj >> 3
print("a: {}".format(a))
print("b: {}".format(b))

 Da li se mogu deliti negativni brojevi? Zašto?


ETF Beograd::Programiranje 1 15/21
Pregled

ETF Beograd::Programiranje 1 16/21


Pregled – Funkcije i metode
 Ugrađene funkcije:
⚫ print()
⚫ input()
⚫ int()
⚫ float()
⚫ complex()
⚫ type()
 Metode za rad sa stringovima:
⚫ format()

ETF Beograd::Programiranje 1 17/21


Pregled – Operatori
 Aritmetički operatori:
⚫ +, -, *, /, //, %, **
 Bitski operatori:
⚫ &, |, ^, ~, <<, >>
 Operatori dodele:
⚫ =
⚫ +=, -=, *=, /=, //=, %=, **=
⚫ &=, |=, ^=, >>=, <<=

ETF Beograd::Programiranje 1 18/21


Pregled – Tipovi podataka
 Int
 Float  Numerički tipovi
 Complex
 Boolean  Logički tip
 String
 List
 Tuple  Kolekcije
 Set
 Dict
ETF Beograd::Programiranje 1 19/21
Literatura – Knjige
 M. Kovačević, Osnove programiranja u Pajtonu,
Akademska misao, Beograd, 2017.
 M. Lutz, Learning python: Powerful object-oriented
programming, 5th edition, O'Reilly Media, Inc., 2013.
 J. Zelle, Python Programming: An Introduction to
Computer Science, 3rd Ed., Franklin, Beedle &
Associates, 2016.
 D. Beazley, B. K. Jones, Python Cookbook, 3rd edition,
O'Reilly Media, 2013.
 A. Downey, J. Elkner, C. Meyers, How To Think Like A
Computer Scientist: Learning With Python, free e-book
ETF Beograd::Programiranje 1 20/21
Literatura – Online izvori
 Python 3 documentation,
https://docs.python.org/3/index.html
 Learn Python, Basic tutorial,
https://www.learnpython.org/
 TutorialsPoint, Python tutorial
https://www.tutorialspoint.com/python/index.htm
 W3Schools, Python tutorial
https://www.w3schools.com/python/
 GeeksforGeeks, Python programming language
https://www.geeksforgeeks.org/python-programming-
language/
ETF Beograd::Programiranje 1 21/21

Vous aimerez peut-être aussi