Programske strukture

1. Algoritmi

Algoritam je procedura koja do posljednjih detalja opisuje aktivnosti i njihov redoslijed, potreban da se obradom ulaznih podataka, u konačnom broju koraka dođe do izlaznih podataka, odnosno rješenja.

Algoritam možemo zapisati:

  1. pseudojezikom 
  2. dijagramom tijeka

Pseudojezik je tobožnji program  (grč. pseudos – laž) koji se sastoji od kratkih izraza na govornom jeziku koji opisuju i ukratko objašnjavaju pojedine zadatke algoritma.

Dijagram tijeka je grafički prikaz algoritma. Sastoji od nekoliko jednostavnih geometrijskih likova spojenih usmjerenim crtama. Usmjerene crte pokazuju tijek rješavanja zadatka pa odatle i naziv dijagrama.
Prednosti dijagrama tijeka:

  1. pregledno prikazuje algoritam
  2. omogućava lakšu analizu i provjeru predloženog rješenja
  3. omogućuje pronalaženje boljih postupaka rješavanja zadatka - optimizaciju


Za pseudojezik možemo koristiti bilo koji tekstualni editor, dok za je za dijagram tijeka zgodno koristiti aplikacije:

  1. Raptor
  2. Flowgorithm 
Cilj algoritma je cjelokupni zadatak svesti na niz jednostavnih, manjih radnji, te na temelju ulaznih podataka dobiti rezultat.
koraci u izvođenju algoritma
Algoritam treba imati slijedeća svojstva:
  1. Konačnost – mora uvijek završiti nakon konačnog broja koraka
  2. Definiranost – svaki korak mora biti precizno definiran – akcije koje treba poduzeti moraju biti jednoznačno (nedvosmisleno) definirane
  3. Ulaz – može ali i ne mora imati ulazne veličine koje su dane inicijalno prije početka algoritma
  4. Izlaz – ima jednu ili više izlaznih veličina koje su u specificiranom odnosu sa ulaznim veličinama
  5. Efikasnost - sve operacije koje se obavljaju u algoritmu moraju biti jednostavne tako da se mogu obaviti u točno i u konačnom vremenu
Naš cilj pri izradi je pronaći algoritam koji najbrže, najučinkovitije i najsigurnije dovodi do rezultata.