programiranje u fizici - nasport.pmf.ni.ac.rsnasport.pmf.ni.ac.rs/materijali/2189/predavanja/8....

13
1/13 dr Dejan S. Aleksid Programiranje u fizici Programiranje u fizici Prirodno-matematički fakultet u Nišu Departman za fiziku

Upload: others

Post on 14-Feb-2020

22 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Programiranje u fizici - nasport.pmf.ni.ac.rsnasport.pmf.ni.ac.rs/materijali/2189/Predavanja/8. Algoritamsko resavanje problema.pdf6. Algoritamsko resavanje problema Algoritam predstavlja

1/13 dr Dejan S. Aleksid Programiranje u fizici

Programiranje u fizici

Prirodno-matematički fakultet u Nišu Departman za fiziku

Page 2: Programiranje u fizici - nasport.pmf.ni.ac.rsnasport.pmf.ni.ac.rs/materijali/2189/Predavanja/8. Algoritamsko resavanje problema.pdf6. Algoritamsko resavanje problema Algoritam predstavlja

2/13

5. Operatori u programskom jeziku C 6. Algoritamsko resavanje problema

Algoritam predstavlja skup akcija sa definisanim redosledom njihovog

obavljanja, koji primenjen na polazni skup podataka, dovodi do traženih

rezultata.

Postoji i nekoliko intuitivnih definicija algoritma:

– Algoritam je precizan opis postupaka koji vode željenom cilju.

– Algoritam je uputstvo za obavljanje posla.

– Algoritam je skup uputstava koja opisuju kako doći do rešenja problema.

Svaki programski jezik predstavlja neku formalizaciju algoritama, pa zato

možemo koristiti definiciju pojma program:

Program je algoritam zapisan na nekom programskom jeziku.

Definicija Opis algoritma Simboli dijagrama toka Algoritamske strukture: linijska, razgranata, ciklična Dok (while), do (until) i brojačka (for) cikličkna struktura

Page 3: Programiranje u fizici - nasport.pmf.ni.ac.rsnasport.pmf.ni.ac.rs/materijali/2189/Predavanja/8. Algoritamsko resavanje problema.pdf6. Algoritamsko resavanje problema Algoritam predstavlja

3/13

5. Operatori u programskom jeziku C 6. Algoritamsko resavanje problema

Algoritam možemo opisati na različite načine:

• pseudojezikom unesi prvi broj a

unesi drugi broj b

c = a + b

stampaj c

• dijagramom toka start

a, b

c = a + b

c

end

Definicija Opis algoritma Simboli dijagrama toka Algoritamske strukture: linijska, razgranata, ciklična Dok (while), do (until) i brojačka (for) cikličkna struktura

Page 4: Programiranje u fizici - nasport.pmf.ni.ac.rsnasport.pmf.ni.ac.rs/materijali/2189/Predavanja/8. Algoritamsko resavanje problema.pdf6. Algoritamsko resavanje problema Algoritam predstavlja

4/13

5. Operatori u programskom jeziku C 6. Algoritamsko resavanje problema

Definicija Opis algoritma Simboli dijagrama toka Algoritamske strukture: linijska, razgranata, ciklična Dok (while), do (until) i brojačka (for) cikličkna struktura

start

a, b

c = a + b

c

end

Početak algoritma

Ulaz

Obrada

Izlaz

Završetak algoritma

a > b Uslovni korak

Page 5: Programiranje u fizici - nasport.pmf.ni.ac.rsnasport.pmf.ni.ac.rs/materijali/2189/Predavanja/8. Algoritamsko resavanje problema.pdf6. Algoritamsko resavanje problema Algoritam predstavlja

5/13

5. Operatori u programskom jeziku C 6. Algoritamsko resavanje problema

Pod algoritamskom (programskom) strukturom podrazumevamo više

koraka (komandi programskog jezika) koji čine jednu celinu.

Postoje tri elementarne algoritamske strukture:

• Linijska - Niz algoritamskih koraka koji se bezuslovno izvode jedan za

drugim naziva se linijskom (sekvencijalnom) algoritamskom

strukturom.

• Razgranata - Algoritamska struktura koja obezbeđuje izvođenje dva

različita postupka pri čemu izbor zavisi od nekog uslova naziva se

uslovnim grananjem ili razgranatom algoritamskom strukturom.

• Ciklična - Ponavljanjem, ili cikličnom algoritamskom strukturom

nazivamo strukturu koja obezbeđuje ponavljanje nekih koraka

algoritma.

Definicija Opis algoritma Simboli dijagrama toka Algoritamske strukture: linijska, razgranata, ciklična Dok (while), do (until) i brojačka (for) cikličkna struktura

Page 6: Programiranje u fizici - nasport.pmf.ni.ac.rsnasport.pmf.ni.ac.rs/materijali/2189/Predavanja/8. Algoritamsko resavanje problema.pdf6. Algoritamsko resavanje problema Algoritam predstavlja

6/13

5. Operatori u programskom jeziku C 6. Algoritamsko resavanje problema

start

a, b

c = a + b

c

end

Definicija Opis algoritma Simboli dijagrama toka Algoritamske strukture: linijska, razgranata, ciklična Dok (while), do (until) i brojačka (for) cikličkna struktura

Page 7: Programiranje u fizici - nasport.pmf.ni.ac.rsnasport.pmf.ni.ac.rs/materijali/2189/Predavanja/8. Algoritamsko resavanje problema.pdf6. Algoritamsko resavanje problema Algoritam predstavlja

7/13

5. Operatori u programskom jeziku C 6. Algoritamsko resavanje problema

Uslovno grananje ima tačno jednu ulaznu tačku, tačno jednu izlaznu

