79
Osnove algoritama Prof. dr Lazo Roljid

00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

  • Upload
    4k45h4

  • View
    89

  • Download
    4

Embed Size (px)

DESCRIPTION

Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci

Citation preview

Page 1: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Osnove algoritama

Prof. dr Lazo Roljid

Page 2: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Algoritam Pojam algoritam možemo opisati na nekoliko načina:

(1) Metoda opisana korak po korak koja rješava neki

problem ili obavlja neki zadatak.

(2) Niz logičkih koraka za rješavanje nekog problema.

(3) Skup pravila u cilju rješavanja određenog tipa zadataka,

takođe se zove algoritam. Pri tome, svako pojedinačno

pravilo zove se algoritamski korak.

Obavljanje algoritma se naziva algoritamskim procesom.

Page 3: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Opisivanje algoritama • Općenito, algoritmi se mogu opisati npr. prirodnim

govornim jezikom-riječima (govorom), tekstom (pismom), pri čemu izvršilac algoritma mora poznavati taj jezik.

• Algoritmi se mogu opisati i pseudo jezikom

• Isto tako, algoritmi se mogu opisati u grafičkoj formi u obliku dijagrama toka ili u nekom umjetnom jeziku kojeg obično nazivamo programskim jezikom. Algoritmi zapisani u nekom programskom jeziku se nazivaju programi.

• U matematici formulama i jednačinama takođe su opisane jedne vrste algoritama. U matematici se često različite spoznaje zapisuju u obliku teorema koji koji su zapravo izvor mnogih algoritama. Ovakve algoritme nazivamo teorijskim algoritmima.

Page 4: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Algoritamska šema, blok dijagram, dijagram toka ili organigram

• Da bi zapis algoritma bio pregledan, pogodno je koristiti njegov grafički prikaz.

• To se zove algoritamska šema, blok dijagram, dijagram toka ili organigram.

Page 5: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Elementi od kojih se grade dijagrami toka

Page 6: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl
Page 7: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Jednostavne algoritamske šeme

- Linijske - Proste - razgranate

- Ciklične - Konstantne - promjenljive

je zaštitni znak objekata sa sajta www.znanje.org

Page 8: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Linijska algoritamska šema • Niz algoritamskih koraka, u kojem se svaki

algoritamski korak može izvršiti najviše jedanput, u toku jednog izvršavanja algoritma, čini linijsku algoritamsku šemu.

• Elementi linijske strukture: Početak, Kraj (isti simbol), Ulaz, Izlaz (isti simbol) i obrada.

Page 9: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Prosta linijska šema se sastoji isključivo od algoritamskih koraka ulaza, obrade i izlaza.

Page 10: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Šablon za prostu linijsku šemu

Page 11: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Na primjer: izračunati obim kruga O=2rPi (Računarski ispis O = 2 * r * Pi)

Page 12: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Primjer 1. Ispisati poruku "ZDRAVO" na ekranu.

• Opis rješenja: Svi programski jezici imaju mogudnosti direktnog ispisa teksta naredbom za ispis.

Page 13: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Primjer 3. Napisati program za izračunavanje aritmetičkog izraza: 9 + 2 (7 - 4).

• Opis rješenja: Svi programski jezici imaju mogudnosti direktnog izračunavanja aritmetičkih izraza u naredbi za ispis.

Page 14: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Zadatak: Nacrtati algoritam za izračunavanje izraza:

3/2 - 3

i

3/(2-3)

Page 15: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Riješeni primjeri

Linijske algoritamske šeme

Page 16: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Primjer 1. Vrijedost varijable X je 3. Ispisati na ekran vrijednost varijable x i uvedanu vrijednost x za 2.

Opis rješenja:

Page 17: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Primjer 2. Napisati program za izračunavanje kvadrata učitanog broja.

Opis rješenja: Prvo se izvodi učitavanje broja (x). Slijedi obrada to je množenje broja x sami sa sobom. Na kraju je ispis učitane i izračunate vrijednosti.

Page 18: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Primjer 3. Za učitani poluprečnik izračunati površinu kruga.

Opis rješenja: Učitati poluprečnik. Mnogi programski jezici imaju vrijednosti broja Pi ved u sebi, ali se ta vrijednost mora na pravi način koristiti. Poslije izračunavanja površine p := Pi * r * r se izvodi ispis.

Page 19: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Primjeri prostih linijskih algoritama

Page 20: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl
Page 21: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl
Page 22: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl
Page 23: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl
Page 24: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl
Page 25: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Aritmetička sredina je suma članova podijeljena sa 2. Zato se koriste zagrade: y=(x+z)/2

