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
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
• 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.
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.
Algoritmi
• 5 važnih osobina:– konačnost– definisanost (bez dvosmislenosti – opis u
odgovarajućem jeziku)– ulaz– izlaz– efikasnost (vreme ili količina zauzete
memorije)
Predstavljanje algoritama
• Različite tehnike:– prirodni jezici– blok dijagrami algoritma (grafička predstava)– meta jezici (između prirodnih i programskih
jezika)– programski jezici
Blok dijagram algoritma
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
Simbol obradePOČETAK
ANALIZAPROBLEMA
RAZVOJALGORITMA
PROGRAMIRANJE
?
?
?
KRAJ
REZULTATI TAČNI
GREŠKA U PROGRAMU
GREŠKA U ALGORITMU
DA
DA
NE
NE
NE
DA
Simbol ulaza/Izlaza
• Za predstavljanje ulazno/izlaznih operacija koje uvode podatke u obradu i/ili ispisuju rezultate obrade.
UČITAJX
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< >
=
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
Osnovne algoritamske strukture
• Linijska struktura
• Struktura sa grananjem
• Petlja
• Struktura sa podalgoritmima
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
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
Petlja (ciklična struktura)
• Odlikuje se višestrukim izvršavanjem jednog ili više algoritamskih koraka.
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
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
<=
>
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.
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
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.