SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Algoritmi


         Definicija
     Elementi algoritma
  Predstavljanje algoritama
Definicija algoritma
 Algoritam predstavlja konačan skup jasno definisanih pravila
   za rešavanje nekog zadatka.

 Algoritam je opis za rešavanje nekog problema


 Poznati programerski istraživač i profesor Niklaus Wirth je dao
   ovakvu definiciju:
           Programs = Algorithms + Data

 Iz prethodnog stava sledi da je algoritam je plan za izradu
   programa
O nastanku
 Algoritam je u matematiku uveo arapski
   matematičar Muhamed Al Horezmi.

 Napisao je knjigu Al Horezmi o indijskoj
   veštini računanja, gde u arapsku matematiku
   uvodi indijske cifre i decimalni brojni sistem.

 Ova knjiga je kasnije prevedena na latinski
   kao Algoritmi de numero indorum.

 Od lošeg latinskog prevoda njegovog
   prezimena i potiče reč algoritam,

 Reč algoritam dugo je označavala postupak
   za račun sa decimalnim brojnim sistemom (i
   indijskim odnosno, kako se kasnije pričalo,
   arapskim ciframa).
Gde sve srećemo algoritme?
 Danas se reč algoritam često vezuje za pojam računarstva
   mada uopšteno algoritam možemo smatrati kao uputstvo kako
   rešiti neki zadatak ili problem.

 U svakodnevnom životu smo zapravo stalno u kontaktu sa
   algoritmima, a često i postupamo po algoritmima a da toga
   nismo svesni.

 Znati "algoritamski" razmišljati dobro je bez obzira da li se
   bavimo programiranjem ili ne.
Gde sve srećemo algoritme?

 Neko je rekao da je računar idiot velike brzine. To je ustvari
   suština priče o algoritmima:

           put do rešenja moramo toliko rascepkati i detaljno
            napisati da bi ga mogao razumeti i taj "idiot velike
            brzine".

 Drugim rečima, uputstva moraju biti jednostavna i precizna tako
   da ih može izvršavati i mašina.
Gde sve srećemo algoritme?
Evo najpre jednog jednostavnog algoritma za spremanje čaja:

1.   Ako u čajniku nema vode napunite čajnik vodom
2.   Stavite čajnik na šporet i uključite odgovarajuću ringlu.
3.   Uzmite šolju za čaj.
4.   Stavite kesicu čaja u šolju za čaj.
5.   Ako želimo dodamo šećer, mleko ili limun.
6.   Ako kuvamo dve šoljice čaja vratimo se na korak 3.
7.   Ako voda u čajniku nije provrela idite na korak 7, ako jeste idite na korak 8.
8.   Isključite ringlu.
9.   Sipajte vodu iz čajnika u šolju (pazite da ne prelijete).
KoraciDa li 6 i 7 sadrže donošenje (i u kom) treba da donese neka
       1,5, se u nekom od koraka odluka,
Koraciodluka?
       6 i 7 sadrže ponavljanje:
    kod koraka 6 vraćamo se unazad i ponavljamo korake 3,4 i 5
      Da li se neki koraci ponavljaju i koliko puta?
    ukupno dva puta
    kod koraka 7 izvršava proces čekanja na vodu sve dok ne provri.
Elementi algoritma
    Uputstvo može sadržati korake
       koji se izvšavaju samo jednom,
       one koji se ponavljaju više puta ili
       korake kada treba doneti neku odluku, na osnovu nekog
        kriterijuma.


    Algoritam se dobija kao sklop sledećih struktura:
    1.   Sekvenca – niz (proces)
    2.   Odlučivanje (selekcija)
    3.   Ponavljanje (repeticija, iteracija, ciklus, petlja)
Elementi algoritma
Sekvenca (niz operacija)

    Sekvenca znači da se svaki korak sekvence izvršava u unapred datom
     redosledu – onako kako se pojavljuju u sekvenci, jedan za drugim.

