Uvod u programiranje i softverski paketi

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

Download "Uvod u programiranje i softverski paketi"

Transcript

1 Univerzitet u Nišu Građevinsko-arhitektonski fakultet Milan Gocić Predrag Rajković Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Niš, 015.

2 dr Milan Gocić, dipl. inž. elektrotehnike dr Predrag Rajković, dipl. matematičar Uvod u programiranje i softverski paketi - Praktikum za laboratorijske vežbe Izdavač: Građevinsko-arhitektonski fakultet, Univerzitet u Nišu Aleksandra Medvedeva 14, Niš Recenzenti: Dr Miomir Stanković, redovni profesor Fakulteta zaštite na radu Univerziteta u Nišu Dr Marko Petković, vanredni profesor Prirodno-matematičkog fakulteta Univerziteta u Nišu Za izdavača: Prof. dr Petar Mitković Dizajn korica: Vladan Nikolić, dipl. inž. arh. Odlukom Naučno-nastavnog veća Građevinsko-arhitektonskog fakulteta Univerziteta u Nišu br. 8/47 od godine, rukopis je odobren za štampu kao pomoćni udžbenik za predmet Uvod u programiranje i softverski paketi. ISBN CIP - Каталогизација у публикацији Народна библиотека Србије, Београд 004.4(075.8)(076) 004.4MATHEMATICA ГОЦИЋ, Милан, Uvod u programiranje i softverski paketi : praktikum za laboratorijske vežbe / Milan Gocić, Predrag Rajković. - Niš : Građevinsko-arhitektonski fakultet, 015 (Niš : Grafika Galeb). - III, 00 str. : ilustr. ; 5 cm Na vrhu nasl. str.: Univerzitet u Nišu. - Slike autora. - Tiraž Autori: str. [03]. - Bibliografija: str ISBN Рајковић, Предраг, [аутор] a) Програмирање - Вежбе b) Апликативни програм "Mathematica" COBISS.SR-ID Tiraž: 100 primeraka Štampa: Grafika Galeb, Niš

3 PREDGOVOR Praktikum je namenjen studentima iz oblasti tehničko-tehnoloških nauka, a kao pomoćni udžbenik koristiće se iz predmeta Uvod u programiranje i softverski paketi na Građevinsko-arhitektonskom fakultetu u Nišu. Praktikumom je obuhvaćen veliki broj primera koji se odnose na programski jezik Java i softverski paket Mathematica. Praktikumom je obuhvaćeno petnaest laboratorijskih vežbi, primer jedne urađene vežbe, opisi integrisanog razvojnog okruženja Eclipse i softverskog paketa Mathematica. Recenzentima, dr Miomiru Stankoviću i dr Marku Petkoviću, dugujemo posebnu zahvalnost za korisne savete i sugestije. U Nišu, decembra 014. godine Autori

4

5 Sadržaj Java Integrisano razvojno okruženje Eclipse 9 Primer ispravno urađene laboratorijske vežbe 15 I vežba Kodiranje izraza Operator Izraz i kodiranje izraza 1 II vežba Linijska struktura 7.1. Algoritam 8.. Linijska struktura 9 III vežba Razgranata struktura 35 IV vežba Ciklična struktura Iterativni ciklus Brojački ciklus 50 V vežba Jednodimenzionalno polje 61 VI vežba Dvodimenzionalno polje 69 VII vežba Metoda 75 VIII vežba Primena u građevinarstvu 85 Mathematica IX vežba Softverski paket Mathematica Grafički korisnički interfejs paketa Mathematica Tipovi podataka i aritmetičke operacije Konstante Promeljive Relacioni i logički operatori Matematičke funkcije Korisnički definisane funkcije 98 X vežba Linearna algebra Vektori Matrice 105 I

6 10.3. Sistem jednačina u matričnom obliku Sopstvene vrednosti i sopstveni vektori 108 XI vežba Simbolička izračunavanja Algebarske transformacije Sume i proizvodi Rešavanje jednačina Granične vrednosti Diferenciranje Diferencijalne jednačine Diferencijalne jednačine I reda Diferencijalne jednačine sa razdvojenim promenljivama Homogena diferencijalna jednačina Linearna diferencijalna jednačina Bernoullieva diferencijalna jednačina Riccatieva diferencijalna jednačina Linearne diferencijalne jednačine II reda Homogena linearna diferencijalna jednačina II reda sa konstantnim koeficijentima Nehomogena linearna diferencijalna jednačina II reda sa konstantnim koeficijentima Homogena linearna diferencijalna jednačina II reda sa funkcionalnim koeficijentima Eulerova diferencijalna jednačina Legendreova diferencijalna jednačina Nehomogena linearna diferencijalna jednačina II reda sa funkcionalnim koeficijentima Linearne diferencijalne jednačine višeg reda Homogena linearna diferencijalna jednačina višeg reda sa konstantnim koeficijentima Nehomogena linearna diferencijalna jednačina višeg reda sa konstantnim koeficijentima Homogena linearna diferencijalna jednačina višeg reda sa funkcionalnim koeficijentima Nehomogena linearna diferencijalna jednačina višeg reda sa funkcionalnim koeficijentima Integracija 15 XII vežba Grafika Dvodimenzionalna grafika Opcije pri radu sa dvodimenzionalnom grafikom Stilovi i boje Iscrtavanje grafičkih primitive Parametarski zadate krive Crtanje oblasti u ravni Trodimenzionalna grafika 14 II

7 1.8. Crtanje oblasti u prostoru Prikazivanje skupova podataka i njihova analiza 146 XIII vežba Upravljačke strukture Uslovni izrazi Ciklusi Do ciklusi While i For ciklus 155 XIV vežba Potprogrami Funkcijski potprogram Opšti potprogram Rekurzivna izračunavanja 164 XV vežba Mathematica za više kurseve matematike Brojni sistemi Inverzne funkcije Dvostruki integral Dvostruki integral nad pravougaonikom Dvostruki integral nad proizvoljnom oblasti u Polarni koordinatni system Trostruki integral Trostruki integral nad proizvoljnom oblasti u Određivanje zapremine trostrukim integralom Krivolinijski integral Krivolinijski integral I reda Dužina luka krive Površinski integral Površinski integral I reda Površina i zapremina rotacionog tela Redovi Ispitivanje konvergencije redova Stepeni red Razvoj funkcije u red Furijeov red Crtanje polja i tokova Laplasova transformacija Parcijalne diferencijalne jednačine Parcijalne diferencijalne jednačine I reda Linearna homogena parcijalna diferencijalna jednačina Kvazilinearna parcijalna diferencijalna jednačina Nelinearna parcijalna diferencijalna jednačina 198 Literatura 01 III

8

9 Cilj Upoznavanje sa okruženjem za izradu laboratorijskih vežbi u Javi

10 Uvod u programiranje i softverski paketi - Praktikum za laboratorijske vežbe Eclipse Za pisanje konzolnih aplikacija na programskom jeziku Java koristiće se Eclipse, integrisano razvojno okruženje (Integrated Development Environment, IDE) otvorenog kôda. Zamišljen je da se koristi kao razvojno okruženje Java programskog jezika i sastoji se od java razvojnih alata (Java Development Tools, JDT). Može se proširiti instaliranjem dodatnih aplikacija (engl. plugins). Postoje tri načina za kreiranje Java projekta: 1. Selektovanje File -> New -> Project, Kreiranje konzolne aplikacije. Selektovanje strelice sa dugmeta, a nakon toga Project, 3. Desnim tasterom miša pritisnite na Package Explorer u Java Perspective pogledu i izaberite Project. Izaberite Java Project i pritisnite Next. 10

11 Uvod u Javu Imenujte projekat npr. Primer. Ako želite da kreirate src i bin direktorijume za java i class fajlove izaberite Create separate source and output folders radio dugme iz Project layout dela New Java Project dijaloga. Podrazumevani direktorijum izvornog koda je src/ a za izlazne rezultate bin/. Možete promeniti ove podrazumevane direktorijume izborom Configure default... Pritisnite Next dugme. Sledeći prozor sadrži četiri jezička: Source, Projects, Libraries i Order and Export. Jezičak Source postavlja izvorni i izlazni direktorijum Java fajlova i klasa. Jezičak Project dozvoljava povezivanje novog Java projekta sa bilo kojim ranije kreiranim java projektom. Jezičak Libraries omogućava umetanje jar fajlova i Java biblioteka. Jezičak Order and Export određuje redosled povezivanja fajlova i kako se projekat može izvoziti za druge aplikacije. Nakon unetih promena pritisnuti dugme Finish. Projekat se prikazuje u Package Explorer pogledu. 11

12 Uvod u programiranje i softverski paketi - Praktikum za laboratorijske vežbe Kreiranje programa u Javi Koraci za kreiranje izvorne datoteke (programa) su: 1. Da bi se kreirao Java fajl iz glavnog menija treba izabrati File -> New -> Class.. Uneti ime klase, na primer Prvi. 3. Izabrati public static void main(string[] args) 4. Pritisnite dugme Finish. 5. Uneti program, na primer: public class Prvi { } /** args */ public static void main(string[] args) { // TODO Auto-generated method stub System.out.println("Java"); } 1

13 Uvod u Javu 6. Da bi se izvršio program iz glavnog menija izabrati Run -> Run As -> Java Application 7. U prozoru Console videćete rezultate. Ukoliko nemate ovaj prozor izaberite iz glavnog menija Windows -> Show View -> Console. 13

14

15 Cilj Upoznavanje sa načinom prikaza laboratorijske vežbe

16 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Univerzitet u Nišu Građevinsko-arhitektonski fakultet Uvod u programiranje i softverski paketi Student: Pera Perić Broj indeksa: 1/FG Grupa: I Datum izrade vežbe: Overa: Datum overe vežbe: Vežba broj 1 I grupa Sastaviti algoritam i napisati program za izračunavanje zbira dva realna broja a i b (c = a + b). Na izlazu štampati rezultat c. Algoritam: 16

17 Program: Primer ispravno urađene laboratorijske vežbe package programiranje; /* * U zadatku se na osnovu uneta dva realna broja a i b * nalazi njihov zbir c = a + b. */ import java.io.*; public class Zadatak { public static void main(string[] args) throws Exception{ // Deklarisanje promenljivih a, b, c double a, b, c; BufferedReader ulaz = new BufferedReader( new InputStreamReader(System.in)); // Unos vrednosti promenljivih a i b System.out.println("Unesite realan broj a:"); a = Double.parseDouble(ulaz.readLine()); System.out.println("Unesite realan broj b:"); b = Double.parseDouble(ulaz.readLine()); // Izračunavanje zbira dva realna broja a i b c = a + b; } } // Štampanje izlaznog rezultata System.out.println("Vrednost dobijenog zbira je " + c); 17

18 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Izlazni rezultati: Unesite realan broj a: 34.5 Unesite realan broj b: 1. Vrednost dobijenog zbira je

19 Cilj vežbe Upoznavanje sa operatorima u Javi Upoznavanje sa elementarnim matematičkim funkcijama Kodiranje izraza

20 Uvod u programiranje i softverski paketi - Praktikum za laboratorijske vežbe Teorijske osnove za izradu vežbe 1.1. Operator Operator je simbol kojim se ukazuje kompajleru koju vrstu matematičke operacije treba da izvede. U tabeli 1.1 dat je pregled aritmetičkih operatora koji se koriste u programskom jeziku Java. Tabela 1.1. Aritmetički operatori Operator Značenje Primer zapisa + Sabiranje x + y Oduzimanje x y * Množenje x * y / Deljenje x / y % Moduo x % y ++ Inkrement x++ ili ++x Dekrement x ili x U tabeli 1. prikazani su relacioni operatori. Izlazni rezultat relacionih operatora je tipa boolean. Tabela 1.. Relacioni operatori Operator Značenje Primer zapisa = = Jednako x = = y!= Nejednako x!= y > Veće od x > y < Manje od x < y >= Veće od ili jednako x >= y <= Manje od ili jednako x <= y Logički operatori (tabela 1.3) se odnose na poređenje logičkih tipova podataka i kao rezultat dobijaju se podaci tipa boolean. Tabela 1.3. Logički operatori Operator Značenje Primer zapisa & Logičko I (AND) x & y Logičko ILI (OR) x y ^ Isključivo ILI (XOR) x ^ y! Logičko NE (NOT)!x Operator dodele predstavlja se jednostrukim znakom jednakosti (=). Opšti oblik primene operatora dodele izgleda 0

21 promenljiva = izraz; I vežba Kodiranje izraza pri čemu tip promenljive mora biti kompatibilan tipu izraza. Primer 1.1. Napisati naredbe dodele kojima se realizuje sledeće: a) Logičkoj promenljivoj p dodeliti vrednost true, ako se od odsečaka sa dužinama x, y, z može konstruisati trougao. b) Logičkoj promenljivoj p dodeliti vrednost true, ako se pravougaonik sa stranicama a i b može ceo smestiti u pravougaonik sa stranicama c i d. a) p = (x + y > z) && (x + z > y) && (y + z > x) b) p = ((a < c) && (b < d)) ((a < d) && (b < c)) 1.. Izraz i kodiranje izraza Zapis postupka kojim se definiše dobijanje (izračunavanje) jednog rezultujućeg podatka na osnovu jednog ili više podataka zove se izraz. Prema vrsti podataka nad kojima se vrši izračunavanje izraz može biti: aritmetički, znakovni, logički i relacijski. Aritmetički izraz se piše na sličan način kao što je to uobičajeno u matematici i sastoji se od argumenata i aritmetičkih operacija. Argument može biti konstanta i/ili promenljiva. Znakovni izrazi dobijaju se povezivanjem znakovnih veličina. Logički izraz je zapis postupka kojim se na osnovu jednog ili više argumenata izračunava jedna logička vrednost (true ili false). Argument logičkog izraza može biti: logička konstanta, logička promenljiva, element logičkog niza, relacijski izraz i logički izraz zapisan između zagrada. Logički izraz može biti zapisan u najprostijem obliku kao jedan argument, a složeniji zapisi se dobijaju primenom logičkih operacija. Relacijski izraz je sastavljen od dva aritmetička izraza između kojih se piše relacijski znak. Vrednost relacijskog izraza je logička konstanta. Relacijski izraz ima vrednost true ako su aritmetički izrazi u zadatoj relaciji, u suprotnom vrednost relacijskog izraza je false. U mnogim matematičkim i inženjerskim zadacima zahteva se izračunavanje elementarnih funkcija za zadate vrednosti argumenta. U matematici je ovaj problem rešavan pronalaženjem formula po kojima se mogu izračunavati tablice za elementarne 1

22 Uvod u programiranje i softverski paketi - Praktikum za laboratorijske vežbe matematičke funkcije. To se najčešće vršilo razvijanjem funkcije u stepene redove ili primenom iteracionih formula. Razvojem računarstva pojavili su se algoritmi kojima se može izračunati vrednost elementarne matematičke funkcije sa zadatom tačnošću. Algoritmi za izračunavanje elementarnih matematičkih funkcija nalaze se u obliku funkcija u okviru paketa java.lang i po pozivu programa u Javi uključuju se u program korisnika. Tako su ove funkcije uvek na raspolaganju za korišćenje od strane programa korisnika, pa se kaže da su to unutrašnje ili ugrađene funkcije. Poziv metode za izračunavanje elementarne matematičke funkcije u Javi vrši se sa gde su: Math.funkcija(a); Math klasa paketa java.lang, funkcija ime elementarne matematičke funkcije, a aritmetički izraz, čija se vrednost uzima kao argument funkcije. U klasi Math paketa java.lang deklarisane su dve konstante tipa double: E = PI = i matematičke funkcije prikazane u tabeli 1.4. Tabela 1.4. Matematičke funkcije Povratni tip Ime funkcije Formalni argumenti Opis funkcije double abs() double x apsolutna vrednost double acos() double x arkus kosinus double asin() double x arkus sinus double atan() double x arkus tangens double cos() double x kosinus double cosh() double x hiperbolički kosinus double exp() double x eksponencijalna vrednost double log() double x prirodni logaritam double log10() double x logaritam sa osnovom 10 double pow() double x, double y x na stepen y double sin() double x sinus double sinh() double x sinus hiperbolički double sqrt() double x kvadratni koren double tan() double x tangens double tanh() double x tangens hiperbolički double toradians() double x prevodi stepene u radijane double todegrees() double x prevodi radijane u stepene

23 I vežba Kodiranje izraza Pod kodiranjem izraza podrazumeva se proces prevođenja matematičkog izraza na jezik koji prepoznaje računar. U Javi za prevođenje izraza koriste se operatori i matematičke funkcije. Pri kodiranju matematičkih izraza postoje tri specijalna slučaja: 1. Predstavljanje stepena argumenta funkcije: Na primer, ukoliko je argument funkcije sinus trećeg stepena, imaće izraz sledeći oblik 3 sin( x ) Math.sin( Math. pow( x,3)). Predstavljanje stepena funkcije: Na primer, ukoliko je funkcija sinus trećeg stepena, imaće izraz sledeći oblik 3 sin ( x) Math. pow( Math.sin( x),3) 3. Predstavljanje korena funkcije koji nije kvadratni: Na primer, ukoliko je potrebno predstaviti peti koren kvadrata promenljive x, imaće izraz sledeći oblik 5 x x 5 Math. pow ( x,.0 / 5.0) Primer 1.. Kodirati sledeće izraze: x x a) ln sin a e cos b arctg, b) cos y ln tg x 0,, xy e c) sin x x ln (sin x ) 3. a) Math.log(Math.sqrt(Math.abs(Math.sin(a + Math.exp(x / ) + Math.cos(b Math.atan(x / ))))) b) Math.log(Math.sqrt(Math.pow(Math.tan(x), ) Math.cos(y) / Math.exp(x * y))) c) Math.sqrt(Math.sin(Math.sqrt(x)) + Math.pow(x, 3)) / Math.pow(Math.log(Math.sin(x * x)), ) 3

24 Uvod u programiranje i softverski paketi - Praktikum za laboratorijske vežbe Primer 1.3. Kodirati sledeće aritmetičke izraze: x 3 a) y sin x e, b) a z x b. y a) y = Math.sin(x + Math.exp( * x + 3)) b) z = x * Math.pow( * a / b, y) Zadaci za vežbu I grupa Kodirati sledeće aritmetičke naredbe: x y z sin( x y), x y y x e sin x x 3,8cos x e. II grupa Kodirati sledeće aritmetičke naredbe: 3 y x 5sin ( x ), x y x 1 3 x 3 5 x 4. 4

25 III grupa I vežba Kodiranje izraza Kodirati sledeće aritmetičke naredbe: x 3a y x z x x a, a b z 3x a. b y IV grupa Kodirati sledeće aritmetičke naredbe: a b y, a c b y a b a b 3 ( sin )cos sin a a bcos b. V grupa Kodirati sledeće aritmetičke naredbe: y x1 x x3 x , 4 sin x x ycos x. x VI grupa Kodirati sledeće aritmetičke naredbe: 3 x 0,36x1 y 4 x x,3 y x x e x 4, , x, VII grupa Kodirati sledeće logičke naredbe: z ( x y) ( x y), 5

26 Uvod u programiranje i softverski paketi - Praktikum za laboratorijske vežbe 3 xx y x x x x 0 sin VIII grupa Kodirati sledeće aritmetičke naredbe: y x e x x 3 x sin cos, x x e e y x x 3 3 cos sin. IX grupa Kodirati sledeću aritmetičku i logičku naredbu: x y, x 1 3 x 1 15 x z ( x y) x y. X grupa Kodirati sledeće aritmetičke naredbe: e y y x e ln(cos x ), x sin x 3 3 x sin 3 3x x

27 Cilj vežbe Upoznavanje sa pojmom algoritam Predstavljanje algoritma blok šemom Upoznavanje sa linijskom programskom strukturom Implementacija linijske programske strukture

28 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Teorijske osnove za izradu vežbe.1. Algoritam Algoritam je potpuno i precizno definisana procedura koja uzima jednu ili više ulaznih vrednosti i daje jednu ili više izlaznih vrednosti. Te vrednosti se zovu ulazni i izlazni podaci algoritma. Algoritam je konačni niz logičnih koraka potrebnih da se reši neki problem, dok je program algoritam zapisan na nekom programskom jeziku. Za opis algoritma blok šemom koriste se grafički simboli koji su povezani orijentisanim dužima (tabela.1). Tekst koji opisuje obradu se zapisuje unutar grafičkih simbola. Tok izvršenja algoritma se opisuje linijama koje povezuju grafičke simbole. Tabela.1. Grafički prikaz simbola za označavanje dijagrama toka programa Grafički simbol Opis Granično mesto (početak, kraj, prekid). Upotrebljava se za predstavljanje početka i kraja postupka, procedure, procesa, kao i prekida ili odlaganja procesa. Konektor (veznik). Ulazna ili izlazna priključna tačka između prekinutih linija toka programa. Ulaz. Unos podataka preko ulazne jedinice (instrukcije ulaza). Izlaz. Izlaz podataka preko izlazne jedinice (instrukcije izlaza). Obrada (operacija, proces, radnja). Izvršenje operacije ili grupe operacija (instrukcije obrade). Odluka (uslovno grananje). Izbor pravca izvršenja algoritma zavisi od uslova (instrukcije provere uslova). Modifikacija programa. Izvršenje operacija kojima se menjaju naredbe programa. Poziv potprograma. Izvršavanje potprograma prethodno zapisanog izvan glavnog programa (instrukcija poziva potprograma). Linija toka (vezna linija). Prikazivanje redosleda veza između blokova. Spajanje. Mesto spajanja dve linije. Grananje. Jedna dolazna i više odlaznih grana. Komentar (napomena). Objašnjenje, odnosno dodatni komentar ili kratko tumačenje operacije. Pod algoritamskom (programskom) strukturom podrazumevamo više koraka (naredbi programskog jezika) koji čine jednu celinu. Postoje tri elementarne algoritamske strukture: 8

29 1. linijska,. razgranata i 3. ciklična. II vežba Linijska struktura.. Linijska struktura Naredbe koje se pri izvršavanju programa uvek izvršavaju u navedenom redosledu čine linijsku strukturu. Nakon izvršenja jedne naredbe prelazi se na izvršenje naredbe koja neposredno sledi u programu (slika.1). Linijski programi su programi u kojima se javljaju naredbe ulaza, obrade i izlaza. Ovi programi imaju smisla u slučajevima kada za različite vrednosti ulaznih veličina treba izvršiti složena izračunavanja. Slika.1. Linijska struktura Primer.1. Sastaviti algoritam i napisati program kojim se izračunava vrednost funkcije x y x f x x y na osnovu unetih vrednosti za x i y. Na izlazu štampati vrednost funkcije f. 4 package programiranje; import java.io.*; import java.text.decimalformat; /* */ U zadatku se na osnovu uneta dva realna broja x i y izračunava vrednost funkcije f. 9

