Uvod u programiranje matematika V predavanje Vesna Velikovi
- Slides: 22
Uvod u programiranje - matematika – V predavanje Vesna Veličković vesna@pmf. ni. ac. rs
Tok izvršenja programa Upravljačke strukture • Sekvenca • Grananje • Petlje Moguće je proizvoljno kombinovanje.
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
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.
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.
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 <naredba 1> ; <naredba 2> ; . . . <naredba. N> end
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!
Beskonačna petlja k : = 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.
Ispravan primer Naredba u petlji mora da menja uslov! k : = 1; while k < 10 do begin writeln (k); k : = k+1; end
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 do begin writeln (k); k : = k+1; end
FOR i WHILE for i: =1 to 10 do writeln (i) i : = 1; while i<=10 do begin 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.
FOR i WHILE Nekada je while zgodnija, čak i ako znamo tačan broj prolazaka kroz petlju. • Odštampati sve parne brojeve do n. for i: =1 to n div 2 do writeln (2*i) i : = 2; while i<=n do begin writeln (i); i : = i + 2; end
Akumuliranje grešaka • Odštampati f(x) za x od m do n sa korakom 1/3 x : = m; while x <= n do begin f : = <računaj f(x)>; writeln (f); x : = x + 1/3 end
Iteracija • Izračunati koren jednačine x – 10 * ln(x) = 0. x 0 biramo proizvoljno x 1 : = 10 * ln(x 0); x 2 : = 10 * ln(x 1); . . . 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.
read (x 0); x : = 10 * ln(x 0); i : = 1; while (i <= k) and (abs(x-x 0) >= eps) do begin x 0 : = x; x : = 10 * ln(x 0); i : = i + 1 end
Iteracija • Izračunati sin(x) sa zadatom tačnošću eps.
U ovom slučaju tačnost znači
S : = 0; n : = 0; a : = x; while abs(a) >= eps do begin S : = S + a; a : = - sqr(x)*a / ((2*n+3)*(2*n+2)); n : = n+1 end
Domaći zadatak 8 • Izračunati cos(x) sa zadatom tačnošću eps.
Rad sa fajlovima type fajl = file of real; var n, i : integer; broj : real; f : fajl;
Č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);
Upisivanje brojeva u fajl assign (f, 'f. dat'); rewrite (f); for i: =1 to n do begin { izračunavanje broja } write (f, broj); end; close (f);
- Objektno orijentirano programiranje
- Induksi matematika
- Ruang lingkup matematika bisnis
- Spina bifida
- Vesna gabelica marković
- Vesna sokol
- Proizvodnja
- Vesna zunic pavlovic
- Vesna damnjanovic
- Vesna radoman
- Dr neven tučkar
- Vesna turuk
- Mletačka dalmacija
- Vesna grupa
- Bůh vesna
- Vesna bujan
- Vesna futo vugdelija
- Vesna knezevic predic
- Vesna mijailovic iskustva
- Vesna radoman
- Varnostni odklon
- Delo
- Kurje oko latinski naziv