Upload
others
View
9
Download
0
Embed Size (px)
Citation preview
POJAM ALGORITMA
� Algoritam je precizno opisan postupakza rešavanje nekog problema.
� Obično je to spisak uputstava ili skuppravila kojima je, korak po korak, opisanpostupak za rešavanje zadatogproblema.
� Svaki korak algoritma, odnosno svakouputstvo iz spiska, mora da budedefinisana operacija.
POJAM ALGORITMA
� Algoritmi u računarstvu imaju veomaznačajnu ulogu.
� Postoji i posebna naučna disciplina kojase bavi problematikom algoritama -teorija algoritama.
� Algoritmi moraju da budu nedvosmislenii da završavaju u konačnom brojukoraka.
FAZE REŠAVANJA ZADATKAPRIMENOM RAČUNARA
1. Analiza, definicija i preciznaidentifikacija problema.
2. Globalni opis odgovarajućeg algoritma,3. Detaljna izrada algoritma.4. Pisanje programa za računar na
osnovu detaljnog algoritma.5. Testiranje programa na računaru.6. Izvođenje programa za rešavanje datog
zadatka.
SISTEMSKA ANALIZA
� Problematikom što preciznijegdefinisanja problema koje treba rešitiprimenom računara bavi se posebnagrana računarstva koja se nazivasistemska analiza.
ANALIZA, DEFINICIJA I PRECIZNAIDENTIFIKACIJA PROBLEMA
� Analiza, definicija i precizna identifikacijaproblema je veoma bitna fazaprogramiranja, mada joj se često neposvećuje dovoljna pažnja.
GLOBALNI OPIS I DETALJNA IZRADAALGORITMA
� Kada je dovoljno precizno obavljena ovafaza i kada su jasno sagledani zahteviprema računaru u rešavanju konkretnogproblema pristupa se globalnom opisualgoritma na osnovu čega se kasnijedetaljno izra]uje odovarajući algoritam.
PISANJE PROGRAMA
� Sistematičnost i postupnost su veomavažni kod izrade algoritma kako bikasnije pisanje programa bilo štojednostavnije.
TESTIRANJE PROGRAMA
� Kada se program napiše i unese uračunar sledi faza testiranja programa naračunaru.
� U toku ove faze uočavaju se i otklanjajueventualne greške ili pojedina lošaprogramska rešenja.
TESTIRANJE PROGRAMA
� Ova faza može da bude i dugotrajna, pačak i da nas vrati na prvu fazu ukoliko sepokaže da još u pripremnim radnjamanismo dovoljno dobro analizirali problemkoji treba da rešimo.
IZVOĐENJE PROGRAMA ZAREŠAVANJE DATOG ZADATKA
� Program može da se koristi sa pravimpodacima i za rešavanje praktičnihproblema zbog kojih je i napravljen tekkada se u fazi testiranja uverimo da jepouzdan.
� Prilikom izrade algoritama krajnji cilj jeuvek izrada programa za računar.
BLOK DIJAGRAMI
� Program, u stvari, predstavlja opisalgoritma u nekom programskom jeziku.
� Radi preglednosti često se algoritmipredstavljaju posebnim grafičkimsimbolima u obliku posebnog grafičkogprikaza poznatog pod imenom blok-dijagram.
ALGORITMI
Prema načinu izvršavanja instrukcijaalgoritmi mogu da budu:
� linearni,� ciklički,� granajući.
ALGORITMI
� U linearnim algoritmima se svakaoperacija izvršava samo jedanput.
� U cikličnim se neke operacije izvršavajuviše puta.
� U granajućim se neke operacijeizvršavaju u zavisnosti od ispunjenostiodre|enig uslova.
PROGRAMI, PROGRAMIRANJEI PROGRAMSKI JEZICI
� Programi su algoritmi opisani na načinkoji može da razume računar.
� Program je, dakle, niz instrukcija kojenalažu računaru šta da uradi i kako to daobavi.
�Čin stvaranja računarskog programanaziva se programiranje.
HARDVER I SOFTVER
� Da bi se određeni zadatak obavio naračunaru potrebni su računarski sistem iodgovarajući programi.
� Sve ono što je u vezi sa fizičkomrealizacijom računara naziva semašinska oprema ili hardver(hardware).
� Sve ono što je u vezi sa programimanazivamo programska oprema ilisoftver (software).
KOMUNIKACIJA ČOVEK-RAČUNAR
� Na koji način čovek i računarkomuniciraju kada znamo da računarirazumeju samo jezik binarnih jedinica inula ili kako se još naziva mašinskijezik i reaguju samo na binarneelektrične signale?
KOMUNIKACIJA ČOVEK-RAČUNAR
�Čoveku bi bilo najprikladnije kada bi saračunarom komunicirao na način koji jenajbliži međusobnom komuniciranju ljudi,koristeći prirodne jezike (engleski, srpskiitd.).
PROGRAMSKI JEZICI
� Da bi se premostile ove razlike ukomuniciranju između ljudi i računara -stvoreni su veštački jezici koji senazivaju programski jezici, kao što suFORTRAN, COBOL, PASKAL, C,DELPHI, PHP, VB, JAVA itd.
PROGRAMSKI JEZICI
Programski jezici su čoveku mnogoprikladniji od mašinskog jezika, a računarusu bliži od prirodnih jezika, jer nemaju nekenedostatke koje imaju prirodni jezici kao štosu:
� zamršena sintaksa,� komplikovana gramatička pravila,� česte nejasnoće i dvosmislenosti kod
određivanja značenja rečenice (semantike).
PREVODILAC
� Kako računar razume samo mašinskijezik, neophodno je da se programinapisani u programskom jeziku višegnivoa prevedu na mašinski jezik.
� Tu funkciju obavlja poseban program zaprevođenje koji se naziva prevodilac.
PREVODILAC� Prevodilac prevodi program sa višeg
programskog jezika na mašinski jezik uskladu sa gramatičkim pravilima togjezika.
� Ukoliko u toku prevođenja prevodilacotkrije gramatičke greške, kaže se daprogram ima sintaksičke greške.
� Takve geške moraju da se isprave azatim se program ponovo prevodi.
PREVODILAC
� Međutim, postoje i greške kojeprevodilac ne može da otkrije a koje zaposledicu imaju da izvršavanje programasa određenim podacima ne dajeispravne rezultate.
� Za ovakve greške kažemo da susemantičke i one se teže otklanjaju.
SISTEMSKA PROGRAMSKA PODRŠKA
� Osnovna karakteristika računarskihsistema je integralna povezanostmašinske i programske podrške,odnosno hardvera i softvera.
� Zato je razvoj hardvera pratio i razvojsoftvera.
SISTEMSKA PROGRAMSKA PODRŠKA
Razvoj sistemske programske podrškekretao se od minimalnog skupaprograma, koji je omogućavao samofunkcionisanje računarskog sistema, pado savremenog sistemskog softvera savelikim brojem programa koji upravljaju ikontrolišu rad računarskog sistema.
U SISTEMSKU PROGRAMSKUPODRŠKU SPADAJU:
• operativni sistemi• programi za prevođenje• uslužni programi.
OPERATIVNI SISTEM
� Operativni sistem je skup programa kojiupravlja radom računara.
� Osnovna funkcija operativnog sistema jeda omogući optimalno korišćenjeračunarskog sistema.
FUNKCIJE OPERATIVNOG SISTEMA
� raspodela hardvera, korisničkihprograma i podataka između ko-risnika računarskog sistema
� kontrola odvijanja ulaznih i izlaznihoperacija
� otkrivanje programskih grešaka
FUNKCIJE OPERATIVNOG SISTEMA
� testiranje hardvera i njegovo povezivanje� planiranje redosleda odvijanja poslova� raspodelu vremena centralnog procesora
između različitih procesa kod operativnihsistema sa višestrukom obradom itd.
RAZVOJ OPERATIVNIH SISTEMA
� Prvo su nastali operativni sitemi koji supodržavali takozvanu serijsku obradu,gde su se programi izvršavali serijski -jedan za drugim, a operativni sistem jekontrolisao njihovo izvršavanje.
� Savremeni operativni sistemi (Windows,UNIX,...) su veoma kompleksni, ali sumnogo pristupačniji korisnicima.
SVI OPERATIVNI SISTEMI MOGU SEPODELITI NA:
• serijske (batch) i• multiprogramske.
SERIJSKI OPERATIVNI SISTEM
� Serijski operativni sistem jejednostavan operativni sistem kod kojegse programi izvršavaju jedan za drugim,u datom redosledu.
� Dok se ne završi izvršavanje jednogprograma ne može da počne izvršavanjedrugog programa.
MULTIPROGRAMSKI OPERATIVNISISTEMI
� Multiprogramski operativni sistemiomogućavaju da se više programa nađuistovremeno u glavnoj memoriji i da deleraspoložive resurse.
� Ovi operativni sistemi imaju posebnemodule sistema prekidanja kojiomogućuju prekid jednog i nastavakizvršavanja drugog programa.
MULTIPROGRAMSKI OPERATIVNISISTEMI
� Kod ovih operativnih sistemaistovremeno se može obavljati višeulaznih i izlaznih operacija, dok centralniprocesor, zapravo, u jednom trenutkuizvodi instrukcije samo jednog programa.
PROGRAM ZA PREVOĐENJE -PREVODILAC (COMPILER)
� Program za prevođenje - prevodilac(compiler) ima osnovni zadatak daprogram napisan u nekom višemprogramskom jeziku prevede namašinski jezik.
PROGRAM ZA PREVOĐENJE -PREVODILAC (COMPILER)
Međutim rezultat rada prevodioca običnojoš uvek nije u obliku programa koji semože izvršiti, jer se u višim programskimjezicima upotrebljavaju potprogrami, tojest, jednom instrukcijom se zamenjujeviše instrukcija - na primer zastandardne funkcije, ulazne i izlazneoperacije itd.
PROGRAM ZA POVEZIVANJE (LINKER).
� Potrebno je ovim potprogramima, koji senalaze u biblioteci sistemskih programa,dopuniti prevedeni program.
� Taj zadatak obavlja uslužni program zapovezivanje (linker).
PROGRAMA ZA PUNJENJE (LOADER)
Dopunjen prevedni program se zatimpomoću uslužnog programa zapunjenje (loader) smešta u memoriju itek tada je spreman za izvršavanje.