30 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe public class LinijskaStruktura1 { public static void main(string[] args) throws Exception { DecimalFormat df = new DecimalFormat("###,##0.00"); BufferedReader ulaz = new BufferedReader( new InputStreamReader(System.in)); // Deklarisanje promenljivih x, y, f double x, y, f; // Unos vrednosti promenljivih x i y System.out.print("Unesite vrednost za x: "); x = Double.parseDouble(ulaz.readLine()); System.out.print("Unesite vrednost za y: "); y = Double.parseDouble(ulaz.readLine()); // Izračunavanje vrednosti funkcije f f = Math.pow((x + y) / ( * x), 4) - x / (x - y); } } // Štampanje izlaznog rezultata System.out.println("Vrednost funkcije f je " + df.format(f)); Izlazni rezultati: Unesite vrednost za x:.5 Unesite vrednost za y: 3.6 Vrednost funkcije f je Primer.. Tačka se kreće pravolinijski po zakonu s t 4t 8t 3, gde je put s meren u metrima, a vreme t u sekundama. Sastaviti algoritam i napisati program za izračunavanje kinematičkih veličina u trenutku t = 5 s. Kinematičke jednačine kretanja su: s t t t ( ) v s t t t a v( t) 1t 8. U trenutku t 5sbiće s m v m s a m s 193, 118 /, 5 /. 30

31 II vežba Linijska struktura package programiranje; import java.io.*; import java.text.decimalformat; /* U zadatku se na osnovu kinematičkih jednačina kretanja i unete vrednosti vremena t izračunavaju vrednosti kinematičkih veličina. */ public class LinijskaStruktura { public static void main(string[] args) throws Exception { DecimalFormat df = new DecimalFormat("#.###"); BufferedReader ulaz = new BufferedReader( new InputStreamReader(System.in)); // Deklarisanje promenljivih s, v, a, t double s, v, a, t; // Unos vrednosti za vreme t System.out.print("Unesite vrednost za vreme t (s): "); t = Double.parseDouble(ulaz.readLine()); // Izračunavanje pređenog puta, brzine i ubrzanja s = * t * t * t - 4 * t * t + 8 * t + 3; v = 6 * t * t - 8 * t + 8; a = 1 * t - 8; // Štampanje izlaznih rezultata System.out.println("Vrednost pređenog puta je s = " + df.format(s) + " m."); 31

32 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe } } Izlazni rezultati: System.out.println("Vrednost brzine je v = " + df.format(v) + " m/s."); System.out.println("Vrednost pređenog puta je a = " + df.format(a) + " m/s."); Unesite vrednost za vreme t (s): 5 Vrednost pređenog puta je s = 193 m. Vrednost brzine je v = 118 m/s. Vrednost pređenog puta je a = 5 m/s. Zadaci za vežbu I grupa Sastaviti algoritam i napisati program za izračunavanje obima i površine kvadrata za unetu vrednost stranice a. II grupa Sastaviti algoritam i napisati program kojim se za unete vrednosti realnih promenljivih a, b i c izračunava vrednost izraza III grupa d ab a c Trougao je zadat dužinama stranica a, b i c. Sastaviti algoritam i napisati program za izračunavanje dužine simetrale stranice a b. 1 ( ) ma b c a. IV grupa Sastaviti algoritam i napisati program za prevođenje ugla zadatog u radijanima u stepene, rad 180 ako važi step. 3

33 V grupa II vežba Linijska struktura Trougao je zadat dužinama stranica a, b i c. Sastaviti algoritam i napisati program za izračunavanje dužine simetrale ugla iz temena A VI grupa 1 LA b c b c a b c (( ) ). Sastaviti algoritam i napisati program kojim se za unete vrednosti realnih promenljivih a i b izračunava vrednost izraza VII grupa a b c a 1 b 3 b Sastaviti algoritam i napisati program kojim se za unete vrednosti realnih promenljivih a, b, c i x izračunava vrednost izraza y cos x bsin x. a b c 3 VIII grupa Krug je zadat poluprečnikom r i centralnim uglom α koji je zadat u stepenima. Sastaviti algoritam i napisati program za izračunavanje: dužine luka r l, 360 površine isečka r P. 360 IX grupa Sastaviti algoritam i napisati program kojim se prevodi temperatura iz skale Celzija u skalu Farenhajta prema formuli temperatura_po_farenhajtu = temperatura_po_celziju 1,

34 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe X grupa Trougao je zadat dužinama stranica a, b i c. Sastaviti algoritam i napisati program za izračunavanje poluprečnika opisanog kruga abc R, 4 P abc pri čemu je P s ( s a) ( s b) ( s c), s. 34

35 Cilj vežbe Upoznavanje sa razgranatom programskom strukturom Implementacija razgranate programske strukture

36 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Teorijske osnove za izradu vežbe Razgranata struktura je programska struktura koja omogućuje grananja u programu, tako da se pri izvršavanju programa prolazi samo kroz jednu od mogućih grana. Broj grana u razgranatoj strukturi može biti različit (dve, tri ili više), što zavisi od naredbe prelaska kojom se ostvaruje grananje u programu. If iskaz spada u blokovski uslovni prelazak, jer omogućuje da se u svakoj grani razgranate strukture može nalaziti blok naredbi. Uslov po kome se vrši prelazak predstavlja logički izraz čija vrednost može biti true ili false. Grananje koje se vrši ispitivanjem vrednosti logičkog izraza je binarno dvoznačno sa granama koje se zovu potvrdna grana za istinitu vrednost logičkog izraza (na grafičkom prikazu označena sa da) i odrečna grana (označena sa ne). Sintaksa if-else strukture ima oblik if (uslov) { B1 } else { B } Slika 3.1. If-else struktura Ako je vrednost izraza true, izvršava se blok naredbi B1 koji sledi iza naredbe prelaska if, u suprotnom se izvršava blok naredbi B koji se piše iza rezervisane reči else (slika 3.1). U slučaju da ne postoji blok B, tada ne treba pisati rezervisanu reč else. Sintaksa ove strukture ima oblik if (uslov) { B1 } Slika 3.. If struktura U slučaju if strukture u odrečnoj grani ne postoje naredbe već se vrši samo prelazak na kraj if naredbe (slika 3.). 36

37 III vežba Razgranata struktura Na slici 3.3 prikazana je struktura u kojoj se u odrečnoj grani if-else strukture nalazi druga if-else struktura. Za ovakvu strukturu if naredbi kaže se da su ugneždene if naredbe. Sintaksa if-else-if strukture ima oblik if (uslov1) { B1 } else if (uslov) { B } else { B3 } Slika 3.3. If-else-if struktura Primer 3.1. Sastaviti algoritam i napisati program kojim se za unetu realnu vrednost promenljive x izračunava vrednost funkcije x5, x0, y x, x 0. Na izlazu štampati rezultat oblika Za uneto X = xxx.xxx dobija se Y = xxx.xxx. 37

38 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe package programiranje; import java.io.*; /* U zadatku se na osnovu unetog realnog broja x korišćenjem razgranate strukture izračunava vrednost funkcije y. */ public class IfElseStruktura { public static void main(string[] args) throws Exception { BufferedReader ulaz = new BufferedReader( new InputStreamReader(System.in)); // Deklarisanje promenljivih x i y double x, y; // Unos vrednosti promenljive x System.out.print("Unesite vrednost za x: "); x = Double.parseDouble(ulaz.readLine()); if (x >= 0) y = x + 5; else y = -x; } } // Štampanje izlaznog rezultata System.out.println("Za uneto X = " + x + " dobija se Y = " + y); 38

39 Izlazni rezultati: III vežba Razgranata struktura Unesite vrednost za x: -6.3 Za uneto X = -6.3 dobija se Y = 6.3 Primer 3.. Sastaviti algoritam i napisati program kojim se izračunava vrednost funkcije x, x, y, x 3, x 1, x 3. Za unetu vrednost promenljive x, štampati vrednost argumenta i vrednost funkcije. package programiranje; import java.io.*; /* */ U zadatku se na osnovu unetog realnog broja x korišćenjem razgranate strukture izračunava vrednost funkcije y. 39

40 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe public class UgnezdenoIf { public static void main(string[] args) throws Exception { BufferedReader ulaz = new BufferedReader( new InputStreamReader(System.in)); // Deklarisanje promenljivih x i y double x, y; // Unos vrednosti promenljive x System.out.print("Unesite vrednost za x: "); x = Double.parseDouble(ulaz.readLine()); // Primena razgranate strukture if (x < ) y = x; else if (x < 3) y =.0; else y = x - 1; } } // Štampanje izlaznog rezultata System.out.println("Za uneto X = " + x + " dobija se Y = " + y); Izlazni rezultati: Unesite vrednost za x:.5 Za uneto X =.5 dobija se Y =.0 Primer 3.3. Sastaviti algoritam i napisati program tako da se na osnovu dužine svetlog otvora stambene prostorije (k 0 ) u pravcu nosećih greda formira pokretno opterećenje u stambenim zgradama prema sledećoj tabeli: Dužina svetlog otvora Pokretno opterećenje k 0 < 4,5 m p = 1,5 kn/m 4,5 k 0 < 5,5 m p = 1,5 kn/m k 0 5,5 p =,0 kn/m 40

41 III vežba Razgranata struktura package programiranje; import java.io.*; /* U zadatku se na osnovu unete dužine svetlog otvora stambene prostorije izračunava pokretno opterećenje. */ public class Primer3 { public static void main(string[] args) throws Exception { // Deklarisanje promenljivih k0 i p double k0, p; BufferedReader ulaz = new BufferedReader( new InputStreamReader(System.in)); // Unos vrednosti promenljive k0 System.out.print("Unesite vrednost za dužinu svetlog otvora k0: "); k0 = Double.parseDouble(ulaz.readLine()); // Određivanje pokretnog opterećenja if (k0 < 4.5) p = 1.5; else if (k0 < 5.5) p = 1.5; 41

42 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe else p =.0; } } // Štampanje izlaznog rezultata System.out.println("Za uneto k0 = " + k0 + " dobija se p = " + p); Izlazni rezultati: Unesite vrednost za dužinu svetlog otvora k0:.6 Za uneto k0 =.6 dobija se p = 1.5 Zadaci za vežbu I grupa Sastaviti algoritam i napisati program koji za unete realne vrednosti a i b izračunava y po formuli Rezultat prikazati u obliku II grupa a b, a b, y a b, a b, a / b, a b. Za unete vrednosti a = x.xx i b = x.xx dobija se y = x.xx. Sastaviti algoritam i napisati program kojim se za unetu realnu vrednost x izračunava vrednost funkcije 3 x+1, x, y e x, x. III grupa Sastaviti algoritam i napisati program kojim se za unete realne vrednosti x, y i z određuje vrednost izraza p max( x,min( y, z)). 4

43 IV grupa III vežba Razgranata struktura Sastaviti algoritam i napisati program za izračunavanje vrednosti funkcije f(x) za zadatu vrednost x po formuli V grupa 3 x, x 0, x 3, 0 x1, f( x) x 3, 1 x 3, 10 x1, x3. Sastaviti algoritam i napisati program kojim se za unetu realnu vrednost x izračunava vrednost funkcije VI grupa ( x), x4, y x 1, 4 x 8, 3 x 1, x8. Sastaviti algoritam i napisati program kojim se za unete realne vrednosti x, y i z određuje vrednost izraza VII grupa p min( x,max( y, z)). Sastaviti algoritam i napisati program za određivanje da li je uneti ceo broj x paran ili neparan. VIII grupa Sastaviti algoritam i napisati program kojim se za date realne brojeve x i y izračunava vrednost funkcije f(x, y) po formuli max( x, y) min( x, y) f ( x, y). Na izlazu štampati vrednost funkcije. 1 max ( xy, ) 43

44 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe IX grupa Sastaviti algoritam i napisati program kojim se za unetu realnu vrednost x izračunava vrednost funkcije X grupa x - 1, x1, y x, x 1. Sastaviti algoritam i napisati program za izračunavanje vrednosti funkcije za unete realne vrednosti a, b i x 1,7 x 3, x, x 0, y a bcos x, x 0. a x b x sin x 44

45 Cilj vežbe Upoznavanje sa cikličnom programskom strukturom Upoznavanje sa iterativnim i brojačkim ciklusima Implementacija ciklične programske strukture

46 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Teorijske osnove za izradu vežbe Ako se niz naredbi u programu može izvršiti više puta u toku izvršavanja programa, tada se kaže da ove naredbe obrazuju cikličnu strukturu. Među naredbama koje čine cikličnu strukturu mora postojati bar jedna naredba takva da omogućava izlazak iz ciklusa. Uslov pod kojim se izlazi iz ciklusa zove se izlazni kriterijum ciklusa. Ako je izlazni kriterijum broj ponavljanja ciklusa, tada se ciklus zove brojački ciklus. Ako je izlazni kriterijum dostignuta tačnost u procesu računanja, tada se ciklus zove iterativni ciklus Iterativni ciklus Za realizaciju iterativnih ciklusa koristi se while (slika 4.1) i do-while (slika 4.) struktura sa osnovnom razlikom u broju prolaza kroz petlju. Sintaksa while petlje ima oblik while (uslov) { B } Slika 4.1 While struktura Drugi način realizacije iterativnog ciklusa je korišćenjem do-while strukture. Sintaksa dowhile petlje ima oblik do { B } while (uslov); Slika 4.. Do-while struktura Primer 4.1. Sastaviti algoritam i napisati program za iterativno rešavanje sistema jednačina 4x 3xy x 1 0 x y

47 1 xn 3 koristeći sledeće formule: xn 1 xn (3yn 1) 1, yn 1. IV vežba Ciklična struktura Iterativni proces prekinuti kada se ispune uslovi x n 1 x n i y n 1 y n. Na ulazu je data vrednost za i početne vrednosti za x 0 i y 0. Na izlazu štampati rešenja sistema jednačina. Zadatak rešiti koristeći: a) while petlju, b) do-while petlju. a) 47

48 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe package programiranje; import java.io.*; import java.text.decimalformat; /* U zadatku se na osnovu unete apsolutne tačnosti eps i početnih vrednosti x0 i y0 korišćenjem iterativnog ciklusa pronalaze rešenja zadatog sistema jednačina. */ public class WhilePetlja{ public static void main(string[] args) throws Exception { DecimalFormat df = new DecimalFormat("###,##0.00"); BufferedReader ulaz = new BufferedReader( new InputStreamReader(System.in)); // Unos vrednosti promenljivih eps, x0 i y0 System.out.print("Unesite vrednost za epsilon: "); double eps = Double.parseDouble(ulaz.readLine()); System.out.print("Unesite vrednost za x0: "); double x0 = Double.parseDouble(ulaz.readLine()); System.out.print("Unesite vrednost za y0: "); double y0 = Double.parseDouble(ulaz.readLine()); // Iterativni postupak za određivanje rešenja sistema jednačina double x1 = 0.5 * Math.sqrt(x0 * (3 * y0-1) + 1); double y1 = Math.sqrt((x0 + 3) / ); while (Math.abs(x1 - x0) > eps Math.abs(y1 - y0) > eps) { x0 = x1; x1 = 0.5 * Math.sqrt(x0 * (3 * y0-1) + 1); y0 = y1; y1 = Math.sqrt((x0 + 3) / ); } } } // Štampanje izlaznog rezultata System.out.println("Rešenja sistema jednačina su x = " + df.format(x1) + " i y = " + df.format(y1)); Izlazni rezultati: Unesite vrednost za epsilon: 1.0E-6 Unesite vrednost za x0: 1. Unesite vrednost za y0: 3.4 Rešenja sistema jednačina su x = 1.05 i y =

49 b) IV vežba Ciklična struktura package programiranje; import java.io.*; import java.text.decimalformat; /* U zadatku se na osnovu unete apsolutne tačnosti eps i početnih vrednosti x0 i y0 korišćenjem iterativnog ciklusa pronalaze rešenja zadatog sistema jednačina. */ public class DoWhilePetlja { public static void main(string[] args) throws Exception { DecimalFormat df = new DecimalFormat("###,##0.00"); BufferedReader ulaz = new BufferedReader( new InputStreamReader(System.in)); 49

50 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe // Unos vrednosti promenljivih eps, x0 i y0 System.out.print("Unesite vrednost za epsilon: "); double eps = Double. parsedouble(ulaz.readline()); System.out.print("Unesite vrednost za x0: "); double x0 = Double. parsedouble(ulaz.readline()); System.out.print("Unesite vrednost za y0: "); double y0 = Double. parsedouble(ulaz.readline()); // Iterativni postupak za određivanje rešenja sistema jednačina double x1 = 0.5 * Math.sqrt(x0 * (3 * y0-1) + 1); double y1 = Math.sqrt((x0 + 3) / ); do { x0 = x1; x1 = 0.5 * Math.sqrt(x0 * (3 * y0-1) + 1); y0 = y1; y1 = Math.sqrt((x0 + 3) / ); } while (Math.abs(x1 - x0) > eps Math.abs(y1 - y0) > eps); } } // Štampanje izlaznog rezultata System.out.println("Rešenja sistema jednačina su x = " + df.format(x1) + " i y = " + df.format(y1)); Izlazni rezultati: Unesite vrednost za epsilon: 1.0E-6 Unesite vrednost za x0: 1. Unesite vrednost za y0: 3.4 Rešenja sistema jednačina su x = 1.05 i y = Brojački ciklus Za realizaciju brojačkog ciklusa koristi se for petlja. Sintaksa for petlje ima oblik for (inicijalizacija; uslov; iteracija) { telo ciklusa } Slika 4.3. For petlja Na slici 4.3 prikazana je for petlja, pri čemu je m 1 početak, m kraj, a m 3 korak brojanja. 50

51 IV vežba Ciklična struktura Primer 4.. Sastaviti algoritam i napisati program za izračunavanje vrednosti funkcije f ( x) 1 3 x za x = 1,00(0,),00. Izlazna lista neka izgleda X x.xx F(X) xxx.xx package programiranje; import java.text.decimalformat; /* U zadatku se korišćenjem brojačkog ciklusa vrši tabeliranje vrednosti funkcije */ public class ForPetlja { public static void main(string[] args) { DecimalFormat df = new DecimalFormat("###,##0.00"); // Deklarisanje promenljivih f i x double f, x; // Štampanje zaglavlja System.out.println("\tX\tF(X)"); for (x = 1.0; x <=.0; x += 0.) { // Izračunavanje vrednosti funkcije f f = Math.sqrt(1 + Math.pow(x, 3)); } } } // Štampanje izlaznog rezultata System.out.println("\t" + df.format(x) + "\t" + df.format(f)); 51

52 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Izlazni rezultati: X F(X) Primer 4.3. Sastaviti algoritam i napisati program za izračunavanje vrednosti sume S n i1 i3 i 3 i 3 za unetu vrednost n. 5

53 package programiranje; IV vežba Ciklična struktura import java.io.*; import java.text.decimalformat; /* U zadatku se korišćenjem brojačkog ciklusa izračunava vrednost sume */ public class Suma { public static void main(string[] args) throws Exception { DecimalFormat df = new DecimalFormat("###,##0.00"); BufferedReader ulaz = new BufferedReader( new InputStreamReader(System.in)); // Inicijalizacija promenljive s double s = 0; // Unos vrednosti promenljive n System.out.print("Unesite vrednost za n: "); int n = Integer.parseInt(ulaz.readLine()); for (int i = 1; i <= n; i++) if (i!= 3) s += (i + 3) / (i - 3.0); } } // Štampanje izlaznog rezultata System.out.println("Dobijena vrednost sume je " + df.format(s)); Izlazni rezultati: Unesite vrednost za n: 10 Dobijena vrednost sume je Primer 4.4. Data je greda opterećena trougaonim opterećenjem q0 1 kn / m i dužine L 6 m. Za poprečne preseke na rasponu grede,5m z 3,5m sa korakom od 0,1 m sastaviti algoritam i napisati program za tabeliranje vrednosti transverzalne sile i napadnog momenta. Izlazni razultati su oblika: z Ft M x.xx xxx.xx xxx.xx 53

54 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Napomena: Transverzalna sila se određuje na osnovu formule F napadni moment M() z ql 0 z z 6 3. L L q L z 3 L 0 T ( z), a package programiranje; import java.io.*; import java.text.decimalformat; public class Primer4 { public static void main(string[] args) throws Exception { // q0 - trougaono opterećenje // L - dužina grede // m - napadni moment // ft - transverzalna sila double q0, L, m, ft; 54

55 } } DecimalFormat df = new DecimalFormat("#,##0.00"); IV vežba Ciklična struktura // Unos podataka BufferedReader ulaz = new BufferedReader( new InputStreamReader(System.in)); System.out.print("Unesite vrednost za trougaono opterećenje q0: "); q0 = Double.parseDouble(ulaz.readLine()); System.out.print("Unesite vrednost za dužinu grede L: "); L = Double.parseDouble(ulaz.readLine()); // Štampanje zaglavlja System.out.println("\tz\tFt\tM"); // Tabeliranje vrednosti transverzalne sile i napadnog momenta for (double z =.5; z < 3.5; z += 0.1) { ft = q0 * (L / z * z / L) /.0; m = q0 * L * L * (z / L - Math.pow(z / L, 3.0)) / 6.0; System.out.println("\t" + df.format(z) + "\t" + df.format(ft) + "\t" + df.format(m)); } Izlazni rezultati: Unesite vrednost za trougaono opterećenje q0: 1 Unesite vrednost za dužinu grede L: 6 z Ft M Primer 4.5. Sastaviti algoritam i napisati program za određivanje zapremine i položaja težišta prave kupe poluprečnika R 0, (0,1) 0, 4 i visine H 1,0(0,5),0. Na izlazu štampati rezultate oblika: R.BR. R H V ZT xxx xx.xx xx.xx xx.xx xx.xx 55

56 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Omotač prave kupe nastaje obrtanjem prave y k z oko ose simetrije (z-ose): b H ; [ ( )] R R R R H k tg y z f z dz z dz H H H 3 b a 1 Zapremina je V [ f ( z)] dz R H 3 a 0 Koordinate statičkog momenta su b a H R 1 z[ f ( z)] dz z z dz R H H 4 0 Koordinate težišta prave kupe su ZT 3 4 H 56

57 package programiranje; IV vežba Ciklična struktura import java.io.*; import java.text.decimalformat; public class Primer5 { public static void main(string[] args) throws Exception { // r poluprečnik osnove kupe // h - visina kupe // zt z koordinata težišta // v - zapremina kupe double v, zt; int rbr; DecimalFormat df = new DecimalFormat("#,##0.00"); // Štampanje zaglavlja System.out.println("R.BR\tR\tH\tV\tZT"); // Postavljanje rednog broja rbr = 0; for (double r = 0.; r <= 0.4; r += 0.1) for (double h = 1.0; h <=.0; h += 0.5) { rbr++; v = (1. / 3.) * r * r * Math.PI * h; zt = (3. / 4.) * h; } } } // Štampanje rezultata System.out.print(rbr + "\t" + df.format(r) + "\t" + df.format(h) + "\t" + df.format(v) + "\t" + df.format(zt) + "\n"); Izlazni rezultati: R.BR R H V ZT

58 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Zadaci za vežbu I grupa Sastaviti algoritam i napisati program kojim se štampaju elementi niza i i n,( i 1,..., n ) deljivi sa 5 na osnovu unete vrednosti za n. II grupa Sastaviti algoritam i napisati program za tabeliranje funkcije x z x 3a y, ako je x1(1), a0,1(0,1)0,5 i y 0,1(0,3)1,. III grupa Sastaviti algoritam i napisati program kojim se za date prirodne brojeve m i n, izračunava vrednost sume IV grupa S n m n m n 3m n mm m1... ( 1). Sastaviti algoritam i napisati program za izračunavanje vrednosti izraza 3x y z x y ako je x 1(0,5) i y 0(0,)1. V grupa Sastaviti algoritam i napisati program za izračunavanje vrednosti sume za unetu vrednost parametra n 1 n S (n 1) 58

59 VI grupa IV vežba Ciklična struktura Sastaviti algoritam i napisati program kojim se štampaju svi trocifreni brojevi ABC koji imaju svojstvo ( ABC) ( AB) C, gde su nepoznate cifre 0 A 9, 0 B 9, 0 C 9. Primer: 147 = VII grupa Sastaviti algoritam i napisati program za izračunavanje vrednosti x a, po formuli 1 a x0 a 1, xn xn1 ( n 1,, ). xn 1 Proces prekinuti kada je x n x 5 n1 10. VIII grupa Sastaviti algoritam i napisati program za nalaženje najvećeg pozitivnog korena funkcije 3 f ( x) x 7x 4x 014 koristeći iterativnu formulu x0 7., x i 1 7, i 0, 1, x x. i i Izračunavanje prekinuti kada bude zadovoljen uslov 6 x i 1 x i 10. IX grupa Sastaviti algoritam i napisati program za izračunavanje vrednosti proizvoda P n i1 i4 i,5 i 4 za unetu vrednost n. 59

60 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe X grupa Sastaviti algoritam i napisati program za izračunavanje vrednosti sume S 50 k1 k ( 1). ( k1)( k) 60

61 Cilj vežbe Upoznavanje sa jednodimenzionalnim poljem Implementacija jednodimenzionalnog polja

62 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Teorijske osnove za izradu vežbe Polje ili niz (engl. array) je kolekcija promenljivih istog tipa sa zajedničkim imenom. Za polje se može reći da je to skup homogenih elemenata podataka (istog tipa), gde je svakom elementu stavljen u korespondenciju uređeni niz celih brojeva (indeksa), tako da se svaki element polja može jednoznačno locirati na osnovu indeksa. Broj indeksa koji su dodeljeni svakom elementu polja naziva se dimenzionalnost polja. Broj elemenata polja naziva se veličina, rang ili dužina polja. U Javi polje može imati jednu ili više dimenzija. Jednodimenzionalno polje je struktura koju čini skup podataka kod kojih se svaki element jedinstveno identifikuje vrednošću koja odgovara njegovoj poziciji u polju. U matematici, jednodimenzionalno polje brojeva zove se vektor, pri čemu se pozicija svakog elementa specificira indeksom, kao što je a 1, a,, a n za vektor od n elemenata. U Javi prvi element vektora ima indeks 0 a[0], a[1],..., a[n - 1] gde a[i] ukazuje na adresu elementa a i. Pošto se polja implementiraju kao objekti, kreiranje polja sastoji se iz dva koraka: 1. Deklariše se polje kao referencna promenljiva.. Alocira se memorija za polje, dodeljuje se referenca na tu memoriju promenljivoj polja. Zato se sva polja u Javi dinamički alociraju korišćenjem operatora new. Ukoliko je potrebno da se kreira celobrojno polje od 0 elemenata i povezuje sa referencnom promenljivom polja mojepolje, izraz za kreiranje polja biće oblika int mojepolje[ ] = new int[0]; Polja se mogu inicijalizovati pri njihovom kreiranju. Opšti oblik inicijalizacije jednodimenzionalnog polja je tip ime_polja[ ] = { vrednost 1, vrednost, vrednost 3,..., vrednost n }; Inicijalne vrednosti su specificirane sa vrednost 1 do vrednost n. Dodeljivanje vrednosti elementima polja vrši se sekvencijalno s leva udesno prema redosledu indeksa. 6

63 V vežba Jednodimenzionalno polje Sortiranje predstavlja postupak uređenja objekata nekog skupa u određenom poretku. Na primer, ako je dato polje brojeva a[1], a[],..., a[ n] sortiranje je njihovo uređenje u neopadajućem a[1] a[]... a[ n] ili nerastućem poretku a[1] a[]... a[ n]. Primer 5.1. Sastaviti algoritam i napisati program kojim se određuje maksimalni i minimalni element u celobrojnom vektoru X od n elemenata. 63

64 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe package programiranje; import java.io.*; /* U zadatku se pronalazi maksimalni i minimalni element celobrojnog polja x od n elemenata */ public class MinMax { public static void main(string[] args) throws Exception { BufferedReader ulaz = new BufferedReader( new InputStreamReader(System.in)); // Kreiranje celobrojnog polja x int[] x = new int[100]; // Unos vrednosti promenljive n System.out.print("Unesite broj elemenata n polja x: "); int n = Integer.parseInt(ulaz.readLine()); // Unos elemenata polja x System.out.println("Unesite elemente polja x: "); for (int i = 1; i <= n; i++) { System.out.print("x[" + i + "] = "); x[i] = Integer.parseInt(ulaz.readLine()); } // Određivanje minimalnog i maksimalnog elementa polja int min, max; min = max = x[1]; for (int i = ; i <= n; i++) { if (x[i] > max) max = x[i]; if (x[i] < min) min = x[i]; } } } // Štampanje izlaznog rezultata System.out.println("Maksimalni element je " + max + "\nminimalni element je " + min); 64

65 Izlazni rezultati: V vežba Jednodimenzionalno polje Unesite broj elemenata n polja x: 4 Unesite elemente polja x: x[1] = 5 x[] = -16 x[3] = 65 x[4] = 3 Maksimalni element je 65 Minimalni element je -16 Zadaci za vežbu I grupa Sastaviti algoritam i napisati program pomoću kojeg se za dati broj n izračunava n-ti član F 3F F F F pri čemu je F0 0 i F1 1. niza n n1 n n1 n II grupa Sastaviti algoritam i napisati program kojim se određuju k-ti elementi nizova koji se formiraju na sledeći način: 0 b 0 su zadate vrednosti nizova, a važi III grupa a i bi a i 1 1 ai, bi ai 1 bi 1 za i 1,,3,... Sastaviti algoritam i napisati program kojim se na osnovu niza A od n elemenata formira niz B od n elemenata po formuli IV grupa bi 1 a i a n i Sastaviti algoritam i napisati program za izračunavanje vrednosti. a k 3 k, ako je k neparno, 3 k, ako je k parno, k 5,...,15. 65

66 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe V grupa Sastaviti algoritam i napisati program za izračunavanje vrednosti P n x x x n Na ulazu učitati vrednosti n, x ( i 1,,..., n). Na izlazu štampati P. VI grupa i Sastaviti algoritam i napisati program kojim se na osnovu niza A od n elemenata formira niz B od n elemenata po formuli VII grupa bi 1 a i a n i Sastaviti algoritam i napisati program za tabeliranje funkcije. ( xi 1) yx ( i ) 7,5 1,5 u tačkama xi ( i 1,,...,10), datim na ulazu. VIII grupa Dat je niz A od n elemenata. Sastaviti algoritam i napisati program kojim se određuje suma članova na parnim mestima i proizvod na neparnim mestima. IX grupa Sastaviti algoritam i napisati program za izračunavanje vrednosti izraza n n 1 1 i i n i1 n i1 S x x. Na ulazu učitati vrednosti n, x ( i 1,,..., n), a na izlazu štampati S. i 66

67 X grupa V vežba Jednodimenzionalno polje Sastaviti algoritam i napisati program za izračunavanje sume n S xi, i1 gde je a b c a b c xi ai bi ci, ai bi ci, ai bi 3 ci, ai bi ci. i i i, i i i, Dimenzija nizova n i trojke podataka a, b, c ( i 1,,..., n), date su na ulazu. i i i 67

68

69 Cilj vežbe Upoznavanje sa dvodimenzionalnim poljem Implementacija dvodimenzionalnog polja

70 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Teorijske osnove za izradu vežbe Dvodimenzionalno polje je lista jednodimenzionalnih polja. Na primer, dvodimenzionalno celobrojno polje matrica veličine 5x5 deklariše se kao ili int matrica[ ][ ] = new int[5][5]; int[ ][ ] matrica = new int[5][5]; U Javi se svaka dimenzija polja stavlja u poseban skup uglastih zagrada ([ ]). U opštem slučaju elementu iz prethodnog primera se može pristupiti pomoću iskaza matrica[element_vrste][element_kolone]. Opšti oblik inicijalizacije dvodimenzionalnog polja je tip ime_polja[ ] [ ] = { { vrednost 1, vrednost,..., vrednost n }, { vrednost 1, vrednost,..., vrednost n } }; Nad dvodimenzionalnim poljem mogu se primeniti sve operacije koje se primenjuju u matematici: transponovanje, množenje, sabiranje, pronalaženje inverzne matrice, izračunavanje determinante. Primer 6.1. Sastaviti algoritam i napisati program za nalaženje transponovane matrice A T na osnovu zadate matrice A package programiranje; 3 5 A /* U zadatku se vrši transponovanje matrice A reda 3x3 */ public class TransponovanjeMatrice { public static void main(string[] args) { // Deklarisanje i inicijalizacija dvodimenionalnog polja a int[][] a = {{, -3, -5}, {-1, 4, 5}, {1, -3, -4}}; 3x3 70

71 } } // Deklarisanje dvodimenionalnog polja b int[][] b = new int[5][5]; // Nalaženje transponovane matrice for (int i = 0; i <= ; i++) for (int j = 0; j <= ; j++) b[i][j] = a[j][i]; VI vežba Dvodimenzionalno polje // Štampanje izlaznog rezultata System.out.println("Dobijena transponovana matrica je "); for (int i = 0; i <= ; i++) { for (int j = 0; j <= ; j++) System.out.print(b[i][j] + " "); System.out.println(); } Izlazni rezultati: Dobijena transponovana matrica je

72 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Zadaci za vežbu I grupa Sastaviti algoritam i napisati program kojim se formira matrica A reda n x n tako da se na glavnoj dijagonali nalaze jedinice, elementi gornje trougaone matrice imaju vrednost 5, a elementi donje trougaone matrice vrednost 10. Na primer, za n = 3 matrica A ima oblik II grupa A x 3 Sastaviti algoritam i napisati program kojim se formira matrica A reda n x n tako da se na glavnoj i sporednoj dijagonali nalaze jedinice, a svi ostali elementi matrice budu nule. Na primer, za n = 3 matrica A ima oblik III grupa A x 3 Sastaviti algoritam i napisati program kojim se pomoću nizova X [ x ]( i 1,..., n), Y [ y j ]( j 1,..., m), generiše matrica Z [ z ij ] n xm gde je i z ij x x y i j i yj. IV grupa Sastaviti algoritam i napisati program za izračunavanje vrednosti determinante D

73 V grupa VI vežba Dvodimenzionalno polje Za matricu A reda n x m ( n 10,m 10), sastaviti algoritam i napisati program za određivanje najvećeg elementa i njegovih indeksa. Na izlazu štampati najveći element i njegove indekse. VI grupa Sastaviti algoritam i napisati program kojim se za matricu A reda n x n određuje: VII grupa a) suma svih elemenata, b) suma negativnih elemenata matrice. Sastaviti algoritam i napisati program za nalaženje C = A + B na osnovu zadatih matrica A i B: 3 5 A , x B x 3 VIII grupa Sastaviti algoritam i napisati program koji će zadatoj matrici X reda n x n (n 10) zameniti elemente na glavnoj i sporednoj dijagonali. Na izlazu štampati transformisanu matricu. IX grupa Sastaviti algoritam i napisati program kojim se izračunava ( a1 a33 ) a3 a11 a1, ako je matrica 3 5 A x 3 73

74 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe X grupa Sastaviti algoritam i napisati program za nalaženje matrice zadate matrice A: T B A 3A na osnovu 3 A x3 74

75 Cilj vežbe Upoznavanje sa pojmom metoda Savladavanje načina prenosa argumenata u metodi Implementacija metode

76 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Teorijske osnove za izradu vežbe Metoda je izdvojena programska celina u koju se smešta ponavljani postupak. Metode se pišu kao posebni blokovi naredbi pre ili posle glavne metode main(). Poziv metode se obavlja tako što se trenutno prekine izvođenje glavnog kôda, a izvođenje programa se prenosi na metodu. Nakon što se kôd u metodi izvede, nastavlja se izvršavanje glavnog programa od sledeće naredbe iza poziva metode. Metode imaju parametre ili argumente koji se zadaju pri pozivu, a vraćaju povratnu vrednost. Vrednost koja se prosleđuje metodi naziva se argument. Unutar metode promenljiva koja prima argument zove se parametar. Metodu je moguće pozvati i iz neke druge metode ili iz sebe same (rekurzivne metode), pri čemu se svaka metoda može pozivati neograničeni broj puta. Razbijanjem kôda u metode, doprinosi se modularnosti programa (kôd je čitljiviji i razumljiviji). Promenljive koje su definisane unutar metode zovu se lokalne promenljive. Lokalne promenljive se mogu koristiti samo u izrazima unutar bloka u kome su deklarisane. Globalne promenljive su poznate unutar celog programa. Kreiraju se deklarisanjem van metode. Kada lokalna i globalna promenljiva imaju isto ime, lokalna promenljiva ima prednost. Pod deklaracijom metode podrazumeva se imenovanje metode, specificiranjem broja i tipa parametara i tipa povratne vrednosti. Deklaracija ne sadrži opis šta i kako metoda radi, već daje prototip metode. Opšti oblik deklaracije metode izgleda modifikator_pristupa povratni_tip ime_metode (<tip> arg 1,, <tip> arg n ) Prototipom metode specificira se o metodi: tip povratne vrednosti, tip argumenata, broj argumenata. Broj argumenata, njihov redosled i tip nazivaju se potpisom metode. Definicija metode određuje šta i kako metoda radi. Definicija metode svojim oblikom mora u potpunosti odgovarati deklaraciji. Naredbe koje se izvode prilikom poziva metode čine telo metode. Argument u definiciji metode je formalni argument simboličko ime koje prevodilac koristi tokom prevođenja tela metode. Kada se program izvršava, pri pozivu metode se formalni argument inicijalizira stvarnim argumentom. Imena formalnog i stvarnog argumenta ne moraju biti ista. 76

77 VII vežba Metoda Primer 7.1. Sastaviti algoritam i napisati program za tabeliranje vrednosti funkcije za x = 0,1(0,1)0,9 ako je y f ( g( f ( x))), x f ( x) x 3, g( x). Izlaznu listu štampati u obliku X Y 0.1 xx.xx package programiranje; import java.text.decimalformat; /* */ U zadatku se na osnovu definisanih metoda f i g izračunava vrednost funkcije y public class Metoda { // Definisanje metoda f i g static double f(double x) { return x + 3; } 77

78 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe static double g(double x) { return x /.; } public static void main(string[] args) { DecimalFormat df = new DecimalFormat("###,##0.00"); // Deklarisanje promenljivih x i y double x, y; // Štampanje zaglavlja System.out.println("\tX\tY"); for (x = 0.1; x <= 0.9; x += 0.1) { // Poziv metoda f i g y = f(g(f(x))); } } } // Štampanje izlaznog rezultata System.out.println("\t" + df.format(x) + "\t" + df.format(y)); Izlazni rezultati: X Y Primer 7.. Za trougaono opterećenje poznati su sledeći podaci: opterećenje q 0 1 kn / m i dužina L 6 m. Odrediti: L ukupno opterećenje Fq q, 0 L L otpore oslonaca FA q i F 0 B q,

79 VII vežba Metoda zmax iz uslova da je transverzalna sila najveći napadni moment M() z F q L z 3 L 0 T ( z) 0, ql 0 z z 6 3 za vrednost zmax. L L Napomena: Za određivanje nule funkcije koristiti Njutnovu metodu za koju važe sledeća pravila: početni uslov:, 0 f xk ) iterativna zakonitost x k 1 x k '(, f ( x ) k 0,1,, uslov kraja x k 1 x k. k 79

80 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe package programiranje; import java.io.*; import java.text.decimalformat; public class Primer { // Funkcija transverzalne sile public static double f(double q0, double L, double z) { return q0 * (L / z * z / L) /.0; } // Prvi izvod transverzalne sile public static double f1(double q0, double L, double z) { return - q0 * z / L; } // Njutnova metoda za određivanje nule funkcije public static double njutn(double z0, double eps, double q0, double L) { double z1 = z0 - f(q0, L, z0) / f1(q0, L, z0); while (Math.abs(z1 - z0) > eps) { z0 = z1; z1 = z0 - f(q0, L, z0) / f1(q0, L, z0); } } return z1; 80

81 public static void main(string[] args) throws Exception { // q0 - trougaono opterećenje // L - dužina grede // fq - ukupno opterećenje // fa, fb - otpori oslonaca // zmax - maksimalni raspon // m - napadni moment // z0 - početna vrednost raspona // eps - apsolutna tačnost double q0, L, m, zmax, fq, fa, fb, z0, eps; VII vežba Metoda } } DecimalFormat df = new DecimalFormat("#.##"); // Unos podataka BufferedReader ulaz = new BufferedReader( new InputStreamReader(System.in)); System.out.print("Unesite vrednost za trougaono opterećenje q0 (kn/m):"); q0 = Double.parseDouble(ulaz.readLine()); System.out.print("Unesite vrednost za dužinu grede L (m): "); L = Double.parseDouble(ulaz.readLine()); System.out.print("Unesite vrednost za z0 (m): "); z0 = Double.parseDouble(ulaz.readLine()); System.out.print("Unesite vrednost za eps: "); eps = Double.parseDouble(ulaz.readLine()); // Izračunavanje ukupnog opterećenja i otpora oslonaca fq = q0 * L /.0; fa = q0 * L / 6.0; fb = q0 * L / 3.0; // Određivanje zmax zmax = njutn(z0, eps, q0, L); // Izračunavanje maksimalnog napadnog momenta m = q0 * L * L * (zmax / L - Math.pow(zmax / L, 3.0)) / 6.0; // Štampanje rezultata System.out.println("Ukupno opterećenje Fq = " + df.format(fq) + "kn, otpori opterećenja Fa = " + df.format(fa) + "kn i Fb = " + df.format(fb) + "kn"); System.out.println("Maksimalni napadni moment je Mmax = " + df.format(m) + "knm za zmax = " + df.format(zmax) + "m"); 81

82 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Izlazni rezultati: Unesite vrednost za trougaono opterećenje q0 (kn/m): 1 Unesite vrednost za dužinu grede L (m): 6 Unesite vrednost za z0 (m): 0.1 Unesite vrednost za eps: 1.0e-6 Ukupno opterećenje Fq = 3kN, otpori opterećenja Fa = 1kN i Fb = kn Maksimalni napadni moment je Mmax =.31kNm za zmax = 3.46 m Zadaci za vežbu I grupa Napisati metodu za izračunavanje vrednosti funckije y 3, y 1, f ( y) y, 1 y, 6y1, y, gde je y x x 1. U glavnom programu za n unetih vrednosti za x, štampati vrednost funkcije. II grupa Napisati metodu kojom se za zadate vrednosti x, y i z izračunava vrednost p po formuli p min( x,max( y, z)). U glavnom programu uneti vrednosti za x, y i z štampati rezultat p. III grupa Napisati metodu kojom se izračunava vrednost proizvoda P n i i-3 i1 i3 U glavnom programu uneti vrednost za n i izračunati proizvod. 8

83 IV grupa VII vežba Metoda Napisati metodu za izračunavanje funkcije f(x) zadate u obliku f x sin x 3 ( ) 1 x. 10 3x U glavnom programu za x = 0,3(0,5),8 štampati vrednosti x i f(x) u tabeli sa odgovarajućim zaglavljem. V grupa 5 3 Napisati metodu za rešavanje jednačine x - x Njutnovim iterativnim postupkom. Početno rešenje x 0 i tačnost dati su na ulazu. Na izlazu štampati krajnje rešenje. Funkciju i njen prvi izvod definisati metodama. Napomena: Za Njutnov metod važe sledeća pravila: početni uslov:, 0 f xk ) iterativna zakonitost x k 1 x k '(, k 0,1, f ( x ), uslov kraja x k 1 x k. VI grupa k Napisati metodu kojom se izračunava vrednost x a, po formuli 1 a x0 a 1, xn xn1 ( n 1,, ). xn 1 Proces prekinuti kada je x x 1. U glavnom programu uneti vrednost za a i ε i naći vrednost korena. VII grupa n n Napisati metodu za izračunavanje norme matrice A [ ] date izrazom a ij m x n A m n i1 j1 a ij. U glavnom programu učitati matricu A i štampati normu matrice. 83

84 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe VIII grupa Napisati metodu kojom se izračunava vrednost funkcije log(1+x) po sledećem algoritmu 1 log(1 x), x 8 f( x) 10 k k ( 1) x 1, x k 8 k 1 U glavnom programu treba učitati n vrednosti argumenta x i za svaku od njih izračunati vrednosti funkcije. IX grupa Napisati metodu za izračunavanje koeficijenta proste linearne korelacije slučajnih veličina X x, x,..., x Y y, y,..., y po formuli i i 1 n i 1 n r n n n n xi yi xi yi i1 i1 i1. n n n n n xi xi n yi yi i1 i1 i1 i1 U glavnom programu izračunati vrednost r na osnovu podataka iz sledeće tabele X grupa x 0,1 0, 0,3 0,4 0,5 y 0,5 0,3 0, 0,0-0,6 Napisati metodu za izračunavanje vrednosti funkcije r x 1 ln 1 u x, x 0 1, x 0 u x wu x, x 0 u a w a a 1 a. U glavnom programu za x x x x, štampati vrednosti funkcije r. p k 84

85 Cilj vežbe Primena stečenog znanja iz oblasti programiranja u građevinarstvu Realizacija programskih struktura Rešavanje praktičnih problema Implementacija rešenja korišćenjem programskog jezika Java

86 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Zadaci za vežbu I grupa Sastaviti algoritam i napisati program za izračunavanje vrednosti varijanse 1 V x x n 1 n i sr i 1 gde je x sr srednja vrednost i izračunava se na osnovu sledeće formule, x sr 1 n n i1 x, n 50, i a x niz podataka. Na izlazu štampati vrednost varijanse V. Napomena: Program testirati na osnovu skupa izmerenih mesečnih padavina u Nišu tokom 010. godine datih sledećom tabelom mesec padavine 54 88,3 48,8 79,5 68,8 67,4 35,8 9,5 14,4 73,7 44,9 7,6 (mm) II grupa Sastaviti algoritam i napisati program za tabelarni prikaz koeficijenta izvijanja za neelastično ponašanje materijala prema obrascu 1 1 0,8 100 za vrednosti 10 75, gde je λ vitkost štapova. III grupa Sastaviti algoritam i napisati program za određivanje dometa mlaza na osnovu izraza, H R 1,55 H , 4,9 D H 86

87 VIII vežba Primena u građevinarstvu gde je D prečnik mlaznika u metrima, H napor vode pred mlaznicom (napor prskača) u metrima. Na ulazu su zadate vrednosti za D i H. Na izlazu predstaviti vrednost za domet mlaza. IV grupa Sastaviti algoritam i napisati program za izračunavanje godišnje potrošnje vode za navodnjavanje ako važi W g ET Pe, (1 LR) gde je ET evapotranspiracija, LR zahtevano ispiranje, P e efektivne padavine, η koeficijent korisnog dejstva. Na ulazu su zadate vrednosti za evapotranspiraciju, efektivne padavine i koeficijent korisnog dejstva, dok se zahtevano ispiranje za površinska zalivanja određuje pomoću izraza: ECw LR 5EC EC gde je EC w zasoljenost vode za navodnjavanje, EC e zasoljenost zemljišta. Vrednosti za EC w i EC e uneti na ulazu na osnovu sledeće tabele: e w, Kultura EC e EC w Ječam 1,3 8,7 Pšenica 9,5 6,4 Kupus 4,4,9 Krompir 3,8,5 Izlazna lista neka izgleda V grupa ECe ECw LR Wg x.xx x.xx x.xx x.xx Sastaviti algoritam i napisati program za izračunavanje neto potrebne količine vode za navodnjavanje ako važi ET W, 1 LR 87

88 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe gde je ET evapotranspiracija, LR zahtevano ispiranje. Na ulazu je zadata vrednost evapotranspiracije dok se zahtevano ispiranje za zalivanja kapanjem određuje pomoću izraza: EC LR EC gde je EC emax maksimalna zasoljenost zemljišta. w emax Vrednosti za EC w, EC e i EC emax uneti na ulazu na osnovu sledeće tabele:, Kultura EC e EC w EC emax Ječam 1,3 8,7 8 Pšenica 9,5 6,4 0 Kupus 4,4,9 1 Krompir 3,8,5 10 Izlazna lista neka izgleda VI grupa ECe ECw ECemax LR W x.xx x.xx x.xx x.xx x.xx Sastaviti algoritam i napisati program za tabelarni prikaz vrednosti maksimalne vlažnosti drveta na osnovu formule 1,5 0 max ww H 100[%], 1,5 0 3 gde je [ t/ m ] zapreminska masa, a 0 w H granica zasićenosti vlakana. Zapreminska masa i granica zasićenosti vlakana za četiri vrste drveta date su u sledećoj tabeli: Granica zasićenosti Vrsta drveta Zapreminska masa ( 3 vlakana w (%) 0 H Jela 0,43 3 Bor 0,49 5 Bukva 0,68 33,5 Hrast 0,

89 VII grupa VIII vežba Primena u građevinarstvu Sastaviti algoritam i napisati program za tabelarno prikazivanje vrednosti horizontalnog pritiska na tlo, na bočnim površinama masivnog dubokog temelja, primenom sledećeg izraza z m z z0 z tg Na ulazu su zadate vrednosti VIII grupa 0 m, z,, z z z z. Izlazna lista neka izgleda: z z xx.xx xx.xx max xxx.xxx (za z = xxx.xx) Poroznost drveta se definiše izrazom [%], 3 p 3 gde je [ t/ m ] 0 zapreminska masa. Sastaviti algoritam i napisati program za izračunavanje vrednosti α za vrste drveta prikazane sledećom tabelom k Vrsta drveta Jela 0,43 Bor 0,49 Bukva 0,68 Hrast 0,65 Zapreminska masa ( t/ m 3 ) 0 IX grupa Sastaviti algoritam i napisati program za tabeliranje vrednosti stvarnog pritiska vodene pare u funkciji od minimalne temperature (T min ) 17,7T min Tmin 37,3 VP( T ) 0,611e. min Za n unetih vrednosti T min izračunati vrednosti stvarnog pritiska vodene pare. 89

90 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe X grupa Minimalni poluprečnik R min se određuje iz uslova stabilnosti vozila u krivini sa R min Vr [ m], 17( f i ) r pk,max gde je V r [km/ h] - računska brzina, ipk, max[%] - maksimalni poprečni ugib kolovoza u krivini, ipk, max 7%, f r - koeficijent radijalnog otpora klizanja. Sastaviti algoritam i napisati program za izračunavanje vrednosti R min za vrednosti Vr i f r prikazane sledećom tabelom V r (km/h) f 0,45 0,18 0,193 0,171 0,151 r 90

91 Cilj vežbe Upoznavanje sa softverskim paketom Mathematica Upoznavanje sa operatorima Implementacija korisnički definisanih funkcija

92 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Teorijske osnove za izradu vežbe 9.1. Grafički korisnički interfejs paketa Mathematica Mathematica je razvijena u softverskoj kompaniji Wolfram Research i predstavlja programski paket za matematičke i druge primene (tehnologija, finansije, medicina, istraživanje, obrazovanje). Posebno je pogodna za obradu numeričkih podataka, za simbolička procesiranja, kao i za grafičko prikazivanje podataka i funkcija. Za rad u programskom paketu Mathematica koriste se dokumenta koja se zovu beležnici (engl. notebooks) i zato Mathematica dokumenti nose oznaku *.nb. Beležnici se sastoje od ćelija koje mogu sadržati tekst, izračunavanja ili grafikone. Ćelija se prepoznaje po zagradama sa desne strane ([ ]). Ulazni podaci na osnovu kojih se vrši izračunavanje u paketu Mathematica se unose u ulaznim ćelijama koje se prepoznaju po oznaci In[n]:=, a rezultati i odgovori se nalaze u izlaznoj ćeliji Out[n]=. Broj n se dodaje automatski. Da bi se kreirala nova ulazna ćelija, treba pritisnuti ENTER van postojeće ćelije i početi sa kucanjem. Nakon unosa podataka treba pritisnuti taster SHIFT u kombinaciji sa tasterom ENTER. Mathematica vrši izračunavanje na osnovu unetih podataka i daje izlazni rezultat u izlaznoj ćeliji odmah ispod ulazne ćelije. Prekid računanja se postiže tasterima [Alt][,] ili [Alt][.]. Komentari se pišu unutar oznaka (* i *) i nemaju izvršnu vrednost. Na primer (* Vezba 1 *) Naredba Print prenosi tekst i vrednosti promenljivih u izlaznu ćeliju. Na slici 9.1 prikazan je izgled grafičkog korisničkog interfejsa paketa Mathematica. Slika 9.1. Prikaz grafičkog korisničkog interfejsa paketa Mathematica 9

93 IX vežba Softverski paket Mathematica Meni File omogućava stvaranje novih dokumenata, otvaranje postojećih i pamćenje nove verzije, kao i štampanje dokumenta. Meni Edit omogućava izmene sadržaja dokumenta. Meni Cell omogućava rad sa ćelijama dokumenta i njihovo organizovanje na različite načine, odnosno omogućava organizaciju izgleda sveske (engl. notebook) preme želji korisnika. Meni Format pruža mogućnost za izvođenje različitih manipulacija sa tekstom i graficima. Meni Input omogućava različitu prezentaciju ulaznih i izlaznih podataka. Meni Kernel omogućava upravljanje jezgrom paketa Mathematica. Meni Find služi za pretraživanje dokumenta. Meni Windows omogućava da se podesi raspored prozora koji prikazuju otvorena dokumenta. Meni Help pruža korisniku pomoć i informacije o mogućnostima paketa Mathematica. Palete (engl. pallets) predstavljaju jednostavan način pristupanja sadržajima koje Mathematica nudi i korišćenja njenih mogućnosti. U meniju File/Pallets dostupne su sledeće palete: 1. Basic Input - paleta osnovnih matematičkih pojmova,. Basic Calculations - paleta osnovnih matematičkih operacija, 3. Algebraic Manipulation - paleta koja omogućava rad sa delovima algebarskih izraza, 4. Basic Typesetting - paleta uobičajenih objekata i operacija potrebnih pri kucanju matematičkih formula, 5. Notebook Launcher - kreiranje novih programa u različitim stilovima, 6. Complete Characters - paleta specijalnih znakova, 7. International Characters - paleta internacionalnih znakova. 9.. Tipovi podataka i aritmetičke operacije Postoje sledeći tipovi brojeva: Integer, Rational, Real i Complex (tabela 9.1). Tabela 9.1. Tipovi podataka Tip broja Objašnjenje Integer Celi brojevi proizvoljne dužine Rational Racionalni brojevi oblika Integer/Integer Real Približni realni brojevi sa proizvoljnom specificiranom tačnošću Complex Kompleksan broj oblika x+y I, gde su x i y realni brojevi U tabeli 9. prikazane su aritmetičke operacije u paketu Mathematica. Tabela 9.. Aritmetičke operacije Aritmetička Mathematica Primer operacija sabiranje + x + y oduzimanje - x - y množenje praznina ili * x y ili x * y deljenje / x / y stepenovanje ^ x ^ y 93

94 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Primer 9.1. a) Sabrati dva cela broja 10 i 8. In[1]:= Out[1]= 18 Primer 9.. Naći treći stepen broja. In[]:= ^ 3 Out[]= 8 Za izvršavanje operacije množenje koristi se praznina ili znak *. Znak % se može koristiti za rezultat poslednjeg izvršenog proračuna. Primer 9.3. In[3]:= 3 ^ Out[3]= 9 In[4]:= Sqrt[%] Out[4]= 3 Izraz //N ili N[izraz] uvek daje približan numerički rezultat. In[5]:= 1/3 + /7 Out[5]= 13/1 In[6]:= 1/3 + /7 //N Out[6]= Ukoliko je potrebno da se odredi broj značajnih cifara nekog izlaznog rezultata koristi se N[izraz, n] gde je n broj značajnih cifara. In[7]:= N[1/3 + /7, 4] Out[7]= In[8]:= N[Pi, 50] Out[8]=

95 9.3. Konstante IX vežba Softverski paket Mathematica Veličina čija se vrednost ne može menjati u toku izvršavanja programa naziva se konstanta. Konstantama se mogu dodeljivati simbolička imena, koja se mogu koristiti umesto njih. Poznate simboliče konstante imaju svoja posebna, rezervisana imena (tabela 9.3). Tabela 9.3. Konstante Mathematica Matematička konstanta Pi E e Degree / 180- faktor konverzije stepena u radijane I i 1 Infinity Imena svih konstanti, kao i svih funkcija koje su definisane u paketu Mathematica počinju velikim slovom Promeljive Promenljive su veličine koje menjaju svoju vrednost u programu. Svaka promenljiva ima svoje simboličko ime. Promenljive se nazivaju simboli i predstavljaju osnovne imenovane objekte u jeziku Mathematica. Ime koje se koristi kao simbol mora da bude sekvenca slova i cifara, koja ne počinje cifrom. Velika i mala slova se razlikuju. Simbolima se ne može dodeliti ime postojećih funkcija i konstanti u paketu Mathematica. U tabeli 9.4 prikazani su načini dodele vrednosti promenljivama. Tabela 9.4. Dodela vrednosti promenljivama Operacija Dodela vrednosti promenljivoj x Dodela vrednosti promenljivama x i y Odbacuje se vrednost dodeljena promenljivoj x Trenutna dodela Odložena dodela Mathematica x = vrednost x = y = vrednost x =. ili Clear[x] x /. a x := a Sledećim primerom se promenljivoj x dodeljuje vrednost 10. In[9]:= x = 10 Out[9]= 10 U jednoj liniji je moguće napisati više matematičkih operacija korišćenjem znaka ;. In[10]:= x = ; y = 80; z = y - x Out[10]= 78 95

96 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Trenutna dodela ima dejstvo samo u navedenoj liniji. In[11]:= x//print; x/.x 5//Print; x//print Out[11]= x 5 x Odložena dodela ima dejstvo samo u svim sledećim pozivanjima. In[1]:= x//print; x:=5; x//print; x + //Print Out[1]= x 5 7 Vrednosti promenljivih se prenose i u sledeće ćelije. In[13]:= x = 5 Out[13]= 5 In[14]:= (x + y) ^ Out[14]= (5+y) Ako ne želimo ovaj prenos, možemo ga sprečiti početnom naredbom Clear[x]. Zabranu bilo kakvog prenosa podataka između ćelija postižemo naredbom Clear["Global "] Relacioni i logički operatori U tabeli 9.5 prikazani su relacioni operatori. Tabela 9.5. Relacioni operatori Relacioni operator Mathematica = ==!= > > >= < < <= U tabeli 9.6 prikazani su logički operatori. Tabela 9.6. Logički operatori Logički operator Mathematica p! p q p && q p q p q pq Xor[p, q] 96

97 Primer 9.4. Naći vrednost izraza IX vežba Softverski paket Mathematica In[15]:= 1 > 34 &&!= 13 Out[15]= False 9.6. Matematičke funkcije Sve ugrađene matematičke funkcije rade na sličan način: njihova imena počinju velikim slovom, a argumenti im se nalaze u uglastim zagradama (tabela 9.7). Tabela 9.7 Matematičke funkcije Matematička funkcija x Mathematica Abs[x] x Sqrt[x] x e Exp[x] ln x Log[x] log b x Log[b, x] Trigonometrijske funkcije (argumenti su u radijanima) Inverzne trigonometrijske funkcije Hiperboličke funkcije Inverzne hiperboličke funkcije Sin[x], Cos[x], Tan[x], Cot[x] ArcSin[x], ArcCos[x], ArcTan[x], ArcCot[x] Sinh[x], Cosh[x], Tanh[x], Coth[x] ArcSinh[x], ArcCosh[x], ArcTanh[x], ArcCoth[x] Round[x] Zaokruživanje na ceo deo broja x Celobrojni ostatak pri deljenju (n moduo m) Mod[n, m] Slučajni brojevi između 0 i 1 Random[ ] Maksimum, minimum od x, y,... Max[x, y,...], Min[x, y,...] m a n a ^ ( n / m) Za trigonometrijske funkcije podrazumevana vrednost argumenta je data u radijanima. Mathematica ima mogućnost simboličkog i numeričkog izračunavanja vrednosti funkcija. Primer 9.5. Naći tačnu i numeričku vrednost cos /6. In[16]:= Cos[Pi/6] 97

98 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Out[16]= 3 In[17]:= Cos[Pi/6]//N Out[17]= Primer 9.6. Naći numeričku vrednost za sin 0. In[18]:= Sin[0 Degree] //N Out[18]= Primer 9.7. Naći numeričku vrednost za In[19]:= N[(16/15) ^ (1/3)] Out[19]= Korisnički definisane funkcije Funkcija više promenljivih definiše se izrazom funkcija[x_, y_,...] := izraz. Pri definisanju funkcije treba voditi računa da se argumenti navode u uglastim zagradama, a svaki element u listi parametara se završava znakom za podvlačenje _. Umesto znaka jednakosti stoji znak odložene dodele := koji ukazuje na to da će funkcija naknadno dobiti vrednost kada promenljive uzmu konkretne vrednosti. Primer 9.8. Naći vrednost funkcije f ( x) x 5za x = 3,. In[0]:= f[x_] := x+5 In[1]:= f[3.] Out[1]= 11.4 Funkcije mogu imati proizvoljan broj argumenata. Primer 9.9. Napisati funkciju za sabiranje dva broja. Testirati funkciju za argumente 10 i 3. 98

99 IX vežba Softverski paket Mathematica In[]:= f[x_, y_] := x + y In[3]:= f[10, 3] Out[3]= 13 Primer Za proizvoljno unete vrednosti x i y napisati funkciju oblika f x, y 3x y Funkciju testirati za vrednosti x 0,5 i y 0,5. 3 x In[3]:= f[x_, y_] := 3 x + y ^ + (x ^ 3 - y) / (x + y) In[4]:= f[0.5, 0.5] Out[4]= Primer Neka je data funkcija oblika Odrediti vrednosti funkcije za x = 10 i x = -3. In[5]:= f[x_]:= x + /; x > 0 f[x_]:= x - 3 /; x < 0 In[6]:= f[10] Out[6]= 1 In[7]:= f[-3] Out[7]= -6 x, x0 f( x). x 3, x 0 y x y. Napomena: Oznaka /; ukazuje na uslove pod kojima se funkcija izračunava po navedenoj formuli. 99

100 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Zadaci za vežbu I grupa Za proizvoljno unetu vrednost x napisati funkciju oblika cos 3 f x x Funkciju testirati za vrednost x 0,5. II grupa Neka je data funkcija oblika Odrediti vrednosti funkcije za x = π/3 i x = -. III grupa Neka je data funkcija oblika x x. sin x cos x sin xx, 0 f( x). 3 xx, 0 x,0 x1 f ( x) 1,1 x. 3 x, x 3 Odrediti vrednosti funkcije za x = 0,3 i x = 1,5. IV grupa Neka je data funkcija oblika x 3, x 0 f ( x) x,0 x 1. sin xx, 1 Odrediti vrednosti funkcije za x = -1, x = 1 i x = π/. 100

101 V grupa IX vežba Softverski paket Mathematica Naći 0. element Fibonačijevog niza ako važi: f (0) 1, f (1) 1, f ( n) f ( n 1) f ( n ). VI grupa Neka je data funkcija oblika f a b c a e b e c c (,, ) ln sin cos. Odrediti vrednost funkcije za a = π/, b = π/3 i c = 1. VII grupa Neka je data funkcija oblika Odrediti vrednost funkcije za x = 1 i y = 0,5. VIII grupa Neka je data funkcija oblika Odrediti vrednosti funkcije za x = 0,5. IX grupa a) Naći prvih 0 značajnih cifara izraza b) Izračunati cos y f ( x, y) ln tg x 0,. xy e 3 sin x x f( x). ln sin x 101

102 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe X grupa Neka je data funkcija oblika Odrediti vrednosti funkcije za x = 3 i x = 15. x 5, 0 x10 f x x x x 15 x, 0 x 30 ( ) 3 0,

103 Cilj vežbe Upoznavanje sa linearnom algebrom u paketu Mathematica Savladavanje načina određivanja sopstvenih vrednosti i sopstvenih vektora matrice Rešavanje sistema jednačina korišćenjem matričnog računa

104 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Teorijske osnove za izradu vežbe Vektori i matrice se u paketu Mathematica predstavljaju putem listi (tabela 10.1). Tabela Predstavljanje vektora i matrica Operacija Mathematica Vektor ( abc,, ) {a, b, c} a b {{a, b}, {c, d}} Matrica c d Prikaz matrice vrši se naredbom MatrixForm[lista] ili lista//matrixform Vektori Skalarni proizvod vektora In[1]:= {a, b, c}. {x, y, z} Out[1]= a x + b y + c z Norma vektora In[]:= Norm[{x, y, z}] Out[]= Abs[ x] Abs[ y] Abs[ z ] Vektorski proizvod In[3]:= Cross[{a, b, c}, {x, y, z}] Out[3]= {-c y + b z, c x - a z,-b x + a y} Ortogonalizacija vektora In[4]:= Orthogonalize[{{1, 0, 1},{1, 1, 1}}] Out[4]= {{1/,0,1/ },{0,1,0}} Projekcija jednog na drugi vektor In[5]:= Projection[{5, 6, 7}, {1, 1, 1}] Out[5]= {6,6,6} 104

105 10.. Matrice X vežba Linearna algebra Primer Prikazati matricu oblika 3 4 A x3 In[6]:= A = {{, 3, 4}, {3, 4, 5}, {4, 5, 6}} Out[6]= {{,3,4},{3,4,5},{4,5,6}} In[7]:= MatrixForm[A] Out[7]=//MatrixForm= Vektori i matrice proizvoljnog reda definišu se naredbom Table[ ]. Primer 10.. Uvesti matricu oblika 1... n 3 1 n A. n n 1 n 1 In[8]:= A[n_] := Table[i + j - 1, {i, 1, n}, {j, 1, n}] Operatori za rad sa matricama su prikazani u tabeli 10.. Tabela 10.. Operacije nad matricama Matrične operacije Mathematica Množenje matrice a skalarom m a m Proizvod matrica a i b a. b Inverzna matrica Inverse[a] n-ti stepen matrice a MatrixPower[a, n] Determinanta matrice a Det[a] Transponovanje matrice a Transpose[a] Jedinična matrica dimenzije n IdentityMatrix[n] Primer Odrediti proizvod matrica A 4 6 i B x 3 3 x 3 105

106 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe In[9]:= A = {{1,, 3}, {, 4, 6}, {3, 6, 7}} Out[9]= {{1,, 3},{, 4, 6},{3, 6, 7}} In[10]:= B = {{-1, -, -4}, {-1, -, -4}, {1,, 4}} Out[10]= {{-1, -, -4},{-1, -, -4},{1,, 4}} In[11]:= A.B Out[11]= {{0, 0, 0},{0, 0, 0},{0, 0, 0}} Primer Odrediti proizvod matrica 1 3 x A i 1 x B 1 3. In[1]:= A = {{}, {1}, {3}} Out[1]= {{},{1},{3}} In[13]:= B = {{1,, 3}} Out[13]= {{1,, 3}} In[14]:= A.B Out[14]= {{, 4, 6},{1,, 3},{3, 6, 9}} Primer Naći inverznu matricu matrice A x 3 In[15]:= A = {{6, 3, 1}, {1, 1, 1}, {3,, 1}} Out[15]= {{6, 3, 1},{1, 1, 1},{3,, 1}} In[16]:= Inverse[A] Out[16]= {{1, 1, -},{-, -3, 5},{1, 3, -3}} Primer Naći peti stepen matrice 1 1 A 0 1 x. In[17]:= A = {{1, 1}, {0, 1}} Out[17]= {{1, 1},{0, 1}} In[18]:= MatrixPower[A, 5] Out[18]= {{1, 5},{0, 1}} 106

107 Primer Naći determinantu matrice A x 4. X vežba Linearna algebra In[19]:= A = {{1, 1, 3, 4}, {, 0, 0, 8}, {3, 0, 0, }, {4, 4, 7, 5}} Out[19]= {{1, 1, 3, 4},{, 0, 0, 8},{3, 0, 0, },{4, 4, 7, 5}} In[0]:= Det[A] Out[0]= 100 Primer Naći transponovanu matricu matrice A x 3 In[1]:= A = {{6, 3, 1}, {1, 1, 1}, {3,, 1}} Out[1]= {{6, 3, 1},{1, 1, 1},{3,, 1}} In[]:= Transpose[A] Out[]= {{6, 1, 3},{3, 1, },{1, 1, 1}} Primer Generisati jediničnu matricu reda 3. In[3]:= IdentityMatrix[3] Out[3]= {{1, 0, 0},{0, 1, 0},{0, 0, 1}} Sistem jednačina u matričnom obliku Neka je zadat sistem linearnih jednačina u matričnom obliku A X = B, pri čemu je A matrica sistema, X kolona nepoznatih i B kolona slobodnih članova, pomoću X = LinearSolve[A, B] možemo da izračunamo rešenje sistema ako postoji. Ukoliko postoji više, ili beskonačno mnogo rešenja tog sistema, funkcija vraća jedno od njih. 107

108 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Primer Naći rešenje sistema jednačina zadatog u matričnom obliku In[4]:= A = {{1, }, {4, 6}} B = {5.4, } X = LinearSolve[A, B] Out[4]= {{1, }, {4, 6}} Out[5]= {5.4, } Out[6]= {-14., 9.8} 1 5,4 X Sopstvene vrednosti i sopstveni vektori Neka je data matrica A. Funkcija Eigenvalues[A] određuje sopstvene vrednosti matrice A. Sopstvene vektore daje funkcija Eigenvectors[A]. Sopstvene vrednosti i vektore možemo zapisati kao uređene parove pomoću Eigensystem[A]. Primer Neka je zadata matrica A oblika 1 A 3 x. In[7]:= A = {{1, }, {3, }} Eigenvalues[A] Out[7]= {4, -1} In[8]:= Eigenvectors[A] Out[8]= {{, 3}, {-1, 1}} In[9]:= Eigensystem[A] Out[9]= {{4, -1}, {, 3}, {-1, 1}} 108

109 Zadaci za vežbu X vežba Linearna algebra I grupa Naći sopstvene vrednosti i sopstvene vektore matrice A x3 II grupa Koristeći matričnu jednačinu rešiti sistem jednačina: x y z 3 x z x y z 1 III grupa Koristeći matričnu jednačinu rešiti sistem jednačina: x y z 5 3x 4y z 9 8x 3y z 18 IV grupa Neka je V grupa 4 5 A i x B 6 8. Izračunati: a) A + B, b) B - A x Neka je A i x3 c) det B. 4 3 B 6 5. Izračunati: a) A -1, b) (A + B) T, x3 109

110 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe VI grupa Neka su dati vektori u ( ) i v (0 4 3). Naći: a) v u, b) v + u, c) v u. VII grupa Prelaskom na matrični oblik, rešiti sistem jednačina: VIII grupa x y 3z 9 3x 5y z 4 4x 7y z 5 Koristeći matričnu jednačinu rešiti sistem jednačina: IX grupa 3x y z 1 x y 3z 1 4x 5y z Neka je 3 8 A i x B Izračunati: a) A + B, x3 b) B - A, c) det B, d) (A + B) T. X grupa Naći sopstvene vrednosti i sopstvene vektore matrice A x3 110

