programiranje 1 uvod u programski jezik python · viši programski jezici viši nivo apstrakcije od...

21
Programiranje 1 Uvod Univerzitet u Beogradu Elektrotehnički fakultet

Upload: others

Post on 29-Jan-2021

30 views

Category:

Documents


2 download

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/