osnovi ra čunarstva

21
Osnovi računarstva Rešavanje problema primenom računara

Upload: calvin-fischer

Post on 30-Dec-2015

34 views

Category:

Documents


3 download

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 Presentation

TRANSCRIPT

Page 1: Osnovi ra čunarstva

Osnovi računarstva

Rešavanje problema primenom računara

Page 2: Osnovi ra čunarstva

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

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

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

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

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

Blok dijagram algoritma

Page 8: Osnovi ra čunarstva

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

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

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

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

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

Osnovne algoritamske strukture

• Linijska struktura

• Struktura sa grananjem

• Petlja

• Struktura sa podalgoritmima

Page 14: Osnovi ra čunarstva

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

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

Petlja (ciklična struktura)

• Odlikuje se višestrukim izvršavanjem jednog ili više algoritamskih koraka.

Page 17: Osnovi ra čunarstva

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

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

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

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

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.