POSTUPAK REŠAVANJA PROBLEMA POMOĆU RAČUNARA

 

    može se podeliti na sledeće korake:
  1. razumevanje problema
  2. izgradnja modela
  3. formiranje algoritma
  4. provera ispravnosti algoritma
  5. realizacija (implementacija) algoritma (tj. pisanje programa)
  6. testiranje programa
  7. sastavljanje dokumentacije

    Uži smisao termina programiranje obuhvata samo korake 5 i 6.

    RAZUMEVANJE PROBLEMA

    1. uočiti terminologiju koja iskorišćena u formulaciji problema
    2. uočiti šta je dato i šta je ulaz
    3. uociti šta se traži i šta treba da bude izlaz
    4. uociti eventualna ogranocenja u formulaciji, a koja su vezana za dopustene/nedopustene metode i operacije (npr. resiti problem simetricnosti bez upotrebe pomocnih matrica ili resiti zadatak ne koristeci staticki niz)

    IZGRADNJA MODELA

    uociti slican problem za koji postoji resenje, odnosno pokusati naci matematicku strukturu koja odgovara resenju realnog problema npr. obracunavamo plate zaposlenih u 12 meseci i znamo da imamo 20 radnika => upotrebicemo tabelu 20x12, odnosno matricu 20x12

    pretrazujemo recnik srpskog jezika i izdvajamo sve termine koji pocinju na slovo dj i duzine su tri => nekorisno je da koristimo neuredjen niz slogova

    FORMIRANJE ALGORITMA

    Konstruisati efikasan algoritam, odnosno dati skup preciznih uputstava kako doci do resenja zadatog problema.

    Algoritmi se mogu opisivati: blok-shemom (dijagramom toka), prirodnim jezikom, pseudo-jezikom.

    PROVERA ISPRAVNOSTI ALGORITMA

    Teorijski i prakticno ovo je jedan od najslozenijih koraka među ovih 7. Sastoji se u analizi slucajeva i analizi ponasanja algoritma. Naime, analizom problema mogu se ustanoviti razliciti slucajevi (vrednosti ulaznih podataka) u kojima se algoritam razlicito ponasa.

    REALIZACIJA ALGORITMA

    Ovaj korak se cesto naziva i implementacija algoritma ili kodiranje algoritma. U stvari ovaj korak se odnosi na prevodjenje algoritma na neki programski jezik, odnosno u oblik koji je razumljiv za racunar.

    TESTIRANJE PROGRAMA

    Pri testiranju se ispravljaju sve sintaksne i logicke greske, kao i greske nastale pri kodiranju programa.

    SINTAKSNE GREŠKE
    su greske u zapisu programa koje nisu u skladu sa pravilima programskog jezika (npr. C, Pascal,...) i zbog njih program nije razumljiv racunaru, tj. zapis ne moze da se interpretira ili prevede na masinski jezik racunara.
    Ove greske otkriva kompilator ili interpretator.

    SEMANTIČKE GREšKE
    su greske u zapisu programa koje su u skladu sa pravilima programskog jezika, ali imaju za posledicu da neispravan deo programa opisuje razlicit postupak od nameravanog, te racunar izvrsava program, ali ne radi ono sto se zelelo.
    Semanticke greske mora da otkrije programer, jer ne moze kompajler da prepozna sta je programer zeleo, a nije isprogramirao.

     

    Semanticke greske obuhvataju:

    • Logicke greske (greske nastale zbog primene pogresne logike u programiranju)
    • Greske u kodiranju (grske koje nastaju pri unosenju programa u racunar, npr. zaemna slova koja dovodi do promene imena promenljivih i slicno, npr, promenljivu INDEX ste ukucali kao INDEKS).

    SASTAVLJANE DOKUMENTACIJE

    Korektno napisana dokumentacija treba da sadrzi razna uputstva o samom programu:

    1. opis problema koji se resava (npr. izracunavanje prosecne plate jedne firme u toku 12 meseci)
    2. izgled ulaznih/izlaznih podataka (npr. ulaz je datoteka ciji svaki red je oblika:
      ime i prezime_radnika JMBG redni_br_meseca plata_tog_meseca,
      npr. izlaz je HTML dokument koji opisuje tabelu ciji svaki red sadrzii JMBG i prosek plate tog radnika i razliku u odnsu na prosek svih plata)
    3. blok-shemu (dijagram toka) algoritma
    4. opis procesa formiranja algoritma
    5. test primere i rezultate testiranja
    6. detaljne opise formata u programu
    7. opis postupka prevodjenja programa i uputstvo za neke specificne situacije

      Poenta korektno napisane dokumentacije: da autor programa i nakon godinu dana i hiljade drugih programa moze da se snadje u sopstvenom programu, kao i da njegov kolega koji nije ucestvovao u formiranju programa moze da vrsi dopune ili izmene programa bez obzira sto nije prvi autor programa.

       


       

      OPIS ALGORITAMA PRIRODNIM JEZIKOM
      Opisati prirodnim jezikom detaljno, precizno i nedvosmisleno korake pri resavanju problema, vodeci racuna o redosledu operacija koji se izvrsavaju.
      OPIS ALGORITAMA PSEUDO JEZIKOM
      Pseudo jezik je neformalna kombinacija prirodnog jezika i nekog programskog jezika. Pri upotrebi pseudo jezika mora se voditi racuna da se jezicke konstrukcije koriste uvek na isti nacin i da budu pracene objasnjenjima (ako je potebno).
      OPISIVANJE ALGORITAMA BLOK SEMOM
      Za ovaj oblik opisa koriste se graficki simboli ciji je opis propisan ISO standardom. Tekst koji opisuje obradu se zapisuje unutar grafickih simbola. Tok rada algoritma se opisuju linijama koje povezuju graficke simbole koji reprezentuju obradu.