8 LINQ upiti LINQ (Language Integrated Query upit integrisan u jezik) jeste skup mogućnosti koje jezik C# i Framework pružaju za pisanje strukturirani
|
|
- Емина Станојевић
- пре 5 година
- Прикази:
Транскрипт
1 8 LINQ upiti LINQ (Language Integrated Query upit integrisan u jezik) jeste skup mogućnosti koje jezik C# i Framework pružaju za pisanje strukturiranih upita za pretraživanje lokalnih kolekcija objekata i udaljenih izvora podataka, na način koji ne narušava bezbednost tipova. LINQ je uveden u verziji C# 3.0 i Framework 3.5. LINQ omogućava pretraživanje svake kolekcije koja implementira interfejs IEnumerable<T>, bez obzira na to da li je u pitanju niz vrednosti, lista ili XML DOM dokument, kao i udaljene izvore podataka, poput tabela na SQL Serveru. LINQ pruža prednosti i proveravanja ispravne upotrebe tipova u vreme prevođenja i dinamičkog sastavljanja upita. Ovo poglavlje opisuje arhitekturu LINQ-a i osnove pisanja upita. Svi osnovni tipovi su definisani u imenskim prostorima System.Linq i System.Linq.Expressions. Primeri u ovom i u naredna dva poglavlja ugrađeni su u interaktivnu alatku za izradu upita koja se zove LINQPad; možete je preuzeti na Uvod Osnovne jedinice podataka s kojima LINQ radi jesu sekvence i elementi. Sekvenca je svaki objekat koji implementira interfejs IEnumerable<T> a element je svaka stavka sekvence. U primeru koji sledi, niz names je sekvenca, a Tom, Dick i Harry su njeni elementi: string[] names = Tom, Dick, Harry ; Ovakvu sekvencu zovemo lokalna sekvenca zato što predstavlja lokalnu kolekciju objekata u memoriji. Operator za upit je metoda koja transformiše sekvencu. Tipičan operator za upit prihvata ulaznu sekvencu koju transformiše u izlaznu sekvencu. U klasi Enumerable u imenskom prostoru System.Linq, postoji oko 40 operatora za upite a svi su implementirani u obliku statičkih proširenih metoda. To su standardni operatori za upite. 307
2 Upiti koji pretražuju lokalne sekvence zovu se lokalni upiti ili LINQ-to-object upiti. LINQ podržava i sekvence koje se mogu dinamički popunjavati iz određenog udaljenog izvora podataka kao što SQL baza podataka. Te sekvence dodatno implementiraju interfejs IQueryable<T> i podržane su pomoću odgovarajućeg standardnog skupa operatora za upite u klasi Queryable. To ćemo detaljnije razmotriti u odeljku Interpretirani upiti, na strani 332 ovog poglavlja. Upit je izraz koji, kada je nabrojen, transformiše sekvence pomoću operatora za upite. Najjednostavniji upit se sastoji od jedne ulazne sekvence i jednog operatora. Na primer, operator Where možemo primeniti na jednostavan niz da bismo iz njega izdvojili elemente koji sadrže barem četiri znaka, na sledeći način: string[] names = Tom, Dick, Harry ; IEnumerable<string> filterednames = System.Linq.Enumerable.Where (names, n => n.length >= 4); foreach (string n in filterednames) Console.WriteLine (n); Dick Harry Pošto su standardni operatori za upite implementirani u obliku proširenih metoda, metodu Where možemo pozvati direktno za objekat names isto kao da je to metoda instance: IEnumerable<string> filterednames = names.where (n => n.length >= 4); Da bi to moglo da se kompajlira, morate uvesti imenski prostor System.Linq. Evo kako izgleda kompletan primer: using System; using System.Collections.Generic; using System.Linq; class LinqDemo static void Main() string[] names = Tom, Dick, Harry ; IEnumerable<string> filterednames = names.where (n => n.length >= 4); foreach (string name in filterednames) Console.WriteLine (name); Dick Harry Kôd bismo mogli još skratiti ako za promenljivu filterednames zadamo implicitno određivanje tipa: var filterednames = names.where (n => n.length >= 4); Međutim, time smo umanjili razumljivost koda, naročito izvan integrisanog razvojnog okruženja, gde nema kratkih opisa koji bi nam pomogli. U ovom poglavlju, izbegavaćemo implicitno određivanje tipa rezultata upita, osim na mestima gde je to obavezno (kao što ćemo videti u nastavku poglavlja, u odeljku Strategije za projekcije, na strani 330), ili kad je tip upita nebitan za sam primer. 308 Poglavlje 8: LINQ upiti
3 Većina operatora za upite prihvata lambda izraz kao argument. Lambda izraz olakšava razumevanje i formiranje upita. U našem primeru, lambda izraz je sledeći: n => n.length >= 4 Ulazni argument odgovara jednom ulaznom elementu. U ovom primeru, ulazni argument n predstavlja svako ime u nizu a tip mu je string. Operator Where zahteva da lambda izraz vraća vrednost tipa bool, koja ako je true, znači da taj element treba uključiti u izlaznu sekvencu. Potpis operatora Where izgleda ovako: public static IEnumerable<TSource> Where<TSource> (this IEnumerable<TSource> source, Func<TSource,bool> predicate) Sledeći upit izdvaja sva imena koja sadrže slovo a : IEnumerable<string> filterednames = names.where (n => n.contains ( a )); foreach (string name in filterednames) Console.WriteLine (name); // Harry Dosad smo upite sastavljali pomoću proširenih metoda i lambda izraza. Kao što ćemo uskoro videti, ta strategija pruža velike mogućnosti kombinovanja jer omogućava ulančavanje operatora za upite. U ovoj knjizi, to zovemo tečna sintaksa (engl. fluent syntax). 1 C# podržava i drugi oblik sintakse za pisanje upita, nazvan sintaksa izraza upita. Ovako izgleda naš prethodni upit napisan u obliku izraza za upit: IEnumerable<string> filterednames = from n in names where n.contains ( a ) select n; Tečna sintaksa i sintaksa za upite međusobno su komplementarne. U naredna dva odeljka detaljno razmatramo oba oblika. Tečna sintaksa Tečna sintaksa je fleksibilna i fundamentalna. U ovom odeljku opisujemo kako se operatori za upite mogu ulančavati da bi se formirali složeniji upiti i tako pokazati zbog čega su proširene metode važne za taj postupak. Opisujemo i kako treba formulisati lambda izraze za operator upita i uvodimo više novih operatora za upite. Ulančavanje operatora za upite U prethodom odeljku prikazali smo dva jednostavna upita, svaki s po jednim operatorom. Da biste sastavili složeniji upit, izrazu treba da dodate druge operatore, čime formirate lanac. Ilustracije radi, upit koji sledi izdvaja sva imena koja sadrže slovo a, sortira ih po dužini, a rezultat zatim pretvara u velika slova: using System; using System.Collections.Generic; using System.Linq; LINQ upiti class LinqDemo static void Main() string[] names = Tom, Dick, Harry, Mary, Jay ; IEnumerable<string> query = names 1. Izraz potiče iz rada autora Erika Evansa i Martina Faulera na temu tečnih interfejsa. Tečna sintaksa 309
4 .Where (n => n.contains ( a )).OrderBy (n => n.length).select (n => n.toupper()); foreach (string name in query) Console.WriteLine (name); JAY MARY HARRY Promenljiva n, u našem primeru, jeste privatna u svakom lambda izrazu. Identifikator n možemo upotrebiti višekratno iz istih razloga zbog kojih možemo višekratno upotrebiti identifikator c u sledećoj metodi: void Test() foreach (char c in string1 ) Console.Write (c); foreach (char c in string2 ) Console.Write (c); foreach (char c in string3 ) Console.Write (c); Where, OrderBy i Select su standardni operatori za upite koji se prevode u proširene metode klase Enumerable (ako uvezete imenski prostor System.Linq). Već smo uveli operator Where, koji formira filtriranu verziju ulazne sekvence. Operator OrderBy vraća sortiranu verziju svoje ulazne sekvence, a metoda Select vraća izlaznu sekvencu u kojoj je svaki ulazni element transformisan ili projektovan pomoću zadatog lambda izraza (n.toupper(), u ovom slučaju). Podaci teku lancem operatora sleva nadesno, tako da se podaci prvo filtriraju, zatim sortiraju, a onda projektuju. Operator upita nikad ne menja samu ulaznu sekvencu, nego uvek vraća novu sekvencu. To je u skladu s modelom funkcionalnog programiranja, kojim je LINQ inspirisan. Ovako izgledaju potpisi pomenutih proširenih metoda (potpis metode OrderBy je neznatno pojednostavljen): public static IEnumerable<TSource> Where<TSource> (this IEnumerable<TSource> source, Func<TSource,bool> predicate) public static IEnumerable<TSource> OrderBy<TSource,TKey> (this IEnumerable<TSource> source, Func<TSource,TKey> keyselector) public static IEnumerable<TResult> Select<TSource,TResult> (this IEnumerable<TSource> source, Func<TSource,TResult> selector) Kada se operatori za upite ulančavaju kao u ovom primeru, izlazna sekvenca jednog operatora jeste ulazna sekvenca operatora koji mu sledi. Konačan rezultat liči na proizvodnu liniju s transportnim trakama, kao što ilustruje slika 8-1. Identičan upit možemo zadati i u obliku korak po korak, kao što sledi: // Da bi se ovo prevelo, morate uvesti imenski prostor System.Linq: IEnumerable<string> filtered = names.where (n => n.contains ( a )); IEnumerable<string> sorted = filtered.orderby (n => n.length); IEnumerable<string> finalquery = sorted.select (n => n.toupper()); 310 Poglavlje 8: LINQ upiti
5 n => n.contains ("a") n => n.length n => n.toupper() Tom Dick Harry Mary Jay Filtriranje Sortiranje Projektovanje.Where().OrderBy.Select JAY MARY HARRY Slika 8-1. Ulančavanje operatora upita. Upit finalquery je po sadržaju identičan upitu query koji smo ranije napisali. Osim toga, i svaki međukorak je ispravan upit koji možemo izvršiti: foreach (string name in filtered) Console.Write (name + ); // Harry Mary Jay Console.WriteLine(); foreach (string name in sorted) Console.Write (name + ); Console.WriteLine(); foreach (string name in finalquery) Console.Write (name + ); // Jay Mary Harry // JAY MARY HARRY Zbog čega su važne proširene metode Umesto sintakse s proširenim metodama, operatore za upite možete pozivati i pomoću standardne sintakse za statičke metode. Na primer: IEnumerable<string> filtered = Enumerable.Where (names, n => n.contains ( a )); IEnumerable<string> sorted = Enumerable.OrderBy (filtered, n => n.length); IEnumerable<string> finalquery = Enumerable.Select (sorted, n => n.toupper()); To je, zapravo, oblik u koji kompajler prevodi pozive proširenim metodama. Međutim, izbegavanje proširenih metoda ima svoju cenu, ako pokušavate da napišete upit koji se sastoji od samo jedne naredbe, kao što smo to ranije uradili. Vratimo se na upit kombinovan u jednoj naredbi prvo sa sintaksom pomoću proširene metode: IEnumerable<string> query = names.where (n => n.contains ( a )).OrderBy (n => n.length).select (n => n.toupper()); Njegov prirodan linearni oblik odražava tok podataka sleva nadesno i postavlja lambda izraze neposredno pored odgovarajućih operatora u upitu (infiksna notacija). Bez proširenih metoda, upit više nije tečan: IEnumerable<string> query = Enumerable.Select ( Enumerable.OrderBy ( Enumerable.Where ( names, n => n.contains ( a ) ), n => n.length ), n => n.toupper() ); LINQ upiti Tečna sintaksa 311
6 Kombinovanje lambda izraza U prethodnim primerima, operatoru Where prosledili smo sledeći lambda izraz: n => n.contains ( a ) // Ulazni tip=string, povratni tip=bool. Lambda izraz koji prihvata ulaznu vrednost i vraća tip bool zove se predikat. Svrha lambda izraza zavisi od konkretnog operatora za upite. Kada ga zadate uz operator Where, lambda izraz određuje da li element treba uključiti u izlaznu sekvencu. U slučaju operatora OrderBy, lambda izraz preslikava svaki element u ulaznoj sekvenci na njegovo mesto po ključu za sortiranje. Uz operator Select, lambda izraz određuje kako se svaki element ulazne sekvence transformiše pre nego što se umetne u izlaznu sekvencu. Lambda izraz pridružen operatoru za upite uvek deluje na pojedinačne elemente ulazne sekvence a ne na sekvencu kao celinu. Operator za upite izračunava vrednost lambda izraza na zahtev najčešće jedanput po elementu ulazne sekvence. Lambda izrazi omogućavaju da operatorima za upite prosleđujete vlastitu logiku. To čini operatore za upite vrlo raznovrsnim kao i jednostavnim ispod haube. Ovako izgleda kompletna implementacija metode Enumerable.Where, bez koda za obradu izuzetaka: public static IEnumerable<TSource> Where<TSource> (this IEnumerable<TSource> source, Func<TSource,bool> predicate) foreach (TSource element in source) if (predicate (element)) yield return element; Lambda izrazi i potpisi delegata Func Standardni operatori za upite koriste generičke delegate Func. Func je porodica generičkih delegata opšte namene u imenskom prostoru System koji su definisani za sledeću svrhu: Argumenti tipa u delegatu Func zadaju se istim redosledom kao i u lambda izrazima. Stoga Func<TSource,bool> odgovara lambda izrazu TSource=>bool: onom koji prihvata argument tipa TSource i vraća vrednost tipa bool. Slično tome, Func<TSource,TResult> odgovara lambda izrazu TSource=>TResult. Func delegati su nabrojani u odeljku Lambda izrazi, na strani 135 poglavlja 4. Lambda izrazi i tip elemenata Standardni operatori za upite koriste sledeća generička imena tipova: Generički tip TSource TResult TKey Značenje Tip elemenata ulazne sekvence Tip elemenata izlazne sekvence različit od Tsource Tip elemenata za ključ po kojem se elementi sortiraju, grupišu ili spajaju 312 Poglavlje 8: LINQ upiti
7 Tip TSource određuje ulazna sekvenca. Tipovi TResult i Tkey se najčešće izvode iz lambda izraza. Na primer, pogledajte potpis operatora Select: public static IEnumerable<TResult> Select<TSource,TResult> (this IEnumerable<TSource> source, Func<TSource,TResult> selector) Delegat Func<TSource,TResult> odgovara lambda izrazu TSource=>TResult: onom koji preslikava jedan ulazni element u jedan izlazni element. Pošto su TSource i TResult različiti tipovi, lambda izraz može da menja tip svakog elementa. Osim toga, lambda izraz određuje tip izlazne sekvence. Naredni upit pomoću operatora Select transformiše ulazne elemente tipa string u izlazne elemente celobrojnog tipa: string[] names = Tom, Dick, Harry, Mary, Jay ; IEnumerable<int> query = names.select (n => n.length); foreach (int length in query) Console.Write (length + ); // Kompajler izvodi tip TResult iz povratne vrednosti lambda izraza. U ovom slučaju, za TResult je izveden tip int. Operator za upite Where je jednostavniji i ne zahteva izvođenje tipa izlazne sekvence, pošto su ulazni i izlazni elementi istog tipa. To je logično jer taj operator samo filtrira elemente; on ih ne transformiše: public static IEnumerable<TSource> Where<TSource> (this IEnumerable<TSource> source, Func<TSource,bool> predicate) I najzad, razmotrite potpis operatora OrderBy: // Malo pojednostavljen: public static IEnumerable<TSource> OrderBy<TSource,TKey> (this IEnumerable<TSource> source, Func<TSource,TKey> keyselector) Func<TSource,TKey> preslikava jedan ulazni element u ključ za sortiranje. Tip TKey se izvodi iz lambda izraza nezavisno od tipova ulaznih i izlaznih elemenata. Na primer, listu imena mogli smo da sortiramo po dužini imena (ključ tipa int) ili alfabetskim redosledom (ključ tipa string): string[] names = Tom, Dick, Harry, Mary, Jay ; IEnumerable<string> sortedbylength, sortedalphabetically; sortedbylength = names.orderby (n => n.length); // ključ tipa int sortedalphabetically = names.orderby (n => n); // ključ tipa string Operatore za upite u klasi Enumerable možete pozivati i pomoću tradicionalnih delegata koji referenciraju metode umesto lambda izraza. Takvo rešenje je dobro za pojednostavljivanje određenih vrsta lokalnih upita naročito u slučaju LINQ u XML što je opisano u poglavlju 10. Međutim, nije upotrebljivo za sekvence koje implementiraju interfejs IQueryable<T> (na primer, kada pretražujete bazu podataka), zato što su operatorima definisani u interfejsu Queryable potrebni lambda izrazi da bi formirali stabla izraza. To ćemo razmotriti u nastavku poglavlja, u odeljku Interpretirani upiti, na strani 332. LINQ upiti Prirodni redosled U LINQ-u je značajan redosled elemenata ulazne sekvence. Neki operatori za upite, kao što su Take, Skip i Reverse, uzimaju u obzir taj redosled. Tečna sintaksa 313
8 Operator Take izdvaja prvih x elemenata ulazne sekvence, a ostale odbacuje: int[] numbers = 10, 9, 8, 7, 6 ; IEnumerable<int> firstthree = numbers.take (3); // 10, 9, 8 Operator Skip preskače prvih x elemenata i vraća sve preostale: IEnumerable<int> lasttwo = numbers.skip (3); // 7, 6 Reverse radi tačno ono što biste očekivali: IEnumerable<int> reversed = numbers.reverse(); // 6, 7, 8, 9, 10 U lokalnim upitima (LINQ-to-objects), operatori kao što su Where i Select zadržavaju izvorni redosled elemenata u ulaznoj sekvenci (kao što to čine i drugi operatori za upite, osim onih koji izričito menjaju redosled). Ostali operatori Ne vraćaju svi operatori za upite izlaznu sekvencu. Operatori nad elementima izdvajaju određeni element iz ulazne sekvence. Primeri toga su operatori First, Last i ElementAt: int[] numbers = 10, 9, 8, 7, 6 ; int firstnumber = numbers.first(); // 10 int lastnumber = numbers.last(); // 6 int secondnumber = numbers.elementat(1); // 9 int secondlowest = numbers.orderby(n=>n).skip(1).first(); // 7 Operatori za agregaciju (grupni) vraćaju skalarnu vrednost, najčešće numeričkog tipa: int count = numbers.count(); // 5; int min = numbers.min(); // 6; Kvantifikatori vraćaju vrednost tipa bool: bool hasthenumbernine = numbers.contains (9); // true bool hasmorethanzeroelements = numbers.any(); // true bool hasanoddelement = numbers.any (n => n % 2!= 0); // true Pošto ti operatori vraćaju po jedan element, s njihovim rezultatom najčešće ne možete dalje pozivati druge operatore za upite, osim kada je i sam rezultujući element kolekcija. Neki operatori za upite prihvataju dve ulazne sekvence. Primeri toga su operator Concat, koji nadovezuje jednu sekvencu na drugu, i operator Union, koji radi to isto, ali uklanja duplikate: int[] seq1 = 1, 2, 3 ; int[] seq2 = 3, 4, 5 ; IEnumerable<int> concat = seq1.concat (seq2); // 1, 2, 3, 3, 4, 5 IEnumerable<int> union = seq1.union (seq2); // 1, 2, 3, 4, 5 Operatori za spajanje sekvenci takođe pripadaju ovoj kategoriji. U poglavlju 9 detaljno su objašnjeni svi operatori za upite. Izrazi upita C# ima sintaksnu prečicu za pisanje LINQ upita, što se zove izraz upita. Nasuprot raširenom verovanju, izraz upita nije način da se SQL ugradi u C# kôd. Zapravo, dizajn izraza upita bio je inspirisan prvenstveno konceptom kombinovanja lista (engl. list comprehension) iz jezika za funkcionalno programiranje kao što su LISP i Haskell, mada je i SQL imao kozmetički uticaj. 314 Poglavlje 8: LINQ upiti
9 U ovoj knjizi, sintaksu za izraze upita nazivamo jednostavno sintaksa za upite. U prethodnom odeljku, napisali smo upit s tečnom sintaksom koji izdvaja znakovne nizove koji sadrže slovo a, sortira ih po dužini i pretvara u velika slova. Ovako izgleda isti upit u obliku sintakse za upite: using System; using System.Collections.Generic; using System.Linq; class LinqDemo static void Main() string[] names = Tom, Dick, Harry, Mary, Jay ; IEnumerable<string> query = from n in names where n.contains ( a ) // Filtrira elemente orderby n.length // Sortira elemente select n.toupper(); // Pretvara svaki element (projekcija) foreach (string name in query) Console.WriteLine (name); JAY MARY HARRY Izrazi upita uvek počinju odredbom from a završavaju se odredbom select ili group. Odredba from deklariše promenljivu opsega (u ovom slučaju, n), koju možete zamisliti kao način za pristupanje jednom po jednom elementu sekvence otprilike kao foreach. Slika 8-2 ilustruje kompletnu sintaksu u obliku šinskog dijagrama. Da biste čitali taj dijagram, krenite od levog kraja a zatim nastavite po određenom koloseku kao da ste voz. Na primer, iza obavezne odredbe from, možete opciono dodati odredbu orderby, where, let ili join. Iza toga, možete nastaviti do odredbe select ili group, ili se vratiti da biste dodali novu odredbu from, orderby, where, let ili join. Kompajler obrađuje izraz upita tako što ga prevodi u tečnu sintaksu. To radi na sasvim mehanički način vrlo slično načinu na koji naredbe foreach prevodi u pozive metoda Get Enumerator i MoveNext. To znači da sve što možete napisati u obliku izraza upita, možete napisati i u obliku tečne sintakse. Naš primer upita kompajler prevodi (prvo) u sledeći oblik: IEnumerable<string> query = names.where (n => n.contains ( a )).OrderBy (n => n.length).select (n => n.toupper()); LINQ upiti Izrazi upita 315
10 from identifikator ime tipa, orderby izraz in enumerable-izraz ascending descending nastavak upita SelectMany groupodredba fromodredba where boolean-izraz let identifier = izraz select izraz orderbyodredba identifikator into join-odredba group izraz by izraz join unutrašnji in unutrašnji on spoljni equals identifikator izraz ključ unutrašnji ključ into identifikator Slika 8-2. Sintaksa za upite. Operatore Where, OrderBy i Select zatim razrešava prema istim pravilima koja bi važila kada bi upit bio napisan u tečnoj sintaksi. U ovom slučaju, oni se pretvaraju u pozive odgovarajućih proširenih metoda klase Enumerable jer je uvezen imenski prostor System.Linq i sekvenca names implementira interfejs IEnumerable<string>. Međutim, kada prevodi izraze upita, kompajler nije posebno sklon klasi Enumerable. Možete ga zamisliti kako u naredbu prvo mehanički umeće reči Where, OrderBy i Select, a zatim prevodi rezultat kao da ste ta imena metoda vi napisali. To pruža veliku fleksibilnost u pogledu načina razrešavanja tih metoda. Na primer, upiti u baze podataka koje ćemo pisati u odeljcima koji slede, povezivaće se s proširenim metodama klase Queryable. Ako iz našeg programa uklonimo direktivu using System.Linq, upit se neće kompajlirati zato što metode Where, OrderBy i Select neće imati s čim da se povežu. Izrazi upita se ne mogu kompajlirati dok ne uvezete System.Linq ili drugi imenski prostor u kojem se nalazi implementacija tih metoda upita. 316 Poglavlje 8: LINQ upiti
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
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 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 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
ВишеMicrosoft PowerPoint - 6. Query Builder.pptx
Visokaškola strukovnihstudija za informacione i komunikacione tehnologije Query builder Query builder je sastavni deo Laravel framework-a koji pruža pouzdan interfejs za rad sa bazom podataka, kreiranje
Више8 2 upiti_izvjesca.indd
1 2. Baze podataka Upiti i izvješća baze podataka Na početku cjeline o bazama podataka napravili ste plošnu bazu podataka o natjecanjima učenika. Sada ćete izraditi relacijsku bazu u Accessu o učenicima
Више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
Више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
Више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
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
Више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
ВишеPowerPoint Presentation
Visoka škola strukovnih studija za informacione i komunikacione tehnologije MVC - Modeli Školska 2017/18. Dr Nenad Kojić, dipl. inž. Luka Lukić, struk. inž. Danijela Nikitin, spec.stuk.inž MVC.htaccess
ВишеMicrosoft PowerPoint - Programski_Jezik_C_Organizacija_Izvrsnog_Programa [Compatibility Mode]
Организација извршног програма (Марић, Јаничић: Програмирање 1, 9.3.3) Извршавање програма После успешног превођења (претпроцесирања, компилације, повезивања) програм може да се изврши Извршавање се захтева
Више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
Више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
ВишеПрограмирај!
Листе Поред појединачних вредности исказаних бројем или ниском карактера, често је потребно забележити већи скуп вредности које су на неки начин повезане, као, на пример, имена у списку путника у неком
Више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
ВишеMicrosoft PowerPoint - 12-Funkcije_1.ppt [Compatibility Mode]
Osnove programiranja Funkcije - Metode http://www.introprogramming.info/english-intro-csharp-book/read-online/ Sadržaj Funkcije Metode Definisanje Pozivanje Povratne vrednosti Parametri Metode (1) Metoda
Више3.Kontrlne (upravlja~ke) strukture u Javi
Објектно орјентисано програмирање Владимир Филиповић vladaf@matf.bg.ac.rs Александар Картељ kartelj@matf.bg.ac.rs Низови у програмском језику Јава Владимир Филиповић vladaf@matf.bg.ac.rs Александар Картељ
Више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
ВишеInženjering informacionih sistema
Fakultet tehničkih nauka, Novi Sad Inženjering informacionih sistema Dr Ivan Luković Dr Slavica Kordić Nikola Obrenović Milanka Bjelica Dr Jelena Borocki Dr Milan Delić UML UML (Unified Modeling 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ć projektni zadatak projektovanje programa (algoritmi) pisanje programskog koda, izvorni kod,
ВишеOsnovi programiranja Beleške sa vežbi Smer Računarstvo i informatika Matematički fakultet, Beograd Jelena Tomašević i Sana Stojanović November 7, 2005
Osnovi programiranja Beleške sa vežbi Smer Računarstvo i informatika Matematički fakultet, Beograd Jelena Tomašević i Sana Stojanović November 7, 2005 2 Sadržaj 1 5 1.1 Specifikacija sintakse programskih
ВишеMicrosoft PowerPoint - Topic04-Serbian.ppt
Tema 4 Osnovni koncepti za opis razvoja softvera DAAD Project Joint Course on Software Engineering Humboldt University Berlin, University of Novi Sad, University of Plovdiv, University of Skopje, University
Више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:
ВишеIntroduction to Programming
SQL Podupiti o Podupit je upit unutar upita Mogućnosti podupita o Ima zadatak da razloži komplesnu logiku o Mozemo da prikažemo podatke koje nam where klauzula ne bi dozvolila, to se pre svega odnosi na
Више1
Podsetnik: Statističke relacije Matematičko očekivanje (srednja vrednost): E X x p x p x p - Diskretna sl promenljiva 1 1 k k xf ( x) dx E X - Kontinualna sl promenljiva Varijansa: Var X X E X E X 1 N
Више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
ВишеP11.3 Analiza zivotnog veka, Graf smetnji
Поједностављени поглед на задњи део компајлера Међурепрезентација (Међујезик IR) Избор инструкција Додела ресурса Распоређивање инструкција Инструкције циљне архитектуре 1 Поједностављени поглед на задњи
Више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
Више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
Више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
Више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
Више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
ВишеDijagrami sekvenci
Dijagrami sekvenci Izrada dijagrama sekvenci Dijagram sekvenci koristi se za specifikaciju vremenskih zahteva u opisu složenih scenarija opis toka poruka između objekata kojima se realizuje odgovarajuća
ВишеОрт колоквијум
II колоквијум из Основа рачунарске технике I - 27/28 (.6.28.) Р е ш е њ е Задатак На улазе x, x 2, x 3, x 4 комбинационе мреже, са излазом z, долази четворобитни BCD број. Ако број са улаза при дељењу
Више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,
ВишеMicrosoft PowerPoint - 07-DinamickeStrukturePodataka
Динамичке структуре података листа, стек, ред Програмирање 2: глава 6 Динамичке структуре података Динамичка алокација и динамичке структуре података Најзначајније динамичке структуре података листе и
ВишеIntroduction to Programming
SQL Indeksi Uloga Indeksa o Kako baza postaje sve veća dizajn baze postaje sve važniji o Indeksi igraju značajnu ulogu u brzini rada same baze jer pomažu DBMS da brže pronađe ono što tražimo o Slični su
ВишеPHP proširenja za rad sa bazama podataka Postoje pojedinačna proširenja za različite tipove baza podataka sa svojim bibliotekama funkcija npr. postoji
PHP proširenja za rad sa bazama podataka Postoje pojedinačna proširenja za različite tipove baza podataka sa svojim bibliotekama funkcija npr. postoji podrška za IBM DB2, Oracle, Ingres, MySQL, PostgreSQL,
ВишеRačunarski praktikum I - Vježbe 09 - this, static
Prirodoslovno-matematički fakultet Matematički odsjek Sveučilište u Zagrebu RAČUNARSKI PRAKTIKUM I Vježbe 09 - this, static v2018/2019. Sastavio: Zvonimir Bujanović Pokazivač this Kako funkcija članica
ВишеBaza podataka
Baza podataka Marijan Šuflaj FER, 2018 Sadržaj Baza podataka Upravljanje sadržajem baza CREATE TABLE ALTER TABLE DROP TABLE INSERT SELECT Spajanje tablica UPDATE DELETE Baza podataka Apstrakcija pohrane
ВишеMicrosoft PowerPoint - Bitovi [Compatibility Mode]
Оператори над битовима (Јаничић, Марић: Програмирање 2, тачка 5.6) Оператори за рад са појединачним битовима Само на целобројне аргументе: ~ битовска негација & битовска конјункција (и) битовска (инклузивна)
Више03 SUBP
Osnovni SQL tipovi podataka Tip podataka NUMBER(p,s) Opis Broj sa maksimalno p cifara od kojih je s maksimalni broj decimala (1 < p < 38) (- 84 < s < 127) VARCHAR2(s) Promenjivi niz karaktera maksimalne
Више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
ВишеELEKTROTEHNIČKI FAKULTET, UNIVERZITET U BEOGRADU KATEDRA ZA ELEKTRONIKU UVOD U ELEKTRONIKU - 13E041UE LABORATORIJSKA VEŽBA Primena mikrokontrolera
ELEKTROTEHNIČKI FAKULTET, UNIVERZITET U BEOGRADU KATEDRA ZA ELEKTRONIKU UVOD U ELEKTRONIKU - 13E041UE LABORATORIJSKA VEŽBA Primena mikrokontrolera CILJ VEŽBE Cilj ove vežbe je da se studenti kreiranjem
ВишеSELECT statement basic form
NAZIV OBJEKTA ZNANJA Uvod u JQuery PROLOG Autor * Katarina Kaplarski Klasifikacija * Težina * Osnovni nivo Ključne reči * Ko sluša * Student OAS Trajanje * Komentari autora SADRŽAJ Apstrakt Cilj * Uvodne
Више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
Више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;
Више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
ВишеОрт колоквијум
Испит из Основа рачунарске технике - / (6.6.. Р е ш е њ е Задатак Комбинациона мрежа има пет улаза, по два за број освојених сетова тенисера и један сигнал који одлучује ко је бољи уколико је резултат
Више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
ВишеPowerPoint Presentation
Visoka škola strukovnih studija za informacione i komunikacione tehnologije Grupisanje ruta i patterni Školska 2017/18. Dr Nenad Kojić, dipl. inž. Luka Lukić, struk. inž. Danijela Nikitin, spec.stuk.inž
ВишеP2.1 Formalne gramatike
Превођење Полазни језик? Одредишни језик 1 Превођење Полазни језик? Одредишни језик Како знање неког језика стиче и складишти човек, а како рачунар? 2 Два аспекта језика Синтакса Семантика значење То су
ВишеRačunarski praktikum I - Vježbe 07 - Podstrukture, const, reference
Prirodoslovno-matematički fakultet Matematički odsjek Sveučilište u Zagrebu RAČUNARSKI PRAKTIKUM I Vježbe 07 - Podstrukture, const, reference v2018/2019. Sastavio: Zvonimir Bujanović Podstrukture Član
ВишеPowerPoint Presentation
УВОД Дa би рaчунaри нa мрежи могли међусобно да кoмуницирaју и рaзмeњују пoдaткe, пoтрeбнo je: дa сe увeду ПРOТOКOЛИ (утврђeна прaвилa и процедуре за комуникацију) да постоје АДРEСE кoje су jeдинствeнe
Више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
Више1. OPĆE INFORMACIJE 1.1. Naziv kolegija Programiranje 1.6. Semestar Nositelj kolegija dr.sc. Bruno Trstenjak, v. pred Bodovna vrijednost
1. OPĆE INFORMACIJE 1.1. Naziv kolegija Programiranje 1.6. Semestar. 1.. Nositelj kolegija dr.sc. Bruno Trstenjak, v. pred. 1.7. Bodovna vrijednost (ECTS) 7 1.3. Suradnici 1.8. Način izvođenja nastave
Више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
ВишеP9.1 Dodela resursa, Bojenje grafa
Фаза доделе ресурса Ова фаза се у литератури назива и фазом доделе регистара, при чему се под регистрима подразумева скуп ресурса истог типа. Додела регистара променљивама из графа сметњи се обавља тзв.
Више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ć,
ВишеSlide 1
Катедра за управљање системима ТЕОРИЈА СИСТЕМА Предавањe 2: Основни појмови - систем, модел система, улаз и излаз UNIVERSITY OF BELGRADE FACULTY OF ORGANIZATIONAL SCIENCES План предавања 2018/2019. 1.
ВишеUputstva za oblikovanje doktorske disertacije
Прилог 4. Упутства за обликовање докторске дисертације Докторски рад пише се на српском језику или на другом језику, у складу са Законом, и садржи упоредну насловну страну, проширени резиме (до 4 стране)
ВишеClassroom Expectations
АТ-8: Терминирање производно-технолошких ентитета Проф. др Зоран Миљковић Садржај Пројектовање флексибилних ; Математички модел за оптимизацију флексибилних ; Генетички алгоритми у оптимизацији флексибилних
ВишеProgramiranje 2 popravni kolokvij, 15. lipnja Ime i prezime: JMBAG: Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanj
Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanje, te službeni šalabahter. Kalkulatori, mobiteli, razne neslužbene tablice, papiri i sl., nisu dozvoljeni! Sva rješenja napišite
ВишеКласе комбинација презентације (Хортона) и к о бајаги скрипте (Ово је прича коју врло радо причам) нови тип података: дефинишу могуће вредности подата
Класе комбинација презентације (Хортона) и к о бајаги скрипте (Ово је прича коју врло радо причам) нови тип података: дефинишу могуће вредности података и операције над њима Дефиниција класе садржи само
Више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
ВишеProgramiranje II Beleške sa vežbi Smer Informatika Matematički fakultet, Beograd Sana Stojanović 1
Programiranje II Beleške sa vežbi Smer Informatika Matematički fakultet, Beograd Sana Stojanović 1 Sadržaj 1 Pokazivači - ponavljanje 3 2 Pokazivači - veza sa nizovima 5 2 1 Pokazivači - ponavljanje 1.
ВишеZADACI ZA VEŽBU 1. Realizovati konzolnu aplikaciju koja će računati površinu kvadrata, pravougaonika ili trougla. 2. Preko konzole se unosi ocena od 1
ZADACI ZA VEŽBU 1. Realizovati konzolnu aplikaciju koja će računati površinu kvadrata, pravougaonika ili trougla. 2. Preko konzole se unosi ocena od 1 do 5. Obezbediti ispis uspeha za unetu ocenu (1=nedovoljan,
ВишеPowerPoint Presentation
Објектно орјентисано програмирање Владимир Филиповић vladaf@matf.bg.ac.rs Александар Картељ kartelj@matf.bg.ac.rs Сопствени пакети и унутрашње класе Владимир Филиповић vladaf@matf.bg.ac.rs Александар Картељ
Више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
ВишеУвод у организацију и архитектуру рачунара 1
Увод у организацију и архитектуру рачунара 2 Александар Картељ kartelj@matf.bg.ac.rs Напомена: садржај ових слајдова је преузет од проф. Саше Малкова Увод у организацију и архитектуру рачунара 2 1 Секвенцијалне
ВишеMicrosoft Word - Lekcija 11.doc
Лекција : Креирање графова Mathcad олакшава креирање x-y графика. Треба само кликнути на нови фајл, откуцати израз који зависи од једне варијабле, например, sin(x), а онда кликнути на дугме X-Y Plot на
ВишеIEP - Projekat 2018/2019
Elektrotehnički fakultet u Beogradu Katedra za računarsku tehniku i informatiku Predmet: Infrastruktura za elektronsko poslovanje SI3IEP Veb portal za tehničku podršku - projekat - Osnovni cilj projekta
ВишеProgramiranje 1 drugi kolokvij, 2. veljače Ime i prezime: JMBAG: Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanje,
Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanje, te službeni podsjetnik. Kalkulatori, mobiteli, razne neslužbene tablice, papiri i sl., nisu dozvoljeni! Sva rješenja napišite
Више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
ВишеUPITI NAD JEDNOM TABELOM 1. Izdvojiti šifre svih knjiga select K_SIF from K 2. Izdvojiti šifre knjiga iz tabele K uz imenovanje kolone select K_SIF as
UPITI NAD JEDNOM TABELOM 1. Izdvojiti šifre svih knjiga select K_SIF 2. Izdvojiti šifre knjiga iz tabele K uz imenovanje kolone select K_SIF as SIFRA_KNJIGE 3. Izdvojiti šifre knjiga i njihove naslove
ВишеRačunarski praktikum I - Vježbe 06 - Standard Template Library (2)
Prirodoslovno-matematički fakultet Matematički odsjek Sveučilište u Zagrebu RAČUNARSKI PRAKTIKUM I Vježbe 06 - Standard Template Library (2) v2018/2019. Sastavio: Zvonimir Bujanović pair pair je generička
ВишеUPUTE ZA OBLIKOVANJE DOKTORSKE DISERTACIJE Doktorska disertacija se piše na hrvatskom standardnom jeziku. Disertacija može biti napisana na nekom od s
UPUTE ZA OBLIKOVANJE DOKTORSKE DISERTACIJE Doktorska disertacija se piše na hrvatskom standardnom jeziku. Disertacija može biti napisana na nekom od svjetskih jezika (engleski, njemački itd.). Tekst disertacije
ВишеDrveta odlucivanja - algoritmi
Nenad Mitić Matematički fakultet nenad@matf.bg.ac.rs Uvod Algoritmi (Iterative Dichotomiser 3) C5.0 (Classification And Regression Trees) (CHi-squared Automatic Interaction Detection) Exhaustive (Quick,
ВишеBaza fakultet sadrži 3 tabele: tabela studenti sadrzi informacije o studentima Njeni atributi su: indeks indeks studenta (primarni kljuc) ime ime stud
Baza fakultet sadrži 3 tabele: tabela studenti sadrzi informacije o studentima indeks indeks studenta (primarni kljuc ime ime studenta prezime - prezime studenta napomena - napomena tabela predmeti sadrzi
Више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,
ВишеPRIRODNO MATEMATIČKI FAKULTET U NIŠU DEPARTMAN ZA RAČUNARSKE NAUKE Utorak, godine PRIJEMNI ISPIT IZ INFORMATIKE 1. Koja od navedenih ekste
PRIRODNO MATEMATIČKI FAKULTET U NIŠU DEPARTMAN ZA RAČUNARSKE NAUKE Utorak, 5.06.019. godine PRIJEMNI ISPIT IZ INFORMATIKE 1. Koja od navedenih ekstenzija se najčešće koristi za tekstualne datoteke? a)
Више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},
ВишеP1.2 Projektovanje asemblera
ПРОЈЕКТОВАЊЕ АСЕМБЛЕРА Асемблер Модули асемблера 1 Дефинисање новог лингвистичког нивоа превођењем Потребан преводилац алат који преводи програм написан на једном језику (на једном лингвистичком нивоу)
ВишеPrincipi softverskog inženjerstva O predmetu
Vežbe - IV nedelja Modeli baze podataka Dražen Drašković, asistent Elektrotehnički fakultet Univerziteta u Beogradu Potrebno je da: Razumete koncepte modela i njegovu svrhu Naučite kako se odnosi između
ВишеMicrosoft PowerPoint - 03-Slozenost [Compatibility Mode]
Сложеност алгоритама (Програмирање 2, глава 3, глава 4-4.3) Проблем: класа задатака истог типа Велики број различитих (коректних) алгоритама Величина (димензија) проблема нпр. количина података које треба
Више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 - Zadaci za samostalno vjezbanje 4.doc
Zadaci za samostalno vježbanje 4. Svi zadaci dati ovdje su takvi da se mogu uraditi korištenjem isključivo gradiva prva četiri predavanja i ranije stečenog predznanja na predmetu Osnove računarstva. Zvjezdicom
ВишеUvod u računarstvo 2+2
Pokazivači Pointeri Definicija pokazivača Pokazivač na tip je varijabla koja sadrži adresu varijable tipa tip. Definicija pokazivača: mem_klasa tip * p_var; Primjer: static int * pi; double *px; char*
Више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
ВишеPowerPoint Presentation
+ Fakultet organizacionih nauka Upravljanje razvojem IS MSc Ana Pajić Simović ana.pajic@fon.bg.ac.rs ANALIZA POSLOVNIH PROCESA BUSINESS PROCESS MANAGEMENT (BPM) PROCESS MINING + Business Process Management
Више12 Stanje
Projektovanje softvera (1) Ime i klasifikacija: (engl. State) objektni uzorak ponašanja Namena: omogućava objektu da pouzdano menja svoje ponašanje kada se menja njegovo unutrašnje stanje izgleda kao da
Више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 Ψ,
ВишеELEKTRONIKA
МИНИСТАРСТВО ПРОСВЕТЕ, НАУКЕ И ТЕХНОЛОШКОГ РАЗВОЈА РЕПУБЛИКЕ СРБИЈЕ ЗАЈЕДНИЦА ЕЛЕКТРОТЕХНИЧКИХ ШКОЛА РЕПУБЛИКЕ СРБИЈЕ ДВАДЕСЕТ ДРУГО РЕГИОНАЛНО ТАКМИЧЕЊЕ ЗАДАЦИ ИЗ ЕЛЕКТРОНИКЕ ЗА УЧЕНИКЕ ТРЕЋЕГ РАЗРЕДА
Више(Microsoft PowerPoint - 903_\216nidari\346_Java Persistence.pptx)
Java Persistence API (JPA) najbolje prakse Slavko Žnidarić Beta Tau Beta slavko.znidaric@btb.hr Vaš podatkovni sloj? Vaš šef, DBA ili klijent? Vi? Uzroci loših performansi Previše upita Spori upiti Loše
Више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
Више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
Више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.
Више