tačku i takav tok da se svaki njen korak izvršava najviše jednom, pri čemu

će svaki korak biti izvršen pod nekim odgovarajućim uslovom (ne postoji

korak koji se ni pod kojim uslovima neće izvršiti).

uslov

niz naredbi 2

NE

niz naredbi 1

DA

Definicija Opis algoritma Simboli dijagrama toka Algoritamske strukture: linijska, razgranata, ciklična Dok (while), do (until) i brojačka (for) cikličkna struktura

Page 8: Programiranje u fizici - nasport.pmf.ni.ac.rsnasport.pmf.ni.ac.rs/materijali/2189/Predavanja/8. Algoritamsko resavanje problema.pdf6. Algoritamsko resavanje problema Algoritam predstavlja

8/13

5. Operatori u programskom jeziku C 6. Algoritamsko resavanje problema

Poseban slučaj uslovnog grananja je višestruko grananje. Višestruko

grananje možemo predstaviti kao više dvostrukih uslovnih grananja, a u

slučaju kada se odlučuje na osnovu vrednosti samo jednog izraza tada

možemo koristiti i poseban zapis:

Primer: dani u nedelji.

niz naredbi n-1

vr n-1

niz naredbi 2

vr 2

uslov

niz naredbi 3niz naredbi 1

vr 1 vr 3

niz naredbi n

vr n

Definicija Opis algoritma Simboli dijagrama toka Algoritamske strukture: linijska, razgranata, ciklična Dok (while), do (until) i brojačka (for) cikličkna struktura

Page 9: Programiranje u fizici - nasport.pmf.ni.ac.rsnasport.pmf.ni.ac.rs/materijali/2189/Predavanja/8. Algoritamsko resavanje problema.pdf6. Algoritamsko resavanje problema Algoritam predstavlja

9/13

5. Operatori u programskom jeziku C 6. Algoritamsko resavanje problema

Ciklična algoritamska struktura ima tačno jednu ulaznu tačku, tačno jednu

izlaznu tačku i obezbeđuje da se u zavisnosti od nekog uslova izvršavaju

koraci koji se ponavljaju ili izlazi iz strukture.

U upotrebi je više cikličnih struktura:

– (dok) struktura (while)

– (do) struktura (until)

– brojačka struktura (for)

Definicija Opis algoritma Simboli dijagrama toka Algoritamske strukture: linijska, razgranata, ciklična Dok (while), do (until) i brojačka (for) cikličkna struktura

Page 10: Programiranje u fizici - nasport.pmf.ni.ac.rsnasport.pmf.ni.ac.rs/materijali/2189/Predavanja/8. Algoritamsko resavanje problema.pdf6. Algoritamsko resavanje problema Algoritam predstavlja

10/13

5. Operatori u programskom jeziku C 6. Algoritamsko resavanje problema

Predstavićemo “dok” strukturu pseudo jezikom i na dva načina

dijagramom toka:

1. dok je ispunjen uslov ponavljati: 2

2. proces;

uslov

NEniz naredbi 1

DA

Definicija Opis algoritma Simboli dijagrama toka Algoritamske strukture: linijska, razgranata, ciklična Dok (while), do (until) i brojačka (for) cikličkna struktura

Page 11: Programiranje u fizici - nasport.pmf.ni.ac.rsnasport.pmf.ni.ac.rs/materijali/2189/Predavanja/8. Algoritamsko resavanje problema.pdf6. Algoritamsko resavanje problema Algoritam predstavlja

11/13

5. Operatori u programskom jeziku C 6. Algoritamsko resavanje problema

uslov

DA

niz naredbi 1NE

Predstavićemo “do” strukturu pseudo jezikom i na dva načina dijagramom

toka: 1. proces;

2. dok je nije ispunjen uslov ponavljati: 1

Definicija Opis algoritma Simboli dijagrama toka Algoritamske strukture: linijska, razgranata, ciklična Dok (while), do (until) i brojačka (for) cikličkna struktura

Page 12: Programiranje u fizici - nasport.pmf.ni.ac.rsnasport.pmf.ni.ac.rs/materijali/2189/Predavanja/8. Algoritamsko resavanje problema.pdf6. Algoritamsko resavanje problema Algoritam predstavlja

12/13

5. Operatori u programskom jeziku C 6. Algoritamsko resavanje problema

uslov

DA

niz naredbi 1NE

1. proces;

2. dok je nije ispunjen uslov ponavljati: 1

Definicija Opis algoritma Simboli dijagrama toka Algoritamske strukture: linijska, razgranata, ciklična Dok (while), do (until) i brojačka (for) cikličkna struktura

uslov

NEniz naredbi 1

DA

1. dok je ispunjen uslov ponavljati: 2

2. proces;

Page 13: Programiranje u fizici - nasport.pmf.ni.ac.rsnasport.pmf.ni.ac.rs/materijali/2189/Predavanja/8. Algoritamsko resavanje problema.pdf6. Algoritamsko resavanje problema Algoritam predstavlja

13/13

5. Operatori u programskom jeziku C 6. Algoritamsko resavanje problema

Brojačka struktura obezbeđuje ponavljanje nekog procesa zadati broj puta.

Ulazna tačka je početak brojanja, izlazna tačka je kraj brojanja. Brojačka

struktura predstavlja skraćivanje zapisa "dok" strukture:

1. za svako i od 1 do n ponavljaj korak 2;

2. proces;

i = 1 .. n

niz naredbi 1

Definicija Opis algoritma Simboli dijagrama toka Algoritamske strukture: linijska, razgranata, ciklična Dok (while), do (until) i brojačka (for) cikličkna struktura