Objektno orijentirano programiranje

Size: px
Start display at page:

Download "Objektno orijentirano programiranje"

Transcription

1 Objektno orijentirano programiranje 6. tema Apstraktne klase i sučelja Zaštićeno licencom

2 Geometrijski likovi Kako i što modelirati za npr. trokut, pravokutnik, poligon, krug i ostale geometrijske likove? Možemo li prepoznati zajedničke elemente svih geometrijskih likova? Možemo li ih i trebamo li ih hijerarhijski posložiti? Spremamo li niz geometrijskih likova ili nekoliko različitih nizova (niz trokuta, niz pravokutnika, ) Želimo li postupak koji ispisuje površine i opsege geometrijskih likova neovisno što su oni (po uzoru na ispis puteva iz prethodnih predavanja)? => Očito, postoji potreba za hijerarhijom geometrijskih likova 2

3 Geometrijski lik početna implementacija Za geometrijski lik definirat ćemo naziv lika i postupke za opseg i površinu, jer to svi geometrijski likovi imaju. package hr.fer.oop.topic6.abstractclasses; public class Shape { private String name; public Shape(String name) { this.name = name; public String getname(){ return name; public double area(){... public double perimiter(){... 3

4 Površina i opseg geometrijskog lika? Kako izračunati površinu i opseg geometrijskog lika? Znamo kako se računa površina trokuta, kruga, poligona,, ali kako izračunati površinu lika za kojeg ne znamo što je? Bez dodatnih podataka očito nikako Što vratiti za površinu i opseg nepoznatog geometrijskog lika? 0, -1, neki magični broj, ispisati prigodnu poruku, generirati iznimku, srušiti program? Geometrijski lik je preopćenit i ne bi trebao imati kôd za postupke opseg i površina Kod postupka ne pišemo, a postupak označimo s modifikatorom abstract public abstract double area(); public abstract double perimiter(); 4

5 Geometrijski lik kao apstraktni razred (1) Geometrijski lik nije implementiran do kraja (ima apstraktne metode), pa je i sam apstraktan što se označava abstract public abstract class Shape {... Primjerak apstraktnog razreda ne može se direktno stvoriti (s operatorom new) => ne možemo direktno s new Shape() kreirati primjerak apstraktnog razreda Ispravno, jer ne smije/ne može nastati nepoznati lik, već konkretni likovi Zašto bismo imali apstraktni razred? Zato što možemo imati zajednički nazivnik za konkretne likove - Npr. polje geometrijski likova ili postupak koji prima geometrijski lik - Apstraktni razred može imati postupke koji nisu apstraktni, a zajednički su za više (ili čak sve) geometrijske likove 5

6 Geometrijski lik kao apstraktni razred (2) Primjer: 6_AbstractIncorrectShapeName Primjer ima logičku pogrešku o kojoj će biti govora naknadno package hr.fer.oop.topic6.abstractclasses; public abstract class Shape { private String name; public Shape(String name) { this.name = name; public String getname(){ return name; public abstract double area(); public abstract double perimiter(); 6

7 Apstraktni razredi Klasa koja ima bar jednu apstraktnu metodu mora biti apstraktna. Klasu možemo proglasiti apstraktnom čak i ako nema nijednu apstraktnu metodu. Klasa koja naslijedi apstraktnu klasu može biti apstraktna. Apstraktni postupci nemaju kod Iza naziva postupka ide ; umjesto koda u vitičastim zagradama public abstract double area(); Apstraktni razredi mogu imati konstruktore, ali se ne može direktno stvoriti primjerak s new NazivApstraktnogRazreda() Konstruktor biva pozvan prilikom stvaranja objekta koji ga naslijeđuje 7

8 Krug (1) Krug modeliramo tako da definiramo središte i radijus Krug je geometrijski lik, pa će naslijediti razred Shape Konstruktor prima središte i radijus, a konstruktoru geometrijskog lika predaje svoj naziv package hr.fer.oop.topic6.abstractclasses; public class Circle extends Shape { private int radius;... private Point center; public Circle(Point center, int radius) { super("circle"); this.center = center; this.radius = radius; 8

9 Krug (2) Krug implementira svoje postupke za površinu i opseg Napomena: u engleskom jeziku opseg kruga je circumference, ali zbog konzistentnosti modela koristit ćemo naziv perimeter package hr.fer.oop.topic6.abstractclasses; public class Circle extends Shape public double area() { return radius * radius * public double perimeter() { return 2 * radius * Math.PI; 9

10 Referenca apstraktnog tipa i objekt izvedenog razreda Moguće je stvoriti objekt tipa Circle i pridružiti ga referenci tipa Shape (naravno, nije nužno) Shape shape = new Circle(new Point(2,5), 3); System.out.println(shape.getName()); System.out.println(shape.area()); System.out.println(shape.perimiter()); 10

11 Poligon - konstruktor Poligon nasljeđuje geometrijski lik Poligon modeliramo zadajući niz točaka koji predstavljaju vrhove poligona u smjeru obrnutom od kazaljke na satu Kao i u primjeru za Path stvaramo nove točke (kompozicija) public class Polygon extends Shape { private Point[] vertices; public Polygon(Point[] vertices) { super("polygon"); this.vertices = new Point[vertices.length]; for(int i=0; i<vertices.length; i++){ this.vertices[i] = new Point(vertices[i]);... 11

12 Poligon - opseg S obzirom da se formula za udaljenost dviju točaka računa nekoliko puta, izdvajanjem tog koda u poseban postupak smanjuje se mogućnost pogreške i kôd postaje čitljiviji public class Polygon extends Shape public double perimiter() { double d = 0; int len = vertices.length; for(int i=1 ; i<len ; i++) d += distance(vertices[i], vertices[i-1]); d += distance(vertices[len - 1], vertices[0]); return d; private double distance(point a, Point b){... return Math.sqrt((b.X - a.x)*(b.x - a.x) + (b.y - a.y)*(b.y - a.y)); 12

13 Poligon - površina Pretpostavit ćemo da se stranice poligona ne sijeku public class Polygon extends Shape public double area() { double d = 0; int len = vertices.length; for(int i=1; i<len ; i++){ d += vertices[i].y * vertices[i-1].x - vertices[i].x * vertices[i-1].y; d += vertices[0].y * vertices[len-1].x return d / 2; - vertices[0].x * vertices[len-1].y; 13

14 Primjer postupka koji radi s nizom geometrijskih likova public static void main(string[] args) { Shape[] shapes = new Shape[2]; shapes[0] = new Circle(new Point(2,5), 3); Point[] points = new Point[3]; points[0] = new Point(0,0); points[1] = new Point(4,0); points[2] = new Point(4,3); shapes[1] = new Polygon(points); writeshapedata(shapes); private static void writeshapedata(shape[] shapes) { for(shape shape:shapes) { System.out.format("%s Area=%.2f Perimeter=%.2f\n", shape.getname(), shape.area(), shape.perimeter()); 14

15 Trokut Trokut je geometrijski lik, ali je i poligon, pa može direktno naslijediti poligon samim time se može pridružiti referenci tipa Shape Kako modelirati trokut? Uvesti tri nove točke ili koristiti činjenicu da poligon već ima svoje točke - Odgovor na pitanje nije tako jednostavan (više kad se bude pričalo o S.O.L.I.D. principima), iako se u ovom trenutku čini logičnim i najjednostavnijim koristiti funkcionalnost poligona 15

16 Trokut Konstruktor trokuta prima tri točke i konstruktoru poligona predaje te tri točke kao polja točaka public class Triangle extends Polygon { public Triangle(Point a, Point b, Point c){ super(new Point[]{a, b, c);... Poligon zahtijeva da su točke navedene u smjeru obrnutom od kazaljke na satu. Za trokut ne želimo nametati takvo pravilo. Nuspojava je da iznos površine može ispasti negativan, pa se postupak za površinu nadjača ispravnom verzijom koja zanemaruje predznak Postupak iz naslijeđenog razreda (poligona) pozove sa public double area() { return Math.abs(super.area()); 16

17 Pogreška u dizajnu Proširimo kôd u kojem se stvaraju geometrijski likovi s Trokutom i promotrimo ispis public static void main(string[] args) { Shape[] shapes = new Shape[3];... Point A = new Point(0,0); Point B = new Point(4,3); Point C = new Point(4,0); shapes[2] = new Triangle(A, B, C); writeshapedata(shapes); Ispis: Circle Area=28.27 Perimeter=18.85 Polygon Area=6.00 Perimeter=12.00 Polygon Area=6.00 Perimeter=

18 Ime geometrijskog lika Zašto je za ime geometrijskog lika za trokut ispisano Polygon? Trokut nije postavljao svoje ime, već je to učinio konstruktor poligona Može li se unutar konstruktora trokuta pozvati super("triangle")? Ne, jer se super odnosi na neposrednu nadređeni razred, a poligon nema takav konstruktor Može li se promijeniti ime geometrijskog lika iz koda konstruktora trokuta Ne, jer je članska varijabla za ime označena s private u geometrijskom liku 18

19 Jedno moguće rješenje Promijeniti modifikator vidljivosti varijable za ime na protected Uvođenje postupka setname ili stavljanje modifikatora public bi omogućilo nekontrolirane promjene public abstract class Shape { protected String name;... public class Triangle extends Polygon { public Triangle(Point a, Point b, Point c){ super(new Point[]{a, b, c); this.name = "Triangle"; Alternativno rješenje je unutar razreda Shape definirati apstraktni postupak getname koji će biti nadjačan. 19

20 Drugo moguće rješenje Napraviti novi konstruktor u klasi Polygon koji ima modifikator vidljivosti protected te ga koristiti u konstruktoru klase Triangle public class Polygon {... protected Polygon(Point[] vertices, String name) { super(name); this.vertices = new Point[vertices.length]; for(int i=0; i<vertices.length; i++){ this.vertices[i] = new Point(vertices[i]);... public class Triangle extends Polygon { public Triangle(Point a, Point b, Point c){ super(new Point[]{a, b, c, "Triangle"); 20

21 Kako modelirati Pravokutnik? Treba donijeti odluku žele li se modelirati a. samo pravokutnici čije su stranice paralelne s koordinatnim osima => Dovoljno zadati gornji lijevi kut te širinu i visinu b. Ili pravokutnici s bilo kakvim kutom u odnosu na osi => Treba zadati dvije točke i jednu dimenziju, ili tri točke. Odabrat ćemo varijantu a. Uobičajene funkcije za crtanje funkcioniraju na taj način Možemo li iskoristiti isti princip kao i za trokut? Možemo, s tim da možemo napisati bolje postupke za površinu i opseg. 21

22 Pravokutnik - konstruktor Pravokutnik modeliramo koristeći gornji lijevi vrh te širinu i visinu Za konstruktor poligona izračunamo preostale tri točke Sačuvamo podatke o širini i duljini zbog opsega i površine public class Rectangle extends Polygon { private Point topleft; private int width; private int height; public Rectangle(Point topleft, int width, int height) { super(new Point[] { topleft, ); new Point(topLeft.X, topleft.y - height), new Point(topLeft.X + width, topleft.y - height), new Point(topLeft.X + width, topleft.y) this.topleft = topleft; this.width = width; this.height = height; this.name = "Rectangle"; 22

23 Pravokutnik opseg i površina Površina i opseg pravokutnika se lako izračunaju. U principu, mogli smo koristiti i postupke iz poligona, ali očito je da može jednostavnije package hr.fer.oop.topic6.abstractclasses; public class Rectangle extends Polygon public double area(){ return height * public double perimiter(){ return 2 * height + 2 * width; 23

24 Proširimo primjer ispisa površina i opsega likova public static void main(string[] args) { Ispis Shape[] shapes = new Shape[4]; shapes[0] = new Circle(new Point(2,5), 3); shapes[1] = new Polygon(points); shapes[2] = new Triangle(A, B, C); shapes[3] = new Rectangle(new Point(2, 3), 5, 7); writeshapedata(shapes); private static void writeshapedata(shape[] shapes) { for(shape shape:shapes) { System.out.format("%s Area=%.2f Perimeter=%.2f\n", shape.getname(), shape.area(), shape.perimeter()); Circle Area=28.27 Perimeter=18.85 Polygon Area=6.00 Perimeter=12.00 Triangle Area=6.00 Perimeter=12.00 Objektno orijentirano programiranje, FER Rectangle Area= Perimeter=

25 Put i geometrijski lik => oblik Imaju li put i geometrijski lik nešto zajedničko? Ako bismo ih crtali na ekranu oni bi zauzimali određenu širinu i visinu Crta na ekranu bi bila određene duljine - Kod geometrijskog lika je to opseg - Kod puta je to njegova duljina Zajedničke elemente možemo prebaciti u zajedničku nadklasu Figure koja ima postupke za visina, širinu i duljinu i naziv oblika Kao i klasa Shape za geometrijski lik, Figure je apstraktna klasa Oblici bi mogli biti i razne krivulje, npr. cikloida, sinusoida, zatim grafovi funkcija na nekom intervalu domene Ne bi bili određeni skupom točaka, ali imaju duljinu, visinu i širinu 25

26 Razred Figure za općenite oblike Cijelo rješenje je u primjeru 6_AbstractFigure Iz razreda Shape izbacit ćemo konstruktor koji prima naziv lika i privatnu varijablu za spremanje imena Ime oblika dobit će se kao rezultat apstraktnog postupka getname u razredu Figure koji će biti nadjačan package hr.fer.oop.topic6.abstractclasses; public abstract class Figure { public abstract double getlength(); public abstract double getwidth(); public abstract double getheight(); public abstract String getname(); 26

27 Razred Shape nakon uvođenja razreda Figure Osim apstraktnih postupaka, ostao je samo postupak koji za duljinu oblika vraća opseg geometrijskog lika Opseg je apstraktni postupak koji će implementirati izvedeni razredi package hr.fer.oop.topic6.abstractclasses; public abstract class Shape extends Figure { public abstract double area(); public abstract double perimeter(); public double getlength(){ return perimeter(); 27

28 Put i poligon Put je bio definiran kao skup točaka Poligon je bio definiran kao skup točaka Moglo bi se zaključiti da je poligon put koji počinje i završava u istoj točki Tada bi opseg poligona bio jednak duljini takvog puta Površinu bi trebali dodatno izračunati Mogu li geometrijski likovi biti posebni oblik Puta (naslijediti Put)? - Ne, jer ne vrijedi za sve likove (npr. Krug)! Može li poligon naslijediti put? - Ovisi o jeziku! - Java ne dopušta višestruko nasljeđivanje! C++ da. 28

29 Višestruko nasljeđivanje Scott Meyers, Effective C++ Depending on who's doing the talking, multiple inheritance (MI) is either the product of divine inspiration or the manifest work of the devil Trebalo li zaista višestruko nasljeđivanje? Nasljeđivanje koristiti kad je to stvarno potrebno. Na prvi pogled izgleda kao da je potrebno, međutim, primijetimo da nakon uvođenja razreda Figure razred Shape nema nikakav kod ni varijabli, osim postupka koji za duljinu vraća opseg - Nije nužno => svaki izvedeni razred to može i sam napraviti Izbacimo li taj postupak Shape je zapravo samo specifikacija što izvedeni razred ima, bez navođenja kako se to radi Isto vrijedi i za Figure 29

30 Sučelja Specifikacija što razred mora imati naziva se sučelje i modelira se ne kao razred (class), već kao sučelje (interface) Razredi se nasljeđuju, sučelja se implementiraju Nazivi sučelja mogu počinjati slovom I, a mi ćemo se tog dogovora držati u narednim primjerima Sučelje može naslijediti neko drugo sučelje Razredi u Javi mogu naslijediti samo jedan razred, ali mogu implementirati više sučelja Na ovaj način razred geometrijski lik možemo izbaciti iz hijerarhije nasljeđivanja i pretvoriti ga u sučelje IShape Tako bi npr. poligon mogao naslijediti put i implementirati IShape S obzirom da je i Figure samo popis postupaka nema razloga da i njega ne pretvorimo u sučelje IFigure 30

31 Sučelja IShape i IFigure package hr.fer.oop.topic6.interfaces; public interface IFigure { public double getlength(); public double getwidth(); public double getheight(); public String getname(); public interface IShape { public String getname(); public double area(); public double perimeter(); 31

32 Krug kao primjer implementacije IFigure i IShape package hr.fer.oop.topic6.interfaces; public class Circle implements IShape, IFigure public String getname(){ return public double area() { return radius * radius * public double getlength(){ return perimeter(); 32

33 Što kad dva sučelja definiraju postupak istog imena U prethodnom primjeru i sučelje IShape i sučelje IFigure predviđaju postojanje postupka getname. Načinjena je jedna zajednička implementacija Što ako se radi o postupcima koji trebaju imati različito ponašanje za pojedino sučelje? U Javi nije izvedivo 33

34 Implementacija postupka u sučeljima Novost u Javi od verzije 8 je mogućnost pisanja pretpostavljenog postupka (engl. default method) za sučelje Motivacija je bila omogućiti dodavanja novih postupaka u sučelja bez da se moraju mijenjati postojeće implementacije. Primjer (ali bez velikog praktičnog značaja) package hr.fer.oop.topic6.interfaces; public interface IShape { default public String getname() { return "Shape"; public double area(); public double perimeter(); 34

35 Poligon i put Poligon sada može naslijediti put. Budući da je put implementirao IFigure,poligon nasljeđivanjem automatski implementira IFigure te treba implementirati IShape - Potrebno prilagoditi postupak za opseg package hr.fer.oop.topic6.interfaces; public class Polygon extends Path implements IShape { public Polygon(Point[] vertices) super(vertices); public double perimeter() { double d = super.length();... d += distance(points[points.length - 1], points[0]); return d; 35

36 Primjer postupka koji koristi sučelje IFigure Za sve oblike ispisuje se ime, visina, širina, duljina te se provjerava da li je oblik put i/ili geometrijski lik te se u tom slučaju ispisuju dodatni podaci private static void writefiguresdata(ifigure[] figures) {... for(ifigure f:figures) { System.out.format("\n%s Length=%.2f Width=%.2f Height=%.2f\n", f.getname(), f.getlength(), f.getwidth(), f.getheight()); if (f instanceof Path ) ((Path) f).write(); if (f instanceof IShape){ IShape shape = (IShape) f; System.out.format("Shape data: %s Area=%.2f Perimiter=%.2f\n", shape.getname(), shape.area(), shape.perimeter()); 36

37 Još jedan primjer sučelja sučelje za funkciju Sučeljem IFunction definira postupak koji izračunava vrijednost funkcije u točki x te postupak za ispis formule funkcije. package hr.fer.oop.topic6.interfaces; public interface IFunction { public String formula(); public double getvalue(double x); Ovo sučelje će implementirati novi razred Sine koji predstavlja sinus funkciju (i alternative vezane za amplitudu i pomak) te razred Circle public class Circle implements IShape, IFigure, IFunction 37

Objektno orijentirano programiranje

Objektno orijentirano programiranje Objektno orijentirano programiranje 5. Apstraktne klase i sučelja Zaštićeno licencom http://creativecommons.org/licenses/by-ncsa/3.0/hr/ Creative Commons slobodno smijete: dijeliti umnožavati, distribuirati

More information

Osnove programskog jezika C# Čas 4. Nasledjivanje 2. deo

Osnove programskog jezika C# Čas 4. Nasledjivanje 2. deo Osnove programskog jezika C# Čas 4. Nasledjivanje 2. deo Nasledjivanje klasa Modifikator new class A { public virtual void F() { Console.WriteLine("I am A"); } } class B : A { public override void F()

More information

Osnove programskog jezika C# Čas 5. Delegati, događaji i interfejsi

Osnove programskog jezika C# Čas 5. Delegati, događaji i interfejsi Osnove programskog jezika C# Čas 5. Delegati, događaji i interfejsi DELEGATI Bezbedni pokazivači na funkcije Jer garantuju vrednost deklarisanog tipa. Prevodilac prijavljuje grešku ako pokušate da povežete

More information

Svi Java tipovi imaju ekvivalentan tip u jeziku Scala Većina Scala koda se direktno preslikava u odgovarajući Java konstrukt

Svi Java tipovi imaju ekvivalentan tip u jeziku Scala Većina Scala koda se direktno preslikava u odgovarajući Java konstrukt Funkcionalno programiranje Interoperabilnost jezika Scala i Java 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

More information

PROGRAMIRANJE. Amir Hajdar

PROGRAMIRANJE. Amir Hajdar PROGRAMIRANJE Amir Hajdar Teme 2 Klase i objekti u Javi Primjer kroz klasu Krug Atributi i metode Inicijalizacija objekata (konstruktori) Polymorphism Statičke varijable i metode This Klase i objekti u

More information

CSS CSS. selector { property: value; } 3/20/2018. CSS: Cascading Style Sheets

CSS CSS. selector { property: value; } 3/20/2018. CSS: Cascading Style Sheets CSS CSS CSS: Cascading Style Sheets - Opisuje izgled (appearance) i raspored (layout) stranice - Sastoji se od CSS pravila, koji defini[u skup stilova selector { property: value; 1 Font face: font-family

More information

Učitati cio broj n i štampati njegovu recipročnu vrijednost. Ako je učitan broj 0, štampati 1/0.

Učitati cio broj n i štampati njegovu recipročnu vrijednost. Ako je učitan broj 0, štampati 1/0. Kontrolne naredbe Primjeri: Opšti oblik razgranate strukture (if sa ) if (uslov) Naredba 1 ili blok naredbi1 Naredba 2 ili blok naredbi2 Učitati broj x i štampati vrijednost double x, z; Scanner in=new

More information

VRIJEDNOSTI ATRIBUTA

VRIJEDNOSTI ATRIBUTA VRIJEDNOSTI ATRIBUTA Svaki atribut (bilo da je primarni ključ, vanjski ključ ili običan atribut) može i ne mora imati ograničenja na svojim vrijednostima. Neka od ograničenja nad atributima: Null / Not

More information

Programiranje III razred

Programiranje III razred Tehnička škola 9. maj Bačka Palanka Programiranje III razred Naredbe ciklusa for petlja Naredbe ciklusa Veoma često se ukazuje potreba za ponavljanjem nekih naredbi više puta tj. za ponavljanjem nekog

More information

Zadatci Small Basic za 7. Razred ( programa)

Zadatci Small Basic za 7. Razred (  programa) Zadatci Small Basic za 7. Razred (www.smallbasic.com-preuzimanje programa) 1. Nacrtaj slijedeći crtež pomoću naredbi u small basic-u. Boje odaberite po svojim željama. GraphicsWindow.Width = 600 Visina

More information

Uputa: Zabranjeno je koristiti bilo kakva pomagala. Rje²enja pi²ete desno od zadatka. Predajete samo ovaj list.

Uputa: Zabranjeno je koristiti bilo kakva pomagala. Rje²enja pi²ete desno od zadatka. Predajete samo ovaj list. Ime i prezime: Asistent: Predava : Programiranje (C) 1. kolokvij 14. 4. 2003. 1. 2. 3. 4. 5. 6. 7. Uputa: Zabranjeno je koristiti bilo kakva pomagala. Rje²enja pi²ete desno od zadatka. Predajete samo ovaj

More information

Vežbe - XII nedelja PHP Doc

Vežbe - XII nedelja PHP Doc Vežbe - XII nedelja PHP Doc Dražen Drašković, asistent Elektrotehnički fakultet Univerziteta u Beogradu Verzija alata JavaDoc za programski jezik PHP Standard za komentarisanje PHP koda Omogućava generisanje

More information

PREDMET. Osnove Java Programiranja. Čas JAVADOC

PREDMET. Osnove Java Programiranja. Čas JAVADOC PREDMET Osnove Java Programiranja JAVADOC Copyright 2010 UNIVERZITET METROPOLITAN, Beograd. Sva prava zadržana. Bez prethodne pismene dozvole od strane Univerziteta METROPOLITAN zabranjena je reprodukcija,

More information

Microsoft Hyper-V Server 2016 radionica EDU IT Pro, Zagreb,

Microsoft Hyper-V Server 2016 radionica EDU IT Pro, Zagreb, Microsoft Hyper-V Server 2016 radionica EDU IT Pro, Zagreb, 13.04.2017. Podešavanje Hyper-V Servera 2016 za RSAT upravljanje Dario Štefek Lokacije za preuzimanje: Microsoft Hyper-V Server 2016 https://www.microsoft.com/en-us/evalcenter/evaluate-hyper-v-server-2016

More information

VB komande. Programiranje 1

VB komande. Programiranje 1 VB komande Programiranje 1 Zadatak 1: Sastaviti program koji se sastoji iz jedne ListBox kontrole, jedne Textbox kontrole i dva komandna dugmeta. Klikom na prvo komandno dugme umeće se u ListBox sadržaj

More information

Sberbank Business Online na Mozilla FireFox

Sberbank Business Online na Mozilla FireFox Sberbank Business Online na Mozilla FireFox Verzija 1.6 Srpanj 2016. Sberbank d.d. Stranica 1 SADRŽAJ 1 INSTALACIJA... 2 2 POKRETANJE MOZILLE FIREFOX... 3 2.1 IMPORT SECURITY MODULA... 4 2.2 AUTOMATSKI

More information

JavaScript i HTML DOM

JavaScript i HTML DOM 4. vježbe iz WEB programiranja četvrtak, 22. ožujka 2012. JavaScript 1. dio JavaScript i Što je DOM? Kako JS koristi DOM? Pristup elementima dokumenta Promjena i učitavanje vrijednosti tagova Primjer 1.

More information

RAČUNARSKI PRAKTIKUM II

RAČUNARSKI PRAKTIKUM II Prirodoslovno-matematički fakultet Matematički odsjek Sveučilište u Zagrebu RAČUNARSKI PRAKTIKUM II Predavanje 07 - Uvod u PHP 4. svibnja 2015. Sastavio: Zvonimir Bujanović PHP PHP Interpretirani skriptni

More information

PARALELNO PROGRAMIRANJE

PARALELNO PROGRAMIRANJE Predavanje 09 Odjel za matematiku 1 PARALELNO PROGRAMIRANJE POSIX threadovi za C++ Predavanje 09 Odjel za matematiku 2 Programske niti (thread) unutar procesa Danas ćemo se upoznati s POSIX thread bibliotekom

More information

RAČUNARSKI PRAKTIKUM II

RAČUNARSKI PRAKTIKUM II Prirodoslovno-matematički fakultet Matematički odsjek Sveučilište u Zagrebu RAČUNARSKI PRAKTIKUM II Predavanje 04 - Uvod u PHP 14. ožujka 2016. Sastavio: Zvonimir Bujanović PHP PHP Interpretirani skriptni

More information

Prva recenica. Druga recenica.

Prva recenica. Druga recenica. Algoritmi i programiranje Predavanje 4 METODE LOKALNE, GLOBALNE VARIJABLE I KONSTANTE METODA je imenovani izdvojeni slijed naredbi koji rješava određeni zadatak i po potrebi se poziva jednom ili više puta

More information

Numeričke metode i praktikum

Numeričke metode i praktikum Numeričke metode i praktikum Aleksandar Maksimović IRB / 23/03/2006 / Str. 1 vektori Vektor u 3D prostoru. C: int v1[3]; v1[0]=a;v1[1]=b;v1[2]=c; Fortran: INTEGER V1(3) V1(1)=a V1(2)=b V1(3)=c Skalarni

More information

PITANJA ZA II KOLOKVIJUM NASLJEĐIVANJE, VIRTUELNE FUNKCIJE I POLIMORFIZAM

PITANJA ZA II KOLOKVIJUM NASLJEĐIVANJE, VIRTUELNE FUNKCIJE I POLIMORFIZAM PITANJA ZA II KOLOKVIJUM NASLJEĐIVANJE, VIRTUELNE FUNKCIJE I 1. Definicija svake klase sadrzi kljucnu rec iza koje se navodi ime klase: class public extends 2. Kada je funkcija clanica definisana izvan

More information

UNIVERZITET U BEOGRADU ELEKTROTEHNIČKI FAKULTET

UNIVERZITET U BEOGRADU ELEKTROTEHNIČKI FAKULTET UNIVERZITET U BEOGRADU ELEKTROTEHNIČKI FAKULTET Katedra za elektroniku Računarska elektronika Grupa br. 11 Projekat br. 8 Studenti: Stefan Vukašinović 466/2013 Jelena Urošević 99/2013 Tekst projekta :

More information

Windows Server 2012, VDI Licenciranje najprodavanijeg servera, što je novo, VDI licenciranje. Office 2013 / Office 365

Windows Server 2012, VDI Licenciranje najprodavanijeg servera, što je novo, VDI licenciranje. Office 2013 / Office 365 Windows 8 Licenciranje, razlike u verzijama Windows Server 2012, VDI Licenciranje najprodavanijeg servera, što je novo, VDI licenciranje Serverski proizvodi Server 2012, System centar 2012, SQL 2012, Sharepoint

More information

Izrada VI laboratorijske vježbe

Izrada VI laboratorijske vježbe Izrada VI laboratorijske vježbe 1. Programirati proceduru koja se aktivira sa Standard palete alatki klikom na button Fajlovi. Prilikom startovanja procedure prikazuje se forma koja sadrži jedan list box

More information

b) program deljiv3; uses wincrt; var i:integer; begin i:=3; while i<100 do begin write(i:5); i:=i+3; end; end.

b) program deljiv3; uses wincrt; var i:integer; begin i:=3; while i<100 do begin write(i:5); i:=i+3; end; end. NAREDBA CIKLUSA SA PREDUSLOVOM WHILE 1.Odrediti vrednosti s i p nakon izvrsenja sledecih naredbi za dato a=43, a=34, a=105 program p1; var a,s,p:integer; write('unesite a:');readln(a); p:=a; s:=0; while

More information

VIŠESTRUKO NASLJEĐIVANJE - SAN ILI JAVA 8?

VIŠESTRUKO NASLJEĐIVANJE - SAN ILI JAVA 8? VIŠESTRUKO NASLJEĐIVANJE - SAN ILI JAVA 8? SAŽETAK Višestruko nasljeđivanje klasa je dosta dugo vremena neopravdano držano kao kompleksno i nepotrebno. Vjerojatno je jedan od glavnih razloga taj što je

More information

Objektno orijentirano programiranje. Auditorne vježbe

Objektno orijentirano programiranje. Auditorne vježbe Objektno orijentirano programiranje Auditorne vježbe Elektrotehnički fakultet Osijek Kneza Trpimira 2b 31000 Osijek www.etfos.hr 1. UVOD U C++ 1.1 Strukturno programiranje i C++ U programiranju danas dominiraju

More information

pojedinačnom elementu niza se pristupa imeniza[indeks] indeks od 0 do n-1

pojedinačnom elementu niza se pristupa imeniza[indeks] indeks od 0 do n-1 NIZOVI Niz deklarišemo navođenjemtipa elemenata za kojim sledi par srednjih zagrada[] i naziv niza. Ako je niz višedimenzionalni između zagrada[] se navode zarezi, čiji je broj za jedan manji od dimenzija

More information

Java IMI PMF KG OOP 09 AKM. Objekti i klase

Java IMI PMF KG OOP 09 AKM. Objekti i klase Java 1 Objekti i klase Usage Modifiers 2 Uz varijable je moguće koristiti modifikatore static -označava varijablu koja je zajednička svim objektima koji su instance date klase final -definiše konstante

More information

Računarske osnove Interneta (SI3ROI, IR4ROI)

Računarske osnove Interneta (SI3ROI, IR4ROI) Računarske osnove terneta (SI3ROI, IR4ROI) Vežbe MPLS Predavač: 08.11.2011. Dražen Drašković, drazen.draskovic@etf.rs Autori: Dražen Drašković Naučili ste na predavanjima MPLS (Multi-Protocol Label Switching)

More information

Uputstvo za podešavanje mail klijenta

Uputstvo za podešavanje mail klijenta Uputstvo za podešavanje mail klijenta 1. Podešavanje Thunderbird mail klijenta 1.1 Dodavanje mail naloga Da biste podesili Vaš mail klijent (u ovom slučaju Thunderbird) da prima i šalje mail-ove potrebno

More information

Strukture Klase i OOP

Strukture Klase i OOP Strukture Klase i OOP Strukture (tip struct) Podatkovni tip struct Derivirani - izvedeni podatkovni tip stvara ga programer grupa logički povezanih podataka različitih podatkovnih tipova (npr. char, int,

More information

NEKE OBJEKTNE OSOBINE ORACLE PL/SQL 9i JEZIKA (usporedba sa OOPL jezicima C++, Eiffel i Java)

NEKE OBJEKTNE OSOBINE ORACLE PL/SQL 9i JEZIKA (usporedba sa OOPL jezicima C++, Eiffel i Java) NEKE OBJEKTNE OSOBINE ORACLE PLSQL 9i JEZIKA (usporedba sa OOPL jezicima C++, Eiffel i Java) SAŽETAK Oracle korporacija je 1997. godine objavila Oracle 8.0 verziju baze i nazvala ju objektnorelacijskom.

More information

Uvod u programiranje - vežbe. Kontrola toka izvršavanja programa

Uvod u programiranje - vežbe. Kontrola toka izvršavanja programa Uvod u programiranje - vežbe Kontrola toka izvršavanja programa Naredbe za kontrolu toka if, if-else, switch uslovni operator (?:) for, while, do-while break, continue, return if if (uslov) naredba; if

More information

Uputstvo za korišćenje logrotate funkcije

Uputstvo za korišćenje logrotate funkcije Copyright AMRES Sadržaj Uvod 3 Podešavanja logrotate konfiguracionog fajla 4 Strana 2 od 5 Uvod Ukoliko je aktivirano logovanje za RADIUS proces, može se desiti da posle određenog vremena server bude preopterećen

More information

Algoritmi i programiranje

Algoritmi i programiranje Algoritmi i programiranje Metode Prof. dr. sc. Tonči Carić Sadržaj Definicija metoda Argument i parametar Metode s više parametara Metode bez rezultata Metode s rezultatom Logičke metode Globalne i lokalne

More information

namespace spojneice { public partial class Form1 : Form { public Form1() { InitializeComponent(); }

namespace spojneice { public partial class Form1 : Form { public Form1() { InitializeComponent(); } Spojnice using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO;

More information

PITANJA ZA II KOLOKVIJUM KLASE I OBJEKTI

PITANJA ZA II KOLOKVIJUM KLASE I OBJEKTI PITANJA ZA II KOLOKVIJUM KLASE I OBJEKTI 1. Enkapsulacija je podataka. skrivanje apstrakcija nasledivanje 2. Unutar deklaracije klase navode se: definicije funkcija clanica prototipovi (deklaracije) funkcija

More information

Objektno orjentirano programiranje

Objektno orjentirano programiranje Objektno orjentirano programiranje Predavanje 4 Objektno orijentirani koncepti Konstruktori Metoda koja se poziva prilikom stvaranja novog objekta Svojstveni su OO programiranju Imaju isto ime kao i klasa

More information

4.1 Učitavanje podatka tipa string Učitavanje brojčanih vrijednosti Rad sa dinamičkim objektima... 7

4.1 Učitavanje podatka tipa string Učitavanje brojčanih vrijednosti Rad sa dinamičkim objektima... 7 Java zadaci Zadaci 1. Priprema novog projekta... 1 2. Organizacija klasa u fajlove... 2 3. Ispis vrijednosti u konzolni prozor... 3 4. Učitavanje vrijednosti sa konzolnog prozora... 4 4.1 Učitavanje podatka

More information

VDSL modem Zyxel VMG1312-B10A/B30A

VDSL modem Zyxel VMG1312-B10A/B30A VDSL modem Zyxel VMG1312-B10A/B30A Default Login Details LAN IP Address http://192.168.2.1 User Name user Password 1234 Funkcionalnost lampica Power lampica treperi kratko vrijeme nakon uključivanja modema,

More information

OBJEKTNO ORIJENTISANO PROGRAMIRANJE

OBJEKTNO ORIJENTISANO PROGRAMIRANJE OBJEKTNO ORIJENTISANO PROGRAMIRANJE PREDAVANJE 12: NASLEĐIVANJE Miloš Kovačević Đorđe Nedeljković 1 /17 OSNOVNI KONCEPTI - Statički i dinamički tipovi podataka - Prepisivanje metoda superklase - Polimorfizam

More information

PROGRAMIRANJE. Teme. Packages Reference objekata Inheritance nasljeđivanje Exceptions. Amir Hajdar

PROGRAMIRANJE. Teme. Packages Reference objekata Inheritance nasljeđivanje Exceptions. Amir Hajdar PROGRAMIRANJE Amir Hajdar Teme 2 Packages Reference objekata Inheritance nasljeđivanje Exceptions Packages API Application Programmer Interface Sve klase ponuđene u sklopu Java jezika, uključujući i kompajler

More information

Upute za postavljanje Outlook Expressa

Upute za postavljanje Outlook Expressa Upute za postavljanje Outlook Expressa Prije postavljanja klijenata morate obavezno obaviti prvu prijavu na web mail kako bi aktivirali vaš račun na novom sustavu. Ukoliko niste obavili prvu prijavu, nećete

More information

Informatika Uvod u C#,.NET Framework i Visual Studio... nastavak...

Informatika Uvod u C#,.NET Framework i Visual Studio... nastavak... Informatika Uvod u C#,.NET Framework i Visual Studio... nastavak... Prof. dr. sc. Tomislav Pribanić Izv. prof. dr. sc. Vedran Podobnik Doc. dr. sc. Marija Seder Sveučilište u Zagrebu Fakultet elektrotehnike

More information

Računarski praktikum 4

Računarski praktikum 4 Sveučilište u Zagrebu PMF Matematički odjel Klase i objekti Računarski praktikum 4 Vježbe 08 Matko Botinčan Vinko Petričević Krunoslav Puljić 6.11.2007. Računarski praktikum 4 - Vježbe 07 2 Proceduralni

More information

Binarne hrpe. Strukture podataka i algoritmi VJEŽBE 26. siječnja / 133

Binarne hrpe. Strukture podataka i algoritmi VJEŽBE 26. siječnja / 133 Binarne hrpe Potpuno binarno stablo binarno stablo u kojem svaki čvor koji nije list ima točno 2 nasljednika. Binarna hrpa potpuno binarno stablo u kojem svaki čvor koji nije list ima veću ključnu vrijednost

More information

For. 1) program ispis; {ispisuje brojeve od 1 do 5 jedan ispod drugog} uses wincrt; var s,i:integer; begin for i:=1 to 5do writeln(i); end.

For. 1) program ispis; {ispisuje brojeve od 1 do 5 jedan ispod drugog} uses wincrt; var s,i:integer; begin for i:=1 to 5do writeln(i); end. For 1) program ispis; {ispisuje brojeve od 1 do 5 jedan ispod drugog} for i:=1 to 5do writeln(i); 2) program ispis; {ispisuje brojeve od 5 do 1 jedan ispod drugog} for i:=5 downto 1 do writeln(i); 3) program

More information

6. SWITCH IZRAZ I PETLJE

6. SWITCH IZRAZ I PETLJE 6.. Switch izraz i petlje 6. SWITCH IZRAZ I PETLJE SADRŽAJ 1. switch izraz (kontrolna struktura) 2. while petlja. 3. do-while petlja. for petlja. Kontrola izvršavanja petlje - break i continue naredbe

More information

Mašinska vizija. Dr Nenad Jovičić tnt.etf.rs/~mv

Mašinska vizija. Dr Nenad Jovičić tnt.etf.rs/~mv Mašinska vizija Dr Nenad Jovičić 2017. tnt.etf.rs/~mv Linearne 2D geometrijske transformacije 2D geometrijske transformacije Pretpostavka: Objekti u 2D prostoru se sastoje iz tačaka i linija. Svaka tačka

More information

Sveučilište u Zagrebu PMF Matematički odsjek. Mreže računala. Vježbe 08. Zvonimir Bujanović Slaven Kožić Vinko Petričević

Sveučilište u Zagrebu PMF Matematički odsjek. Mreže računala. Vježbe 08. Zvonimir Bujanović Slaven Kožić Vinko Petričević Sveučilište u Zagrebu PMF Matematički odsjek Mreže računala Vježbe 08 Zvonimir Bujanović Slaven Kožić Vinko Petričević Uvod: (X)HTML i CSS Na ovim i idućim vježbama naučit ćemo osnove jezika za opisivanje

More information

16. Sigurnije programiranje

16. Sigurnije programiranje 16. Sigurnije programiranje 16.1 Pretvorba tipova Pretvorba realnog broja u cijeli broj se može izvršiti naredbama: int i; double d; ili: i = (int) d; i = int(d); U cilju bolje kontrole pretvorbe tipova

More information

public static void main(string []args) { System.out.println("Hello World"); /* prints Hello World */

public static void main(string []args) { System.out.println(Hello World); /* prints Hello World */ Java Uvod Hello world primer Java program predstavlja skup objekata koji prozivaju jedni drugima metode i tako komuniciraju. Izvorni kod se uvek čuva u datotekama sa ekstenzijom.java. Ispod je predstavljen

More information

modifier returnvaluetype methodname(list of parameters) { // Method body; }

modifier returnvaluetype methodname(list of parameters) { // Method body; } Početna grupa, 28.11.2015. Metodi 1. Metodi opšti oblik metoda: modifier returnvaluetype methodname(list of parameters) // Method body; 2. Ime metoda: početno slovo je malo, a zatim slijede slova, cifre

More information

Nasleđivanje i izvedene klase u jeziku C++

Nasleđivanje i izvedene klase u jeziku C++ Tema 08 Nasleđivanje i izvedene klase u jeziku C++ dr Vladislav Miškovic vmiskovic@singidunum.ac.rs Fakultet za informatiku i računarstvo - Tehnički fakultet OBJEKTNO ORIJENTISANO PROGRAMIRANJE 2016/2017

More information

VHDLPrimeri Poglavlje5.doc

VHDLPrimeri Poglavlje5.doc 5. VHDL opis kola koja obavljaju osnovne aritmetičke funkcije Sabirači Jednobitni potpuni sabirač definisan je tablicom istinitosti iz Tabele 5.1. Tabela 5.1. cin a b sum cout 0 0 0 0 0 0 0 1 1 0 0 1 0

More information

x y = z Zadaci - procedure

x y = z Zadaci - procedure Zadaci - procedure Zad1. Data je kvadratna meta u koordinatnom sistemu sa koordinatama A(0,0), B(1,0), C(1,1), D(0,1). Sastaviti proceduru Gadjanje koja će odrediti broj poena na sledeći način: ako je

More information

TEHNIKA I INFORMATIKA U OBRAZOVANJU

TEHNIKA I INFORMATIKA U OBRAZOVANJU TEHNIKA I INFORMATIKA U OBRAZOVANJU Konferencija 32000 Čačak 9-11. Maja 2008. UDK: 004 : 371 Stručni rad VEZA ZAVISNOSTI ACCESS Momčilo Vujičić 1, Munir Šabanović 2 Rezime: U radu je opisana veza zavisnosti

More information

KLASIFIKACIJA JELENA JOVANOVIĆ. Web:

KLASIFIKACIJA JELENA JOVANOVIĆ.   Web: KLASIFIKACIJA JELENA JOVANOVIĆ Email: jeljov@gmail.com Web: http://jelenajovanovic.net PREGLED PREDAVANJA Šta je klasifikacija? Binarna i više-klasna klasifikacija Algoritmi klasifikacije Mere uspešnosti

More information

Informacioni sistemi i baze podataka

Informacioni sistemi i baze podataka Fakultet tehničkih nauka, Novi Sad Predmet: Informacioni sistemi i baze podataka Dr Slavica Kordić Milanka Bjelica Vojislav Đukić Rad u učionici (1/2) Baze podataka (db2015): Studentska korisnička šema

More information

String. String. Kreiranje string objekta pomoću string literala (konstanti) Kreiranje string objekta

String. String. Kreiranje string objekta pomoću string literala (konstanti) Kreiranje string objekta String string ili znakovni niz (string) nije niz znakova u Javi su stringovi klase String paketa java.lang!!! Usporedba: char gf = G ; Niz znakova String char [] gf = { G, e, o, d, e, t, s, k, i ; String

More information

Objektno orijentirano programiranje

Objektno orijentirano programiranje Objektno orijentirano programiranje 9. Kolekcije Zaštićeno licencom http://creativecommons.org/licenses/by-nc-sa/3.0/hr/ Creative Commons slobodno smijete: dijeliti umnožavati, distribuirati i javnosti

More information

CSE 8B Programming Assignments Spring Programming: You will have 5 files all should be located in a dir. named PA3:

CSE 8B Programming Assignments Spring Programming: You will have 5 files all should be located in a dir. named PA3: PROGRAMMING ASSIGNMENT 3: Read Savitch: Chapter 7 Programming: You will have 5 files all should be located in a dir. named PA3: ShapeP3.java PointP3.java CircleP3.java RectangleP3.java TriangleP3.java

More information

Događaj koji se javlja u toku izvršenja programa i kvari normalno izvršenje. Kada se desi izuzetak, sistem pokušava da pronađe način da ga obradi.

Događaj koji se javlja u toku izvršenja programa i kvari normalno izvršenje. Kada se desi izuzetak, sistem pokušava da pronađe način da ga obradi. Obrada izuzetaka Šta je izuzetak? Događaj koji se javlja u toku izvršenja programa i kvari normalno izvršenje. Kada se desi izuzetak, sistem pokušava da pronađe način da ga obradi. Prosleđuje izuzetak,

More information

Programiranje III razred

Programiranje III razred Tehnička škola 9. maj Bačka Palanka Programiranje III razred Konverzija tipova Konverzija tipova Prilikom komunikacije aplikacije sa korisnikom, korisnik najčešće unosi ulazne podatke koristeći tastaturu.

More information

UPUTSTVO ZA KORIŠĆENJE NOVOG SPINTER WEBMAIL-a

UPUTSTVO ZA KORIŠĆENJE NOVOG SPINTER WEBMAIL-a UPUTSTVO ZA KORIŠĆENJE NOVOG SPINTER WEBMAIL-a Webmail sistem ima podršku za SSL (HTTPS). Korištenjem ovog protokola sva komunikacija između Webmail sistema i vašeg Web čitača je kriptovana. Prilikom pristupa

More information

Programske paradigme Funkcionalna paradigma

Programske paradigme Funkcionalna paradigma Programske paradigme Funkcionalna paradigma 1. čas: Uvod u funkcionalno programiranje. Programski jezik Haskel. Upoznavanje sa razvojnim okruženjem. Tipovi podataka. Funkcionalno programiranje Stil u programiranju

More information

Uvod u relacione baze podataka

Uvod u relacione baze podataka Uvod u relacione baze podataka Ana Spasić 5. čas 1 Podupiti, operatori exists i in 1. Izdvojiti imena i prezimena studenata koji su položili predmet čiji je identifikator 2001. Rešenje korišćenjem spajanja

More information

Broj Pitanje Bodovi 1. Navedi osnovne razloge uvođenja objektno orjentiranog pristupa? 2. Što je klasa u programskom jeziku?

Broj Pitanje Bodovi 1. Navedi osnovne razloge uvođenja objektno orjentiranog pristupa? 2. Što je klasa u programskom jeziku? Veleučilište u Rijeci Poslovni odjel Ispit iz OOT I - Grupa A 28.6.2008 Stručni studij informatike Ime i prezime: JMBAG: Bod/ocj: Broj Pitanje Bodovi 1. Navedi osnovne razloge uvođenja objektno orjentiranog

More information

Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R.

Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. R version 2.13.1 (2011-07-08) Copyright (C) 2011 The R Foundation for Statistical Computing ISBN 3-900051-07-0 Platform: x86_64-pc-mingw32/x64 (64-bit) R is free software and comes with ABSOLUTELY NO WARRANTY.

More information

Vidljivost TipPovratneVrednosti ImeFunkcije (NizParametara) { TeloFunkcije }

Vidljivost TipPovratneVrednosti ImeFunkcije (NizParametara) { TeloFunkcije } 1. FUNKCIJE I STRUKTRUE PROGRAMA Složeni problemi lakše se rašavaju ako se podele na manje celine koje mogu nezavisno da se rešavaju. Rešenje celokupnog složenog problema dobija se kombinovanjem rešenja

More information

var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin ListBox1.Items.LoadFromFile('d:\brojevi.

var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin ListBox1.Items.LoadFromFile('d:\brojevi. 1 PANEL komponenta kontejnerska, slična GropBox. Roditeljska komponenta za komp. postavljene na nju. Zajedno se pomeraju. Caption svojstvo za naziv; Alighment pomera svojstvo Caption levo i desno; Align

More information

... ; ako je a n parno. ; ako je a n neparno

... ; ako je a n parno. ; ako je a n neparno Zadaci vezani za ciklus sa preduslovom (WHILE) Zad. Napisati program za izračunavanje n_tog stepena broja a. Zad2. Napisati program za izračunavanje sume S kvadrata parnih i kubova neparnih prirodnih brojeva

More information

Java. Ugnježdeni tipovi IMI PMF KG OOP 09 AKM. najveći deo teksta je preuzet sa slajdova Prof. Dragana Milićeva (ETF Bg) namenjenih pedmetu OOP2

Java. Ugnježdeni tipovi IMI PMF KG OOP 09 AKM. najveći deo teksta je preuzet sa slajdova Prof. Dragana Milićeva (ETF Bg) namenjenih pedmetu OOP2 Java IMI PMF KG OOP 0 AKM 1 Ugnježdeni tipovi najveći deo teksta je preuzet sa slajdova Prof. Dragana Milićeva (ETF Bg) namenjenih pedmetu OOP2 Ugneždeni tipovi IMI PMF KG OOP 0 AKM 2 Unutrašnje klase

More information

Višestruko nasleđivanje nije moguće u jeziku Scala

Višestruko nasleđivanje nije moguće u jeziku Scala Funkcionalno programiranje Crte (Traits) -- Funkcionalno programiranje -- ETF Beograd, 2017 Motivacija Višestruko nasleđivanje nije moguće u jeziku Scala izbegavanje nepogodne dijamantske strukture Rešenje

More information

Push(3,&S) 3 1 S Uvijek trebamo paziti da ne zovemo Pop nad praznim stogom.

Push(3,&S) 3 1 S Uvijek trebamo paziti da ne zovemo Pop nad praznim stogom. tog (tack) tog je posebna vrsta liste: od svih operacija dozvoljeno je ubacivanje, brisanje i gledanje sadržaja elementa samo na jednom kraju liste koji zovemo vrh stoga. tog zovemo i lifo last in first

More information

/*#include <iostream> // Prvi zadatak sa integralnomg ispita

/*#include <iostream> // Prvi zadatak sa integralnomg ispita /*#include // Prvi zadatak sa integralnomg ispita 27.01.2015 #include using std::setw; using std::cout; const int red(5), kolona(4); void unos(int[]); void ispis(int[][kolona]); float

More information

Iskočni okviri (eng. popup boxes)

Iskočni okviri (eng. popup boxes) 9. JavaScript 2.dio Iskočni okviri, funkcije, petlje, događaji M. Zekić-Sušac 1 Iskočni okviri (eng. popup boxes) U JavaScriptu mogu se koristiti 3 vrste iskočnih okvira: Upozoravajući okviri (eng. alert

More information

Microsoftova productivity vizija

Microsoftova productivity vizija Office 365 Microsoftova productivity vizija Hybrid On Premises Online Isto iskustvo na raznim uređajima Lokalno ili cloud Messaging Voice & Video Content Management Enterprise Social Reporting & Analytics

More information

Sveučilište u Zagrebu Fakultet strojarstva i brodogradnje. WEB programiranje HTML & CSS

Sveučilište u Zagrebu Fakultet strojarstva i brodogradnje. WEB programiranje HTML & CSS Sveučilište u Zagrebu Fakultet strojarstva i brodogradnje WEB programiranje HTML & CSS Autor/i: Juraj Benić 2018 1. Zadatak Kreirati stranicu kojoj će naslov biti Zadatak 1. i veličina teksta 20px te staviti

More information

PVC Eco. Eco Prozori i Balkonska Vrata Bela Boja Dezeni drveta su 40% skuplji

PVC Eco. Eco Prozori i Balkonska Vrata Bela Boja Dezeni drveta su 40% skuplji PVC Eco Eco Prozori i Balkonska Vrata PVC prozori i Balkonska vrata od 5-komornik profilanemačkog proizvođača Trocal 70.A5 Niskoemisiono 2-slojno staklo 4+16+4mm, proizvođaća Guardian iz Luxemburga Profil:

More information

Računarska grafika-vežbe. 3 JavaFX animacija i interakcija

Računarska grafika-vežbe. 3 JavaFX animacija i interakcija Računarska grafika-vežbe 3 JavaFX animacija i interakcija Zadatak1: Spirala+ Kolokvijum K1 09/10, zadatak prerađen za JavaFX Napisati klasu koja sastavlja graf scene za crtanje centralno simetrične figure

More information

Tema 8: Koncepti i teorije relevantne za donošenje odluka (VEŽBE)

Tema 8: Koncepti i teorije relevantne za donošenje odluka (VEŽBE) Tema 8: Koncepti i teorije relevantne za donošenje odluka (VEŽBE) SISTEMI ZA PODRŠKU ODLUČIVANJU dr Vladislav Miškovic vmiskovic@singidunum.ac.rs Fakultet za računarstvo i informatiku 2013/2014 Tema 8:

More information

JAVA PROGRAMIRANJE 1

JAVA PROGRAMIRANJE 1 JAVA PROGRAMIRANJE 1 1. Uvod 1. Uvod - kako početi programirati u JAVA jeziku Cilj ovog poglavlja je napisati i pokrenuti jednostavnije Java programe. SADRŽAJ 1. O predmetu. 2. Programi i programski jezici.

More information

COMP200 - Object Oriented Programming: Test One Duration - 60 minutes

COMP200 - Object Oriented Programming: Test One Duration - 60 minutes COMP200 - Object Oriented Programming: Test One Duration - 60 minutes Study the following class and answer the questions that follow: package shapes3d; public class Circular3DShape { private double radius;

More information

PVC Eco. Eco Prozori i Balkonska Vrata Bela Boja Dezeni drveta su 40% skuplji

PVC Eco. Eco Prozori i Balkonska Vrata Bela Boja Dezeni drveta su 40% skuplji PVC Eco Eco Prozori i Balkonska Vrata Bela Boja Dezeni drveta su 40% skuplji PVC prozori i Balkonska vrata od 5-komornik profilanemačkog proizvođača Trocal 70.A5 Okovi za PVC stolariju nemačkog proizvođača

More information

Programiranje Programski jezik C. Sadržaj. Datoteke. prof.dr.sc. Ivo Ipšić 2009/2010

Programiranje Programski jezik C. Sadržaj. Datoteke. prof.dr.sc. Ivo Ipšić 2009/2010 Programiranje Programski jezik C prof.dr.sc. Ivo Ipšić 2009/2010 Sadržaj Ulazno-izlazne funkcije Datoteke Formatirane datoteke Funkcije za rad s datotekama Primjeri Datoteke komunikacija između programa

More information

NIZOVI.

NIZOVI. NIZOVI LINKOVI ZA KONZOLNI C# OSNOVNO http://www.mycity.rs/net/programiranje-u-c-za-osnovce-i-srednjoskolce.html http://milan.milanovic.org/skola/csharp-00.htm Niz deklarišemo navođenjem tipa elemenata

More information

Chapter 21- Using Generics Case Study: Geometric Bunch. Class: Driver. package csu.matos; import java.util.arraylist; public class Driver {

Chapter 21- Using Generics Case Study: Geometric Bunch. Class: Driver. package csu.matos; import java.util.arraylist; public class Driver { Chapter 21- Using Generics Case Study: Geometric Bunch In this example a class called GeometricBunch is made to wrap around a list of GeometricObjects. Circle and Rectangle are subclasses of GeometricObject.

More information

2. Linijska algoritamska struktura

2. Linijska algoritamska struktura Univerzitet u Nišu Građevinsko-arhitektonski fakultet Informatika 2 2. Linijska algoritamska struktura Milica Ćirić Blokovi za prikaz algoritma Algoritam se vizuelno može prikazati pomoću blok dijagrama,

More information

Objektno orijentirano programiranje

Objektno orijentirano programiranje Objektno orijentirano programiranje 11. Datoteke Zaštićeno licencom http://creativecommons.org/licenses/by-nc-sa/3.0/hr/ Creative Commons slobodno smijete: dijeliti umnožavati, distribuirati i javnosti

More information

Predavanje 10. Odjel za matematiku 1 IP NETWORKING. Detaljnije o domenama, hostovima, socketima, TLSu, SSLu

Predavanje 10. Odjel za matematiku 1 IP NETWORKING. Detaljnije o domenama, hostovima, socketima, TLSu, SSLu Predavanje 10 Odjel za matematiku 1 IP NETWORKING Detaljnije o domenama, hostovima, socketima, TLSu, SSLu Predavanje 10 Odjel za matematiku 2 Imena hostova (posluţitelja) i imena domena Top-level domain

More information

CS 1301 Ch 8, Handout 2

CS 1301 Ch 8, Handout 2 CS 1301 Ch 8, Handout 2 This section discusses the split and match methods of the String class, regular expressions, and creating objects from strings, and command line arguments. The split Method 1. The

More information

NISKE (stringovi) u C-u: podsećanje. 1. Primer programa koji uvodi niske karaktera terminisane nulom

NISKE (stringovi) u C-u: podsećanje. 1. Primer programa koji uvodi niske karaktera terminisane nulom NISKE (stringovi) u C-u: podsećanje 1. Primer programa koji uvodi niske karaktera terminisane nulom #include main() /* Poslednji bajt niske karaktera s se postavlja na '\0' tj. 0 char s[] = 'a',

More information

RDF, RDFS i JSON-LD. NIKOLA MILIKIĆ URL: nikola.milikic.info

RDF, RDFS i JSON-LD. NIKOLA MILIKIĆ   URL: nikola.milikic.info RDF, RDFS i JSON-LD NIKOLA MILIKIĆ EMAIL: nikola.milikic@fon.bg.ac.rs URL: nikola.milikic.info Linked Data Linked Data predstavlja mrežu podataka koji su opisani na način da ih mogu razumeti mašine (koristeći

More information

Uvod u Javu. Programski jezik Java Izvršavanje Java programa BlueJ razvojno okruženje Elementi Jave Tipovi podataka Prvi programi

Uvod u Javu. Programski jezik Java Izvršavanje Java programa BlueJ razvojno okruženje Elementi Jave Tipovi podataka Prvi programi 2 Uvod u Javu Programski jezik Java Izvršavanje Java programa BlueJ razvojno okruženje Elementi Jave Tipovi podataka Prvi programi 12 Java i objektno orijentirano programiranje Programski jezik Java Krajem

More information

KURSORI BAZE PODATAKA U ORACLE 11g

KURSORI BAZE PODATAKA U ORACLE 11g KURSORI BAZE PODATAKA U ORACLE 11g SAŽETAK Kursor baze podataka je privatno SQL područje u kojem se čuvaju informacije za procesiranje određene SQL naredbe. Oracle PLSQL jezik koristi implicitne i eksplicitne

More information

TP-LINK TL-WPA4220 strujni prijenosnik Internet ili IPTV signala s bežičnim modulom. Priručnik za korištenje i brzu instalaciju

TP-LINK TL-WPA4220 strujni prijenosnik Internet ili IPTV signala s bežičnim modulom. Priručnik za korištenje i brzu instalaciju TP-LINK TL-WPA4220 strujni prijenosnik Internet ili IPTV signala s bežičnim modulom Priručnik za korištenje i brzu instalaciju Sadržaj ŠTO JE TP-LINK TL-WPA4220... 3 KAKO KORISITI TP-LINK TL-WPA4220...

More information