Page 40 - Demo
P. 40
Nxënësi/ja:2.5 RekursivitetiNjë funksion rekursiv është një funksion, i cili thërret veten e tij. Funksioni rekursiv thirret për zgjidhjen e një problemi. Ai di se si të zgjidhë vetëm rastin më të thjeshtë, ose të ashtuquajturin rastin bazë. Në qoftë se funksioni thirret për një rast bazë, ai thjesht kthen një rezultat. Në qoftë se funksioni thirret për problema më të ndërlikuara, ai e ndan problemin në dy nënproblema konceptuale – nënproblemin që di ta zgjidhë dhe nënproblemin që nuk e di. Ky nënproblem i ri është njëlloj si problemi që kishim në fillim, por thërritet me vlerë më të vogël sesa ai.Në këtë mënyrë, në një funksion rekursiv dallojmë kushtin që ndan dy nënproblemat. Nënproblemi për të cilin nuk njihet zgjidhja, duhet të përmbajë formulën e rekursivitetit. Kjo formulë tregon se si ndryshon vlera sa herë që thërritet funksioni. Ky proces mund të rezultojë në disa thirrje rekursive, meqenëse funksioni kap nënproblemat si të ndara, në të cilat funksioni është thirrur në dy pjesë konceptuale. Le të shohim konkretisht një shembull. Gjetja e faktorialit të një numri natyrorNe duam të gjejmë faktorialin e një numri natyror. Faktoriali i një numri natyror n, i shkruar n! është produkti n! = n · (n – 1) · (n – 2) · … · 1ku nëse n=1, atëherë 1! =1 dhe nëse n=0, atëherë 0!=1. Për n=5 na duhet të gjejmë 5! i cili shprehet si produkti i 5 · 4 · 3 · 2 · 1, që është i barabartë me 120. Faktoriali i një numri të plotë, më i madh ose i barabartë me 0, mund të llogaritet në mënyrë iterative (nëpërmjet cikleve) duke përdorur ciklin for si më poshtë: factorial = 1;for ( int numer = n; numer >= 1; --numer )factorial *= counter;Rekursiviteti njeh konceptin e rekursivitetit.Gjeni përgjigjen e kësaj loje. Në figurën 1a tregohen katër disqe të madhësive të ndryshme, të vendosur mbi njëri-tjetrin. Duhet të zhvendosim të katër disqet siç janë nga shkopi A tek ai C (ose B), si jepet në figurën 1b. Aktivitet:Mësimi 2.5 Rekursiviteti Nxwënwësi/ja: njeohin konceptin e rekursivitetit;.Aktiviteti: Gjeni përgjigjen e kësajete lojwe.: Nwë figurwën 1a tregohen katwër disqe twëmadhwësive twë ndryshme, twë vendosur mbi njwëri-tjetrin. Synimi wshtw qwDuhet twëzhvendosim twë katwër disqet sicç janwë nga shkopi A tek ai C (ose B), sic jepet nwë figurwën 1b. Rregullat e lojwës janwë: 1. Vetwëm njwë disk mund twë lwëvizë nwë njwë veprim. 2. Ççdo lwëvizje ka të bëjëonsiston nw me marrjen e diskut qwë ndodhet mwë sipwër nwëpilwë dhe nwë vendosjen e tij vetwëm nwë majwën e pilwës tjetwër. Njwë disk mund twëzhvendoset vetwëm nwëse wështwë disku nwë majwë twë pilwës. 3. Asnjwë disk nuk mund twë vendoset mbi njwë disk mwë twë vogwël. Rekursiviteti Një funksion rekursiv është një funksion, i cili thërret veten e tij. Funksioni rekursiv thirret për zgjidhjen e një problemi. Funksioni njehAi di se si të zgjidhë vetëm rastin më të thjeshtë, ose të ashtuquajturin rastin bazë. Në qoftë se funksioni thirret për një rast bazë, ai thjesht kthen një rezultat. Në qoftë se funksioni thirret për problema më të ndërlikuarakompleks, ai, ai e ndan problemin në dy nwënproblemae konceptuale – nwën-problemin qwë di ta zgjidhë, dhe nwënFormatted: Font: ItalicFormatted: Font: ItalicFormatted: Font: ItalicFormatted: Font: ItalicFormatted: Font: ItalicFormatted: Font: ItalicFormatted: Font: ItalicFormatted: Font: ItalicFormatted: Font: ItalicFormatted: Font: ItalicFormatted: Font: ItalicFormatted: Font: ItalicFormatted: Font: ItalicFormatted: Font: ItalicFormatted: Font: ItalicFormatted: Font: ItalicFormatted: Font: ItalicFormatted: Font: ItalicFormatted: Font: ItalicFormatted: Font: ItalicA B C A B CRregullat e lojës janë:1. Vetëm një disk mund të lëvizë në një veprim.2. Çdo lëvizje ka të bëjë me marrjen e diskut që ndodhet më sipër në pilë dhe në vendosjen e tij vetëm në majën e pilës tjetër. Një disk mund të zhvendoset vetëm nëse ai ndodhet në majë të pilës. 3. Asnjë disk nuk mund të vendoset mbi një disk më të vogël. Fig. 1a Fig. 1bPër të gjitha ushtrimet dhe shembujt e mësimit duhet të ndërtohet projekti përkatës në kompjuter, ashtu siç sqarohet në kapitullin 4, TIK 10. Në këtë kapitull është trajtuar gjuha C, por mënyra e ndërtimit të projektit ku shkruhen programet është e njëjtë. 38

