ALGORITMI. Pojam algoritma Blok dijagram

Similar documents
Mathcad sa algoritmima

Projektovanje paralelnih algoritama II

Algoritam za množenje ulančanih matrica. Alen Kosanović Prirodoslovno-matematički fakultet Matematički odsjek

ZANIMLJIV NAČIN IZRAČUNAVANJA NEKIH GRANIČNIH VRIJEDNOSTI FUNKCIJA. Šefket Arslanagić, Sarajevo, BiH

TEORIJA SKUPOVA Zadaci

Šime Šuljić. Funkcije. Zadavanje funkcije i područje definicije. š2004š 1

Metode praćenja planova

Ivan Soldo. Sažetak. U članku se analiziraju različiti načini množenja matrica. Svaki od njih ilustriran je primjerom.

PRIPADNOST RJEŠENJA KVADRATNE JEDNAČINE DANOM INTERVALU

Zadatci sa ciklusima. Zadatak1: Sastaviti progra koji određuje z ir prvih prirod ih rojeva.

6. PROGRAMSKE STRUKTURE STRUKTUIRANOG PROGRAMIRANJA

SINTAKSNA I ALGORITAMSKA NOTACIJA

Metode izračunavanja determinanti matrica n-tog reda

Slika 1. Slika 2. Da ne bismo stalno izbacivali elemente iz skupa, mi ćemo napraviti još jedan niz markirano, gde će

Red veze za benzen. Slika 1.

Maja Antolović Algoritmi u teoriji brojeva

ALGORITMI ZA ISPITIVANJE DJELJIVOSTI

pretraživanje teksta Knuth-Morris-Pratt algoritam

Geometrijski smisao rješenja sustava od tri linearne jednadžbe s tri nepoznanice

ALGORITAM FAKTORIZACIJE GNFS

Prsten cijelih brojeva

Fajl koji je korišćen može se naći na

Uvod u relacione baze podataka

KLASIFIKACIJA NAIVNI BAJES. NIKOLA MILIKIĆ URL:

1.1 Algoritmi. 2 Uvod

Matematika (PITUP) Prof.dr.sc. Blaženka Divjak. Matematika (PITUP) FOI, Varaždin

Termodinamika. FIZIKA PSS-GRAD 29. studenog Copyright 2015 John Wiley & Sons, Inc. All rights reserved.

Sveučilište u Zagrebu Fakultet prometnih znanosti Diplomski studij. Umjetna inteligencija - Genetski algoritmi 47895/47816 UMINTELI HG/

Simetrične matrice, kvadratne forme i matrične norme

LINEARNI MODELI STATISTIČKI PRAKTIKUM 2 2. VJEŽBE

Pitagorine trojke. Uvod

Sveučilišni studijski centar za stručne studije. Zavod za matematiku i fiziku. Uvod u Matlab. Verzija 1.1

KVADRATNE INTERPOLACIJSKE METODE ZA JEDNODIMENZIONALNU BEZUVJETNU LOKALNU OPTIMIZACIJU 1

Vedska matematika. Marija Miloloža

ALGORITMI PODIJELI PA VLADAJ

Hornerov algoritam i primjene

Mersenneovi i savršeni brojevi

Turingovi strojevi Opis Turingovog stroja Odluµcivost logike prvog reda. Lipanj Odluµcivost i izraµcunljivost

Fibonaccijev brojevni sustav

Algoritam za odre divanje ukupnog poravnanja dva grafa poravnanja parcijalnog ure daja

Matrične dekompozicije i primjene

Kvaternioni i kvaternionsko rješenje kvadratne jednadžbe

Sveučilište J.J. Strossmayera u Osijeku Odjel za matematiku Sveučilišni preddiplomski studij matematike. Ivana Oreški REKURZIJE.

Sveučilište J. J. Strossmayera u Osijeku Odjel za matematiku DIOFANTSKE JEDNADŽBE

Ariana Trstenjak Kvadratne forme

Dr. Željko Jurić: Matematička logika i teorija izračunljivosti Radna skripta za istoimeni kurs na Elektrotehničkom fakultetu u Sarajevu.

Keywords: anticline, numerical integration, trapezoidal rule, Simpson s rule

ZANIMLJIVI ALGEBARSKI ZADACI SA BROJEM 2013 (Interesting algebraic problems with number 2013)