Odluka (Selekcija)

    Selekcija omogućava izbor puta kojim će se nastaviti izvršavanje
     instrukcija.

    Odluka se bazira na uslovu koji može da ima vrednost tačno ili netačno,
     na primer:

        AKO danas je sreda ONDA imam laboratorijski dan
Elementi algoritma

    Tvrdnja (uslov) može biti ILI tačna ILI netačna, tj. “danas JE sreda ili
     danas NIJE sreda”. (Ne može istovremeno i jedno i drugo, niti nešto treće)

    Odluka može da ima i nešto složeniji oblik:

        AKO uradio sam više od 5 pitanja
        ONDA dobiću pozitivnu ocenu
        U SUPROTNOM dobiću keca.

    Ovo znači da ako je tvrdnja tačna tada se izvršava proces1 a ako je
     netačna proces2.
Elementi algoritma

Ponavljanje (Iteracija)
   Iteracija omogućava ponavljanje određenih koraka potreban broj puta.
    Broj ponavljanja može biti unapred poznat (npr. kuvam 2 čaja ili kuvam 10
    čajeva...) ili se nešto ponavlja dok se ne ispuni zadati uslov (čekam dok
    ne provri, učim dok ne shvatim...)
   Evo jednog primera

        do
        Dodaj šolju vode u čajnik            TELO PETLJE
        while čajnik nije pun                USLOV na dnu

    U predhodnom primeru prvo sipamo, pa proveravamo da li je čajnik pun.

           Šta ako je čajnik već bio pun kada je ciklus započet?
           Doći će do neželjenog procesa koji će izazvati prelivanje vode
           iz čajnika.
Elementi algoritma

    Za takve slučajeve pogodnije je koristiti while…do ciklus:

        while čajnik nije pun                 USLOV na vrhu
        Dodaj šolju vode u čajnik             TELO PETLJE

    Pošto se odluka da li je čajnik pun ili ne donosi pre sipanja vode,
     mogućnost prelivanja je eliminisana.
Metode prikazivanja algoritama


 Neke od metoda za prikaz algoritama:


          Prirodni jezik (koračna forma)

          Pseudo kod (Pseudo cod)

          Dijagrami toka (Flowcharts)
Prirodni jezik
 Ovom tehnikom se algoritam prikazuje kao niz brojem označenih
   koraka opisanih jednom ili sa više rečenica prirodnog jezika.

 Primer: Prikazati (na monitoru računara, na primer) dvostruku vrednost
   broja koji je predhodno unet u računar (pomoću tastature)

 Algoritam u priprodnom jeziku:
         1.   Tražiti od korisnika da uz pomoć tastature unese broj.
         2.   Učitati broj koji korisnik ukuca na tastaturi.
         3.   Pomnožiti učitani broj sa brojem 2.
         4.   Prikazati rezultat operacije iz koraka 3 na monitoru računara.

 Prednosti prirodnog jezika:
    Jednostavan za učenje, jer se ionako služimo prirodnim jezikom.
 Nedostaci:
    Koraci su predugački jer se mora koristitu puno reči za njihov opis.
    Prevođenje iz prirodnog jezika u kompjuterski jezik može biti teško.
Pseudo kod
 Tehnika slična prirodnom jeziku ali se umesto prirodnog jezika koristi
   neki drugi jezik koji koristi manji broj unapred zadatih reči.

 Dovoljno je razumljiv za čoveka, a istovremeno pogodan za dalje
   transformisanje algoritma u program.

 Predhodni primer algoritma prikazan pseudo kodom :

         1.   display poruka
         2.   read broj
         3.   rezultat = broj*2
         4.   display rezultat

 Prednosti:
    Jednsotavan za učenje skoro kao i kod prirodnog jezika.
    Lakši za prevođenje u programski jezik.
 Nedostaci:
    Može biti malo zbunjujuće – meša se prirodni i simbolički jezik.
