Predstavljanje algoritma
Algoritmi se mogu predstavljati na više načina. Ako ćemo pravo, pošto je algoritam niz koraka koji opisuje neki postupak, može se predstaviti i opisno, običnim rečima.
Ipak, kako bi se uveo neki red, algoritme najčešće predstavljamo na jedan od dva načina:
- pseudo-jezikom
- blok-dijagramom
Pseudo-jezik je nešto između običnog jezika i programskog jezika. On služi da malo "formalnije" predstavimo algoritam.
Blok-dijagram (ili algoritamska šema) predstavlja grafičku reprezentaciju algoritma, gde su svi koraci predstavljeni odgovarajućim grafičkim simbolima. Pošto na sajtu Web'n'Study uglavnom koristimo blok-dijagrame, nije loša ideja da se sada upoznamo sa nekim osnovnim simbolima.
Simboli algoritamske šeme
Početak i kraj algoritma
Pošto svaki algoritam mora imati konačan broj koraka, logično je da mora imati početak i kraj. Ovo nisu zaista "koraci" algoritma, već pre oznake kojima se "definiše" algoritam. Obično se zadaju ovalnim oblicima.
Obrada podataka
Bilo kakve izraze (najčešće je to dodela vrednosti promenljivoj) zadajemo u obliku pravougaonog oblika.
Ulaz i izlaz
Normalno je da svaki iole korisniji program ima mogućnost da se unesu neke početne vrednosti, kao i da se ispišu rezultati. Vrednosti se unose u promenljive, a ispis može prihvatiti bilo kakav izraz koji ima vrednost.
Koraci izlaza se predstavljaju trapezom, a ulaza obrnutim trapezom.
U prethodnom okviru su predstavljeni osnovni koraci koje koristimo u linearnim algoritmima. Upoznaćemo se još sa koracima razgranatih i cikličnih algoritama, s tim što ćemo ih detaljnije objasniti kada za to dođe vreme.
Simboli razgranatog algoritma
Obično grananje
Grananje se definiše tako što se uslov postavlja unutar šestougaonog oblika, iz koga vode dva "kraka", zavisno od toga da li je uslov zadovoljen ili nije.
Višestruko grananje
Izraz čija se vrednost testira stavlja se u "trouglastom" obliku. Iz praktičnih razloga, ovde taj oblik predstavljamo kao "štit".
Ostali su nam još koraci kojima označavamo cikluse - programske strukture koje označavaju korake koji se ponavljaju.
Simboli cikličnog algoritma
Uslovni ciklus
Uslovni ciklus je sličan grananju, s tim što nas "strelice" vraćaju, tako da se određeni koraci ponavljaju dok je uslov zadovoljen.
Brojački ciklus
Brojački ciklus je specifičan tip ciklusa koji uključuje "brojačku promenljivu", koja se menja u svakoj iteraciji ciklusa. Ovde možete videti kako se ti ciklusi predstavljaju, a kako funkcionišu će biti obrađeno malo kasnije.
Navedeni primer brojačkog ciklusa je u stilu jezika C/C++/Java/JavaScript/PHP... Programski jezik Pascal ima malo drugačiji (rigidniji) način definisanja ovog tipa ciklusa, ali suštinski se ne razlikuju puno.