







Studirajte zahvaljujući brojnim resursima koji su dostupni na Docsity-u
Zaradite bodove pomažući drugim studentima ili ih kupite uz Premium plan
Pripremite ispite
Studirajte zahvaljujući brojnim resursima koji su dostupni na Docsity-u
Nabavite poene za preuzimanje
Zaradite bodove pomažući drugim studentima ili ih kupite uz Premium plan
Poljoprivredni fakultet novi sad, agroekonomski smer i agroturisti smet
Tipologija: Skripte
1 / 13
Ova stranica nije vidljiva u pregledu
Ne propustite važne delove!








Informatika i računarstvo
Informatika i informatičko doba Domen interesovanja informatike:
Informacija i podatak Informacija = obrađeni podatak Informacija – znanje o određenim činjenicama, događajima i pojavama iz jednog dela stvarnosti. Podatak – reprezent informacije. Informacija – skup tako obrađenih i organizovanih činjenica da predstavljaju neko obaveštenje. Podaci postaju informacija u trenutku njihovog korišćenja. Informatika – nauka o sistematskoj obradi informacija korišćenjem računara.
Merenje količine informacija Binarni sistem (da ili ne). 1 MB ima 1024 x 1024 bajtova. 1 KB – 1024 bajtova
Diskretne informacije i podaci Kontinualne (neprekidne) i diskretne (prekidne) informacije. Kod – pravila koja se moraju poštovati prilikom koordinisanja informacijama. ASCII kod – precizno utvrđuje način korišćenja svih znakova koji su na raspolaganju čoveku za obraćanje računaru.
Brojni sistemi Vrednost broja zavisi od svih pozicija. Binarni brojni sistem – najzastupljeniji na našoj planeti. Pored binarnog postoje i oktalni (osnova 8), dekadni (osnova 10), heksadecimalni (osnova 16), veksagezimalni (osnova 60). Ukupno postoji n- brojnih sistema. Binarn je osnovni za računare, dekadni se koristi u svakodnevnom životu. Nepozicioni brojni sistem je rimski brojni sistem. Cifra uvek isto vredi bez obzira na kojem se mestu nalazi.
Optimalna baza je r = 2,71829 iliti Neperova konstanta.
Algoritmi Uređeni skup pravila koji primenjen na polazni skup podataka dovodi do traženih rezultata. Niz pravila koja definišu proces obrade. Konačan skup strogo formiranih pravila kojima je određen niz radnji za rešavanje određene vrste problema.
Broj izvršenih operacija ili algoritamskih koraka nije poznat unapred i ne mora biti jednak za različite ulazne podatke. Postupak definisan algoritmom može se ponoviti neograničen broj puta. Za korektne ulazne podatke, algoritam uvek daje korektan rezultat.
Osnovni zahtevi koji moraju biti ispunjeni pri izradi svakog algoritma mogu se sumirati na sl. način: Definisanost – svaki korak algoritma mora biti precizno i nedvosmisleno definisan. Zbog toga se najčešće koriste matematički iskazi ili programske naredbe sa strogo definisanom sintaksom. Konačnost – algoritam mora posedovati konačan broj koraka ili pravila i mora se okončati posle konačnog broja koraka. Efikasnost – algoritam mora da reši zadatak u najkraćem vremenu (najčešće), ili uz najmanje korišćenje resursa računara (npr. memorije ili procesorskog vremena). Najbolje je kada su oba zahteva ispunjena. Masovnost – algoritam treba da omogući masovnu primenu, što znači da može da reši bilo kakav zadatak iz iste klase. Drugim rečima, ako su korektno zadati bilo kakvi podaci, algoritam mora da proizvede korektan rezultat.
Rešavanje problema računaru podrazumeva, eksplicitno ili implicitno, realizaciju sl. aktivnosti: Definisanje problema – najčešće se radi o deskriptivnom definisanju problema koji treba rešiti na govornom jeziku. Opis treba da je što potpuniji sa svim bitnim pojedinostima, uslovima i stanjima. Analiza problema – osnovno je uočavanje problema i identifikacija bitnih faktora ili događaja koje treba kontrolisati. Zatim se postavlja cilj i definišu detalji (najčešće uslovi i ograničenja) pod kojima se problem rešava, odnosno ostvaruje cilj. Modeliranje – za problem se odabiraju pogodan pristup i instrumenti rešavanja. Problem se matematički ili na neki drugi način artikuliše, a rezultat aktivnosti je manje ili više stroga procedura rešavanja dobijenog apstraktnog modela problema. Izrada algoritma – definiše se svaki korak procedure, odnosno postupka, koji dovodi do rešenja ili željenog ponašanja. Izrada programa – algoritam se transformiše u kompjuterski program, odnosno vrši se kodiranje algoritamskih koraka u naredbe na odabranom programskom jeziku, poštujući sa jedne strane, redosled izvršavanja algoritamskih koraka, a sa druge gramatiku, sintaksu i semantiku programskog jezika. Prevođenje, testiranje i izvršenje programa – program se sa odgovarajućeg programskog jezika prevodi u računaru na na mašinski jezik, proveravaju se njegova konzistentnost, efikasnost i pouzdanost, a zatim se izvršava sa zadatim ulaznim podacima. Analiza rezultata – dobijeni rezultati se proveravaju. Ako su rezultati pogrešni ili nezadovoljavajuće dobri, ispituju se i utvrđuju mesta gde su nastali propusti: da li u analizi problema, modeliranju, izradi algoritma ili izradi programa? U skladu sa tim, po potrebi se postupak vraća na etapu u kojoj je uočen propust. Algoritam se može predstaviti govornim jezikom, grafički (blok – dijagramom), programskim jezikom i meta jezikom. Prirodni govorni jezik se koristi za opis jednostavnijih ili kraćih problema. Govorni jezik je uvek prisutan pri razjašnjavanju pojedinih koraka algoritma. Blok – dijagrami (dijagrami toka, organigrami) su najčešći vid predstavljanja algoritma. Ovaj grafički vid je najlakši za korišćenje i razumevanje zbog svoje očiglednosti i jedinstvenosti i nedvosmislenih simbola. Predstavljanje algoritma programskim jezikom, u stvari, znači kodiranje, tj. transformisanje algoritma u računarski program. Postupak je poznat pod nazivom programiranje. Kod većine profesionalnih programa ovaj način je dominirajući. Meta jezici se ređe koriste jer nisu standardizovani niti univerzalni. Predstavljaju kombinaciju programskih jezika i govornog jezika, sa elementima programskih struktura koje mogu biti deo nekog programskog jezika.
Linijske šeme
Podele programskih jezika
*Objektno orijentisani jezici – C++, Java, C#.
Viši programski jezici – problemski orijentisani jezici Fortran – prevodilac formula, strukturno programiranje. Basic – spada u grupu viših programskih jezika čiji naziv u slobodnom prevodu označava opšti simbolski programski kod za početnike, 60-tih u nastavne svrhe Pascal – struktuirani i proceduralni programski jezik C – omogućava da pristupimo registrima mikroprocesora, sistemsko programiranje Cobol – poslovne obrade podataka, pisanje komercijalnih programa
Ostali programski jezici Algol – imperativni, struktuirani programski jezik čije su verzije izlazile 50-ih i 60-ih godina prošlog veka. Dizajniran je da bi se izbegli neki problemi sa Fortranom. Tri glavne verzije su algol 58, algol 60 i algol 68. PL/1 – programski jezik prikladan za inženjerske i poslovne aplikacije. Unapredio je Fortranov nedostatak rada i baratanja sa nizovima i interakcije sa operativnim sistemom. Razvio ga je IBM. Logo – funkcijski programski jezik. Stvoren je za obrazovnu upotrebu. Služi za crtanje grafičkih figura i jednostavno programiranje. Ada – viši programski jezik dizajniran od strane Ministarstva odbrane SAD s ciljem da bude primarni programski jezik ovog minsitarstva. Bitno svojstvo je multitasking koji omogućava multiprogramiranje jednom korisniku tako što mu omogućava istovremeno izvršavanje većeg broja programa. Snobol – za obradu lista i znakovnih nizova. Napravljen u SAD-u. Smalltalk – objektno orijentisani, dinamički i reflektni programski jezik. Jedan njegov deo konstruisan je za edukativne svrhe ali većinskim delom za konstrukciono učenje. Podržava savremene stilove programiranja. Napravio ga Xerox 70-ih godina. Apl – barata višedimenzionalnim nizovima. Koristi veliki spektar grafičkih simbola za predstavljanje funkcija i operatora, što je dovelo do veoma konciznog koda. Imao je značajan uticaj na razvoj koncepta modeliranja, tabela, funkcionalnog programiranja. Potrebna je specijalna tastatura. Najviše se koristi za rešavanje matematičkih problema i edukativne svrhe.
Jezici veštačke inteligencije
LISP – omogućio da radimo preko lista. Postoji mašina pomoću koje dajemo komande na osnovu rečenica kompjuter donosi zaključke, mora se paziti da se ne zaključi pogrešno. Postoje još i MACLISP, Common LISP, INTERLISP. PROLOG – deklarativan programski jezik namenjen rešavanju zadataka simboličke prirode. U Prologu se opisuju objekti i relacije među njima. Pošto je akcenat na relacijama reč je o relacionom programskom jeziku.
Objektno orijentisani jezici Objektno orijentisano programiranje je novi pristup realizaciji problema kao modela realnog sveta. To je poseban način razmišljanja pri projektovanju programa. OOP sadrži nekoliko ključnih principa: klase i objekte, testove, poruke i nasleđivanje. OOP ima cilj da programski model bude što bliži realnom svetu. Klasno, struktualno, ne-objektno orijentisano programiranje se može nazvati „tradicionalnim“ programiranje. Klasa – „obrazac“, matrica, šablon za kreiranje objekta. Objektni jezik je zasnovan na klasama. Metod – sposobnost objekta da „nešto uradi“, sprovede u delo. Poruka – način komunikacije objekata. Nasleđivanje – prenošenje atributa klase i/ili operacija na objekat izveden iz te klase. Identifikacija objekata i postavljanje objekata koji se koristi u određenu sekvencu za rešavanje određenog problema Interakcija Objektno orijentisano rešavanje problema se sastoji iz 4 koraka:
Kompajlirani – C++, Java, Smalltalk, C# Interpreteri – Python, PHP, Basic
Organizacija podataka Informacija je obrađen podatak. Podatak je registrovana informacija. Posedovanje kvalitetne informacije je nužnost. Pojava i razvoj računara (automatska obrada podataka) suštinski nisu dovela do rešenja problema vezanih za organizaciju podataka. Računari su taj problem još više zaoštrili na planu hardvera - pojava i brz razvoj personalnih računara kao i na planu softvera – pojava savremenih programskih jezika i koncepcije baze podataka.
Entiteti i klase entiteta Entitet – ono šta posmatramo. Primaran zadatak automatizovanog informacionog sistema može se definisati kao prikupljanje, memorisanje, obrada, prenos i prezentiranje podataka o entitetima (osobama, događajima, objektima) različitih klasa nekog realnog (stvarnog) entiteta. Skup entiteta grupisanih po kriterijumu sličnosti čini klasu entiteta.
Po kriterijumu sličnosti formiramo klasu.
Obeležje i podatak Svi entiteti jedne klase poseduju odgovarajuće zajedničke osobine kao što su naziv, vrednost, trajanje. Za svako obeležje postoji skup svih mogućih vrednosti koje obeležje u konkretnom slučaju može imati.
Baze podataka – integrisanje dadoteka različitih aplikacija. Našla primenu kod personalnih računara (kada sačuvamo nešto npr. na Desktop, to je logička struktura, fizička nas ne zanima).
Tradicionalni pristup (aplikativni) Situacija u kojoj su pojedine aplikacije međusobno nezavisne tako da svaku pojedinačnu aplikaciju kreiraju i održavaju posebne datoteke sa svim potrebnim pdoacima (klasičan pristup). Postoje dve vrste datoteka:
Koncepcija baze podataka Izvršena interakcija podataka, a ne aplikativnih rezultata takve interakcije pute integrisanja datoteka različitih aplikacija nazvan je bazom podataka. Pravi se šema preko koje se pristupa programu (logička struktura obeležja). Admnistrator vodi računa da li ima dovoljno prostora. Dve vrste jezika za upis:
Logička nezavisnost znači da izmene šeme ne smeju uticati na izmene programa podšeme; šema i podšema predstavljaju modele realnog sistema. Prednsoti koncepcije baze podataka u odnosu na tradicionalni pristup: povezanost podataka, nezavisnost podataka, smanjeno dupliranje podataka, standardizacija, olakšan razvoj i održavanje.
Fizička nezavisnost označava zahtev da izmene u fizičkoj strukuri baze podataka ne dovode do izmene šeme, podšema i programa. Opis fizičke strukture baze podataka se naziva fizičkom (internom) šemom.
Relacioni model podataka Jedan prema jedan (1:1) – jedan student studira jedan fakultet Jedan prema više (1:n) – jedan profesor predaje više predmeta Više prema više (n:m) – student sluša više predmeta koje može slušati više studenata
SQL – jezik koji omogućava da jednostavnom rečenicom pitamo nešto i dobijemo podatak Access – baza podataka, za kućnu upotrebu
Softveri za upravljanje bazom podataka ODBC – omogućava da podatke sa jednog softvera za upravljanje bazom podataka prebacimo na drugi. Razvijen od strane Microsoft-a. Dbase, FoxPro, Visaul FoxPro, Paradox, Delphi, Power Builder, Oracle.
Digitalni računari Razvoj 50-ih godina XX veka. Razvoj računara zahteva puno para. 1971. prvi mikroprocesor, 1975. mikroračunar.
Korišćenje računara Svako izvšrenje programa izaziva sledeće karakteristične događaje:
Računari i ljudski mozak Gari Kasparov (šahista) izgubio od kompjutera pod nazivom „dip blu“ Program = skup instrukcija
Vrste računara – računar je u najširem smislu električno – mehanička mašina sa sledećim funkcionalnim svojstvima:
Analogni računar – rade kontinualno. Prednost – brži, što im omogućava da kontroliše procese brže od digitalnih. Hibridni računar – mešavina, uzimaju dobre karakteristike jednih i drugih Digitalni račuanr – mašina koja radi sa diskretnim ciframa i brojevima. Sve informacije se pretvaraju na precizno utvrđen način u nizove binarnih ciklusa, skladište se, obrađuju, na izlazu iz mašine informacije ponovo pretvaraju u konvencionalne znakove.
Postoje dva načina predstavljanja informacija – neprekidni i diskretni. Analogni računari su brži, digitalni su precizniji.
Hardver i softver digitalnih računara
Hardver – mašinski deo računara. Skup svih mehaničkih, elektronskih i električnih uređaja i opreme koji čine digitalni računar.
Delovi i organizacija hardvera:
Objedinjavanje aritmetičko – logičke jedinice i kontrolne jedinice se vrši u procesoru. Uvođenje nove jedinice – ulazno – izlazni procesor. Diferenciranje memorije na ultrabrzu, operativnu i masovnu.
Digitalni računar = centralni procesor + periferija.
Uslužni sofver (uslužni program) – komunikacija centralne jedinice računara i periferijske jedinice računara i obavlja testirne poslove u domenu ispitivanja stanja delova računara.
Programi emulatori – specijalni programi pomoću kojih se na jednom računaru vrši softverska okupacija drugog računara, perifernog uređaja i sl.
Asembleri, prevodioci, interpreteri programski sistemi za programiranje.
Staro doba računarstva HARDVARD MARK – 1944. prvi digitalni računar za sve namene Blez Paskal – kalkulator Leonardo Tores – programiranje Konrad Zuse – binarni sistem
Novo doba računarstva ENIAC – hardvardski univerzitet UNIVAC – cevna tehnologija – 1951 Tranzistori – 1948, II generacija 1959, III generacija 1964 – silicijumske ploče, IV generacija 1963 – integrisana kola, Intel 1971, V generacija 1971 – veće promene hardvera i softvera
Mejnfrejm računari – proizvođači IBM, Boroughs, Bull, CDC, DEC Superkompjuteri – Cray 1 (1901) – 160 mil. operacija po sekundi, ta brzina se izražava u flopsima, 0, Gflops Cray 2 (1963) – 6 puta brži, 1Gflops Cray Y – MP8 – 4 Gflops Siemens – S – 600 – 2,8 Gflops
Linearno programiranje Matematičko programiranje
Optimizacija – Optimizacija je deo matematičke oblasti Operaciona istraživanja a predstavlja postupak pronalaženja najboljeg rešenja uz poštovanje datih uslova. Optimalno rešenje se može tražiti raspoloživim
metodama optimizacije (linearno programiranje, nelinearno programiranje, celobrojno programiranje, dinamičko programiranje, transportni problemi, redovi čekanja, teorija igara, višekriterijumska optimizacija itd.) a koja će se metoda primeniti zavisi od problema koji se želi optimizirati.
Pojam programiranje – psotupak, procedura za određivanje matematičkog zadatka
Optimizacioni zadatak se svodi na traženje skupa vrednosti za ulazne veličine koji zadovoljava skup relacija ograničenja i daje „ekstremnim“ cilja.
Celobrojni program – celobrojni program je linearni program za koji važi dopunsko ograničenje da su sve ulazne promenljive celi brojevi.
Grafička metoda omogućava da se ograničenja i funkcija cilja nacrtaju i time se označava oblast dozvoljenih (mogućih) rešenja i jasno uočava tačka optimalnog rešenja. Nedostatak metode je:
Simpleks metoda
Koraci:
Simpleks metoda je optimizacioni matematički postupak koji prevazilazi nedostatke grafičkog metoda (broj promenljivih) već uvek daje optimalno rešenje. Postupak obuhvata:
Transportni problemi – nema šanse da pročitam :D
Primene digitalnih računara
Uloga računara u naučno – tehnološkim oblastima
Modeliranje – izgradnja fizičkog ili apstraktnog objekta u formi pomoću kojih se izučavaju svojstva realnih objekata, pojava, procesa.
Veštačka inteligencija
Područja primene programa veštačke inteligencije: