Professional Documents
Culture Documents
Igor Baranovski
Kancelarija 121B
baranovski@uns.ac.rs
Plan rada
Uvod u Javu
Neuronske mree
Fuzzy logika
Ispitne obaveze
x = y + 2; x++; x += y;x == 8;
x || y (x < 10) && (y > 1)
Nizovi
Deklaracija niza:
tip_elementa ime[ ]
Tip elementa je ili neki primitivan tip, ili neka klasa.
int[ ] a; ili int a [ ];
Ovim je samo deklarisan niz ali nije i napravljen.
Kreiranje niza podrazumeva da se odvoji deo memorije u kojem e biti
smeteni elementi niza.
a = new int[5]; ili a = {1, 2, 3, 4, 5};
Definsan je niz a koji ima 5 elemenata i svi elementi imaju inicijalnu
vrednost 0.
Elementima niza se pristupa preko uglastih zagrada i indeksa (rednog broja)
elementa. Prvi element uvek ima indeks nula.
int e1 = a[0]; int sum = a[0] + a[1] + a[2] + a[3] + a[4];
Ukoliko pokuamo da pristupimo elementu niza koji ne postoji dogodie se
izuzetak, program e prestati sa radom!
Viedimenzionalni nizovi se predstavljaju kao nizovi nizova.
int[ ][ ] a = {{1, 2, 3, 4, 5}, {1, 2, 3, 4, 5}}; ili int[ ][ ] a = new int[2][3];
Kontrola toka
if . else for
If (x > 10) for(inicijalizacija; uslov;
{ korekcija){
naredbe; naredbe;
} else { }
naredbe; for(int i = 0; i < 10 ; i++{
} naredbe;
}
switch
switch (x) while
{ while(uslov){
case 1: naredbe;
naredbe; }
break; while(x <10){
case 25: naredbe;
naredbe; }
break; do while
default: do {
} naredbe;
break } while(uslov)
Prekida izvravanje
continue
Nastavlja izvravanje petlje
Metode
Osnovna motivacija je da se problem koji reavamo dekomponuje na manje
ili da se ponavljajui delovi koda zamene pozivom metoda.
Sintaksa definisanja metoda je
modifikator_pristuta tip_promenljive naziv_metode(argumenti)
telo metode
Primer:
int saberi(int a, int b){
return a + b;
}
Kljuna re return vraa vrednost metode. Svaka metoda mora da bude
pozvana iz neke druge metode.
int a = 5, y = 3;
int c = saberi(x, y);
Parametri ili argumenti metode mogu biti primitivni tipovi i reference na
objekat.
Tip rezultata metode moe biti primitivni tip ili reference na objekat.
Ukoliko metoda ne prima vrednost, unutar malih zagrada se ne stavlja lista
parametara.
Ukoliko metoda ne vraa vrednost koristi se primitivni tip void.
Tok izvrenja koda unutar metode se prekida nailaskom na kljunu re return
ili nailaskom na vitiastu zagradu ukoliko metoda ne vraa vrednost.
Sve je objekat
Java je objektno-orijentisani jezik, to znai da ima konstrukcije za predstavljanje objekata iz
realnog sveta.
U objektno-orijentisanim jezicima za reavanje problema koriste se entiteti ili objekti koji su
povezani sa datim problemima.
Objekt moe da bude bilo ta. Objekti su svuda oko nas.
Objekat Automobil bi mogao da predstavlja odreenu klasu objekata automobila u okolini.
Ona e sadrati metode pomou kojih se opisuje ono to u odreenom automobilu moe da se
uradi: startovanje i gaenje motora, ubrzavanje, koenje i slino.
Klasa je termin koji se odnosi na specifikaciju skupa objekata koji imaju zajednika svojstva.
Svaki java program sadri bar jednu klasu.
Za svaki objekat koji e va program da upotrebi mora negde da postoji odgovarajua
definicija klase u koju se uklapaju objekti tog tipa.
Klase u javi sadre metode i polja(atribute).
Metode predstavljaju akcije ili funkcije koje klasa moe da izvrava.
Atributi se ponaaju kao globalne promenljive unutar te klase.
class Automobil{
// Ovde se nalazi ono to detaljno definie klasu.
// Ovde bismo mogli da definiemo naziv automobila,
// moda boju i sve drugo to nam je potrebno.
}
Inicijalizacija objekata
Prilikom konstruisanja novog objekta, nakon alokacije potrebne
memorije za smetanje objekta, bie pozvana specijalna metoda
namenjena za inicijalizaciju objektra nazvana kontruktor.
Konstruktor obavezno ima naziv jednak nazivu klase i nema nikakav
povratni tip!
Osnovna namena je da se u kontruktoru obavi inicijalizacija atrubuta.
Class A
{
A(){
// inicijalizacija objekta
}
}
Primer:
A mojaKlasa = new A();
Ulazni deo elije sadri skup razgranatih niti nazvanih dendriti. Telo elije
obrauje signale koje dobija od dendrita, dobijajui na taj nain izlazni impuls
koji se prosleuje na sve krajeve razgranate niti nazvane aksonom, koji
predstavlja izlazni deo elije. Mesto gde se akson dodiruje sa dendritima neke
druge elije se naziva sinapsa. To je mesto gde se impulsi prenose od jedne do
druge nervne elije (tzv. celularna transdukcija)
Bioloke osnove neuronskih mrea
Vetaki neuron
Po analogiji sa biolokim neuronom, formiran je
model vetakog neurona:
xi (i = 1, 2, ... , m) ulazne veze, vrednosti koje neuron
prima (signali ili potencijali kod biolokog neurona);
wki (i = 1, 2, ... , m) tzv. teinski koeficijenti (sinapse
kod biolokog neurona);
uk zbirna vrednost, koja se dobija sabiranjem
ponderisanih ulaza (telo prirodnog neurona);
a(.) aktivacijska funkcija (akson kod biolokog
neurona);
prag aktivacije (bijas) ;
yi vrednost izlaza tj. outputa (potencijal izlaza kod
biolokog neurona).
Vetaki neuron
x2 x2
+
+ -
+
-
+ - x1 x1
-
- +
Perceptron
x1 wj1
hj=wixi+b yj=step(hj)
xi wji hj
yj
Neuron
Atributi: Metode:
- Double[] tezine - getTezina(int i)
- Double b; - getBijas()
- Int f; - getFunkcija()
- getBrojUlaza()
Konstruktor: - getY(double[] ulazi)
- Neuron(broj_ulaza, funkcija) - setTezina(int i, double t)
- getF(double suma)
Veba 2
xi w1i h1
f(h1) y1
.
xn w1n
.
x1 wj1 .
xn wjn .
.
x1 wm1
.
xi wmi hm
f(hm) ym
xn wmn
Obuka neurona
x1 wj1
xi wji hj
f(hj) yj
Konstruktor:
- Sloj(broj_ulaza, funkcija, broj_neurona)
Metode:
- getNeuron(int i)
- getFunkcija()
- getBrojNeurona()