Dijagrami toka (Flowcharts)

 Dijagram toka podataka je grafički prikaz algoritma.


 Prednosti dijagrama toka nad pseudokodom:


       Zapisivanje ne zavisi od govornog jezika onoga koji sastavlja
        algoritam.

       Grafički prikaz je jednostavan, pregledan, lako se pronalaze greške.

       Problem se može jednostavno analizirati i skratiti vreme pronalaženja
        rešenja.
Dijagrami toka (Flowcharts)
 Grafički simboli koji se najčešće koriste za prikaza algoritama
   dijagramom toka su sledeći:

                     Granično mesto
                      (početak, kraj,
                         prekid)                          Odluka
                                                         (uslovno
                     Ulaz (unošenje                      grananje)
                      podataka za
                        obradu)
                                                        Potprogram
                     Izlaz (izdavanje
                                                       (ranije opisan
                    rezultata obrade)
                                                          proces)
                        Sekvenca                         Spajanje
                       (operacija ili                 (mesto spajanja
                     grupa operacija)                  dve linije toka)

                       Linija toka
                      (vezna linija)
Dijagrami toka (Flowcharts)
 Prethodni primer prikazan dijagramom toka:


                početak

                poruka                     display
                                              poruka

                  broj
                                           read broj

               broj=broj*2
                                           rezultat =
                                              broj*2
                  broj

                                           display
                  kraj                        rezultat
Primeri linijskih algoritama
 Uneti poluprečnik osnove r i visinu H valjka. Izračunati i štampati
   poršinu i zapreminu valjka.

 Napisati algoritam kojim se izračunava i štampa koliko sati, minuta i
   sekundi ima u datom broju dana.

 Za učenike zaposlene preko omladinske zadruge izračunati bruto i
   neto dohodak, ako je poznat broj radnih sati, cena po satu i procenat
   odbijanja na osnovu određenih doprinosa.

 Napisati program kojim se prevodi temperatura iz skale Celzijusa u
   skalu Farenhajta po formuli: Temeratura po Farenhajtu=(Temperatura
   po Celzijusu)*1.80+32
Primeri linijskih algoritama

 Napisati program kojim se prevodi količina tečnosti iz galona u litre
   (1galon = 4.54L)

 Napisati program kojim se američki dolari pretvaraju u evre ako se
   unosi dinarski kurs ovih valuta.

 Data su dva ugla ALFA i BETA izražena u stepenima, minutama i
   sekundama. Naći i prikazati njihov zbir i razliku.

 Ako je vrednost nekog artikla u dinarima data promenljivom cena,
   odrediti najmanju količinu novčanica od 1000din, 200din, 100din, 10din
   i 1din kojim se može platiti dati artikal.
Uneti poluprečnik osnove r i visinu H valjka. Izračunati i štampati
poršinu i zapreminu valjka.
Napisati algoritam kojim se izračunava i štampa koliko sati, minuta i
sekundi ima u datom broju dana.
Za učenike zaposlene preko omladinske zadruge izračunati bruto i neto
dohodak, ako je poznat broj radnih sati, cena po satu i procenat odbijanja
na osnovu određenih doprinosa.
Napisati program kojim se prevodi temperatura iz skale Celzijusa u skalu
Farenhajta po formuli: Temeratura po Farenhajtu=(Temperatura po
Celzijusu)*1.80+32
Napisati program kojim se prevodi količina tečnosti iz galona u litre
(1galon = 4.54L)
Napisati program kojim se američki dolari pretvaraju u evre ako se unosi
dinarski kurs ovih valuta.
Ako je vrednost nekog artikla u dinarima data promenljivom cena,
odrediti najmanju količinu novčanica od 1000din, 200din, 100din, 10din i
1din kojim se može platiti dati artikal.




                                             Ako su operandi dva cela
                                             broja:

                                             Operator / daje celobrojni
                                             količnik dva cela broja

                                             Operator % daje ostatak
                                             pri deljenju dva cela broja
Data su dva ugla ALFA i BETA izražena u stepenima, minutama i
sekundama. Naći i prikazati njihov zbir i razliku.




                                           Ako su operandi dva cela
                                           broja:

                                           Operator / daje celobrojni
                                           količnik dva cela broja

                                           Operator % daje ostatak
                                           pri deljenju dva cela broja

