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

Osnovi ra čunarstva

Dec 30, 2015

Download

Documents

Calvin Fischer

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
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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.