Doug LLOYD: Jekk inti stajt tidher l-video fuq recursion, il-proċess kollu jista 'jkollhom deher ftit maġika. Kif taħdem? Kif il-funzjonijiet jafu li bżonn li tistenna u stenna għall-valur ieħor li jirritornaw minn funzjoni differenti sejħa sabiex tikseb ir-riżultat li rridu? Ukoll, ir-raġuni dan jaħdem huwa għaliex ta 'xi ħaġa magħrufa bħala l-munzell sejħa. Meta inti sejħa funzjoni, il- sistema twarrab ispazju fil-memorja għal dik il-funzjoni li jagħmlu xogħol tagħha. U aħna sejħa dawn biċċiet ta 'memorja li qed jiġu mwarrba għal kull funzjoni sejħa qafas munzell jew qafas funzjoni. U kif inti tista 'tistenna, dawn il-frejms munzell jgħixu fuq il-parti munzell ta 'memorja. Qafas munzell aktar minn funzjoni waħda jista 'jeżisti fil-memorja fi żmien partikolari. Jekk ewlenija jitlob mossa funzjoni, u jimxu jitlob direzzjoni, it-tliet funzjonijiet jkollhom frames miftuħa. Iżda dawn mhux kollha għandhom frames attivi. Dawn l-oqsfa huma rranġati munzell. U l-qafas tal- aktar reċentement imsejjaħ funzjoni huwa dejjem fuq quċċata tal-munzell. U li huwa dejjem l-qafas attiva. Hemm biss verament qatt wieħed funzjoni li l-attiv fi żmien. Hu l-waħda fuq quċċata tal-munzell. Meta funzjoni jitlob ieħor funzjoni, huwa tip ta 'preses nieqaf. Huwa tip ta 'huwa fuq istiva, stennija. U l-qafas munzell ieħor hu imbuttata fuq il-munzell fuq quċċata ta 'dan. U li ssir l-qafas attiva. U l-qafas immedjatament hawn taħt jeħtieġ li tistenna sakemm għal darb'oħra huwa l-qafas attiva qabel ma tkun tista jkompli b'ħidmietu. Meta funzjoni hija kompluta u dan isir, frejm tagħha huwa popped off-munzell. Dik hija l-terminoloġija. U l-qafas immedjatament taħtu, kif I biss qal, isir il-qafas attiva ġdida. U jekk jitlob funzjoni oħra, li għaddej biex nieqaf mill-ġdid. Qafas munzell dik il-funzjoni ġdida se jiġu mbuttati fuq il-quċċata tal-munzell. Hija ser jagħmlu xogħol tagħha. Jista pop lura off. U l-funzjoni oħra taħtha tista 'tkompli mill-ġdid. Mela ejja jmorru permezz ta 'dan mill-ġdid, tfittex fuq l-idea tal-funzjoni fattorjali li aħna definit fil- recursion video biex tara eżattament kif l-magic wara dan proċess rikursivi qed iseħħ. Allura dan huwa fajl sħiħ tagħna, id-dritt? Aħna definiti żewġ functions-- prinċipali u fatt. U kif aħna tista 'tistenna, kwalunkwe programm C va li jibda fl-ewwel linja ta 'prinċipali. Allura aħna joħolqu qafas ġdid munzell għall prinċipali. U li għaddej biex tibda taħdem. Sejħiet ewlenin printf. U printf se jistampa fattorjali 5. Ukoll, hija ma kinitx taf liema fattorjali ta '5 huwa, u għalhekk din is-sejħa huwa diġà jiddependi fuq sejħa funzjoni oħra. Allura prinċipali se nieqaf hemm dritt. Jien gonna leave tagħha vleġġa hemm dritt, kulur l-istess kulur bħat- munzell qafas fuq il-lemin, biex jindikaw li ewlieni se jiffriża hawn filwaqt fattorjali tal-5 tissejjaħ. Allura fattorjali ta '5 tissejjaħ. U li għaddej biex tibda fil-ħafna bidu tal-funzjoni fattorjali. Hija tqajjem il-mistoqsija am I ugwali għal 1? Huwa 5 ugwali għal 1? Well, no. Allura li għaddej biex jinżlu għal il-parti inkella, ritorn n ħinijiet fattorjali ta 'n minus 1. Well, OK. Allura issa, fattorjali ta '5 huwa jiddependi fuq sejħa oħra li fattorjali, li jgħaddi f'4 bħala l-parametru. U għalhekk l-fattorjali ta 5 qafas, dak il-qafas aħmar, se friża hemm dritt f'dak linja stajt indikat u stenna għal fattorjali ta '4 biex jintemm dak li jeħtieġ li jsir dan li allura tista 'ssir l-qafas attiva mill-ġdid. Allura fattorjali ta '4 jibda fil il-bidu ta 'fattorjali. Huwa ta '4 ugwali għal 1? Le, hekk li għaddej biex jagħmlu l-istess ħaġa. Li għaddej biex jinżlu l-fergħa ieħor. Li għaddej biex tikseb sa dik il-linja tal-kodiċi. OK, jien ser jirritorna erba 'darbiet. Oh, fattorjali ta 3-- hekk fattorjali ta 4 tiddependi fuq fattorjali tat-3 irfinar. U għalhekk għandha bżonn iddur fattorjali ta '3. U li gonna jgħaddu l-istess proċess mill-ġdid. Huwa jibda permezz, gets hawn. Fattorjali ta 3 jiddependi fuq fattorjali ta '1. Allura fattorjali ta '2 tibda, gets hawn. Hija tiddependi fuq fattorjali ta 1. Fattorjali ta '1 jibda. KOLLOX SEW. Allura issa, aħna qed jkollna x'imkien interessanti, right? Allura issa, 1 huwa ugwali għal 1. U hekk nerġgħu lura 1. Wara dan, aħna qed jirritornaw. Isir il-funzjoni. Huwa imġieba is-- hemm xejn biex din tagħmel, u għalhekk il-qafas munzell għall fattorjali ta '1 pops off. Huwa lest. Hija lura 1. U issa, fattorjali ta '2, li kien il-qafas immedjatament taħt it fil-ċmieni, isir il-qafas attiva. U jista 'pick up eżattament fejn jitħalla 'off. Huwa ilhom jistennew għal fattorjali minn 1 sa jintemm ix-xogħol tagħha. Huwa issa lest. U hekk aħna qegħdin hawn. Fattorjali ta 1 ritornati valur ta '1. Allura fattorjali ta 2 jista jiġifieri ritorn 2 darbiet 1. Il-ħidma tiegħu issa qed isir. Huwa lura 2 sa fattorjali ta '3, li kienet qed tistenna dan. Fattorjali ta '3 issa huwa l-qafas ta' fuq, l-qafas attiva fil-ċmieni. U għalhekk jgħid, OK, ukoll, jien ser li jirritornaw 3 darbiet 2, li huwa 6. U jien ser jagħti dak valur lura għall fattorjali ta '4, li baqgħet tistenna lili. Jien jsir. Fattorjali ta '3 pops off-munzell, u fattorjali ta '4 issa huwa l-qafas attiva. 4 jgħid, OK, jien ser jirritorna 4 darbiet l fattorjali ta '3, li kien sitta. Dan kien ta 'valur li fattorjali ta '3 lura. U hekk 4 darbiet 6 huwa 24. U jien ser jgħaddu li lura għall fattorjali ta '5, li baqgħet tistenna lili. Fattorjali ta '5 issa hija l-qafas attiva. Huwa ser jirritorna 5 darbiet fattorjali ta 4-- 5 darbiet 24, jew 120-- u tagħti lil dak il-valur lura għall prinċipali, li għandha ilhom jistennew patiently ħafna għal żmien twil fil-qiegħ tal-munzell. Huwa fejn bdiet. Hija magħmula din is-sejħa. Diversi frames ħadet fil-quċċata. Issa huwa lura fuq nett tal-munzell. Hu l-qafas attiva. Allura prinċipali ltqajna l-valur 120 lura mill fattorjali ta '5. Huwa kien stennija biex jistampa dak il-valur. U allura dan isir. M'hemm l-ebda aktar linji ta 'kodiċi fil prinċipali. Allura frame prinċipali ta pops off il-munzell, u aħna qed isir. U li kif recursion xogħlijiet. Thats kif frames munzell jaħdmu. Dawk is-sejħiet funzjoni li ġara qabel huma biss fuq pause, stennija għas-sejħiet sussegwenti biex jintemm sabiex ikunu jistgħu jsiru l-attivi frejm u finitura dak li għandhom bżonn biex jagħmlu. Jien Doug Lloyd. Dan huwa CS50.