programiranje 1 uvod u programski jezik python · viši programski jezici viši nivo apstrakcije od...
TRANSCRIPT
-
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() icomplex(), a za proveru tipa funkcija type()
ETF Beograd::Programiranje 1 7/21
ceoBroj = 2
realanBroj = 2.718
kompleksanBroj = 1 + 2j
print(type(ceoBroj)) #
print(type(realanBroj)) #
print(type(kompleksanBroj)) #
print(type(int(realanBroj))) #
-
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 (+=, -=, *=, /=, //=, %=, **=)
ETF Beograd::Programiranje 1 8/21
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
-
Standardni ulaz i izlaz
Ulaz:
⚫ Funkcija input() se korisiti za čitanje sa standardnog ulaza
Izlaz:
⚫ Funkcija print() se korisiti za ispis na standardni izlaz
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)) # - učitana vrednost je uvek tipa string
b = int(b) # neophodna je ekspilicitna konverzija u željeni tip
print(type(b)) #
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
https://www.python.org/downloads/https://www.jetbrains.com/pycharm/download/https://www.jetbrains.com/idea/download/https://thonny.org/https://www.spyder-ide.org/
-
Na programskom jeziku Python sastaviti programkoji ispisuje poruku Zdravo svete! na standardnomizlazu.
1. zadatak
# ovo je ceo prvi program
print("Zdravo svete!")
ETF Beograd::Programiranje 1 11/21
-
Na programskom jeziku Python sastaviti programkoji učitava cele brojeve 𝑎 i 𝑏, a zatim računa iispisuje ceo deo i ostatak dobijen deljenjem ovadva broja.
2. zadatak
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
-
Na programskom jeziku Python sastaviti programkoji za unetu ivicu kocke 𝑎 računa poluprečnikupisane sfere, površinu i zapreminu kocke.
3. zadatak
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
-
Na programskom jeziku Python sastaviti programkoji broj unet sa standardnog ulaza:
⚫ a) množi sa brojem 2
⚫ b) celobrojno deli sa brojem 8
Koristiti bitske operatore >.
4. zadatak
broj = int(input("broj: "))
a = 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:
⚫ =
⚫ +=, -=, *=, /=, //=, %=, **=
⚫ &=, |=, ^=, >>=,
-
Pregled – Tipovi podataka
Int
Float
Complex
Boolean
String
List
Tuple
Set
Dict
Numerički tipovi
Logički tip
Kolekcije
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
https://docs.python.org/3/index.htmlhttps://www.learnpython.org/https://www.tutorialspoint.com/python/index.htmhttps://www.w3schools.com/python/https://www.geeksforgeeks.org/python-programming-language/