111 Cilj vežbe Savladavanje simboličkog izračunavanja kroz algebarske transformacije, određivanje graničnih vrednosti, određivanje parcijalnih izvoda funkcija, rešavanje sistema linearnih jednačina, rešavanje diferencijalnih jednačina, izračunavanje neodređenog i određenog integrala

112 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Teorijske osnove za izradu vežbe Algebarske transformacije U tabeli 11.1 date su funkcije za konvertovanje između različitih oblika algebarskih izraza. Tabela Funkcije za konvertovanje algebarskih izraza Opis funkcije Mathematica Ekspanzija proizvoda i stepena u polinomu p Expand[p] Faktorizacija izraza p Factor[p] Izdvajanje zajedničkih faktora u p FactorTerms[p] Zapis polinoma u obliku sume stepena promenljive x Collect[p, x] Zapis polinoma u obliku sume stepena od x, y,... Collect[p, {x, y, }] Funkcije za algebarske operacije sa polinomima prikazane su u tabeli 11.. Tabela 11.. Funkcije za algebarske operacije sa polinomima Opis funkcije Mathematica Količnik deljenja polinoma p 1 po x polinomom p, pri PolynomialQuotient[p 1, p, x] čemu se odbacuje ostatak Ostatak deljenja polinoma p 1 po x polinomom p PolynomialRemainder[p 1, p, x] NZD dva polinoma PolynomialGCD[p 1, p ] NZS dva polinoma PolynomialLCM[p 1, p ] Redukcija polinoma p po modulu m PolynomialMod[p, m] Primer a) Odrediti faktore polinoma 3 polinoma ( x y) i (3 x y). 1x 7xy 84 y, b) izračunati proizvod a) In[1]:= Factor[1 x^+ 7 x y - 84 y ^ ] Out[1]= 3 (4 x-7 y) (x+4 y) b) In[]:= Expand[(x+y)^ (3 x - y) ^ 3] Out[]= 7x 7x y 18x y 7xy y Primer 11.. Odrediti količnik i ostatak pri deljenju polinoma polinomom x x 10x x 1 In[3]:= PolynomialQuotient[15 x^4-10 x^3+ x +1, x + 1, x] Out[3]= 3 5x 5x 15x 3 In[4]:= PolynomialRemainder[15 x^4-10 x^3+ x +1, x + 1, x] Out[4]= 4 11