Page 26: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl
Page 27: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl
Page 28: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl
Page 29: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl
Page 30: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl
Page 31: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Zadatak 4. Napisati program koji izračunava slijedede izraze:

c = x * y

d = x - y

e = c - x + y

Opis rješenja: Zadatak rješavamo upisom vrijednosti x i y. Vrijednost c se izračunava i koristi pri izračunavanju vrijednosti varijable e. Na kraju je ispis.

Page 32: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Primjer 5. Napisati program za izračunavanje kvadrata učitanog broja.

Opis rješenja: Prvo se izvodi učitavanje broja (x). Slijedi obrada to je množenje broja x sami sa sobom. Na kraju je ispis učitane i izračunate vrijednosti.

Page 33: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Zadatak 1: Napisati u obliku funkcije algoritam prikazan na slici dole.

Page 34: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Proste linijske šeme - Zadaci za vježbu

Izračunavanja:

• Učitati dva broja i naći sumu. Nacrtati algoritam.

• Jedan radnik uradi posao za M dana a drugi za N dana. Za koliko dana bi uradili posao ako rade zajedno. Nacrtati algoritam.

• Ako vozilo pređe sa x litara s km. Koliko potroši litara na 100 km.. Nacrtati algoritam.

• U banci imate određenu sumu novca. Godišnja kamata je 17%. Pod predpostavkom da ništa ne podižete u banci, koliko ćete novaca imati nakon tri godine. Nacrtati algoritam.

• Napisati program za izračunavanje pređenog puta (s) pri jednolikom ubrzanom kretanju ( s=v0t + at2/2 ). Nacrtati algoritam.

• Nacrtati algoritam za računanje godina starosti. Nacrtati algoritam.

• Koliko treba dodati primjese u tečnost zapremine V da se sa 2% poveća na 5%. Nacrtati algoritam.

• Geometrija i trigonometrija

• Za poznati r naći O i P kruga. Nacrtati algoritam.

• Izračunati sumu kubova 3 učitana broja. Nacrtati algoritam.

• Učitati stranice trougla i naći obim i površinu. Nacrtati algoritam.

• Učitati katete pravouglog trougla. Izračunati površinu i hipotenuzu. Nacrtati algoritam.

• Izračunati O, P i V kvadra (za poznate stranice a, b, c). Nacrtati algoritam.

• Učitati koordinate dvije tačke M1(x1,y1) i M2(x2,y2) i izračunati udaljenost. Nacrtati algoritam.

• Pretvaranja

• Učitati časove, minute i sekunde. Ispisati koliko je to sekundi. Nacrtati algoritam.

• Nacrtati algoritam za pretvaranje dolara u evre. Nacrtati algoritam.

• Nacrtati algoritam za pretvaranje galona u litre. (1 galon = 4.54 litre). Nacrtati algoritam.

• Nacrtati algoritam za pretvaranje km/h u m/s. Nacrtati algoritam.

• Nacrtati algoritam kojim se prevodi temperatura iz skale Celzija u skalu Farenhajta. Nacrtati algoritam.

• Aritmetička sredina

• Naći aritmetičku sredinu tri broja. Nacrtati algoritam.

• Poznata je površina pravougaonika i stranica a. Izračunati obim i dijagonalu. Nacrtati algoritam.

• Učitati 2 broja. Izračunati korijen aritmetičke sredine njihovih apsoltnih vrijednosti. Nacrtati algoritam.

• Učitati 4 broja. Izračunati korijen aritmetičke sredine njihovih apsoltnih vrijednosti. Nacrtati algoritam.

Page 35: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Slični algoritmi

• Opis rješenja: Naredni primjer prikazuje sličnost izgleda algoritama koji izračunavaju aritmetičke operacije. Ulaz je isti (učitati dva broja), Izlaz je ispisati učitane brojeve i izračunati.

• Razlika algoritama je samo u operatoru u obradi ( +, -, *).

Page 36: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Nacrtati algoritam za aritmetičke operacije:

a) sabiranje;

b) oduzimanje;

c) množenje;

N a p o m e n a: Bitan dio zadataka je označen sa

Page 37: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Jednostavni algoritmi

Razgranata algoritamska šema Cjelobrojna djeljivost

Page 38: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Djeljivost – cjelobrojno dijeljenje

Kad se dijele dva broja pojavljuje se ostatak (različit od nule) ako broj nije djeljiv.

Ovo ima veliku primjenu u računarskoj tehnici tako da se koriste naredbe za cjelobrojno dijeljenje (DIV) i ostatak cjelobrojnog dijeljnja (MOD).