Weitere ähnliche Inhalte

Was ist angesagt?

Dekadni, binarni, oktalni i heksadekadni brojevni sistem
Dekadni, binarni, oktalni i heksadekadni brojevni sistemDekadni, binarni, oktalni i heksadekadni brojevni sistem
Dekadni, binarni, oktalni i heksadekadni brojevni sistem
Olga Klisura
 

Was ist angesagt? (20)

Disaharidi i polisaharidi
Disaharidi i polisaharidiDisaharidi i polisaharidi
Disaharidi i polisaharidi
 
Softver i hardver
Softver i hardverSoftver i hardver
Softver i hardver
 
Latinske deklinacije - Lazar Stefanović - Tatjana Zdravković
Latinske deklinacije - Lazar Stefanović - Tatjana ZdravkovićLatinske deklinacije - Lazar Stefanović - Tatjana Zdravković
Latinske deklinacije - Lazar Stefanović - Tatjana Zdravković
 
Uticaj tehnologije na zdravlje 5 razred
Uticaj tehnologije na zdravlje 5 razredUticaj tehnologije na zdravlje 5 razred
Uticaj tehnologije na zdravlje 5 razred
 
Prezentacija
PrezentacijaPrezentacija
Prezentacija
 
Program rada odeljenjskog staresine v razred
Program rada odeljenjskog staresine v razredProgram rada odeljenjskog staresine v razred
Program rada odeljenjskog staresine v razred
 
Дигитално насиље
Дигитално насиљеДигитално насиље
Дигитално насиље
 
Зависне реченице
Зависне реченицеЗависне реченице
Зависне реченице
 
Bezbednost na internetu, prezentacija
Bezbednost na internetu, prezentacijaBezbednost na internetu, prezentacija
Bezbednost na internetu, prezentacija
 
Tehnicko crtanje u gradjevinarstvu
Tehnicko crtanje u gradjevinarstvuTehnicko crtanje u gradjevinarstvu
Tehnicko crtanje u gradjevinarstvu
 
Razvoj Aplikacija Za Mobilne Telefone
Razvoj Aplikacija Za Mobilne TelefoneRazvoj Aplikacija Za Mobilne Telefone
Razvoj Aplikacija Za Mobilne Telefone
 
Lična higijena čovjeka.ppt
Lična higijena čovjeka.pptLična higijena čovjeka.ppt
Lična higijena čovjeka.ppt
 
Tastatura
TastaturaTastatura
Tastatura
 
Dekadni, binarni, oktalni i heksadekadni brojevni sistem
Dekadni, binarni, oktalni i heksadekadni brojevni sistemDekadni, binarni, oktalni i heksadekadni brojevni sistem
Dekadni, binarni, oktalni i heksadekadni brojevni sistem
 
Istorija interneta
Istorija interneta Istorija interneta
Istorija interneta
 
Dan planete zemlje 2019
Dan planete zemlje 2019Dan planete zemlje 2019
Dan planete zemlje 2019
 
Knjizevnost od-5-do-8-razreda
Knjizevnost od-5-do-8-razredaKnjizevnost od-5-do-8-razreda
Knjizevnost od-5-do-8-razreda
 
Informatika i društvo
Informatika i društvoInformatika i društvo
Informatika i društvo
 
Disanje i transpiracija
Disanje i transpiracijaDisanje i transpiracija
Disanje i transpiracija
 
Naselja u Srbiji
Naselja u SrbijiNaselja u Srbiji
Naselja u Srbiji
 

Ähnlich wie Algoritmi

Pitanja Maturski Fe
Pitanja Maturski FePitanja Maturski Fe
Pitanja Maturski Fe
guest199a1d0
 
PROGRAMIRANJE-C-IIRAZRED.pdf
PROGRAMIRANJE-C-IIRAZRED.pdfPROGRAMIRANJE-C-IIRAZRED.pdf
PROGRAMIRANJE-C-IIRAZRED.pdf
MilicaJovanovi14
 