113 11.. Sume i proizvodi XI vežba Simbolička izračunavanja Upotrebom softverskog paketa Mathematica mogu se izračunati konačne i beskonačne sume i proizvodi (tabela 11.3). Tabela Sume i proizvod Operacija i max f i ii min Suma po i sa korakom d fa fad fa d fand ( a nd b a ( n 1) d ) i max Ponovljene sume n f i im j max ii min j j min i max Ponovljeni proizvodi f ij j max ii min j j min f ij Mathematica Sum[ f, {i, imin, imax}] Sum[ f, {i, a, b, d}] Sum[ f, {i, imin, imax}, {j, jmin, jmax}] Product[ f, {i, m, n} Product[ f, {i, imin, imax}, {j, jmin, jmax}] Primer Odrediti sumu oblika 4 i1 i x. In[5]:= Sum[x^i, {i, 1, 4}] Out[5]= x x x x 3 4 Primer Odrediti sumu oblika i i1 j1 In[6]:= Sum[x^i y^j, {i, 1, }, {j, 1, i}] Out[6]= x y x y x y i j xy 1 Primer Odrediti tačnu i približnu sumu reda. i In[7]:= Sum[1/ i^, {i, 1, Infinity}] Out[7]= 6. i1 113

114 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe In[8]:= NSum[1/ i^, {i, 1, Infinity}] Out[8]= Primer Odrediti proizvod oblika 5 i1 i. i In[9]:= NProduct[i / ^ i, {i, 1, 5}] Out[9]= Rešavanje jednačina Za rešavanje jednačina koristi se oblik Solve[leva_strana == desna_strana, x] Ova naredba daje potpuno tačna rešenja u simboličkom obliku kad je to moguće. Primer Naći rešenja kvadratne jednačine x x8 0. In[10]:= Solve[x ^ + x - 8 == 0, x] Out[10]= {{x -4},{x }} Primer Naći rešenja kvadratne jednačine x 3x 1 0. Rešenja ove jednačine sadrže u sebi iracionalne brojeve In[11]:= Solve[x ^ + 3 x + 1 == 0, x] 1 1 Out[11]= {{ x ( 3 5)},{ x ( 3 5)}} Primer Naći rešenja kvadratne jednačine x x 0. Ova jednačina ima kompleksna rešenja In[1]:= Solve[x ^ + x + == 0, x] Out[1]= {{x -1-},{x -1+}} Međutim, za dosta složene jednačine eksplicitne algebarske formule se ne mogu prikazati. Za jednačine do stepena 4 Mathematica može dati rešenja. Ako je stepen 4 ili veći 114

115 XI vežba Simbolička izračunavanja matematički je nemoguće dati eksplicitne algebarske formule za sva rešenja. Tada tražimo numerička rešenja pomoću naredbe NSolve. Primer Naći rešenja kvadratne jednačine 5 x 3x 1 0. Ova jednačina ima kompleksna rešenja In[13]:= NSolve[x ^ 5-3 x + 1 == 0, x] Out[13]= {{x },{x }, {x },{x },{x1.1465}} Funkcijom Solve[{izraz 1 == izraz, izraz 3 == izraz 4,...}, {x, y,...}] mogu se rešavati sistemi jednačina. Tako se dobija jedno rešenje specificiranog sistema po promenljivim x, y,..., iako može postojati više rešenja. Ako sistem nema rešenja, kao izlaz se dobija prazna lista. Primer Naći rešenja sistema jednačina x y 10 x y 5 In[14]:= Solve[{ x - y 10, x + y 5}, {x, y}] Out[14]= {{x5,y0}} Ukoliko rešenja postoje samo za specijalne vrednosti parametara, one se određuju funkcijom Reduce[{izraz 1 == izraz, izraz 3 == izraz 4,...}, {x, y,...}] Takođe, ako sistem ima više rešenja, mogu se dobiti funkcijom Reduce. Funkcijom Eliminate[{izraz 1 == izraz, izraz 3 == izraz 4,...}, {x, y,...}] može se sistem jednačina pojednostaviti koristeći eliminaciju navedenih promenljivih. 115

116 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Granične vrednosti Funkcije za određivanje graničnih vrednosti date su u tabeli Tabela Granične vrednosti Opis Granična vrednost funkcije f kada x x 0, lim f (x) xx 0 Granična vrednost funkcije f kada x x 0 sa leve strane Granična vrednost funkcije f kada x x 0 sa desne strane Mathematica Limit[f, x x 0 ] Limit[f, x x 0, Direction 1] Limit[f, x x 0, Direction -1] Primer Odrediti graničnu vrednost sin 3x lim. x0 x In[15]:= Limit[Sin[3 x] / x, x -> 0] Out[15]= 3 Primer Odrediti graničnu vrednost 1 x 3x lim e. x0 In[16]:= Limit[Exp[3 x] 1 / x, x -> 0] Out[16]= - Primer Odrediti graničnu vrednost x lim e x. x In[17]:= Limit[Exp[- x] Sqrt[x], x-> Infinity] Out[17]= 0 Primer Odrediti graničnu vrednost x lim. x x0 In[18]:= Limit[Abs[x] / x, x -> 0, Direction -> -1] Out[18]= 1 116

117 XI vežba Simbolička izračunavanja Primer Odrediti graničnu vrednost x0 1 x lim e. In[19]:= Limit[Exp[-1 / x], x -> 0, Direction -> 1] Out[19]= Diferenciranje Funkcije za numeričko i simboličko diferenciranje date su u tabeli Tabela Diferenciranje Opis Prvi, drugi i treći izvod funkcije f jedne promenljive n-ti izvod funkcije jedne promenljive Parcijalni izvod f f i x y f Mešoviti parcijalni izvod m x y mn n Mathematica f'[x], f''[x], f'''[x] D[f,{x, n}] D[f, x] D[f, y] D[f, {x, m},{y, n}] 1 Primer Odrediti izvod funkcije f ( x) x. x In[0]:= D[x + 1 / x, x] 1 Out[0]= 1 x Primer Odrediti treći izvod funkcije f ( x) cos x. In[1]:= D[Cos[x], {x, 3}] Out[1]= Sin[x] Primer Odrediti prvi i drugi izvod funkcije f ( x) e x cos x. In[]:= f[x_]:= Exp[x] + Cos[x] In[]:= f'[x] 117

118 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe x e Out[]= Sin x In[3]:= f''[x] x Out[3]= e Cos x Primer Odrediti parcijalni mešoviti izvod In[4]:= f[x_, y_]:= Log[x + y ^ ] In[5]:= D[f[x, y],{x, 1},{y, }] 8y Out[5]= 3 ( x y ) ( x y ) 3 f xy funkcije f ln ( x y ) Diferencijalne jednačine Diferencijalne jednačine i sistemi diferencijalnih jednačina u čisto funkcionalnom obliku rešavaju se funkcijom DSolve (tabela 11.6). Tabela Diferencijalne jednačine Opis Mathematica Rešavanje diferencijalne jednačine DSolve[jednačina, y[x], x] za y[x], smatrajući x za nezavisnu promenljivu Rešavanje sistema diferencijalnih DSolve[{jednačina 1, jednačina, }, {y 1, y, }, x] jednačina Kada postoji rešenje, ali se ne može naći u tačnom obliku, naredba NDSolve pronalazi približno rešenje diferecijalne jednačine Diferencijalne jednačine I reda Diferencijalne jednačine sa razdvojenim promenljivama Primer Naći opšte rešenje diferencijalne jednačine y xy 3 x. In[6]:= DSolve[y'[x] == (x ^ y[x] ^) / Sqrt[3 - x ^ ], y[x], x] 118

119 Out[6]= y[x] XI vežba Simbolička izračunavanja x x 3 x 3ArcSin C[1] 3 Primer 11.. Naći opšte rešenje diferencijalne jednačine y x sin x 1 x. In[7]:= DSolve[y'[x] == x ^ Sin[x] + Sqrt[1 + x ^ ], y[x], x] Out[7]= 1 ArcSinh[ x] y[x] x 1 x C[1] ( x )Cos[ x] xsin[ x] Homogena diferencijalna jednačina Primer Naći opšte rešenje diferencijalne jednačine y x x y y 3 x x y 3 3. In[8]:= DSolve[y'[x] == (x ^ 3 + x ^ y[x] - y[x] ^ 3) / (x ^ 3 + x ^ y[x]), y[x], x] C[1] x( e x ) Out[8]= y[x] C[1] e x Primer Naći opšte rešenje diferencijalne jednačine 3 y x y xy. In[9]:= DSolve[y'[x] == -(x ^ - 3 y[x] ^ ) / (x y[x]), y[x], x] 6 6 x x C[1] x x C[1] Out[9]= y[x], y[x] 119

120 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Linearna diferencijalna jednačina Primer Naći opšte rešenje diferencijalne jednačine 1 y y x. x In[30]:= DSolve[y'[x] - y[x] / x == x ^, y[x], x] 3 x Out[30]= y[x] xc[1] Primer Naći opšte rešenje diferencijalne jednačine 3 ( x 1) y xy x x 0. In[31]:= DSolve[(x ^ - 1) y'[x] - x y[x] + x - x ^ 3 == 0, y[x], x] Out[31]= y[x] ( 1 x )[1] C ( 1 x )Log[ 1 x ] Bernoullieva diferencijalna jednačina Primer Naći opšte rešenje diferencijalne jednačine xy y x y 4 0. In[3]:= DSolve[x y'[x] - 4 y[x] - x ^ Sqrt[y[x]] == 0, y[x], x] Out[3]= y[x] (4 [1] 4 [1]Log[ ] Log[ ]) 4 x C x C x x x Primer Naći opšte rešenje diferencijalne jednačine y xy x y In[33]:= DSolve[y'[x] + 11 x y[x] == x ^ 3 y[x] ^ 3, y[x], x] 10

121 XI vežba Simbolička izračunavanja Out[33]= y[x], y[x] e x x x C[1] 1 11x 11e C[1] Riccatieva diferencijalna jednačina Primer Naći opšte rešenje diferencijalne jednačine y x 3y 0. In[34]:= DSolve[y'[x] + ( / x ^ ) - 3 y[x] ^ == 0, y[x], x]//simplify 5 3x C[1] Out[34]= y[x] 6 3x 3 xc[1] Linearne diferencijalne jednačine II reda Homogena linearna diferencijalna jednačina II reda sa konstantnim koeficijentima Primer Naći opšte rešenje linearne diferencijalne jednačine y 5y 6y 0. In[35]:= DSolve[y''[x] + 5 y'[x] - 6 y[x] == 0, y[x], x] 6 Out[35]= y[x] e x x C[1] e C[] Primer Naći opšte rešenje linearne diferencijalne jednačine y 4y 4y 0. In[36]:= DSolve[y''[x] - 4 y'[x] + 4 y[x] == 0, y[x], x] Out[36]= y[x] e x x C[1] e xc[] 11

122 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Nehomogena linearna diferencijalna jednačina II reda sa konstantnim koeficijentima Primer Naći opšte rešenje linearne diferencijalne jednačine y y e x 4 4. In[37]:= DSolve[y''[x] - 4 y[x] == 4 Exp[- x], y[x], x] 1 x x x Out[37]= y[x] e (1 4 x) e C[1] e C[] 4 Primer Naći opšte rešenje linearne diferencijalne jednačine y 4y (8x 1)sin x. In[38]:= DSolve[y''[x] + 4 y[x] == + (8 x - 1) Sin[ x], y[x], x] {{y[x] C[1]Cos[ x] C[]Sin[ x] 1 (4 x Cos[ x ] 16 x Cos[ x ] 8Cos[ x ] Cos[ x ]Cos[4 x ] Out[38]= 16 Cos[ x] Sin[ x] 8x Cos[4 x]sin[ x] 8Sin[ x] Cos[ x]sin[4 x] 8xCos[ x]sin[4 x] Sin[ x]sin[4 x])}} Homogena linearna diferencijalna jednačina II reda sa funkcionalnim koeficijentima Primer Naći opšte rešenje linearne diferencijalne jednačine xy ( x) y y 0. In[39]:= DSolve[x y''[x] + ( + x) y'[x] + y[x] == 0, y[x], x] e x C[1] C[] Out[39]= y[x] x x 1

123 Eulerova diferencijalna jednačina XI vežba Simbolička izračunavanja Primer Naći opšte rešenje diferencijalne jednačine x y xy y In[40]:= DSolve[x ^ y''[x] - 3 x y'[x] + 4 y[x] == 0, y[x], x] Out[40]= y[x] x C[1] x C[]Log[ x] Primer Naći opšte rešenje diferencijalne jednačine x y xy y In[41]:= DSolve[x ^ y''[x] + 5 x y'[x] + 6 y[x] == 0, y[x], x] C[]Cos[ Log[ x]] C[1]Sin[ Log[ x]] Out[41]= y[x] x x Legendreova diferencijalna jednačina Primer Naći opšte rešenje diferencijalne jednačine (3x 1) y 5(3x 1) y 6y 0. In[4]:= DSolve[(3 x + 1) ^ y''[x] + 5 (3 x + 1) y'[x] + 6 y[x] == 0, y[x], x] 1 1 C[]Cos[ 5Log[1 3 x]] C[1]Sin[ 5Log[1 3 x]] Out[4]= {{y[x] 3 3 }} 1/3 1/3 (1 3 x) (1 3 x) Nehomogena linearna diferencijalna jednačina II reda sa funkcionalnim koeficijentima Primer Naći opšte rešenje linearne diferencijalne jednačine xy ( x) y y e x. 13

124 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe In[43]:= DSolve[x y''[x] + (x + ) y'[x] + y[x] == Exp[x], y[x], x] x e e x C[1] C[] Out[43]= y[x] x x x Linearne diferencijalne jednačine višeg reda Homogena linearna diferencijalna jednačina višeg reda sa konstantnim koeficijentima Primer Naći opšte rešenje linearne diferencijalne jednačine y 4y 5y 8y 0. In[44]:= DSolve[y'''[x] - 4 y''[x] - 5 y'[x] + 8 y[x] == 0, y[x], x] 4x x 7x Out[44]= y[x] e C[1] e C[] e C[3] Primer Naći opšte rešenje linearne diferencijalne jednačine (4) y y y y y In[45]:= DSolve[y''''[x] - 16 y'''[x] + 94 y''[x] - 40 y'[x] + 5 y[x] == 0, y[x], x] Out[45]= y[x] e x C[1] e x xc[] e x C[3] e x xc[4] Nehomogena linearna diferencijalna jednačina višeg reda sa konstantnim koeficijentima Primer Naći opšte rešenje linearne diferencijalne jednačine y 3y 4y y e x. In[46]:= DSolve[y'''[x] - 3 y''[x] + 4 y'[x] - y[x] == Exp[x], y[x], x] Out[46]= y[x] e x x e x C [3] e x C []Cos[ x ] e x C [1]Sin[ x ] 14

125 XI vežba Simbolička izračunavanja Homogena linearna diferencijalna jednačina višeg reda sa funkcionalnim koeficijentima Primer Naći opšte rešenje linearne diferencijalne jednačine 0. 3 x y x y xy y In[47]:= DSolve[x ^ 3 y'''[x] + x ^ y''[x] - x y'[x] + y[x] == 0, y[x], x] [1] Out[47]= y[x] C xc[] xc[3]log[ x] x Nehomogena linearna diferencijalna jednačina višeg reda sa funkcionalnim koeficijentima Primer Naći opšte rešenje linearne diferencijalne jednačine 3 x y x y xy y x. In[48]:= DSolve[x ^ 3 y'''[x] + x ^ y''[x] - x y'[x] + y[x] == x ^, y[x], x] x C[1] Out[48]= y[x] xc[] xc[3]log[ x] 3 x Integracija Za izračunavanje integrala koristi se službena reč Integrate (tabela 11.7). Tabela Integracija Operacija Mathematica Neodređen integral dx Integrate[f, x] Višestruki integral x max Određen integral f dx x min Višestruki određen integral f ( x, y) dxdy Integrate[f, x, y] xmax ymax xmin y min f dxdy Integrate[f, {x, xmin, xmax}] Integrate[f, {x, xmin, xmax}, {y, ymin, ymax}] 15

126 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Primer Odrediti vrednost integrala In[49]:= Integrate[(x + 7) / Sqrt[x + ], x] Out[49]= x (17 x ) 3 I x 7 dx. x Primer Za n 1, odrediti vrednost integrala I x n dx. In[50]:= Integrate[x ^ n, x] 1 n x Out[50]= 1 n Primer Odrediti vrednost integrala In[51]:= Integrate[x ^ / (x ^ + 1), x] Out[51]= x-arctan[x] I x x 1 dx. Primer Odrediti vrednost integrala x I e dx. 0 In[5]:= Integrate[Exp[-x ^ ], {x, 0, Infinity}] Out[5]= Primer Odrediti vrednost integrala I 1 ln x dx. x 0 In[53]:= Integrate[Log[x] / Sqrt[x], {x, 0, 1}] Out[53]= -4 16

127 XI vežba Simbolička izračunavanja Za određivanje približne vrednosti integrala koristi se funkcija NIntegrate[f, x]. Primer Odrediti vrednost integrala I 1 sin(cos x) dx. 0 In[54]:= N[Integrate[Sin[Cos[x]], {x, 0, 1}]] Out[54]= Primer Odrediti približnu vrednost integrala I 1 0 x 5 dx. x In[55]:= NIntegrate[Sqrt[ Sqrt[x] + 5] / Sqrt[x],{x, 0, 1}] Out[55]= Primer Odrediti približnu vrednost integrala I 0 x 6 x dx. x In[56]:= NIntegrate[( x ^ - 6) / Sqrt[x ^ + x + ],{x, 0, π}] Out[56]= Primer Odrediti približnu vrednost integrala 1 I x x dx 0 ln. In[57]:= NIntegrate[Sqrt[x] Log[x] ^, {x, 0, 1}] Out[57]= Primer Odrediti vrednost višestrukog integrala 1 x 0 0 I dx x y dy ( ). In[58]:= Integrate[ x ^ + y ^, {x, 0, 1}, {y, 0, x} ] Out[58]=

128 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Primer Odrediti vrednost višestrukog integrala 1 ( ). I dy x y dx 0 0 In[59]:= Integrate[ x ^ + y, {y, 0, }, {x, 0, 1} ] Out[59]= 14 3 Primer Odrediti vrednost višestrukog integrala 3 5 I dy ( x y) dx. 3 y 4 In[60]:= Integrate[ x + y, {y, -3, 3}, {x, y ^ - 4, 5} ] Out[60]= 5 5 Primer Odrediti vrednost višestrukog integrala 1 1x 1 I dx x dy. 0 x In[61]:= Integrate[ x, {x, 0, 1}, {y, -x +, Sqrt[1 - x ^ ] + 1} ] Out[61]= 1 6 Primer Odrediti vrednost višestrukog integrala 8 x 4 I dx dy. x 4 In[6]:= Integrate[ 1, {x, -, }, {y, x ^ / 4, 8 / (x ^ + 4)} ] 4 Out[6]= 3 18

129 Zadaci za vežbu XI vežba Simbolička izračunavanja I grupa 6 3 a) Odrediti količnik i ostatak pri deljenju polinoma 3x x 1polinomom 4 i 3 b) Odrediti sumu oblika.,5 i1 3 c) Naći rešenja jednačine x x d) Odrediti graničnu vrednost lim. x1 ln x x1 5 3 e) Odrediti prvi i drugi izvod funkcije f ( x) x 4x x 3. x f) Rešiti diferencijalnu jednačinu y y e. 1 g) Odrediti vrednost integrala I dx. x x6 x 3 x. II grupa a) Odrediti količnik i ostatak pri deljenju polinoma x 3. b) Odrediti sumu oblika 30 ( x ) i. i1 3 c) Naći rešenja jednačine x 3x x d) Odrediti graničnu vrednost lim. x0 x x e 1 x x e) Odrediti izvod funkcije f ( x) e e. f) Rešiti diferencijalnu jednačinu 5xy x y 0. g) Odrediti vrednost integrala III grupa 1 1 x 1 4. I x y dydx x x 3x x 1 polinomom a) Odrediti NZD polinoma b) Odrediti sumu oblika 3 x 5x 6x i i1 j1 c) Naći rešenja sistema jednačina i ( i j). 3 6x 3x x 1. 19

