8
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:

Programiranje - gimnazijakursumlija.files.wordpress.com · Programiranje Skup instrukcija (komandi) napisanih za rešavanje nekog problema na računaru naziva se PROGRAM. Pisanje

  • 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