Staa Vujii Konstruisati efikasan algoritam znai dati skup
- Slides: 28
Staša Vujičić
Konstruisati efikasan algoritam znači dati skup preciznih uputstava kako doći do rešenja zadatog problema Algoritmi se mogu opisivati: pseudo jezikom prirodnim jezikom dijagramom toka. 2
Opisati prirodnim jezikom detaljno, precizno i nedvosmisleno korake pri rešavanju problema, vodeći računa o redosledu operacija koje se izvršavaju. 3
Pseudo jezik je neformalna kombinacija prirodnog jezika i nekog programskoj jezika. Pri upotrebi pseudo jezika mora se voditi računa da se jezičke konstrukcije koriste uvek na isti način i da budu praćene objašnjenjima (ako je potebno). 4
Za ovaj oblik opisa koriste se grafički simboli čiji je opis propisan ISO standardom. Tekst koji opisuje obradu se zapisuje unutar grafičkih simbola. Tok rada algoritma se opisuje linijama koje povezuju grafičke simbole koji reprezentuju obradu. 5
Napisati algoritam za ispisivanje poruke ”Zdravo svete” na izlazu. Algoritam Ispis ulaz: Nema podataka na ulazu. izlaz: poruka ”Zdravo, svete!!!” početak izlaz: "Zdravo, svete!!!" kraj 6
Napisati algoritam za sabiranje dva broja. Algoritam Sabiranje ulaz: x, y izlaz: zbir brojeva x, y početak ulaz x, y; zbir = x + y; izlaz zbir; kraj 7
Napisati algoritam za razmenu dva broja. Algoritam razmena ulaz: dva broja izlaz: razmenjena dva broja početak ulaz x, y; pom=x; /* pom je pomocna promenljiva */ x=y; y=pom; izlaz x, y; kraj 8
Dat je prav valjak visine H i poluprečnika osnove r. Izračunati površinu i zapreminu valjka. Algoritam P i V valjka ulaz: visina valjka H i poluprecnik osnove r izlaz: P i V valjka početak ulaz H, r; B = πr 2; V = B * H; O = 2πr. H; P = O + 2 B; izlaz P, V; kraj 9
Napisati algoritam za određivanje maksimuma dva broja. Algoritam Maksimum dva broja ulaz: x, y; izlaz: veći od brojeva x i y početak ulaz x, y; ako je x>y onda je max=x; inace je max=y; izlaz max; kraj 10
Napisati algoritam koji rešava kvadratnu jednačinu a * x 2 + b * x + c. Algoritam kvadratna jednačina ulaz: koeficijenti a, b, c izlaz: rešenje kvadratne jednačine x 1 i x 2 početak ulaz a, b, c; 11
D = b 2 - 4 ac; ako je D >= 0 onda je { x 1 = (- b + √D)/2 a x 2 = (- b - √D)/2 a } inace je { x 1 = (-b + i √-D)/2 a x 2 = (-b - i √-D)/2 a } izlaz x 1, x 2; kraj 12
Napisati algoritam za izračunavanje sume brojeva koji se unose na ulazu sve dok se ne unese nula. Algoritam Zbir ulaz: brojevi sve dok se ne unese nula izlaz: zbir brojeva početak zbir = 0; /* Inicijalizujemo zbir na nulu */ ulaz x; /* Unosimo prvi u nizu brojeva */ 13
sve dok je x!=0 radi { zbir=zbir+x; /* Na tekuću vrednost zbira dodajemo broj sa ulaza */ ulaz x; /* Unosimo novi ulazni broj */ } izlaz zbir; /* Na izlaz saljemo izračunati zbir */ kraj 14
Napisati algoritam za izračunavanje maksimuma brojeva koji se unose na ulazu sve dok se ne unese nula. Algoritam Maksimum brojeva ulaz: brojevi sve dok se ne unese nula izlaz: maksimum unetih brojeva početak ulaz x; max = x; 15
sve dok je x!=0 radi { ulaz x; /* Unosimo novi ulazni broj */ ako je x>max onda je max=x; /* Proveravamo da li je uneti broj veći od tekućeg maksimuma i ako jeste onda tekućem maksimumu dodeljujemo njegovu vrednost */ } izlaz max; /* Na izlaz šaljemo izračunati maximum */ kraj 16
Napisati algoritam za određivanje faktorijela prirodnog broja. Algoritam n! ulaz: prirodan broj n izlaz: faktorijel prirodnog broja n početak ulaz n; f=1; 17
sve dok je n>1 radi { f=f*n; n=n-1; } izlaz f; kraj 18
Napisati algoritam za izračunavanje celobrojnog količnika q i ostatka r pri deljenju broja x sa brojem y: x = qy + r; 0 ≤ r < y; 0 ≤ q. Algoritam količnik ulaz: prirodni brojevi x i y izlaz: količnik q i ostatak r pri deljenju x sa y početak ulaz x, y; 19
kolicnik=0; ostatak=x; sve dok je ostatak>=y radi { ostatak=ostatak-y; kolicnik=kolicnik+1; } izlaz kolicnik, ostatak; kraj 20
Napisati algoritam za izračunavanje n-tog Fibonačijevog broja. Algoritam Fibonaci ulaz: n izlaz: n-ti Fibonacijev broj početak ulaz n; x 0=0; x 1=1; 21
ako je n=0 onda je rezultat=x 0; inace je { sve dok je n>1 radi { pom=x 0; x 0=x 1; x 1=pom+x 1; n=n-1; } } rezultat=x 1; izlaz rezultat; kraj 22
Naći najveći zajednički delitelj za dva broja. Algoritam NZD 1 ulaz: prirodni brojevi a, b izlaz: nzd(a, b) početak ulaz a, b; nzd = 1; br=2; 23
sve dok je br <= a i br <= b radi { ako je a%br==0 i b%br==0 onda je nzd=br; br=br+1; } izlaz nzd; kraj 24
Algoritam NZD 2 ulaz: prirodni brojevi a, b izlaz: nzd(a, b) početak ulaz a, b; nzd = 1; ako je a < b onda je nzd=a; inace je nzd=b; indikator=1; 25
sve dok je indikator=1 radi { ako je a%nzd==0 i b%nzd==0 onda je indikator=0; inace je nzd=nzd-1; } izlaz nzd; kraj 26
Algoritam Euklid 1 ulaz: prirodni brojevi a, b izlaz: nzd(a, b) početak ulaz a, b; sve dok je a!=b radi { ako je a>b onda je a=a-b; inace je b=b-a; } 27
izlaz a; kraj 28
- Data movement instructions
- Solane u primorskoj hrvatskoj
- Skup veb stranica koje su medjusobno povezane hipervezama.
- Prirodni brojevi
- Plaut škrtac pitanja i odgovori
- Atribut i apozicija primjeri
- Atributna surečenica
- Skup kompleksnih brojeva
- Neposredni sljedbenik broja 8
- Skup ravnatelja dubrovnik
- Osobine prirodnih brojeva
- Skup pravila za upravljanje prenosom podataka
- Imeničke dopune
- Vrste decimalnih brojeva
- Neoglagoljena rečenica
- Minimum kvadratne funkcije
- Koliko kocka ima uglova
- Linijski algoritmi
- Algoritam informatika
- Hornerova sema kako se radi
- Euklidov algoritam zadaci
- гаусов метод
- Algoritam primjer
- Knn algoritam
- Butov algoritam
- Asimetricna kriptografija
- Dijagram tijeka zadaci
- Algoritam team
- Algoritmi primjeri