130 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe x 3y z 8 3x y z 5 x y z 1 d) Odrediti granične vrednosti lim tg x i x lim tg x. x 3 e) Odrediti drugi parcijalni izvod funkcije f ( x) x 10x 8x 4. f) Rešiti diferencijalnu jednačinu y 4xyy x 0. g) Odrediti vrednost integrala I IV grupa 4 0 (1 tan x) dx. a) Odrediti NZD polinoma b) Odrediti proizvod oblika 4 x 3 x x x 5 i1 c) Naći rešenja sistema jednačina i 3 i. 3 3x 10x x 3. x y z x y 3z 4 x y z 3 x e x x d) Odrediti graničnu vrednost lim. x0 x 1 e) Odrediti prvi izvod funkcije f( x) x. xln x 1 f) Rešiti diferencijalnu jednačinu y y x. x g) Odrediti vrednost integrala V grupa a) Izračunati proizvod polinoma b) Odrediti proizvod oblika c) Naći rešenja jednačine 5 I i1 j x x i i 3 j 4 x 4x 3 0. dx. 4 x 6x. 130

131 XI vežba Simbolička izračunavanja x x 5 d) Odrediti graničnu vrednost lim. x0 x e) Odrediti prvi izvod funkcije f ( x) x x 1. x f) Rešiti diferencijalnu jednačinu y y y e ln x. g) Odrediti vrednost integrala VI grupa x I e x dx 0 sin. a) Odrediti količnik i ostatak pri deljenju polinoma b) Odrediti sumu oblika 5 i i1 j1 c) Naći rešenja sistema jednačina ( i j). 3 x 3x 1 polinomom x 1. 5x1 3y x 11 y d) Odrediti graničnu vrednost lim x x 1. x e) Odrediti prvi i drugi izvod funkcije f ( x) e x x. f) Rešiti diferencijalnu jednačinu ( x yx ) y y xy 0. g) Odrediti vrednost integrala VII grupa x I e dx. 0 a) Odrediti količnik i ostatak pri deljenju polinoma b) Odrediti sumu oblika 0 i1 ( x 3) i. c) Naći rešenja sistema jednačina 4 3 x x x 1 polinomom x 1. x y 5z 6 x y z 5 3x 3y 4z 8 d) Odrediti graničnu vrednost 1 lim1. x x x 131

132 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe 1 x e) Odrediti prvi izvod funkcije f( x). 1 x f) Rešiti diferencijalnu jednačinu xy y cos x. 1 sin x g) Odrediti vrednost integrala I dx. sin x(1 cos x) VIII grupa a) Odrediti NZS polinoma 5 i b) Odrediti sumu oblika. i1 i 5 c) Naći rešenja sistema jednačina x y z 1 x y z 1 x y z 1 3 x x x 3 4 i ( x 1). x e d) Odrediti graničnu vrednost lim. x x 3 y e) Odrediti prvi i drugi parcijalni izvod funkcije z xcos y y tgx x e y ln x. 3 f) Rešiti diferencijalnu jednačinu x y x y xy y 0. g) Odrediti vrednost integrala IX grupa I 3 a) Odrediti faktore polinoma x 7x 6. 1 b) Odrediti sumu oblika. i1 (1 i) c) Naći rešenja sistema jednačina 3x x x x x x 3x 4x x x x x 5x 10x 5x x x 3x x x x1 5x 3x3 3x4 3 ln(1 x) d) Odrediti graničnu vrednost lim. x0 x e) Odrediti parcijalni izvod funkcije z xy ln( x y) x 3. dx. 13

133 3 f) Rešiti diferencijalnu jednačinu 3y y 16x xy. 1 sin x g) Odrediti vrednost integrala I dx. sin x(1 cos x) XI vežba Simbolička izračunavanja X grupa a) Odrediti NZD polinoma x b) Odrediti proizvod oblika 3 5 7x6 i i i1 j1 i j. 3 x x x 5 6. c) Odrediti rešenja jednačine ( x x) ( x x) 3. x d) Odrediti graničnu vrednost lim. x x x x e) Odrediti parcijalni izvod funkcije z x x y ln. 3 f) Rešiti diferencijalnu jednačinu ( x 1) y xy x x 0. g) Odrediti vrednost integrala 5 x 1 I ( e ) dx. x 0 133

134

135 Cilj vežbe Savladavanje načina iscrtavanja grafika funkcija Upoznavanje sa parametarski zadatom krivom Upoznavanje sa trodimenzionalnom grafikom

136 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Teorijske osnove za izradu vežbe 1.1. Dvodimenzionalna grafika Osnovna funkcija za iscrtavanje grafika funkcija u paketu Mathematica je Plot, koja iscrtava proizvoljnu funkciju jedne promenljive u zadatom intervalu (tabela 1.1). Tabela 1.1. Iscrtavanje grafika funkcije Funkcija u paketu Mathematica Plot[ f, {x, xmin, xmax}] Plot[{f 1, f,... }, {x, xmin, xmax}] Opis Grafik funkcije f u zavisnosti od x u intervalu [xmin, xmax] Crtanje više funkcija zajedno Primer 1.1. Nacrtati grafik funkcije sin(x) za x [0, ]. In[1]:= Plot[Sin[x], {x, 0, Pi}] Out[1]= Primer 1.. Nacrtati grafik funkcija sin(x), cos(x) za x [0, ]. In[]:= Plot[{Sin[x], Cos[x] }, {x, 0, Pi}] Out[]= 136

137 1.. Opcije pri radu sa dvodimenzionalnom grafikom XII vežba Grafika Da bi korisnik sam podesio opcije pri iscrtavanju dvodimenzionalnih grafika koristi se funkcija oblika Plot[ f, {x, xmin, xmax}, opcija -> vrednost] U tabeli 1. navedene su opcije koje se mogu podešavati u dvodimenzionalnom grafiku. Tabela 1.. Opcije pri crtanju dvodimenzionalnog grafika Opcija Podrazumevana Opis vrednost AspectRatio 1/GoldenRatio Odnos visine i širine grafika Axes True Iscrtavanje koordinatnih osa AxesLabel None Oznake za koordinatne ose AxesOrigin Automatic Tačka u kojoj se seku koordinatne ose Frame False Iscrtavanje okvira grafika FrameLabel None Oznake za okvir FrameTics Automatic Koordinate koje treba obeležiti na okviru GridLines None Iscrtavanje pomoćnih linija PlotJoined False Spajanje tačaka na grafiku PlotLabel None Naslov grafika PlotLegends None Legende za krive PlotPoints 5 Najmanji broj tačaka u kojima se računa vrednost funkcije PlotRange Automatic Oblast grafika koji se prikazuje PlotStyle Automatic Grafičke direktive za specificiranje stila svake krive Ticks Automatic Koordinate koje treba obeležiti na koordinatnim osama Primer 1.3. Nacrtati grafik funkcije sin x za x [0, 3]. In[3]:= Plot[Sin[x ^ ], {x, 0, 3}, AxesLabel -> {"x", Sin[x ^ ]}, PlotLabel -> "Grafik funkcije"] Out[3]= 137

138 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe In[4]:= Plot[Sin[x ^ ], {x, 0, 3}, Frame -> True, GridLines -> Automatic] Out[4]= 1.3. Stilovi i boje Način i sortiranje pojedinih krivih na grafiku zadaje se opcijom PlotStyle, koja sadrži listu stilova za svoju vrednost (tabela 1.3). Stil je lista grafičkih kontrolnih funkcija koje određuju izgled krive ili niza tačaka. Tabela 1.3. Opcija PlotStyle Primena stila u paketu Mathematica PlotStyle -> stil PlotStyle -> {{stil 1 }, {stil },... }} Opis Stil koji se primenjuje na sve krive na grafiku Stilovi koji se primenjuju na pojedinačne krive na grafiku Grafičke kontrolne funkcije imaju efekat samo ako se navedu kao vrednosti opcija funkcije PlotStyle (tabela 1.4). Tabela 1.4. Grafičke kontrolne funkcije opcije PlotStyle Grafičke kontrolne funkcije Opis GrayLevel[i] Nijansa sivog između 0 (crno) i 1 (belo) RGBColor[r, g, b] Boja određena crvenom, zelenom i plavom komponentom, svaka između 0 i 1 Hue[h] Boja h iz spektra Hue[h, s, b] Boja h, zasićenje s i osvetljenje b PointSize Prečnik tačke zadat relativno u odnosu na širinu celog grafika AbsolutePointSize[d] Prečnik tačke u apsolutnim jedinicama Thickness[r] Debljina linije u odnosu na širinu grafika AbsoluteThickness[d] Debljina linije u apsolutnim jedinicama Dashing[{r 1, r,...}] Dužine segmenta za crtanje neprekidnih linija zadate u odnosu na širinu grafika AbsoluteDashing[{d 1, d,...}] Dužine segmenata u apsolutnim jedinicama Opacity Neprovidnost 138

139 Primer 1.4. Nacrtati grafik funkcija sin(x), cos(x), tan(x) za x [0, ]. XII vežba Grafika In[5]:= Plot[{Sin[x], Cos[x], Tan[x]},{x, 0, Pi}, PlotStyle -> {Red, Dashed, Thick}, PlotLegends -> "Expressions"] Out[5]= Opcije koje utiču na boje celog grafika prikazane su u tabeli 1.5. Tabela 1.5. Opcije za boju celog grafika Opcije za boju celog grafika Background -> boja DefaultColor -> boja ColorOutput -> GrayLevel Opis Boja za pozadinu grafika Boja kojom se iscrtava grafik Generisanje crno-bele slike na monitoru u boji 1.4. Iscrtavanje grafičkih primitiva Rezultat grafičkih funkcija je objekat -Grafics-, koji sadrži sve podatke o nacrtanom grafiku. Objekat -Grafics- se može ponovo prikazati na ekranu funkcijom Show. Za iscrtavanje dvodimenzionalnih grafičkih slika koristi se funkcija oblika Graphics[primitive, opcije] Paket Mathematica sadrži funkcije za crtanje grafičkih primitiva (tabela 1.6). Tabela 1.6. Iscrtavanje grafičkih primitiva Funkcija u paketu Mathematica Opis Point[{x, y}] Tačka na poziciji (x, y) Line[{x 1, y 1 }, {x, y },...] Linija kroz tačke {x 1, y 1 }, {x, y },... Rectangle[{x min, y min }, {x max, y max }] Crtanje pravougaonika Polygon[{x 1, y 1 }, {x, y },...] Crtanje poligona Circle[{x, y}, r] Krug sa centrom u (x, y) i poluprečnikom r Disc[{x, y}, r] Ispunjen disk sa centrom u (x, y) i poluprečnikom r 139

140 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Primer 1.5. Nacrtati krug sa centrom u (3, 4) i poluprečnikom r = i elipsu sa centrom u tački (0, 1) i poluosama a = i b = 3. In[6]:= Show[Graphics[Circle[{3, 4}, 5]]] In[7]:= Show[Graphics[Circle[{0, 1},{, 3}]]] Out[6]= Out[7]= 1.5. Parametarski zadate krive Za crtanje kriva zadatih parametraskim jednačinama x x( t), y y( t), a t b se koristi ParametricPlot[{x[t], y[t]}, {t, a, b}] Primer 1.6. Nacrtati cikloidu i spiralu x t sint y 1 cost ( t ), x u cosu y usinu (0 u 4 ). In[8]:= ParametricPlot[{t + Sin[t], 1+Cos[t]}, {t, -Pi, Pi}, AspectRatio-> Automatic] 140

141 XII vežba Grafika In[9]:= ParametricPlot[{u*Cos[u], u*sin[u]}, {u, 0, 4Pi}, AspectRatio-> Automatic] Out[9]= - Graphics Crtanje oblasti u ravni Naredba za crtanje oblasti u ravni koja je određena datim uslovima RegionPlot[uslovi, {x, x min, x max }, {y, y min, y max }]. Primer 1.7. Nacrtati oblast unutar centralnog kruga poluprečnika r = ispod prave 1 x,, y,. x y. Uzeti oblast crtanja In[10]:= RegionPlot[x^ + y^ < 4 && x + y < 1,{x, -, },{y, -, }] Out[10]= 141

142 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Primer 1.8. Nacrtati oblast unutar centralnog kruga poluprečnika r = i izvan elipse x,, y,. x y za In[11]:= RegionPlot[4 x^ + 6 y^ > 4 && x^ + y^ < 4,{x, -, },{y, -, }] Out[11]= 1.7. Trodimenzionalna grafika Umesto jedne promenljive u dvodimenzionalnom slučaju, ovde postoje dve promenljive: Plot3D[f, {x, xmin, xmax}, {y, ymin, ymax}]. U tabeli 1.7 navedeni su parametri koji se mogu podešavati u trodimenzionalnom grafiku. Tabela 1.7 Opcije pri crtanju trodimenzionalnog grafika Opcija Podrazumevana Opis vrednost AmbientLight GrayLevel[0] Osvetljenje trodimenzionalnog grafika Axes True Iscrtavanje kordinatnih osa AxesLabel None Oznake za koordinatne ose Boxed True Iscrtavanje grafika unutar kvadra BoxRatios {1,1,.4} Odnos dimenzija stranica kvadra FaceGrids None Iscrtavanje pomoćnih linija na stranama kvadra Lighting True Za senčenje grafika Mesh True Iscrtavanje mreže na grafiku PlotLabel None Naslov grafika PlotPoints 15 Broj tačaka u oba pravca u kojima se računa vrednost funkcije PlotRange Automatic Oblast grafika koja se prikazuje PlotStyle Automatic Grafičke direktive za specificiranje stila svakog oblika Shading True Senčenje grafika 14

143 Primer 1.9. Prikazati sliku paraboloida datog funkcijom funkcijom g x 3y za x[ 5,5], y [ 5,5]. XII vežba Grafika f x y i površi zadate In[1]:= Plot3D[{x ^ + y ^, x + 3 y}, {x, -5, 5}, {y, -5, 5}, PlotStyle -> Directive[Blue, Opacity[0.6]], PlotPoints -> 5] Out[1]= U tabeli 1.8 navedene su trodimenzionalne grafičke primitive. Tabela 1.8. Trodimenzionalne grafičke primitive Funkcija u paketu Mathematica Opis Point[{x, y, z}] Tačka sa koordinatama (x, y, z) Line[{x 1, y 1, z 1 }, {x, y, z },...] Linija kroz tačke {x 1, y 1, z 1 }, {x, y, z },... Polygon[{x 1, y 1, z 1 }, {x, y, z },...] Crtanje poligona sa zadatom listom temena Cuboid[{x min, y min, z min }, Crtanje paralelopipeda {x max, y max, z max }] Text[expr, {x, y, z}] Tekst na poziciji {x, y, z} Cuboid[{x, y, z}] Jedinična kocka sa naspramnim temenima koje imaju koordinate {x, y, z} i {x+1, y+1, z+1} Sphere[{x, y, z}, r] Sfera sa centrom i poluprečnikom Cylinder[{{x a, y a, z a },{x b, y b, z b }},r] Valjak sa centrima bazisa i radijusom osnove Cone[{{x a, y a, z a },{x b, y b, z b }}, r] Kupa sa centrom bazisa, vrhom i radijusom osnove Primer Na istoj slici, prikazati: sferu sa centrom u tački O(0, 0, 0) i poluprečnika r = 1 i kocku sa krajnjim temenima A(0, 0, 0) i B(1.5, 1.5, 1.5). In[13]:= sph = Graphics3D[{Red, Sphere[{0, 0, 0}, 1]}]; 143

144 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe cub = Graphics3D[{Blue, Cuboid[{0, 0, 0},{1.5, 1.5, 1.5}]}]; Show[sph, cub] Primer Na istoj slici, prikazati: kosi valjak sa centrom jednog bazisa u tački O (0, 0, 0), drugog u tački A (1, 1, ) i poluprečnika r = 1, kupu sa centrom osnove u tački A(,, 0), vrhom B(-1, -1, ) i poluprečnikom osnove r = 1. In[14]:= a = Graphics3D[{Blue, Cylinder[{{0, 0, 0},{1, 1, }}, 1]}] b = Graphics3D[{Red, Cone[{{,, 0},{-1, -1, }}, 1]}] Show[a, b] 144

145 XII vežba Grafika Svi grafici rađeni u paketu Mathematica mogu biti eksportovani u razli;itim formatima: kao bitmape (BMP), grafički metafajlovi (EMF ili WMF), JPEG ili PostScript datoteke (EPS) Crtanje oblasti u prostoru Za crtanje oblasti u prostoru koristi se naredba RegionPlot3D[uslovi,{x, x min, x max },{y, y min, y max },{z, z min, z max }]. Primer 1.1. Nacrtati oblast u prostoru zadatu nejednakostima x y z za 1,1, 1,1, 1,1 x y z. x y z 1 i In[15]:= RegionPlot3D[x ^ + y ^ + z ^ < 1 && x ^ + y ^ < z ^, {x, -1, 1},{y, -1, 1}, {z, -1, 1}, PlotRangeAll] Primer Nacrtati oblast u prostoru zadatu nejednakostima x 1, y 1 i z 1za 1,1, 1,1, 1,1 x y z. In[16]:= RegionPlot3D[Abs[x] < 1 && Abs[y] < 1 && Abs[z] < 1 && x ^ + y ^ > z ^, {x, -1, 1}, {y, -1, 1}, {z, -1, 1}, PlotRangeAll] 145

146 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe 1.9. Prikazivanje skupova podataka i njihova analiza Inženjeri u praksi često dolaze do dvodimenzionalnih i trodimenzionalnih skupova podataka putem merenja. Njihovo ucrtavanje omogućavaju naredbe ListPlot i ListPlot3D. Primer Formirati tabelu podataka za funkciju f ( x) e za vrednosti argumenta x 1,,...,10 i ucrtati podatke, kao i približan grafik funkcije. In[17]:= t = Table[{n,Exp[-n/]}, {n, 1, 10}] g1 = ListPlot[t] g = ListPlot[t, Joined {True}, PlotRange All] Show[g1, g] x / 146

147 XII vežba Grafika Primer Formirati tabelu podataka za funkciju f ( x, y) sin( x y ) za vrednosti argumenata xy, 0,0(0,1)3,0 i ucrtati podatke, kao i približan grafik funkcije. In[18]:= tab = Table[{x, y, Sin[x + y ^ ]},{x, 0, 3, 0.1},{y, 0, 3, 0.1}]; data = Flatten[tab,1]; ListPointPlot3D[data, AxesLabel {x, y, z}] ListPlot3D[data, AxesLabel {x, y, z}] Plot3D[Sin[x + y ^ ],{x, 0, 3},{y, 0, 3}, AxesLabel {x, y, z}] 147

148 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Zadaci za vežbu I grupa Nacrtati grafik funkcije f( x) 9 x x 4 za x[ 3,3]. II grupa Nacrtati grafik funkcije y 4 x za x[,]. III grupa Nacrtati grafike funkcija y3x 8 i y x 5 za x[ 5,5]. IV grupa Nacrtati grafike funkcija V grupa y sin x i x y za x [0, ]. 10 Nacrtati krive zadate parametarskim jednačinama x t sin t, y t tan t, t. VI grupa Nacrtati grafik funkcije 3 y x x 3 za x[ 5,5]. VII grupa Nacrtati grafik funkcije x 4 y za x[ 5,5]. 1 x VIII grupa Nacrtati grafik funkcije y x x za x[ 5,5]. 148

149 IX grupa XII vežba Grafika Nacrtati grafik funkcija X grupa f ( x) 3 x, g x 1 za x[ 10,10]. ( ) x 1 Nacrtati krive zadate parametarskim jednačinama x t sin t, y t sin 3 t, t. 149

150

151 Cilj vežbe Upoznavanje sa upravljačkim strukturama Implementacija upravljačkih struktura

152 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Teorijske osnove za izradu vežbe Uslovni izrazi U paketu Mathematica uslovni izrazi If-Then i If-Then-Else predstavljaju pozive funkcija (tabela 13.1). Tabela Uslovni izrazi Funkcija u paketu Mathematica If[test, direktiva] If[test, direktiva, alternativa] Opis Izvršava se direktiva ako test ima vrednost True Izvršava se direktiva ako test ima vrednost True, inače se izvršava alternativa Primer Neka je definisana funkcija 1, x 0 f( x). 1, x 0 Naći f(10). In[1]:= f[x_] := If[x > 0, 1, -1]; Out[3]= 1 f[10] Za testiranje većeg broja uslova koriste se funkcije Which i Switch (tabela 13.). Tabela 13.. Funkcije za testiranje više uslova Funkcija u paketu Mathematica Which[test 1, vrednost 1, test, vrednost,...] Switch[izraz, form 1, vrednost 1, form, vrednost,...] Switch[izraz, form 1, vrednost 1, form, vrednost,..., def] Opis Evaluira se redom test 1,test,... Pri čemu je rezultat vrednost asocirana sa prvim test i koji je True Upoređuje se izraz sa svakim od izraza form 1,,..., a rezultat je vrednost izraza vrednost i, koji je asociran sa prvim izrazom form i koji se slaže sa izraz Koristi se def kao vrednost koja se vraća ako se nijedan od izraza form i ne slaže sa izrazom Svaki od izraza vrednost 1,vrednost,... predstavlja jedan izraz ili sekvencu izraza koji su razdvojeni znakom ;. 15

153 XIII vežba Upravljačke strukture Primer 13.. Neka je definisana funkcija sin x, x 0, x f ( x) 1, x 0, x e 1, x 0. x Naći f(-1) i f(1). In[]:= g[x_]:=which[ x < 0, Sin[x] / x, x == 0,1, x > 0, (Exp[x] - 1) / x] g[-1]//print; g[1]//print; Out[3]= Sin[1] Out[3]= -1+E Primer Na dati izraz, primeniti: svođenje na jedan razlomak, ukoliko je zbir dva razlomka; razdvajanje na elementarne razlomke, ako je proizvod dva razlomka. Primeniti na izraze 1 x x a 1x 1x i 1 a 1x 1x. In[4]:= f[a_] := Switch[a, _Plus, Together, _Times,Apart]; a = (1 + x) / (1 - x) + x / (1 + x); f[a] f[a][a] b = / ((1 - x) (1 + x)); f[b] f[b][b] Out[5]= Together (-1-3 x)/((-1+x) (1+x)) Out[5]= Apart -1/(-1+x)+1/(1+x) 153

154 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Primer Neka je dat broj x. Ako je celi broj, naći njegove činioce; Ako je racionalan, njegovu približnu decimalnu vrednost; Ako je realan, njegov racionalni oblik; Ako je kompleksan, njegov realni deo. Isprobati na brojevima 18, /3, 1., 7+i. In[6]:= switchfun[x_] := Switch[x, _Integer,FactorInteger[x], _Rational,N[x], _Real,Rationalize[x], _Complex,Re[x]]; switchfun[18] switchfun[/3] switchfun[1.] switchfun[7 + i] Out[6]= {{,1},{3,}} Out[7]= Out[8]= 6/5 Out[9]= 7 Primer Neka je definisana funkcija 1, f ( x, y) x y, r( x, y) 0, f ( x, y) x* y, y 1, f ( x, y) x. Isprobati za a * b. In[10]:= r = Switch[a * b, x_ + y_, -1, x_ * y_, 0, x_ ^ y_, 1] Out[10]= 0 154

155 13.. Ciklusi XIII vežba Upravljačke strukture U paketu Mathematica postoje upravljačke strukture kojima se definiše višestruko ponavljanje određene sekvence naredbi. Brojačke petlje su petlje kod kojih postoji brojač kojim se upravlja izvršenjem petlje Do ciklusi Do ciklusi se koriste za definisanje brojačkih programskih ciklusa (tabela 13.3). Tabela Do ciklusi Funkcija u paketu Mathematica Do[izraz, {i, imax}] Do[izraz,{i, imin, imax, di}] Do[izraz, {n}] Opis Evaluirati izraz za svako i, pri čemu i uzima vrednosti iz skupa {1,..., imax} Evaluirati izraz sa vrednostima i od imin do imax sa korakom di Evaluacija izraza izraz n puta Primer Odrediti sumu prvih 100 prirodnih brojeva. In[11]:= sum = 0; Do[sum += i, {i, 100}]; sum Out[11]= While i For ciklus Za razliku od Do petlje koja se uvek izvršava zadati broj puta, broj izvršavanja petlji For i While je određen nekim izlaznim kriterijumom. Te petlje se izvršavaju samo dok određeni uslov ima vrednost True. Opšti oblik While ciklusa je gde se telo izvršava sve dok je test =True. Opšti oblik For ciklusa je While[test, telo] For[start, test, inkr, telo] gde se izvršava start, zatim respektivno evaluira telo i inkr sve dok test ne postane False. 155

156 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Primer Odrediti vrednost sume 1 10 S In[1]:= For[i = 1; sum = 0, i < 11, i++, sum += i / (i + i + 1)]; sum Out[1]= / Primer Napisati program za rešavanje jednačine x - x Njutnovim iterativnim postupkom. Početno rešenje x 0 i tačnost dati su na ulazu. Na izlazu štampati krajnje rešenje. Napomena: Za Njutnov metod važe sledeća pravila: početni uslov:, 0 f xk ) iterativna zakonitost x k 1 x k '(, k 0,1, f ( x ), uslov kraja x k 1 x k. In[13]:= f[x_] := x ^ 5 - x ^ eps =.00001; xi = 50; While[Abs[f[xi]] > eps, xi = N[xi - f[xi] / f'[xi]]] xi Out[13]= k 156

157 Zadaci za vežbu XIII vežba Upravljačke strukture I grupa Neka je definisana funkcija y, y 1, f ( y) y 1, 1 y, y1, y, gde je y x x 1. Za x = 10 izračunati vrednost funkcije f. II grupa Iterativno rešiti sistem jednačina x xy 5x 1 0 x y 1,6 0, 4 sa tačnošću 10, koristeći formule xn yn 5 1 xn 1, yn 1 xn 1,6. Iterativni proces završiti kada budu istovremeno ispunjeni uslovi x x y y i. n1 n n1 n Na izlazu štampati vrednosti rešenja sistema. Na ulazu su date početne vrednosti x0 i y 0. III grupa x Napisati program za rešavanje jednačine f e 10x 0 metodom sečice. Početna rešenja x 0 i x 1 i dati su na ulazu. Na izlazu štampati krajnje rešenje. Napomena: Za metodu sečice važe sledeća pravila: definisanje funkcije, početni uslovi: x0, x 1, 157

158 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe iterativna zakonitost uslov kraja x k 1 x k. x x x x f x, k 1,, k k1 k1 k k f xk f xk1, IV grupa Za x = 1(0,5)5 izračunati vrednost funkcije f(x) zadate u obliku 4 1 x f( x) x V grupa Izračunati i štampati vrednosti prvih 10 Lagerovih polinoma korišćenjem rekurentnih formula: L 0 1 x 1, 1, L x x L x n 1 x L x n L x, za učitanu vrednost promenjive x. VI grupa n1 n n1 Napisati metodu kojom se izračunava vrednost x a, po formuli 1 a x0 a 1, xn xn1 ( n 1,, ). xn 1 Proces prekinuti kada je x x 1. U glavnom programu uneti vrednost za a i ε i naći n vrednost korena. VII grupa Neka je definisana funkcija sin(1/ t), t 0 f() t tt, 0 Za t = 10 izračunati vrednost funkcije f. n 158

159 VIII grupa XIII vežba Upravljačke strukture Neka je definisana funkcija x, 0 x1, f ( x) 1, 1 x, 3 x, x 3. Za x = 10 izračunati vrednost funkcije f. IX grupa Neka je definisana funkcija Za x = 3,5 izračunati vrednost funkcije f. X grupa Tabelirati funkciju x x 1, 0 1 x,0 x 3 f( x) 15 xx, 5 x 15x 5,3 x 5 x x y( a, b, x) ln sin a e cos b arctg za sve kombinacije parametara: a = 0,1(0,01)0,15; b = 0,15(0,01)0,19; x = 0,3(0,15)0,6. 159

160

161 Cilj vežbe Upoznavanje sa pojmom potprograma Implementacija potprograma