Na primjer, kad se broj 7 dijeli sa 2, rezultat je 3 i ostatak 1.

Ovaj oblik dijeljenja se prikazuje sa 7 : 2 = 3 (1).

Page 39: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

DIV-naredba za cjelobrojno dijeljenje

Rezultat cjelobrojnog dijeljenja je količnik bez ostatka tj. uzima se samo cio dio količnika.

Primjer 1. Izvesti cjelobrojno dijeljenje 7 sa 2.

Kad se broj 7 dijeli sa 2, rezultat cjelobrojnog dijeljenja je 3 a ostatak se ne uzima u obzir.

Računarski ispis:

7 DIV 2

Rezultat je 3.

Page 40: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

DIV-naredba za cjelobrojno dijeljenje

Primjer 2. Prikazati cjelobrojno dijeljenje brojeva 10, 20, ... , 100 sa 10.

• Cjelobrojno dijeljenja sa 10 znači odbacivanje cifre sa najmanjom težinom tj. cifre jedinica (prvu cifru sa desne strane). Tako da bi 10 DIV 10 i 19 DIV 10 dali isti rezultat 1 (tj. odbacili bi desnu cifru).

• Na narednoj slici prikazano je cjelobrojno dijeljenje brojeva 10, 20, ..., 100 sa 10. Rezultat je odbacivanje desne cifre djeljenika.

Page 41: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl
Page 42: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Primjer 3. Prikazati cjelobrojno dijeljenje brojeva 123, 223, 323, ... , 1023 sa 100.

• Cjelobrojno dijeljenja sa 100 znači odbacivanje dvije cifre sa najmanjom težinom tj. cifre desetica i jedinica (dvije cifre sa desne strane). Tako da bi 323 DIV 100 i 394 DIV 100 dali isti rezultat 3 (tj. odbacili bi dvije desne cifre).

• Na slijededoj slici prikazano je cjelobrojno dijeljenje brojeva 123, 223, 323, ..., 1023 sa 100. Rezultat je odbacivanje dvije desne cifre. Ostaje cifra stotica.

Page 43: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Dijeljenje sa 100 intervala 123 do 1023

Page 44: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl
Page 45: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

MOD - Ostatak cjelobrojnog dijeljenja

Rezultat naredbe MOD je ostatak cjelobrojnog dijeljenja. N a p o m e n a: Prije provjere djeljivosti (ostatka) treba provjeriti da li je broj pozitivan. Primjer 4. Izračunati ostatak cjelobrojnog dijeljenja 7 sa 2. Kad se broj 7 dijeli sa 2, rezultat je 3 i ostatak 1. Ovaj oblik dijeljenja se prikazuje sa 7 : 2 = 3 (1). Računarski ispis: 7 MOD 2 Rezultat je 1.

Page 46: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Primjer 5 . Ispisati ostatak cjelobrojnog dijeljenja brojeva od 1 do 9 sa brojem 2.

Ostatak dijeljenja sa 2 je provjera parnosti. Ako je broj paran rezultat naredbe n MOD 2 je 0 (npr., 2 MOD 2, 4 MOD 2, ... rezultat je 0).

Rezultat naredbe ostatka dijeljenja neparnih bojeva je 1 (npr. 1 MOD 2, 3 MOD 2, 5 MOD 2,... rezultat je 1).

Na narednoj slici prikazan je ispis ostataka dijeljenje brojeva od 1 do 9 sa 2.

Page 47: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl
Page 48: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Primjer 6 . Ispisati ostatak cjelobrojnog dijeljenja brojeva od 1 do 9 sa brojem 10.

Dijeljenje sa 10 je izdvajanje zadnje cifre.

Rezultat naredbe 1 MOD 10 je 1, 2 MOD 10 je 2, ..., 9 MOD 10 je 9 i 10 MOD 10 je 1.

Page 49: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl
Page 50: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl
Page 51: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Razgranata algoritamska šema IF THEN

Page 52: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

• Razgranata linijska šema je ona kod koje se svaki algoritamski korak izvršava najviše jedanput. To znači da postoje algoritamski koraci koji se ne izvrše. Ovdje mora postojati bar jedan uslovni korak koji omogudava grananje algoritma.

• Na slijededoj slici su elementi razgranate strukture:

Page 53: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Razgranata algoritamska šema IF THEN

Page 54: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Šablon za razgranatu šemu IF THEN:

Ako je uslov ispunjen (korak 2) izvršide se naredba ili blok naredbi tj. algoritmskih koraka (korak 3).

Ako uslov nije ispunjen naredba (blok narebi) se ignoriše i nede se izvršiti.

