PowerPoint Presentation
|
|
- Радоје Видаковић
- пре 5 година
- Прикази:
Транскрипт
1 Објектно орјентисано програмирање Владимир Филиповић Александар Картељ
2 Класе и објекти у програмском језику Јава Владимир Филиповић Александар Картељ
3 Дефиниција класе у Јави 3/64 Цео Јава код се налази унутар класа. Једној класи одговара једна датотека са екстензијом.java. Назив класе и назив датотеке треба да буду исти. Класа се дефинише коришћењем кључне речи class. На пример, наредбом: class Duzina је дефинисана нова класа са називом Duzina, а блок (тј. кôд између витичастих заграда), који следи, описује каква је структура новонаправљене класе.
4 Дефиниција класе у Јави (2) 4/64 Синтаксни дијаграм за декларисање класа има следећи облик: Модификатор је резервисана реч која мења основно значење неке конструкције у Јави: <modifikator>::= public private protected abstract final static native strictfp synchronized transient volatile
5 Дефиниција класе у Јави (3) 5/64 Металингвистичка променљива pridruživanje oдређује из које класе је дата класа изведена, односно, да ли дата класа имплементира неке интерфејсе: Металингвистичка променљива ime може бити индентификатор или идентикатори раздвојени тачком, док је lista imena низ имена раздвојених зарезима:
6 Дефиниција класе у Јави (4) 6/64 Тело класе представља блок у којем се наводе разне декларације:
7 Класе у Јави поља 7/64 Постоји неколико врста променљивих: 1. поља - променљиве декларисане у самој класи представљају чланове-податке унутар класе, тј. описују атрибуте објекта који је примерак дате класе; 2. локалне променљиве - променљиве декларисане у телу метода или блоку; 3. формални аргументи - променљиве декларисане у заглављу метода. У даљем разматрању се концентришемо на променљиве чланове, тј. поља.
8 Класе у Јави поља (2) 8/64 Декларација поља се састоји од три компоненте: 1. модификатора (који се опционо појављују), 2. типа поља (тип) 3. и имена поља (идентификатор). Модификатори омогућују: да се подеси видљивост дате променљиве члана (тј. поља), да се одреди да ли се ради о променљивој примерка (инстанцној променљивој) или о класној (статичкој) променљивој, као и да ли вредност променљиве постаје непроменљива непосредно по креирању (финална тј. константна). У том смислу, разликују се: променљива примерка, класна променљива и константа.
9 Класе у Јави поља (3) 9/64 Променљиве примерка Сваки од креираних објеката дате класе садржи сопствени примерак те променљиве. Променљивој примерка се може приступити само ако се референцира примерак класе који садржи ту променљиву. Промена вредности једне променљиве примерка нема утицаја на остале. Пример. class Point extends GeometryObject { int x; int y;..
10 Класе у Јави поља (4) 10/64 Као што је раније истакнуто, компонентама објекта приступа се преко тзв. тачка-нотације То се односи и на инстанцне променљиве и на инстанцне методе Пример. Пример. prviobjekt.prom; prviobjekt.prom.stanje; prviobjekat.prom.stanje = true; tackaa.x = 23; int xkoord = tackaa.x; tackaa.y = 94; System.out.println(tackaA.x +, + tackaa.y);
11 Класе у Јави поља (5) 11/64 Класне променљиве Класа садржи само једну копију класне променљиве и та променљива је дељена међу свим објектима дате класе. Она постоји чак иако се не креира ниједан примерак дате класе. Она припада класи и њу могу сви да референцирају, а не само примерци дате класе. Класна променљива се декларише коришћењем модификатора static.
12 Класе у Јави поља (6) 12/64 class ClanPorodice { static String prezime= Jankovic ; // klasna promenljiva int uzrast; // instancna promenljiva. String ime; // instancna promenljiva ClanPorodice otac = new ClanPorodice( Nikola, 52); ClanPorodice sin = new ClanPorodice( Petar, 21); ClanPorodice prezime sin otac Jankovic uzrast ime 21 Petar 52 Nikola
13 Класе у Јави поља (7) 13/64 За приступ класној променљивој се користи тачка-нотација, при чему се као прималац поруке може користити: име класе или име неке инстанце класе. Препоручује се коришћење имена класе. Пример. class ClanPorodice { static String prezime = Jankovic ; String ime; int godine; и креиран примерак sin: ClanPorodice sin = new ClanPorodice(); Класној променљивој prezime можемо приступити на следеће начине: System.out.println( Porodicno prezime je: + sin.prezime); System.out.println( Porodicno prezime je: + ClanPorodice.prezime);
14 Класе у Јави поља (8) 14/64 Константе (финалне променљиве) Модификатор final дефинише да када једном променљива добије вредност није допуштена даља промена њене вредности. Може се примењивати и код класних и код инстанцних променљивих као и код локалних променљивих. Пример. final float STOPA = 2.3f; final boolean NETACNO = false; final int BROJ_STRANA = 200;
15 Класе у Јави this 15/64 У оквиру метода примерка или конструктора, променљива this представља референцу на сам тај објекат. Коришћењем this се може реферисати на ма које поље текућег објекта над којим се позива метод примерка или конструктор. Пример. { this.x =0; this.y=0; У претходном примеру се кључна реч this може изоставити.
16 Класе у Јави this (2) 16/64 Најчешћи разлог за коришћење ове променљиве је то што поље класе буде сакривено параметром метода или параметром конструктора. Пример. public void pomeri(int x, int y) { this.x =x; this.y=y; Овде је кључна реч this неопходна да подвуче разлику између инстанцних променљивих и параметара метода. Сваки од аргумента метода сакрива по једно поље објекта, тако да је унутар метода x ознака локалне копије првог аргумента. Да би се реферисало на поље x примерка класе Point, унутар метода се мора користити this.x.
17 Класе у Јави this (3) 17/64 Примери: У наредбама које следе се користи кључна реч this: t = this.a; // a -instancna promenljiva tekućeg objekta this.prvimetod(this); // poziva se metod return this; //vraća se tekući objekt iz metoda У неким од наведених случајева може се изоставити: t = a; prvimetod(this); У некима не може: return this;
18 18/64 Опсег важења променљиве је део програма у којем име променљиве може да се користи. Код локалних променљивих, опсег важења променљиве је блок у којем је дефинисана од места где је дефинисана. Пример. { Опсег важења променљиве int a=1; //ovde se može pozivati a, ali ne i b! { //ovde se može pozivati a, ali ne jos b! int b=2; // ovde se mogu pozivati a i b! // ovde se može pozivati a, ali ne i b! // ovde se ne mogu koristiti niti a, niti b!
19 19/64 Опсег важења променљиве (2) Класним променљивима се може приступати у сваком тренутку рада програма. Променљивима примерка се може приступати сво време док постоји објекат примерак дате класе. Пример. class Opseg { int n, probna = 10; void stampaprobnu() { n=probna; int probna = 30; System.out.println( Lokalna probna = +probna); Ако треба да се унутар метода приступи сакривеном пољу probna, то се постиже помоћу this.probna.
20 20/64 Класе у Јави - методи Методи се појављују у телу класе. Они садрже декларације локалних променљивих и друге Јава наредбе које се извршавају при позиву метода. Аргументи метода се наводе у заградама иза имена метода (број аргумената може бити нула). Приликом декларације метода у класи, наводи се тип аргумената. При позиву метода наводе се стварни аргументи.
21 Класе у Јави методи (2) 21/64 Метод је самостални блок кода који има име и својство вишеструке употребљивости. Параметри омогућавају да се унесу вредности у метод: ( ) Металингвистичка променљива blok је дефинисана у једној од претходних презентација.
22 Класе у Јави методи (3) 22/64 Метод може вратити вредност и онда је потребно навести тип повратне врености. Уколико метод не враћа вредност, његов тип је void. Повратна вредност из метода се враћа преко return наредбе: Синтакса израза је дефинисана на слајдовима претходне презентације.
23 Класе у Јави методи (4) 23/64 Методи могу бити: 1. инстанцни (метод примерка) 2. и класни (статички). Класни методи се не односе на инстанцне променљиве, тј. не мора постојати ни једна инстанца, а метод се може користити! У телу класног метода се не може реферисати на променљиве примерка дате класе, већ само на класне променљиве за дату класу. Метод main(string args[]), који је неопходан у апликацијама, је увек класни, јер пре његовог стартовања не постоји ни једна инстанца. Не прави се копија класног метода за сваку инстанцу, већ се он једанпут дефинише.
24 Класе у Јави методи (5) 24/64 Методи омогућавају да се дугачак код разбије у мање целине и на тај начин доприносе прегледности кода. Основна структура метода: povratni- tip imemetoda(arg1, arg2,,argn) { // Kod metoda Telo metoda Да би метод вратио вредност, мора имати бар једну наредбу return.
25 Класе у Јави методи (6) 25/64 Име метода заједно са типом и редоследом параметара чини потпис метода. Потпис два метода у класи мора бити различит, како би компајлер могао да одреди који метод се позива. povratni-tip imemetoda(arg1, arg2,,argn) { // Kod metoda Potpis metoda Приликом позива метода, на место формалних аргумената (параметара), наводе се стварни аргументи. Код навођења формалних аргумената, за сваки аргумент мора се навести тип аргумента.
26 Класе у Јави методи (7) 26/64 У наредбама у телу метода се могу користити четири потенцијална извора података: 1. формални аргументи метода, 2. инстанцне и класне променљиве, 3. локалне променљиве, дефинисане у телу метода и 4. вредности које враћу други методи који су позвани у текућем.
27 Преоптерећење метода 27/64 Дефинисање метода са истим именом, али различитим параметрима назива се преоптерећење метода. Пример. class Pravougaonik { int x1=0; int x2 = 0 int y1 = 0; int y2 = 0; Pravougaonik gradi(int x1, int y1, int x2, int y2) { this.x1 = x1; this.y1 = y1; this.x2 = x2; this.y2 = y2; return this;
28 Преоптерећење метода (2) 28/64 Pravougaonik gradi(point gorelevo, Point doledesno) { x1 = gorelevo.x; y1= gorelevo.y; x2 = doledesno.x; y2 = doledesno.y; return this; Pravougaonik gradi(point gorelevo, int l, int h){ x1 = gorelevo.x; y1 = gorelevo.y; x2 = gorelevo.x + l; y2 = gorelevo.y + h; return this; void printprav(){ System.out.println( Pravougaonik :[ (+x1+, +y1+ ),( +x2+, +y2+ )] );
29 Преоптерећење метода (3) 29/64 public static void main (String args[]){ Pravougaonik p = new Pravougaonik(); p.gradi(10,20, 30,40); p.printprav(); p.gradi(new Point(10,10), new Point(30,30)); p.printprav(); p.gradi (new Point (10,10), 20, 30); p.printprav();
30 30/64 Конструктор Приликом креирања конкретног примерка неке класе (преко оператора new), увек се позива конструктор те класе. Конструктор је метод класе који се позива приликом креирања новог примерка дате класе. Карактеристике конструктора: никад не враћа вредност његово име се поклапа са именом класе. Као и код осталих типова метода, типови и бројеви формалних параметара при декларацији и позиву се морају поклапати.
31 31/64 Конструктор (2) Уколико програмер није дефинисао конструктор за дату класу, преводилац позива подразумевани конструктор. Подразумевани конструктор: нема аргумената; иницијализује све инстанцне и класне променљиве на подразумеване вредности. Ако је програмер дефинисао бар један конструктор за дату класу, онда подразумевани конструктор више не постоји.
32 32/64 Конструктор (3) class Knjiga { String autor; String naslov; int brojstrana; Knjiga(String a, String n, int bs) { autor = a; naslov = n; brojstrana = bs; void stampapod() { System.out.println( Autor: +autor); System.out.println( Naslov: +naslov); System.out.println( Bro strana: +brojstrana); public static void main(string args[]) { Knjiga jedina; jedina = new Knjiga( Ivo Andric, Gospodjica, 257); jedina.stamppod();
33 Преоптерећење конструктора 33/64 Конструктори могу бити преоптерећени, исто као и остали методи. Ако постоји додатни конструктор, који има неке нове особине, у њему се може позвати већ постојећи конструктор употребом кључне речи this на следећи начин: this(arg1, arg2, );
34 34/64 Преоптерећење конструктора (2) class Knjiga2 { String autor; String naslov; int brojstrana; Knjiga2(String a, String n, int bs) { autor = a; naslov = n; brojstrana = bs; Knjiga2(String a, String n) { this( a, n, 200); Knjiga2(String a) { this( a, Gorski vijenac, 140); Knjiga2() { this( Njegos, Gorski vijenac, 140);
35 35/64 Преоптерећење конструктора (3) void stampapod() { System.out.println( Autor: +autor); System.out.println( Naslov: +naslov); System.out.println( Bro strana: +brojstrana); public static void main(string args[]) { Knjiga2 prva; prva = new Knjiga2( Ivo Andric, Gospodjica, 257); prva.stamppod(); Knjiga2 druga = new Knjiga2(); druga.stamppod(); prva = new Knjiga2( Dzordz Orvel ); prva.stamppod(); druga = new Knjiga2( Borislav Pekic, Atlantida ); druga.stamppod();
36 Копирајући конструктор Објекат чије унутрашње стање (тј. вредност неког поља) може да се промени назива се мутирајући објекат. У супротном се ради о немутирајућем објекту. Стога треба пажљиво радити са конструкторима мутирајућих објеката. Наиме, може се догодити да се, при извршавању конструктора, вредност поља новокреираног објекта постави тако да садржи вредност аргумента конструктора: У том случају стварни аргумент конструктора и поље новокреираног објекта постају везани и реферишу на исти објекат. Због тога промена објекта аргумента конструктора доводи до промене поља новокреираног објекта и обрнуто. 36/64
37 Копирајући конструктор (2) 37/64 class Line extends GeometryObject { Point a; Point b; Line( Point a, Point b ) { this.a = a; this.b = b; public static void main( String[] argskl ) { Point tackaa = new Point( 19, 20 ); Point tackab = new Point( 7, 52 ); Line linijaab = new Line( tackaa, tackab ); tackaa.setx(200); // ovde je doslo do promene vrednosti linijaab // sa [(19,20)-(7, 52)] na [(200,20)-(7, 52)] // iako nije radjeno sa linijaab, vec sa tackaa
38 38/64 Да би се избегле такве ситуације, потребно је уместо употребе референце на исти објекат направити копију објекта. Пример. Копирајући конструктор (3) class Line extends GeometryObject { Point a; Point b; Line( Point a, Point b ) { this.a = new Point( a.x, a.y ); this.b = new Point( b.x, b.y );
39 Копирајући конструктор (4) 39/64 Сада више нема везивања поља и аргумента. Међутим, запис је рогобатан: нарочито у случају када мутирајући објекат који представља поље новог објекта има сложену структуру. У прошлом случају било би јако добро када би постојала могућност да се једноставном наредбом направи нова копија. Да би се то постигло, потребно је да у класи која описује тип поља постоји тзв. копирајући конструктор. Да би се истакло да копирајући конструктор не може да модификује своје аргументе користи се модификатор final.
40 40/64 Копирајући конструктор (5) class Point extends GeometryObject { int x; int y; Point( int x, int y ) { this.x = x; this.y = y; Point( final Point tacka ) { this.x = tacka.x; this.y = tacka.y;
41 Копирајући конструктор (6) 41/64 class Line extends GeometryObject { Point a; Point b; Line( Point a, Point b ) { this.a = new Point( a ); this.b = new Point( b ); public static void main( String[] argskl ) { Point tackaa = new Point( 19, 20 ); Point tackab = new Point( 7, 52 ); Line linijaab = new Line( tackaa, tackab ); tackaa.setx(200); // promena kod tackaa ne menja vrednost linijaab
42 Превазилажење метода 42/64 Процес дефинисања метода у поткласи који има исти потпис као и метод у наткласи назива се превазилажење метода. Способност подкласе да превазиђе метод омогућује да нека класа: 1. наследи довољно блиску надкласу 2. и да по потреби модификује њено понашање. Нови метод има исто име, исти број и типове параметара и враће резултат истог типа као метод надкласе који се превазилази. Нови метод може да врати и подтип типа који враћа метод надкласе, што се назива коваријантни тип резултата.
43 Превазилажење метода (2) 43/64 Када се превазилази метод пожељно је користи На тај начин се даје компајлеру да желимо да урадимо превазилажење и он нас упозорава уколико метод са таквим потписом не постоји у надкласи. public class Line { void drawline(){ //implementacija crtanja linije u nadklasi public class DottedLine extends void drawline() { //prevazilazimo implementaciju iz nadklase
44 44/64 Превазилажење метода (3) Позивање одговарајућег метода дефинисаног у наткласи дате класе, а који је превазиђен у поткласи, реализује се коришћењем кључне речи super. Пример. void mojmetod( int x, int y) { // nekе naredbe super.mojmetod(x,y); // jos naredbi void mojmetod2( int x, int y) { // nekе naredbe mojmetod(x,y); // poziva se metod definisan u istoj ovoj klasi super.mojmetod(x,y); // poziva se metod definisan u nadklasi // jos naredbi
45 45/64 Превазилажење метода (4) Превазилажење конструктора се не може извршити, јер конструктор има исто име као класа у којој се налази. Приликом конструисања примерка поткласе, тј. извршења конструктора поткласе бива позван конструктор наткласе. Ако у наткласи није дефинисан конструктор, тада бива позван подразумевани имплицитни конструктор наткласе. Експлицитно позивање конструктора наткласе се може реализовати кључном речју super као у случају позива метода. super(arg1, arg2, )
46 46/64 Превазилажење метода (5) Пример. class LabeledPoint extends Point { String label; LabeledPoint (int x, int y, String label) { super(x,y); this.label = label;
47 Рекурзивни методи 47/64 Јава омогућава креирање рекурзивних метода. Шта је то рекурзија? Рекурзивни методи се извршавају: 1. или тако што метод позива самога себе (тзв. саморекурзија) 2. или тако што се у оквиру једног метода позива неки други, који опет позива овај први итд. (тзв. узајамна рекурзија) Који концепти код Јава виртуелне машине омогућавају успешан рад рекурзивних метода у Јави? Навести као илустрацију пример неког метода који је реализован на рекурзивни начин.
48 Mетод финализатор 48/64 Метод финализатор је дефинисан у оквиру класе Object, па свака класа у Јави може да га превазиђе. Овај метод се може бити позван при сакупљању отпадака. Имплементација овог метода у класи Object не ради ништа. Програмер може одлучити да у методу класе који га превазилази извршава нпр. ослобађање ресурса са којима не управља Јава виртуелна машина. Метод се позива са finalize(). Може се превазићи у сопственој класи са: protected void finalize() { Обично није неопходно његово коришћење.
49 49/64 Апликација и метод main Свака Јава апликација се састоји из одређеног броја класа и обавезног метода main. Заглавље метода main има облик: име низ аргумената типа String public static void main (String args[]) {. јавни класни не враћа вредност Јава апликацији се могу проследити аргументи типа String са командне линије C:> java MojaAplikacija prvi C:> java Prvi Ovo su argumenti C:> java Prvi Ovo su argumenti
50 Објекти 50/64 За креирање примерака (конкретних објекта неке класе) користи се оператор new. Примери: String niska = new String(); Random slicajan = new Random(); Knjiga x = new Knjiga(); Point t = new Point(20 30); Описати аутоматско управљање меморијом за објекте. Описати улогу сакупљача отпадака.
51 Објекти (2) 51/64 Компоненте објекта су: инстанцне променљиве и методи. Као што је већ истакнуто, компонентама објекта приступа се преко тзв. тачка-нотације. Пример. (а) Приступ променљивим примерка: prviobjekt.prom; prviobjekt.prom.stanje; prviobjekat.prom.stanje = true; prviobjekat.stampajme(); (б) Приступ методима: prviobjekat.uzmiime(); prvi objekat.postavivelicinu(20); prviobjekat.prom.metod3(arg1, arg2, arg3); // pozvan preko promen. prviobjekat.getclass().getname(); // metod iz metoda
52 Објекти (3) 52/64 Када се креира објекат, променљива којој се додељује представља показивач (референцу) на тај објекат. При позиву метода, у случају аргумената који представљају објекте, прослеђује се вредност референце на објекат, а не сам објекат! Обрнуто важи за аргументе метода примитивног типа, ту променљива садржи податак и дупликат текуће вредности променљиве тј. податка се прослеђује методу. Дакле, у оба случаја се врши супституција вредности, само што је код објектних аргумената у питању вредност референце. tacka1 Objekat tacka2 x: 20 y: 20
53 Објекти (4) 53/64 Поређење објеката Могуће је примењивати два оператора за поређење: = =!= У овом случају, објекти се сматрају једнаким ако заузимају исти простор у меморији. Не постоји могућност преоптерећења оператора у програмском језику Јава, па самим тим ни оператора = = и!=. Други начин не употребом метода equals који је дефинисан у оквиру класе Object, па свака класа у Јави може да га превазиђе. Имплементација овог метода у класи Object проверава да ли су објекти идентички једнаки. Програмер може одлучити да у својој класи превазиђе овај метод нпр. тако да враће true нпр. када су садржаји свих поља исти.
54 Објекти (5) 54/64 Одређивање класе објекта Може се постићи коришћењем метода getclass, који је дефинисан у класи Object и тај метод се не може се превазићи. Он враће објекат типа Class, који садржи методе (више од 50) помоћу којих се могу добити информације о датој класи. О томе ће бити више речи у делу који се односи на рефлексију. Пример. String runtimeclassname = objekat.getclass().getname(); Припадност објекта класи Реализује се помоћу оператора instanceof Пример. bilo sta instanceof String // true Point tacka = new Point(10,10); tacka instanceof String // false
55 Конверзија типова 55/64 Када се говори о конверзији типова, може се говорити о: (а) конвертовању примитивних типова у примитивне (imetipa) vrednost Пример. (int)(x/y); (б) конвертовању објеката у објекте Могуће је само код класа повезаних наслеђивањем и класа и интерфејса повезаних имплементацијом. (imeklase) objekat Пример. Vozilo x; Kamion y; Kamion y; Vozilo x = new Kamion(); y = new Kamion(); y = (Kamion) x; x= y; // Eksplicitna konverzija nеpotrebna
56 Конверзија типова (2) 56/64 (в) конвертовању примитивних типова у објекте и обрнуто. У принципу, није могуће, осим код тзв. класа-омотача примитивних типова. У пакету java.lang постоје класе: Integer, Float, Boolean, Пример. Integer ceoobj= new Integer(45); int ceo = ceoobj.intvalue(); Integer ceoobj2 = new Integer( 2*ceo ); Почев од верзије 6, Јава подржава и аутоматску конверзију између података примитивног типа и објеката у одговарајућим класама-омотачима.
57 Иницијализациони блокови 57/64 Иницијализациони блок је блок који се налази у оквиру дефиниције класе. Разликују се: 1. Иницјализациони блок примерка (инстанцни инцијализациони блок) 2. Иницијализациони блок класе (статички инцијализациони блок) static int staticvariable; int nonstaticvariable; // Staticki inic. blok se izvrsava jednom po klasi. static { System.out.println("Static initalization."); staticvariable = 5; // Instanci se poziva pre konstruktora { System.out.println("Instance initialization."); nonstaticvariable = 7;
58 Стрингови 58/64 Стринговни тип је објектни тип који се користи за представљање текста, који се чува као низ знакова. Примерци класе String не могу да мутирају, тј. да мењају вредност. Дакле, када се извршава операција над постојећим стринг објектом, као резултат се увек креира нови примерак класе String. Као код других објеката, може се користити литерал null за одбацивање објекта на који тренутно реферише дата String променљива. Пример. Постављање променљиве тако да не указује ни на шта. String nulastring = null; /* String promenljiva koja ne referiše ni na jedan string */
59 Стрингови (2) 59/64 Дужина стринга одређује се позивом метода length(). Надовезивање, тј. конкатенација стрингова врши се оператором +. Као резултат се креира нови објекат класе String који садржи новодобијени стринг. Пример. Пример надовезивања стрингова. String date = 13. ; String month = May ; String day = date + month; // rezultat je 13. May За доделу надовезаних стрингова се може користити и оператор += Пример. Пример коришћења доделе уз надовезивање стрингова. String phrase = The quick brown fox ; phrase += jumps over the lazy dog ;
60 Стрингови (3) 60/64 Метод за превођење у стринг је дефинисан у оквиру класе Object, па свака класа у Јави може да га превазиђе. Метод tostring() у класи Object враће стринг репрезентацију датог објекта. Стринг репрезентација сваког од објеката потпуно зависи од структуре тог објекта и то је разлог због код се метод tostring() обично превазилази у новонаправљеним класама. Дакле, препоручује се да свака од класа има своју реализацију метода за превођење у public String tostring() {.
61 Стрингови (4) 61/64 Израз string1 == string2 проверава да ли две променљиве типа String реферишу на исти објекат у меморији. Дакле, не пореде се садржаји String објеката, већ се пореде референце на стринг објекте. За поређење String oбјеката у односу на садржај користи се equals() или equalsignorecase(). Лексикографско поређење стрингова врши се позивом метода compareto(string), Метод враће следећу вредност: 1. < 0 oбјекат је лексикографски испред тј. мањи од аргумента 2. = 0 објекат је једнак аргументу 3. > 0 oбјекат је лексикографски иза тј. већи од аргумента
62 Стрингови (5) 62/64 Остале методе valueof() Статички метод који креира String објекат од вредности произвољног примитивног типа. startswith(string s), endswith(string) Овим методама се провера да ли стринг има прослеђени стринг као део садржаја на свом почетку или крају. indexof(int ch), indexof(string str) Овим методама се реализује претраживање датог стринга, слева удесно тј. од почетка према крају. Метод враћа (нула-базиран) индекс прве појаве датог елемента или -1 елеменат ниј пронађен. lastindexof(int ch), lastindexof(string str) Овим методама се реализује претраживање датог стринга, сдесна улево тј. од краја према почетку. Метод враћа (нула-базиран) индекс прве појаве датог елемента или -1 елеменат ниј пронађен.
63 Стрингови (6) 63/64 Остале методе String substring(int) Метод враћа подстринг датог стринга који почиње од (нула базираног) индекса start задатог као аргумент. String substring(int start, int end) Метод враћа подстринг датог стринга који почиње од (нула базираног) индекса start, a завршава са индексом end-1 String replace(char, char) Метод сваку појаву првог знакау стрингу замењује другим знаком, и као резултат вратити новодобијени стринг. String trim() Метод брише белине са почетка/краја стринга и као резултат враћа новодобијени стринг. char[] tochararray() Метод прави низ знакова на основу садржаја датог String објекта String.copyValueOf(char[]); Статички метод креира String објект на основу низа знакова који су прослеђени као аргумент.
64 Захвалница 64/64 Велики део материјала који је укључен у ову презентацију је преузет из презентације коју је раније (у време када је он држао курс ) направио проф. др Душан Тошић. Хвала проф. Тошићу што се сагласио са укључивањем тог материјала у садашњу презентацији, као и на помоћи коју ми је пружио током конципцирања и реализације курса.
3.Kontrlne (upravlja~ke) strukture u Javi
Објектно орјентисано програмирање Владимир Филиповић vladaf@matf.bg.ac.rs Александар Картељ kartelj@matf.bg.ac.rs Низови у програмском језику Јава Владимир Филиповић vladaf@matf.bg.ac.rs Александар Картељ
ВишеPowerPoint Presentation
Објектно орјентисано програмирање Владимир Филиповић vladaf@matf.bg.ac.rs Александар Картељ kartelj@matf.bg.ac.rs Сопствени пакети и унутрашње класе Владимир Филиповић vladaf@matf.bg.ac.rs Александар Картељ
Више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
Више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
ВишеКласе комбинација презентације (Хортона) и к о бајаги скрипте (Ово је прича коју врло радо причам) нови тип података: дефинишу могуће вредности подата
Класе комбинација презентације (Хортона) и к о бајаги скрипте (Ово је прича коју врло радо причам) нови тип података: дефинишу могуће вредности података и операције над њима Дефиниција класе садржи само
Више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,
Више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
Више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 - 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
Више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
Више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
Више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
Више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]
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
Више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 - 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
Више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
Више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,
Више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
ВишеPowerPoint Presentation
Објектно орјентисано програмирање Владимир Филиповић vladaf@matf.bg.ac.rs Александар Картељ kartelj@matf.bg.ac.rs Енумерисани и генерички типови Владимир Филиповић vladaf@matf.bg.ac.rs Александар Картељ
Више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
Више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)
ВишеZadatak 011 Razmotrite sljedeći primjer. package hr.fer.oopj.primjeri.p011; public class Main { } public static void main(string[] args) { obrada(2.71
Zadatak 011 Razmotrite sljedeći primjer. package hr.fer.oopj.primjeri.p011; public class Main { public static void main(string[] args) { obrada(2.7182818284590452354); private static void obrada(double
Више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
Више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
Више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
Више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
ВишеProgramski jezik C
Pojam funkcije Deklaracija i definicija funcije Poziv funkcije Memorijske klase promjenljivih Primjeri. Za kompajliranje koda koristen DEV-C++ 4.9.9.2 Compiler!!!! Moze is koristiti I bilo koji drugi standardni
ВишеMicrosoft PowerPoint - Programski_Jezik_C_Organizacija_Izvrsnog_Programa [Compatibility Mode]
Организација извршног програма (Марић, Јаничић: Програмирање 1, 9.3.3) Извршавање програма После успешног превођења (претпроцесирања, компилације, повезивања) програм може да се изврши Извршавање се захтева
Више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.
ВишеProjekti šabloni
Projekti obrasci Kreiranje objekata Uvod Enkapsuliraju znanje o tome koje konkretno klase koristi sistem Sakrivaju instanciranje objekata i načine na koji se oni povezuju i reprezentuju Ostatak sistema
Више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
ВишеP1.2 Projektovanje asemblera
ПРОЈЕКТОВАЊЕ АСЕМБЛЕРА Асемблер Модули асемблера 1 Дефинисање новог лингвистичког нивоа превођењем Потребан преводилац алат који преводи програм написан на једном језику (на једном лингвистичком нивоу)
Више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
Више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;
Више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
Више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
Више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
ВишеModel podataka
Fakultet organizacionih nauka Uvod u informacione sisteme Doc. Dr Ognjen Pantelić Modeliranje podataka definisanje strategije snimanje postojećeg stanja projektovanje aplikativno modeliranje implementacija
ВишеDatum: 20
Osnove JAVE Uvod CPU računara može direktno izvršavati samo skup jednostavnih naredbi koje se nikada ne koriste u programiranju. Skoro svi programi su pisani u višim programskim jezicima kao što su Java,
Више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
Више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.
Више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.
Више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
ВишеMicrosoft PowerPoint - 07-DinamickeStrukturePodataka
Динамичке структуре података листа, стек, ред Програмирање 2: глава 6 Динамичке структуре података Динамичка алокација и динамичке структуре података Најзначајније динамичке структуре података листе и
ВишеMicrosoft PowerPoint - Datoteke [Compatibility Mode]
Датотеке стандардни улаз / излаз Датотека је именовани низ знакова (бајтова) У програмском језику C датотека је везана за улаз и излаз података функције стандардне библиотеке Најједностaвније
Више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
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*
Више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
Више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
Више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
Више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
Више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
Више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,
ВишеP11.3 Analiza zivotnog veka, Graf smetnji
Поједностављени поглед на задњи део компајлера Међурепрезентација (Међујезик IR) Избор инструкција Додела ресурса Распоређивање инструкција Инструкције циљне архитектуре 1 Поједностављени поглед на задњи
ВишеPodela ra~unarskih sredtava
Објектно орјентисано програмирање Владимир Филиповић Александар Картељ kartelj@matf.bg.ac.rs 2/56 Карактеристике програмског језика Јава Владимир Филиповић Александар Картељ kartelj@matf.bg.ac.rs Настанак
Више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.
ВишеMicrosoft PowerPoint - Bitovi [Compatibility Mode]
Оператори над битовима (Јаничић, Марић: Програмирање 2, тачка 5.6) Оператори за рад са појединачним битовима Само на целобројне аргументе: ~ битовска негација & битовска конјункција (и) битовска (инклузивна)
ВишеP9.1 Dodela resursa, Bojenje grafa
Фаза доделе ресурса Ова фаза се у литератури назива и фазом доделе регистара, при чему се под регистрима подразумева скуп ресурса истог типа. Додела регистара променљивама из графа сметњи се обавља тзв.
Више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
Више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ž
ВишеP1.3 Projektovanje makroasemblera
ПРОЈЕКТОВАЊЕ МАКРОАСЕМБЛЕРА Макроасемблер Потребна проширења асемблера 1 МАКРОАСЕМБЛЕР Макроасемблер преводи полазни програм написан на макроасемблерском језику у извршиви машински програм. Приликом израде
ВишеРачунарска интелигенција
Рачунарска интелигенција Генетско програмирање Александар Картељ kartelj@matf.bg.ac.rs Ови слајдови представљају прилагођење слајдова: A.E. Eiben, J.E. Smith, Introduction to Evolutionary computing: Genetic
Више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
Више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
Више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 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
Више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,
ВишеProgramski jezik JAVA PREDAVANJE
Programski jezik JAVA PREDAVANJE 8 2019 www.etf.ac.me Polja za potvrdu i Radio tasteri Polja za potvrdu i radio tasteri nijesu uzajamno isključivi, što znači da ako imate pet polja za potvrdu u jednom
ВишеУвод у организацију и архитектуру рачунара 1
Увод у организацију и архитектуру рачунара 2 Александар Картељ kartelj@matf.bg.ac.rs Напомена: садржај ових слајдова је преузет од проф. Саше Малкова Увод у организацију и архитектуру рачунара 2 1 Секвенцијалне
Више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
Више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
ВишеPrimenjeno programiranje - Vežbe
VISOKA POSLOVNA ŠKOLA STRUKOVNIH STUDIJA NOVI SAD Primena integrisanih razvojnih alata Java i NetBeans IDE 7.0 vežba 9 i 10 Kreiranje desktop aplikacije sa konekcijom na bazu Pokrenuti NetBeans, u kartici
Више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
Више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
ВишеMicrosoft PowerPoint - 03-Slozenost [Compatibility Mode]
Сложеност алгоритама (Програмирање 2, глава 3, глава 4-4.3) Проблем: класа задатака истог типа Велики број различитих (коректних) алгоритама Величина (димензија) проблема нпр. количина података које треба
Више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
Више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
ВишеПрограмирај!
Листе Поред појединачних вредности исказаних бројем или ниском карактера, често је потребно забележити већи скуп вредности које су на неки начин повезане, као, на пример, имена у списку путника у неком
Више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
ВишеNAPOMENA: Studenti na ispit donose kod urađenog zadatka
Пројекат из предмета Интернет програмирање за августовски и септембарски испитни рок школске 2018/19. године Коришћењем PHP технологије, технологије AJAX и MySQL базе података, реализовати следећу веб
ВишеNo Slide Title
Објектно орјентисано програмирање Владимир Филиповић Александар Картељ kartelj@matf.bg.ac.rs Улаз и излаз, серијализација Владимир Филиповић Александар Картељ kartelj@matf.bg.ac.rs Токови, читачи и писачи
ВишеПројектовање Информационих система
1 РЕЧНИК ПОДАТАКА 2 Речник података Увод Правила креирања речника података Хијерархијска декомпозиција ДТП Пример ДТП 3 Увод Речник података даје опис структуре и садржаја свих токова и складишта података.
Више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
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
ВишеRačunarske mreže Čas 2 Ivana Tanasijević Matematički fakultet, Beograd 1
Računarske mreže Čas 2 Ivana Tanasijević e-mail: ivana@matf.bg.ac.rs Matematički fakultet, Beograd 1 Utvrđivanje gradiva sa prethodnog časa: popunjavanje adresne strukture, kreiranje soketa, privezivanje
Више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
Више6-8. ČAS Celobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: Gde pretpostavljamo da je A celobrojna matrica dimenzije,. Takođe
6-8. ČAS Celobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: Gde pretpostavljamo da je A celobrojna matrica dimenzije,. Takođe, očekuje se da su koordinate celobrojne. U slučaju
Више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
Више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
ВишеMicrosoft Word - Lekcija 11.doc
Лекција : Креирање графова Mathcad олакшава креирање x-y графика. Треба само кликнути на нови фајл, откуцати израз који зависи од једне варијабле, например, sin(x), а онда кликнути на дугме X-Y Plot на
ВишеClassroom Expectations
АТ-8: Терминирање производно-технолошких ентитета Проф. др Зоран Миљковић Садржај Пројектовање флексибилних ; Математички модел за оптимизацију флексибилних ; Генетички алгоритми у оптимизацији флексибилних
ВишеKDP
Региони Региони Програмска парадигма за приступ критичној секцији Увођење посебне синтаксе за експлицитно означавање критичних секција Обезбеђивање међусобног искључивања процеса Условни критични регион
Више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
ВишеPOSLOVNI INFORMACIONI SISTEMI I RA^UNARSKE
ZNAČAJ RAČUNARSKIH KOMUNIKACIJA U BANKARSKOM POSLOVANJU RAČUNARSKE MREŽE Računarske mreže su nastale kombinacijom računara i telekomunikacija dve tehnologije sa veoma različitom tradicijom i istorijom.
Више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
ВишеPowerPoint Presentation
Prof. dr Pere Tumbas Prof. dr Predrag Matkovid Identifikacija i izbor projekata Održavanje sistema Inicijalizacija projekata i planiranje Implementacija sistema Dizajn sistema Analiza sistema Faze životnog
Више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,
Више1 jmbag ime i prezime Programiranje 2 prvi kolokvij, Rezultati i uvidi u kolokvije: Rezultati u petak, 3.5., navečer na webu, a uvidi u p
1 Rezultati i uvidi u kolokvije: Rezultati u petak 3.5. navečer na webu a uvidi u ponedjeljak 6.5. u 16 sati. Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanje te službeni podsjetnik.
Више