162 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Teorijske osnove za izradu vežbe Potprogrami se definišu kao programske celine koje se zatim po potrebi pozivaju, bilo u okviru programa u kome su definisani, bilo u drugim programima. Osobine potprograma: 1. Svaki potprogram ima jednu ulaznu tačku.. Programska jedinica koja poziva potprogram prekida svoju aktivnost sve dok se ne završi pozvani potprogram. To znači da se u jednom trenutku izvršava samo jedan potprogram. 3. Po završetku potprograma upravljanje tokom izvršenja se prenosi na pozivajuću programsku jedinicu, na mestu iza poziva potprograma. Za svaki potprogram su karakteristična sledeća četiri elementa: ime potprograma, lista imena argumenata, telo potprograma, okruženje u kome je potprogram definisan Funkcijski potprogram Funkcijski potprogram se definiše naredbom Function[{x 1, x, }, telo potprograma]. In[1]:= Function[x, x ^ ][z] Out[1]= z^ In[]:= Function[{x, y},sqrt[x + y ]][3, 4] Out[]= Opšti potprogram U paketu Mathematica koristi se i opšti potprogram koji se naziva modul. Modul je posebno označeni deo programa koji se definiše naredbom ili Module[{promenljiva 1, promenljiva,...}, program] Module[{promenljiva = vrednost,...}, program] 16

163 Izlazak iz funkcije sa vraćanjem vrednosti se zadaje naredbom XIV vežba Potprogrami Return[izraz]. Ova naredba vraća vrednost izraza kao rezultat tekuće funkcije i zatim se kontrola programa prenosi u pozivajuću programsku jedinicu. U modulima se imena promenljivih tretiraju kao lokalne. Međutim, ponekad je potrebno da promenljiva bude globalna, ali da dobije lokalnu vrednost. U paketu Mathematica globalne i lokalne promenljive postoje unutar strukture Block (tabela 14.1). Tabela Block naredbe Funkcija u paketu Mathematica Opis Block[{x, y,...}, procedura] Blok sa lokalnim vrednostima simbola x, y,... Block[{x = x 0, y = y 0,...}, procedura] Postavljanje početnih vrednosti za x, y,... Primer Napisati modul za nalaženje faktorijela broja. In[1]:= faktorijel[n_] := Module[{i = 1, fac = 1}, While [i < n, i = i + 1; fac = fac * i]; fac]; faktorijel[7] Out[1]= 5040 Primer 14.. Napisati modul koji za uređeni par celih brojeva vraća onoliko jedinica koliki im je zbir, ako je on pozitivan. Probati za parove brojeva (-1,-) i (3,). In[]:= g[{m_, n_}] := Module[ {k}, k = m + n; If[k <= 0, Return["Zbir brojeva nije pozitivan"]]; Table[1, {i, 1, k}]]; g[{-1, -}] g[{3, }] Out[]= Zbir brojeva nije pozitivan {1,1,1,1,1} 163

164 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Primer Napisati modul za Newtonov metod za rešavanje jednačina. Omogućiti naknadno zadavanje funkcije, argumenta i početne vrednosti. Probati na jednačini 5x 4cos( x) 1 0 za početnu vrednost x = -1. In[3]:= newton[f_, x_, xp_]:= (* f - funkcija; x - argument; xp - početna vrednost *) Module[{}, g/:g:= Function[x, f]; x = 0; y = xp; While[Abs[x - y] > 10^(-5), x = y; y = x - g[x] / D[g[z], z]/.z -> x; Print[N[y, 16]]]] newton[5 x + 4 Cos[ x] + 1, x, -1] Out[3]= Rekurzivna izračunavanja Rekurzivna izračunavanja izvršavaju se naredbom f[x_] := f[x] = izraz. Primer 14.4 Napisati rekurziju za izračunavanje članova Fibonačijevog niza F F 1, F F F ( n,3,...). 0 1 n n1 n1 In[]:= F[0] = F[1] = 1; F[n_] := F[n] = F[n - 1] + F[n - ]; Table[F[i], {i, 0, 9}] Out[]= {1,1,,3,5,8,13,1,34,55} 164

165 Zadaci za vežbu XIV vežba Potprogrami I grupa Napisati potprogram kojim se izračunava i štampa vrednost primenom iterativnog postupka x n a (pri čemu je a > 0), an1 x0, n a ( n-1) xi n1 xi xi 1, i 0,1,,... n Izračunavanje prekinuti kada je xi 1 xi, gde je zadata tačnost. II grupa Napisati potprogram za izračunavanje funkcije f(x) zadate u obliku 1 x f( x) x U glavnom programu za x = 1(0,5)5 štampati vrednosti x i f(x). III grupa Napisati potprogram za tabeliranje funkcije: x 3a y x z x x 3a y, pri čemu je: x 1(1)4, a 0,1(0,001)0,15, y 0,5(0,05)0,8. IV grupa Napisati potprogram kojim se izračunava i štampa rastojanje između dve tačke čije su koordinate date na ulazu. Napomena: Za izračunavanje rastojanja između dve tačke koristi se formula d ( x y ) ( x y )

166 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe V grupa Napisati potprogram kojim se pomoću rekurzije izračunava suma geometrijskog niza dužine n čiji je prvi član a, a koeficijent q. Napomena: Suma geometrijskog niza određuje se na sledeći način S q q q q q q qs n n n 1 (1... ) 1 n1. VI grupa Napisati potprogram za izračunavanje binomnog koeficijenta. Napomena: Binomni koeficijent se izračunava na osnovu sledeće formule: n n( n 1)... ( n k 1) n!. k k! k!( n k)! VII grupa Napisati potprogram kojim se za dato x i n izračunava e x po formuli VIII grupa Napisati potprogram za izračunavanje vrednosti S x k0 sin x cos x k 1 e x n k x. k! k 1 za date vrednosti x i tačnost. Sumiranje prekinuti kada je poslednje dodata vrednost po apsolutnoj vrednosti. IX grupa Napisati potprogram za izračunavanje vrednosti 17 1/4 primenom iterativne formule 1 17 x x ( x ), i 0,1, i 1 i 3 i 4 xi ako je x0. Tačnost proračuna je 0,

167 X grupa XIV vežba Potprogrami Napisati potprogram kojim se određuje najmanji pozitivni koren transcedentne jednačine sin x A x za zadatu vrednost parametra A. Za izračunavanje korena primeniti iterativni postupak A x i1, i 0,1,,... sin x i gde je x0. Iterativni postupak prekinuti kada bude ispunjen uslov x x, i1 i gde je zadata tačnost. 167

168

169 Cilj vežbe Primena stečenog znanja Rešavanje praktičnih problema iz matematike

170 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Brojni sistemi Podrazumeva se da korisnik softvera Mathematica zapisuje brojeve u dekadnom brojnom sistemu. Cifre celog broja možemo zapisati kao niz IntegerDigits[n] - niz dekadnih cifara celog broja n Na primer, IntegerDigits[ ] kao rezultat daje {1,, 3, 4, 1, 3, 5, 6, 3, 4} Naredba kojom se dekadni broj x zapisuje kao broj u brojnom sistemu sa osnovom b glasi BaseForm[x, b] Primer Zapisati dekadni broj 37 u brojnom sistemu sa osnovom. In[1]:= BaseForm[37, ] Out[1]//BaseForm= (100101) Obrnuto, broj iz osnove b se vraća u dekadni oblik naredbom b^^y Primer 15.. Zapisati broj iz brojnog sistema sa osnovom u dekadni sistem. In[]:= ^^ Out[]= 37 Cifre u osnovama većim od 10, se označavaju po alfabetu {0, 1,, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e,...} Primer Zapisati broj iz dekadnog brojnog sistema u heksadekadni sistem. In[3]:=BaseForm[ ,16] Out[3]= 498f6a

171 Cifre celog broja n u osnovi b možemo zapisati kao niz IntegerDigits[n, b] Primer Zapisati cifre celog broja u osnovi 16. In[4]:=IntegerDigits[ ,16] Out[4]= {4, 9, 8, 15, 6, 10, 5, } XV vežba Mathematica za više kurseve matematike 15.. Inverzne funkcije Za funkcije f(x) i g(x) se kaže da su inverzne funkcije ako važi f(g(x)) = g(f(x)) = x. Grafici inverznih funkcija su simetrični oko linije y = x. Naredbom Composition[f 1, f,..., f n, x] izračunava se kompozicija oblika ( f f f )( x) f ( f ( ( f ( x )))). 1 n n Primer Pokazati da su funkcije 1x f( x) 4 x i 4x 1 gx ( ) x inverzne fukcije. In[5]:= f[x_] = ( 1 x) / ( 4 + x) ; g[x_] = (4 x 1) / (x + ); f[g[x]] ( 1 4 x) 1 Out[5]= x 1 4x 4 x In[6]:= Simplify[f[g[x]]] Out[6]= x In[7]:= Simplify[g[f[x]]] Out[7]= x In[8]:= Plot[{f[x],g[x],f[g[x]]},{x, -10,10}] 171

172 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Out[8]= Dvostruki integral Dvostruki integral nad pravougaonikom Neka je f neprekidna funkcija definisana nad pravougaonikom P a, b c, d x, y a x b, c y d. Dvostruki integral funkcije f nad pravougaonikom P je b d f ( x, y) dxdy f ( x, y) dxdy f ( x, y) dxdy. d b P a c c a U paketu Mathematica koriste se naredbe oblika Integrate[f[x, y], {y, c, d}, {x, a, b}] ili NIntegrate[f[x, y], {y, c, d}, {x, a, b}] Primer Izračunati dvostruki integral funkcije P 1, 1,0. xy f ( x, y) ye nad pravougaonikom Za rešavanje zadatog dvostrukog integrala naredbu P 0 xy xy ye dxdy ye dxdy koristimo 1 1 In[9]:= Integrate[y Exp[ x y], {y, 1, }, {x, -1, 0}] 17

173 1 1 1 Out[9]= 4 4 e e In[10]:= NIntegrate[y Exp[ x y], {y, 1, }, {x, -1, 0}] Out[10]= XV vežba Mathematica za više kurseve matematike Dvostruki integral nad proizvoljnom oblasti u Razlikujemo sledeća dva osnovna slučaja: 1) Neka je oblast integraljenja data sa A x, y a x b, h ( x) y h ( x ), 1 gde su h 1 i h realne funkcije definisane nad intervalom ab, za koje važi c h ( x) h ( x) d. Tada je dvostruki integral nad A 1 A b h ( x) f ( x, y) dxdy f ( x, y) dydx. a h ( x) 1 ) Neka je oblast integraljenja data sa A x, y c x d, h ( y) x h ( y ), 1 gde su h 1 i h realne funkcije definisane nad intervalom cd, za koje važi a h ( y) h ( y) b. Tada je dvostruki integral nad A 1 A d h ( y) f ( x, y) dxdy f ( x, y) dxdy. c h ( y) 1 Primer Izračunati dvostruki integral funkcije f ( x, y) x 3y nad oblasti ograničenoj parabolama y 3 x i y x. In[11]:= Solve[3x ^ == + x ^ ] Out[11]= In[1]:= Plot[{3x ^, + x ^ }, {x, 1, 1}] 173

174 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Out[1]= Date parabole se seku u tačkama (-1, 3) i (1, 3), pa je oblast integraljenja A x, y 1 x 1,3x y x i sledi A 1 x (x 3 y) dxdy ( 3 ). x y dy dx 1 3x In[13]:= NIntegrate[ x - 3 y, {x, -1, 1}, {y, 3x ^, + x ^ }] Out[13]= Polarni koordinatni sistem Veza između pravouglog i polarnog koordinatnog sistema je data sa x rcos i y r sin, gde je r x y, 0,. Neka je funkcija f neprekidna nad oblasti A iz koja je u polarnim koordinatama data sa * A r h1 r h tada za dvostruki integral funkcije f nad A važi,, ( ) ( ), A h ( ) f ( x, y) dxdy f ( r cos, r sin ) rdrd. h ( ) 1 174

175 XV vežba Mathematica za više kurseve matematike Primer Izračunati dvostruki integral funkcije ograničenoj kružnicom x y y. f ( x, y) x y nad oblasti In[14]:= RegionPlot[{x ^ + y ^ == y}, {x, 1, 1}, {y, 0, }] Out[14]= Koordinatu r dobijamo uvođenjem smene x r cos i y r sin, tj. iz sledi ( sin ) 0 ( r cos ) ( r sin ) r sin rr i dobijamo r Oblast integraljenja je * A r r 0,sin, 0,., 0 sin,0 i sledi A sin x y dxdy ( r cos ) ( r sin ) rdrd. 0 0 In[15]:= NIntegrate[Sqrt[(r Cos[t]) ^ + (r Sin[t]) ^ ] r, {t, 0, Pi}, {r, 0, Sin[t]}] Out[15]=

176 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Trostruki integral Neka je f neprekidna funkcija definisana nad paralelopipedom P a bc du v Trostruki integral funkcije f nad paralelopipedom P je,,,. P b d v a c u f ( x, y, z) dxdydz f ( x, y, z) dxdydz. U paketu Mathematica koriste se naredbe oblika Integrate[f[x, y, z], {x, a, b}, {y, c, d}, {z, u, v}] ili NIntegrate[f[x, y, z], {x, a, b}, {y, c, d}, {z, u, v}] Primer Izračunati trostruki integral funkcije P 1,1,30,1. f ( x, y, z) xy z nad paralelopipedom Za rešavanje zadatog trostrukog integrala naredbu P xy zdxdydz 1 0 xy zdxdydz koristimo In[16]:= NIntegrate[x y ^ z, {x, -1, 1}, {y,, 3}, {z, 0, 1}] Out[16]= Trostruki integral nad proizvoljnom oblasti u 3 Razlikujemo sledeća tri osnovna slučaja: 1) Neka je oblast integraljenja data sa A x, y, z ( x, y) O, ( x, y) z ( x, y ), 1 gde je O xy oblast u xy-ravni, a ϕ 1 i ϕ su realne funkcije definisane nad O xy. Tada je trostruki integral nad A xy 176

177 XV vežba Mathematica za više kurseve matematike ( xy, ) f ( x, y, z) dxdydz f ( x, y, z) dz dxdy. Oxy 1 ( xy, ) A ) Neka je oblast integraljenja data sa A x, y, z ( x, z) O, ( x, z) y ( x, z ), xz 1 gde je O xz oblast u xz-ravni, a φ 1 i φ su realne funkcije definisane nad O xz. Tada je trostruki integral nad A ( xz, ) f ( x, y, z) dxdydz (,, ). f x y z dy dxdz A Oxz 1 ( xz, ) 3) Neka je oblast integraljenja data sa A x, y, z ( y, z) O, ( y, z) x ( y, z ), yz 1 gde je O yz oblast u yz-ravni, a ψ 1 i ψ su realne funkcije definisane nad O yz. Tada je trostruki integral nad A ( yz, ) f ( x, y, z) dxdydz f ( x, y, z) dx dydz. Oyz 1( yz, ) A Primer Izračunati trostruki integral funkcije A 3 koja je ograničena cilindrom Oblast integraljenja je oblika x y 1, konusom A x y z x y O z x y,, (, ) xy,0 1, f ( x, y, z) x y 1 nad oblasti z 1 x y i xy-ravni. gde je O xy projekcija cele oblasti na xy-ravan i sledi 1 x y ( 1) ( 1) x y dxdydz. x y dz dxdy A Oxy 0 Uvođenjem polarnih koordinata x r cos i y r sin, pri čemu je r 0,1, 0,, dvostruki integral postaje 177

178 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe O xy 1 x y 1 1 x y dxdy ( r 1)(1 r) rdr d. 0 0 In[17]:= NIntegrate[(r ^ + 1) (1 + r) r, {t, 0, Pi}, {r, 0, 1}] Out[17]= Određivanje zapremine trostrukim integralom Ako je A ograničena oblast u 3, tada se zapremina date oblasti može odrediti pomoću trostrukog integrala na sledeći način V ( A) dxdydz. A Primer Izračunati zapreminu regiona nad oblasti funkcijama z 4 x y i z x. A 3 koja je ograničena In[18]:= p1 = Plot3D[{4 - x^ - y^, - x}, {x, -, }, {y, -, }] p = ContourPlot[4 - x^ - y^ - ( - x) == 0, {x, -, }, {y, -, }] Show[GraphicsRow[{p1, p}]] Out[18]= 178

179 XV vežba Mathematica za više kurseve matematike Out[19]= In[0]:= RegionPlot3D[-x<=z<=4-x^-y^,{x,-,},{y,-,}, {z,-4,4}] Out[0]= Zapremina tela je y y V ( A) dxdydz 4 x y x dxdy A O xy V ( A) 4 x y x dxdy In[1]:= NIntegrate[(4 - x^-y^) - ( - x), {y, -3/, 3/}, {x, 1/ - 1/ Sqrt[9-4 y^], 1/ + 1/ Sqrt[9-4 y^]}] Out[1]=

180 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Krivolinijski integral Krivolinijski integral I reda Krivolinijski integral funkcije f duž krive c je f ( x, y) ds. c Krivolinijski integral realne funkcije dve promenljive f duž krive c parametarski date kao ( ) ( ( ), ( )) t,, izračunavamo na sledeći način c t x t y t, kada c f ( x, y) ds f ( x( t), y( t)) x ( t) y ( t) dt, gde je ( ) ( ) ds x t y t dt element dužine luka krive, a integral sa desne strane Rimanov određeni integral. Primer Izračunati krivolinijski integral funkcije f ( x, y) parametarski zapisane kao x() t t i c( t) ( t, t 1), pri čemu t 1, y( t) t 1za t 1,. Traženi krivolinijski integral je oblika 3x 4y 3 nad krivom c, tj. parametrizovana je sa c (, ) (, 1) 1 4. f x y ds f t t t dt 1 In[]:= f[x_, y_] = 3 x / Sqrt[4 y - 3] x[t_] = t y[t_] = t ^ + 1 fx = D[x[t], t] fy = D[y[t], t] s1 = Simplify[Sqrt[fx ^ + fy ^ ]] NIntegrate[f[t, t ^ + 1] s1,{t, -1, }] Out[]=

181 Dužina luka krive XV vežba Mathematica za više kurseve matematike Dužina luka krive f(x) od tačke na grafiku sa apscisom a do tačke na grafiku sa apscisom b, iznosi b a l 1 f ( x) dx. Primer Izračunati dužinu luka krive L date sa f x x x In[3]:= f[x_] = Log[1 - x ^ ] fx = D[f[x], x] s1 = Simplify[Sqrt[1 + fx ^ ]] NIntegrate[s1, {x, 0, 1/}] Out[3]= ( ) log 1, 0,1/ Površinski integral Površinski integral I reda Površinski integral funkcije f duž nad površi S je Razlikujemo sledeća dva osnovna slučaja: f ( x, y) ds. S 1) Neka je površ S data u eksplicitnom obliku kao z g( x, y), pri čemu funkcija g ima neprekidne parcijalne izvode. Neka je S xy projekcija površi S na xy-ravan. Tada S g g f ( x, y, z) ds f ( x, y, g( x, y)) 1 dxdy. S xy x y ) Neka je površ S data parametarski sa x x( t, u), y y( t, u ) i z z( t, u) za ( t, u) D, pri čemu je D oblast u. Tada gde je S f x y z ds f x t u y t u z t u ab c dtdu (,, ) ( (, ), (, ), (, )), D x y z x y z a, b i t t t u u u 181

182 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe x x y y z z c. t u t u t u Primer Izračunati površinski integral funkcije regionom definisanim sa x y 1. f ( x, y) 4 x y nad Primetimo da S možemo predstaviti kao uniju dve eksplicitno zadate površi S 1 i S, gde je S 1 dato sa x 1 y, a S sa x 1 y. Domen funkcije f(x, y) je a region x, y 4 y x 4 y, y r, 0 r,0, R x, y 1 y x 1 y, 1 y 1 r, 0 r 1,0. In[4]:= f[x_, y_] = Sqrt[4 - x ^ - y ^ ] p1 = ParametricPlot3D[{r Cos[t], r Sin[t], f[r Cos[t], r Sin[t]]}, {r,0,}, {t,0,pi}] p = ParametricPlot3D[{r Cos[t], r Sin[t], f[r Cos[t], r Sin[t]]}, {r,0,1}, {t,0,pi}] Show[p1, p] Out[4]= In[5]:= fx = D[f[x, y], x] fy = D[f[x, y], y] s1 = Simplify[Sqrt[1 + fx ^ + fy ^ ]] 1 Out[5]= 4 x y 18

183 Površina oblasti se izračunava kao XV vežba Mathematica za više kurseve matematike S 1 1 y f f 1 dxdy. dxdy x y 4 x y 1 1 y Uvođenjem polarnih koordinata x r cos i y r sin, pri čemu je r 0,1, 0,, dvostruki integral postaje r rdrd. In[6]:= s = Simplify[s1/.{x -> r Cos[t],y -> r Sin[t]}] NIntegrate[r s,{t, 0, Pi}, {r, 0, 1}] Out[6]= Površina i zapremina rotacionog tela Površina i zapremina tela nastalog rotacijom dela luka krive f(x) oko koordinatnih osa izračunavaju se: b V f x dx x a b ( ), P f ( x) 1 f ( x) dx. x a b d ( ) ( ), V xf x dx x y dy y a d P x( y) 1 x( y) dy. y c c Primer Odrediti površinu figure ograničene lukom krive 1 f ( x), x,4 x x i x-osom, a zatim izračunati zapreminu tela nastalog rotacijom tog luka oko x-ose. 183

184 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe S V x 4 4 x x x dx dx x In[7]:= NIntegrate[1 / (Sqrt[x x + x - ]), {x,, 4}] Out[7]= In[8]:= Pi NIntegrate[1 / (x x + x - ), {x,, 4}] Out[8]= Redovi Ispitivanje konvergencije redova Beskonačni red je red oblika n n k 1 n k1 k k 1 a, gde je a sekvenca. N-ta parcijalna suma je s a a a... a. Beskonačni red konvergira ka L ako sekvenca parcijalnih suma s n konvergira ka L i piše se Za dati beskonačni niz ak k 1 L. Sum[a[k], {k, 1, n}] izračunava n-tu parcijalnu sumu. Za beskonačan red kaže se da konvergira ako se može izračunati njegova vrednost, tj. Sum[a[k], {k, 1, Infinity}] n Primer Ispitati da li sledeći redovi konvergiraju ili divergiraju: a) b). k 1 k 1 ( 1) k, k1 In[9]:= sn = Sum[(-1) ^ (k + 1), {k, 1, n}] 1 Out[9]= 1 ( 1) 1n In[30]:= sn = Sum[(-1) ^ (k + 1), {k, 1, Infinity}] 184

185 XV vežba Mathematica za više kurseve matematike Out[30]= k 1 ( 1) k b) Dati red se može predstavit kao. kk 1 kk 1 k 1 In[31]:= sn = Sum[1/(k - 1) - 1/(k + 1), {k,, n}] n 3n Out[31]= n(1 n) In[3]:= Apart[sn] Out[3]= n 1 n In[33]:= Limit[sn, n -> Infinity] Out[33]= Stepeni red k Neka je x 0 broj. Stepeni red za x - x 0 je red oblika ak ( x x 0). k0 Primer Ispitati da li sledeći stepeni red konvergira In[34]:= a[x_, k_] = (-1) ^ k / ( k + 1)! x ^ ( k + 1) s1 = FullSimplify[a[x, k + 1] / a[x, k]] x Out[34]= 6 10k 4k In[35]:= Limit[s1, k -> Infinity] Out[35]= 0 k 0 k ( 1) x (k 1)!. k Razvoj funkcije u red Neka funkcija f(x) ima u tački x = a konačan n-ti izvod f (n) (x) za svaki prirodan broj n. Beskonačan red zove se Tejlorov red. f ( a) ( x a) ( ) k k k0 k! 185

186 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Za razvoj funkcije u red oko date tačke a do određenog stepena n koristi se naredba Series[f[x], {x, a, n}] Primer Dati prva dva člana Tejlorovog reda funkcije f ( x) e x oko tačke a = 0. In[36]:= Series[ Exp[x], {x, 0, } ]//N Out[36]= 1 + x + 1/ x Furijeov red Neka je funkcija y = f(x) definisana na -p < x < p. Tada Furijeov red za f(x) je 1 nx nx a0 ancos bnsin n1 p p gde je a 0 1 p p p p p f ( x) dx 1 n x an f ( x)cos dx, n 1,,... p p p p 1 n x bn f ( x)sin dx, n 1,,... p p x, 1 x 0 Primer Neka je funkcija f(x) definisana sa f ( x) 1,0 x 1. f ( x ), x 1 prvih pet koeficijenata i prve tri parcijalne sume Furijeovog reda funkcije f(x). Izračunati In[37] := f[x_] := 1/; 0 <= x < 1 f[x_] := -x/; -1 <= x < 0 f[x_] := f[x - ]/; x >= 1 Plot[f[x], {x, -1, 5}] 186

187 XV vežba Mathematica za više kurseve matematike Out[37]= In[38] := L = 1; a[0] = NIntegrate[f[x], {x, -L, L}] / L Out[38]= 0.75 In[39] := a[n_] := NIntegrate[f[x] Cos[n Pi x / L], {x, -L, L}] / L b[n_] := NIntegrate[f[x] Sin[n Pi x / L], {x, -L, L}] / L coeffs = Table[{a[i], b[i]}, {i, 1, 5}]; TableForm[coeffs] Out[39]= x10^ x10^ In[40] := fs[k_, x_] := coeffs[[k, 1]] Cos[k Pi x] + coeffs[[k, ]] Sin[k Pi x] fourier[n_, x_] := a[0] + Sum[fs[k, x], {k, 1, n}] fourier[, x] Out[40]= Cos[Pi x] x10^-17 Cos[ Pi x] Sin[Pi x] Sin[ Pi x] In[41] := fourier[3, x] Out[41]= Cos[Pi x] x10^-17 Cos[ \[Pi] x] Cos[3 Pi x] Sin[Pi x] Sin[ Pi x] Sin[3 Pi x] Primer Neka je funkcija f(x) definisana sa koeficijenata Furijeovog reda funkcije f(x). f x ( ). x Izračunati prvih pet In[4] := f[x_] := x ^ Plot[f[x], {x, -Pi, Pi}] 187

188 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Out[4]= In[43] := a[0] = Integrate[f[x], {x, 0, Pi}] / Pi Out[43]= 3 In[44] := a[k_] := NIntegrate[f[x] Cos[k x], {x, 0, Pi}] / Pi b[k_] := 0 coeffs = Table[{a[i], b[i]}, {i, 1, 5}]; TableForm[coeffs] Out[44]= Primer Funkciju ( ) ( ) In[45] := f[x_] := x( Pi - x); a = 0; b = Pi; g[x_] := Which[ 0 < x < Pi, f[x], - Pi< x < 0, f[x + Pi], Pi < x < 4 Pi, f[x - Pi]]; ggraf = Plot[g[x], {x, - Pi,4 Pi}] 10 f x x x definisanu za 0, razviti u Furijeov red Out[45]=

189 XV vežba Mathematica za više kurseve matematike In[46] := fs = FourierSeries[g[x], x, 6]; Print["FourierSeries[g[x], x, 6] = ", fs]; Out[46]= ix ix 1 ix 1 ix FourierSeries g x, x,6 e e e e 3ix 3ix 1 4ix 1 4ix 5ix 5ix 1 6ix e e e e e e e ix e 18 3 In[47] := fsgraf = Plot[{fs}, {x, - Pi, 4 Pi}, PlotStyle -> {Dashed, Thick, Red}]; Show[ggraf, fsgraf] Out[47]= In[48] := compexpfs = ComplexExpand[FourierSeries[fs, x, 6]]; Print["FourierSeries[g[x], x, 6] = ", compexpfs]; coef = FourierCoefficient[g[x], x, n]; Print["coef = ", coef]; Out[48]= π 4 FourierSeries g x, x,6 4Cos[ x] Cos[ x] Cos[3 x] Cos[4 x] Cos[5 x] Cos[6 x] coef = n Primer 15.. Funkciju In[49] := a = 1; 1, x 0 f ( x) signx 0, x 0 1, x 0 razviti u Furijeov red. 189

190 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe gg[x_] := Sign[x]; g[x_] := Which[ 0< x < a, gg[x], a < x < a, -gg[x], a < x < 3 a, gg[x], -a < x < 0, gg[x], - a < x < -a, -gg[x], -3 a < x < - a, gg[x]]; Plot[g[x], {x, -3 a, 3 a}] Out[49]= In[50] := fs = FourierSeries[gg[x], x, 6]; Print["FourierSeries[g[x], x, 6] = ", fs]; FourierSeries g x, x,6 Out[50]= 3ix 5ix 5ix ie ie ie In[51] := Plot[{g[x], fs}, {x, -3 a, 3 a}] 1.0 ix ix 3ix ie ie ie Out[51]= In[5] := compexpfs = ComplexExpand[FourierSeries[fs, x, 6]]; Print["FourierSeries[g[x], x, 6] = ", compexpfs]; coef = FourierCoefficient[g[x], x, n];