Page 55: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Šablon za razgranatu šemu IF THEN

Page 56: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Primjer:

Ako je a < 0 tada je y: = 3.

Page 57: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

# 1- Upiši a. Ako je a vede od nule ispiši POZITVNO.

# 2- Upisi a. Ako je manje od nule ispiši NEGATIVAN.

# 3- Upiši a. Ispiši a, ako je pozitivan.

# 4- Upiši a. Ispiši a, ako je negativan.

# 5- Upiši a. Ako je jedan 0 ispiši NULA.

# 6- Učitati y, Ako je y vede od 9 ispiši NIJE JEDNOCIFREN.

# 7- Provjeriti da li je od dva upisana broja prvi djeljiv sa drugim. Ako jeste ispisati DJELJIV.

# 8- Provjeriti da li je od dva upisana broja prvi djeljiv sa drugim. Ako nije ispisati NIJE DJELJIV.

# 9- Provjeriti da li je upisani broj a djeljiv sa 3. Ako jeste ispisati DJELJIV.

# 10- Provjeriti da li je upisani broj a djeljiv sa 3. Ako nije ispisati NIJE DJELJIV.

# 11- Provjeriti da li je upisani broj a djeljiv sa 2. Ako jeste ispisati PARAN.

# 12- Provjeriti da li je upisani broj a djeljiv sa 2. Ako nije ispisati NIJE PARAN.

# 13- Provjeriti da li je upisani broj a djeljiv sa 7. Ako nije ispisati NIJE DJELJIV.

Page 58: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

# 14- Učitati a, Ako je a djeljiv sa 7, Ispisati DJELJIV. # 15- Učitati a, Ako je a djeljivo sa 5, Ispisati DJELJIV. # 16- Učitati a. Ako je a djeljivo sa 2 ispisati PARAN, inače ispisati NIJE PARAN. # 17- Učitati x, Ako je x vede od nule z postaje 1, inače z je 0. # 18- Učitati x, Ako je x negativno z postaje x-3, inače z je x+4. # 19- Učitati a. Ako je a djeljivo sa 2 tada b postaje 2, inače b je 1. # 20- Učitati x, Ako je x pozitivno z postaje suma a i b, inače z je razlika a i b. # 21- Učitati x, Ako je x pozitivno y postaje razlika a i b, inače y je suma c i d. # 22- Učitati x, Ako je x manje ili jednako 0, Tada je y=5+x, inače je y=x-3. # 23- Učitati x, Ako je x vede od 2 tada je y=5, inače je y=1. # 24- Učitati y, Ako je y pozitivno tada je b=c, inače je b=-c. # 25- Učitati a, Ako a nije djeljiv sa 4, ispisati Broj nije djeljiv sa 4. # 26- Učitati x, Ako je x vede od 5 tada je y=3, inače je y=6 # 27- Učitatii y, ako je y manje od 0 tada je b=c-3, inače b = 3 – c # 28- Upisati a,b, ako je a vede od b onda je c=2a-b, inače je c=a+2b # 29- Upisati x i y x vede od y onda je d=x*y, inače je d=x-y # 30- Upisati y, ako je vedi od 9 ispisati nije jednocifren.

Page 59: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Proste razgranate šeme - Zadaci za vježbu

Napomena 1: Dijeljenje sa nula nije mogude. Zato, kod svakog dijeljenja treba provjeriti da li je djelilac (nazivnik) različit od nula.

Napomena 2: Korijen iz negativnog broja nema smisla i nije ga mogude izračunati. Zato je u programiranju uvijek potrebno provjeriti da li je podkorijena vrijednost veda ili jednaka nuli.

Izvinjavam se na pitanju: Znate li koliki je četvrti korijen od nula? A, koliki je drugi korijen od nula?

Page 60: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

7. Učitati stranice pravougaonika sa tastature. Izračunati obim i površinu pravougaonika. Ispisati poruku da li je upisani lik pravougaonik ili kvadrat.

8. Ispisati apsolutnu vrijednost broja (ako je broj negativan mijenja se predznak broja).

Zadaci za vježbu

Page 61: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

14. Učitati realan broj, ako je broj pozitivan ispisati njegov korijen, a ako je negativan, njegov kvadrat.

16. Učitati dva realna broja, ako je prvi vedi ili jednak drugom, napisati njihov zbir, inače razliku.

Zadaci za vježbu

Page 62: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

19. Od dva broja nadi vedi i ispisati poruku.

20. Od tri broja nadi najvedi i ispisati poruku.

