Programiranje v Javi. Viljan Mahnič. UNIVERZA V LJUBLJANI Fakulteta za računalništvo in informatiko

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Programiranje v Javi. Viljan Mahnič. UNIVERZA V LJUBLJANI Fakulteta za računalništvo in informatiko"

Transcript

1 Viljan Mahnič UNIVERZA V LJUBLJANI Fakulteta za računalništvo in informatiko

2 Programiranje in programski jeziki Kaj je računalniški program Štiri generacije programskih jezikov značilnosti visokonivojskih programskih jezikov 3. generacije Programski jezik Java razvojno okolje, ki ga bomo uporabljali pri svojem delu Primer preprostega programa vsak program napišemo kot razred metoda main() pravila za pisanje imen, lepopisna pravila, komentarji primer služi kot ogrodje kateregakoli programa postopek priprave in izvajanja programa - 2 -

3 Programiranje in programski jeziki Računalniški program zaporedje ukazov, ki naj jih izvede računalnik ukazi morajo biti zapisani v nekem programskem jeziku Strojni jezik - jezik 1. generacije vsi ukazi in podatki morajo biti zapisani z ustrezno kombinacijo ničel in enic neprimeren začloveka Zbirni jezik - jezik 2. generacije vpeljava mnemonikov (imen) za ukaze in podatke še vedno zahteva programiranje na nizkem nivoju - 3 -

4 Programiranje in programski jeziki Visokonivojski programski jeziki 3. generacije bližji človeku: uporaba posameznih besed iz naravnega jezika (npr. if else ; do while; print ipd.) postopkovni: opisati je treba postopek, kako pridemo do rešitve algoritem: z nizom navodil podan postopek za reševanje problema za opis postopka zadostujejo 3 osnovni programski konstrukti zaporedje ali sekvenca izbira ali selekcija ponavljanje ali iteracija prevajalnik prevede izvorni program v obliko, ki se lahko izvede na računalniku primeri visokonivojskih programskih jezikov: Java, Pascal, Oberon, C, C++, Fortran, Cobol, Basic,

5 Programiranje in programski jeziki sintaksa: pravila za pisanje programov (slovnica) sintaktično pravilnost preverja prevajalnik logične napake odkrijemo šele med izvajanjem Visokonivojski programski jeziki 4. generacije nepostopkovni: opisati je treba, KAJ želimo dobiti kot rezultat, ne pa KAKO pridemo do njega uporabni predvsem za reševanje specifičnih problemov primeri: SQL, Prolog, Mantis Namen predmeta Programiranje I: spoznati osnove programiranja v enem izmed visokonivojskih programskih jezikov 3. generacije - 5 -

6 ProgramskijezikJava Objektno usmerjen programski jezik 3. generacije razvilo ga je podjetje Sun Microsystems Java TM 2 Platform Standard Edition (J2SE TM ), verzija splošno namenski programski jezik, uporaben za vse vrste aplikacij J2SE ni samo programski jezik, ampak obsega tudi programske knjižnice in izvajalno okolje (JVM - Java Virtual Machine) Glavne prednosti Jave objektna usmerjenost neodvisnost od platforme primernost za razvoj spletnih aplikacij varnost relativna enostavnost (v primerjavi s C++) - 6 -

7 Programski jezik Java Razvojno okolje potrebujemo razvojni komplet (JDK Java Development Kit) in preprost urejevalnik besedil, npr. Notepad (Beležnica) po namestitvi JDK znotraj izbrane mape dobimo več podmap bin orodja JDK (npr. prevajalnik) demo demonstracijski programi include datoteke za povezavo z izvorno strojno kodo jre izvajalno okolje lib knjižnice nastavitev sistemske poti do podmape bin (sistemska spremenljivka PATH) nastavitev sistemske poti do podmap s prevedenimi programi (sistemska spremenljivka CLASSPATH) Kompleksna razvojna orodja NetBeans, Eclipse, JBuilder, JDeveloper, JCreator itd

8 Naš prvi program public class Prvi{ public static void main(string[] args){ System.out.println("Nas prvi program"); } } Program izpiše niz med obema dvojnima narekovajema

9 Naš prvi program public class Prvi deklarira razred z imenom Prvi public je določilo za način dostopa (ang. access modifier) dostop je možen iz vseh razredov class je rezervirana beseda, ki označuje začetek deklaracije razreda ime razreda določi programer v skladu z naslednjimi pravili pričeti se mora s črko, podčrtajem ali znakom za dolar vsebuje lahko črke, številke, podčrtaje in znake za dolar ne sme biti enako nobeni izmed rezerviranih besed ne sme biti true, false ali null zgoraj našteta pravila veljajo za vsa imena v Javi Java razlikuje med velikimi in malimi črkami Prviin prvi sta dve različni imeni - 9 -

10 Naš prvi program priporočila za imena razredov ime razreda naj se začne z veliko začetnico (npr. Avtomobil) če je ime sestavljeno iz več besed, se vsaka beseda začne z veliko začetnico (npr. RedniStudent) ne uporabljamo podčrtajev (ime Redni_Student je nezaželeno) public static void main(string[] args) glava metode main izvajanje vsakega programa se prične z metodo main, ki je obvezna poleg metode main lahko program vsebuje še druge metode public in static sta določili za način dostopa static pomeni, da metoda lahko obstaja samostojno, ne da bi bila vezana na posamezne objekte nekega razreda statične metode so v pomnilniku shranjene samo enkrat vsi objekti uporabljajo isti "izvod" metode

11 Naš prvi program void je rezervirana beseda, ki pove, da metoda main ne vrne nobene vrednosti (String[] args)je deklaracija argumentov (parametrov) argumenti so podatki, ki jih metoda potrebuje za svoje delo navedemo jih ob klicu metode, npr. sestej(5,10); ali sestej(a,b); tudi če metoda main ne potrebuje argumentov, morajo biti deklarirani String pove, kakšnega tipa so argumenti: nizi znakov args je skupno ime za vse argumente oglata oklepaja označujeta, da argumenti tvorijo tabelo nizov

12 Naš prvi program System.out.println("Nas prvi program"); stavek, ki izpiše niz "Nas prvi program" na koncu vsakega stavka je podpičje niz je zaporedje znakov med dvema dvojnima narekovajema println je ime metode za izpis metodaprintln pripada objektu out, ki spada v razred System tipična notacija za klicanje metod: <razred>.<objekt>.<metoda> Zaviti oklepaji {} označujejo začetek in konec posameznih stavčnih blokov nastopajo vedno v parih prvi par: začetek in konec deklaracije razreda Prvi drugi par: začetek in konec deklaracije metode main

13 Naš prvi program Lepopisna pravila v Javi ni posebnih pravil glede presledkov, zamikov, skokov v novo vrstico ipd. zaradi boljše čitljivosti upoštevamo naslednja pravila: Komentarji začetni in končni oklepaj sta eden pod drugim vsak blok zamaknemo desno za nekaj presledkov vse stavke, ki pripadajo istemu bloku, pišemo enega pod drugim zaradi boljše dokumentacije programa tri vrste komentarjev: vrstični komentar: preostanek vrstice, ki sledi //, je komentar bločni komentar: tekst med /* in */ javadoc komentar: tekst med /** in */

