Скинути презентацију
Отпремање презентације траје. Молимо да сачекате
1
Uvod u programiranje - matematika – V predavanje
Vesna Veličković
2
Tok izvršenja programa
Upravljačke strukture Sekvenca Grananje Petlje Moguće je proizvoljno kombinovanje.
3
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
4
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.
5
WHILE petlja Uslov je logički izraz.
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.
6
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
7
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!
8
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.
9
Ispravan primer Naredba u petlji mora da menja uslov! k := 1; while k < 10 do begin writeln (k); k := k+1; end
10
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
11
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.
12
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
13
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
14
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.
15
read (x0); x := 10 * ln(x0); i := 1; while (i <= k) and (abs(x-x0) >= eps) do begin x0 := x; i := i + 1 end
16
Iteracija Izračunati sin(x) sa zadatom tačnošću eps.
17
U ovom slučaju tačnost znači
18
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
19
Domaći zadatak 8 Izračunati cos(x) sa zadatom tačnošću eps.
20
Rad sa fajlovima type fajl = file of real; var n, i : integer; broj : real; f : fajl;
21
Č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);
22
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);
Сличне презентације
© 2024 SlidePlayer.rs Inc.
All rights reserved.