Quasi-Newtonove metode

Ksenija Doroslovački KOMBINATORIKA INTERPRETIRANA FUNKCIJAMA I NJIHOVIM OSOBINAMA MASTER RAD. NOVI SAD jun 2008

Linearno programiranje i primjene

U VOD U ALGOR IT ME I S T RUKT URE P ODATAK A

Osobine metode rezolucije: zaustavlja se, pouzdanost i kompletnost. Iskazna logika 4

Rekurzivni algoritmi POGLAVLJE Algoritmi s rekurzijama

DISKRETNI LOGARITAM. 1 Uvod. MAT-KOL (Banja Luka) ISSN (p), ISSN (o) Vol. XVII (2)(2011), 43-52

Sveučilište J. J. Strossmayera u Osijeku Odjel za matematiku Sveučilišni nastavnički studij matematike i informatike. Sortiranje u linearnom vremenu

Tina Drašinac. Cramerovo pravilo. Završni rad

NIPP. Implementing rules for metadata. Ivica Skender NSDI Working group for technical standards.

DISTRIBUIRANI ALGORITMI I SISTEMI

NIZOVI I REDOVI FUNKCIJA

Karakteri konačnih Abelovih grupa

1 Pogreške Vrste pogrešaka Pogreške zaokruživanja Pogreške nastale zbog nepreciznosti ulaznih podataka

Funkcijske jednadºbe

Grafovi. Osnovni algoritmi sa grafovima. Predstavljanje grafova

MREŽNI DIJAGRAMI Planiranje

An Algorithm for Computation of Bond Contributions of the Wiener Index

Sortiranje podataka. Ključne riječi: algoritmi za sortiranje, merge-sort, rekurzivni algoritmi. Data sorting

Matrice u Maple-u. Upisivanje matrica

Konstekstno slobodne gramatike

Mehurasto sortiranje Brzo sortiranje Sortiranje učešljavanjem Sortiranje umetanjem. Overviev Problemi pretraživanja Heš tabele.

Sveučilište Josipa Jurja Strossmayera u Osijeku Odjel za matematiku

Pellova jednadžba. Pell s equation

BROJEVNE KONGRUENCIJE

Iskazna logika 1. Matematička logika u računarstvu. oktobar 2012

Matrice traga nula math.e Vol. 26. math.e. Hrvatski matematički elektronički časopis. Matrice traga nula. komutator linearna algebra. Sažetak.

HRVATSKA MATEMATIČKA OLIMPIJADA

O MATLAB-U Što je MATLAB? MATLAB je naročito dobar za. Elektrotehnika. Kako se i gdje sve Matlab koristi u tehnici?

Zanimljive rekurzije

U čemu je snaga suvremene algebre?

UNIVERZITET U BEOGRADU MATEMATIČKI FAKULTET

SITO POLJA BROJEVA. Dario Maltarski PRIRODOSLOVNO MATEMATIČKI FAKULTET MATEMATIČKI ODSJEK. Diplomski rad. Voditelj rada: Doc. dr. sc.

Nilpotentni operatori i matrice

Kontrolni uređaji s vremenskom odgodom za rasvjetu i klimu

FTN Novi Sad Katedra za motore i vozila. Drumska vozila Uputstvo za izradu vučnog proračuna motornog vozila. 1. Ulazni podaci IZVOR:

FIZIKALNA KOZMOLOGIJA VII. VRLO RANI SVEMIR & INFLACIJA

povezuju tačke na četiri različita načina (pravom linijom, splajnom,

Modified Zagreb M 2 Index Comparison with the Randi} Connectivity Index for Benzenoid Systems

ODREĐIVANJE DINAMIČKOG ODZIVA MEHANIČKOG SUSTAVA METODOM RUNGE-KUTTA

Mostovi Kaliningrada nekad i sada

Sveučilište J. J. Strossmayera u Osijeku Odjel za matematiku

1.1 Uvod. 1.1 Uvod Značajke programskog jezika Python Interpretacija me dukôda

Oracle Spatial Koordinatni sustavi, projekcije i transformacije. Dalibor Kušić, mag. ing. listopad 2010.

Primjena optimizacije kolonijom mrava na rješavanje problema trgovačkog putnika

NAPREDNI FIZIČKI PRAKTIKUM 1 studij Matematika i fizika; smjer nastavnički MJERENJE MALIH OTPORA

