ARHITEKTURA I ORGANIZACIJA RAČUNARA

Величина: px
Почињати приказ од странице:

Download "ARHITEKTURA I ORGANIZACIJA RAČUNARA"

Транскрипт

1 PLATFORMSKI BAZIRANO PROGRAMIRANJE Oznaka predmeta: Predavanje broj: 1 Nastavna jedinica: Nastavne teme: PBP PYTHON Uvod. Python Interactive Shell. Konvencije. Tipovi. Operatori. Konverzije. Kontrola toka. Naredbe. Petlje. Brojevi. Brisanje reference. Predavač: prof. dr Perica S. Štrbac, dipl. ing. Literatura: Steven Lott: "Functional Python Programming", Packt Publishing, 2015.

2 Python Pošto je Python nastao kombinacijom više programskih jezika, neki elementi kao liste, adresari,..., predstavljaju dobru sponu sa čistim funkcionalnim jezicima. Python je kreirao Guido van Rossum krajem osamdesetih i početkom devedesetih godina 20. veka u National Research Institute for Mathematics and Computer Science in the Netherlands. Python je izveden iz mnogih jezika (ABC, Modula-3, C, C++, Algol-68, SmallTalk, Unix shell,... Python je viši programski, interpreterski, interaktivni, objektno orijentisani jezik. Python je dizajniran da bude veoma čitljiv što povlači strog način pisanja njegovog koda (potrebno je malo vremena da se naviknete). Python se procesira u vreme izvršavanja od strane interpretera. Ne morate da prevodite program da biste ga posle izvršili. Jezik Python je i interaktivan u smislu da u samom Python promptu možete direktno pisati programe. Predavanje br. 1 2

3 Python Neke Python-ove karakteristike: Lak za učenje: relativno malo ključnih reči, jednostavna struktura i čista sintaksa. Lak za čitanje : Python-ov kod je predviđen da bude jasno definisan i veoma čitljiv. Lak za održavanje. Koristi standardne biblioteke tako da je kompatibilan za razne platforme: UNIX, Windows, Macintosh. Ima i interaktivni mod rada. Prenosivost: Python se može pokrenuti sa istim interfejsom na različitim hardverskim platformama. Proširivost različitim modulima niskog nivoa čime se može postići da alat koji se koristi bude efikasniji. Baze podataka: Python omogućuje interfejse ka svim značajnim komercijalnim bazama podataka. GUI programiranje. Python je i objektno orijentisan jezik tako da je omogućeno i lako održavanje velikih kodova. Predavanje br. 1 3

4 Python Skalabilnost: Python obezbeđuje dobru strukturu i podršku za velike programe. Python podržava metode funkcionalnog, strukturnog i OOP principa programiranja. Može se koristiti kao skript jezik ili za izradu velikih aplikacija. Python podržava automatsku dealokaciju (garbage collection). Može biti integrisan sa drugim jezicima. Omogućuje interaktivan inkrementalni razvoj i testiranje. Korišćenje Python-a. shell tools,system admin tools, command line programs extension-language work rapid prototyping and development graphical user interfaces database access distributed programming Internet scripting Predavanje br. 1 4

5 Python Trenutno su prisutne sledeće verzije Python-a. Python ili "CPython" (napisan u C/C++) "Jython" (napisan u programskom jeziku Java za JVM) "IronPython" (napisan u C# za.net okruženje) Okruženja koja se koriste za rad u Python-u: PyCharm PyDev with Eclipse Komodo Emacs Vim TextMate Gedit Idle PIDA (Linux)(VIM Based) NotePad++ (Windows) BlueFish (Linux) Predavanje br. 1 5

6 Python Python Interactive Shell: python Python (v3.5.0:374f501f4567, Sep , 02:27:37) [MSC v bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> Kada se dobije Python prompt (>>>) može se direktno pisati u Python-u. >>> 2+3*4 14 >>> name = "Pera" >>> name 'Pera' >>> print ("Hello ", name) Hello Pera >>> Predavanje br. 1 6

7 Python Python fajlovi imaju ekstenziju.py. Neka je sadržaj fajla test.py : print ("Hello, Python!"); Startovanje navedenog programa je kao što sledi (pretpostavka je da ste u PATH dodali navigaciju ka Python interpreteru): $ python test.py izlaz je: Hello, Python! Ako se skript test.py modifikuje tako da je sadržaj (naci python3): #!/usr/bin/python print ("Hello, Python!"); i ako je Python interpreter smešten u /usr/bin folderu. potrebno je učiniti test.py izvršnim fajlom kao što sledi: $ chmod +x test.py $./test.py Izlaz je: Hello, Python! Predavanje br. 1 7

8 Python Python je case-sensitive, dakle, razlikuje velika i mala slova. Ključne reči su: and exec not assert finally or break for pass class from print continue global raise def if return del import try elif in while else is with except lambda yield Predavanje br. 1 8

9 Python Konvencija za davanje imena je: Python unutar identifikatora ne dozvoljava interpunkcijske karaktere kao što $ i %. Ime klase počinje velikim slovom. Svi ostali identifikatori počinju malim slovom. Za indikaciju privatnog identifikatora navodi se jedna donja crta na početku identifikatora. Za indikaciju sprečavanja redefinisanja navode se dve vodeće donje crte. Ako se identifikator i završava sa dve donje crte onda se radi o jezikom definisanim specijalnim imenom. >>> name = "John" >>> name. len () # ili len(name) 4 >>> number = 10 >>> number. add (20) # ili number Linije i uvlačenje Python ne koristi velike zagrade za označavanje blokova koda. Predavanje br. 1 Blokovi koda su označeni uvlačenjem linije(a). 9

10 Python Uvučene linije jednog bloka koda moraju biti jednako uvučene. if True: print ("True") else: print ("False") ili npr. pogrešno: if True: print ("Answer") print ("True") else: print ("Answer") print "False" Predavanje br. 1 10

11 Python: primer koda import sys file_name="hm.py" file_finish="kraj"; file_text=""; try: # open file stream file = open(file_name, "w") except IOError: print ("There was an error writing to", file_name) sys.exit() print ("Enter:", file_finish, end=' ') print (" When finished.") while True: file_text = input("enter text: ") if file_text == file_finish: break file.write(file_text) file.write("\n") file.close() Predavanje br. 1 11

12 Python file_name = input("enter filename: ") if len(file_name) == 0: print ("Next time please enter something") sys.exit() try: file = open(file_name, "r") except IOError: print ("There was an error reading file") sys.exit() file_text = file.read() file.close() print (file_text) Pisanje linije koda u više redova (karakter za nastavak linije \): total = item_one + \ item_two + \ item_three Pisanje linije koda u više redova za slučaj []. {} ili () se tumači normalno: days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'] Predavanje br. 1 12

13 Python Python prihvata apostrofe, navodnike i trostruke apostrofe i trostruke navodnike za početak i kraj string literala. Trostruki se koriste za nastavak stringa u više redova. word = 'word' sentence = "This is a sentence." paragraph = """This is a paragraph. It is made up of multiple lines and sentences.""" Komentari u Python-u počinju sa heš znakom (#) koji nije unutar string literala. #!/usr/bin/python # First comment print ("Hello, Python!"); # second comment # This is a comment. # This is a comment, too. U interaktivnoj interpreterskoj sesiji za terminaciju naredbe u više redova mora se ubaciti jedna prazna linija. Predavanje br. 1 13

14 Python Čekanje na korisničku akciju: #!/usr/bin/python input("\n\npress the enter key to exit.") Korišćenjem ; moguće je pisati više naredbi u istoj liniji: >>> import sys; x = 'foo'; sys.stdout.write(x + '\n') foo 4 Višestruke naredbe se grupišu kao garnitura (suite). Složene naredbe kao if, while, def, class zahtevaju liniju zaglavlja i suite. if expression : suite elif expression : suite else : suite Opis prekidača i argumenata iz komandne linije može se dobiti: $ python -h Predavanje br. 1 14

15 Python:parsiranje argumenata komandne linije Parsiranje argumenata i opcija komandne linije omogućuje modul getopt. $ python test.py arg1 arg2 arg3 Python-ov modul sys omogućuje pristup argumentima komandne linije korišćenjem sys.argv. sys.argv predstavlja listu argumenata komandne linije. len(sys.argv) predstavlja broj argumenata komandne linije. Član indeksiran nulom sys.argv[0] je program odnosno naziv skripta. #!/usr/bin/python import sys print ('Number of arguments: ', len(sys.argv),' arguments.') print ('Argument List: ', str(sys.argv)) Poziv: $ python test.py arg1 arg2 arg3 Izlaz: Number of arguments: 4 arguments. Argument List: ['test.py', 'arg1', 'arg2', 'arg3'] Predavanje br. 1 15

16 Python:parsiranje argumenata komandne linije Metoda getopt.getopt se koristi kao što sledi: getopt.getopt(args, options[, long_options]) args: lista argumenata koja će biti parsirana. options: opcije kao prekidači koji se navode, ako opcija ima argument koristi se dvotačka kao delimiter (:). long_options: opcionalni parametar predstavljen listom stringova sa nazivima dugih (long) opcija. Duge opcije, koje zahtevaju argument razdvojene su znakom jednakosti (=). Ako se žele navesti samo duge opcije onda opcije moraju biti prazan string. Navedena metoda vraća vrednost koja je sastavljena od dva elementa: lista parova (opcija, vrednost) svaki par opcija-vrednost ima opciju kao prvi element ali sa prefiksom minus (npr. '-x') ili sa dva minusa za duge opcije (npr. '--long-option'). lista argumenata preostala nakon skidanja liste opcija. Predavanje br. 1 16

17 Python:parsiranje argumenata komandne linije Izuzetak getopt.getopterror se generiše kada se naiđe na nepoznatu opciju u listi argumenata ili kada nije naveden parametar za opciju koja zahteva argument. Argument izuzetka je string koji se odnosi na uzrok greške. Atributi msg i opt daju poruku o grešci i opciji. Npr. neka je format komandne linije kao što sledi: test.py -i <inputfile> -o <outputfile> i želi se da program reaguje kao što sledi: $ test.py -h usage: test.py -i <inputfile> -o <outputfile> $ test.py -i BMP -o usage: test.py -i <inputfile> -o <outputfile> $ test.py -i inputfile Input file is inputfile Output file is Predavanje br. 1 17

18 Python:parsiranje argumenata komandne linije #!/usr/bin/python import sys print ('Number of arguments:', len(sys.argv), 'arguments.') print ('Argument List:', str(sys.argv)) #!/usr/bin/python import sys, getopt def main(argv): inputfile = '' outputfile = '' try: opts, args = getopt.getopt(argv,"hi:o:",["ifile=","ofile="]) except getopt.getopterror as err: print ('usage: test.py -i <inputfile> -o <outputfile>') print (err.msg); print ("opcija je ",err.opt); sys.exit(2) for opt, arg in opts: if opt == '-h': print ('usage: test.py -i <inputfile> -o <outputfile>') sys.exit() elif opt in ("-i", "--ifile"): inputfile = arg elif opt in ("-o", "--ofile"): outputfile = arg print ('Input file is ', inputfile) print ('Output file is ', outputfile) if name == " main ": main(sys.argv[1:]) Predavanje br. 1 18

19 Python: dodeljivanje Dodeljivanje promenljivih: #!/usr/bin/python counter = 100 # An integer assignment miles = # A floating point name = "John" # A string print (counter) print (miles) print (name) Izlaz: John Višestruko dodeljivanje promenljivih: a = b = c = 1 a, b, c = 1, 2, "john" Standardni tipovi podataka su: brojevi, stringovi, liste, n-torke i rečnici (numbers, string, list, tuple, dictionary). Predavanje br. 1 19

20 Python: tipovi Brojevi u Python-u sadrže numeričke vrednosti: var1 = 1 Python podržava sledeće tipove brojeva: int (celi brojevi) float (floating point realne vrednosti) complex (kompleksni brojevi) kompleksni brojevi se sastoje od para realnih brojeva koji se prikazuju u obliku x + yj (x je realni deo a y imaginarni deo). >>> z=5-3j >>>print (z) #(5-3j) >>> import random >>> random.random() # slučajni float x, 0.0<=x<1.0, >>> random.uniform(1, 10) # slučajni float x, 1.0<=x<10.0, >>> random.randrange(10) # celi broj od 0 do 9, 7 >>> random.randrange(0, 101, 2) # celi paran broj od 0 do 100, 26 >>> random.choice('abcdefghij') # jedan slučajni element, 'c' >>> items = [1, 2, 3, 4, 5, 6, 7] >>> random.shuffle(items) >>> items #[7, 3, 2, 5, 6, 4, 1] >>> random.sample([1, 2, 3, 4, 5], 3) # tri uzorka, [4, 1, 5] Predavanje br. 1 20

21 Python: tipovi Ispis celog broja u binarnom formatu: >>> n = -37 >>> bin(n) '-0b100101' >>> n.bit_length() # bice 6 Ispis celog broja po bajtovima: >>> (1024).to_bytes(2, byteorder='big') #b'\x04\x00' >>> (1024).to_bytes(10, byteorder='big') b'\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00' >>> (-1024).to_bytes(10, byteorder='big', signed=true) b'\xff\xff\xff\xff\xff\xff\xff\xff\xfc\x00' >>> x = 1000 >>> x.to_bytes((x.bit_length() // 8) + 1, byteorder='little') b'\xe8\x03' Stringovi i podstringovi: str = 'Hello World!' print (str) # Hello World! print (str[0]) # H print (str[2:5]) # llo print (str[2:]) # llo World! print (str * 2) # Hello World!Hello World! print (str + "TEST") # Hello World!TEST Predavanje br. 1 21

22 Python: tipovi Liste u Python-u predstavljaju najsvestraniji tip podataka. Članovi liste su odvojeni zarezom unutar uglatih zagrada ([]). Članovi unutar liste mogu biti različitog tipa. Vrednosti pohranjene u listi mogu se dohvatiti korišćenjem slajs operatora ([ ] i [:]) sa indeksiranjem počevši od 0. Znak plus (+) je operator konkatenacije lista a znak zvezdica (*) predstavlja operator ponavljanja. Liste su izmenljive po veličini i sadržaju. #!/usr/bin/python list = [ 'abcd', 786, 2.23, 'john', 70.2 ] tinylist = [123, 'john'] print (list) # ['abcd', 786, 2.23, 'john', 70.2] print (list[0]) # abcd print (list[1:3]) # [786, 2.23] print (list[2:]) # [2.23, 'john', 70.2] print (tinylist * 2) # [123, 'john', 123, 'john'] print (list + tinylist) # ['abcd',786,2.23,'john',70.2,123, 'john'] Predavanje br. 1 22

23 Python: tipovi Python-ove n-torke (Tuples) se sastoje od elemenata koji su odvojeni zarezom i ograđeni malim zagradama. N-torke su read-only. #!/usr/bin/python tuple = ( 'abcd', 786, 2.23, 'john', 70.2 ) list = [ 'abcd', 786, 2.23, 'john', 70.2 ] tuple[2] = 1000 # Invalid syntax with tuple list[2] = 1000 # Valid syntax with list Rečnici (Dictionaries) u Python-u su tip hash tabele, dakle, radi se o ascijativnim ključ-vrednost parovima. Ključevi su obično stringovi ili brojevi, Vrednosti su proizvoljni tipovi. dict = {'Ime': 'Elvis', 'Rodjen': 1935, 'Oblast': 'R&R'}; Rečnici su ograđeni veliki zagradama ({ }) a vrednosti se dodeljuju i uzimaju korišćenjem uglatih zagrada ([]). >>> dict['ime'] >>> 'Elvis' Rečnici nemaju koncept uređenosti među elemenatima (neuređeni su). Predavanje br. 1 23

24 Python: konverzije tipova Funkcija Opis konverzije int(x [,base]) Iz x u integer (baza se navodi ako je x string). float(x) Iz x u float. complex(real [,imag]) Kreira kompleksan broj. str(x) Iz objekta x u string. repr(x) Iz objekta x u expression string. eval(str) Evaluira string i vraća objekat. tuple(s) Iz s u n-torku. list(s) Iz s u listu. set(s) Iz s u skup. dict(d) Kreiranje rečnika (d je sekvenca (key,value) parova). frozenset(s) Iz s u (frozen) skup. chr(x) Integer u karakter. ord(x) Karakter u njegovu integer vrednost. hex(x) Integer u heksadecimalni string. oct(x) Integer u oktalni string. Predavanje br. 1 24

25 Python: operatori Python podržava sledeće operatore: Aritmetički operatori (Arithmetic Operators) Relacioni operatori (Comparison (Relational) Operators) Operatori dodele (Assignment Operators) Logički operatori (Logical Operators) Operatori na novou bitova (Bitwise Operators) Operatori pripadnosti (Membership Operators) Operatori identiteta (Identity Operators) Aritmetički operatori: + sabiranje - oduzimanje * množenje / deljenje % ostatak pri deljenju ** eksponent (npr. 2**3=8) // celobrojno deljenje (npr. 9//2 = 4 and 9.0//2.0 = 4.0) Predavanje br. 1 25

26 Python: operatori Operatori poređenja: == jednakost!= nejednakost > veće < manje >= veće ili jednako <= manje ili jednako Operatori dodele: = c = a + b += c += a kao c = c + a -= c -= a kao c = c - a *= c *= a kao c = c * a /= c /= a kao c = c / a %= c %= a kao c = c % a **= c **= a kao c = c ** a //= c //= a kao c = c // a Predavanje br. 1 26

27 Python: operatori Bitwise operatori rade nad bitovima i izvršavaju bit po bit operacije. Neka je a = 60 i b = 13 Odgovarajući binarni prikaz i rezultata datih operacija je kao što sledi: a = b = a&b = a b = a^b = ~a = Operatori nad bitovima su kao što sledi: & bitski AND (a & b) 12 ( ) bitski OR (a b) 61 ( ) ^ bitski XOR (a ^ b) 49 ( ) ~ prvi komplement (~a ) -61 ( ) << Left Shift a <<= ( ) >> Right Shift a >>= 2 15 ( ) Predavanje br. 1 27

28 Python: operatori Logički operatori: and logičko AND true ako su oba true or logičko OR true ako je bar jedan true not logičko NOT negacija Operatori pripadnosti u Python-u testiraju pripadnost u sekvenci (string, lista, n-torka, rečnik, skup). Operatora pripadnosti su: in i not in. a = 10 b = 20 list = [1, 2, 3, 4, 5 ]; if ( a in list ): print ("Line 1 - a is available in the given list") else: print ("Line 1 - a is not available in the given list") if ( b not in list ): print ("Line 2 - b is not available in the given list") else: print ("Line 2 - b is available in the given list") a = 2 if ( a in list ): print ("Line 3 - a is available in the given list") else: print ("Line 3 - a is not available in the given list") Predavanje br. 1 28

29 Python: operatori Operatori identiteta proveravaju memorijske lokacije dva objekta: is proverava da li obe promenljive gledaju na isti objekt x is y je 1 ako je id(x) jednak id(y). is not suprotno od is. a = 20 b = 20 if ( a is b ): print ("Line 1 - same identity") else: print ("Line 1 - do not have same identity") if ( id(a) == id(b) ): print ("Line 2 - same identity") else: print ("Line 2 - do not have same identity") b = 30 if ( a is b ): print ("Line 3 - have same identity") else: print ("Line 3 - do not have same identity") if ( a is not b ): print ("Line 4 - do not have same identity") else: print ("Line 4 - a and b have same identity") >>> l1=[1] >>> l2=[1] >>> print(id(l1)==id(l2)) False >>> l1=[1] >>> l2=[1] >>> l2=l1 >>> print(id(l1)==id(l2)) True Predavanje br. 1 29

30 Python, prioritet opratora Prioritet operatora je kao što sledi ali je bolje koristiti zagrade kako bi se izbegli potencijalni bagovi: ** ~ + - * / % // + - >> << & ^ <= < > >= <> ==!= = %= /= //= -= += *= **= is is not in not in not or and Predavanje br. 1 30

31 Python: kontrola toka Za kontrolu toka Python razlikuje 0 i null sa jedne strane i nešto različito od 0 ili null sa druge strane. Primer naredbe if: var1 = 100 if var1: print ("1 - Got a true expression value") print (var1) var2 = 0 if var2: print ("2 - Got a true expression value") print (var2) print ("Good bye!") Primer naredbe if else var1 = 0 if var1: print ("1 - true expression value") print (var1) else: print ("2 - false expression value") print (var1) 1 - Got a true expression value 100 Good bye! 2 - false expression value 0 Predavanje br. 1 31

32 Python: kontrola toka Primer naredbe elif (trivijalno neoptimizovano): var = 100 if var == 200: print ("1 - Got a true expression value"); elif var == 150: print ("2 - Got a true expression value"); elif var == 100: print ("3 - Got a true expression value"); else: print ("4 - Got a false expression value"); Gnežđenje uslova (razmotrite slučajeve): var = 100 if var < 200: print ("Expression value is less than 200") if var == 150: print ("Which is 150") elif var == 100: print ("Which is 100") elif var < 50: print ("Expression value is less than 50") else: print ("Could not find true expression") print (var) print (var) print (var) print (var) Predavanje br. 1 32

33 Python: petlje Jedna naredba u suite-u: var = 100 if ( var == 100 ) : print ("Value of expression is 100") print ("Good bye!") Primer petlje while: count = 0 while (count < 9): print ('The count is:', count) count = count + 1 Primer beskonačne while petlje: var = 1 while var == 1 : # infinite loop num = int(input("enter a int number :")) print ("You entered: ", num) Primer kombinacije while i else: count = 0 while count < 5: print (count, " is less than 5") count = count + 1 else: print (count, " is not less than 5") Predavanje br. 1 33

34 Python: petlje Primer for petlje: for letter in 'Python': # slovo po slovo print ('Current Letter :', letter) fruits = ['banana', 'apple', 'mango'] for fruit in fruits: # clan po clan print ('Current fruit :', fruit) Primer for petlje po indeksu: fruits = ['banana', 'apple', 'mango'] for index in range(len(fruits)): print ('Current fruit :', fruits[index]) Primer kombinacije for petlje i else: for num in range(10,20): # od 10 do 19 for i in range(2,num): # trazi se delitelj if num%i == 0: # prvi faktor j=num/i # drugi factor print ('%d equals %d * %d' % (num,i,j)) break # probaj sledeci broj else: # else deo druge for petlje print (num, 'is a prime number') Predavanje br. 1 34

35 Python: petlje Gnežđenje petlji: i = 2 while(i < 100): j = 2 while(j <= (i/j)): if not(i%j): break j = j + 1 else : print (i, " is prime") i = i + 1 Prekid petlje pomoću break: for letter in 'Python': # break u for petlji if letter == 'h': break print ('Current Letter :', letter) var = 10 # break u while petlji while var > 0: print ('Current variable value :', var) var -= 1 if var == 5: break Predavanje br. 1 35

36 Python: prekid petlje Korišćenje continue za prelazak na sledeću iteraciju: for letter in 'Python': # continue u for petlji if letter == 'h': continue print ('Current Letter :', letter) var = 10 # continue u while petlji while var > 0: if var == 5: continue print ('Current variable value :', var) var = var -1 Korišćenje pass: for letter in 'Python': # pass u for petlji if letter == 'h': pass print ('This is pass block') print ('Current Letter :', letter) Current Letter : P Current Letter : y Current Letter : t This is pass block Current Letter : h Current Letter : o Current Letter : n Predavanje br. 1 36

37 Python: brisanje referenci Brojevi u Python-u su neizmenljivi (immutable) što znači da promena vrednosti tipa broj rezultira novim alociranim objektom. Objekti brojeva se kreiraju kada im se dodeli vrednost. var1 = 1 var2 = 10 Brisanje reference na brojeve radi naredba del: del var1[,var2[,var3[...,varn]]]] primer del var del var_a, var_b Brisanje reference na listu, skup, rečnik, n-torku se izvodi kao i za brojeve. Razmotrite sledeći kod: lista = [1,2,3] print(lista) tuple(lista) print(lista) del lista lista Predavanje br. 1 37

38 Python: skup Skup predstavlja kolekciju nepromenljivih vrednosti bez duplikata. Karakteristično je kao što sledi: len(s) kardinatlitet x in s pripadnost x not in s nepripadnost s.issubset(t) s<=t, podskup s.issuperset(t) s>=t, nadskup s.union(t) s t, unija s.intersection(t) s & t, presek s.difference(t) s - t, razlika s.symmetric_difference(t) s ^ t, skup ekskluzivnih elemenata gledano do na skupove s.copy() novi kopirani skup >>> A={1,2,3} >>> B={3,4,5} >>> C=A^B >>> D=A-B Predavanje br. 1 38

39 Python: skup Set podržava dok frozenset NE podržava sledeće: s.update(t) s = t, dodela unije s.intersection_update(t) s &= t, dodela preseka s.difference_update(t) s -= t, dodela razlike s.symmetric_difference_update(t) s ^= t, dodela ekskluzivnih elemenata do na skupove s.add(x) dodavanje elementa x s.remove(x) uklanjanje elementa; ako istog nema nastaje KeyError s.discard(x) uklanja element x ako postoji s.pop() uklanja i vraća prvi element iz s; ako je skup prazan nastaje KeyError s.clear() uklanjanje svih elemenata skupa >>> A={1,2,3} >>> B={3,4,5} Predavanje br. 1 >>> A.update(B) 39

PowerPoint Presentation

PowerPoint Presentation Python tutorijal - praktični primeri - Sadržaj: 1. Upoznavanje sa razvojnim okruženjem - Python proširenje (PTVS) za Visual Studio 2015 - Druga razvojna okruženja 2. Osnovi Python jezika - Sintaksa i konvencije

Више

Tutoring System for Distance Learning of Java Programming Language

Tutoring System for Distance Learning of Java Programming Language Deklaracija promenljivih Inicijalizacija promenljivih Deklaracija promenljive obuhvata: dodelu simboličkog imena promenljivoj i određivanje tipa promenljive (tip određuje koja će vrsta memorijskog registra

Више

Razvoj programa, Code::Blocks, struktura programa, printf, scanf, konverzioni karakteri predavač: Nadežda Jakšić

Razvoj programa, Code::Blocks, struktura programa, printf, scanf, konverzioni karakteri predavač: Nadežda Jakšić Razvoj programa, Code::Blocks, struktura programa, printf, scanf, konverzioni karakteri predavač: Nadežda Jakšić projektni zadatak projektovanje programa (algoritmi) pisanje programskog koda, izvorni kod,

Више

PROMENLJIVE, TIPOVI PROMENLJIVIH

PROMENLJIVE, TIPOVI PROMENLJIVIH PROMENLJIVE, TIPOVI PROMENLJIVIH Šta je promenljiva? To je objekat jezika koji ima ime i kome se mogu dodeljivati vrednosti. Svakoj promenljivoj se dodeljuje registar (memorijska lokacija) operativne memorije

Више

Tutoring System for Distance Learning of Java Programming Language

Tutoring System for Distance Learning of Java Programming Language Uvod u programiranje dr Ninoslava Savić Predavanja (3) sreda: 11:15 13:50 Učionica 16 Konsultacije sreda: 15 17 h Kabinet 43 Uvod u programiranje Fond časova: 3+3 Broj ESPB: 7 Ocena znanja (max. broj poena

Више

Microsoft PowerPoint - Programski_Jezik_C_Organizacija_Izvornog_Programa_I_Greske [Compatibility Mode]

Microsoft PowerPoint - Programski_Jezik_C_Organizacija_Izvornog_Programa_I_Greske [Compatibility Mode] Programski jezik C organizacija izvornog programa Prevođenje Pisanje programa izvorni program Prevođenje programa izvršni program Izvršavanje programa rezultat Faze prevođenja Pretprocesiranje Kompilacija

Више

Tutoring System for Distance Learning of Java Programming Language

Tutoring System for Distance Learning of Java Programming Language Obeležene petlje Obeležene petlje Obeležavanje petlje nekim identifikatorom omogućava da se programski tok usmeri na mesto u programu specificirano tim identifikatorom. Ako se iza naredbi break ili continue

Више

Microsoft Word - 02 Elementi programskog jezika Pascal

Microsoft Word - 02 Elementi programskog jezika Pascal Elementi programskog jezika Pascal Osnovni elementi jezika Osnovni simboli U programskom jeziku Pascal sve konstrukcije se grade od skupa osnovnih simbola jezika koji čine slova, cifre i specijalni znaci.

Више

Programiranje 2 0. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog2 2019, 0. predavanje p. 1/4

Programiranje 2 0. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog2 2019, 0. predavanje p. 1/4 Programiranje 2 0. predavanje Saša Singer singer@math.hr web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog2 2019, 0. predavanje p. 1/48 Sadržaj predavanja Ponavljanje onog dijela C-a koji

Више

Uvod u računarstvo 2+2

Uvod u računarstvo 2+2 Ulaz i izlaz podataka Ulaz i izlaz podataka Nakon odslušanog bit ćete u stanju: navesti sintaksu naredbi za unos/ispis znakova znakovnih nizova cijelih brojeva realnih brojeva jednostruke i dvostruke preciznosti

Више

Funkcije predavač: Nadežda Jakšić

Funkcije predavač: Nadežda Jakšić Funkcije predavač: Nadežda Jakšić do sada su korišćene "gotove" funkcije iz standardnih biblioteka (cin, cout...) one su pozivane iz main funkcije koja je glavna funkcija u programu jer izvršavanje programa

Више

Sveucilište u Zagrebu

Sveucilište u Zagrebu Proširivanje Pythona programskim jezicima C/C++ Ivo Majić Mentor: Doc. dr. sc. Domagoj Jakobović Sveučilište u Zagrebu Fakultet elektrotehnike i računarstva Ak. god. 2011/12 Ivo Majić (FER) Sveučilište

Више

Kombinatorno testiranje

Kombinatorno testiranje Kombinatorno testiranje Uvod Na ponašanje aplikacije utiče puno faktora, npr. ulazne vrednosti, konfiguracije okruženja. Tehnike kao što je podela na klase ekvivalencije ili analiza graničnih vrednosti

Више

Microsoft PowerPoint - Bitovi [Compatibility Mode]

Microsoft PowerPoint - Bitovi [Compatibility Mode] Оператори над битовима (Јаничић, Марић: Програмирање 2, тачка 5.6) Оператори за рад са појединачним битовима Само на целобројне аргументе: ~ битовска негација & битовска конјункција (и) битовска (инклузивна)

Више

Microsoft PowerPoint - Datoteke [Compatibility Mode]

Microsoft PowerPoint - Datoteke [Compatibility Mode] Датотеке стандардни улаз / излаз Датотека је именовани низ знакова (бајтова) У програмском језику C датотека је везана за улаз и излаз података функције стандардне библиотеке Најједностaвније

Више

Funkcije predavač: Nadežda Jakšić

Funkcije predavač: Nadežda Jakšić Funkcije predavač: Nadežda Jakšić funkcije delovi programa koji izvršavaju neki zadatak, celinu; dele na ugrađene, korisničke i main funkciju ugrađene funkcije printf,scanf... da bi se one izvršile potrebno

Више

Uvod u PHP

Uvod u PHP Uvod u PHP Marijan Šuflaj FER, 2018 Sadržaj PHP Općenito Sintaksa Osnove Kontrola toka Zadatci Resursi Općenito Naziv od PHP Hypertext Preprocessor Obično koristi ekstenziju.php Tipovi su dinamički Trenutno

Више

Grananje u programu predavač: Nadežda Jakšić

Grananje u programu predavač: Nadežda Jakšić Grananje u programu predavač: Nadežda Jakšić u okviru linijske strukture izvršavaju se sve naredbe u okviru razgranate strukture uvek se ispituje neki uslov; u zavisnosti od toga da li je uslov ispunjen

Више

PROGRAMIRANJE Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Algoritam je postupak raščlanjivanja problema na jednostavnije

PROGRAMIRANJE Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Algoritam je postupak raščlanjivanja problema na jednostavnije PROGRAMIRANJE Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Algoritam je postupak raščlanjivanja problema na jednostavnije korake. Uz dobro razrađen algoritam neku radnju ćemo

Више

Upitni jezik SQL

Upitni jezik SQL Šta je SQL? SQL (Structured Query Language) je jezik koji je Američki Institut za Nacionalne Standarde (ANSI - American National Standards Institute) prihvatio kao standardni jezik za relacione baze podataka.

Више

Tutoring System for Distance Learning of Java Programming Language

Tutoring System for Distance Learning of Java Programming Language Niz (array) Nizovi Niz je lista elemenata istog tipa sa zajedničkim imenom. Redosled elemenata u nizovnoj strukturi je bitan. Konkretnom elementu niza pristupa se preko zajedničkog imena niza i konkretne

Више

Microsoft Word - 11 Pokazivaci

Microsoft Word - 11 Pokazivaci Pokazivači U dosadašnjem radu smo imali prilike da koristimo promenljive koje smo deklarisali na početku nekog bloka. Prilikom deklaracije promenljiva dobija jedinstveni naziv i odgovarajući prostor u

Више

Microsoft Word - MySQL_3.doc

Microsoft Word - MySQL_3.doc 7. Data Manipulation Language (DML) Jezik za rad sa podacima (Data Manipulation Language (DML)) služi za umetanje, brisanje i ažuriranje podataka u bazi. 7.1. Umetanje novih redova u tabelu INSERT sintaksa

Више

I grupa 1. Napisati program koji izračunava i ispisuje zbir 4 najveća od pet brojeva unetih sa standardnog ulaza. ulaz izlaz Analiza: 1.

I grupa 1. Napisati program koji izračunava i ispisuje zbir 4 najveća od pet brojeva unetih sa standardnog ulaza. ulaz izlaz Analiza: 1. I grupa 1. Napisati program koji izračunava i ispisuje zbir 4 najveća od pet brojeva unetih sa standardnog ulaza. ulaz izlaz 3 2 1 4 5 14 Analiza: 1. Odredimo zbir svih 5 unesenih brojeva (i sačuvamo u

Више

Teorija skupova - blog.sake.ba

Teorija skupova - blog.sake.ba Uvod Matematika je jedan od najomraženijih predmeta kod većine učenika S pravom, dakako! Zapitajmo se šta je uzrok tome? Da li je matematika zaista toliko teška, komplikovana? Odgovor je jednostavan, naravno

Више

Slide 1

Slide 1 Funkcionalno programiranje Interoperabilnost jezika Scala i Java, 2019. Prevođenje u Java bajt kod Svi Java tipovi imaju ekvivalentan tip u jeziku Scala Većina Scala koda se direktno preslikava u odgovarajući

Више

PowerPoint Presentation

PowerPoint Presentation II Karakteristike C jezika Programski jezik C je viši programski jezik opšte namene. Tesno je povezan sa UNIX OS uz koji je razvijan. Razvio ga je Dennis Ritchie 1970 u Bell Telephone Laboratories, Inc.

Више

Microsoft PowerPoint - 11_JavaScript_1.ppt [Compatibility Mode]

Microsoft PowerPoint - 11_JavaScript_1.ppt [Compatibility Mode] Java Script dr Suzana Marković, dipl.ing. el. suzana.markovic@bss.edu.rs Programski jezici Kompajlerski jezici - programski kôd konvertuje se u mašinski pre nego što se i pokrene, što znači da će se ta

Више

Slide 1

Slide 1 OSNOVNI POJMOVI Naredba je uputa računalu za obavljanje određene radnje. Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Pisanje programa zovemo programiranje. Programski jezik

Више

Microsoft PowerPoint - 6. CMS [Compatibility Mode]

Microsoft PowerPoint - 6. CMS [Compatibility Mode] Visoka škola strukovnih studija za informacione i komunikacione tehnologije Beograd WEB TEHNOLOGIJE Drupal CMS(Content Managment System) Školska 2012/13. Marko M. Spasojević, spec. inž. Dr Nenad Kojić,

Више

Microsoft Word - Java_introduction_NEW_SYLLABUS.doc

Microsoft Word - Java_introduction_NEW_SYLLABUS.doc [Complete introduction into Java programming language] Syllabus Semestar, Godina Informacije o instruktoru Instruktor(i) Email Lokacija i dostupnost 1. Ime, prezime 2. Emir, Puška E-mail adresa emirpuska1988@gmail.com

Више

Microsoft PowerPoint - OOPpredavanja05 [Compatibility Mode]

Microsoft PowerPoint - OOPpredavanja05 [Compatibility Mode] OBJEKTNO ORIJENTISANO PROGRAMIRANJE PREDAVANJE 5 OBJEKTI U INTERAKCIJI Miloš Kovačević Đorđe Nedeljković 1 /25 OSNOVNI KONCEPTI - Abstrakcija - Modularizacija - Objektne reference - Klasni dijagram - Objektni

Више

Računarski praktikum I - Vježbe 03 - Implementacija strukture string

Računarski praktikum I - Vježbe 03 - Implementacija strukture string Prirodoslovno-matematički fakultet Matematički odsjek Sveučilište u Zagrebu RAČUNARSKI PRAKTIKUM I Vježbe 03 - Implementacija strukture string v2018/2019. Sastavio: Zvonimir Bujanović Stringovi u C-u String

Више

Microsoft Word - SYLLABUS -Dinamicki

Microsoft Word - SYLLABUS -Dinamicki Univerzitet UKSHIN HOTI PRIZREN Fakultet kompjuterskih nauka Nastava na bosanskom jeziku NASTAVNI PLAN - PROGRAM SYLLABUS Akademska Nivo studija Bachelor Departament god. PREDMET Dinamički sadržaj web

Више

PowerPoint Presentation

PowerPoint Presentation Java konkurentno programiranje Životni ciklus niti i problemi sinhronizacije resursa Multitasking Multithreading Životni ciklus niti http://www.roseindia.net/java/thread/lifecycle-of-threads.shtml Životni

Више

UVOD - OD JAVE DO C# ELEMENTARNE RAZLIKE Veliki broj Java/C# razlika su uglavnom preimenovane ključne reči i razlike u konvencijama imenovanja. Neke o

UVOD - OD JAVE DO C# ELEMENTARNE RAZLIKE Veliki broj Java/C# razlika su uglavnom preimenovane ključne reči i razlike u konvencijama imenovanja. Neke o UVOD - OD JAVE DO C# ELEMENTARNE RAZLIKE Veliki broj Java/C# razlika su uglavnom preimenovane ključne reči i razlike u konvencijama imenovanja. Neke od tih jezičkih razlika su: Java kod se prevodi u.class

Више

Programiranje 1 Beleške sa vežbi Školska 2007/2008 godina Matematički fakultet, Beograd Jelena Tomašević December 5, 2007

Programiranje 1 Beleške sa vežbi Školska 2007/2008 godina Matematički fakultet, Beograd Jelena Tomašević December 5, 2007 Programiranje 1 Beleške sa vežbi Školska 2007/2008 godina Matematički fakultet, Beograd Jelena Tomašević December 5, 2007 2 Sadržaj 1 Programski jezik C 5 1.1 Oblast važenja lokalnih promenljivih..........................

Више

Programiranje u C-u ili C++-u Pseudo-slučajni brojevi; Dinamička alokacija memorije 1 ZADACI SA ČASA Zadatak 1 Napraviti funkciju koja generišlučajan

Programiranje u C-u ili C++-u Pseudo-slučajni brojevi; Dinamička alokacija memorije 1 ZADACI SA ČASA Zadatak 1 Napraviti funkciju koja generišlučajan Programiranje u C-u ili C++-u Pseudo-slučajni brojevi; Dinamička alokacija memorije 1 ZADACI SA ČASA Zadatak 1 Napraviti funkciju koja generišlučajan realan broj od 0 i 1. Na standardni izlaz ispisati

Више

3.Kontrlne (upravlja~ke) strukture u Javi

3.Kontrlne (upravlja~ke) strukture u Javi Објектно орјентисано програмирање Владимир Филиповић vladaf@matf.bg.ac.rs Александар Картељ kartelj@matf.bg.ac.rs Низови у програмском језику Јава Владимир Филиповић vladaf@matf.bg.ac.rs Александар Картељ

Више

070-ALIP2-udzbenik.indb

070-ALIP2-udzbenik.indb 0. U uvodnom ćemo poglavlju ponoviti osnove programskog jezika C s kojima smo se susreli u. razredu. U kratkom pregledu navedeni su operatori (aritmetički, relacijski i logički), neke od funkcija iz biblioteka

Више

PHP kod

PHP kod PHP kod Fajl test.txt kreiran u Notepad-u Ugrađene funkcije u php-u fopen() otvara datoteku fclose() zatvara datoteku Primjer pokazuje kako se može najprije otvariti datoteka "test.txt" za čitanje, zatim

Више

P11.3 Analiza zivotnog veka, Graf smetnji

P11.3 Analiza zivotnog veka, Graf smetnji Поједностављени поглед на задњи део компајлера Међурепрезентација (Међујезик IR) Избор инструкција Додела ресурса Распоређивање инструкција Инструкције циљне архитектуре 1 Поједностављени поглед на задњи

Више

Algoritmi i arhitekture DSP I

Algoritmi i arhitekture DSP I Univerzitet u Novom Sadu Fakultet Tehničkih Nauka Katedra za računarsku tehniku i međuračunarske komunikacije Algoritmi i arhitekture DSP I INTERNA ORGANIACIJA DIGITALNOG PROCESORA A OBRADU SIGNALA INTERNA

Више

LAB PRAKTIKUM OR1 _ETR_

LAB PRAKTIKUM OR1 _ETR_ UNIVERZITET CRNE GORE ELEKTROTEHNIČKI FAKULTET STUDIJSKI PROGRAM: ELEKTRONIKA, TELEKOMUNIKACIJE I RAČUNARI PREDMET: OSNOVE RAČUNARSTVA 1 FOND ČASOVA: 2+1+1 LABORATORIJSKA VJEŽBA BROJ 1 NAZIV: REALIZACIJA

Више

Slide 1

Slide 1 predmet Inženjerska informatika Operativni sistem dr Anica Milošević Koji operativni sistemi postoje? Microsoft Windows Linux Suse Red Hat Ubuntu Unix 26.1.2018. 2 Šta je Windows operativni sistem? Operativni

Више

Microsoft PowerPoint - 13-Funkcije_2.ppt [Compatibility Mode]

Microsoft PowerPoint - 13-Funkcije_2.ppt [Compatibility Mode] Osnove programiranja Funkcije - Metode Prenos parametara Po vrednosti Po referenci Po izlazu Sadržaj Opseg važenja promenljive u drugim strukturama Rekurzije Prenos parametara Metoda može vratiti isključivo

Више

Microsoft Word - CAD sistemi

Microsoft Word - CAD sistemi U opštem slučaju, se mogu podeliti na 2D i 3D. 2D Prvo pojavljivanje 2D CAD sistema se dogodilo pre više od 30 godina. Do tada su inženjeri koristili table za crtanje (kulman), a zajednički jezik komuniciranja

Више

Microsoft PowerPoint - C-4-1

Microsoft PowerPoint - C-4-1 Pregled iskaza u C-u Izraz; Iskaz dodele, serijski komponovani iskaz; blok Uslovni iskazi i izrazi; složeno grananje Iterativni iskazi Iskaz dodele Promena vrednosti a = Ψ; Izračunava vrednost izraza Ψ,

Више

Računarski praktikum I - Vježbe 01 - Uvod

Računarski praktikum I - Vježbe 01 - Uvod Prirodoslovno-matematički fakultet Matematički odsjek Sveučilište u Zagrebu RAČUNARSKI PRAKTIKUM I Vježbe 01 - Uvod v2018/2019. Sastavio: Zvonimir Bujanović Gradivo i način polaganja Gradivo: osnove jezika

Више

Programiranje 1 5. predavanje dodatak Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2018, 5. predavanj

Programiranje 1 5. predavanje dodatak Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2018, 5. predavanj Programiranje 1 5. predavanje dodatak Saša Singer singer@math.hr web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2018, 5. predavanje dodatak p. 1/60 Sadržaj predavanja dodatka Primjeri

Више

** Osnovni meni

** Osnovni meni Instalacija serverske verzije Kataloga propisa Instalacija Kataloga propisa se vrši na sljedeći način: 1. Ubacite Instalacioni disk ili USB memoriju u računar. 2. Instalacioni program će se automatski

Више

Програмирај!

Програмирај! Листе Поред појединачних вредности исказаних бројем или ниском карактера, често је потребно забележити већи скуп вредности које су на неки начин повезане, као, на пример, имена у списку путника у неком

Више

Programiranje za UNIX Okruženje unix procesa

Programiranje za UNIX Okruženje unix procesa Programiranje za UNIX Okruženje unix procesa Sadržaj Memorijska slika UNIX procesa Argumenti naredbenog retka i varijable okruženja Životni ciklus procesa Izlazni status procesa 2 Memorijska slika UNIX

Више

KATUŠIĆ ANTONIO.pdf

KATUŠIĆ ANTONIO.pdf SVEUILIŠTE JOSIP JURAJ STROSSMAYER ELEKTROTEHNIKI FAKULTET OSIJEK Preddiplomski studij raunarstva PROGRAMSKI JEZIK RUBY ZAVRŠNI RAD Antonio Katuši OSIJEK, svibanj 2015. SVEUILIŠTE JOSIP JURAJ STROSSMAYER

Више

Primenjeno programiranje - vezbe GUI i baze podataka

Primenjeno programiranje - vezbe GUI i baze podataka Primenjeno programiranje - Vežbe Java i NetBeans IDE 6.5 Kreiranje korisničkog interfejsa Primer jednostavne aplikacije: 1. Odabrati opciju File > New Project 2. Meñu kategorijama odabrati Java i podkategoriju

Више

Microsoft PowerPoint - Programski_Jezik_C_Organizacija_Izvrsnog_Programa [Compatibility Mode]

Microsoft PowerPoint - Programski_Jezik_C_Organizacija_Izvrsnog_Programa [Compatibility Mode] Организација извршног програма (Марић, Јаничић: Програмирање 1, 9.3.3) Извршавање програма После успешног превођења (претпроцесирања, компилације, повезивања) програм може да се изврши Извршавање се захтева

Више

RAČUNARSKI SISTEM Ne postoji jedinstvena definicija pojma računarski sistem. Računarski sistem predstavlja skup mašina i pridruženih metoda (realizova

RAČUNARSKI SISTEM Ne postoji jedinstvena definicija pojma računarski sistem. Računarski sistem predstavlja skup mašina i pridruženih metoda (realizova RAČUNARSKI SISTEM Ne postoji jedinstvena definicija pojma računarski sistem. Računarski sistem predstavlja skup mašina i pridruženih metoda (realizovanih u obliku softvera) organizovanih radi vršenja automatske

Више

Univerzitet u Novom Sadu Tehnički fakultet Mihajlo Pupin Zrenjanin Seminarski rad Predmet: Konkuretno programiranje doc. dr Dejan Lacmanovic Zorica Br

Univerzitet u Novom Sadu Tehnički fakultet Mihajlo Pupin Zrenjanin Seminarski rad Predmet: Konkuretno programiranje doc. dr Dejan Lacmanovic Zorica Br Univerzitet u Novom Sadu Tehnički fakultet Mihajlo Pupin Zrenjanin Seminarski rad Predmet: Konkuretno programiranje doc. dr Dejan Lacmanovic Zorica Brkić SI 29/15 Zrenjanin 2018. Softversko inženjerstvo

Више

Microsoft Word - WP_kolokvij_2_rjesenja.doc

Microsoft Word - WP_kolokvij_2_rjesenja.doc Napomena WEB PROGRAMIRANJE I PRIMJENE DRUGI KOLOKVIJ vrijeme predviđeno za rješavanje kolokvija je 60 minuta kolokvij se sastoji od 15 pitanja, a ukupan broj bodova je 165 (uz svaki zadatak istaknut je

Више

Uvod u takmičarsko programiranje

Uvod u takmičarsko programiranje 8. čas Uvod u programiranje - naredbe ciklusa Uvežbavamo naredbe ciklusa, naredbe ponavljanja (loop) https://studio.code.org/s/course2/stage/6/puzzle/3 "Talk is cheap. Show me the code." - Linus Torvalds

Више

PowerPoint Presentation

PowerPoint Presentation SVEUČILIŠTE U ZAGREBU Fakultet prometnih znanosti Zavod za inteligentne transportne sustave Vukelićeva 4, Zagreb, HRVATSKA Računalstvo Operatori, pisanje izraza i osnove pseudokôda Izv. prof. dr. sc. Edouard

Више

Str. 0 Programiranje Priručnik Programiranje Zagreb, godina Ovo je djelo dano na korištenje pod licencom Creative Commons Imenovanje-Nekomercija

Str. 0 Programiranje Priručnik Programiranje Zagreb, godina Ovo je djelo dano na korištenje pod licencom Creative Commons Imenovanje-Nekomercija Str. 0 Priručnik Zagreb, 2018. godina Ovo je djelo dano na korištenje pod licencom Creative Commons Imenovanje-Nekomercijalno-Dijeli pod istim uvjetima 4.0 međunarodna. Str. 1 Sadržaj: SAŽETAK... 4 UVOD...

Више

PowerPoint Presentation

PowerPoint Presentation NAREDBE U PHP-U Naredbe if else elseif/else if while do-while for foreach break continue switch return require include require_once include_once goto If-else if (izraz) uradi 1 else uradi 2 ili if (izraz)

Више

Algoritmi SŠ P1

Algoritmi SŠ P1 Županijsko natjecanje iz informatike Srednja škola 9. veljače 2018. RJEŠENJA ZADATAKA Napomena: kodovi za većinu opisanih algoritama dani su u Pythonu radi jednostavnosti i lakše čitljivosti. Zbog prirode

Више

Fakultet tehničkih nauka, Novi Sad Predmet: ISIBP

Fakultet tehničkih nauka, Novi Sad Predmet: ISIBP Fakultet tehničkih nauka, Novi Sad Predmet: Informacioni sistemi i baze podataka dr Slavica Kordid Angelina Vujanovid Marina Nenid Marija Kukid Sistem ocenjivanja Ukupno: 100 bodova Teoretski deo (predavanja)

Више

Fortran

Fortran FORTRAN Uvod Računala su samo strojevi: neznaju ništa, ne razmišljaju ni o čemu, ali mogu izuzetnom brzinom i vrlo točno, slijediti precizno napisane upute. Takve upute moraju se napisati u posebnom jeziku

Више

Microsoft PowerPoint - JavaP9_2019

Microsoft PowerPoint - JavaP9_2019 Programski jezik JAVA PREDAVANJE 9 2019 www.etf.ac.me Datoteke u Javi U paketu java.io nalaze se klase za rad sa datotekama i direktorijumima. Funkcionalnost koju omogućavaju te klase sastoji se od kreiranja,

Више

01 SUBP

01 SUBP ER model šeme baze podataka: (Sef) (0, N) (0, N) RADNIK (0, 1) SEF (0, N) (Podredjeni) RUKOVODI RADI _NA (1, 1) (0, N) PROJEKAT Šema relacione baze podataka: RADNIK({Mbr, Prez, Ime, Sef, Plata, Datr},

Више

Programski jezik C

Programski jezik C SPR, 2016 Rad sa datotekama Komunikacija sa OS Rad sa datotekama Vrste datoteka Otvaranje / zatvaranje datoteka Pristup datotekama za upis / čitanje Funkcije za rad sa datotekama Ulazno / izlazni tokovi

Више

Uvod u računarstvo 2+2

Uvod u računarstvo 2+2 Datoteke nastavak Funkcija fgets Funkcija koja učitava podatke iz datoteke, liniju po liniju, je char *fgets(char *str, int n, FILE *fp); gdje su str pokazivač na dio memorije (string) u koji će ulazna

Више

PowerPoint Presentation

PowerPoint Presentation Programski jezici i strukture podataka UVOD Izvođači nastave Srđan Popov (JUG 215) Petar Marić (JUG 105) Milena Počuča (JUG 215) Milica Milutinović (JUG 215) Termini konsultacija naknadno Cilj vežbi Sticanje

Више

Pojačavači

Pojačavači Programiranje u fizici Prirodno-matematički fakultet u Nišu Departman za fiziku dr Dejan S. Aleksić Programiranje u fizici dr Dejan S. Aleksić, vanredni profesor Kabinet 307 (treći sprat), lab. za elektroniku

Више

PowerPointova prezentacija

PowerPointova prezentacija Uvod u programski jezik Python Zlatan Soldo dipl. ing. Geodetska tehnička škola Zagreb, ožujak 2014. 1 Nastao 1991. godine Zašto Python? Autor (inicijator): Guido van Rossum (National Research Institute

Више

Uvod u računarstvo 2+2

Uvod u računarstvo 2+2 Programiranje 2 doc.dr.sc. Goranka Nogo PMF Matematički odsjek, Zagreb Kontakt ured: 228, drugi kat e-mail: nogo@math.hr konzultacije: četvrtak, 12:00-14:00 petak, 11:00-12:00 neki drugi termin, uz prethodni

Више

Microsoft PowerPoint - PRI2014 KORIGOVANO [Compatibility Mode]

Microsoft PowerPoint - PRI2014 KORIGOVANO [Compatibility Mode] 1. Broj bitova koji se jednovremeno prenosi i obrađuje unutar procesora naziva se: a) radni takt b) procesorski kod c) procesorska reč d) procesorski takt 1. Broj bitova koji se jednovremeno prenosi i

Више

VEŽBA 5: KLASE I OBJEKTI U C# Cilj ove vežbe je upoznavanje sa osnovama rada sa klasama i objektima u programskom jeziku C#. Pored toga, bide demonstr

VEŽBA 5: KLASE I OBJEKTI U C# Cilj ove vežbe je upoznavanje sa osnovama rada sa klasama i objektima u programskom jeziku C#. Pored toga, bide demonstr VEŽBA 5: KLASE I OBJEKTI U C# Cilj ove vežbe je upoznavanje sa osnovama rada sa klasama i objektima u programskom jeziku C#. Pored toga, bide demonstrirana upotreba konstruktora, svojstava, metoda klase,

Више

PDO

PDO PDO Marijan Šuflaj FER, 2018 Sadržaj PDO Osnove Izvršavanje upita Ranjivosti Dohvaćanje rezultata upita PDO - PHP Data Objects Jednostavno i konzistetno sučelje za pristup bazama podataka iz PHP-a Isti

Више

Introduction to Programming

Introduction to  Programming Jezik Baze Podataka SQL SQL o Jezik koji se koristi u radu sa relacionim bazama podataka o Nije programski jezik i manje je kompleksan. o Koristi se isključivo u radu za bazama podataka. o SQL nije case

Више

Slide 1

Slide 1 Kako jednostavnije preći na višu verziju Formsa Ivan Lovrić, Vedran Latin 14.10.2009. Sadržaj prezentacije Predmet migracije Razlozi za migraciju Infrastruktura potrebna za migraciju Pilot migracija Migracija

Више

Programski jezici i strukture podataka 2018/2019. Programski jezici i strukture podataka Računarske vežbe vežba 10 Zimski semestar 2018/2019. Studijsk

Programski jezici i strukture podataka 2018/2019. Programski jezici i strukture podataka Računarske vežbe vežba 10 Zimski semestar 2018/2019. Studijsk Programski jezici i strukture podataka Računarske vežbe vežba 10 Zimski semestar 2018/2019. Studijski program: Informacioni inženjering Informacioni inženjering 1 Rekurzivne funkcije Binarna stabla Informacioni

Више

Microsoft PowerPoint - 01 Uvod u operativne sisteme.ppt

Microsoft PowerPoint - 01 Uvod u operativne sisteme.ppt Uvod u operativne sisteme v.as.mr. Samir Lemeš slemes@mf.unze.ba Univerzitet u Zenici 2009 Operativni sistemi i mreže: način realizacije vježbi Tokom semestra 3 periodična testa (Operativni sistemi, Mrežni

Више

Računarski praktikum I - Vježbe 11 - Funktori

Računarski praktikum I - Vježbe 11 - Funktori Prirodoslovno-matematički fakultet Matematički odsjek Sveučilište u Zagrebu RAČUNARSKI PRAKTIKUM I Vježbe 11 - Funktori v2018/2019. Sastavio: Zvonimir Bujanović Funkcijski objekti (funktori) Objekt klase

Више

Slide 1

Slide 1 SVEUČILIŠTE U MOSTARU FAKULTET STROJARSTVA I RAČUNARSTVA SUSTAVI BAZA PODATAKA Doc.dr.sc. GORAN KRALJEVIĆ SUSTAVI BAZA PODATAKA 1 Sustavi baza podataka Web: http://www.uni-mo.ba/~goran Pitanja, primjedbe,

Више

Strukture predavač: Nadežda Jakšić

Strukture predavač: Nadežda Jakšić Strukture predavač: Nadežda Jakšić složeni tip podatka; kolekcija promenljivih različitog tipa koje su sakupljene radi lakše manipulacije sintaksa: struct [oznakastrukture] navede { definicija člana strukture;

Више

Microsoft Word - 1. REALNI BROJEVI- formulice

Microsoft Word - 1. REALNI BROJEVI- formulice REALNI BROJEVI Skup prirodnih brojeva je N={1,2,3,4,,6,7, } Ako skupu prirodnih brojeva dodamo i nulu onda imamo skup N 0 ={0,1,2,3, } Skup celih brojeva je Z = {,-3,-2,-1,0,1,2,3, } Skup racionalnih brojeva

Више

Microsoft PowerPoint - 10-Jednodimenzionalni nizovi.ppt [Compatibility Mode]

Microsoft PowerPoint - 10-Jednodimenzionalni nizovi.ppt [Compatibility Mode] Osnove programiranja Nizovi Sadržaj Definicija niza Vrste i elementi nizova Deklarisanje nizova Dodele (početne) vrednosti nizovima Jednodimenzionalni nizovi Primeri dodele vrednosti Petlja foreach Nizovi

Више

LAB 4 - Binarni komparator

LAB 4 - Binarni komparator UNIVERZITET CRNE GORE ELEKTROTEHNIČKI FAKULTET STUDIJSKI PROGRAM: ELEKTRONIKA,TELEKOMUNIKACIJE I RAČUNARI PREDMET: PROJEKTOVANJE DIGITALNIH SISTEMA FOND ČASOVA: 3 + 0 + 1 LABORATORIJSKA VJEŽBA NAZIV: REALIZACIJA

Више

Apache Maven Bojan Tomić

Apache Maven Bojan Tomić Bojan Tomić tomicb@fon.rs Kako se pravi Java projekat (build) Osnovni koraci (skraćena procedura bez testiranja) 1)Preuzimanje *.java fajlova sa početne destinacije (obično src folder) 2)Preuzimanje odgovarajućih

Више

PowerPoint Presentation

PowerPoint Presentation Tehnička škola 9. maj Bačka Palanka Programiranje III razred Tok izvršavanja programa Tok izvršavanja programa Dosadašnji kod se izvršavao praktično linearno. Nije postojala nikakva uslovna ili brojačka

Више

Sveučilište u Zagrebu Fakultet prometnih znanosti Zavod za inteligentne transportne sustave Katedra za primijenjeno računarstvo Vježba: #7 Kolegij: Ba

Sveučilište u Zagrebu Fakultet prometnih znanosti Zavod za inteligentne transportne sustave Katedra za primijenjeno računarstvo Vježba: #7 Kolegij: Ba Sveučilište u Zagrebu Fakultet prometnih znanosti Zavod za inteligentne transportne sustave Katedra za primijenjeno računarstvo Vježba: #7 Kolegij: Baze podataka Tema: Osnovna SELECT naredba Vježbu pripremili:

Више

Test ispravio: (1) (2) Ukupan broj bodova: 21. veljače od 13:00 do 14:00 Županijsko natjecanje / Osnove informatike Osnovne škole Ime i prezime

Test ispravio: (1) (2) Ukupan broj bodova: 21. veljače od 13:00 do 14:00 Županijsko natjecanje / Osnove informatike Osnovne škole Ime i prezime Test ispravio: () () Ukupan broj bodova:. veljače 04. od 3:00 do 4:00 Ime i prezime Razred Škola Županija Mentor Sadržaj Upute za natjecatelje... Zadaci... Upute za natjecatelje Vrijeme pisanja: 60 minuta

Више

ZIS

ZIS DIGITALNA FORENZIKA prof. dr Saša Adamović sadamovic@singidunum.ac.rs Forenzička istraga operativnih sistema Operativni sistem Pruža softversku platformu za pokretanje drugih programa. OS je odgovoran

Више

23. siječnja od 13:00 do 14:00 Školsko natjecanje / Osnove informatike Srednje škole RJEŠENJA ZADATAKA S OBJAŠNJENJIMA Sponzori Medijski pokrovi

23. siječnja od 13:00 do 14:00 Školsko natjecanje / Osnove informatike Srednje škole RJEŠENJA ZADATAKA S OBJAŠNJENJIMA Sponzori Medijski pokrovi 3. siječnja 0. od 3:00 do 4:00 RJEŠENJA ZADATAKA S OBJAŠNJENJIMA Sponzori Medijski pokrovitelji Sadržaj Zadaci. 4.... Zadaci 5. 0.... 3 od 8 Zadaci. 4. U sljedećim pitanjima na pitanja odgovaraš upisivanjem

Више

Писање и превођење модула

Писање и превођење модула Писање и превођење модула ЦИЉ Научити како се пишу и преводе модули. ИСХОД Након ове вежбе ћете моћи да: Напишете кернел модул са неколико могућности, укључујући параметре Приступите кернелу из вашег модула

Више

4. Веза између табела практичан рад 1. Повежите табеле Proizvodi и Proizvođači у бази података Prodavnica.accdb везом типа 1:N. 2. Креирајте табелу St

4. Веза између табела практичан рад 1. Повежите табеле Proizvodi и Proizvođači у бази података Prodavnica.accdb везом типа 1:N. 2. Креирајте табелу St 4. Веза између табела практичан рад 1. Повежите табеле Proizvodi и Proizvođači у бази података Prodavnica.accdb везом типа 1:N. 2. Креирајте табелу Stavke_računa која ће разрешити проблем везе типа N:N

Више

Programiranje 1 3. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2017, 3. predavanje p. 1/1

Programiranje 1 3. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2017, 3. predavanje p. 1/1 Programiranje 1 3. predavanje Saša Singer singer@math.hr web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2017, 3. predavanje p. 1/132 Sadržaj predavanja Osnovni tipovi podataka u računalu

Више

P1.2 Projektovanje asemblera

P1.2 Projektovanje asemblera ПРОЈЕКТОВАЊЕ АСЕМБЛЕРА Асемблер Модули асемблера 1 Дефинисање новог лингвистичког нивоа превођењем Потребан преводилац алат који преводи програм написан на једном језику (на једном лингвистичком нивоу)

Више

KDP

KDP Региони Региони Програмска парадигма за приступ критичној секцији Увођење посебне синтаксе за експлицитно означавање критичних секција Обезбеђивање међусобног искључивања процеса Условни критични регион

Више

PDF = Potencijalno destruktivan fajl

PDF = Potencijalno destruktivan fajl PDF = Potencijalno Destruktivan Fajl Filip Vlašić, NCERT Sadržaj O PDF formatu Struktura PDF dokumenta Rizici Ranjivosti Exploit - primjeri Zaštita O PDF formatu Portable Document Format, nastao 1993.

Више