osnovi ra čunarstva
DESCRIPTION
Osnovi ra čunarstva. Rešavanje problema primenom računara. Rešavanje problema primenom računara. Tri faze: analiza problema razvoj algoritma za rešavanje problema transformacija algoritma u računarski program (programiranje). Analiza problema. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Osnovi ra čunarstva](https://reader036.vdocuments.pub/reader036/viewer/2022062321/56812a44550346895d8d7701/html5/thumbnails/1.jpg)
Osnovi računarstva
Rešavanje problema primenom računara
![Page 2: Osnovi ra čunarstva](https://reader036.vdocuments.pub/reader036/viewer/2022062321/56812a44550346895d8d7701/html5/thumbnails/2.jpg)
Rešavanje problema primenom računara
• Tri faze:
– analiza problema
– razvoj algoritma za rešavanje problema
– transformacija algoritma u računarski program (programiranje).
![Page 3: Osnovi ra čunarstva](https://reader036.vdocuments.pub/reader036/viewer/2022062321/56812a44550346895d8d7701/html5/thumbnails/3.jpg)
Analiza problema
• Cilj: da pruži preciznu definiciju i opis problema, specifikaciju ulaznih podataka, specifikaciju izlaznih podataka (rezultate koji se očekuju), kao i postupak da se do takvih rezultata dođe.
• Specifikacija ulaznih i izlaznih podataka određuje u izvesnom stepenu i algoritam obrade podataka.
![Page 4: Osnovi ra čunarstva](https://reader036.vdocuments.pub/reader036/viewer/2022062321/56812a44550346895d8d7701/html5/thumbnails/4.jpg)
Algoritmi• Algoritam predstavlja niz uputstava koja tačno
određuju redosled operacija koje će dovesti do rešenja za probleme datog tipa.
• Karakteristike:– broj operacija koje se moraju izvršiti za rešenje
konkretnog problema nije poznat unapred.– procedura koja je određena algoritmom je
deterministički proces – data u obliku konačnog broja instrukcija
– instrukcije koje čine algoritam definišu proceduru koja se može izvršiti na odgovarajućem skupu podataka i u svakom slučaju dovodi do korektnog rezultata.
![Page 5: Osnovi ra čunarstva](https://reader036.vdocuments.pub/reader036/viewer/2022062321/56812a44550346895d8d7701/html5/thumbnails/5.jpg)
Algoritmi
• 5 važnih osobina:– konačnost– definisanost (bez dvosmislenosti – opis u
odgovarajućem jeziku)– ulaz– izlaz– efikasnost (vreme ili količina zauzete
memorije)
![Page 6: Osnovi ra čunarstva](https://reader036.vdocuments.pub/reader036/viewer/2022062321/56812a44550346895d8d7701/html5/thumbnails/6.jpg)
Predstavljanje algoritama
• Različite tehnike:– prirodni jezici– blok dijagrami algoritma (grafička predstava)– meta jezici (između prirodnih i programskih
jezika)– programski jezici
![Page 7: Osnovi ra čunarstva](https://reader036.vdocuments.pub/reader036/viewer/2022062321/56812a44550346895d8d7701/html5/thumbnails/7.jpg)
Blok dijagram algoritma
![Page 8: Osnovi ra čunarstva](https://reader036.vdocuments.pub/reader036/viewer/2022062321/56812a44550346895d8d7701/html5/thumbnails/8.jpg)
Simbol obrade
• Za predstavljanje svih operacija u kojima dolazi do transformacije informacionih struktura najčešće aritmetičkim, logičkim ili operacijama prenosa informacionog sadržaja.
A <- B * 3
![Page 9: Osnovi ra čunarstva](https://reader036.vdocuments.pub/reader036/viewer/2022062321/56812a44550346895d8d7701/html5/thumbnails/9.jpg)
Simbol obradePOČETAK
ANALIZAPROBLEMA
RAZVOJALGORITMA
PROGRAMIRANJE
?
?
?
KRAJ
REZULTATI TAČNI
GREŠKA U PROGRAMU
GREŠKA U ALGORITMU
DA
DA
NE
NE
NE
DA
![Page 10: Osnovi ra čunarstva](https://reader036.vdocuments.pub/reader036/viewer/2022062321/56812a44550346895d8d7701/html5/thumbnails/10.jpg)
Simbol ulaza/Izlaza
• Za predstavljanje ulazno/izlaznih operacija koje uvode podatke u obradu i/ili ispisuju rezultate obrade.
UČITAJX
![Page 11: Osnovi ra čunarstva](https://reader036.vdocuments.pub/reader036/viewer/2022062321/56812a44550346895d8d7701/html5/thumbnails/11.jpg)
Simbol odluke
• Za označavanje operacija odlučivanja ili grananja toka izvođenja algoritma, a prema nekom kriterijumu odlučivanja.
• Dve vrste:– aritmetički– logički L
DA
NE
E1:E2< >
=
![Page 12: Osnovi ra čunarstva](https://reader036.vdocuments.pub/reader036/viewer/2022062321/56812a44550346895d8d7701/html5/thumbnails/12.jpg)
Simbol podalgoritma
• Da označi više algoritamskih koraka pogodno grupisanih u celinu koju nazivamo podalgoritam i koju nije potrebno dalje razlagati u detalje.
• Motivacija:– ponavljajuće delove
grupisati u podalgoritam– dekompozicija problema na
manje
Sortiranje niza A porastućem redosledu
![Page 13: Osnovi ra čunarstva](https://reader036.vdocuments.pub/reader036/viewer/2022062321/56812a44550346895d8d7701/html5/thumbnails/13.jpg)
Osnovne algoritamske strukture
• Linijska struktura
• Struktura sa grananjem
• Petlja
• Struktura sa podalgoritmima
![Page 14: Osnovi ra čunarstva](https://reader036.vdocuments.pub/reader036/viewer/2022062321/56812a44550346895d8d7701/html5/thumbnails/14.jpg)
Linijska struktura
• Postoji samo jedna grana izvršavanja.
• Svaki algoritamski korak se izvršava samo jednom.
POČETAK
ULAZA, B
SUMA <- A+BRAZ<- A - B
IZLAZA, B, SUMA, RAZ
KRAJ
![Page 15: Osnovi ra čunarstva](https://reader036.vdocuments.pub/reader036/viewer/2022062321/56812a44550346895d8d7701/html5/thumbnails/15.jpg)
Struktura sa grananjem
• Kada se u algoritmu pojavi korak odlučivanja, odn. aritmetičkog ili logičkog testa.
POČETAK
ULAZA
KRAJ
A:0< >
=
ABS <- - (A) ABS <- 0 ABS <- A
IZLAZA, ABS
![Page 16: Osnovi ra čunarstva](https://reader036.vdocuments.pub/reader036/viewer/2022062321/56812a44550346895d8d7701/html5/thumbnails/16.jpg)
Petlja (ciklična struktura)
• Odlikuje se višestrukim izvršavanjem jednog ili više algoritamskih koraka.
![Page 17: Osnovi ra čunarstva](https://reader036.vdocuments.pub/reader036/viewer/2022062321/56812a44550346895d8d7701/html5/thumbnails/17.jpg)
Petlja (ciklična struktura)
• Suma niza:– Niz:
A = {a1, a2, a3, ..., aN} = {ai}, i = 1, ..., N
POČETAK
ULAZN, A
KRAJ
=SUMA <- SUMA + A(i)
I <- 1SUMA <- 0
I <- I + 1
IZLAZSUMA
I > N
DA
NE
A = {ai}, i = 1, ..., N
![Page 18: Osnovi ra čunarstva](https://reader036.vdocuments.pub/reader036/viewer/2022062321/56812a44550346895d8d7701/html5/thumbnails/18.jpg)
Petlja (ciklična struktura)
• Primer:
)!(!
!
ini
nn
i
n
i
n
i i
in
11
10
n
nn
1
POČETAK
ULAZN,M
KRAJ
=BIN <- (N-I)/(I+1)*BIN
I <- 0BIN <- 1
I <- I + 1IZLAZ
N, M, BIN
I : M
<=
>
![Page 19: Osnovi ra čunarstva](https://reader036.vdocuments.pub/reader036/viewer/2022062321/56812a44550346895d8d7701/html5/thumbnails/19.jpg)
Struktura sa podalgoritmima
• Veza između algoritma i podalgoritma – lista ulazno-izlaznih parametara– stvarna lista parametara – parametri koji se
prosleđuju podalgoritmu iz glavnog algoritma– formalna lista parametara – lista parametara
pozvanog algoritma
• Broj, redosled i vrsta parametara stvarne i formalne liste mora da se poklapa.
![Page 20: Osnovi ra čunarstva](https://reader036.vdocuments.pub/reader036/viewer/2022062321/56812a44550346895d8d7701/html5/thumbnails/20.jpg)
Struktura sa podalgoritmima
POČETAK
ULAZN, A
KRAJ
IZLAZREZ
A = {ai}, i = 1, ..., NN - br. el. niza
SABIR(A, N, REZ)
POČETAK
POVRATAK
=SUMA <- SUMA + X(i)
I <- 1SUMA <- 0
I <- I + 1
I > M
DA
NE
SABIR(X, M, SUMA)X = {xi}, i = 1, ..., M
M - br. el.SUMA - suma niza
![Page 21: Osnovi ra čunarstva](https://reader036.vdocuments.pub/reader036/viewer/2022062321/56812a44550346895d8d7701/html5/thumbnails/21.jpg)
Programiranje• Implementacija algoritma na računaru
• Program: niz naredbi (instrukcija) pisanih u određenom programskom jeziku (izvornom jeziku) koji poseduje implicitan ili eksplicitan redosled izvršavanja na računaru.
• Nakon pisanja programa sledi:– testiranje i – otkrivanje grešaka (debagiranje – debugging):
• greška u lošoj definiciji problema• logičke greške u algoritmu• greške prilikom unosa programa.