191 XV vežba Mathematica za više kurseve matematike Print["coef = ",coef]; 4Sin[ x] 4Sin[3 x] 4Sin[ 5] x Out[5]= FourierSeries g x, x, in in in 4in ie ( 1 e )(1 e e ) coef = n Crtanje polja i tokova Za crtanje polja i tokova koristi se strelica koja se crta naredbom Arrow[{{x 1, y 1 },{x, y }}] Primer Nacrtati polje određeno strelicama koje počinju u tačkama (u, v) a završavaju u tačkama (u + v/4-1, v + u/4-1). In[53]:= Graphics[Table[Arrow[{{u,v},{u+v/4-1,v+u/4-1}}],{u,0,5, 0.5},{v,0,5,0.5}]]] Out[53]= Laplasova transformacija Neka je () funkcija y f t funkcija definisana na intervalu -st F(s) L f(t) = e f(t)dt =. 0 0,. Laplasova transformacija je Funkcija f() t je inverzna Laplasova transformacija Fs () u značenju L f ( t) F( s ), a zapisana kao L -1 F( s) f ( t ). 191

192 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe U paketu Mathematica korsite se sledeće naredbe za rad sa Laplasovim transformacijama: LaplaceTransform[f[t], t, s] izračunava L f ( t) F( s ), InverseLaplaceTransform[F[s], s, t] izračunava L -1 F( s) f ( t ), 0, t 0 UnitStep[t] vraća ut () 1, t 0. Borelova teorema: Ako je L f ( t) F( s) i Lg( t) G( s), tada je L ( f * g)( t) F( s) G( s). Primer Odrediti konvoluciju funkcija f ( t) sin t i g( t) cost. Primenom Borelove teoreme direktno dobijamo 1 s s L(sin t *cos t) L(sin t) L (cos t). s 1 s 1 ( s 1) In[54] := LaplaceTransform[Sin[t], t, s] LaplaceTransform[Cos[t], t, s] s Out[54]= (s 1) s Primer Odrediti f() t ako je Fs ( ). s s5 Slika Fs () se može prikazati u obliku s11 s1 1 Fs ( ), ( s 1) ( s 1) ( s 1) odnosno 1 1 s t 1 t f ( t) L F( s) L cos sin. L e t e t ( s1) ( s1) In[55] := i1=inverselaplacetransform[-(s + ) / (s ^ + s + 5), s, t] ComplexExpand[i1]//Simplify Out[55]= 1 e t Cos t Sin t 19

193 Primer Rešiti diferencijalnu jednačinu pod uslovom y(0) 0, y (0) 1. XV vežba Mathematica za više kurseve matematike y ( t) 4 y( t) 3 y( t ) 1, Neka je L( y( t)) Y( s), tada je L( y( t)) sy( s) y(0) sy( s) i L ( y ( t)) s Y( s) sy(0) y(0) s Y( s) 1. Primenom Laplasove transformacije na levu i desnu stranu date diferencijalne jednačine, dobijamo odakle je s Y( s) 1 4 sy( s) 3 Y( s), s 1 s1 s1 1 1 Ys ( ). s( s 4s 3) s( s 1)( s 3) 3s s 1 3( s 1) Primenom inverzne Laplasove transformacije, nalazimo 1 y t Y s e e ( ) L ( ( )) t t. In[56] := ODE = y''[t] - 4 y'[t] + 3 y[t] == 1 IC = {y[0] -> 0, y'[0] -> 1} ltode = LaplaceTransform[ODE, t, s] /.IC Out[56]= -1+3 LaplaceTransform[y[t],t,s] -4 s LaplaceTransform[y[t],t,s] +s^ LaplaceTransform[y[t],t,s]==1/s In[57] := YSoln[s_] = Solve[ltODE, LaplaceTransform[y[t], t, s]] 1 s Out[57]= LaplaceTransform y t,t,s s 3 4s s In[58] := InverseLaplaceTransform[YSoln[s], s, t] 3t 1 t e Out[58]= y t e