3. Programiranje u Matlab-u

Podatak objekt u obradi. Algoritam uputstvo ( recept ) koje opisuje transformaciju ulaznih podataka u traženi razultat. Izvršitelj?

Strojno učenje 3 (II dio) Struktura metoda/algoritama strojnog učenja. Tomislav Šmuc

KRITERIJI KOMPLEKSNOSTI ZA K-MEANS ALGORITAM

PRIMJENA USMJERENIH HIPERGRAFOVA ZA PREDSTAVLJANJE FUNKCIONALNIH ZAVISNOSTI U RELACIONIM MODELIMA

Transcription:

ALGORITMI Pojam algoritma Blok dijagram

UVOD U ALGORITME Sadržaj Pojam algoritma Primjeri algoritama Osnovna svojstva algoritama

Pojam algoritma Što je algoritam? Grubo rečeno: Algoritam = metoda, postupak, pravilo za rješenje nekog problema ili dostizanje nekog cilja. Ovo nije precizna definicija u matematičkom smislu, već samo opis preko drugih, sličnih pojmova, pri čemu je postupak najbliži.

Pojam algoritma (2) Postupak asocira na konačan niz koraka koje treba napraviti za rješenje nekog problema Metoda se kao izraz često koristi u matematici, ali obično uključuje i tzv. beskonačne postupke koji tek na limesu daju rješenje (mat. analiza, numer.mat.)

Pojam algoritma (3) Osnovna zadaća razvoj efikasnih i točnih Algoritama Intuitivno je jasno da efikasno znači brzo, a točno da je rješenje blizu pravom rješenju.

Primjeri algoritama Npr. upute za uporabu (korištenje, rukovanje, instalaciju, ) tehničkih pomagala. Upute za korištenje kartice na bankomatu umetnite karticu u čitač tako da magnetska traka bude s donje desne strane; u slučaju da to od Vas uređaj zatraži odaberite jezik; odaberite iznos ili uslugu; odgovorite želite li potvrdu; uzmite karticu; uzmite novac; uzmite potvrdu ako ste potvrdili da ju želite.

Primjeri algoritama (2) Rješavanje linearne jednadžbe ax=b ako su i a i b jednaki nuli jednadžba ima beskonačno rješenja; ako je a jednak nuli i b različit od nule jednadžba nema rješenje; ako su i a i b različiti od nule jednadžba ima jedinstveno rješenje x=b/a.

Pojam algoritma Algoritam - postupak ili niz postupaka koje treba obaviti pri rješavanju određenog problema. Načelo ekvifinaliteta - za rješavanje nekog problema ne mora postojati jedinstven algoritam.

Pojam algoritma Algoritam mora udovoljiti nekolicini kriterija: Općenitost. Konkretnost. Svrhovitost. Konačnost. Efikasnost. Ponovljivost. Razumljivost. Formaliziranost. Instruktivnost.

Pojam algoritma Općenitost. Algoritam mora biti pogodan za rješavanje određenog tipa problema, a ne samo jednog konkretnog problema. Konkretnost. Algoritam mora prihvatiti konačan broj ulaznih veličina koje potpuno određuju konkretni problem koji treba riješiti. Svrhovitost. Algoritam mora dati barem jednu izlaznu veličinu, odnosno rezultat rješenja problema. Konačnost. Algoritam mora dati rješenje postavljenog problema u konačnom broju koraka odnosno postupaka.

Pojam algoritma Efikasnost. Postupak mora završiti u prihvatljivom vremenu i prihvatljivom utrošku drugih resursa. Ponovljivost. Ponovljeni postupak uz iste ulazne veličine mora dati isti rezultat, odnosno izlazne veličine. Razumljivost. Postupci određeni algoritmom moraju biti poznati izvršitelju. Formaliziranost. Svaki postupak mora biti jednoznačno i nedvosmisleno definiran. Instruktivnost. Postupci trebaju biti iskazani u formi naredbi izvršitelju.

Pojam algoritma Algoritam je uređeni skup jednoznačnih (nedvosmislenih), izvedivih koraka

Pojam algoritma Pojam algoritma danas se gotovo isključivo veže uz softver. Algoritam koji opisuje postupak stvaranja algoritma - metaalgoritam. Mataalgoritam rač unalnog programa Mentalni model Apstraktnost Pomoć ni model Formaliziranost Detaljnost Rač unalni model