21. Od tri broja nadi recipročnu vrijednost najmanjeg i ispisati poruku.

22. Od tri broja nadi recipročnu vrijednost najvedeg i ispisati.

Djeljivost

23. Provjeriti da li je upisani broj a djeljiv sa 3. Ako jeste ispisati DJELJIV SA 3.

24. Provjeriti da li je upisani broj a djeljiv sa 2. Ako jeste ispisati PARAN.

Zadaci za vježbu

Page 63: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Zadaci za vježbu

Page 64: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Zadaci za vježbu

28. Učitati prirodan broj. Ako je neparan ispisati njegovu recipročnu vrijednost, a ako je paran ispisati recipročnu vrijednost njegovog sljedbenika.

29. Učitati cijeli broj. Ako je djeljiv i sa dva i sa tri nadi njegovu recipročnu vrijednost, inače ispisati taj broj.

Page 65: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Razgranata algoritamska šema Riješeni primjeri - IF THEN

Primjer 1. Učitati broj a. Ako je učitani broj a vedi od nule napisati "POZITIVAN"

Opis rješenja: Sa tastature se upisuje vrijednost varijable a. Logičkim izrazom a>0 u naredbi IF izvodi se poređenje da li je upisana vrijednost pozitivna. Ako je logički izraz istinit na ekranu se ispisuje "POZITIVAN", inače za ostale slučajeve nema ispisa. Ovo je provjera da li je broj pozitivan tj. vedi od nule.

Page 66: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Slika 1. Učitati broj a. Ako je učitani broj a veći od nule napisati "POZITIVAN"

Page 67: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Primjer 2. Provjeriti da li je od dva učitana broja prvi djeljiv sa drugim. Opis rješenja: Upisati dvije vrijednosti (a, b). Provjera da li je prvo upisani broj (a) djeljiv sa drugim se izvodi sa logičkim izrazom a MOD b =0 u naredbi IF. Ako je logički izraz istinit na ekranu se ispisuje DJELJIV, inače nema ispisa. Logički izraz za provjeru djeljivosti (a MOD b = 0) je istinit ako je a djeljivo sa b i tada se na ekranu ispisuje DJELJIV. Inače za ostale slučajeve nema ispisa. Naredbom a MOD b se izračunava ostatak dijeljenja broja a sa brojem b. Ostatak dijeljenja je! jednak! 0 ako je broj a djeljiv sa brojem b.

Page 68: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Slika 2. Provjeriti da li je od dva učitana broja prvi djeljiv sa drugim

Page 69: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Razgranata linijska šema je ona kod koje se svaki algoritamski korak izvršava najviše jedanput. To znači da postoje algoritamski koraci koji se ne izvrše. Ovdje mora postojati bar jedan uslovni korak koji omogudava grananje algoritma (Razgranata šema IF THEN). Na slijededoj slici su elementi razgranate strukture:

Razgranata algoritamska šema IF THEN ELSE

Page 70: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Razgranata algoritamska šema IF THEN ELSE

Page 71: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

• Šablon za razgranatu šemu IF THEN ELSE: Ako je uslov ispunjen (korak 2) izvršide se naredba ili blok naredbi, algoritmskih koraka (korak 3). Ako uslov nije ispunjen izvršide se naredba ili blok naredbi, algoritmskih koraka (korak 4).

Page 72: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Šablon za razgranatu šemu IF THEN ELSE

Slika 5. Koraci za razgranatu šemu IF THEN ELSE

Page 73: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Šablon za razgranatu šemu IF THEN ELSE

Slika 7. Šablon za razgranatu šemu IF THEN ELSE

Page 74: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Primjer: Ako je x1<x2 tada je y:=x1+x2 inače y:=x1-x2.

Slika 6. Algoritam za izračunavanje: ako je x1<x2 tada je y:=x1+x2 inače y:=x1-x2

Page 75: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Razgranata algoritamska šema Višeblokovsko grananje

Page 76: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

• Šablon za razgranatu šemu IF THEN ELSE: Ako je uslov ispunjen (korak 2) izvršide se naredba ili blok naredbi, algoritmskih koraka (korak 3). Ako uslov nije ispunjen izvršide se naredba ili blok naredbi, algoritmskih koraka (korak 4).

Page 77: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Slika 5. Koraci za razgranatu šemu Višeblokovsko grananje

Page 78: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Primjer: Ako je

Slika 6. Algoritam za izračunavanje

Page 79: 00 Algoritmi Prosti Linijski Algoritmi Osnovni Pojmovi Primjeri Rjesenja i Zadaci 79 Sl

Šablon za razgranatu šemu Višeblokovsko grananje