Отпремање презентације траје. Молимо да сачекате

Отпремање презентације траје. Молимо да сачекате

Uvod u programiranje - matematika – VIII predavanje

Сличне презентације


Презентација на тему: "Uvod u programiranje - matematika – VIII predavanje"— Транскрипт презентације:

1 Uvod u programiranje - matematika – VIII predavanje
Vesna Veličković

2 Potprogrami Potprogram opisuje neki postupak i daje mu ime. Potprogrami u Pascalu su procedure, funkcije. Potprogrami služe da se jedan deo programa izdvoji u zasebnu celinu koja se zatim može jednom ili više puta koristiti. Upotreba potprograma olakšava pisanje programa i mnogo povećava njegovu čitljivost.

3 Ne-rekurzivna definicija
n ! = n * (n-1) * ...* 2 * 1 0 ! = 1 function faktorijel_N (n:LongInt) : LongInt; var i : integer; P : LongInt; begin P := 1; for i:=2 to n do P := P * i; faktorijel_N := P; end;

4 Rekurzivna definicija
0 ! = 1 n ! = n * (n-1) ! function faktorijel_R (n:LongInt) : LongInt; begin if n = 0 then faktorijel_R := 1 else faktorijel_R := n * faktorijel_R (n-1) end;

5 Stepen a0 = 1 an = a * an-1 a-n = 1 / an , n > 0 function stepen (a:real; n:integer) : real; begin if n = 0 then stepen := 1 else if n > 0 then stepen := a * stepen (a, n-1) else stepen := 1 / stepen (a, -n) end;

6 Optimizacija a2n = (a2)n function stepen (a:real; n:integer) : real; begin if n = 0 then stepen := 1 else if n < 0 then stepen := 1 / stepen (a, -n) else if n mod 2 = 0 then stepen := stepen (sqr(a), n div 2) else stepen := a * stepen (a, n-1) end;

7 VAŽNO Rekurzivni potprogram mora da ima bar jednu nerekurzivnu granu i ona se, za svaku dopustivu vrednost paramtra, mora nekad pozvati. Prednost rekurzije je što se lako piše i lako razume. Nedostatak rekurzije je što se sporo izvršava i što troši dosta memorijskog prostora.

8 Napisati potprogram koji štampa cifre prirodnog broja n od cifre najmanje težine do cifre najveće težine. procedure stampaj (n:integer); var cifra : 0..9; begin if n div 10 = 0 {jednocifren broj} then writeln (n) else begin cifra := n mod 10; writeln (cifra:3) ; stampaj (n div 10) ; end end;

9 Napisati potprogram koji štampa cifre prirodnog broja n od cifre najveće težine do cifre najmanje težine. procedure stampaj (n:integer); var cifra : 0..9; begin if n div 10 = 0 {jednocifren broj} then writeln (n) else begin cifra := n mod 10; stampaj (n div 10); writeln (cifra:3); end end;

10 Hanojske kule procedure prebaci (n:integer; pocetna, pomocna, krajnja : 1..3); begin if n <> 0 then begin prebaci (n-1, pocetna, krajnja, pomocna); writeln (pocetna, '->', krajnja); prebaci (n-1, pomocna, pocetna, krajnja); end;


Скинути ppt "Uvod u programiranje - matematika – VIII predavanje"

Сличне презентације


Реклама од Google