DOUG LLOYD: ikusi dituzun bada errekurtsio bideoa,
prozesu osoa izan liteke Pixka bat magikoa zirudien.
Nola dabil?
Nola dakizu hori funtzioak dute Itxaron eta balio beste itxaron behar
den beste funtzio bat itzultzeko Ordena emaitza nahi dugu lortzeko deitu?
>> Beno, horregatik lan egiten delako deiaren pila bezala ezagutzen den zerbait da.
Funtzio bat deitzen duzunean, sistema espazioa bideratu oroimenez
funtzio hori bere lana egiteko.
Eta memoria zatiak horiek deitzen dugun hori albo batera ari dira eginkizun bakoitzerako
deitu pila marko bat edo funtzio fotograma bat.
Eta espero dezakezun bezala, pila fotograma horiek
pila memoria zati bizi.
>> Funtzio bat baino gehiago pila marko daiteke memorian existitzen une jakin batean.
Funtzio mugitzen nagusia deitzen badu, eta mugimendua norabide deiak,
Hiru funtzio guztiak markoak irekia dute.
Baina ez guztiak ez markoak aktiboa izan dute.
Markoak hauek pila bat antolatu.
Eta bertatik markoa Azen izeneko
Funtzio beti pila gainean.
Eta hori fotograma aktiboa beti.
Ni bakarrik benetan inoiz inork funtzio hori aktibo aldi berean.
Pila gainean bat da.
>> Funtzio bat beste deiak funtzioa, Ordena prentsak eteteko.
Atxikitu sort da, zain.
Eta pila marko bestera bultzatu da gainean pila gainean.
Eta hori koadro aktiboan bihurtzen.
Eta markoa berehala arte itxaron behar azpitik
berriro da koadro aktiboan arte da bere lana jarraitzeko aurretik.
Funtzio bat da osoa, eta kitto,
bere marko pila idatz da off.
Hori terminologia da.
Eta markoa berehala bere azpian, esan dudan bezala,
koadro aktiboan berria bihurtzen.
>> Eta beste funtzio deitzen badu, Berriro pausatu joan.
Hori funtzioa berriaren pila marko will egon pilaren goialdean kalera bultzatu.
Bere lana egin da egingo.
Baliteke irekiko atzera off.
Eta beste funtzio Behean berriro berrekiteko daiteke.
>> Hargatik berriro joan honen bidez, begira faktore funtzio ideia
definitu dugun batean errekurtsio bideoa ikusi
Nola hau atzean magia prozesu errekurtsiboak egiten ari da.
Beraz, hau da, gure fitxategia osoa da, ezta?
Bi definitu dugu funtzio nagusiak eta, hain zuzen.
Eta espero genuke, Edozein C programa va
to nagusiak lehen lerroan hasten dira.
>> Beraz, pila nagusiak marko berri bat sortzen dugu.
Eta nik lasterka hasten da.
Deiak Main printf.
Eta printf da joan 5 faktore inprimatu.
Beno, ez du ezagutzen zer faktore 5 da,
eta, beraz, dei hau da dagoeneko funtzio deia beste arabera.
Beraz nagusia da bertan etenaldia egin behar.
Utzi botako naiz bere gezi bertan, kolore
kolore gisa berean pila marko eskuinaldetik,
Hori nagusia da izoztu joan adierazteko Hemen 5 faktore bitartean deritzo.
>> Beraz, guztira 5 faktore deritzo.
Eta hori oso hasiko joan faktore funtzioaren hasita.
Eskatu dio galderari am berdintasuna 1 I?
5 1 berdina?
Beno, ez.
Beraz, behera joan joan du beste zati, bueltan n aldiz
faktore n ken 1.
Beno, OK.
>> Beraz, gaur egun, guztira 5 faktore Beste dei arabera
, faktore pasatuz 4 parametroz ere.
Eta beraz faktoriala 5 markoa, gorria,
da bertan izoztea joan lerro hori partean Nik
eta 4ko faktore amaitzeko itxaron Zer egin eta gero, beraz, ez da egin behar da behar da
koadro aktiboan berriro bihur daiteke.
>> Beraz, 4 hasten faktoriala at faktorial hasieran.
4 1 berdina?
Ez dago, beraz, gauza bera egin zuen joan.
Honez behera joan beste adarra joan.
Honez kode lerro bat iritsi.
Ados, naiz lau aldiz itzuli egingo dut.
Oh, izango da 3 faktoriala beraz faktoriala 4 3 akabera faktore araberakoa.
>> Eta beraz, 3 faktore deitu behar da.
Eta hori botako pasatzen prozesu bera berriro.
Hasten da bidez, lortzen hemen.
3 faktore araberakoa 1 faktoriala orrian.
Beraz, 2 hasten faktoriala, hemen lortzen.
1 faktoriala araberakoa da.
Faktore 1 hasten.
>> ONDO DA.
Beraz, gaur egun, ari gara nonbait interesgarria da, ezta?
Beraz, orain, 1 1 berdina da.
Eta beraz, itzuliko gara 1.
Puntu honetan, itzuli garela.
Funtzio hauek kitto.
Da portaera is-- ez dago kito egin da,
eta beraz, pila marko 1 faktoriala azalduko off.
Honez amaitu.
1 bueltatu zen.
Eta orain, 2 faktore, eta horrek Berehala markoaren zen behean
pila, koadro aktiboan bihurtzen.
>> Eta jaso ahal izango da, gehienez zehazki non utzi da.
Izan da zain faktore bat 1 bere lana amaitzeko.
Orain amaitu.
Eta orain hemen gaude.
>> 1 faktoriala balioa 1 da itzuli.
Beraz, 2 can faktoriala say itzultzeko 2 aldiz 1.
Bere lana, orain egiten da.
Honez bueltatu 2 faktore 3koa, zein izan zen, zain.
3 faktore da orain goiko markoa, pila fotograma aktiboa.
Eta, beraz, esaten du Ados, bai, banoa 3 aldiz 2, horietatik 6 da itzultzeko.
Eta ez dut hori emateko joan baloratzen back faktore
4, eta hori izan da nire zain.
Bukatu dut.
3 faktore azalduko off pila, eta 4 faktoriala da orain koadro aktiboan.
>> 4 dio, OK, naiz 4 aldiz itzuli egingo dut 3 faktore, horietatik sei izan zen.
Hori balio izan du 3 faktore itzuli.
Eta beraz, 4, 6, 24 da.
Eta ez dut pasatzeko joan Atzera duten faktore
5, izan den nire zain.
5 faktore orain koadro aktiboan.
Honez 5 aldiz itzuli da , 4, 5 aldiz 24 edo 120-- faktoriala
eta balio hori eman nagusia, eta horrek ez du atzera
dira oso pazientziaz zain batentzat pila behealdean denbora luzez.
>> It non hasi da.
Dei hau egin du.
Hainbat markoak hartu baino goialdean.
Orain pila gainean itzuli da.
Koadro aktiboan da.
Got So nagusia balioa 120 5 faktore itzulia.
Izan da zain inprimatu balio duten.
Eta gero egiten da.
Han ez da kode lerro gehiago nagusian.
Beraz nagusiak marko horrek azalduko off pila, eta egiten gaude.
>> Eta hori da errekurtsio nola funtzionatzen duen.
Hori da, pila fotograma nola lan egiten.
Funtzio deialdi horiek Aurretik hori gertatu
besterik pausatu dira, zain ondorengo deiak egiteko
amaitzeko, beraz, aktibo bihurtu ahal izango dute markoa eta zer egin behar dute amaitzeko.
>> Naiz Doug Lloyd.
Hau CS50 da.