Rekurzija Fakulteta za matematiko in fiziko http up
- Slides: 31
Rekurzija Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport. Matija Lokar
Pesmica Živel je mož, imel je psa, lepo ga je učil. Nekoč ukradel mu je kos mesa, zato ga je ubil. Postavil mu je spomenik in nanj napisal: Živel je mož, imel je psa, lepo ga je učil. Nekoč. . . Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
Zgodba Bila je temna, nevihtna noč. . . Ladjo so valovi premetavali naprej in nazaj, veter je zavijal med jadri in dež se je zlival na palubo. Posadka je bila zbrana ob petrolejki. Vsi so se zavijali v odeje in trepetali, ko je kapitan pričel pripovedovati zgodbo: "Bila je temna, nevihtna noč. . . " Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
Slika v sliki Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
Problemi Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
Problemi • Izračunaj volumen telesa, preluknjanega n-krat • Poišči največje in najmanjše število v tabeli števil • Uredi podatke po velikosti. • Izračunaj produkt naravnih števil od 1 do n. Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
Problemi • Izračunaj yn s čim manj množenji. • Hanoiski stolpiči Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
REKURZIJA • Različni problemi • Naloga: – Sestavi navodila (postopek), s katerim bi problem rešil • Navkljub različnosti: – Skupni prijem: rekurzija Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
REKURZIJA • V Slovarju slovenskega knjižnega jezika SSKJ ni besede rekurzija, pojavlja pa se beseda rekurz -a m (u) knjiž. vrnitev (na kako stvar, dejstvo): rekurz na že omenjana dognanja ni potreben / v njegovih romanih so pogosti rekurzi v preteklost (tudi v filmih je tega precej) • rekurirati -am dov. in nedov. (i) knjiž. vrniti se (na kako stvar, dejstvo): pogosto rekurirati na nekatera dejstva, spoznanja Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
REKURZIJA • V Velikem slovarju tujk je dana definicija rekurzije (iz latinščine recurrere iti nazaj, vrniti se): – definiranje funkcije ali postopka s samim seboj (informatika) – izvajanje veličine ali funkcije, ki jo je treba šele definirati na že znano veličino (matematika). Označuje tudi zaporedje, katerega n-ti člen je določen z enim ali več predhodnimi členi. Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
REKURZIJA • Tudi v vsakdanjem življenju srečamo rekurzijo. • Definicija prednika neke osebe je lahko: – – prednik osebe je eden od roditeljev osebe (osnovni primer) prednik pa je tudi roditelj kateregakoli prednika (rekurzivni primer) Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
REKURZIJA Rekurzivna slika (vir: WIkpideia), na kateri je rekurzivna slika, na kateri. . . Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
Rekurzija Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
Rekurzija • Po računalniško: • Postopek, ki je definiran (določen, opisan) sam s sabo. Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
Rekurzija • Rešitev problema – podana s samim problemom, le nad manjšim obsegom podatkov • V opisu postopka rešitve uporabimo kar ta postopek • Če želimo priti do rešitve, ne moremo nadaljevati v nedogled kot npr. pri pesmici • ustavitveni pogoj: – Kdaj v postopku ne uporabimo istega postopka – Običajno: ko je problem "majhen" (enostaven) Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
Faktoriela • • • 7! = 1 * 2* 3 * 4 * 5 * 6 * 7 3! = 6 Zelo hitro naraščajoča zadeva – – – • • • 3! = 6 5! = 120 42! = 140500611775287989854314260624451156993638400000 Rekurzivna definicija: n! = n * (n-1)! n! bomo izračunali, če bomo poznali (n-1)! 3! = 3 * 2! – 2! = 2 * 1! = – 1! = 1 * 0! = – 0! = 0 * (-1)! = ? ? ? • 0! = 1 Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
Faktoriela - postopek Faktoriela(n): Če je n = 0, je rezultat 1 sicer pa rezultat = n * faktoriela(n – 1) Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
Faktoriela • 0! = 1 ali 1! = 1 • n! = n * (n-1)! public static int faktoriela(int n) { if (n == 0) return 1; else return n * faktoriela(n-1); } System. out. println("4! = " + faktoriela(4)); Problem: faktoriela(16) Zakaj? Pri katerem n še gre? long / int Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
N=3 N* Fak(N-1) Fact(N-1)==? ? Return 6 ? N=2 Fact(N-1)==? ? N * Fak(N-1) ? Return 2 N=1 N * Fact(N-1) Fak(N-1) ==? ? Return ? 1 N=0 Return 1 ? Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
n y n je potenca števila 2 (denimo 16) y 16 = y y y y. . 15 množenj y 16 = y 8 y 8 = y 4 y 4 = y 2 • y 2 = y y • . . 4 množenja • • • Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
n y • Kaj pa, če n npr. 14 • y 14 = y 7 • y 7 = y y 6 • y 6 = y 3 • y 3 = y y 2 • y 2 = y y. . 5 množenj Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
yn • • • if (n == 2) return y * y; else { pom = pot(y, n / 2); return pom*pom; } če ni potenca 2 if (n == 1) return y; else { pom = pot(y, n / 2); if (n % 2 == 0){ return pom * pom; } else { return y * pom; } } Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
Kaj je torej rekurzija • Kako je v slovarju definirana beseda 'rekurzivno' ? • Piše: Glej 'rekurzivno'. Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
Hanoiski stolpiči • Problem Hanoiskih stolpičev: Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
Hanoiski stolpiči Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
Hanoiski stolpiči -ideja prestavi n-1 obročev z A na B (s pomočjo C) Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
Hanoiski stolpiči -ideja Daj obroč z A na C Prestavi n – 1 obročev z B na C (s pomočjo A) Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
Hanoiski stolpiči • Preloži n obročev z A na C s pomočjo B – – – Preloži n-1 obročev z A na B s pomočjo C Daj obroč z A na C Preloži n-1 obročev z B na C s pomočjo A • ustavi ? Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
Hanoiski stolpiči Preloži n obročev z A na C s pomočjo B Če je n = 1 potem daj obroč z A na C sicer pa Preloži n-1 obročev z A na B s pomočjo C Daj obroč z A na C Preloži n-1 obročev z B na C s pomočjo A Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
Hanoiski stolpiči /* n obročev z A na C s pomočjo B */ Hanoi(n, A, B, C) Če je n = 1 potem daj obroč z A na C sicer pa Hanoi(n-1, A, C, B) Daj obroč z A na C Hanoi(n-1, B, A, C) Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
Hanoiski stolpiči public static void hanoi(int n, char st 1, char st 2, char st 3) { if (n == 1) { System. out. println("Prelozi z " + st 1 + " na " + st 3); } else { hanoi(n-1, st 3, st 2); System. out. println("Prelozi z " + st 1 + " na " + st 3); hanoi(n-1, st 2, st 1, st 3); } } Fakulteta za matematiko in fiziko http: //up. fmf. uni-lj. si Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
- Korozyon türleri
- Rekurzija programiranje
- Primjeri rekurzije u prirodi
- Rekurzija
- Hanojske kule
- Fakulteta za socialno delo
- Evropska pravna fakulteta
- Swot analiza fakulteta
- Fakulteta za organizacijske vede
- Vis fvz
- Fakulteta za organizacijske vede
- пест анализа
- Elektro fakulteta
- Elektro fakulteta
- Kompetence medicinske sestre
- Http //mbs.meb.gov.tr/ http //www.alantercihleri.com
- Http //pelatihan tik.ung.ac.id
- Http://history.nasa.gov/sputnik/
- Pictogramas sergio palao
- Pws npru
- Famiglia merli
- Http //ilp/fp2
- Http 601
- Http://anatomy and physiology
- Www.medellin.gov.co
- Iec http://www.iec.ch
- Interesting facts about venus
- @andi fadhel:http://work4unity.in/haicantik.html
- Http//sciencespot.net
- Oop.gov.tw
- Images.google.com adresine gidin
- Http //goto/inteljmp