14 Naš prvi program Zaključna ugotovitev čeprav še ne razumemo v celoti pomena vseh sestavnih delov, smo spoznali lupino, ki predstavlja ogrodje vsakega programa public class <ime razreda> { public static void main(string[] args) { // stavki, ki naj se izvedejo } }

15 Postopek priprave in izvajanja programa Program napišemo z urejevalnikom besedil, npr. Notepad izvorni program moramo shraniti kot navadno besedilo datoteka z izvornim programom mora imeti podaljšek java, npr. Prvi.java Program prevedemo z ukazom javac Prvi.java obstajati mora pot do prevajalnika, npr. path=c:\java\bin če se datoteka z izvornim programom nahaja v drugi mapi (poddirektoriju), moramo pred imenom datoteke navesti še pot, npr. javac c:\mojiprogrami\prvi.java program se prevede v vmesno kodo (ang. bytecode), ki je sestavljena iz množice virtualnih, od platforme neodvisnih ukazov vmesna koda je shranjena na datoteki s podaljškom class, npr. Prvi.class

16 Postopek priprave in izvajanja programa Izvajanje programa sprožimo z ukazom java Prvi virtualni ukazi se izvedejo na ti. virtualnem računalniku (JVM - Java Virtual Machine) uporaba vmesne kode omogoča platformno neodvisnost, vendar upočasni izvajanje, ker je treba med izvajanjem interpretirati virtualne ukaze Napake sintaktične napake odkrije prevajalnik vmesna koda se generira šele, ko odpravimo vse sintaktične napake logične napake se pojavijo med izvajanjem kljub temu, da je program sintaktično pravilen, ne dela tako, kot smo si zamislili postopnost pri razvoju omogoča sprotno odpravo napak

17 Osnovni podatkovni tipi Pojem podatkovnega tipa zakaj je pomemben Osem osnovnih podatkovnih tipov za tiste vrste podatkov, ki se najpogosteje uporabljajo glavne značilnosti vsakega tipa operacije, ki jih lahko izvajamo Deklaracije spremenljivk podatki, ki jih obdelujemo, so shranjeni v spremenljivkah uporabo vsake spremenljivke moramo prej napovedati: deklaracija

18 Osnovni podatkovni tipi Vsak podatek pripada točno določenemu tipu Tip podatka določa: zalogo vrednosti, ki jih lahko podatek zavzame operacije, ki jih lahko izvajamo nad podatkom V Javi imamo 8 osnovnih podatkovnih tipov numerični tipi (za predstavitev števil): za cela števila: byte, short, int, long za realna števila: float, double za logične vrednosti: boolean za znake: char

19 Cela števila Tipi za predstavitev celih števil vsako število je predstavljeno z ustrezno kombinacijo enic in ničel če imamo na voljo n bitov, lahko zapišemo 2 n različnih števil glavni problem: množica celih števil je omejena (čeprav je v matematiki neskončna) tip bitov minimalna vrednost maksimalna vrednost byte short int long

20 Cela števila Najpogostejše operacije operator opis primer + seštevanje 32+3, rezultat je 35 - odštevanje 32-3, rezultat je 29 * množenje 32*3, rezultat je 96 / deljenje 32/3, rezultat je 10 % ostanek 32%3, rezultat je 2 Pozor: rezultat celoštevilskih operacij je vedno tipa int ali long, četudi so operandi samo tipa byte ali short

21 Cela števila Posebne aritmetične operacije: bitni operatorji operator opis primer za števili in 2 10 & bitni IN & = = 2 10 bitni ALI = = ^ ekskluzivni ALI ^ = = ~ bitna negacija ~ = = << bitni pomik v levo << = = 108 >> pomik v desno s predznakom >>> pomik v desno z vstavljanjem ničel >> = = >> = = >>> = = >>> =

22 Realna števila Tipi za predstavitev realnih števil predstavitev s pomično vejico (ang. floating point) zapis vsakega števila je sestavljen iz treh delov predznak: prvi bit mantisa: za zapis decimalnih mest karakteristika: za zapis eksponenta primer: 135, = 0, * 10 3 glavni problem: zaradi omejenega števila bitov za predstavitev mantise ni moč predstaviti vseh decimalk (zaokrožitvena napaka) tip bitov minimalna abs. vrednost maksimalna abs. vrednost število točnih decimalnih mest float 32 1,4* ,4* do 7 double 64 4,9* ,8* do

23 Realna števila Računanje z realnimi števili na voljo so operatorji +, -, * in / Pretvorbe med numeričnimi tipi pri seštevanju (odštevanju, množenju, deljenju) dveh števil istega tipa je tip rezultata enak tipu obeh podatkov pri seštevanju (odštevanju, množenju, deljenju) dveh števil različnega tipa je tip rezultata enak višjemu izmed obeh tipov; pretvorba se izvrši avtomatsko primer: če seštejemo števili tipa int in float, je rezultat tipa float pretvorba iz višjega tipa v nižji se lahko izvrši na zahtevo programerja (ang. type casting)

24 Logične vrednosti Tip boolean zavzame lahko samo dve vrednosti true (resnično, da, 1) false (neresnično, ne, 0) Nad podatki tipa boolean lahko izvajamo logične operacije konjunkcija (logični IN, AND): && rezultat je true, če imata oba operanda vrednost true disjunkcija (logični ALI, OR): rezultat je true, če ima vsaj eden od operandov vrednost true negacija (NOT):! če ima operand vrednost true, postane false in obratno

25 Logične vrednosti Kratkostično ovrednotenje konjunkcije in disjunkcije recimo, da sta p in q dva pogoja, ki sta lahko izpolnjena ali ne p && q: če ima p vrednost false, potem vrednosti q sploh ni treba izračunati, saj je rezultat v vsakem primeru false p q: če ima p vrednost true, potem vrednosti q ni treba izračunati, saj je rezultat v vsakem primeru true prednosti kratkostičnega ovrednotenja hitrejše izvajanje enostavnejše programiranje: if (x!=0 && y/x>10) Polno ovrednotenje konjunkcije in disjunkcije namesto operatorjev && in uporabimo & in operatorja & in imata dva pomena pri celih številih pomenita bitni IN oziroma ALI pri logičnih vrednostih pomenita polno ovrednoten logični IN oziroma ALI

26 Logične vrednosti Rezultat, ki ga dobimo ob primerjanju dveh vrednosti je tipa boolean Primerjalni operatorji so prikazani v spodnji tabeli operator opis primer za true primer za false < manjše kot 5 < 7 7 < 5 > večje kot 7 > 5 5 > 7 <= manjše ali enako 5<=5 7<=5 >= večje ali enako 7>=3 3>=7 == enako 5==5 5==6!= ni enako 8!=6 5!=5-26 -

27 Znaki Tip char služi za predstavitev posameznih znakov znak zapišemo med enojnima narekovajema, npr. 'a', 'A', '$', ':', '?' neizpisljive znake zapišemo s pomočjo ubežnih sekvenc (ang. escape sequence) ubežna sekvenca opis ubežna sekvenca opis \t Tab \r Carriage return \n New line \" dvojni narekovaj \f Form feed \' enojni narekovaj

28 Znaki Interna predstavitev znakov Java uporablja kodno shemo Unicode v pomnilniku je vsak znak predstavljen s 16-bitno kodo kodo lahko interpretiramo tudi kot celo število, sestavljeno iz 16 ničel in enic primer: koda znaka A je ali vsak znak lahko tako zapišemo na 2 načina: med dvema enojnima narekovajema: 'A' z njegovo šestnajstiško kodo: '\u0041' \u je ubežna sekvenca, ki "napove" numerično kodo znake lahko primerjamo med sabo s primerjalnimi operatorji Pozor: nizi znakov so tipa String, posamezni znaki so tipa char

29 Deklaracije spremenljivk Spremenljivka: lokacija (celica) v pomnilniku, v kateri shranimo neko vrednost Vse spremenljivke morajo biti deklarirane Ob deklaraciji navedemo tip spremenljivke ime spremenljivke začetno vrednost (neobvezno) podpičje Primer int vsota; // brez inicializacije double produkt=234.5; // z inicializacijo

30 Stavki programskega jezika Java Prireditveni stavek v spremenljivko shranimo neko vrednost računanje izrazov in prioriteta operatorjev Izbirni stavki (if in switch, pogojni operator) izbiramo med več različnimi možnostmi za nadaljevanje programa Ponavljalni stavki (do..while, while, for) omogočajo, da se del programa večkrat ponovi Stavka break in continue Krajši zapis prireditvenih stavkov: += -= *= /= Program za izpis možnih potez lovca na šahovnici

31 Prireditveni stavek Splošna oblika: <ime spremenljivke> = <izraz>; Izraz (ang. expression) je računska formula ali predpis, na podlagi katerega izračunamo neko vrednost. Ta vrednost se shrani v spremenljivko, ki je navedena na levi strani. Skladnost tipov: tip izraza se mora ujemati s tipom spremenljivke Izrazi z numeričnimi operandi različnih tipov avtomatična pretvorba v tip najvišjega operanda pretvorbo v nižji tip mora eksplicitno zahtevati programer (ang. type casting)

32 Izrazi z numeričnimi operandi različnih tipov int a=10; short b=5; int rez1; float rez2; short rez3; byte rez4,rez5; rez1=a*b; // 50 tipa int rez2=a*b; // 50.0 tipa float rez3=(short)(a*b); // 50 tipa short rez4=(byte)(a*b); // 50 tipa byte // napaka zaradi prekoračitve obsega rez5=(byte)(rez4*b); // -6 tipa byte

33 Prioriteta operatorjev Prioriteta Operatorji Simboli najvišja unarni operatorji -! ~ množenje, deljenje * / % seštevanje, odštevanje + - pomik << >> >>> primerjanje > < >= <= enakost, neenakost ==!= bitni IN & bitni ekskluzivni ALI ^ bitni ALI logični IN && logični ALI pogojni?: najnižja prirejanje = Opomba: Manjkajo nekateri operatorji, ki jih nismo še spoznali

34 Izbirni stavki Omogočajo, da izmed več različnih zaporedij stavkov izberemo tisto, ki naj se izvede stavekif oziroma if else stavek switch pogojni operator?: Stavek if: izbira poteka na podlagi pogoja, ki ima lahko vrednost true ali false Ogledali si bomo 3 primere izbira v primeru enega samega zaporedja stavkov izbira med dvema zaporedjema (z dodatkom else) izbira med več različnimi zaporedji (gnezdenje stavkov if)

35 Stavek if Izbira v primeru enega samega zaporedja stavkov if (<pogoj>) { // stavki, ki se izvršijo, če je <pogoj> true } Izbira med dvema različnima zaporedjema stavkov if (<pogoj>) { // stavki, ki se izvršijo, če je <pogoj> true } else { // stavki, ki se izvršijo, če je <pogoj> false }

36 Stavek if Izbira med več različnimi zaporedji stavkov if (<pogoj1>) { // stavki, ki se izvršijo, če je <pogoj1> true } else if (<pogoj2>) { // stavki, ki se izvršijo, če je <pogoj2> true } else { } // stavki, ki se izvršijo, če nobeden izmed // prej naštetih pogojev ni izpolnjen

37 Stavek switch Izbira poteka na podlagi vrednosti nekega izraza (spremenljivke) izraz (spremenljivka) mora biti celoštevilski ali tipa char vsako zaporedje stavkov "označimo" z eno izmed možnih vrednosti izvede se tisto zaporedje, pri katerem se "oznaka" ujema z vrednostjo izraza primeren je takrat: kadar poteka izbira na podlagi vrednosti ene same celoštevilske ali znakovne spremenljivke kadar je število različnih vrednosti omejeno

38 Primer uporabe stavka switch switch (ocena) // vsebuje oceno od 1 do 10 { case 6: System.out.println("zadostno"); break; case 7: System.out.println("dobro"); break; case 8: System.out.println("prav dobro"); break; case 9: System.out.println("prav dobro"); break; case 10: System.out.println("odlično"); break; default: System.out.println("nezadostno"); }

39 Stavek switch Splošna oblika switch (<izraz>) { case <k1>: // zaporedje stavkov, ki ustreza vrednosti <k1> break; case <k2>: // zaporedje stavkov, ki ustreza vrednosti <k2> break;... default: // zaporedje stavkov, ki se izvrši, če // vrednost izraza ne ustreza nobeni konstanti }

40 Pogojni operator Pogojni operator (ang. conditional operator) omogoča izbiro med dvema izrazoma splošna oblika: <pogoj>? <izraz1> : <izraz2> če je pogoj izpolnjen, vrne vrednost, ki jo določa izraz1, v nasprotnem primeru pa vrne vrednost, ki jo določa izraz2 Primer vecji = (a>b)? a : b; je isto kot if (a>b) vecji=a; else vecji=b;

41 Ponavljalni stavki S stavki za ponavljanje dosežemo, da se določeno zaporedje ukazov večkrat ponovi (zanka) stavek do... while stavek while stavek for Primer: izračun vsote s = Vsoto računamo v zanki začetna vrednost vsote je 0, prvi člen je 1 ob vsakem prehodu skozi zanko prištejemo naslednji člen posebna spremenljivka (števec) šteje, koliko členov smo že prišteli s pomočjo števca zapišemo pogoj za izstop iz zanke

42 Diagram poteka za stavek do... while s 0 i 1 s s + i i i + 1 inicializacija števca in ostalih spremenljivk jedro zanke povečevanje števca i <= 200 da ne izpis s pogoj za izstop izpis rezultata

43 Rešitev s stavkom do... while public class Vsota1 { public static void main(string[] args) { int s=0; // začetna vrednost vsote int i=1; // prvi člen, začetna vrednost števca do { s=s+i; // prištevanje člena i=i+1; // naslednji člen, povečanje števca } while (i<=200); System.out.println("Vsota je "+s); } }

44 Stavek do... while Splošna oblika do { // stavki, ki se ponavljajo } while (<pogoj>) Pogoj za ponavljanje je na koncu Ponavljanje traja toliko časa, dokler je <pogoj> true Jedro zanke se izvrši vsaj enkrat

45 Diagram poteka za stavek while s 0 i 1 inicializacija števca in ostalih spremenljivk ne i <= 200 da s s + i i i + 1 pogoj za izstop jedro zanke povečevanje števca izpis s izpis rezultata

46 Rešitev s stavkom while public class Vsota2 { public static void main(string[] args) { int s=0; // začetna vrednost vsote int i=1; // prvi člen, začetna vrednost števca while (i<=200) { s=s+i; // prištevanje člena i=i+1; // naslednji člen, povečanje števca } System.out.println("Vsota je "+s); } }

47 Stavek while Splošna oblika while (<pogoj>) { } // stavki, ki se ponavljajo Pogoj za ponavljanje je na začetku Ponavljanje traja toliko časa, dokler je <pogoj> true Možno je, da se jedro zanke ne izvrši niti enkrat

48 Stavek for Večina zank je števnih (ang. counted loop) število iteracij je vnaprej znano s pomočjo števca lahko zapišemo pogoj za ponavljanje Stavek for na enem mestu združuje inicializacijo števca pogoj za nadaljevanje/prekinitev ponavljanja izraz, s katerim je določena nova vrednost števca po vsaki iteraciji Splošna oblika for (<inicializacija števca>;<pogoj>;<povečevanje števca>) { // stavki, ki se ponavljajo }

49 Stavek for Potek izvajanja najprej se izvrši inicializacija števca nato se preveri pogoj za ponavljanje če je pogoj izpolnjen, se izvrši jedro zanke na koncu jedra se poveča/zmanjša števec sledi ponovno preverjanje pogoja za ponavljanje itd. Stavek for se obnaša podobno kot stavek while pogoj na začetku možno je, da se jedro zanke ne izvrši niti enkrat Kadar število iteracij ni vnaprej znano, uporabljamo stavek for v kombinaciji s stavkom break

50 Rešitev s stavkom for public class Vsota3 { public static void main(string[] args) { int s=0; for (int i=1; i<=200; i=i+1) { s=s+i; // prištevanje člena } System.out.println("Vsota je "+s); } }

51 Stavka break in continue Stavek break preskok preostalih izbir v stavku switch predčasen izstop iz zanke for ( ; ; ) {... // nekaj stavkov if (<pogoj>) break;... // še nekaj stavkov } predčasen izstop iz večjega števila vgnezdenih zank: uporaba oznake izstop: for ( ; ; ) for ( ; ; ) {... // nekaj stavkov if (<pogoj>) break izstop;... // še nekaj stavkov }

52 Stavka break in continue Stavek continue preskok preostalih stavkov v jedru zanke še vedno ostanemo v zanki for ( ; ; ) {... // nekaj stavkov if (<pogoj>) continue;... // še nekaj stavkov }

53 Uporaba bližnjic v prireditvenih stavkih Pogosto srečamo prireditvene stavke naslednje oblike s=s+i; i=i+1; Za gornja stavka obstaja krajši zapis (ang. shortcut) s+=i; i+=1; operator += združuje operaciji seštevanja in prirejanja vrednosti Podobne bližnjice so definirane tudi za ostale aritmetične operacije s-=i; je isto kot s=s-i; s*=i; je isto kot s=s*i; s/=i; je isto kot s=s/i;

54 Uporaba bližnjic v prireditvenih stavkih Za prištevanje in odštevanje enice lahko uporabljamo unarna operatorja ++ in - i++; je isto kot i+=1; ali i=i+1; i--; je isto kot i-=1; ali i=i-1; Operatorja ++ in - lahko uporabljamo v prefiksni ali postfiksni obliki prefiksna oblika ++i: vrednost i se najprej poveča, šele nato uporabi b=4; c=++b; // c dobi vrednost 5 postfiksna oblika i++: vrednost i se najprej uporabi, šele nato poveča b=4; c=b++; // c dobi vrednost 4 v obeh gornjih primerih dobi b vrednost

55 Možne poteze lovca na šahovnici Recimo, da se lovec nahaja v tretji vrstici in drugi koloni šahovnice Napisati želimo program, ki bo izpisal vse možne poteze v naslednji obliki BCB*BCBC *B*BCBCB B*BCBCBC *B*BCBCB BCB*BCBC CBCB*BCB BCBCB*BC CBCBCB*B B belo polje C črno polje * - možna poteza

56 Možne poteze lovca na šahovnici Program bomo razvijali postopoma začetni položaj določata spremenljivki zacvrstica in zackolona izpis šahovnice poteka v zanki: ob vsakem prehodu izpišemo eno vrstico tudi izpis vrstice poteka v zanki: ob vsakem prehodu izpišemo eno polje int zacvrstica=3, zackolona=2; int v,k; for (v=1; v<=8; ++v) { } for (k=1; k<=8; ++k) izpiši polje; System.out.println();

57 Možne poteze lovca na šahovnici Izpis polja: stavek if, v katerem izbiramo med 3 možnostmi če je poteza možna, izpišemo zvezdico če je polje belo, izpišemo črko B v ostalih primerih izpišemo črko C if ((v-k==zacvrstica-zackolona) (v+k==zacvrstica+zackolona)) System.out.print("*"); else if ((v+k)%2==0) System.out.print("B"); else System.out.print("C");

58 Metode Kaj so metode, zakaj jih uporabljamo, kako jih deklariramo Primeri metod metoda brez argumentov metoda z argumenti (parametri) vloga parametrov, formalni in dejanski parametri klicanje metod prenos parametrov metode, ki vračajo vrednost Rekurzija: metoda kliče samo sebe izračun n-tega Fibonaccijevega števila primerjava rekurzivne in iterativne rešitve Zgledi: perfektna števila, izračun vsote številske vrste Oblikovanje izpisa in branje podatkov

59 Metode Zaporedje stavkov, ki ima svoje ime ime omogoča, da to zaporedje pokličemo z različnih mest v programu Uporaba ko se isto zaporedje stavkov ponovi na več različnih mestih ko je treba sprogramirati nek zaokrožen (pod)problem ko je treba sprogramirati operacijo, ki jo izvaja nek objekt Dve vrsti metod metode, ki ne vračajo vrednosti (procedure) poudarek je na postopku klic take metode je samostojen stavek metode, ki vračajo vrednost (funkcije) poudarek je na vrednosti klic take metode je sestavni del izraza v Javi je lahko klic funkcije tudi samostojen stavek

60 Metode Deklaracija metode glava metode: prva vrstica, s katero damo metodi ime odprt zaviti oklepaj telo metode: stavki, vključno z deklaracijami lokalnih spremenljivk zaprt zaviti oklepaj Glava metode določila za način dostopa (ang. access modifiers) zaenkrat public static tip rezultata ime metode seznam argumentov (med dvema okroglima oklepajema) lahko je prazen za vsak argument navedemo njegov tip in ime argumenti so med seboj ločeni z vejicami

61 Primer metode brez argumentov Metoda za izpis naslova fakultete public static void naslov() { System.out.print("Fakulteta za racunalnistvo"); System.out.println("in informatiko"); System.out.println(); System.out.println("Trzaska 25"); System.out.println("1000 Ljubljana"); } Izpiše Fakulteta za racunalnistvo in informatiko Trzaska Ljubljana

62 Argumenti (Parametri) Z argumenti posredujemo metodam podatke, ki jih le-te potrebujejo za svoje delo primer 1: metoda za rezervacijo mize v restavraciji smiselni argumenti: datum, ura, število oseb posledica: z isto metodo lahko izvršimo katerokoli rezervacijo primer 2: izračun obresti pri enoletni vezavi smiselna argumenta: glavnica, obrestna mera (v %) posledica: z isto metodo lahko izračunamo obresti za poljubno glavnico in poljubno obrestno mero Formalni in dejanski parametri formalni parametri: parametri, ki jih navedemo ob deklaraciji služijo samo za opis postopka postopek se v resnici izvrši nad dejanskimi parametri (argumenti) dejanske parametre navedemo ob klicu metode

63 Primer metode z dvema argumentoma Izračun stanja po enoletni vezavi sredstev public static void poenemletu (double glavnica, double obrmera) { double novostanje; novostanje=glavnica+glavnica*obrmera/100; System.out.println("Po enem letu dobimo " +novostanje); } Klic metode poenemletu poenemletu(100000,9.5); double gl= , obr=9.5; poenemletu(gl,obr);

64 Klicanje metod Ob klicu metode navedemo ime metode za metode iz drugih razredov je treba navesti tudi ime razreda dejanske parametre (v oklepaju) Formalni in dejanski parametri se morajo ujemati v tipu številu vrstnem redu (istoležni parametri se zamenjajo) Dejanski parameter je lahko konstanta spremenljivka izraz Navadne spremenljivke se prenašajo po vrednosti, objekti pa po referenci

65 Prenos parametrov po vrednosti Metoda dobi kopijo dejanskega parametra public class PrenosPoVrednosti { public static void main(string[] args) { int x=10; spremenix(x); System.out.println(x); // izpiše 10 } public static void spremenix(int x) { x+=2; System.out.println(x); // izpiše 12 } } x kopija x main 10 spremenix 10 tu se x poveča za

66 Metode, ki vračajo vrednost (Funkcije) Metoda lahko vrne vrednost kakršnegakoli tipa enostavnega tipa tipa razred Deklaracija metode, ki vrača vrednost v glavi mora biti naveden tip rezultata v telesu mora biti prisoten stavek return Stavek return določa vrednost, ki naj jo metoda vrne običajno zadnji stavek v metodi splošna oblika: return <izraz>

67 Primer metode, ki vrača vrednost Izračun stanja po enoletni vezavi sredstev public static double poenemletu (double glavnica, double obrmera) { double novostanje; novostanje=glavnica+glavnica*obrmera/100; return novostanje; // namesto izpisa vrne vrednost } Klic metode poenemletu ns=poenemletu(100000,9.5); double gl= , obr=9.5; System.out.print("Novo stanje:"+ poenemletu(gl,obr));

68 Rekurzija O rekurziji govorimo takrat, kadar metoda kliče samo sebe uporaba rekurzije je smiselna takrat, kadar je problem definiran rekurzivno primer: izračun n-tega Fibonaccijevega števila fib n = fib n-1 + fib n-2 n>1 fib 0 = 0, fib 1 = 1 public static int fib(int n) { if (n<=1) return n; else return fib(n-1)+fib(n-2); }

69 Rekurzija Rekurzija in iteracija vsako rekurzivno metodo lahko pretvorimo v iterativno če je iterativna rešitev preprosta, damo prednost iteraciji pred rekurzijo iterativna rešitev zagotavlja boljše performanse vsak rekurziven klic povzroči nekaj dodatnega dela zaradi dodeljevanja pomnilniškega prostora za lokalne spremenljivke in zamenjave formalnih parametrov z dejanskimi če je iterativna rešitev komplicirana, lahko algoritme, ki so po svoji naravi rekurzivni, izrazimo z rekurzivnimi metodami hanojski stolpiči operacije nad drevesnimi strukturami

70 Rekurzija Iterativna rešitev za Fibonaccijeva števila public static int fibite(int n) { int x=1,y=0; // zadnje in predzadnje Fib.št. int z; for (int i=2; i<=n; ++i) { z=x; // začasno shranimo zadnje Fib. št. x=x+y; // naslednje Fibonaccijevo število y=z; // prejšnje Fibonaccijevo število } return x; }

71 Računanje vsote številskih vrst Funkcijo sinus lahko aproksimiramo z vsoto številske vrste s = x 3 x 3! + 5 x 5!... + ( 1) ( 2 i i * + 2 x 1)! i + 1 vsoto računamo v zanki, ob vsakem prehodu prištejemo en člen določi začetno vrednost člena in vsote; while (ni še dosežena predpisana natančnost) { izračunaj naslednji člen; prištej vsoti naslednji člen; } return vsota; naslednji člen izračunamo iz prejšnjega člena k+=2; clen=-clen*x*x/(k*(k-1)); začetna vrednost člena in pomožne spremenljivke k

72 Računanje vsote številskih vrst določitev začetnih vrednosti: prvi člen upoštevamo v inicializaciji double clen=x, vsota=clen; int k=1; preverjanje dosežene natančnosti s prištevanjem členov prenehamo, ko absolutna vrednost člena postane manjša od 10-5 funkcijo, ki vrne absolutno vrednost, dobimo v razredu Math double clen=x, vsota=clen; int k=1; while (Math.abs(clen)>=1e-5) { k+=2; clen=-clen*x*x/(k*(k-1)); vsota+=clen; } return vsota;

73 Formatiranje izpisa Metoda printf, dodana v verziji 1.5 (razred PrintWriter) splošna oblika: printf(format,args) format je niz, v katerem je za vsak argument posebej določena oblika izpisa argsje seznam vrednosti, ki naj se izpišejo specifikacija izpisa za numerične vrednosti in znake: %[argument_index$][flags][width][.precision]conversion argument_index: zaporedna številka argumenta flags: znaki, ki podrobneje določajo posebnosti izbranega formata (npr. leva poravnava, obvezen izpis predznaka, izpis negativnih števil v oklepaju ipd.) width: skupno število mest, vključno z decimalkami in eksponentom precision: število decimalk conversion: znak, ki dejansko določa obliko izpisa najpogosteje uporabljene oblike izpisa za števila d : izpis celih števil v desetiškem sistemu f : izpis realnih števil v obliki s fiksno vejico e ali E : izpis realnih števil v eksponentni obliki

74 Branje podatkov Metode, v katerih beremo podatke, morajo imeti v glavi throws Exception public static void main(string[] args) throws Exception Metoda System.in.read() vrne vrednost tipa int, ki predstavlja kodo vtipkanega znaka npr. črki A ustreza koda oziroma to vrednost lahko pretvorimo v tip char primer: char vtipkanznak; vtipkanznak=(char)system.in.read() števila in nize dobimo tako, da v zanki beremo znake in jih sestavimo v število oziroma niz

75 Branje podatkov Razred BranjePodatkov metoda za branje celih števil: preberiint() metoda za branje realnih števil: preberidouble() metoda za branje nizov: preberistring() Primer uporabe int st; String bes; double re; st = BranjePodatkov.preberiInt(); bes = BranjePodatkov.preberiString(); re = BranjePodatkov.preberiDouble();

76 Razredi in objekti Osnovni koncepti OOP: razred, objekt, atribut, metoda Programiranje razredov deklaracije atributov deklaracije metod deklaracije konstruktorjov Kreiranje objektov operator new: generira objekt med izvajanjem programa predstavitev objekta v pomnilniku Pisanje konstruktorjev večkratno definirane metode

77 Osnovni koncepti OOP Programske komponente so objekti (ang. objects), ki so podobni objektom iz realnega sveta. Vsi objekti iste vrste tvorijo razred (ang. class) Primer 1: razred Avtomobil združuje vse avtomobile moj avto je objekt, ki spada v razred Avtomobil Primer 2: razred Pes predstavlja vse pse psica Lajka je eden izmed objektov, ki sestavljajo razred Pes Vsak objekt je konkreten primerek (ang. instance) nekega razreda

78 Osnovni koncepti OOP Vsak objekt vsebuje atribute (ang. attributes) in metode (ang. methods) z atributi so opisane lastnosti in trenutno stanje nekega objekta z metodami so določene operacije, ki jih ta objekt lahko izvaja Primer za objekt, ki spada v razred Avtomobil atributi: znamka, model, leto izdelave, barva, prostornina motorja, ali trenutno vozi, s kakšno hitrostjo, v kateri prestavi metode: vožnja naprej, vožnja nazaj, polnjenje rezervoarja, pranje avtomobila, ugotavljanje trenutnega stanja (npr. trenutna hitrost, količina goriva v rezervoarju ipd.) Vsi objekti nekega razreda imajo iste atribute, toda drugačne vrednosti atributov

79 Osnovni koncepti OOP Razlika med razredom in objektom je kot razlika med abstraktnim in konkretnim razred je abstrakten opis atributov in metod objekt je konkreten primerek nekega razreda s točno določenimi vrednostmi atributov in točno določenimi metodami Enkapsulacija (ang. encapsulation) atributi in metode so vgrajeni v objekt tako, da se le-ta obnaša navzven kot črna škatla za uporabnika ni pomembno, kako so realizirane posamezne metode, ampak zadostuje, da pozna vmesnik (ang. interface) primer: za natakanje goriva ni treba vedeti, kje je rezervoar; zadostuje, da vemo, kje je odprtina

80 Kreiranje razredov Deklaracija razreda glava razreda (ang. class header) deklaracije atributov deklaracije metod deklaracije konstruktorjev Glava razreda določilo za način dostopa (ang. access modifier) neobvezno največkrat public, možno še private, final ali abstract rezervirana beseda class ime razreda (določi programer)

81 Kreiranje razredov Deklaracije atributov atribute običajno deklariramo kot spremenljivke, ki so lokalne razredu, zato uporabimo dostopno določilo private z določilom private dosežemo, da se razred oziroma njegovi objekti obnašajo kot "črne škatle" atributi niso vidni navzven, ampak so dostopni samo preko metod, ki so deklarirane v razredu posledica: potrebujemo metode, ki vpisujejo vrednosti atributov v posamezne objekte oziroma vračajo vrednosti atributov določenega objekta koncept skrivanja informacij (ang. information hiding) je zelo pomemben koncept objektno usmerjenega programiranja onemogoča, da bi kdo od zunaj neposredno posegal v stanje objekta

82 Kreiranje razredov Primer deklaracije atributov za razred Delavec public class Delavec { private int matstev; private String priimek; private String ime; private int stur; } Deklaracije metod metode običajno deklariramo kot public dostopno določilo static izpustimo statične metode so v pomnilniku shranjene samo enkrat statične metode ne morejo posegati v atribute posameznih objektov lahko se kličejo tudi takrat, ko ne obstaja noben objekt

83 Kreiranje razredov Primer deklaracije metod za razred Delavec zaradi skrivanja informacij potrebujemo metode za vpis in branje vrednosti posameznih atributov: vpisimatst(int st) vpisipriimek(string p) vpisiime(string i) vpisistur(int u) vrnimatst() vrnipriimek() vrniime() vrnistur() dodamo še druge metode, odvisno od problema, ki ga želimo sprogramirati, npr. izracunajbrutood(int cenaure) izpisivse()

84 Kreiranje objektov Deklaracija razreda ne kreira nobenega objekta, ampak predstavlja samo abstrakten opis strukture objektov Kreiranje objektov poteka v dveh korakih najprej moramo objekt deklarirati (podobno kot spremenljivko) nato objekt generiramo s pomočjo opratorja new in posebne metode, ki ji rečemo konstruktor (ang. constructor method) Primer: kreiranje objekta d, ki spada v razred Delavec Delavec d; // deklaracija objekta d=new Delavec(); // generiranje objekta Oba koraka lahko združimo Delavec d=new Delavec();

85 Kreiranje objektov Operator new dodeli prostor za objekt spremenljivka d dobi naslov tiste lokacije v pomnilniku, kjer se nahaja objekt d=new Delavec(); je prireditveni stavek, ki vpiše naslov objekta v spremenljivko d Razlika v primerjavi z navadnimi spremenljivkami za navadne spremenljivke se prostor dodeli že med prevajanjem (ob deklaraciji), za objekte pa šele ob klicu konstruktorja navadne spremenljivke hranijo vrednost (tj. nek podatek), imena objektov pa vsebujejo naslove razlikovati moramo med vrednostjo spremenljivke (naslovom) in vrednostjo objekta

86 Kreiranje objektov Predstavitev objekta v pomnilniku Delavec d; d=new Delavec(); d null d matst priimek ime stur 0 null null 0 int x; x x=19; 0 x

87 Kreiranje objektov Sklicevanje na atribute objekta navedemo ime objekta, piko in ime atributa primeri za objekt d tipa Delavec: d.matst d.priimek d.ime d.stur Uporaba metod, ki pripadajo objektu (ang. instance methods) metode nekega objekta pokličemo tako, da navedemo ime objekta piko ime metode dejanske parametre (v oklepaju) primer za objekt d tipa Delavec: d.vpisiime("janez");

88 Konstruktorji Konstruktor metoda, ki se izvede ob kreiranju objekta ime konstruktorja je enako imenu razreda v Javi je konstruktor avtomatsko na razpolago programer lahko napiše svoj lasten konstruktor (ali celo več konstruktorjev) konstruktor lahko pokličemo samo z operatorjem new Standarden konstruktor nastavi začetne vrednosti atributov numerični atributi dobijo vrednost 0 atributi tipa char dobijo vrednost Unicode '\u0000' atributi tipa boolean dobijo vrednost false atributi objektnega tipa dobijo vrednost null

89 Konstruktorji Namesto standardnega konstruktorja lahko napišemo svojega vzpostavimo lahko drugačne začetne vrednosti atributov ob kreiranju objekta lahko izvršimo še druge naloge konstruktorju lahko dodamo svoje argumente standarden konstruktor ni več na razpolago Primer lastnega konstruktorja za objekte tipa Delavec ob generiranju objekta se vzpostavijo prave vrednosti atributov matična številka, priimek in ime število ur se vnaša naknadno s pomočjo metode vpisistur Delavec(int ms, String p, String i) { matstev=ms; } priimek=p; ime=i;

90 Večkratno definiranje metod (ang. overloading) Deklariramo več metod z enakim imenom, a drugačnimi parametri iz klica metode je razvidno, katera metoda se bo v resnici izvedla izvede se tista metoda, pri kateri se dejanski parametri ujemajo s formalnimi Primer: metoda za izračun obresti public static double obresti(double g, double om) { return g*om; } public static double obresti(double g, int om) { return g*om/100; } Ob klicu obresti(1000.,0.08) se izvede prva, ob klicu obresti(1000.,8) pa druga metoda

91 Večkratno definiranje metod (ang. overloading) Večkratno definiranje konstruktorjev omogoča, da inicializiramo objekt na različne načine Primer: kreiranje objektov tipa Delavec konstruktor Delavec() inicializira objekt tako, da vsebuje matično številko 9999 konstruktor Delavec(int ms) inicializira objekt tako, da vsebuje matično številko ms konstruktor Delavec(int ms, String p, String i) inicializira objekt tako, da vsebuje matično številko, priimek in ime, ki so posredovani z argumenti ms, p in i

92 Organizacija programa in dostopnost deklaracij Območje veljavnosti deklaracij spremenljivk lokalne in globalne spremenljivke Dostopno določilo static spremenljivke objekta in spremenljivke razreda metode objekta in metode razreda referenca this v metodah objekta Dostopno določilo final Dostopna določila public, private in protected Uporaba vnaprej deklariranih razredov Math Character

93 Območje veljavnosti deklaracij spremenljivk Deklaracija spremenljivke velja od mesta, kjer je bila spremenljivka deklarirana do konca bloka, v katerem smo jo deklarirali Primer: gnezdenje blokov { // zunanji blok int spr1=10;... { // notranji blok int spr2=20;... // obstajata spr1 in spr2 int spr1=34; // napaka } // spr1 še vedno obstaja, spr2 pa ne... }

94 Lokalne in globalne spremenljivke Globalne spremenljivke deklarirane so na ravni razreda dostopne so vsem metodam v razredu Lokalne spremenljivke deklarirane so znotraj posameznih metod dostopne so samo v metodi, kjer so deklarirane Globalne spremenljivke so lahko statične ali vezane na posamezne objekte, odvisno od dostopnega določila static statične spremenljivke: obstaja ena sama spremenljivka za celoten razred, zato jim rečemo tudi spremenljivke razreda (ang. class variables) spremenljivke objekta: vsakemu objektu pripada svoja spremenljivka, ki vsebuje vrednost atributa tistega objekta (ang. instance variables)

95 Lokalne in globalne spremenljivke Primer: Razred, ki opisuje zgradbo objektov public class Primer1 { private double atr1; // vsak objekt ima 2 atributa, ki sta globalni private int atr2; // spremenljivki, dostopni v celem razredu public void metoda1() { int spr3=1; // lokalni spremenljivki, int spr4=25; // dostopni v metodi metoda1() // obstajajo atr1, atr2, spr3 in spr4 } public int metoda2() { double spr5=500.0; // lokalna spremenljivka // obstajajo atr1, atr2=10 in spr5 } }

96 Lokalne in globalne spremenljivke Primer: Razred, ki predstavlja aplikacijo public class Primer2 { static double spr1=2.5; // globalni spremenljivki, static int spr2=10; // dostopni v celem razredu } public static void main(string[] args) { int spr3=1; // lokalni spremenljivki, int spr2=25; // dostopni v metodi main() // obstajajo spr1=2.5, spr2=25 in spr3=1 } public static void xy() { double spr4=500.0; // lokalna spremenljivka // obstajajo spr1=2.5, spr2=10 in spr4=500.0 }

97 Statične spremenljivke in spremenljivke objekta Statične spremenljivke (ang. class variables) tipične so za razrede, ki predstavljajo aplikacije, vendar lahko nastopajo tudi v razredih, ki opisujejo zgradbo objektov deklarirane so z rezervirano besedo static obstaja samo ena kopija spremenljivke to kopijo uporabljajo vse metode in vsi objekti spremenljivka obstaja tudi v primeru, ko nismo kreirali nobenega objekta sprememba vrednosti je dostopna vsem objektom in metodam v razredu Spremenljivke objekta (ang. instance variables) nastopajo v razredih, ki opisujejo zgradbo objektov pri deklaraciji ne smemo uporabiti dostopnega določila static vsak objekt ima svojo kopijo spremenljivke (tj. svojo vrednost atributa) sprememba vrednosti se odraža samo znotraj objekta

98 Statične metode in metode objekta Dostopno določilo static pri metodah statične metode ali metode razreda (ang. class methods) metode objekta (ang. instance methods) Statične metode tipične so za razrede, ki predstavljajo aplikacije, in razrede, ki služijo kot knjižnice podprogramov (npr. razred Math) deklariramo jih z dostopnim določilom static v pomnilniku so shranjene samo enkrat niso vezane na posamezne objekte, ampak so skupne za celoten razred uporabljamo jih tudi takrat, ko ne obstaja noben objekt ne morejo posegati v atribute posameznih objektov metoda main() mora biti obvezno statična če deklariramo statično metodo v razredu, ki je namenjen generiranju objektov, potem je ta skupna (tj. enaka) za vse objekte

99 Metode razreda in metode objekta Metode objekta vezane so na posamezne objekte (tj. primerke nekega razreda) predstavljamo si lahko, da ima vsak objekt svoje metode v resnici so tudi metode, ki pripadajo objektom istega tipa, shranjene v pomnilniku samo enkrat; s posebnim mehanizmom dosežemo, da se izvede prava metoda (dinamično povezovanje) tipične so za razrede, ki so namenjeni generiranju objektov omogočajo dostop do posameznih atributov v objektu pri njihovi deklaraciji ne smemo uporabiti dostopnega določila static ob klicu metode objekta je treba obvezno navesti tudi ime objekta, ki mu metoda pripada <ime objekta>. <ime metode> (<dejanski parametri>) <ime razreda>. <ime objekta>. <ime metode> (<dejanski parametri>)

100 Referenca this Implicitno prisotna v vsaki metodi objekta predstavlja naslov objekta, na katerega se nanaša klic metode ta naslov omogoča, da dostopamo do spremenljivk pravega objekta pred vsakim sklicevanjem na spremenljivko objekta dejansko stoji referenca this referenco this avtomatsko vstavi prevajalnik, lahko pa jo vključi že programer public void izpisivse() { System.out.println("Maticna stevilka: "+this.matstev); System.out.println("Priimek in ime: "+this.priimek+' '+this.ime); System.out.println("Stevilo ur: "+this.stur); }

101 Določilo final Kadar želimo preprečiti spremembo neke deklaracije pri spremenljivkah: vrednost spremenljivke se ne more več spremeniti pri metodah: metode ni moč redefinirati (je dokončna) pri razredih: razreda ni moč razširiti (vse metode so dokončne) Deklaracije konstant konstante deklariramo na enak način kot spremenljivke, le da dodamo rezervirano besedo final velja dogovor, da imena konstant pišemo z velikimi črkami static final double PI= ; konstanti moramo prirediti vrednost ob deklaraciji; kasneje to ni več mogoče prednost uporabe konstant boljša čitljivost programa enostavnejše vzdrževanje

102 Dostopna določila public, private in protected Določajo način dostopa do posameznih atributov in metod v razredu Dostopno določilo brez dostopnega določila public private protected Dovoljen dostop iz kateregakoli razreda v istem paketu iz kateregakoli razreda ne glede na paket samo znotraj razreda iz kateregakoli razreda v istem paketu in iz kateregakoli podrazreda ne glede na paket

103 Vnaprej deklarirani razredi V Javi obstaja več tisoč vnaprej deklariranih razredov ti razredi so shranjeni v obliki paketov paket si lahko predstavljamo kot skupino sorodnih razredov, ki so shranjeni v isti mapi (poddirektoriju) paket java.lang vsebuje osnovne razrede, ki se največ uporabljajo Uporaba vnaprej deklariranih razredov nekateri paketi, kot npr. java.lang, so na razpolago avtomatsko uporabo ostalih paketov ali razredov je treba napovedati s stavkom import, ki mora biti naveden na začetku programa import java.util.* napove uporabo vseh razredov iz paketa java.util import java.util.date napove uporabo razreda Date iz paketa java.util

104 Razred Math Vsebuje matematične konstante in metode deklariran je v paketu java.lang klicanje konstant (PI, E): Math.<ime konstante> klicanje metod: Math.<ime metode>(<argumenti>) abs(x) sin(x),cos(x), tan(x) asin(x),acos(x),a tan(x) round(x) sqrt(x) absolutna vrednost x trigonometrične funkcije sinus, kosinus, tangens obratne trigonometrične funkcije zaokroževanje na najbližje celo število kvadratni koren iz x random() naključno število med 0.0 in 1.0 exp(x),log(x) eksponentna in logaritemska funkcija

105 Razred Character Vsebuje koristne metode za delo z znaki deklariran je v paketu java.lang klicanje metod: Character.<ime metode>(<argchar>) isuppercase() touppercase() islowercase() tolowercase() isdigit() isletter() isletterordigit() iswhitespace() Preveri, ali je znak velika črka Pretvori malo črko v veliko Preveri, ali je znak mala črka Pretvori veliko črko v malo Preveri, ali je znak številka ('0' '9') Preveri, ali je znak črka Preveri, ali je znak črka ali številka Preveri, ali je znak presledek, tab, newline, carriage return ali form feed

106 Tabele Koncept tabele Kreiranje tabele deklaracija in dodelitev prostora vpis vrednosti atribut length Nekatere operacije nad tabelo iskanje elementa dodajanje v urejeno tabelo urejanje (sortiranje) Dvodimenzionalne in večdimenzionalne tabele Primeri razdalje med točkami množenje matrik Tabele objektov

107 Tabele Tabela je sestavljena podatkovna struktura, ki združuje več elementov istega tipa elementi so lahko enostavnega tipa, npr. int, double, char elementi so lahko objekti, ki pripadajo istemu razredu tabela kot celota ima svoje ime vsak element tabele ima svoj indeks (zaporedno številko) v Javi tečejo indeksi od 0 dalje Primer: osebni dohodki delavca v preteklem letu namesto 12 samostojnih spremenljivk od1, od2,..., od12 vpeljemo tabelo tabeli damo ime od, do posameznih elementov pa dostopamo s pomočjo indeksov od[0] je prvi element, od[1] je drugi element itd

108 Tabele Ponazoritev tabele od od[0] od[1] od[2] od[3]... od[11] Uporaba tabel olajša nekatere opreacije, npr. izračun vsote osebnih dohodkov če bi imeli 12 samostojnih spremenljivk: vsota = od1+od2+od3+od4+od5+...+od10+od11+od12 z uporabo tabele od: vsota=0; for (int i=0; i<=11; ++i) vsota=vsota+od[i]; z indeksom i se pomikamo preko vseh elementov in jih prištevamo vsoti

109 Kreiranje tabele Kreiranje tabele poteka v dveh korakih najprej moramo tabelo deklarirati navedemo tip tabele in ime tabele tip tabele je enak tipu elementov, le da dodamo par oglatih oklepajev nato dodelimo prostor z operatorjem new namesto konstruktorja navedemo tip elementov in v oglatem oklepaju njihovo število Primer: kreiranje tabele od double[] od; // tip in ime tabele od=new double[12]; // navedemo število elementov Oba koraka lahko združimo double[] od=new double[12];

110 Vpisovanje vrednosti v tabelo Ob kreiranju tabela ne vsebuje pravih vrednosti po izvršitvi double[] od; dobi od vrednost null po dodelitvi prostora z od=new double[12]; dobijo vsi elementi vrednost 0 elementi tipa char dobijo ob inicializaciji vrednost '\0000', elementi tipa boolean pa vrednost false Za inicializacijo lahko uporabimo seznam vrednosti double[] od={ , , ,...}; v zavitem oklepaju naštejemo vrednosti, ločene z vejico operatorja new in števila elementov ni treba navesti število elementov, za katere se dodeli prostor, je enako številu vrednosti, ki jih navedemo v seznamu

111 Vpisovanje vrednosti v tabelo Vrednost lahko priredimo vsakemu elementu posebej primer: od[4]= ; stavek double[] od={ , , ,...}; ima enak učinek kot stavki od[0]= ; od[1]= ; od[2]= ; itd. Največkrat uporabimo zanko for (int i=0; i<=11; ++i) od[i]=branjepodatkov.preberidouble();

Funkcijske vrste. Matematika 2. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 2. april Gregor Dolinar Matematika 2

Funkcijske vrste. Matematika 2. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 2. april Gregor Dolinar Matematika 2 Matematika 2 Gregor Dolinar Fakulteta za elektrotehniko Univerza v Ljubljani 2. april 2014 Funkcijske vrste Spomnimo se, kaj je to številska vrsta. Dano imamo neko zaporedje realnih števil a 1, a 2, a

Διαβάστε περισσότερα

KODE ZA ODKRIVANJE IN ODPRAVLJANJE NAPAK

KODE ZA ODKRIVANJE IN ODPRAVLJANJE NAPAK 1 / 24 KODE ZA ODKRIVANJE IN ODPRAVLJANJE NAPAK Štefko Miklavič Univerza na Primorskem MARS, Avgust 2008 Phoenix 2 / 24 Phoenix 3 / 24 Phoenix 4 / 24 Črtna koda 5 / 24 Črtna koda - kontrolni bit 6 / 24

Διαβάστε περισσότερα

Zaporedja. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 22. oktober Gregor Dolinar Matematika 1

Zaporedja. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 22. oktober Gregor Dolinar Matematika 1 Matematika 1 Gregor Dolinar Fakulteta za elektrotehniko Univerza v Ljubljani 22. oktober 2013 Kdaj je zaporedje {a n } konvergentno, smo definirali s pomočjo limite zaporedja. Večkrat pa je dobro vedeti,

Διαβάστε περισσότερα

Booleova algebra. Izjave in Booleove spremenljivke

Booleova algebra. Izjave in Booleove spremenljivke Izjave in Booleove spremenljivke vsako izjavo obravnavamo kot spremenljivko če je izjava resnična (pravilna), ima ta spremenljivka vrednost 1, če je neresnična (nepravilna), pa vrednost 0 pravimo, da gre

Διαβάστε περισσότερα

Funkcije. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 14. november Gregor Dolinar Matematika 1

Funkcije. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 14. november Gregor Dolinar Matematika 1 Matematika 1 Gregor Dolinar Fakulteta za elektrotehniko Univerza v Ljubljani 14. november 2013 Kvadratni koren polinoma Funkcijo oblike f(x) = p(x), kjer je p polinom, imenujemo kvadratni koren polinoma

Διαβάστε περισσότερα

Diferencialna enačba, v kateri nastopata neznana funkcija in njen odvod v prvi potenci

Diferencialna enačba, v kateri nastopata neznana funkcija in njen odvod v prvi potenci Linearna diferencialna enačba reda Diferencialna enačba v kateri nastopata neznana funkcija in njen odvod v prvi potenci d f + p= se imenuje linearna diferencialna enačba V primeru ko je f 0 se zgornja

Διαβάστε περισσότερα

MATEMATIČNI IZRAZI V MAFIRA WIKIJU

MATEMATIČNI IZRAZI V MAFIRA WIKIJU I FAKULTETA ZA MATEMATIKO IN FIZIKO Jadranska cesta 19 1000 Ljubljan Ljubljana, 25. marec 2011 MATEMATIČNI IZRAZI V MAFIRA WIKIJU KOMUNICIRANJE V MATEMATIKI Darja Celcer II KAZALO: 1 VSTAVLJANJE MATEMATIČNIH

Διαβάστε περισσότερα

Tretja vaja iz matematike 1

Tretja vaja iz matematike 1 Tretja vaja iz matematike Andrej Perne Ljubljana, 00/07 kompleksna števila Polarni zapis kompleksnega števila z = x + iy): z = rcos ϕ + i sin ϕ) = re iϕ Opomba: Velja Eulerjeva formula: e iϕ = cos ϕ +

Διαβάστε περισσότερα

Odvod. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 5. december Gregor Dolinar Matematika 1

Odvod. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 5. december Gregor Dolinar Matematika 1 Matematika 1 Gregor Dolinar Fakulteta za elektrotehniko Univerza v Ljubljani 5. december 2013 Primer Odvajajmo funkcijo f(x) = x x. Diferencial funkcije Spomnimo se, da je funkcija f odvedljiva v točki

Διαβάστε περισσότερα

Zaporedja. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 15. oktober Gregor Dolinar Matematika 1

Zaporedja. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 15. oktober Gregor Dolinar Matematika 1 Matematika 1 Gregor Dolinar Fakulteta za elektrotehniko Univerza v Ljubljani 15. oktober 2013 Oglejmo si, kako množimo dve kompleksni števili, dani v polarni obliki. Naj bo z 1 = r 1 (cosϕ 1 +isinϕ 1 )

Διαβάστε περισσότερα

Funkcije. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 21. november Gregor Dolinar Matematika 1

Funkcije. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 21. november Gregor Dolinar Matematika 1 Matematika 1 Gregor Dolinar Fakulteta za elektrotehniko Univerza v Ljubljani 21. november 2013 Hiperbolične funkcije Hiperbolični sinus sinhx = ex e x 2 20 10 3 2 1 1 2 3 10 20 hiperbolični kosinus coshx

Διαβάστε περισσότερα

matrike A = [a ij ] m,n αa 11 αa 12 αa 1n αa 21 αa 22 αa 2n αa m1 αa m2 αa mn se števanje po komponentah (matriki morata biti enakih dimenzij):

matrike A = [a ij ] m,n αa 11 αa 12 αa 1n αa 21 αa 22 αa 2n αa m1 αa m2 αa mn se števanje po komponentah (matriki morata biti enakih dimenzij): 4 vaja iz Matematike 2 (VSŠ) avtorica: Melita Hajdinjak datum: Ljubljana, 2009 matrike Matrika dimenzije m n je pravokotna tabela m n števil, ki ima m vrstic in n stolpcev: a 11 a 12 a 1n a 21 a 22 a 2n

Διαβάστε περισσότερα

Kotne in krožne funkcije

Kotne in krožne funkcije Kotne in krožne funkcije Kotne funkcije v pravokotnem trikotniku Avtor: Rok Kralj, 4.a Gimnazija Vič, 009/10 β a c γ b α sin = a c cos= b c tan = a b cot = b a Sinus kota je razmerje kotu nasprotne katete

Διαβάστε περισσότερα

Funkcije. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 12. november Gregor Dolinar Matematika 1

Funkcije. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 12. november Gregor Dolinar Matematika 1 Matematika 1 Gregor Dolinar Fakulteta za elektrotehniko Univerza v Ljubljani 12. november 2013 Graf funkcije f : D R, D R, je množica Γ(f) = {(x,f(x)) : x D} R R, torej podmnožica ravnine R 2. Grafi funkcij,

Διαβάστε περισσότερα

Odvod. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 10. december Gregor Dolinar Matematika 1

Odvod. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 10. december Gregor Dolinar Matematika 1 Matematika 1 Gregor Dolinar Fakulteta za elektrotehniko Univerza v Ljubljani 10. december 2013 Izrek (Rolleov izrek) Naj bo f : [a,b] R odvedljiva funkcija in naj bo f(a) = f(b). Potem obstaja vsaj ena

Διαβάστε περισσότερα

Splošno o interpolaciji

Splošno o interpolaciji Splošno o interpolaciji J.Kozak Numerične metode II (FM) 2011-2012 1 / 18 O funkciji f poznamo ali hočemo uporabiti le posamezne podatke, na primer vrednosti r i = f (x i ) v danih točkah x i Izberemo

Διαβάστε περισσότερα

1 Fibonaccijeva stevila

1 Fibonaccijeva stevila 1 Fibonaccijeva stevila Fibonaccijevo število F n, kjer je n N, lahko definiramo kot število načinov zapisa števila n kot vsoto sumandov, enakih 1 ali Na primer, število 4 lahko zapišemo v obliki naslednjih

Διαβάστε περισσότερα

PONOVITEV SNOVI ZA 4. TEST

PONOVITEV SNOVI ZA 4. TEST PONOVITEV SNOVI ZA 4. TEST 1. * 2. *Galvanski člen z napetostjo 1,5 V požene naboj 40 As. Koliko električnega dela opravi? 3. ** Na uporniku je padec napetosti 25 V. Upornik prejme 750 J dela v 5 minutah.

Διαβάστε περισσότερα

1. Definicijsko območje, zaloga vrednosti. 2. Naraščanje in padanje, ekstremi. 3. Ukrivljenost. 4. Trend na robu definicijskega območja

1. Definicijsko območje, zaloga vrednosti. 2. Naraščanje in padanje, ekstremi. 3. Ukrivljenost. 4. Trend na robu definicijskega območja ZNAČILNOSTI FUNKCIJ ZNAČILNOSTI FUNKCIJE, KI SO RAZVIDNE IZ GRAFA. Deinicijsko območje, zaloga vrednosti. Naraščanje in padanje, ekstremi 3. Ukrivljenost 4. Trend na robu deinicijskega območja 5. Periodičnost

Διαβάστε περισσότερα

13. Jacobijeva metoda za računanje singularnega razcepa

13. Jacobijeva metoda za računanje singularnega razcepa 13. Jacobijeva metoda za računanje singularnega razcepa Bor Plestenjak NLA 25. maj 2010 Bor Plestenjak (NLA) 13. Jacobijeva metoda za računanje singularnega razcepa 25. maj 2010 1 / 12 Enostranska Jacobijeva

Διαβάστε περισσότερα

Iterativno reševanje sistemov linearnih enačb. Numerične metode, sistemi linearnih enačb. Numerične metode FE, 2. december 2013

Iterativno reševanje sistemov linearnih enačb. Numerične metode, sistemi linearnih enačb. Numerične metode FE, 2. december 2013 Numerične metode, sistemi linearnih enačb B. Jurčič Zlobec Numerične metode FE, 2. december 2013 1 Vsebina 1 z n neznankami. a i1 x 1 + a i2 x 2 + + a in = b i i = 1,..., n V matrični obliki zapišemo:

Διαβάστε περισσότερα

IZPIT IZ ANALIZE II Maribor,

IZPIT IZ ANALIZE II Maribor, Maribor, 05. 02. 200. (a) Naj bo f : [0, 2] R odvedljiva funkcija z lastnostjo f() = f(2). Dokaži, da obstaja tak c (0, ), da je f (c) = 2f (2c). (b) Naj bo f(x) = 3x 3 4x 2 + 2x +. Poišči tak c (0, ),

Διαβάστε περισσότερα

NEPARAMETRIČNI TESTI. pregledovanje tabel hi-kvadrat test. as. dr. Nino RODE

NEPARAMETRIČNI TESTI. pregledovanje tabel hi-kvadrat test. as. dr. Nino RODE NEPARAMETRIČNI TESTI pregledovanje tabel hi-kvadrat test as. dr. Nino RODE Parametrični in neparametrični testi S pomočjo z-testa in t-testa preizkušamo domneve o parametrih na vzorcih izračunamo statistike,

Διαβάστε περισσότερα

1. Έντυπα αιτήσεων αποζημίωσης... 2 1.1. Αξίωση αποζημίωσης... 2 1.1.1. Έντυπο... 2 1.1.2. Πίνακας μεταφράσεων των όρων του εντύπου...

1. Έντυπα αιτήσεων αποζημίωσης... 2 1.1. Αξίωση αποζημίωσης... 2 1.1.1. Έντυπο... 2 1.1.2. Πίνακας μεταφράσεων των όρων του εντύπου... ΑΠΟΖΗΜΙΩΣΗ ΘΥΜΑΤΩΝ ΕΓΚΛΗΜΑΤΙΚΩΝ ΠΡΑΞΕΩΝ ΣΛΟΒΕΝΙΑ 1. Έντυπα αιτήσεων αποζημίωσης... 2 1.1. Αξίωση αποζημίωσης... 2 1.1.1. Έντυπο... 2 1.1.2. Πίνακας μεταφράσεων των όρων του εντύπου... 3 1 1. Έντυπα αιτήσεων

Διαβάστε περισσότερα

PROGRAMIRANJE 2 TOMAŽ DOBRAVEC

PROGRAMIRANJE 2 TOMAŽ DOBRAVEC UNIVERZA V LJUBLJANI Fakulteta za računalništvo in informatiko PROGRAMIRANJE 2 TOMAŽ DOBRAVEC Objektno programiranje O OBJEKTNEM PROGRAMIRANJU l Osnova objektnega programiranja so OBJEKTI: program sestavlja

Διαβάστε περισσότερα

Enačba, v kateri poleg neznane funkcije neodvisnih spremenljivk ter konstant nastopajo tudi njeni odvodi, se imenuje diferencialna enačba.

Enačba, v kateri poleg neznane funkcije neodvisnih spremenljivk ter konstant nastopajo tudi njeni odvodi, se imenuje diferencialna enačba. 1. Osnovni pojmi Enačba, v kateri poleg neznane funkcije neodvisnih spremenljivk ter konstant nastopajo tudi njeni odvodi, se imenuje diferencialna enačba. Primer 1.1: Diferencialne enačbe so izrazi: y

Διαβάστε περισσότερα

Kontrolne karte uporabljamo za sprotno spremljanje kakovosti izdelka, ki ga izdelujemo v proizvodnem procesu.

Kontrolne karte uporabljamo za sprotno spremljanje kakovosti izdelka, ki ga izdelujemo v proizvodnem procesu. Kontrolne karte KONTROLNE KARTE Kontrolne karte uporablamo za sprotno spremlane kakovosti izdelka, ki ga izdeluemo v proizvodnem procesu. Izvaamo stalno vzorčene izdelkov, npr. vsako uro, vsake 4 ure.

Διαβάστε περισσότερα

Integralni račun. Nedoločeni integral in integracijske metrode. 1. Izračunaj naslednje nedoločene integrale: (a) dx. (b) x 3 +3+x 2 dx, (c) (d)

Integralni račun. Nedoločeni integral in integracijske metrode. 1. Izračunaj naslednje nedoločene integrale: (a) dx. (b) x 3 +3+x 2 dx, (c) (d) Integralni račun Nedoločeni integral in integracijske metrode. Izračunaj naslednje nedoločene integrale: d 3 +3+ 2 d, (f) (g) (h) (i) (j) (k) (l) + 3 4d, 3 +e +3d, 2 +4+4 d, 3 2 2 + 4 d, d, 6 2 +4 d, 2

Διαβάστε περισσότερα

OSNOVE PROGRAMSKEGA JEZIKA C NA PRIMERU MIKROKRMILNIKA ARM7

OSNOVE PROGRAMSKEGA JEZIKA C NA PRIMERU MIKROKRMILNIKA ARM7 UNIVERZA V LJUBLJANI FAKULTETA ZA ELEKTROTEHNIKO OSNOVE PROGRAMSKEGA JEZIKA C NA PRIMERU MIKROKRMILNIKA ARM7 Zapiski predavanj za predmeta Programiranje 2 in Programiranje mikrokrmilnikov Iztok Fajfar

Διαβάστε περισσότερα

SKUPNE PORAZDELITVE VEČ SLUČAJNIH SPREMENLJIVK

SKUPNE PORAZDELITVE VEČ SLUČAJNIH SPREMENLJIVK SKUPNE PORAZDELITVE SKUPNE PORAZDELITVE VEČ SLUČAJNIH SPREMENLJIVK Kovaec vržemo trikrat. Z ozačimo število grbov ri rvem metu ( ali ), z Y a skuo število grbov (,, ali 3). Kako sta sremelivki i Y odvisi

Διαβάστε περισσότερα

*M * Osnovna in višja raven MATEMATIKA NAVODILA ZA OCENJEVANJE. Sobota, 4. junij 2011 SPOMLADANSKI IZPITNI ROK. Državni izpitni center

*M * Osnovna in višja raven MATEMATIKA NAVODILA ZA OCENJEVANJE. Sobota, 4. junij 2011 SPOMLADANSKI IZPITNI ROK. Državni izpitni center Državni izpitni center *M40* Osnovna in višja raven MATEMATIKA SPOMLADANSKI IZPITNI ROK NAVODILA ZA OCENJEVANJE Sobota, 4. junij 0 SPLOŠNA MATURA RIC 0 M-40-- IZPITNA POLA OSNOVNA IN VIŠJA RAVEN 0. Skupaj:

Διαβάστε περισσότερα

Programski jezik C# zanke

Programski jezik C# zanke 眤眤眤 Programski jezik C# zanke Matija Lokar in Srečo Uranič 诲眪 眪 V 0.91 oktober 2008 2 3 Predgovor Omenjeno gradivo predstavlja naslednji (tretji) del gradiv, namenjenih predmetu Programiranje 1 na višješolskem

Διαβάστε περισσότερα

8. Diskretni LTI sistemi

8. Diskretni LTI sistemi 8. Diskreti LI sistemi. Naloga Določite odziv diskretega LI sistema s podaim odzivom a eoti impulz, a podai vhodi sigal. h[] x[] - - 5 6 7 - - 5 6 7 LI sistem se a vsak eoti impulz δ[] a vhodu odzove z

Διαβάστε περισσότερα

Osnove elektrotehnike uvod

Osnove elektrotehnike uvod Osnove elektrotehnike uvod Uvod V nadaljevanju navedena vprašanja so prevod testnih vprašanj, ki sem jih našel na omenjeni spletni strani. Vprašanja zajemajo temeljna znanja opredeljenega strokovnega področja.

Διαβάστε περισσότερα

osnovni koraki Matija Lokar in Srečo Uranič V 0.9 oktober 2008

osnovni koraki Matija Lokar in Srečo Uranič V 0.9 oktober 2008 诲诲뾡盦盨 盨 ʚProgramski jezik C# osnovni koraki Matija Lokar in Srečo Uranič V 0.9 oktober 2008 2 3 Predgovor Omenjeno gradivo predstavlja prvi del gradiv, namenjenih predmetu Programiranje 1 na višješolskem

Διαβάστε περισσότερα

Numerično reševanje. diferencialnih enačb II

Numerično reševanje. diferencialnih enačb II Numerčno reševanje dferencaln enačb I Dferencalne enačbe al ssteme dferencaln enačb rešujemo numerčno z več razlogov:. Ne znamo j rešt analtčno.. Posamezn del dferencalne enačbe podan tabelarčno. 3. Podatke

Διαβάστε περισσότερα

V tem poglavju bomo vpeljali pojem determinante matrike, spoznali bomo njene lastnosti in nekaj metod za računanje determinant.

V tem poglavju bomo vpeljali pojem determinante matrike, spoznali bomo njene lastnosti in nekaj metod za računanje determinant. Poglavje IV Determinanta matrike V tem poglavju bomo vpeljali pojem determinante matrike, spoznali bomo njene lastnosti in nekaj metod za računanje determinant 1 Definicija Preden definiramo determinanto,

Διαβάστε περισσότερα

DISKRETNA FOURIERJEVA TRANSFORMACIJA

DISKRETNA FOURIERJEVA TRANSFORMACIJA 29.03.2004 Definicija DFT Outline DFT je linearna transformacija nekega vektorskega prostora dimenzije n nad obsegom K, ki ga označujemo z V K, pri čemer ima slednji lastnost, da vsebuje nek poseben element,

Διαβάστε περισσότερα

Osnove matematične analize 2016/17

Osnove matematične analize 2016/17 Osnove matematične analize 216/17 Neža Mramor Kosta Fakulteta za računalništvo in informatiko Univerza v Ljubljani Kaj je funkcija? Funkcija je predpis, ki vsakemu elementu x iz definicijskega območja

Διαβάστε περισσότερα

Αντικειµενοστρεφής Προγραµµατισµός

Αντικειµενοστρεφής Προγραµµατισµός 16 η διάλεξη Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη

Διαβάστε περισσότερα

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΣΤΗ JAVA ΤΕΛΕΣΤΕΣ - ΜΕΤΑΒΛΗΤΕΣ

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΣΤΗ JAVA ΤΕΛΕΣΤΕΣ - ΜΕΤΑΒΛΗΤΕΣ ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός Παναγιώτης Σφέτσος sfetsos@it.teithe.gr ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΣΤΗ JAVA ΤΕΛΕΣΤΕΣ - ΜΕΤΑΒΛΗΤΕΣ Ας δούμε το απλό πρόγραμμα

Διαβάστε περισσότερα

Na pregledni skici napišite/označite ustrezne točke in paraboli. A) 12 B) 8 C) 4 D) 4 E) 8 F) 12

Na pregledni skici napišite/označite ustrezne točke in paraboli. A) 12 B) 8 C) 4 D) 4 E) 8 F) 12 Predizpit, Proseminar A, 15.10.2015 1. Točki A(1, 2) in B(2, b) ležita na paraboli y = ax 2. Točka H leži na y osi in BH je pravokotna na y os. Točka C H leži na nosilki BH tako, da je HB = BC. Parabola

Διαβάστε περισσότερα

Reševanje sistema linearnih

Reševanje sistema linearnih Poglavje III Reševanje sistema linearnih enačb V tem kratkem poglavju bomo obravnavali zelo uporabno in zato pomembno temo linearne algebre eševanje sistemov linearnih enačb. Spoznali bomo Gaussovo (natančneje

Διαβάστε περισσότερα

Podobnost matrik. Matematika II (FKKT Kemijsko inženirstvo) Diagonalizacija matrik

Podobnost matrik. Matematika II (FKKT Kemijsko inženirstvo) Diagonalizacija matrik Podobnost matrik Matematika II (FKKT Kemijsko inženirstvo) Matjaž Željko FKKT Kemijsko inženirstvo 14 teden (Zadnja sprememba: 23 maj 213) Matrika A R n n je podobna matriki B R n n, če obstaja obrnljiva

Διαβάστε περισσότερα

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων 2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει

Διαβάστε περισσότερα

D f, Z f. Lastnosti. Linearna funkcija. Definicija Linearna funkcija f : je definirana s predpisom f(x) = kx+n; k,

D f, Z f. Lastnosti. Linearna funkcija. Definicija Linearna funkcija f : je definirana s predpisom f(x) = kx+n; k, Linearna funkcija Linearna funkcija f : je definirana s predpisom f(x) = kx+n; k, n ᄀ. k smerni koeficient n začetna vrednost D f, Z f Definicijsko območje linearne funkcije so vsa realna števila. Zaloga

Διαβάστε περισσότερα

Kotni funkciji sinus in kosinus

Kotni funkciji sinus in kosinus Kotni funkciji sinus in kosinus Oznake: sinus kota x označujemo z oznako sin x, kosinus kota x označujemo z oznako cos x, DEFINICIJA V PRAVOKOTNEM TRIKOTNIKU: Kotna funkcija sinus je definirana kot razmerje

Διαβάστε περισσότερα

Algebraične strukture

Algebraične strukture Poglavje V Algebraične strukture V tem poglavju bomo spoznali osnovne algebraične strukture na dani množici. Te so podane z eno ali dvema binarnima operacijama. Binarna operacija paru elementov iz množice

Διαβάστε περισσότερα

Matematika 1. Gabrijel Tomšič Bojan Orel Neža Mramor Kosta

Matematika 1. Gabrijel Tomšič Bojan Orel Neža Mramor Kosta Matematika Gabrijel Tomšič Bojan Orel Neža Mramor Kosta 6. november 200 Poglavje 2 Zaporedja in številske vrste 2. Zaporedja 2.. Uvod Definicija 2... Zaporedje (a n ) = a, a 2,..., a n,... je predpis,

Διαβάστε περισσότερα

Βασικά Στοιχεία της Java

Βασικά Στοιχεία της Java Βασικά Στοιχεία της Java Παύλος Εφραιμίδης Java Βασικά Στοιχεία της γλώσσας Java 1 Τύποι Δεδομένων Η Java έχει δύο κατηγορίες τύπων δεδομένων: πρωτογενείς (primitive) τύπους δεδομένων αναφορές Java Βασικά

Διαβάστε περισσότερα

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 7: Ενθυλάκωση (encapsulation), Τροποποιητές(modifiers) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ενθυλάκωση -Τροποποιητές Πρόσβασης (Access Modifiers), public, protected, private,

Διαβάστε περισσότερα

Matematika vaja. Matematika FE, Ljubljana, Slovenija Fakulteta za Elektrotehniko 1000 Ljubljana, Tržaška 25, Slovenija

Matematika vaja. Matematika FE, Ljubljana, Slovenija Fakulteta za Elektrotehniko 1000 Ljubljana, Tržaška 25, Slovenija Matematika 1 3. vaja B. Jurčič Zlobec 1 1 Univerza v Ljubljani, Fakulteta za Elektrotehniko 1000 Ljubljana, Tržaška 25, Slovenija Matematika FE, Ljubljana, Slovenija 2011 Določi stekališča zaporedja a

Διαβάστε περισσότερα

Osnovni primer. (Z, +,,, 0, 1) je komutativan prsten sa jedinicom: množenje je distributivno prema sabiranju

Osnovni primer. (Z, +,,, 0, 1) je komutativan prsten sa jedinicom: množenje je distributivno prema sabiranju RAČUN OSTATAKA 1 1 Prsten celih brojeva Z := N + {} N + = {, 3, 2, 1,, 1, 2, 3,...} Osnovni primer. (Z, +,,,, 1) je komutativan prsten sa jedinicom: sabiranje (S1) asocijativnost x + (y + z) = (x + y)

Διαβάστε περισσότερα

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 3: Προγραμματισμός σε JAVA I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Στοιχειώδης Προγραμματισμός - Προγραμματισμός με Συνθήκες - Προγραμματισμός με Βρόγχους

Διαβάστε περισσότερα

Funkcije več spremenljivk

Funkcije več spremenljivk DODATEK C Funkcije več spremenljivk C.1. Osnovni pojmi Funkcija n spremenljivk je predpis: f : D f R, (x 1, x 2,..., x n ) u = f (x 1, x 2,..., x n ) kjer D f R n imenujemo definicijsko območje funkcije

Διαβάστε περισσότερα

Matematika. Funkcije in enačbe

Matematika. Funkcije in enačbe Matematika Funkcije in enačbe (1) Nariši grafe naslednjih funkcij: (a) f() = 1, (b) f() = 3, (c) f() = 3. Rešitev: (a) Linearna funkcija f() = 1 ima začetno vrednost f(0) = 1 in ničlo = 1/. Definirana

Διαβάστε περισσότερα

3.1 Reševanje nelinearnih sistemov

3.1 Reševanje nelinearnih sistemov 3.1 Reševanje nelinearnih sistemov Rešujemo sistem nelinearnih enačb f 1 (x 1, x 2,..., x n ) = 0 f 2 (x 1, x 2,..., x n ) = 0. f n (x 1, x 2,..., x n ) = 0. Pišemo F (x) = 0, kjer je x R n in F : R n

Διαβάστε περισσότερα

Java sessions. Part 1 - Βασικά έννοιες - μέθοδοι

Java sessions. Part 1 - Βασικά έννοιες - μέθοδοι Java sessions Part 1 - Βασικά έννοιες - μέθοδοι Ενότητα 1 Η γλώσσα Java 1.1 - Ιστορία Ξεκίνησε το 1995 από τον James Gosling, υπάλληλο της Sun Microsystems Αρχικά ονομάστηκε Oak, αργότερα άλλαξε σε Java

Διαβάστε περισσότερα

Programiranje 1 PROGRAMIRANJE 1 MATIJA LOKAR SREČO URANIČ

Programiranje 1 PROGRAMIRANJE 1 MATIJA LOKAR SREČO URANIČ PROGRAMIRANJE 1 MATIJA LOKAR SREČO URANIČ Višješolski strokovni program: Informatika Učbenik: Pogramiranje 1 Gradivo za 1. letnik Avtorja: Mag. Matija Lokar Univerza v Ljubljani Fakulteta za matematiko

Διαβάστε περισσότερα

1. Trikotniki hitrosti

1. Trikotniki hitrosti . Trikotniki hitrosti. Z radialno črpalko želimo črpati vodo pri pogojih okolice z nazivnim pretokom 0 m 3 /h. Notranji premer rotorja je 4 cm, zunanji premer 8 cm, širina rotorja pa je,5 cm. Frekvenca

Διαβάστε περισσότερα

p 1 ENTROPIJSKI ZAKON

p 1 ENTROPIJSKI ZAKON ENROPIJSKI ZAKON REERZIBILNA srememba: moža je obrjea srememba reko eakih vmesih staj kot rvota srememba. Po obeh sremembah e sme biti obeih trajih srememb v bližji i dalji okolici. IREERZIBILNA srememba:

Διαβάστε περισσότερα

Αντικειμενοστρεφής Προγραμματισμός

Αντικειμενοστρεφής Προγραμματισμός Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Εργαστήριο 2 Βασικοί Τύποι Μεταβλητών Java

Διαβάστε περισσότερα

UVOD V PROGRAMSKI JEZIK C

UVOD V PROGRAMSKI JEZIK C UNIVERZA V LJUBLJANI FAKULTETA ZA ELEKTROTEHNIKO UVOD V PROGRAMSKI JEZIK C ZAPISKI PREDAVANJ ZA PREDMETA RAČUNALNIŠTVO 2 IN RAČUNALNIŠTVO ZA ELEKTROTEHNIKE 2 IZTOK FAJFAR LJUBLJANA, 2005 Kaj mi je tega

Διαβάστε περισσότερα

Definicija. definiramo skalarni produkt. x i y i. in razdaljo. d(x, y) = x y = < x y, x y > = n (x i y i ) 2. i=1. i=1

Definicija. definiramo skalarni produkt. x i y i. in razdaljo. d(x, y) = x y = < x y, x y > = n (x i y i ) 2. i=1. i=1 Funkcije več realnih spremenljivk Osnovne definicije Limita in zveznost funkcije več spremenljivk Parcialni odvodi funkcije več spremenljivk Gradient in odvod funkcije več spremenljivk v dani smeri Parcialni

Διαβάστε περισσότερα

UPORABA UREJEVALNIKA IN PREVAJALNIKA MS FORTRAN POWER STATION

UPORABA UREJEVALNIKA IN PREVAJALNIKA MS FORTRAN POWER STATION UPORABA UREJEVALNIKA IN PREVAJALNIKA MS FORTRAN POWER STATION POSTOPEK JE SLEDEČ: 1. START -> PROGRAMS -> FORTRAN POWER STATION 4.0 FORTRAN POWER STATION 4.0 -> MS DEVELOPER STUDIO 2. FILE -> NEW -> PROJECT

Διαβάστε περισσότερα

Transformator. Delovanje transformatorja I. Delovanje transformatorja II

Transformator. Delovanje transformatorja I. Delovanje transformatorja II Transformator Transformator je naprava, ki v osnovi pretvarja napetost iz enega nivoja v drugega. Poznamo vrsto različnih izvedb transformatorjev, glede na njihovo specifičnost uporabe:. Energetski transformator.

Διαβάστε περισσότερα

Univerza v Ljubljani Fakulteta za računalništvo in informatiko MATEMATIKA. Polona Oblak

Univerza v Ljubljani Fakulteta za računalništvo in informatiko MATEMATIKA. Polona Oblak Univerza v Ljubljani Fakulteta za računalništvo in informatiko MATEMATIKA Polona Oblak Ljubljana, 04 CIP - Kataložni zapis o publikaciji Narodna in univerzitetna knjižnica, Ljubljana 5(075.8)(0.034.) OBLAK,

Διαβάστε περισσότερα

Uvod v L A TEX 2ε. Osnove pisanja poročil. Špela Bolka. Ljubljana, 21. marec 2013

Uvod v L A TEX 2ε. Osnove pisanja poročil. Špela Bolka. Ljubljana, 21. marec 2013 Uvod v L A TEX 2ε Osnove pisanja poročil Špela Bolka Ljubljana, 21. marec 2013 Motivacija Standardiziran izgled Pisanje poročil, člankov, knjig, predstavitev Enostavnejši zapis matematičnih izrazov Enostavnejše

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008 ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008 Κατασκευαστές (Constructors) Ειδικός τύπος μεθόδων, οι οποίες: - είναι public και έχουν το ίδιο όνομα με αυτό της κλάσης - χρησιμοποιούνται για να αρχικοποιήσουν κάποιες

Διαβάστε περισσότερα

Delovanje procesorja AVR

Delovanje procesorja AVR Laboratorij za načrtovanje integriranih vezij Univerza v Ljubljani Fakulteta za elektrotehniko Digitalni Elektronski Sistemi Delovanje procesorja AVR Zbirnik, primer programa 1 Procesor Atmel AVR ATmega328

Διαβάστε περισσότερα

Εισαγωγή στη JAVA. Εισαγωγή στη Java. Η Java είναι δημιούργημα της SUN MICROSYSTEMS.

Εισαγωγή στη JAVA. Εισαγωγή στη Java. Η Java είναι δημιούργημα της SUN MICROSYSTEMS. Εισαγωγή στη JAVA Σύντομο Ιστορικό Η Java και το διαδίκτυο Το πρώτο απλό πρόγραμμα σε JAVA Μεταβλητές και σταθερές Παραστάσεις και εντολές Οι βασικοί τύποι δεδομένων στη Java Οι βασικοί Τελεστές στη Java

Διαβάστε περισσότερα

REˇSITVE. Naloga a. b. c. d Skupaj. FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Verjetnost 2. kolokvij 23.

REˇSITVE. Naloga a. b. c. d Skupaj. FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Verjetnost 2. kolokvij 23. Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Verjetnost. kolokvij 3. januar 08 Navodila Pazljivo preberite besedilo naloge, preden se lotite reševanja. Nalog je 6,

Διαβάστε περισσότερα

Multivariatna analiza variance

Multivariatna analiza variance (MANOVA) MANOVA je multivariatna metoda za proučevanje odvisnosti med več odvisnimi (številskimi) in več neodvisnimi (opisnimi) spremenljivkami. (MANOVA) MANOVA je multivariatna metoda za proučevanje odvisnosti

Διαβάστε περισσότερα

Βασικά Στοιχεία της Java

Βασικά Στοιχεία της Java Βασικά Στοιχεία της Παύλος Εφραιμίδης 1 Βασικά Στοιχεία της γλώσσας Τύποι Δεδομένων Η έχει δύο κατηγορίες τύπων δεδομένων: πρωτογενείς (primitive) iti τύπους δεδομένων δδ αναφορές 2 Βασικά Στοιχεία της

Διαβάστε περισσότερα

Statistična analiza. doc. dr. Mitja Kos, mag. farm. Katedra za socialno farmacijo Univerza v Ljubljani- Fakulteta za farmacijo

Statistična analiza. doc. dr. Mitja Kos, mag. farm. Katedra za socialno farmacijo Univerza v Ljubljani- Fakulteta za farmacijo Statistična analiza opisnih spremenljivk doc. dr. Mitja Kos, mag. arm. Katedra za socialno armacijo Univerza v Ljubljani- Fakulteta za armacijo Statistični znaki Proučevane spremenljivke: statistični znaki

Διαβάστε περισσότερα

Matematika I (VS) Univerza v Ljubljani, FE. Melita Hajdinjak 2013/14. Pregled elementarnih funkcij. Potenčna funkcija. Korenska funkcija.

Matematika I (VS) Univerza v Ljubljani, FE. Melita Hajdinjak 2013/14. Pregled elementarnih funkcij. Potenčna funkcija. Korenska funkcija. 1 / 46 Univerza v Ljubljani, FE Potenčna Korenska Melita Hajdinjak Matematika I (VS) Kotne 013/14 / 46 Potenčna Potenčna Funkcijo oblike f() = n, kjer je n Z, imenujemo potenčna. Število n imenujemo eksponent.

Διαβάστε περισσότερα

II. LIMITA IN ZVEZNOST FUNKCIJ

II. LIMITA IN ZVEZNOST FUNKCIJ II. LIMITA IN ZVEZNOST FUNKCIJ. Preslikave med množicami Funkcija ali preslikava med dvema množicama A in B je predpis f, ki vsakemu elementu x množice A priredi natanko določen element y množice B. Važno

Διαβάστε περισσότερα

Mεταβλητές (variables) και Σταθερές (constants)

Mεταβλητές (variables) και Σταθερές (constants) Mεταβλητές (variables) και Σταθερές (constants) Οι μεταβλητές είναι οι θέσεις μνήμης στις οποίες ένα πρόγραμμα τοποθετεί τα δεδομένα του κατά τη διάρκεια της λειτουργίας του. θα μάθουμε: πως δηλώνουμε

Διαβάστε περισσότερα

Tema 1 Osnove navadnih diferencialnih enačb (NDE)

Tema 1 Osnove navadnih diferencialnih enačb (NDE) Matematične metode v fiziki II 2013/14 Tema 1 Osnove navadnih diferencialnih enačb (NDE Diferencialne enačbe v fiziki Večina osnovnih enačb v fiziki je zapisana v obliki diferencialne enačbe. Za primer

Διαβάστε περισσότερα

Matrike. Poglavje II. Matrika je pravokotna tabela realnih števil. Na primer: , , , 0 1

Matrike. Poglavje II. Matrika je pravokotna tabela realnih števil. Na primer: , , , 0 1 Poglavje II Matrike Matrika je pravokotna tabela realnih števil Na primer: [ ] 1 1 1, 2 3 1 1 0 1 3 2 1, 0 1 4 [ ] 2 7, Matrika je sestavljena iz vrstic in stolpcev Vrstici matrike [ ] 1 1 1 2 3 1 [ ]

Διαβάστε περισσότερα

diferencialne enačbe - nadaljevanje

diferencialne enačbe - nadaljevanje 12. vaja iz Matematike 2 (VSŠ) avtorica: Melita Hajdinjak datum: Ljubljana, 2009 diferencialne enačbe - nadaljevanje Ortogonalne trajektorije Dana je 1-parametrična družina krivulj F(x, y, C) = 0. Ortogonalne

Διαβάστε περισσότερα

Matematika 2. Diferencialne enačbe drugega reda

Matematika 2. Diferencialne enačbe drugega reda Matematika 2 Diferencialne enačbe drugega reda (1) Reši homogene diferencialne enačbe drugega reda s konstantnimi koeficienti: (a) y 6y + 8y = 0, (b) y 2y + y = 0, (c) y + y = 0, (d) y + 2y + 2y = 0. Rešitev:

Διαβάστε περισσότερα

Tabele termodinamskih lastnosti vode in vodne pare

Tabele termodinamskih lastnosti vode in vodne pare Univerza v Ljubljani Fakulteta za strojništvo Laboratorij za termoenergetiko Tabele termodinamskih lastnosti vode in vodne pare po modelu IAPWS IF-97 izračunano z XSteam Excel v2.6 Magnus Holmgren, xsteam.sourceforge.net

Διαβάστε περισσότερα

Spoznajmo sedaj definicijo in nekaj osnovnih primerov zaporedij števil.

Spoznajmo sedaj definicijo in nekaj osnovnih primerov zaporedij števil. Zaporedja števil V matematiki in fiziki pogosto operiramo s približnimi vrednostmi neke količine. Pri numeričnemu računanju lahko npr. število π aproksimiramo s števili, ki imajo samo končno mnogo neničelnih

Διαβάστε περισσότερα

Δομές ελέγχου ροής προγράμματος

Δομές ελέγχου ροής προγράμματος Δομές ελέγχου ροής προγράμματος Υπάρχουν δύο είδη δομών ελέγχου ροής (control flow): Οι δομές επιλογής και Οι δομές επανάληψης Δομές ελέγχου ροής προγράμματος Είδος δομής Δομές επιλογής Δομή ελέγχου ροής

Διαβάστε περισσότερα

Preklopna vezja 1. poglavje: Številski sistemi in kode

Preklopna vezja 1. poglavje: Številski sistemi in kode Preklopna vezja 1. poglavje: Številski sistemi in kode Številski sistemi Najpreprostejše štetje zareze (od 6000 pr.n.št.) Evropa Vzhodna Azija Južna Amerika Številski sistemi Egipčanski sistem (od 3000

Διαβάστε περισσότερα

Numerična analiza. Bor Plestenjak. Fakulteta za matematiko in fiziko. Jadranska 21, 4. nadstropje, soba 4.04

Numerična analiza. Bor Plestenjak. Fakulteta za matematiko in fiziko. Jadranska 21, 4. nadstropje, soba 4.04 Numerična analiza Bor Plestenjak Fakulteta za matematiko in fiziko Jadranska 21, 4. nadstropje, soba 4.04 govorilne ure: četrtek 11-12 oz. po dogovoru bor.plestenjak@fmf.uni-lj.si http://www-lp.fmf.uni-lj.si/plestenjak/vaje/vaje.htm

Διαβάστε περισσότερα

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ Κων. Κόκκινος Μεταβλητές-1 Οι μεταβλητές αποτελούν θέσεις μνήμης στις οποίες αποθηκεύονται τιμές αντίστοιχες

Διαβάστε περισσότερα

Εισαγωγή στη γλώσσα προγραμματισμού JAVA. Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών

Εισαγωγή στη γλώσσα προγραμματισμού JAVA. Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών Εισαγωγή στη γλώσσα προγραμματισμού JAVA Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών Το πρώτο φλιτζάνι Java Λίστα με τα απαραίτητα Το πρώτο μου πρόγραμμα(hello World) Συνεχίζοντας

Διαβάστε περισσότερα

Uvod v numerične metode

Uvod v numerične metode Uvod v numerične metode B. Plestenjak, J.Kozak: Uvod v numerične metode 2011-2012 1 / 56 Jernej Kozak Jadranska 21, IV. nadstropje, št. 407. Iz dvigala, v desno, do konca hodnika in korak v smeri Krima.

Διαβάστε περισσότερα

Navadne diferencialne enačbe

Navadne diferencialne enačbe Poglavje 6 Navadne diferencialne enačbe 6.1 Uvod Splošna rešitev navadne diferencialne enačbe n-tega reda F(x, y, y, y,..., y (n) ) = 0 je n-parametrična družina funkcij. Kadar želimo iz splošne rešitve

Διαβάστε περισσότερα

4. Εισαγωγή στη Java

4. Εισαγωγή στη Java ΠΠΜ 401 - Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής 4. Εισαγωγή στη Java Χειμερινό εξάμηνο 2014 Πέτρος Κωμοδρόμος komodromos@ucy.ac.cy http://www.eng.ucy.ac.cy/petros 1 Θέματα Εισαγωγή στη γλώσσα προγραμματισμού

Διαβάστε περισσότερα

VEKTORJI. Operacije z vektorji

VEKTORJI. Operacije z vektorji VEKTORJI Vektorji so matematični objekti, s katerimi opisujemo določene fizikalne količine. V tisku jih označujemo s krepko natisnjenimi črkami (npr. a), pri pisanju pa s puščico ( a). Fizikalne količine,

Διαβάστε περισσότερα

Η λέξη κλειδί this. Γαβαλάς Δαμιανός dgavalas@aegean.gr

Η λέξη κλειδί this. Γαβαλάς Δαμιανός dgavalas@aegean.gr Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Διάλεξη #6 η : Η λέξη κλειδί this, υπερφόρτωση μεθόδων, κληρονομικότητα, πολυμορφισμός, υπερκάλυψη, επίπεδα προσπέλασης Γαβαλάς Δαμιανός dgavalas@aegean.gr

Διαβάστε περισσότερα

Shefferjeva polinomska zaporedja

Shefferjeva polinomska zaporedja Shefferjeva polinomska zaporedja Marko Razpet Matematični kolokviji Ljubljana, 23. marca 2006 Page 1 of 63 Predstavljen bo osnovni koncept umbralnega računa, kakršnega sta razvila Gian-Carlo Rota in Steven

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java III Ισότητα Strings class StringTest public static void main(string args[]) String x1 = "java"; String y1 = "java"; System.out.println("1.

Διαβάστε περισσότερα

Realne funkcije. Elementarne funkcije. Polinomi in racionalne funkcije. Eksponentna funkcija a x : R R + FKKT Matematika 1

Realne funkcije. Elementarne funkcije. Polinomi in racionalne funkcije. Eksponentna funkcija a x : R R + FKKT Matematika 1 Realne funkcije Funkcija f denirana simetri nem intervalu D = ( a, a) ali D = [ a, a] (i) je soda, e velja f(x) = f( x), x D; (ii) je liha, e velja f(x) = f( x), x D. Naj bo f denirana D f in x 1, x 2

Διαβάστε περισσότερα

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η μέθοδος main(), εμφάνιση μηνυμάτων, Java προγράμματα που εκτελούν αριθμητικές πράξεις Γαβαλάς Δαμιανός

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07 Αριθμητική στο δυαδικό σύστημα (γενικά) Συμπληρωματικά για δυαδικό σύστημα Η πρόσθεση στηρίζεται στους κανόνες: 0 + 0 = 0, 0 + 1 = 1, 1

Διαβάστε περισσότερα

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην. I (JAVA) Ονοματεπώνυμο: Α. Μ.: + ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην. + 1 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 2/3) 2 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 3/3)

Διαβάστε περισσότερα