01 - Brojni sistemi i prevodjenje brojeva.pdf
01 - Brojni sistemi i prevodjenje brojeva.pdf01 - Brojni sistemi i prevodjenje brojeva.pdf
01 - Brojni sistemi i prevodjenje brojeva.pdf
OsnovnakolaJovanCvij
 
1-20-algoritmi-uvod prezentacija algoritmi
1-20-algoritmi-uvod prezentacija algoritmi1-20-algoritmi-uvod prezentacija algoritmi
1-20-algoritmi-uvod prezentacija algoritmi
NenadDimovski1
 
Prikaz koriscenja
Prikaz koriscenjaPrikaz koriscenja
Prikaz koriscenja
Veksy92
 

Ähnlich wie Algoritmi (20)

Python - osnove
Python - osnovePython - osnove
Python - osnove
 
Pitanja Maturski Fe
Pitanja Maturski FePitanja Maturski Fe
Pitanja Maturski Fe
 
PROGRAMIRANJE-C-IIRAZRED.pdf
PROGRAMIRANJE-C-IIRAZRED.pdfPROGRAMIRANJE-C-IIRAZRED.pdf
PROGRAMIRANJE-C-IIRAZRED.pdf
 
FOR PETLJA-CIKLICNE STRUKTURE
FOR PETLJA-CIKLICNE STRUKTUREFOR PETLJA-CIKLICNE STRUKTURE
FOR PETLJA-CIKLICNE STRUKTURE
 
Paskal-Izračunavanje vrednosnih funkcija
Paskal-Izračunavanje vrednosnih funkcijaPaskal-Izračunavanje vrednosnih funkcija
Paskal-Izračunavanje vrednosnih funkcija
 
Obrazovni resurs.ppt
Obrazovni resurs.pptObrazovni resurs.ppt
Obrazovni resurs.ppt
 
06.-08. CIKLICNE ALGOR STRUKTURE FOR.pptx
06.-08.  CIKLICNE ALGOR STRUKTURE FOR.pptx06.-08.  CIKLICNE ALGOR STRUKTURE FOR.pptx
06.-08. CIKLICNE ALGOR STRUKTURE FOR.pptx
 
Dev c++ sekcija OS"N.Tesla" Prnjavor (Brankica Jokic)
Dev c++ sekcija OS"N.Tesla" Prnjavor (Brankica Jokic)Dev c++ sekcija OS"N.Tesla" Prnjavor (Brankica Jokic)
Dev c++ sekcija OS"N.Tesla" Prnjavor (Brankica Jokic)
 
MISS Ponavljanje B 2022.pdf
MISS Ponavljanje B 2022.pdfMISS Ponavljanje B 2022.pdf
MISS Ponavljanje B 2022.pdf
 
Postupci sortiranja u programskom jeziku c
Postupci sortiranja u programskom jeziku cPostupci sortiranja u programskom jeziku c
Postupci sortiranja u programskom jeziku c
 
01 - Brojni sistemi i prevodjenje brojeva.pdf
01 - Brojni sistemi i prevodjenje brojeva.pdf01 - Brojni sistemi i prevodjenje brojeva.pdf
01 - Brojni sistemi i prevodjenje brojeva.pdf
 
C++ za 90 minuta
C++ za 90 minutaC++ za 90 minuta
C++ za 90 minuta
 
1-20-algoritmi-uvod prezentacija algoritmi
1-20-algoritmi-uvod prezentacija algoritmi1-20-algoritmi-uvod prezentacija algoritmi
1-20-algoritmi-uvod prezentacija algoritmi
 
Uor pitanja
Uor pitanjaUor pitanja
Uor pitanja
 
Pripreme za programiranje 8. drugi dio
Pripreme za programiranje 8. drugi dioPripreme za programiranje 8. drugi dio
Pripreme za programiranje 8. drugi dio
 
R3 t9 z71
R3 t9 z71R3 t9 z71
R3 t9 z71
 
