1 00:00:00,000 --> 00:00:05,587 2 00:00:05,587 --> 00:00:07,670 DOUG LLOYD: Siz g枚rd眉m varsa recursion video, 3 00:00:07,670 --> 00:00:10,170 B眉t眉n proses ola bil蓹r bir az sehrli g枚r眉n眉rd眉. 4 00:00:10,170 --> 00:00:10,930 Bu nec蓹 i艧l蓹yir? 5 00:00:10,930 --> 00:00:15,010 Funksiyalar谋 nec蓹 bilirik ki, onlar g枚zl蓹yin v蓹 ba艧qa d蓹y蓹r g枚zl蓹m蓹k laz谋md谋r 6 00:00:15,010 --> 00:00:19,150 f蓹rqli bir funksiyas谋 qay谋tmaq 眉莽眉n ist蓹diyimiz n蓹tic蓹ni 蓹ld蓹 etm蓹k 眉莽眉n z蓹ng? 7 00:00:19,150 --> 00:00:22,550 >> B蓹li, bu i艧l蓹ri s蓹b蓹bi var z蓹ng y谋臒谋n谋 kimi tan谋nan bir 艧ey. 8 00:00:22,550 --> 00:00:26,360 Bir funksiyas谋 z蓹ng zaman, Sistem yadda艧谋nda yer k蓹nara qoyur 9 00:00:26,360 --> 00:00:28,120 ki, funksiyas谋 眉莽眉n i艧 眉莽眉n. 10 00:00:28,120 --> 00:00:31,720 V蓹 biz yadda艧 bu chunks z蓹ng ki, h蓹r funksiyas谋 眉莽眉n k蓹nara edilir 11 00:00:31,720 --> 00:00:35,670 y谋臒谋n谋 莽蓹r莽iv蓹sind蓹 v蓹 ya bir funksiyas谋 莽蓹r莽iv蓹sind蓹 z蓹ng. 12 00:00:35,670 --> 00:00:38,290 V蓹 g枚zl蓹y蓹 bil蓹r kimi, bu y谋臒谋n谋 莽蓹r莽iv蓹sind蓹 13 00:00:38,290 --> 00:00:41,000 yadda艧 y谋臒谋n谋 莽蓹r莽iv蓹sind蓹 ya艧ay谋r. 14 00:00:41,000 --> 00:00:43,960 15 00:00:43,960 --> 00:00:47,540 >> Daha 莽ox funksiya y谋臒谋n谋 莽蓹r莽iv蓹sind蓹 bir zamanda yadda艧 m枚vcud ola bil蓹r. 16 00:00:47,540 --> 00:00:51,240 茝sas funksiyas谋 h蓹r蓹k蓹t 莽a臒谋r谋r, v蓹 h蓹r蓹k蓹t istiqam蓹tind蓹 z蓹ngl蓹r, 17 00:00:51,240 --> 00:00:54,460 眉莽 funksiyalar谋 a莽谋q 莽蓹r莽iv蓹l蓹ri var. 18 00:00:54,460 --> 00:00:57,350 Lakin onlar f蓹al 莽蓹r莽iv蓹sind蓹 b眉t眉n var. 19 00:00:57,350 --> 00:00:59,410 Bu 莽蓹r莽iv蓹sind蓹 bir y谋臒谋n t蓹艧kil edilir. 20 00:00:59,410 --> 00:01:01,820 V蓹 莽蓹r莽iv蓹 蓹n son adl谋 21 00:01:01,820 --> 00:01:04,390 funksiyas谋 y谋臒谋n谋 眉st h蓹mi艧蓹. 22 00:01:04,390 --> 00:01:07,150 V蓹 h蓹mi艧蓹 f蓹al m眉nasib蓹t deyil. 23 00:01:07,150 --> 00:01:10,420 Yaln谋z h蓹qiq蓹t蓹n he莽 bir var bir zamanda aktiv f蓹aliyy蓹t g枚st蓹rir. 24 00:01:10,420 --> 00:01:12,420 Bu y谋臒谋n谋 眉st biridir. 25 00:01:12,420 --> 00:01:17,620 >> Bir funksiyas谋 ba艧qa 莽a臒谋r谋r funksiyas谋, bu c眉r fasil蓹 presleri. 26 00:01:17,620 --> 00:01:20,590 Bu n枚v g枚zl蓹yir g枚zl蓹m蓹y蓹 edir. 27 00:01:20,590 --> 00:01:24,050 V蓹 ba艧qa bir y谋臒谋n谋 莽蓹r莽iv蓹sind蓹 s枚vq edir 眉st y谋臒谋n谋 眉z蓹rin蓹. 28 00:01:24,050 --> 00:01:26,150 V蓹 f蓹al 莽蓹r莽iv蓹sind蓹 olur. 29 00:01:26,150 --> 00:01:28,600 V蓹 莽蓹r莽iv蓹 d蓹rhal Bu g枚zl蓹m蓹k laz谋md谋r a艧a臒谋dak谋 30 00:01:28,600 --> 00:01:33,560 yenid蓹n aktiv 莽蓹r莽iv蓹sind蓹 q蓹d蓹r Bu 枚z i艧ini davam ed蓹 bil蓹rsiniz 蓹vv蓹l. 31 00:01:33,560 --> 00:01:35,870 Bir funksiyas谋 tam v蓹 bunu, 32 00:01:35,870 --> 00:01:37,720 onun 莽蓹r莽iv蓹sind蓹 y谋臒谋n谋 off atd谋 olunur. 33 00:01:37,720 --> 00:01:38,950 Ki, terminologiya var. 34 00:01:38,950 --> 00:01:41,110 V蓹 莽蓹r莽iv蓹 d蓹rhal a艧a臒谋dak谋, m蓹n yaln谋z dediyim kimi, 35 00:01:41,110 --> 00:01:42,880 Yeni aktiv 莽蓹r莽iv蓹sind蓹 olur. 36 00:01:42,880 --> 00:01:45,960 >> V蓹 ba艧qa bir funksiyas谋 莽a臒谋r谋r 蓹g蓹r, yenid蓹n fasil蓹 olacaq. 37 00:01:45,960 --> 00:01:49,290 Bu yeni funksiyas谋n谋n y谋臒谋n谋 莽蓹r莽iv蓹sind蓹 olacaq y谋臒谋n谋 眉st 眉z蓹rind蓹 s枚vq edil蓹c蓹k. 38 00:01:49,290 --> 00:01:50,650 Onun i艧 ed蓹c蓹yik. 39 00:01:50,650 --> 00:01:52,100 Bu off geri pop bil蓹r. 40 00:01:52,100 --> 00:01:55,630 V蓹 dig蓹r funksiyas谋 A艧a臒谋dak谋 yenid蓹n davam ed蓹 bil蓹rsiniz. 41 00:01:55,630 --> 00:02:00,080 >> Bel蓹 ki, axtar谋r, yen蓹 bu yolu ged蓹k fakt枚ryel funksiyas谋 fikir 42 00:02:00,080 --> 00:02:03,070 biz m眉蓹yy蓹n ki, recursion video g枚rm蓹k 眉莽眉n 43 00:02:03,070 --> 00:02:07,770 d蓹qiq nec蓹 bu arxas谋nda sehrli recursive prosesi ya艧an谋r. 44 00:02:07,770 --> 00:02:09,870 Bel蓹 ki, bu bizim b眉t眉n fayl, sa臒 var? 45 00:02:09,870 --> 00:02:14,000 Biz iki m眉蓹yy蓹n 蓹sas v蓹 fakt funksiyalar谋. 46 00:02:14,000 --> 00:02:15,980 V蓹 biz g枚zl蓹y蓹 bil蓹r kimi, H蓹r hans谋 bir C proqram gedir 47 00:02:15,980 --> 00:02:18,470 蓹sas ilk x蓹tti ba艧lamaq 眉莽眉n. 48 00:02:18,470 --> 00:02:21,660 >> Bel蓹 ki, biz 蓹sas 眉莽眉n yeni y谋臒谋n谋 莽蓹r莽iv蓹sind蓹 yarad谋r. 49 00:02:21,660 --> 00:02:23,320 V蓹 bu yay谋nlanmaya ba艧lamas谋 olacaq. 50 00:02:23,320 --> 00:02:25,270 Main z蓹ngl蓹r printf. 51 00:02:25,270 --> 00:02:29,390 V蓹 printf gedir 5 fakt枚ryel 莽ap. 52 00:02:29,390 --> 00:02:31,440 B蓹li, bu bilmir 5 n蓹 fakt枚ryel edir 53 00:02:31,440 --> 00:02:35,620 v蓹 bu 莽a臒谋r谋艧 art谋q ba艧qa funksiyas谋 z蓹ng as谋l谋 olaraq. 54 00:02:35,620 --> 00:02:37,270 Bel蓹 ki, 蓹sas orada fasil蓹 gedir. 55 00:02:37,270 --> 00:02:39,103 M蓹n t蓹rk m媒 Ben onun , orada r蓹ng arrow 56 00:02:39,103 --> 00:02:41,360 Bu kimi eyni r蓹ng sa臒 莽蓹r莽iv蓹sind蓹 d蓹st蓹, 57 00:02:41,360 --> 00:02:47,720 茝sas dondurmaq gedir g枚st蓹rir ki, 5 fakt枚ryel adlan谋r burada is蓹. 58 00:02:47,720 --> 00:02:49,300 >> Bel蓹 ki, 5 fakt枚ryel adlan谋r. 59 00:02:49,300 --> 00:02:53,160 V蓹 bu 莽ox da ba艧layacaq olacaq fakt枚ryel funksiyas谋 ba艧layan. 60 00:02:53,160 --> 00:02:55,440 Bu sual I 1 b蓹rab蓹r edir蓹m soru艧ur? 61 00:02:55,440 --> 00:02:56,810 1 b蓹rab蓹r 5? 62 00:02:56,810 --> 00:02:57,410 Yox, yax艧谋. 63 00:02:57,410 --> 00:03:01,110 Bel蓹 ki, a艧a臒谋 getm蓹k olacaq ba艧qa hiss蓹si qaytar谋lmas谋 n d蓹f蓹 64 00:03:01,110 --> 00:03:02,990 n minus 1 fakt枚ryel. 65 00:03:02,990 --> 00:03:03,490 OK, yax艧谋. 66 00:03:03,490 --> 00:03:07,070 >> Bel蓹 ki, indi 5 fakt枚ryel edir Ba艧qa bir z蓹ng as谋l谋 olaraq 67 00:03:07,070 --> 00:03:09,740 ke莽蓹n fakt枚ryel 眉莽眉n parametr kimi 4. 68 00:03:09,740 --> 00:03:14,210 V蓹 bel蓹 Faktorial 5 frame, q谋rm谋z谋 莽蓹r莽iv蓹 ki, 69 00:03:14,210 --> 00:03:17,160 orada dondurmaq niyy蓹tind蓹dir ki, x蓹tt m蓹n qeyd etdik 70 00:03:17,160 --> 00:03:21,914 v蓹 ba艧a 莽atd谋rmaq 眉莽眉n 4 fakt枚ryel g枚zl蓹yin sonra ki, bunu etm蓹k laz谋md谋r n蓹 71 00:03:21,914 --> 00:03:23,330 aktiv nizama yenid蓹n ola bil蓹r. 72 00:03:23,330 --> 00:03:26,890 >> Bel蓹 ki, 4 ba艧lay谋r fakt枚ryel fakt枚ryel ba艧lan臒谋c谋. 73 00:03:26,890 --> 00:03:28,556 1 b蓹rab蓹r 4? 74 00:03:28,556 --> 00:03:30,180 Xeyr, bel蓹 ki, eyni 艧ey olacaq. 75 00:03:30,180 --> 00:03:31,590 Ba艧qa filial谋 a艧a臒谋 getm蓹k olacaq. 76 00:03:31,590 --> 00:03:33,240 Bu kodu ki, x蓹tti almaq olacaq. 77 00:03:33,240 --> 00:03:35,710 OK, M蓹n d枚rd d蓹f蓹 qay谋tmaq 眉莽眉n gedir蓹m. 78 00:03:35,710 --> 00:03:41,270 Oh, 3 ed蓹c蓹yik fakt枚ryel bel蓹 fakt枚ryel 4 3 ba艧a Faktorial as谋l谋d谋r. 79 00:03:41,270 --> 00:03:43,055 >> V蓹 bel蓹 ki, 3 fakt枚ryel z蓹ng etm蓹k laz谋md谋r. 80 00:03:43,055 --> 00:03:45,180 V蓹 m媒 ke莽m蓹k oldu yen蓹 eyni proses. 81 00:03:45,180 --> 00:03:48,200 Bu vasit蓹sil蓹 ba艧lay谋r burada olur. 82 00:03:48,200 --> 00:03:50,980 3 fakt枚ryel as谋l谋d谋r 1 fakt枚ryel edir. 83 00:03:50,980 --> 00:03:53,750 2 ba艧lay谋r, bel蓹 ki, fakt枚ryel, burada olur. 84 00:03:53,750 --> 00:03:56,310 Bu 1 Faktorial as谋l谋d谋r. 85 00:03:56,310 --> 00:03:57,430 1 ba艧lay谋r fakt枚ryel. 86 00:03:57,430 --> 00:03:57,650 >> OLDU. 87 00:03:57,650 --> 00:03:59,775 Bel蓹 ki, indi biz 蓹ld蓹 edirik haradasa maraql谋, sa臒? 88 00:03:59,775 --> 00:04:02,190 Bel蓹 ki, indi 1 1 b蓹rab蓹rdir. 89 00:04:02,190 --> 00:04:05,130 V蓹 biz 1 qay谋tmaq. 90 00:04:05,130 --> 00:04:06,770 Bu n枚qt蓹d蓹, biz qay谋daca臒谋q. 91 00:04:06,770 --> 00:04:07,880 funksiyas谋 h蓹yata. 92 00:04:07,880 --> 00:04:11,140 Bu davran谋艧 var is-- bunu etm蓹k 眉莽眉n ba艧qa he莽 bir 艧ey, 93 00:04:11,140 --> 00:04:17,006 v蓹 bel蓹 y谋臒谋n谋 莽蓹r莽iv蓹sind蓹 眉莽眉n 1 fakt枚ryel off pops. 94 00:04:17,006 --> 00:04:17,589 O ba艧a. 95 00:04:17,589 --> 00:04:19,480 Bu 1 d枚nd眉. 96 00:04:19,480 --> 00:04:23,370 陌ndi, 2 fakt枚ryel olan 莽蓹r莽iv蓹sind蓹 a艧a臒谋dak谋 d蓹rhal idi 97 00:04:23,370 --> 00:04:26,160 y谋臒谋n谋, f蓹al 莽蓹r莽iv蓹sind蓹 olur. 98 00:04:26,160 --> 00:04:29,030 >> V蓹 ala bil蓹rsiniz m蓹hz bu off sol harada. 99 00:04:29,030 --> 00:04:32,240 Bu fakt枚ryel g枚zl蓹yir edilmi艧dir 1 枚z i艧ini ba艧a 莽atd谋rmaq 眉莽眉n. 100 00:04:32,240 --> 00:04:33,610 陌ndi ba艧a 莽at谋b. 101 00:04:33,610 --> 00:04:35,510 V蓹 bel蓹 ki, burada biz. 102 00:04:35,510 --> 00:04:38,080 >> 1 fakt枚ryel 1 d蓹y蓹ri d枚nd眉. 103 00:04:38,080 --> 00:04:42,430 2 can bel蓹 fakt枚ryel dem蓹k 2 d蓹f蓹 1 qay谋tmaq. 104 00:04:42,430 --> 00:04:43,680 Onun i艧 indi edilir. 105 00:04:43,680 --> 00:04:49,110 Bu fakt枚ryel 眉莽眉n 2 d枚nd眉 oldu 3, bunun 眉莽眉n g枚zl蓹yirdi olan. 106 00:04:49,110 --> 00:04:53,370 3 fakt枚ryel indi top 莽蓹r莽iv蓹sind蓹, y谋臒谋n谋 f蓹al 莽蓹r莽iv蓹sind蓹. 107 00:04:53,370 --> 00:04:58,617 V蓹 bel蓹 ki, OK, yax艧谋, m蓹n gedir蓹m deyir 6 3 d蓹f蓹 2, qay谋tmaq 眉莽眉n. 108 00:04:58,617 --> 00:05:00,700 M蓹n verm蓹k gedir蓹m fakt枚ryel geri qiym蓹tl蓹ndiririk 109 00:05:00,700 --> 00:05:03,430 4, m蓹ni g枚zl蓹yir edilmi艧dir. 110 00:05:03,430 --> 00:05:04,500 Men etdim. 111 00:05:04,500 --> 00:05:09,410 3 fakt枚ryel y谋臒谋n谋 off pops, v蓹 4 fakt枚ryel indi aktiv m眉nasib蓹t deyil. 112 00:05:09,410 --> 00:05:13,510 >> 4 OK, m蓹n 4 d蓹f蓹 qay谋tmaq 眉莽眉n gedir蓹m deyir alt谋 oldu 3 fakt枚ryel. 113 00:05:13,510 --> 00:05:15,980 Ki, d蓹y蓹ri idi ki, 3 fakt枚ryel d枚nd眉. 114 00:05:15,980 --> 00:05:19,010 V蓹 bel蓹 4 d蓹f蓹 6 24. 115 00:05:19,010 --> 00:05:20,990 M蓹n ke莽m蓹k 眉莽眉n gedir蓹m ki, geri fakt枚ryel 眉莽眉n 116 00:05:20,990 --> 00:05:23,160 5, m蓹ni g枚zl蓹yir edilmi艧dir. 117 00:05:23,160 --> 00:05:25,270 5 fakt枚ryel indi aktiv m眉nasib蓹t deyil. 118 00:05:25,270 --> 00:05:30,700 5 d蓹f蓹 geri olacaq 4-- 5 d蓹f蓹 24, v蓹 ya 120-- fakt枚ryel 119 00:05:30,700 --> 00:05:32,722 ki, d蓹y蓹ri verm蓹k geri olan, 蓹sas 120 00:05:32,722 --> 00:05:35,680 bir 莽ox s蓹birl蓹 g枚zl蓹yir y谋臒谋n谋 alt谋nda uzun m眉dd蓹t. 121 00:05:35,680 --> 00:05:36,640 >> Bu a莽谋lm谋艧 harada var. 122 00:05:36,640 --> 00:05:37,670 Bu 莽a臒谋r谋艧 etdi. 123 00:05:37,670 --> 00:05:39,400 Bir ne莽蓹 莽蓹r莽iv蓹sind蓹 眉st g枚t眉rd眉. 124 00:05:39,400 --> 00:05:41,890 陌ndi geri y谋臒谋n谋 眉st edir. 125 00:05:41,890 --> 00:05:43,450 Aktiv frame var. 126 00:05:43,450 --> 00:05:47,810 Bel蓹 ki, 蓹sas d蓹y蓹r var 120 geri 5 Faktorial olan. 127 00:05:47,810 --> 00:05:50,750 Bu g枚zl蓹yir edilmi艧dir ki, d蓹y蓹ri 莽ap. 128 00:05:50,750 --> 00:05:51,657 V蓹 sonra bunu edir. 129 00:05:51,657 --> 00:05:53,240 茝sas kodu daha x蓹tl蓹ri he莽 bir var. 130 00:05:53,240 --> 00:05:56,800 Bel蓹 ki, 蓹sas 莽蓹r莽iv蓹sind蓹 off pops y谋臒谋n谋, v蓹 biz tamamlay谋n. 131 00:05:56,800 --> 00:05:58,992 >> Recursion nec蓹 ki, var. 132 00:05:58,992 --> 00:06:00,200 Ki y谋臒谋n谋 莽蓹r莽iv蓹sind蓹 nec蓹 var. 133 00:06:00,200 --> 00:06:03,120 H蓹min funksiyas谋 z蓹ngl蓹r ki, 蓹vv蓹ll蓹r ba艧 134 00:06:03,120 --> 00:06:06,620 yaln谋z fasil蓹 var g枚zl蓹yir sonrak谋 z蓹ngl蓹r 眉莽眉n 135 00:06:06,620 --> 00:06:12,050 bel蓹 ki, onlar f蓹al ola bil蓹r ba艧a 莽atd谋rmaq 眉莽眉n nizama v蓹 onlar n蓹 etm蓹k laz谋md谋r n蓹 ba艧a. 136 00:06:12,050 --> 00:06:13,060 >> M蓹n Doug Lloyd edir蓹m. 137 00:06:13,060 --> 00:06:14,880 Bu CS50 edir. 138 00:06:14,880 --> 00:06:16,580