194 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Primer Rešiti diferencijalnu jednačinu pod uslovom y(0) y(0) y (0) 1. y t y t t ( ) ( ) 3( ), Primenom Laplasove transformacije na levu i desnu stranu date diferencijalne jednačine, dobijamo odakle je 6 s s 3 ( s s) Y( s) s s 3, s s 6s 6 s 6s Ys ( ) s ( s 1) s ( s 1) s s 1 Primenom inverzne Laplasove transformacije, nalazimo y t Y s e t 1 3 ( ) L ( ( )) t. In[59] := ODE = y'''[t] - y'[t] == 3 ( - t ^ ) IC = {y[0] -> 1, y'[0] -> 1, y''[0] -> 1} ltode = LaplaceTransform[ODE, t, s] /.IC Out[59]= -s-s^-s LaplaceTransform[y[t],t,s] +s^3 LaplaceTransform[y[t],t,s]==3(-(/s^3)+/s) In[60] := YSoln[s_] = Solve[ltODE, LaplaceTransform[y[t], t, s]] 4 6 6s s Out[60]= LaplaceTransform y t, t,s 4 ( 1 s)s In[61] := InverseLaplaceTransform[YSoln[s], s, t] Out[61]= t 3 y t e t 194

195 Parcijalne diferencijalne jednačine Parcijalna diferencijalna jednačina je jednačina oblika XV vežba Mathematica za više kurseve matematike m u u u u F x1, x,..., xn, u,,...,,,..., 0 m x 1 x n x 1 x n gde je F data funkcija od n nezavisno promenljivih x 1, x,..., x n (n > 1), zatim od nepoznate funkcije u = u(x 1, x,..., x n ) i konačnog broja parcijalnih izvoda funkcije u. Za rešavanje parcijalne diferencijalne jednačine za ux, y u paketu Mathematica koristi se naredba oblika DSolve[jednačina, u[x, y], {x, y}] Parcijalne diferencijalne jednačine I reda Linearna homogena parcijalna diferencijalna jednačina Primer Ako je u(x, y) nepoznata funkcija, naći opšte rešenje parcijalne diferencijalne jednačine u u ( ) 0. x y x y x y u In[6] := eqn = x ^ D[u[x, y], x] + y ^ D[u[x, y], y] - (x + y) u[x, y]; sol = DSolve[eqn == 0, u, {x, y}] x y Out[6]= u Function x, y, xyc 1 xy In[63] := fn = u[x, y] /.sol[[1]] /.{C[1][t_] -> Sin[t ^ ] + (t / 10)} x y x y Out[63]= xy Sin 10xy xy In[64] := Plot3D[fn,{x,-5,5},{y,-5,5}] 195

196 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe Out[64]= Primer Ako je u(x, y, z) nepoznata funkcija, naći opšte rešenje parcijalne diferencijalne jednačine u u u x ( x y) z 0. x y z In[65] := DSolve[x D[u[x, y, z],x]+(x-y) D[u[x, y, z],y]+ z D[u[x, y, z],z]==0,u,{x, y, z}] 1 z Out[65]= u Function { x, y, z}, C[1][ x( x y), ] x Primer Ako je u(x, y) nepoznata funkcija, naći opšte rešenje parcijalne diferencijalne jednačine u u 3 4 u 0. x y In[66] := eqn = 3 D[u[x, y], x] + 4 D[u[x, y], y] + u[x, y]; sol = DSolve[eqn == 0, u, {x,y}] /3 1 Out[66]= u Function x,y, e x C [1][ ( 4 3 )] 3 x y In[67] := fn = u[x, y] /. sol[[1]] /. {C[1][t_] -> Sin[t]} x/3 1 Out[67]= e Sin[ ( 4x 3 y)] 3 In[68] := Plot3D[fn,{x,-5,5},{y,-5,5}] 196

197 XV vežba Mathematica za više kurseve matematike Out[68]= Kvazilinearna parcijalna diferencijalna jednačina Primer Ako je u(x, y) nepoznata funkcija, naći opšte rešenje parcijalne diferencijalne jednačine u u x ( x y) u. x y In[69] := DSolve[-x D[u[x, y], x] + (x + y) D[u[x, y], y] == u[x, y], u, {x, y}] 1 [1][ ( )] Out[69]= u Function x, y C, x x y x Primer Ako je u(x, y) nepoznata funkcija, naći opšte rešenje parcijalne diferencijalne jednačine u x u y x u In[70] := DSolve[D[u[x, y], x] + x D[u[x, y], y] == u[x, y] ^ + 3, u, {x, y}]

198 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe 1 u Function x, y, 3Tan[ 3x 3 C[1][ ( x y)]] Out[70]= Nelinearna parcijalna diferencijalna jednačina Primer Ako je u(x, y) nepoznata funkcija, naći opšte rešenje parcijalne diferencijalne jednačine u u 1. x y In[71] := DSolve[D[u[x, y], x] D[u[x, y], y] == 1, u, {x, y}] x Out[71]= u Function x, y, C [1] yc[ ] C[] Primer Ako je u(x, y) nepoznata funkcija, naći opšte rešenje parcijalne diferencijalne jednačine u u 4u 4. x y In[7] := DSolve[4 u[x, y] + D[u[x, y], x] ^ + D[u[x, y], y] ^ == 4, u, {x, y}] {{ u Function[ x,y, Out[7]= 1 y xyc[1] C[1] x C[1] yc[] xc[1][] C C[] ]}} 1 C[ 1] 198

199 Zadaci za vežbu XV vežba Mathematica za više kurseve matematike I grupa Odrediti kompozicije f g i g f za a) b) f x x g x x ( ) 1, ( ) 1, f x x x g x x ( ) 9, ( ) 9. II grupa Izračunati dvostruki integral funkcije A x y y y x y III grupa, 1 1, 1 3. f ( x, y) x 3y na oblasti datoj sa Izračunati trostruki integral funkcije f ( x, y, z) zy na oblasti datoj sa A x, y, z 0 z,0 y z,0 x z. IV grupa Odrediti zapreminu ograničenu površima z x y i z 5. V grupa Izračunati površinski integral funkcije x y z 9. VI grupa Ispitati konvergenciju reda f ( x, y) x y nad centralnom sferom n 1 1 n0 n n. 199

200 Uvod u programiranje i softverski paketi Praktikum za laboratorijske vežbe VII grupa Ispitati konvergenciju i naći sumu reda VIII grupa Razviti u Furijeov red funkciju IX grupa n n n 0 x, x 0 3 f( x). x,0 x 3 Razviti u Furijeov red funkciju f x x x X grupa ( ),,. 1,0 t 1 Neka je y f () t definisana sa f() t 1,1 t diferencijalne jednačine y 4y 0 y f ( t ).. i f ( t) f ( t ), t. Naći rešenja 00

201 Literatura 1. Abell, M.L., Braselton, J.P., Mathematica by example, fourth edition, Elsevier Inc., Arnold, K., Gosling, J., Holmes, D., The Java Programming Language, fourth edition, Addison Wesley Professional, Došenović, T., Takači, A., Rakić, D., Zbirka zadataka iz Matematike I, Tehnološki fakultet, Novi Sad, Eckel, B., Thinking in Java, Second edition, Prentice Hall, New Jersey, Flanagan, D., Java Examples in a Nutshell, third edition, O'Reilly, Gocić, M., Algoritmsko rešavanje problema i objektno orijentisan pristup u Javi, Mikro knjiga, Beograd, Hartmann, D., Đorđević, Đ., Gocić, M., Osnovi inženjerske informatike I, Građevinsko-arhitektonski fakultet, Niš, Miličić, P., Ušćumlić, M., Zbirka zadataka iz više matematike I, Naučna knjiga, Beograd, Petković, Lj., Tričković, S., Rajković, P., Zbirka zadataka iz numeričke matematike, Univerzitet u Nišu, Mašinski fakultet, Poo, D., Kiong, D., Ashok, S., Object-Oriented Programming and Java, second edition, Springer, Petković, M., Algoritmi numeričke analize, Univerzitet u Nišu, Prirodno-matematički fakultet, Niš, Stanimirović, P. S., Milovanović, G. V., Programski paket Mathematica i primene, Univerzitet u Nišu, Elektronski fakultet, Stefanović, L., Matejić, M., Marinković, S., Diferencijalne jednačine: za studente tehničkih fakulteta, Studentski kulturni centar, Niš, 006.

202 Uvod u programiranje i softverski paketi - Praktikum za laboratorijske vežbe 14. Walnum, C., Java By Example, Que Corporation, Indianopolis, Weisfeld, M., Objektno orijentisani način razmišljanja, CET Computer Equipment and Trade, Beograd, Wellin, P. R., Gaylord, R. J., Kamin, S. N., An Introduction to Programming with Mathematica, third edition, Cambridge University Press, Wolfram, S., The Mathematica Book, fifth edition, Wolfram media,

203 Autori Milan Lj. Gocić, doktor tehničkih nauka, docent Građevinskoarhitektonskog fakulteta Univerziteta u Nišu, rođen je 9. maja godine u Nišu. Predaje grupu predmeta iz naučne oblasti Informacione tehnologije u građevinarstvu. Autor je više od 90 naučnih i stručnih radova, koji su objavljeni u međunarodnim i domaćim časopisima i zbornicima radova skupova međunarodnog i nacionalnog značaja. Oblasti interesovanja su mu informacioni sistemi, objektno orijentisano programiranje i modelovanje softvera. Predrag M. Rajković, doktor matematičkih nauka, redovni profesor Mašinskog fakulteta Univerziteta u Nišu, rođen je 9. juna godine u Velikoj Plani kod Prokuplja. Godine diplomirao je na Filozofskom fakultetu u Nišu, na Grupi za matematiku. Na istom fakultetu, godine odbranio je magistarsku tezu, a doktorsku disertaciju. U svojim naučnim radovima se bavi specijalnim funkcijama, numeričkom analizom i programiranjem i njihovim primenama u drugim naukama. Predavao je matematiku, optimizaciju, programiranje i kompjutersku grafiku. Ima objavljenu monografiju Diferencijalno-integralni račun bazičnih hipergeometrijskih funkcija 008. godine, 5 naučnih radova na SCI listi i oko 90 naučnih radova ukupno do sada.

Univerzitet u Nišu Građevinsko-arhitektonski fakultet. Informatika2. 4. Ciklična algoritamska struktura 5. Jednodimenzionalno polje.

Univerzitet u Nišu Građevinsko-arhitektonski fakultet. Informatika2. 4. Ciklična algoritamska struktura 5. Jednodimenzionalno polje. Univerzitet u Nišu Građevinsko-arhitektonski fakultet Informatika2 4. Ciklična algoritamska struktura 5. Jednodimenzionalno polje Milica Ćirić Ciklična algoritamska struktura Ciklična struktura (petlja)

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

Program testirati pomoću podataka iz sledeće tabele:

Program testirati pomoću podataka iz sledeće tabele: Deo 2: Rešeni zadaci 135 Vrednost integrala je I = 2.40407 42. Napisati program za izračunavanje koeficijenta proste linearne korelacije (Pearsonovog koeficijenta) slučajnih veličina X = (x 1,..., x n

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

Konstruisati efikasan algoritam znači dati skup preciznih uputstava kako doći do rešenja zadatog problema Algoritmi se mogu opisivati:

Konstruisati efikasan algoritam znači dati skup preciznih uputstava kako doći do rešenja zadatog problema Algoritmi se mogu opisivati: Staša Vujičić Konstruisati efikasan algoritam znači dati skup preciznih uputstava kako doći do rešenja zadatog problema Algoritmi se mogu opisivati: pseudo jezikom prirodnim jezikom dijagramom toka. 2

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

3.1 Granična vrednost funkcije u tački

3.1 Granična vrednost funkcije u tački 3 Granična vrednost i neprekidnost funkcija 2 3 Granična vrednost i neprekidnost funkcija 3. Granična vrednost funkcije u tački Neka je funkcija f(x) definisana u tačkama x za koje je 0 < x x 0 < r, ili

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

Algoritmi zadaci za kontrolni

Algoritmi zadaci za kontrolni Algoritmi zadaci za kontrolni 1. Nacrtati algoritam za sabiranje ulaznih brojeva a i b Strana 1 . Nacrtati algoritam za izračunavanje sledeće funkcije: x y x 1 1 x x ako ako je : je : x x 1 x x 1 Strana

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

UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET SIGNALI I SISTEMI. Zbirka zadataka

UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET SIGNALI I SISTEMI. Zbirka zadataka UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET Goran Stančić SIGNALI I SISTEMI Zbirka zadataka NIŠ, 014. Sadržaj 1 Konvolucija Literatura 11 Indeks pojmova 11 3 4 Sadržaj 1 Konvolucija Zadatak 1. Odrediti konvoluciju

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

Zavrxni ispit iz Matematiqke analize 1

Zavrxni ispit iz Matematiqke analize 1 Građevinski fakultet Univerziteta u Beogradu 3.2.2016. Zavrxni ispit iz Matematiqke analize 1 Prezime i ime: Broj indeksa: 1. Definisati Koxijev niz. Dati primer niza koji nije Koxijev. 2. Dat je red n=1

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

SISTEMI NELINEARNIH JEDNAČINA

SISTEMI NELINEARNIH JEDNAČINA SISTEMI NELINEARNIH JEDNAČINA April, 2013 Razni zapisi sistema Skalarni oblik: Vektorski oblik: F = f 1 f n f 1 (x 1,, x n ) = 0 f n (x 1,, x n ) = 0, x = (1) F(x) = 0, (2) x 1 0, 0 = x n 0 Definicije

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

Pismeni ispit iz matematike Riješiti sistem jednačina i diskutovati rješenja sistema u zavisnosti od parametra: ( ) + 1.

Pismeni ispit iz matematike Riješiti sistem jednačina i diskutovati rješenja sistema u zavisnosti od parametra: ( ) + 1. Pismeni ispit iz matematike 0 008 GRUPA A Riješiti sistem jednačina i diskutovati rješenja sistema u zavisnosti od parametra: λ + z = Ispitati funkciju i nacrtati njen grafik: + ( λ ) + z = e Izračunati

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

Pismeni ispit iz matematike GRUPA A 1. Napisati u trigonometrijskom i eksponencijalnom obliku kompleksni broj, zatim naći 4 z.

Pismeni ispit iz matematike GRUPA A 1. Napisati u trigonometrijskom i eksponencijalnom obliku kompleksni broj, zatim naći 4 z. Pismeni ispit iz matematike 06 007 Napisati u trigonometrijskom i eksponencijalnom obliku kompleksni broj z = + i, zatim naći z Ispitati funkciju i nacrtati grafik : = ( ) y e + 6 Izračunati integral:

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

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)

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

Elementi spektralne teorije matrica

Elementi spektralne teorije matrica Elementi spektralne teorije matrica Neka je X konačno dimenzionalan vektorski prostor nad poljem K i neka je A : X X linearni operator. Definicija. Skalar λ K i nenula vektor u X se nazivaju sopstvena

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

Teorijske osnove informatike 1

Teorijske osnove informatike 1 Teorijske osnove informatike 1 9. oktobar 2014. () Teorijske osnove informatike 1 9. oktobar 2014. 1 / 17 Funkcije Veze me du skupovima uspostavljamo skupovima koje nazivamo funkcijama. Neformalno, funkcija

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

MATRICE I DETERMINANTE - formule i zadaci - (Matrice i determinante) 1 / 15

MATRICE I DETERMINANTE - formule i zadaci - (Matrice i determinante) 1 / 15 MATRICE I DETERMINANTE - formule i zadaci - (Matrice i determinante) 1 / 15 Matrice - osnovni pojmovi (Matrice i determinante) 2 / 15 (Matrice i determinante) 2 / 15 Matrice - osnovni pojmovi Matrica reda

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

Zadaci sa prethodnih prijemnih ispita iz matematike na Beogradskom univerzitetu

Zadaci sa prethodnih prijemnih ispita iz matematike na Beogradskom univerzitetu Zadaci sa prethodnih prijemnih ispita iz matematike na Beogradskom univerzitetu Trigonometrijske jednačine i nejednačine. Zadaci koji se rade bez upotrebe trigonometrijskih formula. 00. FF cos x sin x

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

DISKRETNA MATEMATIKA - PREDAVANJE 7 - Jovanka Pantović

DISKRETNA MATEMATIKA - PREDAVANJE 7 - Jovanka Pantović DISKRETNA MATEMATIKA - PREDAVANJE 7 - Jovanka Pantović Novi Sad April 17, 2018 1 / 22 Teorija grafova April 17, 2018 2 / 22 Definicija Graf je ure dena trojka G = (V, G, ψ), gde je (i) V konačan skup čvorova,

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

Operacije s matricama

Operacije s matricama Linearna algebra I Operacije s matricama Korolar 3.1.5. Množenje matrica u vektorskom prostoru M n (F) ima sljedeća svojstva: (1) A(B + C) = AB + AC, A, B, C M n (F); (2) (A + B)C = AC + BC, A, B, C M

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

III VEŽBA: FURIJEOVI REDOVI

III VEŽBA: FURIJEOVI REDOVI III VEŽBA: URIJEOVI REDOVI 3.1. eorijska osnova Posmatrajmo neki vremenski kontinualan signal x(t) na intervalu definisati: t + t t. ada se može X [ k ] = 1 t + t x ( t ) e j 2 π kf t dt, gde je f = 1/.

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

Matematka 1 Zadaci za drugi kolokvijum

Matematka 1 Zadaci za drugi kolokvijum Matematka Zadaci za drugi kolokvijum 8 Limesi funkcija i neprekidnost 8.. Dokazati po definiciji + + = + = ( ) = + ln( ) = + 8.. Odrediti levi i desni es funkcije u datoj tački f() = sgn, = g() =, = h()

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

Ispitivanje toka i skiciranje grafika funkcija

Ispitivanje toka i skiciranje grafika funkcija Ispitivanje toka i skiciranje grafika funkcija Za skiciranje grafika funkcije potrebno je ispitati svako od sledećih svojstava: Oblast definisanosti: D f = { R f R}. Parnost, neparnost, periodičnost. 3

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

Računarska grafika. Rasterizacija linije

Računarska grafika. Rasterizacija linije Računarska grafika Osnovni inkrementalni algoritam Drugi naziv u literaturi digitalni diferencijalni analizator (DDA) Pretpostavke (privremena ograničenja koja se mogu otkloniti jednostavnim uopštavanjem

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

MATERIJAL ZA VEŽBE. Nastavnik: prof. dr Nataša Sladoje-Matić. Asistent: dr Tibor Lukić. Godina: 2012

MATERIJAL ZA VEŽBE. Nastavnik: prof. dr Nataša Sladoje-Matić. Asistent: dr Tibor Lukić. Godina: 2012 MATERIJAL ZA VEŽBE Predmet: MATEMATIČKA ANALIZA Nastavnik: prof. dr Nataša Sladoje-Matić Asistent: dr Tibor Lukić Godina: 202 . Odrediti domen funkcije f ako je a) f(x) = x2 + x x(x 2) b) f(x) = sin(ln(x

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

Kontrolni zadatak (Tačka, prava, ravan, diedar, poliedar, ortogonalna projekcija), grupa A

Kontrolni zadatak (Tačka, prava, ravan, diedar, poliedar, ortogonalna projekcija), grupa A Kontrolni zadatak (Tačka, prava, ravan, diedar, poliedar, ortogonalna projekcija), grupa A Ime i prezime: 1. Prikazane su tačke A, B i C i prave a,b i c. Upiši simbole Î, Ï, Ì ili Ë tako da dobijeni iskazi

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

Algoritmi i strukture podataka - 1.cas

Algoritmi i strukture podataka - 1.cas Algoritmi i strukture podataka - 1.cas Aleksandar Veljković October 2016 Materijali su zasnovani na materijalima Mirka Stojadinovića 1 Složenost algoritama Približna procena vremena ili prostora potrebnog

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

OBRTNA TELA. Vladimir Marinkov OBRTNA TELA VALJAK

OBRTNA TELA. Vladimir Marinkov OBRTNA TELA VALJAK OBRTNA TELA VALJAK P = 2B + M B = r 2 π M = 2rπH V = BH 1. Zapremina pravog valjka je 240π, a njegova visina 15. Izračunati površinu valjka. Rešenje: P = 152π 2. Površina valjka je 112π, a odnos poluprečnika

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

( ) ( ) 2 UNIVERZITET U ZENICI POLITEHNIČKI FAKULTET. Zadaci za pripremu polaganja kvalifikacionog ispita iz Matematike. 1. Riješiti jednačine: 4

( ) ( ) 2 UNIVERZITET U ZENICI POLITEHNIČKI FAKULTET. Zadaci za pripremu polaganja kvalifikacionog ispita iz Matematike. 1. Riješiti jednačine: 4 UNIVERZITET U ZENICI POLITEHNIČKI FAKULTET Riješiti jednačine: a) 5 = b) ( ) 3 = c) + 3+ = 7 log3 č) = 8 + 5 ć) sin cos = d) 5cos 6cos + 3 = dž) = đ) + = 3 e) 6 log + log + log = 7 f) ( ) ( ) g) ( ) log

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

Osnovne teoreme diferencijalnog računa

Osnovne teoreme diferencijalnog računa Osnovne teoreme diferencijalnog računa Teorema Rolova) Neka je funkcija f definisana na [a, b], pri čemu važi f je neprekidna na [a, b], f je diferencijabilna na a, b) i fa) fb). Tada postoji ξ a, b) tako

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

Prvi kolokvijum. y 4 dy = 0. Drugi kolokvijum. Treći kolokvijum

Prvi kolokvijum. y 4 dy = 0. Drugi kolokvijum. Treći kolokvijum 27. septembar 205.. Izračunati neodredjeni integral cos 3 x (sin 2 x 4)(sin 2 x + 3). 2. Izračunati zapreminu tela koje nastaje rotacijom dela površi ograničene krivama y = 3 x 2, y = x + oko x ose. 3.

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

M086 LA 1 M106 GRP. Tema: Baza vektorskog prostora. Koordinatni sustav. Norma. CSB nejednakost

M086 LA 1 M106 GRP. Tema: Baza vektorskog prostora. Koordinatni sustav. Norma. CSB nejednakost M086 LA 1 M106 GRP Tema: CSB nejednakost. 19. 10. 2017. predavač: Rudolf Scitovski, Darija Marković asistent: Darija Brajković, Katarina Vincetić P 1 www.fizika.unios.hr/grpua/ 1 Baza vektorskog prostora.

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

DRUGI KOLOKVIJUM IZ MATEMATIKE 9x + 6y + z = 1 4x 2y + z = 1 x + 2y + 3z = 2. je neprekidna za a =

DRUGI KOLOKVIJUM IZ MATEMATIKE 9x + 6y + z = 1 4x 2y + z = 1 x + 2y + 3z = 2. je neprekidna za a = x, y, z) 2 2 1 2. Rešiti jednačinu: 2 3 1 1 2 x = 1. x = 3. Odrediti rang matrice: rang 9x + 6y + z = 1 4x 2y + z = 1 x + 2y + 3z = 2. 2 0 1 1 1 3 1 5 2 8 14 10 3 11 13 15 = 4. Neka je A = x x N x < 7},

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

PRAVA. Prava je u prostoru određena jednom svojom tačkom i vektorom paralelnim sa tom pravom ( vektor paralelnosti).

PRAVA. Prava je u prostoru određena jednom svojom tačkom i vektorom paralelnim sa tom pravom ( vektor paralelnosti). PRAVA Prava je kao i ravan osnovni geometrijski ojam i ne definiše se. Prava je u rostoru određena jednom svojom tačkom i vektorom aralelnim sa tom ravom ( vektor aralelnosti). M ( x, y, z ) 3 Posmatrajmo

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

5. Karakteristične funkcije

5. Karakteristične funkcije 5. Karakteristične funkcije Profesor Milan Merkle emerkle@etf.rs milanmerkle.etf.rs Verovatnoća i Statistika-proleće 2018 Milan Merkle Karakteristične funkcije ETF Beograd 1 / 10 Definicija Karakteristična

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

XI dvoqas veжbi dr Vladimir Balti. 4. Stabla

XI dvoqas veжbi dr Vladimir Balti. 4. Stabla XI dvoqas veжbi dr Vladimir Balti 4. Stabla Teorijski uvod Teorijski uvod Definicija 5.7.1. Stablo je povezan graf bez kontura. Definicija 5.7.1. Stablo je povezan graf bez kontura. Primer 5.7.1. Sva stabla

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

numeričkih deskriptivnih mera.

numeričkih deskriptivnih mera. DESKRIPTIVNA STATISTIKA Numeričku seriju podataka opisujemo pomoću Numeričku seriju podataka opisujemo pomoću numeričkih deskriptivnih mera. Pokazatelji centralne tendencije Aritmetička sredina, Medijana,

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

for <brojacka_promenljiva> := <pocetna_vrednost> to <krajnja_vrednost> do <naredba>

for <brojacka_promenljiva> := <pocetna_vrednost> to <krajnja_vrednost> do <naredba> Naredbe ponavljanja U većini programa se javljaju situacije kada je potrebno neku naredbu ili grupu naredbi izvršiti više puta. Ukoliko je naredbu potrebno izvršiti konačan i mali broj puta, problem je

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

NUMERIČKI METODI I PROGRAMIRANJE. I Aritmetičke operacije, izrazi i simbolička izračunavanja u Mathematici.

NUMERIČKI METODI I PROGRAMIRANJE. I Aritmetičke operacije, izrazi i simbolička izračunavanja u Mathematici. NUMERIČKI METODI I PROGRAMIRANJE I Aritmetičke operacije, izrazi i simbolička izračunavanja u Mathematici. 1. Izračunati u Mathematici izraze: a) 1 2 + 1 3 + + 1 9 b) 2 40 + 3 50 c) 1+ 2 2 ; e π 163 ;

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

IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f

IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f 2. Nule i znak funkcije; presek sa y-osom IspitivaƬe

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

Računarska grafika. Rasterizacija linije

Računarska grafika. Rasterizacija linije Računarska grafika Osnovni inkrementalni algoritam Drugi naziv u literaturi digitalni diferencijalni analizator (DDA) Pretpostavke (privremena ograničenja koja se mogu otkloniti jednostavnim uopštavanjem

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

Zadaci iz trigonometrije za seminar

Zadaci iz trigonometrije za seminar Zadaci iz trigonometrije za seminar FON: 1. Vrednost izraza sin 1 cos 6 jednaka je: ; B) 1 ; V) 1 1 + 1 ; G) ; D). 16. Broj rexea jednaqine sin x cos x + cos x = sin x + sin x na intervalu π ), π je: ;

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

Strukture podataka i algoritmi 1. kolokvij 16. studenog Zadatak 1

Strukture podataka i algoritmi 1. kolokvij 16. studenog Zadatak 1 Strukture podataka i algoritmi 1. kolokvij Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i službeni šalabahter. Predajete samo papire koje ste dobili. Rezultati i uvid u kolokvije: ponedjeljak,

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

Verovatnoća i Statistika I deo Teorija verovatnoće (zadaci) Beleške dr Bobana Marinkovića

Verovatnoća i Statistika I deo Teorija verovatnoće (zadaci) Beleške dr Bobana Marinkovića Verovatnoća i Statistika I deo Teorija verovatnoće zadaci Beleške dr Bobana Marinkovića Iz skupa, 2,, 00} bira se na slučajan način 5 brojeva Odrediti skup elementarnih dogadjaja ako se brojevi biraju

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

IZVODI ZADACI ( IV deo) Rešenje: Najpre ćemo logaritmovati ovu jednakost sa ln ( to beše prirodni logaritam za osnovu e) a zatim ćemo

IZVODI ZADACI ( IV deo) Rešenje: Najpre ćemo logaritmovati ovu jednakost sa ln ( to beše prirodni logaritam za osnovu e) a zatim ćemo IZVODI ZADACI ( IV deo) LOGARITAMSKI IZVOD Logariamskim izvodom funkcije f(), gde je >0 i, nazivamo izvod logarima e funkcije, o jes: (ln ) f ( ) f ( ) Primer. Nadji izvod funkcije Najpre ćemo logarimovai

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

Inženjerska grafika geometrijskih oblika (5. predavanje, tema1)

Inženjerska grafika geometrijskih oblika (5. predavanje, tema1) Inženjerska grafika geometrijskih oblika (5. predavanje, tema1) Prva godina studija Mašinskog fakulteta u Nišu Predavač: Dr Predrag Rajković Mart 19, 2013 5. predavanje, tema 1 Simetrija (Symmetry) Simetrija

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

ELEKTROTEHNIČKI ODJEL

ELEKTROTEHNIČKI ODJEL MATEMATIKA. Neka je S skup svih živućih državljana Republike Hrvatske..04., a f preslikavanje koje svakom elementu skupa S pridružuje njegov horoskopski znak (bez podznaka). a) Pokažite da je f funkcija,

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

Ispit održan dana i tačka A ( 3,3, 4 ) x x + 1

Ispit održan dana i tačka A ( 3,3, 4 ) x x + 1 Ispit održan dana 9 0 009 Naći sve vrijednosti korjena 4 z ako je ( ) 8 y+ z Data je prava a : = = kroz tačku A i okomita je na pravu a z = + i i tačka A (,, 4 ) Naći jednačinu prave b koja prolazi ( +

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

( , 2. kolokvij)

( , 2. kolokvij) A MATEMATIKA (0..20., 2. kolokvij). Zadana je funkcija y = cos 3 () 2e 2. (a) Odredite dy. (b) Koliki je nagib grafa te funkcije za = 0. (a) zadanu implicitno s 3 + 2 y = sin y, (b) zadanu parametarski

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

IZVODI ZADACI (I deo)

IZVODI ZADACI (I deo) IZVODI ZADACI (I deo) Najpre da se podsetimo tablice i osnovnih pravila:. C`=0. `=. ( )`= 4. ( n )`=n n-. (a )`=a lna 6. (e )`=e 7. (log a )`= 8. (ln)`= ` ln a (>0) 9. = ( 0) 0. `= (>0) (ovde je >0 i a

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

KOMUTATIVNI I ASOCIJATIVNI GRUPOIDI. NEUTRALNI ELEMENT GRUPOIDA.

KOMUTATIVNI I ASOCIJATIVNI GRUPOIDI. NEUTRALNI ELEMENT GRUPOIDA. KOMUTATIVNI I ASOCIJATIVNI GRUPOIDI NEUTRALNI ELEMENT GRUPOIDA 1 Grupoid (G, ) je asocijativa akko važi ( x, y, z G) x (y z) = (x y) z Grupoid (G, ) je komutativa akko važi ( x, y G) x y = y x Asocijativa

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

5 Ispitivanje funkcija

5 Ispitivanje funkcija 5 Ispitivanje funkcija 3 5 Ispitivanje funkcija Ispitivanje funkcije pretodi crtanju grafika funkcije. Opšti postupak ispitivanja funkcija koje su definisane eksplicitno y = f() sadrži sledeće elemente:

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

MATEMATIKA 2. Grupa 1 Rexea zadataka. Prvi pismeni kolokvijum, Dragan ori

MATEMATIKA 2. Grupa 1 Rexea zadataka. Prvi pismeni kolokvijum, Dragan ori MATEMATIKA 2 Prvi pismeni kolokvijum, 14.4.2016 Grupa 1 Rexea zadataka Dragan ori Zadaci i rexea 1. unkcija f : R 2 R definisana je sa xy 2 f(x, y) = x2 + y sin 3 2 x 2, (x, y) (0, 0) + y2 0, (x, y) =

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

OSNOVI ELEKTRONIKE VEŽBA BROJ 1 OSNOVNA KOLA SA DIODAMA

OSNOVI ELEKTRONIKE VEŽBA BROJ 1 OSNOVNA KOLA SA DIODAMA ELEKTROTEHNIČKI FAKULTET U BEOGRADU KATEDRA ZA ELEKTRONIKU OSNOVI ELEKTRONIKE SVI ODSECI OSIM ODSEKA ZA ELEKTRONIKU LABORATORIJSKE VEŽBE VEŽBA BROJ 1 OSNOVNA KOLA SA DIODAMA Autori: Goran Savić i Milan

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

Univerzitet u Nišu Građevinsko-arhitektonski fakultet. Konstante, promenljive, identifikatori, operatori Biblioteka funkcija Milica Ćirić

Univerzitet u Nišu Građevinsko-arhitektonski fakultet. Konstante, promenljive, identifikatori, operatori Biblioteka funkcija Milica Ćirić Univerzitet u Nišu Građevinsko-arhitektonski fakultet Informatika 2 Mathematica Konstante, promenljive, identifikatori, operatori Biblioteka funkcija Milica Ćirić Mathematica Programski paket Mathematica

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

Apsolutno neprekidne raspodele Raspodele apsolutno neprekidnih sluqajnih promenljivih nazivaju se apsolutno neprekidnim raspodelama.

Apsolutno neprekidne raspodele Raspodele apsolutno neprekidnih sluqajnih promenljivih nazivaju se apsolutno neprekidnim raspodelama. Apsolutno neprekidne raspodele Raspodele apsolutno neprekidnih sluqajnih promenljivih nazivaju se apsolutno neprekidnim raspodelama. a b Verovatno a da sluqajna promenljiva X uzima vrednost iz intervala

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

- pravac n je zadan s točkom T(2,0) i koeficijentom smjera k=2. (30 bodova)

- pravac n je zadan s točkom T(2,0) i koeficijentom smjera k=2. (30 bodova) MEHANIKA 1 1. KOLOKVIJ 04/2008. grupa I 1. Zadane su dvije sile F i. Sila F = 4i + 6j [ N]. Sila je zadana s veličinom = i leži na pravcu koji s koordinatnom osi x zatvara kut od 30 (sve komponente sile

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

1 UPUTSTVO ZA IZRADU GRAFIČKOG RADA IZ MEHANIKE II

1 UPUTSTVO ZA IZRADU GRAFIČKOG RADA IZ MEHANIKE II 1 UPUTSTVO ZA IZRADU GRAFIČKOG RADA IZ MEHANIKE II Zadatak: Klipni mehanizam se sastoji iz krivaje (ekscentarske poluge) OA dužine R, klipne poluge AB dužine =3R i klipa kompresora B (ukrsne glave). Krivaja

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

Zadatak 1 Dokazati da simetrala ugla u trouglu deli naspramnu stranu u odnosu susednih strana.

Zadatak 1 Dokazati da simetrala ugla u trouglu deli naspramnu stranu u odnosu susednih strana. Zadatak 1 Dokazati da simetrala ugla u trouglu deli naspramnu stranu u odnosu susednih strana. Zadatak 2 Dokazati da se visine trougla seku u jednoj tački ortocentar. 1 Dvostruki vektorski proizvod Važi

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

STATIČKE KARAKTERISTIKE DIODA I TRANZISTORA

STATIČKE KARAKTERISTIKE DIODA I TRANZISTORA Katedra za elektroniku Elementi elektronike Laboratorijske vežbe Vežba br. 2 STATIČKE KARAKTERISTIKE DIODA I TRANZISTORA Datum: Vreme: Studenti: 1. grupa 2. grupa Dežurni: Ocena: Elementi elektronike -

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

Fakultet tehničkih nauka, Softverske i informacione tehnologije, Matematika 2 KOLOKVIJUM 1. Prezime, ime, br. indeksa:

Fakultet tehničkih nauka, Softverske i informacione tehnologije, Matematika 2 KOLOKVIJUM 1. Prezime, ime, br. indeksa: Fakultet tehničkih nauka, Softverske i informacione tehnologije, Matematika KOLOKVIJUM 1 Prezime, ime, br. indeksa: 4.7.1 PREDISPITNE OBAVEZE sin + 1 1) lim = ) lim = 3) lim e + ) = + 3 Zaokružiti tačne

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

Dijagonalizacija operatora

Dijagonalizacija operatora Dijagonalizacija operatora Problem: Može li se odrediti baza u kojoj zadani operator ima dijagonalnu matricu? Ova problem je povezan sa sljedećim pojmovima: 1 Karakteristični polinom operatora f 2 Vlastite

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

2 tg x ctg x 1 = =, cos 2x Zbog četvrtog kvadranta rješenje je: 2 ctg x

2 tg x ctg x 1 = =, cos 2x Zbog četvrtog kvadranta rješenje je: 2 ctg x Zadatak (Darjan, medicinska škola) Izračunaj vrijednosti trigonometrijskih funkcija broja ako je 6 sin =,,. 6 Rješenje Ponovimo trigonometrijske funkcije dvostrukog kuta! Za argument vrijede sljedeće formule:

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

Matematika 1 - vježbe. 11. prosinca 2015.

Matematika 1 - vježbe. 11. prosinca 2015. Matematika - vježbe. prosinca 5. Stupnjevi i radijani Ako je kut φ jednak i rad, tada je veza između i 6 = Zadatak.. Izrazite u stupnjevima: a) 5 b) 7 9 c). d) 7. a) 5 9 b) 7 6 6 = = 5 c). 6 8.5 d) 7.

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

Zadatak 2 Odrediti tačke grananja, Riemann-ovu površ, opisati sve grane funkcije f(z) = z 3 z 4 i objasniti prelazak sa jedne na drugu granu.

Zadatak 2 Odrediti tačke grananja, Riemann-ovu površ, opisati sve grane funkcije f(z) = z 3 z 4 i objasniti prelazak sa jedne na drugu granu. Kompleksna analiza Zadatak Odrediti tačke grananja, Riemann-ovu površ, opisati sve grane funkcije f(z) = z z 4 i objasniti prelazak sa jedne na drugu granu. Zadatak Odrediti tačke grananja, Riemann-ovu

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

1. zadatak , 3 Dakle, sva kompleksna re{ewa date jedna~ine su x 1 = x 2 = 1 (dvostruko re{ewe), x 3 = 1 + i

1. zadatak , 3 Dakle, sva kompleksna re{ewa date jedna~ine su x 1 = x 2 = 1 (dvostruko re{ewe), x 3 = 1 + i PRIPREMA ZA II PISMENI IZ ANALIZE SA ALGEBROM. zadatak Re{avawe algebarskih jedna~ina tre}eg i ~etvrtog stepena. U skupu kompleksnih brojeva re{iti jedna~inu: a x 6x + 9 = 0; b x + 9x 2 + 8x + 28 = 0;

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

Iskazna logika 3. Matematička logika u računarstvu. novembar 2012

Iskazna logika 3. Matematička logika u računarstvu. novembar 2012 Iskazna logika 3 Matematička logika u računarstvu Department of Mathematics and Informatics, Faculty of Science,, Serbia novembar 2012 Deduktivni sistemi 1 Definicija Deduktivni sistem (ili formalna teorija)

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

Cauchyjev teorem. Postoji više dokaza ovog teorema, a najjednostvniji je uz pomoć Greenove formule: dxdy. int C i Cauchy Riemannovih uvjeta.

Cauchyjev teorem. Postoji više dokaza ovog teorema, a najjednostvniji je uz pomoć Greenove formule: dxdy. int C i Cauchy Riemannovih uvjeta. auchyjev teorem Neka je f-ja f (z) analitička u jednostruko (prosto) povezanoj oblasti G, i neka je zatvorena kontura koja čitava leži u toj oblasti. Tada je f (z)dz = 0. Postoji više dokaza ovog teorema,

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

I Pismeni ispit iz matematike 1 I

I Pismeni ispit iz matematike 1 I I Pismeni ispit iz matematike I 27 januar 2 I grupa (25 poena) str: Neka je A {(x, y, z): x, y, z R, x, x y, z > } i ako je operacija definisana sa (x, y, z) (u, v, w) (xu + vy, xv + uy, wz) Ispitati da

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

Prvi pismeni zadatak iz Analize sa algebrom novembar Ispitati znak funkcije f(x) = tgx x x3. 2. Naći graničnu vrednost lim x a

Prvi pismeni zadatak iz Analize sa algebrom novembar Ispitati znak funkcije f(x) = tgx x x3. 2. Naći graničnu vrednost lim x a Testovi iz Analize sa algebrom 4 septembar - oktobar 009 Ponavljanje izvoda iz razreda (f(x) = x x ) Ispitivanje uslova Rolove teoreme Ispitivanje granične vrednosti f-je pomoću Lopitalovog pravila 4 Razvoj

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

Univerzitet u Nišu, Prirodno-matematički fakultet Prijemni ispit za upis OAS Matematika

Univerzitet u Nišu, Prirodno-matematički fakultet Prijemni ispit za upis OAS Matematika Univerzitet u Nišu, Prirodno-matematički fakultet Prijemni ispit za upis OAS Matematika Rešenja. Matematičkom indukcijom dokazati da za svaki prirodan broj n važi jednakost: + 5 + + (n )(n + ) = n n +.

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

18. listopada listopada / 13

18. listopada listopada / 13 18. listopada 2016. 18. listopada 2016. 1 / 13 Neprekidne funkcije Važnu klasu funkcija tvore neprekidne funkcije. To su funkcije f kod kojih mala promjena u nezavisnoj varijabli x uzrokuje malu promjenu

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

Sortiranje prebrajanjem (Counting sort) i Radix Sort

Sortiranje prebrajanjem (Counting sort) i Radix Sort Sortiranje prebrajanjem (Counting sort) i Radix Sort 15. siječnja 2016. Ante Mijoč Uvod Teorem Ako je f(n) broj usporedbi u algoritmu za sortiranje temeljenom na usporedbama (eng. comparison-based sorting

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

Glava 1. Realne funkcije realne promen ive. 1.1 Elementarne funkcije

Glava 1. Realne funkcije realne promen ive. 1.1 Elementarne funkcije Glava 1 Realne funkcije realne promen ive 1.1 Elementarne funkcije Neka su dati skupovi X i Y. Ukoliko svakom elementu skupa X po nekom pravilu pridruimo neki, potpuno odreeni, element skupa Y kaemo da

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

(P.I.) PRETPOSTAVKA INDUKCIJE - pretpostavimo da tvrdnja vrijedi za n = k.

(P.I.) PRETPOSTAVKA INDUKCIJE - pretpostavimo da tvrdnja vrijedi za n = k. 1 3 Skupovi brojeva 3.1 Skup prirodnih brojeva - N N = {1, 2, 3,...} Aksiom matematičke indukcije Neka je N skup prirodnih brojeva i M podskup od N. Ako za M vrijede svojstva: 1) 1 M 2) n M (n + 1) M,

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

( , treći kolokvij) 3. Na dite lokalne ekstreme funkcije z = x 4 + y 4 2x 2 + 2y 2 3. (20 bodova)

( , treći kolokvij) 3. Na dite lokalne ekstreme funkcije z = x 4 + y 4 2x 2 + 2y 2 3. (20 bodova) A MATEMATIKA (.6.., treći kolokvij. Zadana je funkcija z = e + + sin(. Izračunajte a z (,, b z (,, c z.. Za funkciju z = 3 + na dite a diferencijal dz, b dz u točki T(, za priraste d =. i d =.. c Za koliko

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

IZRAČUNAVANJE POKAZATELJA NAČINA RADA NAČINA RADA (ISKORIŠĆENOSTI KAPACITETA, STEPENA OTVORENOSTI RADNIH MESTA I NIVOA ORGANIZOVANOSTI)

IZRAČUNAVANJE POKAZATELJA NAČINA RADA NAČINA RADA (ISKORIŠĆENOSTI KAPACITETA, STEPENA OTVORENOSTI RADNIH MESTA I NIVOA ORGANIZOVANOSTI) IZRAČUNAVANJE POKAZATELJA NAČINA RADA NAČINA RADA (ISKORIŠĆENOSTI KAPACITETA, STEPENA OTVORENOSTI RADNIH MESTA I NIVOA ORGANIZOVANOSTI) Izračunavanje pokazatelja načina rada OTVORENOG RM RASPOLOŽIVO RADNO

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

Sistemi veštačke inteligencije primer 1

Sistemi veštačke inteligencije primer 1 Sistemi veštačke inteligencije primer 1 1. Na jeziku predikatskog računa formalizovati rečenice: a) Miloš je slikar. b) Sava nije slikar. c) Svi slikari su umetnici. Uz pomoć metode rezolucije dokazati

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

radni nerecenzirani materijal za predavanja

radni nerecenzirani materijal za predavanja Matematika 1 Funkcije radni nerecenzirani materijal za predavanja Definicija 1. Kažemo da je funkcija f : a, b R u točki x 0 a, b postiže lokalni minimum ako postoji okolina O(x 0 ) broja x 0 takva da je

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

PARCIJALNI IZVODI I DIFERENCIJALI. Sama definicija parcijalnog izvoda i diferencijala je malo teža, mi se njome ovde nećemo baviti a vi ćete je,

PARCIJALNI IZVODI I DIFERENCIJALI. Sama definicija parcijalnog izvoda i diferencijala je malo teža, mi se njome ovde nećemo baviti a vi ćete je, PARCIJALNI IZVODI I DIFERENCIJALI Sama definicija parcijalnog ivoda i diferencijala je malo teža, mi se njome ovde nećemo baviti a vi ćete je, naravno, naučiti onako kako vaš profesor ahteva. Mi ćemo probati

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

1. Pojam fazi skupa. 2. Pojam fazi skupa. 3. Funkcija pripadnosti, osobine i oblici. 4. Funkcija pripadnosti, osobine i oblici

1. Pojam fazi skupa. 2. Pojam fazi skupa. 3. Funkcija pripadnosti, osobine i oblici. 4. Funkcija pripadnosti, osobine i oblici Meko računarstvo Student: Indeks:. Poja fazi skupa. Vrednost fazi funkcije pripadnosti je iz skupa/opsega: a) {0, b) R c) N d) N 0 e) [0, ] f) [-, ] 2. Poja fazi skupa 2. Na slici je prikazan grafik: a)

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

2log. se zove numerus (logaritmand), je osnova (baza) log. log. log =

2log. se zove numerus (logaritmand), je osnova (baza) log. log. log = ( > 0, 0)!" # > 0 je najčešći uslov koji postavljamo a još je,, > 0 se zove numerus (aritmand), je osnova (baza). 0.. ( ) +... 7.. 8. Za prelazak na neku novu bazu c: 9. Ako je baza (osnova) 0 takvi se

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

Prediktor-korektor metodi

Prediktor-korektor metodi Prediktor-korektor metodi Prilikom numeričkog rešavanja primenom KP: x = fx,, x 0 = 0, x 0 x b LVM α j = h β j f n = 0, 1, 2,..., N, javlja se kompromis izmed u eksplicitnih metoda, koji su lakši za primenu

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

RIJEŠENI ZADACI I TEORIJA IZ

RIJEŠENI ZADACI I TEORIJA IZ RIJEŠENI ZADACI I TEORIJA IZ LOGARITAMSKA FUNKCIJA SVOJSTVA LOGARITAMSKE FUNKCIJE OSNOVE TRIGONOMETRIJE PRAVOKUTNOG TROKUTA - DEFINICIJA TRIGONOMETRIJSKIH FUNKCIJA - VRIJEDNOSTI TRIGONOMETRIJSKIH FUNKCIJA

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

APROKSIMACIJA FUNKCIJA

APROKSIMACIJA FUNKCIJA APROKSIMACIJA FUNKCIJA Osnovni koncepti Gradimir V. Milovanović MF, Beograd, 14. mart 2011. APROKSIMACIJA FUNKCIJA p.1/46 Osnovni problem u TA Kako za datu funkciju f iz velikog prostora X naći jednostavnu

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

4.7. Zadaci Formalizam diferenciranja (teorija na stranama ) 343. Znajući izvod funkcije x arctg x, odrediti izvod funkcije x arcctg x.

4.7. Zadaci Formalizam diferenciranja (teorija na stranama ) 343. Znajući izvod funkcije x arctg x, odrediti izvod funkcije x arcctg x. 4.7. ZADACI 87 4.7. Zadaci 4.7.. Formalizam diferenciranja teorija na stranama 4-46) 340. Znajući izvod funkcije arcsin, odrediti izvod funkcije arccos. Rešenje. Polazeći od jednakosti arcsin + arccos

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

7 Algebarske jednadžbe

7 Algebarske jednadžbe 7 Algebarske jednadžbe 7.1 Nultočke polinoma Skup svih polinoma nad skupom kompleksnih brojeva označavamo sa C[x]. Definicija. Nultočka polinoma f C[x] je svaki kompleksni broj α takav da je f(α) = 0.

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

radni nerecenzirani materijal za predavanja R(f) = {f(x) x D}

radni nerecenzirani materijal za predavanja R(f) = {f(x) x D} Matematika 1 Funkcije radni nerecenzirani materijal za predavanja Definicija 1. Neka su D i K bilo koja dva neprazna skupa. Postupak f koji svakom elementu x D pridružuje točno jedan element y K zovemo funkcija

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

Algoritmi i programiranje

Algoritmi i programiranje Univerzitet u Nišu Elektronski fakultet Algoritmi i programiranje zbirka rešenih zadataka na programskom jeziku C Grupa autora Univerzitet u Nišu Elektronski fakultet Leonid Stoimenov, Dragan Janković,

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

Trigonometrija 2. Adicijske formule. Formule dvostrukog kuta Formule polovičnog kuta Pretvaranje sume(razlike u produkt i obrnuto

Trigonometrija 2. Adicijske formule. Formule dvostrukog kuta Formule polovičnog kuta Pretvaranje sume(razlike u produkt i obrnuto Trigonometrija Adicijske formule Formule dvostrukog kuta Formule polovičnog kuta Pretvaranje sume(razlike u produkt i obrnuto Razumijevanje postupka izrade složenijeg matematičkog problema iz osnova trigonometrije

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

a M a A. Može se pokazati da je supremum (ako postoji) jedinstven pa uvodimo oznaku sup A.

a M a A. Može se pokazati da je supremum (ako postoji) jedinstven pa uvodimo oznaku sup A. 3 Infimum i supremum Definicija. Neka je A R. Kažemo da je M R supremum skupa A ako je (i) M gornja meda skupa A, tj. a M a A. (ii) M najmanja gornja meda skupa A, tj. ( ε > 0)( a A) takav da je a > M

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

Mašinsko učenje. Regresija.

Mašinsko učenje. Regresija. Mašinsko učenje. Regresija. Danijela Petrović May 17, 2016 Uvod Problem predviđanja vrednosti neprekidnog atributa neke instance na osnovu vrednosti njenih drugih atributa. Uvod Problem predviđanja vrednosti

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

INTELIGENTNO UPRAVLJANJE

INTELIGENTNO UPRAVLJANJE INTELIGENTNO UPRAVLJANJE Fuzzy sistemi zaključivanja Vanr.prof. Dr. Lejla Banjanović-Mehmedović Mehmedović 1 Osnovni elementi fuzzy sistema zaključivanja Fazifikacija Baza znanja Baze podataka Baze pravila

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

Funkcije dviju varjabli (zadaci za vježbu)

Funkcije dviju varjabli (zadaci za vježbu) Funkcije dviju varjabli (zadaci za vježbu) Vidosava Šimić 22. prosinca 2009. Domena funkcije dvije varijable Ako je zadano pridruživanje (x, y) z = f(x, y), onda se skup D = {(x, y) ; f(x, y) R} R 2 naziva

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

Riješeni zadaci: Nizovi realnih brojeva

Riješeni zadaci: Nizovi realnih brojeva Riješei zadaci: Nizovi realih brojeva Nizovi, aritmetički iz, geometrijski iz Fukciju a : N R azivamo beskoači) iz realih brojeva i ozačavamo s a 1, a,..., a,... ili a ), pri čemu je a = a). Aritmetički

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

1 Promjena baze vektora

1 Promjena baze vektora Promjena baze vektora Neka su dane dvije različite uredene baze u R n, označimo ih s A = (a, a,, a n i B = (b, b,, b n Svaki vektor v R n ima medusobno različite koordinatne zapise u bazama A i B Zapis

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

TRIGONOMETRIJSKE FUNKCIJE I I.1.

TRIGONOMETRIJSKE FUNKCIJE I I.1. TRIGONOMETRIJSKE FUNKCIJE I I Odredi na brojevnoj trigonometrijskoj kružnici točku Et, za koju je sin t =,cost < 0 Za koje realne brojeve a postoji realan broj takav da je sin = a? Izračunaj: sin π tg

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

TRIGONOMETRIJA TROKUTA

TRIGONOMETRIJA TROKUTA TRIGONOMETRIJA TROKUTA Standardne oznake u trokutuu ABC: a, b, c stranice trokuta α, β, γ kutovi trokuta t,t,t v,v,v s α,s β,s γ R r s težišnice trokuta visine trokuta simetrale kutova polumjer opisane

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

Prikaz sustava u prostoru stanja

Prikaz sustava u prostoru stanja Prikaz sustava u prostoru stanja Prikaz sustava u prostoru stanja je jedan od načina prikaza matematičkog modela sustava (uz diferencijalnu jednadžbu, prijenosnu funkciju itd). Promatramo linearne sustave

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

Numerička matematika 2. kolokvij (1. srpnja 2009.)

Numerička matematika 2. kolokvij (1. srpnja 2009.) Numerička matematika 2. kolokvij (1. srpnja 29.) Zadatak 1 (1 bodova.) Teorijsko pitanje. (A) Neka je G R m n, uz m n, pravokutna matrica koja ima puni rang po stupcima, tj. rang(g) = n. (a) Napišite puni

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

I.13. Koliki je napon između neke tačke A čiji je potencijal 5 V i referentne tačke u odnosu na koju se taj potencijal računa?

I.13. Koliki je napon između neke tačke A čiji je potencijal 5 V i referentne tačke u odnosu na koju se taj potencijal računa? TET I.1. Šta je Kulonova sila? elektrostatička sila magnetna sila c) gravitaciona sila I.. Šta je elektrostatička sila? sila kojom međusobno eluju naelektrisanja u mirovanju sila kojom eluju naelektrisanja

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

8 Funkcije više promenljivih

8 Funkcije više promenljivih 8 Funkcije više promenljivih 78 8 Funkcije više promenljivih Neka je R skup realnih brojeva i X R n. Jednoznačno preslikavanje f : X R naziva se realna funkcija sa n nezavisno promenljivih čiji je domen

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

Riješeni zadaci: Limes funkcije. Neprekidnost

Riješeni zadaci: Limes funkcije. Neprekidnost Riješeni zadaci: Limes funkcije. Neprekidnost Limes funkcije Neka je 0 [a, b] i f : D R, gdje je D = [a, b] ili D = [a, b] \ { 0 }. Kažemo da je es funkcije f u točki 0 jednak L i pišemo f ) = L, ako za

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