osnovi ra čunarstva

Post on 30-Dec-2015

29 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

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

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.

top related