Osnovne komponente DTP-a.pdf
Osnovne komponente DTP-a.pdfOsnovne komponente DTP-a.pdf
Osnovne komponente DTP-a.pdf
 
Prikaz koriscenja
Prikaz koriscenjaPrikaz koriscenja
Prikaz koriscenja
 
Paskal zadaci
Paskal zadaciPaskal zadaci
Paskal zadaci
 
PARETO analiza.pdf
PARETO analiza.pdfPARETO analiza.pdf
PARETO analiza.pdf
 

Algoritmi

  • 1. Algoritmi Definicija Elementi algoritma Predstavljanje algoritama
  • 2. Definicija algoritma  Algoritam predstavlja konačan skup jasno definisanih pravila za rešavanje nekog zadatka.  Algoritam je opis za rešavanje nekog problema  Poznati programerski istraživač i profesor Niklaus Wirth je dao ovakvu definiciju: Programs = Algorithms + Data  Iz prethodnog stava sledi da je algoritam je plan za izradu programa
  • 3. O nastanku  Algoritam je u matematiku uveo arapski matematičar Muhamed Al Horezmi.  Napisao je knjigu Al Horezmi o indijskoj veštini računanja, gde u arapsku matematiku uvodi indijske cifre i decimalni brojni sistem.  Ova knjiga je kasnije prevedena na latinski kao Algoritmi de numero indorum.  Od lošeg latinskog prevoda njegovog prezimena i potiče reč algoritam,  Reč algoritam dugo je označavala postupak za račun sa decimalnim brojnim sistemom (i indijskim odnosno, kako se kasnije pričalo, arapskim ciframa).
  • 4. Gde sve srećemo algoritme?  Danas se reč algoritam često vezuje za pojam računarstva mada uopšteno algoritam možemo smatrati kao uputstvo kako rešiti neki zadatak ili problem.  U svakodnevnom životu smo zapravo stalno u kontaktu sa algoritmima, a često i postupamo po algoritmima a da toga nismo svesni.  Znati "algoritamski" razmišljati dobro je bez obzira da li se bavimo programiranjem ili ne.
  • 5. Gde sve srećemo algoritme?  Neko je rekao da je računar idiot velike brzine. To je ustvari suština priče o algoritmima:  put do rešenja moramo toliko rascepkati i detaljno napisati da bi ga mogao razumeti i taj "idiot velike brzine".  Drugim rečima, uputstva moraju biti jednostavna i precizna tako da ih može izvršavati i mašina.
  • 6. Gde sve srećemo algoritme? Evo najpre jednog jednostavnog algoritma za spremanje čaja: 1. Ako u čajniku nema vode napunite čajnik vodom 2. Stavite čajnik na šporet i uključite odgovarajuću ringlu. 3. Uzmite šolju za čaj. 4. Stavite kesicu čaja u šolju za čaj. 5. Ako želimo dodamo šećer, mleko ili limun. 6. Ako kuvamo dve šoljice čaja vratimo se na korak 3. 7. Ako voda u čajniku nije provrela idite na korak 7, ako jeste idite na korak 8. 8. Isključite ringlu. 9. Sipajte vodu iz čajnika u šolju (pazite da ne prelijete). KoraciDa li 6 i 7 sadrže donošenje (i u kom) treba da donese neka 1,5, se u nekom od koraka odluka, Koraciodluka? 6 i 7 sadrže ponavljanje: kod koraka 6 vraćamo se unazad i ponavljamo korake 3,4 i 5 Da li se neki koraci ponavljaju i koliko puta? ukupno dva puta kod koraka 7 izvršava proces čekanja na vodu sve dok ne provri.
  • 7. Elementi algoritma  Uputstvo može sadržati korake  koji se izvšavaju samo jednom,  one koji se ponavljaju više puta ili  korake kada treba doneti neku odluku, na osnovu nekog kriterijuma.  Algoritam se dobija kao sklop sledećih struktura: 1. Sekvenca – niz (proces) 2. Odlučivanje (selekcija) 3. Ponavljanje (repeticija, iteracija, ciklus, petlja)
  • 8. Elementi algoritma Sekvenca (niz operacija)  Sekvenca znači da se svaki korak sekvence izvršava u unapred datom redosledu – onako kako se pojavljuju u sekvenci, jedan za drugim. Odluka (Selekcija)  Selekcija omogućava izbor puta kojim će se nastaviti izvršavanje instrukcija.  Odluka se bazira na uslovu koji može da ima vrednost tačno ili netačno, na primer: AKO danas je sreda ONDA imam laboratorijski dan
  • 9. Elementi algoritma  Tvrdnja (uslov) može biti ILI tačna ILI netačna, tj. “danas JE sreda ili danas NIJE sreda”. (Ne može istovremeno i jedno i drugo, niti nešto treće)  Odluka može da ima i nešto složeniji oblik: AKO uradio sam više od 5 pitanja ONDA dobiću pozitivnu ocenu U SUPROTNOM dobiću keca.  Ovo znači da ako je tvrdnja tačna tada se izvršava proces1 a ako je netačna proces2.
  • 10. Elementi algoritma Ponavljanje (Iteracija)  Iteracija omogućava ponavljanje određenih koraka potreban broj puta. Broj ponavljanja može biti unapred poznat (npr. kuvam 2 čaja ili kuvam 10 čajeva...) ili se nešto ponavlja dok se ne ispuni zadati uslov (čekam dok ne provri, učim dok ne shvatim...)  Evo jednog primera do Dodaj šolju vode u čajnik TELO PETLJE while čajnik nije pun USLOV na dnu  U predhodnom primeru prvo sipamo, pa proveravamo da li je čajnik pun. Šta ako je čajnik već bio pun kada je ciklus započet? Doći će do neželjenog procesa koji će izazvati prelivanje vode iz čajnika.
  • 11. Elementi algoritma  Za takve slučajeve pogodnije je koristiti while…do ciklus: while čajnik nije pun USLOV na vrhu Dodaj šolju vode u čajnik TELO PETLJE  Pošto se odluka da li je čajnik pun ili ne donosi pre sipanja vode, mogućnost prelivanja je eliminisana.
  • 12. Metode prikazivanja algoritama  Neke od metoda za prikaz algoritama:  Prirodni jezik (koračna forma)  Pseudo kod (Pseudo cod)  Dijagrami toka (Flowcharts)
  • 13. Prirodni jezik  Ovom tehnikom se algoritam prikazuje kao niz brojem označenih koraka opisanih jednom ili sa više rečenica prirodnog jezika.  Primer: Prikazati (na monitoru računara, na primer) dvostruku vrednost broja koji je predhodno unet u računar (pomoću tastature)  Algoritam u priprodnom jeziku: 1. Tražiti od korisnika da uz pomoć tastature unese broj. 2. Učitati broj koji korisnik ukuca na tastaturi. 3. Pomnožiti učitani broj sa brojem 2. 4. Prikazati rezultat operacije iz koraka 3 na monitoru računara.  Prednosti prirodnog jezika:  Jednostavan za učenje, jer se ionako služimo prirodnim jezikom.  Nedostaci:  Koraci su predugački jer se mora koristitu puno reči za njihov opis.  Prevođenje iz prirodnog jezika u kompjuterski jezik može biti teško.
  • 14. Pseudo kod  Tehnika slična prirodnom jeziku ali se umesto prirodnog jezika koristi neki drugi jezik koji koristi manji broj unapred zadatih reči.  Dovoljno je razumljiv za čoveka, a istovremeno pogodan za dalje transformisanje algoritma u program.  Predhodni primer algoritma prikazan pseudo kodom : 1. display poruka 2. read broj 3. rezultat = broj*2 4. display rezultat  Prednosti: Jednsotavan za učenje skoro kao i kod prirodnog jezika.  Lakši za prevođenje u programski jezik.  Nedostaci:  Može biti malo zbunjujuće – meša se prirodni i simbolički jezik.
  • 15. Dijagrami toka (Flowcharts)  Dijagram toka podataka je grafički prikaz algoritma.  Prednosti dijagrama toka nad pseudokodom:  Zapisivanje ne zavisi od govornog jezika onoga koji sastavlja algoritam.  Grafički prikaz je jednostavan, pregledan, lako se pronalaze greške.  Problem se može jednostavno analizirati i skratiti vreme pronalaženja rešenja.
  • 16. Dijagrami toka (Flowcharts)  Grafički simboli koji se najčešće koriste za prikaza algoritama dijagramom toka su sledeći: Granično mesto (početak, kraj, prekid) Odluka (uslovno Ulaz (unošenje grananje) podataka za obradu) Potprogram Izlaz (izdavanje (ranije opisan rezultata obrade) proces) Sekvenca Spajanje (operacija ili (mesto spajanja grupa operacija) dve linije toka) Linija toka (vezna linija)
  • 17. Dijagrami toka (Flowcharts)  Prethodni primer prikazan dijagramom toka: početak poruka display poruka broj read broj broj=broj*2 rezultat = broj*2 broj display kraj rezultat
  • 18. Primeri linijskih algoritama  Uneti poluprečnik osnove r i visinu H valjka. Izračunati i štampati poršinu i zapreminu valjka.  Napisati algoritam kojim se izračunava i štampa koliko sati, minuta i sekundi ima u datom broju dana.  Za učenike zaposlene preko omladinske zadruge izračunati bruto i neto dohodak, ako je poznat broj radnih sati, cena po satu i procenat odbijanja na osnovu određenih doprinosa.  Napisati program kojim se prevodi temperatura iz skale Celzijusa u skalu Farenhajta po formuli: Temeratura po Farenhajtu=(Temperatura po Celzijusu)*1.80+32
  • 19. Primeri linijskih algoritama  Napisati program kojim se prevodi količina tečnosti iz galona u litre (1galon = 4.54L)  Napisati program kojim se američki dolari pretvaraju u evre ako se unosi dinarski kurs ovih valuta.  Data su dva ugla ALFA i BETA izražena u stepenima, minutama i sekundama. Naći i prikazati njihov zbir i razliku.  Ako je vrednost nekog artikla u dinarima data promenljivom cena, odrediti najmanju količinu novčanica od 1000din, 200din, 100din, 10din i 1din kojim se može platiti dati artikal.
  • 20. Uneti poluprečnik osnove r i visinu H valjka. Izračunati i štampati poršinu i zapreminu valjka.
  • 21. Napisati algoritam kojim se izračunava i štampa koliko sati, minuta i sekundi ima u datom broju dana.
  • 22. Za učenike zaposlene preko omladinske zadruge izračunati bruto i neto dohodak, ako je poznat broj radnih sati, cena po satu i procenat odbijanja na osnovu određenih doprinosa.
  • 23. Napisati program kojim se prevodi temperatura iz skale Celzijusa u skalu Farenhajta po formuli: Temeratura po Farenhajtu=(Temperatura po Celzijusu)*1.80+32
  • 24. Napisati program kojim se prevodi količina tečnosti iz galona u litre (1galon = 4.54L)
  • 25. Napisati program kojim se američki dolari pretvaraju u evre ako se unosi dinarski kurs ovih valuta.
  • 26. Ako je vrednost nekog artikla u dinarima data promenljivom cena, odrediti najmanju količinu novčanica od 1000din, 200din, 100din, 10din i 1din kojim se može platiti dati artikal. Ako su operandi dva cela broja: Operator / daje celobrojni količnik dva cela broja Operator % daje ostatak pri deljenju dva cela broja
  • 27. Data su dva ugla ALFA i BETA izražena u stepenima, minutama i sekundama. Naći i prikazati njihov zbir i razliku. Ako su operandi dva cela broja: Operator / daje celobrojni količnik dva cela broja Operator % daje ostatak pri deljenju dva cela broja