22
Uvod u programiranje - matematika – V predavanje Vesna Veličković [email protected]

Uvod u programiranje - matematika – V predavanj e

  • Upload
    remedy

  • View
    55

  • Download
    0

Embed Size (px)

DESCRIPTION

Uvod u programiranje - matematika – V predavanj e. Vesna Veličković [email protected]. Tok izvršenja programa. Upravljačke strukture S ekvenca G rananje P etlje M oguće je proizvoljno kombinovanje. Petlje. Naredbe u petlji se izvršavaju nula ili više puta. - PowerPoint PPT Presentation

Citation preview

Page 1: Uvod u programiranje -  matematika  – V  predavanj e

Uvod u programiranje- matematika –V predavanje

Vesna Veličković[email protected]

Page 2: Uvod u programiranje -  matematika  – V  predavanj e

Tok izvršenja programa

Upravljačke strukture• Sekvenca• Grananje• PetljeMoguće je proizvoljno kombinovanje.

Page 3: Uvod u programiranje -  matematika  – V  predavanj e

Petlje

Naredbe u petlji se izvršavaju nula ili više puta.

U Pascal-u postoje tri naredbe koje realizuju petlje (cikluse):

• For• While• Repeat

Page 4: Uvod u programiranje -  matematika  – V  predavanj e

Izbor naredbe za petlju

• Ako znamo tačan broj prolazaka kroz petlju, biramo FOR.

• Ako ne znamo tačan broj prolazaka kroz petlju, pitamo se da li se kroz petlju mora proći bar jedanput.• Ako se kroz petlju mora proći bar jedanput,

biramo REPEAT.• Ako se kroz petlju ne mora proći ni

jedanput, biramo WHILE.

Page 5: Uvod u programiranje -  matematika  – V  predavanj e

WHILE petlja

while <uslov> do <naredba>

Uslov je logički izraz.Primenjuje se kada ne znamo broj prolazaka kroz

petlju, čak i kada nismo sigurni da se kroz petlju uopšte treba proći.

U tom slučaju izlazak iz petlje mora biti definisan nekim uslovom.

Page 6: Uvod u programiranje -  matematika  – V  predavanj e

Složena naredba u WHILE• Ako je unutar while naredbe potrebno napisati

više od jedne naredbe, stavljamo ih u složenu naredbu.

while <uslov> do begin <naredba1> ; <naredba2> ; ... <naredbaN>end

Page 7: Uvod u programiranje -  matematika  – V  predavanj e

Izvršenje WHILE naredbe

Naredba u petlji se izvršava sve dok je ispunjen uslov.

• Prvo se izračuna vrednost uslova.• Ako je ta vrednost TRUE, izvršava se naredba u

petlji. Zatim se ponovo ispituje uslov.

• Ako je je ta vrednost FALSE, izlazi se iz petlje.Napomena: Sa while naredbom možemo

napraviti beskonačnu petlju!

Page 8: Uvod u programiranje -  matematika  – V  predavanj e

Beskonačna petljak := 1;while k < 10 do writeln (k);Izvršenje: K se postavi na 1. Ispita se uslov k < 10.

Kako je k=1<10, uslov je zadovoljen i izvršava se naredba u petlji (odštamta se k=1). Ponovo se ispituje uslov. I dalje je k=1<10, pa se ponovo štampa k=1. Ponovo se ispituje uslov...

Na ovaj način smo napravili beskonačnu petlju.

Page 9: Uvod u programiranje -  matematika  – V  predavanj e

Ispravan primer

Naredba u petlji mora da menja uslov!

k := 1;while k < 10 dobegin writeln (k); k := k+1;end

Page 10: Uvod u programiranje -  matematika  – V  predavanj e

Kada se ne ulazi u petlju

Uslov u while naredbi se ispituje pre nego što se izvrši naredba u petlji.

Može se desiti da uslov odmah na početku bude netačan, pa se onda u petlju uopšte ne ulazi.

k := 1;while k < 0 dobegin writeln (k); k := k+1;end

Page 11: Uvod u programiranje -  matematika  – V  predavanj e

FOR i WHILE

for i:=1 to 10 do writeln (i)

i := 1;while i<=10 dobegin writeln (i); i := i + 1;end

While je najopštija naredba petlje. Sve što se može uraditi sa for, može se uraditi i sa while.

Page 12: Uvod u programiranje -  matematika  – V  predavanj e

FOR i WHILE

for i:=1 to n div 2 do writeln (2*i)

i := 2;while i<=n dobegin writeln (i); i := i + 2;end

Nekada je while zgodnija, čak i ako znamo tačan broj prolazaka kroz petlju.• Odštampati sve parne brojeve do n.

Page 13: Uvod u programiranje -  matematika  – V  predavanj e

Akumuliranje grešaka

• Odštampati f(x) za x od m do n sa korakom 1/3x := m;while x <= n dobegin f := <računaj f(x)>; writeln (f); x := x + 1/3end

Page 14: Uvod u programiranje -  matematika  – V  predavanj e

Iteracija

• Izračunati koren jednačine x – 10 * ln(x) = 0.x0 biramo proizvoljno

x1 := 10 * ln(x0);

x2 := 10 * ln(x1);

...Postupak prekidamo kada se dostigne tačnost eps,

odnosno kada bude |xn – xn-1| < eps.

Ako se postupak ne završi za k koraka, pretpostavljamo da postupak divergira, pa ga prekidamo.

Page 15: Uvod u programiranje -  matematika  – V  predavanj e

read (x0);x := 10 * ln(x0);i := 1;while (i <= k) and (abs(x-x0) >= eps) dobegin x0 := x; x := 10 * ln(x0); i := i + 1end

Page 16: Uvod u programiranje -  matematika  – V  predavanj e

Iteracija

• Izračunati sin(x) sa zadatom tačnošću eps.

...!7!5!3

)sin(753

xxx

xx

)!12()1(

12

n

xa

nn

n

Page 17: Uvod u programiranje -  matematika  – V  predavanj e

U ovom slučaju tačnost znači

,...2,1,0,)32()22(

2

1

n

nn

axa nn

epsan ||

)32()22()!12(

)1(

)!32()1( 2

12

321

1

nn

x

nxnx

a

an

n

nn

n

n

Page 18: Uvod u programiranje -  matematika  – V  predavanj e

S := 0;n := 0;a := x;while abs(a) >= eps dobegin S := S + a; a := - sqr(x)*a / ((2*n+3)*(2*n+2)); n := n+1end

Page 19: Uvod u programiranje -  matematika  – V  predavanj e

Domaći zadatak 8

• Izračunati cos(x) sa zadatom tačnošću eps.

...!6!4!2

1)cos(642

xxx

x

Page 20: Uvod u programiranje -  matematika  – V  predavanj e

Rad sa fajlovima

type fajl = file of real;var n, i : integer; broj : real; f : fajl;

Page 21: Uvod u programiranje -  matematika  – V  predavanj e

Čitanje brojeva iz fajla

assign (f, 'f.dat'); reset (f);n := 0;while not eof (f) do begin n := n + 1; read (f, broj); { radimo nešto sa brojem }end;close (f);

Page 22: Uvod u programiranje -  matematika  – V  predavanj e

Upisivanje brojeva u fajl

assign (f, 'f.dat');rewrite (f);for i:=1 to n dobegin { izračunavanje broja } write (f, broj);end;close (f);