POJAM ALGORITMA Algoritam je precizno opisan postupak za rešavanje nekog problema. Obi!no je to spisak uputstava ili skup pravila kojima je, korak po korak, opisan postupak za rešavanje zadatog problema. Svaki korak algoritma, odnosno svako uputstvo iz spiska, mora da bude definisana operacija.
38
Embed
Algoritam je precizno opisan postupak Obi no je to spisak ...w3.ekof.bg.ac.rs/upload/1119PI2014-CAS06N.pdfPROGRAMSKI JEZICI Programski jezici su !oveku mnogo prikladniji od mašinskog
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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.