Primjer algoritma Dva algoritma za izračunavanje faktorijele Koji je bolji? int factorial (int n) { if (n <= 1) return 1; else return n * factorial(n-1); } int factorial (int n) { if (n<=1) return 1; else { fact = 1; for (k=2; k<=n; k++) fact *= k; return fact; } }

Načini predstavljanja algoritama Tekstualni Grafički (pomoću dijagrama toka) Pseudo kodom Strukturogramom

Tekstualni način Koriste se precizne rečenice govornog jezika Koristi se za osobe koje se prvi put sreću sa pojmom algoritma Dobra osobina: razumljivost za širi krug ljudi Loše: nepreciznost koja proističe iz nepreciznosti samog jezika

Grafičko predstavljanje algoritma Koriste se određeni grafički simboli za predstavljanje pojedinih aktivnosti u algoritmu Ideja je posuđena iz teorije grafova Algoritam se predstavlja usmjerenim grafom čvorovi grafa predstavljaju aktivnosti koje se obavljaju u algoritmu potezi ukazuju na slijedeću aktivnost koja se treba obaviti

Blok dijagram Blok dijagram -grafički način predstavljanja algoritma skupom simbola koji označuju pojedine operacije, a njihov raspored i povezanost određuju slijed postupaka.

Grafičko predstavljanje algoritma Polazni čvor u usmjerenom grafu koji predstavlja algoritam nema dolaznih grana, a ima samo jednu izlaznu granu početak Krajnji čvor u grafu koji predstavlja algoritam koji nema izlaznih grana, a ima samo jednu dolaznu granu kraj

Grafičko predstavljanje algoritma Blok oblika romboida koristi se za označavanje ulaznih i izlaznih aktivnosti U ulaz: izlaz: Blok obrade je pravokutnog oblika obrada Blok odkuke da uvjet ne

Grafičko predstavljanje algoritma Blok spajanja grana

Blok dijagram Skup grafičkih simbola koji se koriste pri izradi blok dijagrama malen: Početak i kraj Ulaz Odluka Obrada Izlaz Vanjski modul Priključna točka Poveznica

Osnovne algoritamske strukture Kombiniranjem blokova dobivaju se osnovne algoritamske strukture Linijska (sekvenca,slijed) Razgranata (selekcija, grananje) Ciklička (iteracija, ponavljanje, petlja) Pomoću osnovnih algoritamskih struktura može se predstaviti svaki algoritam

Sekvenca,slijed linijska struktura koja se dobiva kaskadnim povezivanjem blokova obrade A 1 A 2 A 3 A n Algoritamski koraci se izvršavaju redom, jedan za drugim Algoritamski korak A i, i=2,...,n ne može započeti sa izvršenjem dok se korak A i-1 ne završi sekvenca predstavlja niz naredbi dodjeljivanja (:=) oblik naredbe: varijabla:=vrijednost a:=b n:=n+1

Grananje (selekcija) Omogućuje uvjetno izvršenje niza algoritamskih koraka da ne da uvjet uvjet S1 S2 S1 Blokovi označeni sa S1 i S2 mogu sadržavati bilo koju kombinaciju osnovnih algoritamskih struktura.

Primjer1 Nacrtati dijagram toka algoritama kojim se određuje veći od dva zadata broja korištenjem formule da max:=a poc a,b a>b max{ a, b} ne max:=b = a, b, a > b a b ideja za nalaženje max u nizu da max:=b poc a,b max:=a max<b max kraj max kraj

Naći maksimum od tri zadana broja a, b i c max{ a, b, c} = poc a,b,c max{max{ a, b}, c} a>c da ne a>b dada ne b>c ne max:=a max:=c max:=b max:=c max kraj

Blok dijagram A=8 B=2 D=4 C=0 B=A+B C=C+1 D > C DA Primjer algoritma programske petlje

Petlja (ciklus) Omogćuje da se algoritamski koraci ponavljaju više puta. definiranje uvjeta uvjet da tijelo petlje ne ne tijelo petlje uvjet da Za svaki i:=k 1 do k 2 korak k 3 tijelo petlje Sve dok-činiti Ponavljaj-sve dok brojač petlja k k 1 broj prolaza n = 2 + 1 k3

