1 00:00:00,000 --> 00:00:05,300 2 00:00:05,300 --> 00:00:07,300 DOUG LLOYD: Siz ba艧lamaq kimi funksiyalar谋 il蓹 i艧, 3 00:00:07,300 --> 00:00:09,966 ba艧qa bir 艧ey olmaq niyy蓹tind蓹dir anlamaq, h蓹qiq蓹t蓹n, vacibdir, 4 00:00:09,966 --> 00:00:12,380 olan d蓹yi艧蓹n daxilind蓹 anlay谋艧d谋r. 5 00:00:12,380 --> 00:00:14,490 Bel蓹 ki, daxilind蓹 bir d蓹yi艧蓹n xarakterik 6 00:00:14,490 --> 00:00:18,860 ki funksiyalar谋 m眉蓹yy蓹n ki, d蓹yi艧蓹n 蓹ld蓹 edil蓹 bil蓹r. 7 00:00:18,860 --> 00:00:24,595 >> C iki 蓹sas scopes var, yerli d蓹yi艧蓹nl蓹rin v蓹 qlobal d蓹yi艧蓹nl蓹r. 8 00:00:24,595 --> 00:00:27,830 陌ndi yerli d蓹yi艧蓹nl蓹rin yaln谋z funksiyalar谋 莽蓹r莽iv蓹sind蓹 蓹ld蓹 edil蓹 9 00:00:27,830 --> 00:00:29,045 onlar yarad谋lm谋艧 edirik. 10 00:00:29,045 --> 00:00:32,170 Onlar h蓹r il蓹 蓹ld蓹 edil蓹 bilm蓹z proqram m枚vcud funksiyas谋, 11 00:00:32,170 --> 00:00:34,184 yaln谋z funksiyas谋 bu da yarad谋lm谋艧d谋r. 12 00:00:34,184 --> 00:00:36,350 Qlobal d蓹yi艧蓹nl蓹r, Dig蓹r t蓹r蓹fd蓹n, 蓹ld蓹 edil蓹 bil蓹r 13 00:00:36,350 --> 00:00:37,719 proqram h蓹r hans谋 bir funksiyas谋 il蓹. 14 00:00:37,719 --> 00:00:40,260 V蓹 s蓹b蓹bi Onlar daxili yarad谋lm谋艧 deyilik, 莽眉nki 15 00:00:40,260 --> 00:00:41,441 h蓹r hans谋 bir funksiyas谋. 16 00:00:41,441 --> 00:00:43,690 Biz xaricind蓹 onlara elan funksiyalar谋, olan 17 00:00:43,690 --> 00:00:48,940 h蓹r funksiyas谋 bilir o dem蓹kdir ki, bu v蓹 daxil olmaq v蓹 manipulyasiya ed蓹 bil蓹r. 18 00:00:48,940 --> 00:00:52,010 >> Bu g眉n蓹 q蓹d蓹r zaman谋 olduqca var q蓹d蓹r yaln谋z i艧l蓹yirik 19 00:00:52,010 --> 00:00:54,280 yerli d蓹yi艧蓹nl蓹rin. 20 00:00:54,280 --> 00:00:58,320 Burada bir n眉mun蓹 莽ox, 莽ox var sad蓹 蓹sas funksiyas谋 v蓹 bir 莽ox sad蓹 21 00:00:58,320 --> 00:01:00,680 biz yazd谋q 蓹lav蓹 funksiyas谋. 22 00:01:00,680 --> 00:01:03,180 Bu halda, x hans谋 M蓹n yaln谋z ya艧谋l r蓹ngli etdik 23 00:01:03,180 --> 00:01:07,400 m枚vqeyind蓹 qeyd etm蓹k v蓹 ya ki, d蓹yi艧蓹n daxilind蓹, 24 00:01:07,400 --> 00:01:09,240 眉莽 funksiyas谋 yerli. 25 00:01:09,240 --> 00:01:12,300 茝sas b眉t眉n x istinad ed蓹 bilm蓹z. 26 00:01:12,300 --> 00:01:14,259 Bu n蓹 bilmir. 27 00:01:14,259 --> 00:01:17,050 No dig蓹r funksiyas谋, 蓹slind蓹, biz 蓹g蓹r burada 蓹lav蓹 funksiyalar谋 var idi 28 00:01:17,050 --> 00:01:19,360 x m眉raci蓹t ed蓹 bil蓹r. 29 00:01:19,360 --> 00:01:23,520 >> Eynil蓹, m蓹n etdiyiniz n蓹tic蓹l蓹rini mavi r蓹ngli, yaln谋z 蓹sas yerli edir. 30 00:01:23,520 --> 00:01:26,980 Yaln谋z 蓹sas n蓹 bilir d蓹yi艧蓹n n蓹tic蓹sidir. 31 00:01:26,980 --> 00:01:30,010 眉莽 istifad蓹 ed蓹 bilm蓹z. 32 00:01:30,010 --> 00:01:32,580 >> 陌ndi qeyd olundu臒u kimi, qlobal d蓹yi艧蓹nl蓹r m枚vcuddur. 33 00:01:32,580 --> 00:01:35,575 Ki, d蓹yi艧蓹n elan 蓹g蓹r h蓹r hans谋 bir funksiyas谋 k蓹narda, 34 00:01:35,575 --> 00:01:38,290 funksiyalar谋 b眉t眉n proqram 眉莽眉n m眉raci蓹t ed蓹 bil蓹r. 35 00:01:38,290 --> 00:01:44,010 Bel蓹 ki, bu halda m蓹n qeyd etdik qlobal d蓹yi艧蓹n b蓹yannam蓹 ya艧谋l. 36 00:01:44,010 --> 00:01:45,830 Bu halda, d蓹yi艧蓹n varl谋q elan 37 00:01:45,830 --> 00:01:48,720 yaln谋z qlobal adlan谋r bu bar蓹d蓹 莽ox ayd谋n. 38 00:01:48,720 --> 00:01:49,720 Bu tipli float edir. 39 00:01:49,720 --> 00:01:52,940 V蓹 m蓹n d蓹y蓹r 0,5050 t蓹yin. 40 00:01:52,940 --> 00:01:58,080 >> Siz 蓹sas v蓹 g枚r蓹c蓹ksiniz 眉莽, m蓹n qlobal m眉raci蓹t ed蓹 edir蓹m. 41 00:01:58,080 --> 00:02:03,480 V蓹 蓹slind蓹, m蓹n proqram谋 vasit蓹sil蓹 getm蓹k 蓹g蓹r 蓹sas ilk z蓹ngl蓹r 眉莽 g枚st蓹rildiyi kimi, 42 00:02:03,480 --> 00:02:10,440 3 qlobal 眉莽 multiplies olan 1.5 艧ey onun d蓹y蓹ri m眉蓹yy蓹n edir, 43 00:02:10,440 --> 00:02:16,080 1.51 ya kimi bir 艧ey, v蓹 sonra 蓹sas da d蓹y蓹r 莽ap 44 00:02:16,080 --> 00:02:16,620 qlobal. 45 00:02:16,620 --> 00:02:24,424 0,5050 莽ap deyil, bel蓹 ki, 蓹sas, onu , 1,51 qlobal d蓹f蓹 3 莽ap ed蓹c蓹k. 46 00:02:24,424 --> 00:02:27,340 Bel蓹 ki, zaman ehtiyatl谋 olmaq var qlobal d蓹yi艧蓹nl蓹r 莽al谋艧谋r谋q. 47 00:02:27,340 --> 00:02:30,260 Onlar 莽ox 莽evik etdiyiniz is蓹 m蓹lumat ke莽m蓹k qadir olan 48 00:02:30,260 --> 00:02:32,650 蓹traf谋nda ki, h蓹r funksiyas谋 istifad蓹 ed蓹 bil蓹rsiniz, 49 00:02:32,650 --> 00:02:34,580 bu da b蓹zi ola bil蓹r t蓹hl眉k蓹li n蓹tic蓹l蓹ri 50 00:02:34,580 --> 00:02:38,770 bir funksiyas谋 d蓹yi艧iklikl蓹r 蓹g蓹r d蓹yi艧蓹n d蓹y蓹ri 51 00:02:38,770 --> 00:02:42,360 g枚zl蓹m蓹k 蓹vv蓹l d蓹yi艧diril蓹. 52 00:02:42,360 --> 00:02:44,200 >> Niy蓹 bu f蓹rq F蓹rq etmir? 53 00:02:44,200 --> 00:02:48,070 Niy蓹 biz qay臒谋 b蓹zi d蓹yi艧蓹nl蓹r olub yerli v蓹 dig蓹r qlobal var? 54 00:02:48,070 --> 00:02:53,880 Yax艧谋, 莽ox hiss蓹si 眉莽眉n, yerli d蓹yi艧蓹nl蓹rin C d蓹y蓹ri q蓹bul deyirl蓹r n蓹 var 55 00:02:53,880 --> 00:02:56,087 biz bir funksiyas谋 z蓹ng zaman. 56 00:02:56,087 --> 00:02:56,920 Bunun m蓹nas谋 n蓹dir? 57 00:02:56,920 --> 00:03:00,880 >> Yax艧谋, bir d蓹yi艧蓹n ke莽di zaman d蓹y蓹ri, callee t蓹r蓹find蓹n hans谋 58 00:03:00,880 --> 00:03:04,350 funksiyas谋 dey蓹r蓹k bir yoldur ki, d蓹yi艧蓹n q蓹bul edir ki, 59 00:03:04,350 --> 00:03:08,465 bir giri艧 kimi q蓹bul olur, bu, h蓹qiq蓹t蓹n ki, d蓹yi艧蓹n 枚z眉 q蓹bul etmir. 60 00:03:08,465 --> 00:03:12,490 O, 枚z q蓹bul bu sur蓹ti il蓹 i艧l蓹m蓹k 眉莽眉n. 61 00:03:12,490 --> 00:03:14,350 Bu h蓹qiq蓹t蓹n 蓹h蓹miyy蓹tli bir f蓹rq var. 62 00:03:14,350 --> 00:03:18,250 Biz yaln谋z bir ikinci 蓹vv蓹l g枚rd眉m qlobal d蓹yi艧蓹nl蓹r il蓹, 63 00:03:18,250 --> 00:03:23,240 qlobal manipulyasiya 蓹g蓹r bir funksiyas谋 d蓹yi艧蓹n t蓹siri 64 00:03:23,240 --> 00:03:26,390 ki, bir funksiyas谋 da艧谋y谋r h蓹r bir dig蓹r funksiyas谋 vasit蓹sil蓹. 65 00:03:26,390 --> 00:03:28,920 >> Lakin yerli d蓹yi艧蓹nl蓹rin, ki, do臒ru deyil. 66 00:03:28,920 --> 00:03:32,060 H蓹r bir funksiyas谋 zaman giri艧 kimi d蓹yi艧蓹nl蓹rin q蓹bul 67 00:03:32,060 --> 00:03:36,367 bu d蓹yi艧蓹nl蓹rin sur蓹tl蓹rini almaq, Biz d蓹yi艧蓹nl蓹rin 枚zl蓹ri. 68 00:03:36,367 --> 00:03:37,825 Bel蓹 ki, yan t蓹siri n蓹dir? 69 00:03:37,825 --> 00:03:40,450 O dem蓹kdir ki d蓹yi艧蓹n z蓹ng funksiyas谋 ki, 70 00:03:40,450 --> 00:03:45,600 funksiyas谋 z蓹ng ed蓹r蓹k deyil, d蓹yi艧m蓹z siz yaln谋艧 halda. 71 00:03:45,600 --> 00:03:50,420 >> M蓹s蓹l蓹n, bu kodu foo b眉t眉n d蓹yi艧diril蓹 deyil. 72 00:03:50,420 --> 00:03:55,450 Int foo 4 b蓹rab蓹rdir, 眉莽 z蓹ng foo, 眉莽 daxilind蓹, 73 00:03:55,450 --> 00:03:58,850 ki, foo ki g枚zl蓹m蓹k olard谋 3 vurulur v蓹 qaytar谋l谋r, 74 00:03:58,850 --> 00:04:01,450 lakin faktiki olaraq he莽 bir t蓹siri var. 75 00:04:01,450 --> 00:04:03,460 >> Burada baxmayaraq ki, bir 莽ox inc蓹 f蓹rq. 76 00:04:03,460 --> 00:04:06,520 Bu ist蓹diyiniz effekti yoxdur. 77 00:04:06,520 --> 00:04:07,730 Niy蓹 g枚r眉rs眉n眉z? 78 00:04:07,730 --> 00:04:11,500 Biz 蓹sas bu d蓹f蓹 foo 蓹sas edirik. 79 00:04:11,500 --> 00:04:16,899 >> Bel蓹 ki, int foo 4, foo b蓹rab蓹rdir 眉莽 foo, biz z蓹ng zaman, 80 00:04:16,899 --> 00:04:21,680 眉莽 枚z sur蓹tini al谋r foo, 4 枚z sur蓹ti. 81 00:04:21,680 --> 00:04:27,340 Bu n蓹 4 d蓹f蓹 3, v蓹 ya geri deyir d蓹yi艧蓹n d蓹f蓹 3 ke莽di olur. 82 00:04:27,340 --> 00:04:32,109 V蓹 sonra biz geri t蓹yin 眉莽 d蓹y蓹ri yenid蓹n foo. 83 00:04:32,109 --> 00:04:33,650 Bel蓹 ki, bu, h蓹qiq蓹t蓹n, foo 眉zerine olard谋. 84 00:04:33,650 --> 00:04:35,816 Bunu etm蓹k 眉莽眉n yegan蓹 yoldur yerli d蓹yi艧蓹n il蓹 bu. 85 00:04:35,816 --> 00:04:38,120 Bel蓹 ki, indi biz bir 蓹lav蓹 burada kodu line 86 00:04:38,120 --> 00:04:40,870 茝sas sonuna at , foo d蓹y蓹ri 莽ap 87 00:04:40,870 --> 00:04:45,030 蓹slind蓹 12 莽ap olard谋. 88 00:04:45,030 --> 00:04:48,600 >> D蓹yi艧蓹n daxilind蓹 眉mumiyy蓹tl蓹 bir problem 莽ox deyil 89 00:04:48,600 --> 00:04:51,190 Siz b眉t眉n ad谋n谋 蓹g蓹r sizin d蓹yi艧蓹nl蓹rin f蓹rqli 艧eyl蓹r. 90 00:04:51,190 --> 00:04:54,920 Amma bu murdar c眉r 蓹ld蓹 ed蓹 bil蓹rsiniz Eyni d蓹yi艧蓹n ad谋 91 00:04:54,920 --> 00:04:58,820 莽ox funksiyalar谋 g枚r眉n眉r, olan bir 莽ox olacaq. 92 00:04:58,820 --> 00:05:02,130 茝g蓹r i艧 deyils蓹 real d眉nya harada 93 00:05:02,130 --> 00:05:06,080 Siz 蓹m蓹kda艧l谋q 眉z蓹rind蓹 i艧l蓹yirik m眉xt蓹lif qruplar谋 proqramlar谋 v蓹 insanlar 94 00:05:06,080 --> 00:05:11,000 Eyni yazmaq 眉莽眉n birlikd蓹 莽al谋艧谋r谋q proqram v蓹 ya proqramlar谋n eyni, 95 00:05:11,000 --> 00:05:13,900 Onlar tez-tez d蓹yi艧蓹n t蓹krar laz谋md谋r adlar谋, x眉susil蓹 眉mumi olanlar谋 96 00:05:13,900 --> 00:05:18,020 Bel蓹 x, y, I, J, v蓹 s. 97 00:05:18,020 --> 00:05:20,370 >> Amma d蓹yi艧蓹nl蓹r var eyni ad谋, 蓹hat蓹 dair蓹si m蓹s蓹l蓹l蓹r 98 00:05:20,370 --> 00:05:23,080 bir az trickier analiz 蓹ld蓹 ed蓹 bil蓹rsiniz. 99 00:05:23,080 --> 00:05:26,790 M蓹s蓹l蓹n, bilirsiniz n蓹 莽ap olunacaq 100 00:05:26,790 --> 00:05:30,190 bu Proqram谋n sonunda? 101 00:05:30,190 --> 00:05:31,280 Bir d蓹qiq蓹 edin. 102 00:05:31,280 --> 00:05:33,382 Video Pause v蓹 oxumaq Bu proqram vasit蓹sil蓹. 103 00:05:33,382 --> 00:05:35,590 Siz 眉st biz g枚r蓹 bil蓹rsiniz bir funksiyas谋 b蓹yannam蓹 var 104 00:05:35,590 --> 00:05:37,350 art谋m adl谋 funksiyas谋 眉莽眉n. 105 00:05:37,350 --> 00:05:40,800 Ki, funksiyas谋 bir edir parametri, biz x z蓹ng tam. 106 00:05:40,800 --> 00:05:42,610 V蓹 tam n蓹tic蓹l蓹r. 107 00:05:42,610 --> 00:05:44,820 Ki, ba艧谋nda qaytar谋lmas谋 n枚v眉 var. 108 00:05:44,820 --> 00:05:48,140 >> Sonra biz x蓹tl蓹ri 蓹sas, bir ne莽蓹 var 蓹sas kodu, olan son 109 00:05:48,140 --> 00:05:49,250 莽ap b蓹yanatd谋r. 110 00:05:49,250 --> 00:05:51,140 V蓹 burada sual, xat谋rlay谋ram. 111 00:05:51,140 --> 00:05:54,240 N蓹 h蓹qiq蓹t蓹n olacaq Bu funksiya sonunda 莽ap? 112 00:05:54,240 --> 00:05:58,110 V蓹 sonra biz h蓹qiq蓹t蓹n var A艧a臒谋dak谋 art谋m m眉蓹yy蓹n. 113 00:05:58,110 --> 00:06:01,760 >> Bel蓹 add谋m, bir d蓹qiq蓹 indeksi, 艧eyi iz. 114 00:06:01,760 --> 00:06:08,100 Siz 莽ap olunacaq n蓹 bilirik bu Proqram谋n sonunda? 115 00:06:08,100 --> 00:06:08,600 >> Oldu. 116 00:06:08,600 --> 00:06:11,433 脺mid edir蓹m ki, bir ne莽蓹 saniy蓹 q蓹bul etdik c蓹hd v蓹 bu bir analiz 眉莽眉n. 117 00:06:11,433 --> 00:06:13,370 Birlikd蓹 bunu ed蓹k. 118 00:06:13,370 --> 00:06:16,022 >> Bel蓹 ki, art谋m h蓹yata ke莽蓹r蓹k etdik orada 眉st B蓹yannam蓹. 119 00:06:16,022 --> 00:06:17,230 Bu yay谋nd谋rma idi. 120 00:06:17,230 --> 00:06:18,570 O, 枚z d蓹yi艧蓹n deyil. 121 00:06:18,570 --> 00:06:19,879 O, 枚z 蓹hat蓹 dair蓹sini yoxdur. 122 00:06:19,879 --> 00:06:21,920 Bu, sad蓹c蓹 bir funksiyas谋 var b蓹yannam蓹, bel蓹 ki, m蓹qs蓹dl蓹r 眉莽眉n 123 00:06:21,920 --> 00:06:24,330 bir ne analiz 莽al谋艧谋r Bu proqram ba艧, 124 00:06:24,330 --> 00:06:26,660 biz d蓹 yaln谋z qar艧谋s谋n谋 almaq bil蓹r. 125 00:06:26,660 --> 00:06:29,560 >> 陌ndi biz bu halda var, Bu problem 莽蓹tin s蓹b蓹bi 126 00:06:29,560 --> 00:06:34,030 biz yerli d蓹yi艧蓹nl蓹r var, 莽眉nki 蓹sas v蓹 art谋m, h蓹m d蓹 h蓹r hans谋 127 00:06:34,030 --> 00:06:35,090 adl谋 x edir. 128 00:06:35,090 --> 00:06:39,830 V蓹 蓹lb蓹tt蓹, bu m蓹s蓹l蓹nin mahiyy蓹ti deyil x d蓹yi艧di olur s眉ss 眉莽眉n 莽al谋艧谋r 129 00:06:39,830 --> 00:06:41,890 v蓹 nec蓹 d蓹yi艧di almaq deyil. 130 00:06:41,890 --> 00:06:46,900 Bel蓹 ki, h蓹r instansiya r蓹ngli etdik x 蓹sas q谋rm谋z谋 yerli ki. 131 00:06:46,900 --> 00:06:52,040 V蓹 m蓹n h蓹r instansiya r蓹ngli etdik x mavi artt谋rmay谋 yerli var. 132 00:06:52,040 --> 00:06:55,220 >> 脺莽眉nc眉 x蓹tt Notice 蓹sas, y art谋m b蓹rab蓹rdir 133 00:06:55,220 --> 00:07:00,800 x ki, art谋m olan deyil ke莽diyini 蓹sas x, v蓹 ya q谋rm谋z谋 x. 134 00:07:00,800 --> 00:07:03,320 Bu, bir kopyas谋n谋 q蓹bul 蓹ld蓹 edir. 135 00:07:03,320 --> 00:07:06,987 V蓹 yaln谋z i艧l蓹m蓹k olacaq bu ki sur蓹ti, mavi x. 136 00:07:06,987 --> 00:07:08,820 Siz riyazi edirsinizs蓹 maili, g眉c 137 00:07:08,820 --> 00:07:14,230 蓹v蓹zin蓹 x alt kimi bu fikir art谋m 眉莽眉n 蓹sas v蓹 alt x i 眉莽眉n m. 138 00:07:14,230 --> 00:07:15,700 Amma eyni fikirdir. 139 00:07:15,700 --> 00:07:18,999 x sub m, ya x q谋rm谋z谋 茝vv蓹lki slayd, 140 00:07:18,999 --> 00:07:21,790 local-- var d蓹yi艧蓹nl蓹r var ki, daha 莽ox x instansiya edir 141 00:07:21,790 --> 00:07:26,900 蓹sas yerli v蓹 x sub i, v蓹 ya 茝vv蓹lki slide mavi d蓹yi艧蓹nl蓹r, 142 00:07:26,900 --> 00:07:30,760 x hallarda var ki, artt谋rmay谋 yerli. 143 00:07:30,760 --> 00:07:36,220 >> Bel蓹 ki, anlamaq m眉mk眉n idi n蓹 sonunda 莽ap, bu funksiya? 144 00:07:36,220 --> 00:07:39,420 M蓹n Doug Lloyd oldum v蓹 bu CS50 edir. 145 00:07:39,420 --> 00:07:41,542