Pravila Ako petlja počinjene unutar tada bloka ili inače bloka, u tom bloku se mora i završiti! Dozvoljene su paralelne (ugnježdene) petlje. Nisu dozvoljene petlje koje se sijeku!

Pravila Paralelne petlje petlje koje se sijeku

Predstavljanje algoritma pomoću pseudo koda Koristi se tekstualni način dopunjen formalizmom svaka od osnovnih algoritamskih struktura se predstavlja na točno definiran način: Slijed ili sekvenca se predstavlja kao niz naredbi dodjeljivanja odvojenih simbolom ; a:=5; b:=a*b; c:=b-a;

Predstavljanje algoritma pomoću u pseudo koda (nast( nast.) Grananje Ako je (uvjet) tada ili Ako je (uvjet) niz_naredbi niz_naredbi inače Kraj Ako je; niz_naredbi Kraj Ako je; Ako je (a>b) tada ili max:=a; max:=a Ako je (max<b) tada inače max:=b max:=b Kraj Ako je; Kraj Ako je;

Grananje,, primjer2 max(a,b,c) ako je (a>b) tada ako je (a>c) tada max:=a inače max:=c kraj ako je; inače ako je (b>c) tada max:=b inače max:=c kraj ako je ; kraj ako je; max(a,b,c) if (a>b) then if (a>c) then max:=a else max:=c endif; else if (b>c) then max:=b else max:=c endif; endif;

Petlje pseudo kod Sve dok (uvjet) činiti niz_ naredbi Kraj sve dok; repeat niz_naredbi until (uvjet); Primjer: r:= ostatak od m/n Sve dok (r 0) činiti m:=n; n:=r; r:= ostatak od m/n ; Kraj Sve dok; nzd:=n; Primjer: Ponavljaj r:= ostatak od m/n ; m=n; n:=r; Sve dok (r=0); nzd:=m;

Strukturogrami Kombinacija grafičkog i pseudo koda; Koriste se kao prikladna dokumentacija za već završene programe. Program se piše e uz popunjavanje određene geometrijske slike slijed Ako je uvjet tada inače S1 S2 Sve dok uvjet tijelo petlje tijelo petlje Sve dok uvjet Za svaki i:=n1,n2,n3 tijelo petlje

Strukturogrami - primer if a>b then else then if a>b else max:=a; max:=b; if a>c then else then if b>c else max:=a; max:=c; max:=b; max:=c;

Primjer: Sastaviti algoritam za množenje dvaju proizvoljno zadanih prirodnih brojeva koristeći operaciju zbrajanja. Rješenje: Neka su ulazne veličine prirodni brojevi x i y s vrijednostima kako slijedi : x = 14 i y = 3. X,Y Z

Što je dobar algoritam? U svim okolnostima daje točan rezultat Rješava problem u najkraćem mogućem vremenu Razumljiv je ostalima

KORACI ALGORITMA Prvi korak - razumijevanje problema. Drugi korak - detaljna razrada svakog pojedinačnog koraka. Treći korak provjera algoritma na granične uvjete

Primjer primjera algoritma napisanog hrvatskim jezikom (ne u programskom kodu). Određuje da li je zadani broj n paran ili neparan: 1. POČETAK 2. Pročitaj / Učitaj vrijednost n. 3. Podijeli n sa 2 i zapamti ostatak u pom 4. Ako je pom 0 idi na stavku 7. 5. Ispiši n je neparan broj. 6. Idi na stavku 8. 7. Ispiši n je paran broj. 8. KRAJ

Zbroji dva broja x i y

Podijeli X sa Y

PETLJA

Unesi i zbroji četiri broja x

Obračun telefonskih troškova ZADATAK Sastavite algoritam za obračunavanje telefonskih troškova na kraju mjeseca ako su poznati, broj potrošenih telefonskih impulsa, cijena jednog impulsa i iznos telefonske pretplate. U iznos telefonske pretplate uračunato je prvih 100 impulsa.

da

Grananje(Selekcija) razgranata linijska struktura? ne da inače tada

Ponavljanje (Iteracija) višestruko izvršavanje naredbi - petlja Za svaki i =. naredbe slijedeći i

1. primjer Kreirati blok dijagram koji izračunava zbroj dva broja A i B!

start A, B Z = A + B Z kraj

2. primjer Sastaviti blok dijagram koji izračunava umnožak dva pozitivna broja!

start A, B A>0 B>0 ne da U = A * B U Gdje je greška? kraj

ili start A, B A>0 ne da B>0 ne da U = A * B U kraj

3. primjer Sastaviti blok dijagram koji izračunava razliku dva broja X i Y s tim da se uvijek oduzima manji od većeg.

start X, Y X>=Y da R = X - Y ne R = Y - X R kraj

4. primjer Kreirati blok dijagram koji izračunava zbroj prvih 20 brojeva n brojeva

start Z = 0 i = 1, 20 Z = Z + i start n Z = 0 i = 1, n Z = Z + i Z kraj Z kraj

5. primjer Napraviti algoritam za izračunavanje aritmetičke sredine prvih m brojeva!

start PROSJEK m S = 0 i = 1, m S = S + i P = S / m P kraj

6. primjer Sastaviti dijagram toka koji izračunava funkciju y = x n!

start X, n Y = 1 n=0 da Y kraj ne Y = Y * X n = n - 1

7. Primjer Kreirati algoritam za sljedeći problem: ako je x > 3 => y = x 2 + 5 x = 3 => y = 1 x < 3 => y = 1 / (x 2 + 5)

start x x>3 da Y = x*x+5 ne ne da x=3 Y = 1 Y = 1/(x^2+5) Y kraj

8. Primjer Napraviti dijagram toka za izračunavanje vrijednosti funkcije: x * y za x = y f = x - y za x > y x + y za x < y

start X, Y ne X>Y ne X=Y da da f = X + Y f = X - Y f = X * Y f kraj

Polja/Područja (array) Podatkovna struktura gdje isto ime dijeli više podataka. - uređeni skup podataka čiji su elementi istog tipa. - najčešća struktura podataka - indeks je osnovni elemenat pristupa polju koji definira uređenost polja.

Nizovi jednodimenzionalna polja 1 pozicije u nizu 2 3 4 5 6 7 8 9 10 5 4 9 7 1 9 7 5 9 2 3 6 vrijednosti (elementi) Težina(26) ={ 70,65, 80, 90, 78, 145 } i Težina(i) Za svaki i=1,26 Kraj za svaki S=S+Težina(i)

Za svaki I=1 do n (petlja) Ciklička struktura koja podrazumijeva da je broj iteracija unaprijed poznat: - određena se vrijednost broji od neke početne vrijednosti pa sve do neke krajnje vrijednosti, - rad s područjima (jednodimenzijalna - liste, dvo i višedimenzijalna područja).

Polja/Područja (array) Martica Dužina vijka 1 2 3 4 Promjer vijka 1 2 3 4 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 15P(4,4) 14P(4,3) 13P(4,2) 12P(4,1) 11P(3,4) 10P(3,3) 9P(3,2) 8P(3,1) 7P(2,4) 6P(2,3) 5P(2,2) 4P(2,1) 3P(1,4) 2P(1,3) 1P(1,2) 0P(1,1) Preslikavanje elemenata po redovima MAT(i,j)

Nizovi Unos niza na dva načina: start X(i), n start n i = 1, n X(i)

1. Primjer Napraviti dijagram toka koji izračunava zbroj svih elemenata niza!

start n i = 1, n X(i) Zbroj := 0 i = 1, n Zbroj := Zbroj + X(i) Zbroj kraj

2. Primjer Sastaviti algoritam za sljedeći problem: Dana su dva niza: X(i) i Y(i), i=1, n. Formirati niz Z(i) prema formuli: Z(i) = X(i)*Y(i) za X(i)=Y(i) X(i)+Y(i) za X(i) Y(i) i izračunati sumu elemenata svih nizova!

start X(i), Y(i), n zbroj = 0 i = 1, n X(i)=Y(i) ne da Z(i)=X(i)*Y(i) Z(i)=X(i)+Y(i) zbroj=zbroj+x(i)+y(i)+z(i) 1

1 i = 1, n Z(i) Zbroj kraj

3. Primjer Napraviti blok dijagram koji određuje najveći element niza!

start n i = 1, n Prvi član niza proglasi maksimumom X(i) max = X(1) i = 2, n X(i)>max ne da max = X(i) max kraj

4. Primjer Kreirati blok dijagram koji računa frekvenciju (broj ponavljanja) svakog broja u nizu!

1 2 start i = 1, n j= 1, n n i = 1, n f = 0 p = 0 X(i)=X(j) ne X(i) k = 1, i-1 da f = f+1 1 X(k)=X(i) da p = 1 ne... f kraj p = 0 ne da 2

5. Primjer Napraviti blok dijagram koji za neku provedenu anketu broji koliko je odgovora da, koliko ne, a koliko mozda! Odgovori: ( da, da, ne, mozda, mozda, da, da, mozda, mozda, mozda, ne, da, ne, mozda, da )

start i = 1, 15 1 i = 1, 15 da 2 odg.da ima, a Odg (i) Odg(i)= da a = a+1 odg.nea ima, b da odg.mozda ima, c... a = 0 b = 0 c = 0 Odg(i)= ne b = b+1 kraj 1 Odg(i)= mozda da c = c+1 2

Algoritam - kvadratna jednadžba Napravi dijagram toka za izračunavanje rješenja kvadratne jednadžbe gdje su ulazni objekti koeficijenti kvadratne jednadžbe a,b,c Unesi A,B,C a 1 b -4 c 5 D -4 Izlaz 2+1*i 2-1*i IMA GREŠKA PRONAĐI ISPIŠI X 1 X 2

Kreirati blok dijagram koji određuje najmanji element niza i njegovu poziciju (indeks)!

start n i = 1, n petlja X(i) min = X(1) i = 2, n Petlja, varijabli i pridružuj vrijednosti od 2 do n X(i)<min ne da min = X(i) poz=i min,poz kraj

Algoritam - brojenje znamenki Napravi dijagram toka za brojenje znamenki unesenog broja (npr. za uneseno 324 daje 3) početak br br n cijeli n=0 cijeli = br 324 0 324 1 32.4 cijeli = cijeli / 10 NE 2 3.24 n=n+1 3 0.324 cijeli < 1 n kraj

Što radi ovaj algoritam?

Aritmetička sredina redaka matrice

Algoritam Zadaci 1. Napravi algoritam za igru pogađanja gdje će računalo odrediti neki broj između 0 i 100, recimo 83, a zatim korisnik pokušava pogodit zamišljeni broj i računalo mu odgovara npr. kao što je prikazano u donjoj tablici: Korisnik 50 90 80 83 Računalo Broj je veći Broj je manji Broj je veći Pogodak, broj pokušaja: 4

početak slucajni = RND(100) pokusaj = 0 br pokusaj = pokusaj + 1 'broj je manji' <slucajni br >slucajni 'broj je veči' =slucajni 'Pogodak, broj pokusaja' Što nije u redu (ispravi)? pokusaj kraj

Nacrtati dijagram toka koji će učitati n elemenata niza i ispisati njihovu sumu.

Nacrtati dijagram toka koji će izbrojati koliko ima elemenata jednodimenzionalnog polja koji su manji od učitanog broja X.

Nacrtati dijagram toka koji će učitati niz i ispisati ga obrnutim redoslijedom.

Nacrtati dijagram toka koji će učitati pravokutnu matricu brojeva te izračunati i ispisati sume pojedinih stupaca.

Nacrtati dijagram toka koji će učitati pravokutnu matricu od N redaka i M stupaca brojeva te izračunati i ispisati sume pojedinih redaka.

Nacrtati dijagram toka koji će učitati pravokutnu matricu od N redaka i M stupaca te izračunati i ispisati aritmetičku sredinu svakog retka.

Algoritam Zadaci Napisati program koji će učitavati pozitivne cijele brojeve sve dok se ne unese broj 0, i zatim ispisati koji je najmanji uneseni broj. Zanemariti negativne brojeve zadane pomoću tipkovnice. Napomena: kod traženja najmanjeg (najvećeg) člana niza ili polja koristimo sljedeći algoritam: prvi član niza ili polja proglasimo najmanjim i njegovu vrijednost pohranimo u pomoćnu varijablu koja predstavlja trenutni minimum pretražujemo preostale članove niza (ili polja) i ukoliko je neki od njih manji od trenutnog minimuma, ažuriramo trenutni minimum na tu vrijednost Nakon što smo pretražili cijeli niz ili polje, u pomoćnoj varijabli se nalazi minimalni element niza ili polja Primjer: niz: 5, 6, 3, 9, 4, 7, 2, -1, 5.