1 00:00:00,000 --> 00:00:00,487 2 00:00:00,487 --> 00:00:11,210 >> [MUSIC PLAYING] 3 00:00:11,210 --> 00:00:12,100 >> Rob Boden: B眉t眉n h眉ququ. 4 00:00:12,100 --> 00:00:15,620 Video ilk Bel蓹 ki, ilk 艧ey, bir tan谋艧 眉z. 5 00:00:15,620 --> 00:00:22,080 6 00:00:22,080 --> 00:00:22,560 >> [Video playback] 7 00:00:22,560 --> 00:00:23,370 >> -B眉t眉n h眉ququ. 8 00:00:23,370 --> 00:00:27,150 Bu CS50, v蓹 bu H蓹ft蓹 眉莽 start. 9 00:00:27,150 --> 00:00:29,980 M蓹n sizinl蓹 ola bilm蓹z 眉zg眉n眉m Bu g眉n, amma m蓹n蓹 t蓹qdim etm蓹y蓹 imkan verir 10 00:00:29,980 --> 00:00:32,880 CS50 枚z Rob Boden. 11 00:00:32,880 --> 00:00:33,872 >> [END Video playback] 12 00:00:33,872 --> 00:00:39,340 >> [Alq谋艧 v蓹 alq谋艧] 13 00:00:39,340 --> 00:00:41,277 >> Rob Boden: The Filmoqrafiya ki, video fantastik edir. 14 00:00:41,277 --> 00:00:47,280 15 00:00:47,280 --> 00:00:47,770 B眉t眉n h眉quqlar. 16 00:00:47,770 --> 00:00:50,960 Bel蓹 ki, ilk, bir nahar var. 17 00:00:50,960 --> 00:00:52,330 Bu 1:15 sabah var. 18 00:00:52,330 --> 00:00:54,480 Bu c眉m蓹 bir nahar var. 19 00:00:54,480 --> 00:00:55,810 Bu Quora il蓹. 20 00:00:55,810 --> 00:01:00,190 V蓹 Tommy bir, lakin, h蓹l蓹 burada deyil ke莽mi艧 r蓹hb蓹ri CF var insanlar, 21 00:01:00,190 --> 00:01:01,530 Tommy McWilliam. 22 00:01:01,530 --> 00:01:02,730 Bel蓹 ki, o bir 蓹yl蓹nc蓹 o臒lan var. 23 00:01:02,730 --> 00:01:04,819 Siz g蓹lm蓹lidir. 24 00:01:04,819 --> 00:01:05,900 >> B眉t眉n h眉quqlar. 25 00:01:05,900 --> 00:01:11,360 Bel蓹 ki, 枚t蓹n h蓹ft蓹 biz ayr谋 q谋raraq ba艧layan bir string h蓹qiq蓹t蓹n n蓹 haqq谋nda. 26 00:01:11,360 --> 00:01:14,830 Biz ba艧谋ndan b蓹ri m蓹lum etdik ki, Bu simvol bir ard谋c谋ll谋qla var. 27 00:01:14,830 --> 00:01:18,130 Amma ke莽蓹n h蓹ft蓹, biz 蓹slind蓹 delved n蓹 h蓹qiq蓹t蓹n bir ard谋c谋ll谋qla ki, 28 00:01:18,130 --> 00:01:22,110 simvol, yax艧谋, biz indi simvol Diziler. 29 00:01:22,110 --> 00:01:26,450 V蓹 biz bir string, bir s谋ra var bilirik ki, simvol, 莽ox sonunda, 30 00:01:26,450 --> 00:01:30,920 biz bu x眉susi null byte var, bu backslash 0 ki, son of g枚st蓹rir 31 00:01:30,920 --> 00:01:32,230 simli. 32 00:01:32,230 --> 00:01:36,970 >> V蓹 bel蓹 bir string bir s谋ra edir simvol, lakin biz daha 莽ox 33 00:01:36,970 --> 00:01:39,530 simvol yaln谋z bir array, biz h蓹r hans谋 bir s谋ra ola bil蓹r 34 00:01:39,530 --> 00:01:40,890 biz ist蓹yirik 艧ey n枚v眉. 35 00:01:40,890 --> 00:01:51,570 Bel蓹 ki, 枚t蓹n h蓹ft蓹 geri 蓹g蓹r David t蓹qdim ed蓹n 脟a臒lar proqram 36 00:01:51,570 --> 00:01:53,560 h蓹qiq蓹t蓹n tez. 37 00:01:53,560 --> 00:01:57,010 Biz n蓹 olacaq Bel蓹 ki, ilk 艧ey , tam 眉莽眉n istifad蓹莽i xahi艧 38 00:01:57,010 --> 00:01:58,800 oda insanlar谋n say谋. 39 00:01:58,800 --> 00:02:01,260 Biz tam var, biz bir s谋ra elan edirik. 40 00:02:01,260 --> 00:02:02,890 Bu bracket sintaksis bildiri艧. 41 00:02:02,890 --> 00:02:04,540 Siz istifad蓹 almaq olacaq. 42 00:02:04,540 --> 00:02:09,430 >> Bel蓹likl蓹, biz integers bir s谋ra elan edirik ya艧 adlan谋r v蓹 n var 43 00:02:09,430 --> 00:02:12,080 Bu array integers. 44 00:02:12,080 --> 00:02:16,480 Burada Bel蓹 ki, bu model, bu 4 int i i plus, i az n edir, 0 b蓹rab蓹rdir 45 00:02:16,480 --> 00:02:20,580 plus, h蓹m莽inin bir model olacaq 莽ox 眉莽眉n istifad蓹 almaq. 46 00:02:20,580 --> 00:02:24,000 Ki, olduqca 莽ox siz nec蓹 莽眉nki h蓹mi艧蓹 seriallar谋n 眉z蓹rind蓹 t蓹krarlamaq 眉莽眉n gedir. 47 00:02:24,000 --> 00:02:26,330 Bel蓹 ki, n ki xat谋rlay谋ram bizim serial谋n uzunlu臒u. 48 00:02:26,330 --> 00:02:32,120 V蓹 bel蓹 ki, burada biz d蓹f蓹l蓹rl蓹 xahi艧 olunur otaqda adam i ya艧 眉莽眉n. 49 00:02:32,120 --> 00:02:36,640 >> Bundan sonra, biz a艧a臒谋 getm蓹k v蓹 n蓹 眉莽眉n ixtiyari s蓹b蓹bi, biz sonra 50 00:02:36,640 --> 00:02:40,220 onlar olacaq n蓹 q蓹d蓹r k枚hn蓹 莽ap 陌ndi bir il olacaq. 51 00:02:40,220 --> 00:02:49,980 V蓹 proqram 莽al谋艧an ed蓹k , ya艧 etm蓹k 莽izgi ya艧 n枚qt蓹. 52 00:02:49,980 --> 00:02:53,010 Bel蓹 ki, oda insanlar谋n say谋, 眉莽 var dey蓹k. 53 00:02:53,010 --> 00:02:59,880 V蓹 ilk 艧蓹xs 13, dem蓹k N枚vb蓹ti 26 v蓹 son 30. 54 00:02:59,880 --> 00:03:05,080 Bel蓹 ki, o, h蓹min 眉莽 t蓹krarlamaq laz谋md谋r n蓹f蓹r, 14 h蓹yata 27 v蓹 31 莽ap. 55 00:03:05,080 --> 00:03:16,060 >> Bel蓹 ki, unutmay谋n ki, biz bir zaman b蓹yan 枚l莽眉s眉 n array, ki indeksl蓹ri 56 00:03:16,060 --> 00:03:19,950 array, array d蓹y蓹rl蓹ri var v蓹 indeksl蓹ri 0, 1, 2, b眉t眉n yol 57 00:03:19,950 --> 00:03:21,680 up n minus 1. 58 00:03:21,680 --> 00:03:26,255 Bel蓹likl蓹, biz dedi 眉莽 n蓹f蓹r var idi otaqda, v蓹 biz burada qoymaq 59 00:03:26,255 --> 00:03:29,850 Bu vasit蓹sil蓹 ilk iteration loop, i 0 olacaq. 60 00:03:29,850 --> 00:03:31,650 Bel蓹 ki, index 0. 61 00:03:31,650 --> 00:03:34,540 Biz ilk t蓹yin olunur istifad蓹莽i daxil ya艧. 62 00:03:34,540 --> 00:03:38,870 Sonra n枚vb蓹ti bir, biz daxil oldu臒unuz ikinci n istifad蓹莽i daxil, v蓹 63 00:03:38,870 --> 00:03:40,580 iki, son n yan谋nda. 64 00:03:40,580 --> 00:03:44,200 >> Bel蓹 ki, fark 枚l莽眉s眉 bir array 眉莽 艧ey yoxdur 65 00:03:44,200 --> 00:03:46,040 indeksi 眉莽. 66 00:03:46,040 --> 00:03:49,036 Bu d眉zg眉n deyil. 67 00:03:49,036 --> 00:03:50,250 B眉t眉n h眉quqlar. 68 00:03:50,250 --> 00:03:55,136 Bel蓹 ki, burada geri gedir. 69 00:03:55,136 --> 00:03:57,650 70 00:03:57,650 --> 00:04:01,590 Bel蓹 ki, indi biz Diziler b蓹hs etdik ki, biz b蓹zi tan谋艧l谋q var. 71 00:04:01,590 --> 00:04:03,780 陌ndi biz komanda 眉莽眉n h蓹r蓹k蓹t olacaq olacaq olan line d蓹lill蓹ri, 72 00:04:03,780 --> 00:04:05,890 Bu problem set olduqca m眉vafiq. 73 00:04:05,890 --> 00:04:09,670 >> Bel蓹 ki, indi q蓹d蓹r, zaman var Sizin 蓹sas funksiyas谋 elan, biz var 74 00:04:09,670 --> 00:04:11,230 int main etibars谋z etdi. 75 00:04:11,230 --> 00:04:14,070 Bel蓹 ki, etibars谋z yaln谋z dem蓹kdir ki, Biz h蓹r hans谋 bir ke莽蓹n deyil 76 00:04:14,070 --> 00:04:16,440 Bu funksiya arqumentl蓹r. 77 00:04:16,440 --> 00:04:19,190 陌ndi biz 蓹sas g枚rm蓹k olacaq b蓹zi arqumentl蓹r bil蓹r. 78 00:04:19,190 --> 00:04:22,470 Burada argc int onlara z蓹ng v蓹 simli argv m枚t蓹riz蓹d蓹. 79 00:04:22,470 --> 00:04:26,930 M枚t蓹riz蓹d蓹, bir daha ifad蓹 biz seriallar谋n il蓹 m蓹艧臒ul oldu臒unuz. 80 00:04:26,930 --> 00:04:31,850 Bel蓹 ki, burada, simli argv M枚t蓹riz蓹d蓹, biz ist蓹yirik strings bir s谋ra il蓹 m蓹艧臒ul. 81 00:04:31,850 --> 00:04:35,360 Bel蓹 argc g枚st蓹rir ki, olacaq biz etdik ne莽蓹 arqumentl蓹r 82 00:04:35,360 --> 00:04:37,580 Bu proqram ke莽di. 83 00:04:37,580 --> 00:04:46,050 V蓹 o dem蓹kdir ki, n蓹 Bu yax谋n qoy. 84 00:04:46,050 --> 00:04:46,490 >> OK. 85 00:04:46,490 --> 00:04:50,790 Bel蓹 ki, indi q蓹d蓹r, biz h蓹r run etdik dot 莽izgi ya艧 kimi proqram. 86 00:04:50,790 --> 00:04:55,250 Biz h蓹m莽inin, command line, ke莽mi艧 d蓹lill蓹ri q蓹bul, bel蓹likl蓹 termini, command 87 00:04:55,250 --> 00:04:56,550 line d蓹lill蓹ri. 88 00:04:56,550 --> 00:04:59,760 Bel蓹 ki, ilk arqument, d眉nya salam. 89 00:04:59,760 --> 00:05:03,350 Bel蓹 ki, burada, argc 眉莽 olard谋. 90 00:05:03,350 --> 00:05:07,720 Bu arqumentl蓹r say谋 var command line. 91 00:05:07,720 --> 00:05:12,840 Argc, h蓹mi艧蓹 蓹n az谋 1 ild蓹n dot 枚z眉n眉 ya艧 z蓹rb蓹 biri kimi sayar 92 00:05:12,840 --> 00:05:14,490 command line d蓹lill蓹ri. 93 00:05:14,490 --> 00:05:17,010 >> Sonra salam ilk. 94 00:05:17,010 --> 00:05:20,460 Dot 莽izgi ya艧, sonra zeroth varsa salam ilk v蓹 d眉nya edir 95 00:05:20,460 --> 00:05:22,830 ikinci command line arqument. 96 00:05:22,830 --> 00:05:29,490 Bel蓹 ki, simli argv, biz g枚rm蓹k olacaq, strings, dot 莽izgi var 97 00:05:29,490 --> 00:05:33,830 ya艧, hello, v蓹 d眉nya. 98 00:05:33,830 --> 00:05:38,945 V蓹 Davudun xahi艧i il蓹 biz gedirik ki tan谋dan bir video oynamaq. 99 00:05:38,945 --> 00:05:42,486 100 00:05:42,486 --> 00:05:43,890 >> [Video playback] 101 00:05:43,890 --> 00:05:46,240 >> -Up biz etdik proqramlar谋 indiy蓹 q蓹d蓹r yaz谋l谋, biz b蓹yan etdik 102 00:05:46,240 --> 00:05:48,500 蓹sas kimi int main void. 103 00:05:48,500 --> 00:05:51,170 V蓹 b眉t眉n bu d蓹f蓹 ki, etibars谋z var sad蓹c蓹 ifad蓹 edilmi艧dir ki, 104 00:05:51,170 --> 00:05:54,430 Proqram h蓹r hans谋 bir etmir command line d蓹lill蓹ri. 105 00:05:54,430 --> 00:05:57,750 Bir istifad蓹莽i bir 莽al谋艧谋r zaman dig蓹r s枚zl蓹, proqram, o komanda t蓹min ed蓹 bil蓹r 106 00:05:57,750 --> 00:06:01,710 蓹lav蓹 yazaraq line arqumentl蓹r s枚z v蓹 ya s枚z sonra proqram 107 00:06:01,710 --> 00:06:03,000 s蓹tirin蓹 ad谋. 108 00:06:03,000 --> 00:06:06,550 >> Yax艧谋, sizin proqram ist蓹yir蓹m, 蓹g蓹r command line d蓹lill蓹ri, bir v蓹 ya almaq 109 00:06:06,550 --> 00:06:10,540 daha bel蓹 s枚zl蓹ri biz 蓹v蓹z etm蓹k laz谋md谋r d蓹lill蓹ri bir ne莽蓹 il蓹 l蓹臒v. 110 00:06:10,540 --> 00:06:12,200 Bel蓹 ki, bunu bildirin. 111 00:06:12,200 --> 00:06:15,750 Cs50.h. daxildir 112 00:06:15,750 --> 00:06:19,360 Standart io.h. daxildir 113 00:06:19,360 --> 00:06:20,760 茝sas Int. 114 00:06:20,760 --> 00:06:26,330 陌ndi 蓹v蓹zin蓹 etibars谋z, m蓹n gedir蓹m bir argc adl谋 int v蓹 m眉蓹yy蓹n 115 00:06:26,330 --> 00:06:28,780 argv strings array. 116 00:06:28,780 --> 00:06:31,820 陌ndi, argc v蓹 argv var sad蓹c蓹 konvensiyalar. 117 00:06:31,820 --> 00:06:34,000 >> Biz bu d蓹lill蓹ri deyil蓹n bil蓹rdi biz ist蓹yirik 蓹n 艧ey. 118 00:06:34,000 --> 00:06:37,630 Amma n蓹 vacibdir argc oldu臒unu bir int m眉蓹yy蓹n, bu, 莽眉nki 119 00:06:37,630 --> 00:06:41,360 Bu arqument count ehtiva gedir, c蓹mi s枚zl蓹 say谋 ki, 120 00:06:41,360 --> 00:06:43,380 istifad蓹莽i onun tez-da 莽ap etmi艧dir. 121 00:06:43,380 --> 00:06:47,910 argv, eyni zamanda, d蓹lil vektor edir h蓹qiq蓹t蓹n saxlan谋lmas谋 bir s谋ra olacaq 122 00:06:47,910 --> 00:06:52,020 istifad蓹莽i var ki, s枚zl蓹ri b眉t眉n onun tez-da 莽ap. 123 00:06:52,020 --> 00:06:54,500 >> 陌ndi bir 艧ey davam ed蓹k bu bir v蓹 ya daha 莽ox 124 00:06:54,500 --> 00:06:55,660 command line d蓹lill蓹ri. 125 00:06:55,660 --> 00:07:00,070 X眉susil蓹 nin ir蓹li v蓹 莽ap ged蓹k h蓹r hans谋 s枚z istifad蓹莽i n枚vl蓹ri 126 00:07:00,070 --> 00:07:03,960 Proqram谋n ad谋na s蓹tirin蓹. 127 00:07:03,960 --> 00:07:04,730 Open bracket. 128 00:07:04,730 --> 00:07:06,240 Close bracket. 129 00:07:06,240 --> 00:07:10,510 Printf faiz s backslash v蓹 verg眉l. 130 00:07:10,510 --> 00:07:14,550 V蓹 indi m蓹n printf n蓹 d蓹y蓹ri dem蓹k laz谋md谋r ki, tutucu plug. 131 00:07:14,550 --> 00:07:18,600 M蓹n istifad蓹莽i var ki, ilk s枚z眉 ist蓹yir蓹m proqram ad谋 sonra tipli, 132 00:07:18,600 --> 00:07:23,130 v蓹 m蓹n m眉蓹yy蓹n etm蓹k 眉莽眉n gedir蓹m argv bracket 1, yax谋n 133 00:07:23,130 --> 00:07:24,830 m枚t蓹riz蓹, n枚qt蓹li verg眉l. 134 00:07:24,830 --> 00:07:27,290 >> 陌ndi niy蓹 bracket 1 v蓹 bracket 0? 135 00:07:27,290 --> 00:07:30,990 B蓹li, bu, avtomatik olaraq saxlan谋l谋r 莽谋x谋r argv 0 olacaq edir 136 00:07:30,990 --> 00:07:32,620 Proqram谋n faktiki ad谋. 137 00:07:32,620 --> 00:07:36,180 Bel蓹 ki, ilk s枚z istifad蓹莽i n枚vl蓹ri Proqram谋n ad谋 il蓹 sonra 138 00:07:36,180 --> 00:07:38,990 konvensiya, olacaq argv 1 saxlan谋l谋r. 139 00:07:38,990 --> 00:07:42,380 陌ndi t蓹rtib ed蓹k v蓹 Bu proqram run. 140 00:07:42,380 --> 00:07:47,780 >> Argv 0, dot 莽izgi argv 0 olun. 141 00:07:47,780 --> 00:07:50,520 陌ndi bir s枚z salam kimi. 142 00:07:50,520 --> 00:07:51,670 Daxil edin. 143 00:07:51,670 --> 00:07:53,520 V蓹 biz hello, var. 144 00:07:53,520 --> 00:07:55,750 >> [END Video playback] 145 00:07:55,750 --> 00:07:57,000 >> Rob Boden: B眉t眉n h眉ququ. 146 00:07:57,000 --> 00:07:59,380 147 00:07:59,380 --> 00:08:01,230 Ki ba臒lay谋n. 148 00:08:01,230 --> 00:08:16,730 Bel蓹 ki, proqram bir g枚z alaraq biz yaln谋z, yax艧谋, biz蓹 yaln谋z t蓹qdim 149 00:08:16,730 --> 00:08:24,710 biz 0 argv 莽ap 蓹g蓹r indi, etm蓹k, g枚st蓹rm蓹k Bu, argv 0, dot 莽izgi argv 0 budur. 150 00:08:24,710 --> 00:08:30,440 G枚zl蓹nilir ki, onu 莽ap oldu argv 0 ild蓹n, proqram谋n ad谋n谋 151 00:08:30,440 --> 00:08:32,970 h蓹mi艧蓹 gedir Proqram谋n ad谋. 152 00:08:32,970 --> 00:08:35,640 Amma bir 艧ey ed蓹k daha maraql谋 bit. 153 00:08:35,640 --> 00:08:42,080 >> Bel蓹 ki, problem d蓹sti, siz olacaq Bu funksiya, ATOI t蓹qdim. 154 00:08:42,080 --> 00:08:44,440 Bel蓹 ki, n蓹 biz ATOI istifad蓹 edirsiniz? 155 00:08:44,440 --> 00:08:48,550 Ki, 莽evirm蓹k olacaq bir bir tam string. 156 00:08:48,550 --> 00:08:53,280 M蓹n string ke莽m蓹k 蓹g蓹r, bir iki 眉莽, ATOI 眉莽眉n ki, 莽evirm蓹k laz谋md谋r ki, 157 00:08:53,280 --> 00:08:56,910 Bu tam, bir iki 眉莽. 158 00:08:56,910 --> 00:09:01,480 Bel蓹likl蓹, biz ilk 莽evirm蓹k olacaq bir tam command line arqument 159 00:09:01,480 --> 00:09:05,690 v蓹 sonra yaln谋z tam 莽ap. 160 00:09:05,690 --> 00:09:09,680 >> Bel蓹 ki, 蓹sas蓹n, biz n枚v ist蓹yirik yaln谋z GetInt reimplementing 161 00:09:09,680 --> 00:09:12,350 tam 蓹mrind蓹 daxil edilir line 蓹v蓹zin蓹 proqram 162 00:09:12,350 --> 00:09:14,560 interaktiv. 163 00:09:14,560 --> 00:09:23,170 Bel蓹likl蓹, argv 0 edilm蓹si, n蓹 ed蓹k burada bu ki, yax谋n. 164 00:09:23,170 --> 00:09:27,670 Bel蓹 argv 0 莽al谋艧an, v蓹 daxil ed蓹k tam, bir iki 眉莽 d枚rd bir iki. 165 00:09:27,670 --> 00:09:30,840 Bel蓹 ki, biri tam 莽ap ed蓹c蓹yik iki 眉莽 d枚rd bir iki. 166 00:09:30,840 --> 00:09:35,500 Ki ATOI b蓹zi inc蓹likl蓹rini var bir 艧ey haqq谋nda qay臒谋 dayand谋rmaq laz谋md谋r 167 00:09:35,500 --> 00:09:39,040 cari r蓹q蓹mli karakter N. k蓹narda, lakin etm蓹z. 168 00:09:39,040 --> 00:09:42,870 >> Bel蓹likl蓹, siz n蓹 d眉艧眉n眉rs眉n眉z M蓹n bunu 蓹g蓹r? 169 00:09:42,870 --> 00:09:45,520 170 00:09:45,520 --> 00:09:47,050 Segmentasyon g眉nah. 171 00:09:47,050 --> 00:09:50,410 Bel蓹 ki, niy蓹 ki? 172 00:09:50,410 --> 00:09:56,060 Bizim proqram谋m谋zda siz geri baxsaq, biz ist蓹yirik argv 1, ilk d蓹lil konvertasiya 173 00:09:56,060 --> 00:09:59,610 proqram ad谋 sonra, bir tam. 174 00:09:59,610 --> 00:10:03,350 Amma ke莽di he莽 bir d蓹lil yoxdur proqram ad谋na. 175 00:10:03,350 --> 00:10:08,060 Odur ki, biz bu arabas谋 g枚r眉r眉k proqram, 莽眉nki, biz 莽al谋艧t谋rmak 眉莽眉n c蓹hd 蓹g蓹r 176 00:10:08,060 --> 00:10:10,530 h蓹r hans谋 bir d蓹lill蓹ri olmadan, yaln谋z q蓹za ed蓹c蓹k. 177 00:10:10,530 --> 00:10:16,950 >> Siz g枚r眉rs眉n眉z bel蓹 bir 眉mumi model bir 艧ey kimi, argc az olduqda 178 00:10:16,950 --> 00:10:21,100 olmad谋臒谋n谋 ifad蓹 ed蓹n iki, daha 蓹n az谋 proqram ad谋 v蓹 179 00:10:21,100 --> 00:10:29,100 ilk d蓹lil, sonra biz bir 艧ey ed蓹c蓹yik kimi printf, kifay蓹t deyil 180 00:10:29,100 --> 00:10:31,190 command line d蓹lill蓹ri. 181 00:10:31,190 --> 00:10:33,170 Bu y蓹qin ki, 莽ap 眉莽眉n yax艧谋 bir deyil, kimi, y蓹qin ki, bir 艧ey var 182 00:10:33,170 --> 00:10:35,440 Siz tam daxil olmal谋d谋r command line. 183 00:10:35,440 --> 00:10:37,450 M蓹n yaln谋z orada 莽谋xaca臒谋q. 184 00:10:37,450 --> 00:10:39,600 V蓹 sonra 1 qay谋tmaq. 185 00:10:39,600 --> 00:10:44,740 Bel蓹 ki, bizim sonunda unutmay谋n ki proqram, biz 0 qay谋tmaq 蓹g蓹r ki, sort- 186 00:10:44,740 --> 00:10:47,060 u臒urlar g枚st蓹rir. 187 00:10:47,060 --> 00:10:50,940 V蓹 蓹sas da avtomatik olaraq 蓹g蓹r 0 qaytar谋r. 188 00:10:50,940 --> 00:10:55,800 >> Odur ki, biz g枚st蓹rir 1 retuning edirik ki, u臒ur deyil ki. 189 00:10:55,800 --> 00:11:01,000 V蓹 siz ist蓹diyiniz h蓹r hans谋 qay谋da bil蓹r, yaln谋z 0 u臒urlar g枚st蓹rir v蓹 190 00:11:01,000 --> 00:11:03,390 ba艧qa bir 艧ey u臒ursuzluq g枚st蓹rir. 191 00:11:03,390 --> 00:11:04,855 Bel蓹 ki, h蓹r 艧eyi bu versiyas谋 run bildirin. 192 00:11:04,855 --> 00:11:12,880 193 00:11:12,880 --> 00:11:16,600 Bel蓹likl蓹, biz bir command line daxil deyil, 蓹g蓹r d蓹lil, d眉zg眉n dem蓹k laz谋md谋r 194 00:11:16,600 --> 00:11:18,290 us, kifay蓹t q蓹d蓹r command line deyil. 195 00:11:18,290 --> 00:11:20,610 C眉ml蓹 ba艧a g蓹lm蓹di. 196 00:11:20,610 --> 00:11:24,950 Ba艧qa, biz, h蓹qiq蓹t蓹n, bir ke莽m蓹k 蓹g蓹r, bu proqram tam bil蓹r. 197 00:11:24,950 --> 00:11:27,920 Bel蓹 ki, bu siz argc istifad蓹 nec蓹 edir say谋 do臒rulamak 眉莽眉n 198 00:11:27,920 --> 00:11:30,630 command line d蓹lill蓹ri ki, h蓹qiq蓹t蓹n q蓹bul olunur. 199 00:11:30,630 --> 00:11:39,360 >> Bel蓹 ki, bir az daha bu program ed蓹k m眉r蓹kk蓹b, ikinci baxmaq 200 00:11:39,360 --> 00:11:42,180 艧eyi iteration. 201 00:11:42,180 --> 00:11:46,310 Bel蓹 ki, indi biz yaln谋z 莽ap deyilik ilk command line arqument. 202 00:11:46,310 --> 00:11:51,210 Burada, biz int i b蓹rab蓹rdir iterating edirik 0, i, i argc azd谋r plus 203 00:11:51,210 --> 00:11:55,280 plus, v蓹 莽ap argv, index i. 204 00:11:55,280 --> 00:11:59,300 Bel蓹 ki, bu model, yenid蓹n, bu, eyni 蓹v蓹zin蓹 ba艧qa 蓹vv蓹l model, 205 00:11:59,300 --> 00:12:02,600 d蓹yi艧蓹n z蓹ng n, biz argc istifad蓹 edirik. 206 00:12:02,600 --> 00:12:09,520 >> Bel蓹 ki, bu h蓹r indeksi 眉z蓹rind蓹 iterating olunur serialda v蓹 h蓹r 莽ap 207 00:12:09,520 --> 00:12:11,910 ki, array element. 208 00:12:11,910 --> 00:12:20,300 V蓹 bel蓹 ki, biz bu proqram 莽al谋艧t谋rd谋臒谋n谋zda, yax艧谋, M蓹n he莽 bir command line daxil etm蓹yib 209 00:12:20,300 --> 00:12:22,540 arqumentl蓹r yaln谋z izl蓹ri bel蓹 proqram ad谋. 210 00:12:22,540 --> 00:12:26,053 M蓹n h蓹r 艧eyi bir d蓹st蓹 daxil edin, bu will biri 枚z x蓹tti il蓹 h蓹r 莽ap. 211 00:12:26,053 --> 00:12:31,213 212 00:12:31,213 --> 00:12:32,210 >> OK. 213 00:12:32,210 --> 00:12:34,770 Bel蓹 ki, g蓹l蓹c蓹k bu bir add谋m olsun. 214 00:12:34,770 --> 00:12:38,890 V蓹 蓹v蓹zin蓹 h蓹r arqument 莽ap 枚z x蓹tti il蓹, h蓹r 莽ap imkan 215 00:12:38,890 --> 00:12:42,590 h蓹r bir arqument xarakter 枚z x蓹tti il蓹. 216 00:12:42,590 --> 00:12:46,700 Bel蓹 argv oldu臒unu unutmay谋n strings bir s谋ra. 217 00:12:46,700 --> 00:12:50,960 Bel蓹 ki, n蓹 bir string, lakin simvol bir array? 218 00:12:50,960 --> 00:12:57,140 Bel蓹 ki, argv h蓹qiq蓹t蓹n o dem蓹kdir ki, bir simvol bir s谋ra array. 219 00:12:57,140 --> 00:13:04,920 Bel蓹 ki, istifad蓹 ed蓹r蓹k, indi bu ignore bildirin. 220 00:13:04,920 --> 00:13:08,190 Yaln谋z simli argv 0 n蓹z蓹rd蓹n ke莽ir蓹k. 221 00:13:08,190 --> 00:13:14,170 >> Biz h蓹r bir xarakter g蓹tirm蓹k ist蓹yir蓹m 蓹g蓹r argv 0 枚z x蓹tti il蓹, sonra m蓹n ist蓹yir蓹m 222 00:13:14,170 --> 00:13:19,500 biz istifad蓹 etdiyiniz model etm蓹k, i serial谋n uzunlu臒u az, 223 00:13:19,500 --> 00:13:23,990 , burada strlen olan ki, M蓹n ist蓹yir蓹m n蓹, simli 224 00:13:23,990 --> 00:13:26,450 s argv 0 b蓹rab蓹rdir. 225 00:13:26,450 --> 00:13:30,390 Bel蓹 ki, i bizim uzunlu臒u azd谋r bu halda bir s谋ra olan array, 226 00:13:30,390 --> 00:13:34,410 simvol, i plus plus. 227 00:13:34,410 --> 00:13:41,040 Biz ke莽蓹n h蓹ft蓹 g枚rd眉m kimi, bel蓹 ki, bu ideal var Biz k蓹narda strlen ki, h蓹r蓹k蓹t 蓹g蓹r 228 00:13:41,040 --> 00:13:45,210 v蓹ziyy蓹ti, ild蓹n n 蓹lav蓹 olunacaq s strlen biz getm蓹k h蓹r d蓹f蓹 229 00:13:45,210 --> 00:13:47,720 loop vasit蓹sil蓹 v蓹 bu d蓹yi艧蓹n etm蓹k niyy蓹tind蓹 deyil. 230 00:13:47,720 --> 00:13:50,230 Bel蓹 ki, biz burada n b蓹rab蓹r m眉蓹yy蓹n ed蓹c蓹yik. 231 00:13:50,230 --> 00:13:54,260 232 00:13:54,260 --> 00:13:55,170 >> OK. 233 00:13:55,170 --> 00:14:01,320 Bel蓹 ki, indi biz art谋q iterating edirik serial谋n h蓹r index. 234 00:14:01,320 --> 00:14:05,630 V蓹 bel蓹 ki, biz h蓹r 莽ap etm蓹k ist蓹yirsinizs蓹 ki, array, faiz c karakter 235 00:14:05,630 --> 00:14:06,880 biz istifad蓹 etm蓹k ist蓹diyiniz bayra臒谋 simvol. 236 00:14:06,880 --> 00:14:10,750 237 00:14:10,750 --> 00:14:19,770 陌ndi bir bracket i olacaq edir string, index xarakter i, bel蓹 ki, 蓹g蓹r 238 00:14:19,770 --> 00:14:20,970 string salam idi. 239 00:14:20,970 --> 00:14:27,530 sonra bracket 0 h olacaq S S 1 bel蓹 e olacaq v蓹. 240 00:14:27,530 --> 00:14:30,800 >> Bel蓹 ki, indi biz birl蓹艧dirm蓹k ist蓹yir蓹m Bu iki 艧eyi. 241 00:14:30,800 --> 00:14:35,440 Biz h蓹r bir xarakter 莽ap etm蓹k ist蓹yir蓹m h蓹r command line arqument. 242 00:14:35,440 --> 00:14:38,950 Bel蓹 ki, biz olacaq bir loop 眉莽眉n i莽 i莽蓹. 243 00:14:38,950 --> 00:14:47,480 V蓹 艧蓹rti, ilk counter i, n枚vb蓹ti j olacaq, n edir 244 00:14:47,480 --> 00:14:54,450 argv i strlen olacaq, i az n, i plus plus edir. 245 00:14:54,450 --> 00:14:59,150 246 00:14:59,150 --> 00:15:06,870 陌ndi 蓹v蓹zin蓹 莽ap argv i, bel蓹 ki, i index gedir argv bracket - 247 00:15:06,870 --> 00:15:14,280 ki, i-ci command line olacaq arqument argv i, j gedir 248 00:15:14,280 --> 00:15:16,925 Bu jth xarakter ola i-ci arqument. 249 00:15:16,925 --> 00:15:20,580 250 00:15:20,580 --> 00:15:24,810 M蓹n indi burada bu q蓹d蓹r qurtarmaq laz谋md谋r biz ki, loop onu qoymaq b蓹ri. 251 00:15:24,810 --> 00:15:33,900 Bel蓹 ki, simli s b蓹rab蓹rdir b蓹rab蓹rdir argv i, sonra s bracket j. 252 00:15:33,900 --> 00:15:36,980 >> Yax艧谋, biz b蓹yan etm蓹k laz谋m deyil Bu d蓹yi艧蓹n s. 253 00:15:36,980 --> 00:15:44,530 茝ksin蓹, biz yaln谋z bu birl蓹艧dirm蓹k laz谋md谋r biz n蓹 iki, j i argv. 254 00:15:44,530 --> 00:15:45,780 >> HOPARL脰R 1: [i艧itilemez]. 255 00:15:45,780 --> 00:15:48,850 256 00:15:48,850 --> 00:15:49,680 >> Rob Boden: Yax艧谋 z蓹ng. 257 00:15:49,680 --> 00:15:52,936 Bel蓹 ki, bu pozuldu. 258 00:15:52,936 --> 00:15:55,510 M蓹n, h蓹qiq蓹t蓹n, qa莽谋b varsa, biz ki, bu h蓹yata. 259 00:15:55,510 --> 00:16:01,210 M蓹n qay臒谋 bel蓹 counter Bu x眉susil蓹 260 00:16:01,210 --> 00:16:05,410 loop j, iterator edir. 261 00:16:05,410 --> 00:16:08,560 Bel蓹 ki, m蓹s蓹l蓹l蓹r daxil olard谋, y蓹qin ki, bir sonsuz loop, 蓹g蓹r biz 262 00:16:08,560 --> 00:16:09,540 sabit deyil. 263 00:16:09,540 --> 00:16:12,220 Biz d蓹 s枚hb蓹t edirik, niy蓹 ki haqq谋nda bu g眉n ay谋klama. 264 00:16:12,220 --> 00:16:13,120 >> OK. 265 00:16:13,120 --> 00:16:15,240 Bel蓹 ki, bu proqram run imkan verir. 266 00:16:15,240 --> 00:16:21,200 V蓹 蓹slind蓹 ayr谋-ayr谋 printf 蓹lav蓹 ed蓹k burada yaln谋z 莽ap ed蓹c蓹k 267 00:16:21,200 --> 00:16:27,480 Bu dem蓹kdir ild蓹n bir line, biz proqram run, bir bo艧 olacaq 268 00:16:27,480 --> 00:16:31,830 H蓹r xarakterli aras谋nda line h蓹r command line arqument. 269 00:16:31,830 --> 00:16:33,448 B蓹li, biz o dem蓹kdir ki, n蓹 g枚r眉rs眉n眉z. 270 00:16:33,448 --> 00:16:37,310 271 00:16:37,310 --> 00:16:37,790 Oop. 272 00:16:37,790 --> 00:16:39,870 B蓹zi s蓹hv var. 273 00:16:39,870 --> 00:16:42,860 Error dolay谋s谋 elan kitabxana funksiyas谋 strlen. 274 00:16:42,860 --> 00:16:51,630 >> Bel蓹 ki, bizim proqram geri gedir, m蓹n string.h daxil hash unuttum. 275 00:16:51,630 --> 00:16:54,240 276 00:16:54,240 --> 00:16:57,730 Bel蓹 ki, string.h olacaq edir bildirir ki, header file 277 00:16:57,730 --> 00:16:58,980 funksiyas谋 strlen. 278 00:16:58,980 --> 00:17:04,650 279 00:17:04,650 --> 00:17:06,060 OK, bu, t蓹rtib edir. 280 00:17:06,060 --> 00:17:09,109 陌ndi run bildirin. 281 00:17:09,109 --> 00:17:10,930 Bel蓹 ki, yaln谋z. 282 00:17:10,930 --> 00:17:17,790 Bu 莽ap olacaq bizim proqram ad谋, hello d眉nya. 283 00:17:17,790 --> 00:17:23,510 H蓹r bir, h蓹r 艧ey 莽ap olacaq 枚z x蓹tti il蓹 xarakter. 284 00:17:23,510 --> 00:17:24,540 OK. 285 00:17:24,540 --> 00:17:30,625 >> Bel蓹 nin 蓹slind蓹 bu g枚t眉r蓹k daha bir add谋m. 286 00:17:30,625 --> 00:17:34,050 287 00:17:34,050 --> 00:17:39,700 茝v蓹zin蓹 string.h istifad蓹, ed蓹k biz 枚z h蓹yata ist蓹diyiniz nec蓹 d眉艧眉nm蓹k 288 00:17:39,700 --> 00:17:41,420 strlen funksiyas谋. 289 00:17:41,420 --> 00:17:45,600 M蓹n d蓹rhal ver蓹c蓹yik bir funksiyas谋 imza. 290 00:17:45,600 --> 00:17:52,900 Bel蓹 ki, my_strlen z蓹ng ed蓹k, v蓹 bu bir arqument kimi bir string almaq 眉莽眉n gedir, 291 00:17:52,900 --> 00:17:57,220 v蓹 biz geri g枚zl蓹yirik ki, simli uzunlu臒u. 292 00:17:57,220 --> 00:18:03,430 Bel蓹 ki, burada ki, o臒lan var? 293 00:18:03,430 --> 00:18:04,990 B蓹li. 294 00:18:04,990 --> 00:18:06,740 OK. 295 00:18:06,740 --> 00:18:12,900 Bel蓹 ki, 蓹vv蓹ll蓹r Slayd xat谋rlay谋ram ki, , ke莽蓹n h蓹ft蓹 idi ki, 296 00:18:12,900 --> 00:18:18,890 simvol array, yax艧谋, bir string, bel蓹 ki, bu, bizim string s dey蓹k. 297 00:18:18,890 --> 00:18:29,870 Bel蓹 ki, s simli 蓹g蓹r, hello, sonra, H-E-L-L-O, yadda艧 ki, olacaq 298 00:18:29,870 --> 00:18:35,610 sonra bu backslash ola bil蓹r, v蓹 0 character. 299 00:18:35,610 --> 00:18:39,170 >> Bel蓹 ki, nec蓹 biz s uzunlu臒u almaq edirsiniz? 300 00:18:39,170 --> 00:18:43,190 Yax艧谋, oyun bu axtar谋r 0 xarakter, bu null reaksiyalara 301 00:18:43,190 --> 00:18:44,380 terminator. 302 00:18:44,380 --> 00:18:50,270 Bel蓹 ki, alqoritm davam edir ne莽蓹 kimi bir 艧ey olacaq 303 00:18:50,270 --> 00:18:51,510 kifay蓹t q蓹d蓹r simvol ki, - 304 00:18:51,510 --> 00:18:56,180 Bu 蓹l b蓹zi t蓹msil ed蓹k counter, bu int uzunlu臒u z蓹ng ed蓹k. 305 00:18:56,180 --> 00:19:00,060 Bel蓹 ki, burada-d蓹n ba艧layaraq, biz ist蓹yirik simli 眉z蓹rind蓹 t蓹krarlamaq gedir. 306 00:19:00,060 --> 00:19:04,100 >> Bel蓹 ki, bu H ilk xarakter var, v蓹 geri, bel蓹 ki, 0 do臒ramaq deyil 307 00:19:04,100 --> 00:19:05,170 uzunlu臒u 1. 308 00:19:05,170 --> 00:19:08,050 N枚vb蓹ti xarakter t蓹krarlamaq, E, v蓹 0 backslash deyil. 309 00:19:08,050 --> 00:19:09,630 Length 2. 310 00:19:09,630 --> 00:19:10,960 L, 3. 311 00:19:10,960 --> 00:19:11,850 L, 4. 312 00:19:11,850 --> 00:19:13,050 O, 5. 313 00:19:13,050 --> 00:19:16,690 V蓹, n蓹hay蓹t, biz backslash 莽atmaq 0, v蓹 o dem蓹kdir ki, yax艧谋, 314 00:19:16,690 --> 00:19:17,780 Bu simli bitdi. 315 00:19:17,780 --> 00:19:20,130 Bel蓹 ki, 5 qay谋daq. 316 00:19:20,130 --> 00:19:33,630 >> Y蓹ni 蓹slind蓹, ilk ki, h蓹yata m蓹nim n uzunlu臒u M蓹nim sa臒, 0 b蓹rab蓹rdir. 317 00:19:33,630 --> 00:19:36,088 V蓹 biz t蓹krarlamaq olacaq - 318 00:19:36,088 --> 00:19:38,000 >> HOPARL脰R 1: [i艧itilemez] 319 00:19:38,000 --> 00:19:38,640 >> Rob Boden: Oh, vur. 320 00:19:38,640 --> 00:19:39,870 Yax艧谋 z蓹ng. 321 00:19:39,870 --> 00:19:42,680 Boom. 322 00:19:42,680 --> 00:19:44,140 Bel蓹 ki, n uzunlu臒u 0 b蓹rab蓹rdir. 323 00:19:44,140 --> 00:19:46,910 324 00:19:46,910 --> 00:19:58,310 Bel蓹 ki, indi is蓹 uzunlu臒u deyil sonra b蓹rab蓹r v蓹 backslash 0. 325 00:19:58,310 --> 00:20:04,660 Bel蓹 ki, bu backslash 0 xat谋rlay谋ram, bir edir faktiki xarakter, v蓹 bu g枚st蓹rir 326 00:20:04,660 --> 00:20:05,820 simli sonu. 327 00:20:05,820 --> 00:20:09,850 Just kimi, h蓹m莽inin, backslash n faktiki karakter. 328 00:20:09,850 --> 00:20:14,040 Backslash 0 qeyd edir bizim simli sonunda. 329 00:20:14,040 --> 00:20:15,414 M蓹n orada qoymaq ist蓹mir蓹m. 330 00:20:15,414 --> 00:20:19,190 331 00:20:19,190 --> 00:20:25,620 V蓹 uzunlu臒u dizine s deyil is蓹 null terminator b蓹rab蓹r, sonra 332 00:20:25,620 --> 00:20:27,130 biz yaln谋z uzunlu臒u artt谋rmay谋 olacaq. 333 00:20:27,130 --> 00:20:29,860 334 00:20:29,860 --> 00:20:34,880 Bel蓹likl蓹, bizim proqram谋n sonunda, uzunlu臒u n蓹tic蓹d蓹 gedir 335 00:20:34,880 --> 00:20:37,610 bu halda 5 olun. 336 00:20:37,610 --> 00:20:39,210 V蓹 biz yaln谋z uzunlu臒u qay谋tmaq laz谋md谋r. 337 00:20:39,210 --> 00:20:42,570 338 00:20:42,570 --> 00:20:43,530 >> OK. 339 00:20:43,530 --> 00:20:48,290 Bel蓹 ki, indi a艧a臒谋 burada, m蓹n yox my_strlen yoxdur. 340 00:20:48,290 --> 00:20:50,700 Nin 蓹min etm蓹k 眉莽眉n t蓹rtib ed蓹k h蓹r 艧ey r蓹van 莽al谋艧谋r. 341 00:20:50,700 --> 00:20:55,820 342 00:20:55,820 --> 00:20:58,210 M蓹n 2 edirdi? 343 00:20:58,210 --> 00:21:00,565 V蓹 ya 1 idi? 344 00:21:00,565 --> 00:21:01,940 Etm蓹lidir. 345 00:21:01,940 --> 00:21:02,690 B眉t眉n h眉quqlar. 346 00:21:02,690 --> 00:21:08,490 Bel蓹 ki, bu argv 2. 347 00:21:08,490 --> 00:21:11,585 G枚zl蓹nil蓹n kimi, 莽al谋艧谋r, baxmayaraq ki, bir m蓹n bunu etdi ki, idi? 348 00:21:11,585 --> 00:21:15,060 349 00:21:15,060 --> 00:21:15,550 B蓹li. 350 00:21:15,550 --> 00:21:16,760 OK. 351 00:21:16,760 --> 00:21:21,820 艦eyi bu versiyas谋 yoxdur Bu printf yeni sonra line, lakin 352 00:21:21,820 --> 00:21:22,910 he莽 bir f蓹rq etmir. 353 00:21:22,910 --> 00:21:23,300 OK. 354 00:21:23,300 --> 00:21:25,780 G枚zl蓹nilir ki i艧l蓹mi艧dir. 355 00:21:25,780 --> 00:21:34,750 >> 陌ndi biz h蓹tta bu bir add谋m birl蓹艧dir蓹 bil蓹r daha, burada yerl蓹艧ir bildiri艧, yax艧谋, 356 00:21:34,750 --> 00:21:38,920 ilk, biz argv olan strlen q蓹nim蓹t莽ilik edirik i, sonra biz art谋q iterating edirik 357 00:21:38,920 --> 00:21:41,450 ki, simli h蓹r character. 358 00:21:41,450 --> 00:21:47,480 Bel蓹 ki, 蓹v蓹zin蓹 bunu, n蓹 蓹g蓹r biz yaln谋z g枚zl蓹m蓹 bu m蓹ntiqi birl蓹艧dirm蓹k 359 00:21:47,480 --> 00:21:50,740 biz backslash 0 h眉ququna hit q蓹d蓹r loop 眉莽眉n bu daxil? 360 00:21:50,740 --> 00:21:53,740 361 00:21:53,740 --> 00:22:07,490 Argv i, j n蓹 is蓹 bel蓹 t蓹krarlamaq b蓹rab蓹r backslash 0. 362 00:22:07,490 --> 00:22:10,680 Bel蓹 ki, ilk run bildirin. 363 00:22:10,680 --> 00:22:19,838 364 00:22:19,838 --> 00:22:21,180 >> B眉t眉n h眉quqlar. 365 00:22:21,180 --> 00:22:27,655 Bel蓹 ki, burada, bu v蓹ziyy蓹ti deyib - 366 00:22:27,655 --> 00:22:38,090 367 00:22:38,090 --> 00:22:40,060 ki sil. 368 00:22:40,060 --> 00:22:49,140 Bel蓹 ki, indi, bu, bizim argv olsun. 369 00:22:49,140 --> 00:22:55,290 M蓹n yaln谋z 蓹vv蓹l proqram qa莽d谋 zaman, argv strings bir s谋ra edir. 370 00:22:55,290 --> 00:23:03,100 V蓹 m蓹n dot 莽izgi argv il蓹 run 蓹g蓹r 2, hello d眉nya, sonra argv 371 00:23:03,100 --> 00:23:07,650 枚z眉 argv 眉莽眉n, uzunlu臒u 3 s谋f谋r, hello, v蓹 d眉nya. 372 00:23:07,650 --> 00:23:11,700 373 00:23:11,700 --> 00:23:19,660 >> V蓹 bu g枚st蓹ricil蓹rinin h蓹r biri daxilind蓹 deyil, 枚z眉 bu olacaq bir array, 374 00:23:19,660 --> 00:23:23,780 dot, bu 莽izgi olacaq, bilmir蓹m ki, d眉zg眉n istiqam蓹td蓹 idi, m蓹n 375 00:23:23,780 --> 00:23:25,680 Bu idi d眉艧眉nm眉r蓹m. 376 00:23:25,680 --> 00:23:30,110 A-R-V dash, daha 莽ox yer laz谋md谋r. 377 00:23:30,110 --> 00:23:32,570 Bu array daxil k蓹silir. 378 00:23:32,570 --> 00:23:38,230 A-R-V dash 0, sonra backslash 0. 379 00:23:38,230 --> 00:23:43,160 V蓹 sonra nizams谋zl谋q salam olacaq. 380 00:23:43,160 --> 00:23:45,910 Nin, H-E backslash 0 deyirl蓹r. 381 00:23:45,910 --> 00:23:51,130 V蓹 n蓹hay蓹t, W-O backslash 0. 382 00:23:51,130 --> 00:23:59,730 >> Bel蓹likl蓹, biz yaln谋z yaz谋rd谋 ki, alqoritm, onlar oldu臒unuz loops 眉莽眉n i莽-i莽蓹 383 00:23:59,730 --> 00:24:07,321 Doing, biz ilk var i v蓹 sonra j qar艧谋. 384 00:24:07,321 --> 00:24:15,206 Bu kod il蓹 daha asan olard谋 ekran, geri bu ged蓹k. 385 00:24:15,206 --> 00:24:17,476 OK. 386 00:24:17,476 --> 00:24:24,600 Bel蓹 ki, i olan iterator oldu臒unu qeyd h蓹r bir komanda 眉z蓹rind蓹 iterating 387 00:24:24,600 --> 00:24:25,610 line arqument. 388 00:24:25,610 --> 00:24:28,870 V蓹 j iterator iterating edir ki, h蓹r bir xarakter 眉z蓹rind蓹 389 00:24:28,870 --> 00:24:30,410 command line arqument. 390 00:24:30,410 --> 00:24:46,755 Bel蓹 ki, bu olanlar谋 printf n蓹 , biz argv 0 0 printf printf var olunur 391 00:24:46,755 --> 00:24:58,680 argv 0 1, printf argv 0 2 0 3 0 4 0 5, 0 6, lakin indi, argv 0 7 gedir 392 00:24:58,680 --> 00:25:00,670 b蓹rab蓹r backslash 0. 393 00:25:00,670 --> 00:25:05,730 >> Bel蓹likl蓹 biz loop 眉莽眉n 莽谋xmaq, v蓹 indi i 1 iterates. 394 00:25:05,730 --> 00:25:10,910 V蓹 indi biz 莽ap olacaq argv 1 0, argv 1 1 - 395 00:25:10,910 --> 00:25:17,040 yax艧谋, indi m蓹n q谋sa salam k蓹silmi艧 ild蓹n, argv 1 2 t蓹krar olacaq 396 00:25:17,040 --> 00:25:18,170 backslash 0. 397 00:25:18,170 --> 00:25:25,050 V蓹 bel蓹 ki, i artt谋rmay谋 v蓹 davam v蓹 ki, q蓹d蓹r biz b眉t眉n 莽ap 398 00:25:25,050 --> 00:25:28,580 d眉nya v蓹 o 眉莽 command line var arqumentl蓹r v蓹 biz h蓹yata 莽谋xmaq laz谋md谋r 399 00:25:28,580 --> 00:25:31,670 outermost loop, v蓹 proqram bitirm蓹k. 400 00:25:31,670 --> 00:25:38,390 401 00:25:38,390 --> 00:25:39,640 OK. 402 00:25:39,640 --> 00:25:43,903 403 00:25:43,903 --> 00:25:46,795 >> Bel蓹 ki, burada qay谋da bildirin. 404 00:25:46,795 --> 00:25:49,670 405 00:25:49,670 --> 00:25:52,370 Bel蓹 ki, b蓹zi tan谋艧 olmaq laz谋md谋r Bu command line d蓹lill蓹ri 406 00:25:52,370 --> 00:25:54,460 x眉susi problem m眉蓹yy蓹n. 407 00:25:54,460 --> 00:25:56,630 >> 陌ndi, hata. 408 00:25:56,630 --> 00:26:01,680 Bel蓹likl蓹, siz y蓹qin ki, art谋q n蓹 idi 茝vv蓹lki il蓹 b蓹zi ay谋klama 409 00:26:01,680 --> 00:26:03,120 problem m眉蓹yy蓹n. 410 00:26:03,120 --> 00:26:08,420 V蓹 ay谋klama bir 莽ox asan yol, ilk bir arabas谋 proqram baxaq. 411 00:26:08,420 --> 00:26:20,710 412 00:26:20,710 --> 00:26:23,830 Yax艧谋, bu proqram谋 vasit蓹sil蓹 g蓹zinti biz 眉莽眉n istifad蓹莽i xahi艧 olacaq 413 00:26:23,830 --> 00:26:29,350 tam ki, tam qamarlamaq, v蓹 sonra, 枚zba艧谋na, biz is蓹 loop var ki, 414 00:26:29,350 --> 00:26:32,280 yaln谋z azalma gedir Bu 10 b蓹rab蓹r i q蓹d蓹r. 415 00:26:32,280 --> 00:26:35,820 Ed蓹k yaln谋z m蓹n daxil deyil蓹m g眉man 10-d蓹n 莽ox bir tam. 416 00:26:35,820 --> 00:26:38,700 Bu 10 b蓹rab蓹r q蓹d蓹r i azalma. 417 00:26:38,700 --> 00:26:42,630 >> V蓹 sonra biz ba艧qa is蓹 loop var i 0 b蓹rab蓹r deyil is蓹, biz ist蓹yirik ki, 418 00:26:42,630 --> 00:26:44,540 3 i azalma gedir. 419 00:26:44,540 --> 00:26:49,790 Bel蓹likl蓹, siz s蓹hv niyy蓹ti g枚rm蓹k 蓹g蓹r burada, bu i 眉莽眉n azalma laz谋md谋r ki, var 420 00:26:49,790 --> 00:26:57,010 10, v蓹 sonra bu is蓹 loop irad蓹 ola 1 4 7 10, g蓹l蓹n azalma i, 421 00:26:57,010 --> 00:27:02,880 m蓹nfi 2, bel蓹 ki, 5 m蓹nfi v蓹 m蓹nfi sonsuzlu臒a, i olacaq ild蓹n 422 00:27:02,880 --> 00:27:05,920 h蓹qiq蓹t蓹n 0 b蓹rab蓹r he莽 vaxt. 423 00:27:05,920 --> 00:27:08,610 V蓹 sonra bu proqram谋n sonunda, biz olan foo funksiyas谋 var 424 00:27:08,610 --> 00:27:12,130 莽ap gedi艧 i ki. 425 00:27:12,130 --> 00:27:16,520 >> Bel蓹 ki, bu, q谋sa v蓹 m蓹nas谋z proqram v蓹 s蓹hv ayd谋nd谋r, 426 00:27:16,520 --> 00:27:18,790 x眉susil蓹 sonra m蓹n yaln谋z s蓹hv idi n蓹 dedi. 427 00:27:18,790 --> 00:27:24,840 Amma burada niyy蓹t yax艧谋, bu g眉c deyil, h蓹qiq蓹t蓹n b蓹zi kimi baxmaq sizin 428 00:27:24,840 --> 00:27:30,040 g蓹l蓹n son g枚rm蓹mi艧 olan h蓹ll蓹r problem m眉蓹yy蓹n v蓹 b蓹lk蓹 siz var 429 00:27:30,040 --> 00:27:32,800 proqram b蓹zi sonsuz loop, v蓹 siz he莽 bir fikrim yoxdur 430 00:27:32,800 --> 00:27:34,100 n蓹 s蓹b蓹b oldu. 431 00:27:34,100 --> 00:27:38,690 Bel蓹 ki, bir 莽ox faydal谋 ay谋klama texnika yaln谋z printfs 蓹lav蓹 etm蓹k 432 00:27:38,690 --> 00:27:40,180 b眉t眉n kodu 眉z蓹rind蓹. 433 00:27:40,180 --> 00:27:49,200 >> Bel蓹 ki, burada xaricind蓹 bir printf ist蓹yir蓹m ilk is蓹 loop. 434 00:27:49,200 --> 00:27:53,155 V蓹 burada m蓹n bir printf ist蓹yir蓹m, M蓹n yaln谋z i 莽ap ed蓹c蓹yik. 435 00:27:53,155 --> 00:27:55,670 436 00:27:55,670 --> 00:27:58,330 Loop is蓹 h蓹tta i, ilk ed蓹c蓹yik. 437 00:27:58,330 --> 00:28:05,130 438 00:28:05,130 --> 00:28:09,040 K蓹narda, ikinci is蓹 loop. 439 00:28:09,040 --> 00:28:12,170 Bir daha, daxili 莽ap burada, d蓹y蓹ri i. 440 00:28:12,170 --> 00:28:16,270 441 00:28:16,270 --> 00:28:17,520 V蓹 bu run bildirin. 442 00:28:17,520 --> 00:28:22,620 443 00:28:22,620 --> 00:28:24,800 >> Bel蓹 ki, dot 莽izgi debug. 444 00:28:24,800 --> 00:28:25,610 Tam daxil edin. 445 00:28:25,610 --> 00:28:28,150 13 ed蓹k. 446 00:28:28,150 --> 00:28:28,760 V蓹 bumu. 447 00:28:28,760 --> 00:28:33,300 Biz sonsuz loop oldu臒unu g枚r眉r眉k ikinci is蓹 loop daxilind蓹. 448 00:28:33,300 --> 00:28:36,305 Bel蓹 ki, indi biz s蓹hv oldu臒unu bilirik. 449 00:28:36,305 --> 00:28:39,610 450 00:28:39,610 --> 00:28:45,610 Amma printf ay谋klama, m眉k蓹mm蓹l b枚y眉k ancaq proqramlar谋 almaq d蓹f蓹 451 00:28:45,610 --> 00:28:50,560 uzun v蓹 daha m眉r蓹kk蓹b var daha m眉r蓹kk蓹b h蓹ll蓹ri 452 00:28:50,560 --> 00:28:51,705 艧eyi i艧 蓹ld蓹. 453 00:28:51,705 --> 00:28:52,955 Bel蓹 ki, b眉t眉n bu printfs y谋臒谋艧d谋raq. 454 00:28:52,955 --> 00:29:06,242 455 00:29:06,242 --> 00:29:08,896 V蓹 蓹min M蓹n etm蓹dim ed蓹k bir 艧ey q谋rmaq. 456 00:29:08,896 --> 00:29:09,850 OK. 457 00:29:09,850 --> 00:29:14,180 >> Bel蓹likl蓹, biz olacaq proqram t蓹qdim adlan谋r 458 00:29:14,180 --> 00:29:16,715 GNU Debugger gdb. 459 00:29:16,715 --> 00:29:21,892 460 00:29:21,892 --> 00:29:27,510 Yax艧谋, h蓹qiq蓹t蓹n, 眉莽眉n debug aradan qald谋r谋lmas谋 imkan ikinci, v蓹 daha debug etm蓹k. 461 00:29:27,510 --> 00:29:31,420 462 00:29:31,420 --> 00:29:34,440 B蓹li, h蓹qiq蓹t蓹n ilk bir yax艧谋 d蓹rs command line d蓹lill蓹ri il蓹. 463 00:29:34,440 --> 00:29:37,780 Bu cingilti komanda ki, Qeyd ed蓹k ki, h蓹r 艧ey q蓹bul edilir t蓹rtib 464 00:29:37,780 --> 00:29:41,300 command line, bu command line d蓹lill蓹ri. 465 00:29:41,300 --> 00:29:46,250 Istifad蓹 olunur, bel蓹 ki, tam olaraq nec蓹 command line d蓹lill蓹ri kimi biz 466 00:29:46,250 --> 00:29:51,500 蓹vv蓹l idi, v蓹 siz pset olacaq kimi 2, ki, cingilti, onlardan istifad蓹 edir nec蓹. 467 00:29:51,500 --> 00:30:00,070 >> Bel蓹 ki, qeyd ki, bu ilk bayraq, dash ggdb3, ki s枚yl蓹y蓹r蓹k n蓹, cingilti, 468 00:30:00,070 --> 00:30:03,790 Siz bu fayl谋 t蓹rtib etm蓹li niyy蓹t ki, biz n蓹hay蓹t olacaq 469 00:30:03,790 --> 00:30:05,380 bu debug laz谋md谋r. 470 00:30:05,380 --> 00:30:13,840 Bel蓹 ki, kimi uzun siz bayra臒谋 var, sonra biz gdb debug bil蓹r. 471 00:30:13,840 --> 00:30:17,380 V蓹 bu GNU Debugger a莽maq laz谋md谋r. 472 00:30:17,380 --> 00:30:22,920 >> Bel蓹 ki, 蓹mrl蓹ri var siz istifad蓹 almaq laz谋md谋r ki,. 473 00:30:22,920 --> 00:30:27,100 Birincisi ki, siz y蓹qin ki, laz谋md谋r d蓹rhal laz谋m Run edir. 474 00:30:27,100 --> 00:30:28,200 Bel蓹 ki, n蓹 gedir Run olunur? 475 00:30:28,200 --> 00:30:30,910 Bu, bizim proqram ba艧lamaq olacaq. 476 00:30:30,910 --> 00:30:36,180 Bel蓹 ki, ba艧layan proqram, proqram 莽al谋艧t谋rmak bir tam 13 眉莽眉n biz蓹 xahi艧 edir. 477 00:30:36,180 --> 00:30:39,170 V蓹 sonra bu sonsuz loop kimi var M蓹n xaric istisna olmaqla, g枚zl蓹nil蓹n 478 00:30:39,170 --> 00:30:40,500 printfs, bel蓹 ki, biz h蓹tta g枚rm眉r蓹m. 479 00:30:40,500 --> 00:30:43,320 480 00:30:43,320 --> 00:30:44,600 Normal 莽谋x谋ld谋. 481 00:30:44,600 --> 00:30:45,850 Oh. 482 00:30:45,850 --> 00:30:48,570 483 00:30:48,570 --> 00:30:53,640 Bu b眉k眉lm眉艧 m眉mk眉nd眉r b眉t眉n yol, geri - ki, m蓹h蓹l. 484 00:30:53,640 --> 00:30:55,170 Normal 莽谋xmad谋臒谋n谋 da艧谋m谋r. 485 00:30:55,170 --> 00:30:59,500 486 00:30:59,500 --> 00:31:03,370 Ki, bir m眉r蓹kk蓹b cavab var. 487 00:31:03,370 --> 00:31:07,890 >> Bel蓹 ki, indi ki, 莽ox faydal谋 deyil. 488 00:31:07,890 --> 00:31:11,480 Bel蓹 ki, yaln谋z daxilind蓹 bizim proqram 莽al谋艧an Bu ay谋klama h蓹r hans谋 bir biz蓹 k枚m蓹k etmir 489 00:31:11,480 --> 00:31:15,610 biz yaln谋z g枚rm眉艧眉k bil蓹r-ci ild蓹n yol, dot gdb k蓹narda debug do臒ramaq. 490 00:31:15,610 --> 00:31:21,250 Bel蓹 ki, bir komanda ki, y蓹qin ki, laz谋md谋r - 491 00:31:21,250 --> 00:31:22,970 v蓹 m蓹n bu 莽谋xmaq laz谋md谋r. 492 00:31:22,970 --> 00:31:25,850 Control-d v蓹 ya i艧 h蓹m 莽谋x谋n. 493 00:31:25,850 --> 00:31:29,550 Bel蓹likl蓹, bir daha onu a莽maq bildirin. 494 00:31:29,550 --> 00:31:31,130 >> Dig蓹r komanda ki, siz y蓹qin ki, laz谋md谋r d蓹rhal ist蓹yir蓹m 495 00:31:31,130 --> 00:31:33,600 眉莽眉n istifad蓹 almaq Break edir. 496 00:31:33,600 --> 00:31:37,120 Bel蓹 ki, biz, indi 蓹sas q谋rmaq laz谋md谋r v蓹 sonra m蓹n izah ed蓹c蓹yik. 497 00:31:37,120 --> 00:31:41,010 498 00:31:41,010 --> 00:31:46,370 Yax艧谋, burada biz bir breakpoint bax debug.c bu x蓹tt. 499 00:31:46,370 --> 00:31:50,160 Bel蓹 ki, n蓹 break vasit蓹dir zaman run yaz谋n, proqram gedir 500 00:31:50,160 --> 00:31:53,560 q蓹d蓹r davam M蓹n breakpoint edib. 501 00:31:53,560 --> 00:31:59,390 I run hit zaman, bel蓹 ki, proqram, ba艧lay谋r v蓹 sonra bu kimi tezlikl蓹 kimi pozur 502 00:31:59,390 --> 00:32:01,940 蓹sas funksiyas谋 olur. 503 00:32:01,940 --> 00:32:06,930 茝sas Break 艧ey olacaq Siz olduqca 莽ox n蓹. 504 00:32:06,930 --> 00:32:11,340 >> 陌ndi siz蓹 t蓹qdim etm蓹k bir daha 蓹mrl蓹ri. 505 00:32:11,340 --> 00:32:14,330 Biz dey蓹r蓹k ki, burada qeyd olan line 11 at q谋rd谋 506 00:32:14,330 --> 00:32:16,230 printf, tam daxil edin. 507 00:32:16,230 --> 00:32:21,260 Bel蓹 ki, komanda Next nec蓹 olacaq biz kodu n枚vb蓹ti line getm蓹k. 508 00:32:21,260 --> 00:32:24,810 Bu, bizim add谋m imkan gedir x蓹tti il蓹 proqram x蓹tti il蓹. 509 00:32:24,810 --> 00:32:26,260 Bel蓹 ki, n枚vb蓹ti. 510 00:32:26,260 --> 00:32:29,820 >> 陌ndi line 12, biz gedirik tam almaq 眉莽眉n. 511 00:32:29,820 --> 00:32:30,450 Next. 512 00:32:30,450 --> 00:32:34,290 Siz yaln谋z yenid蓹n Enter varsa, bu will siz etdi son 艧ey redo. 513 00:32:34,290 --> 00:32:36,480 M蓹n yaz谋n ehtiyac yoxdur N枚vb蓹ti h蓹r zaman. 514 00:32:36,480 --> 00:32:40,100 Bel蓹 bir tam, 13 daxil edin. 515 00:32:40,100 --> 00:32:46,940 Bel蓹 ki, indi line 14, i 莽ox is蓹 10-d蓹n, v蓹 m蓹n n枚vb蓹ti ed蓹c蓹yik. 516 00:32:46,940 --> 00:32:48,685 V蓹 biz i azalma olacaq g枚r眉r眉k. 517 00:32:48,685 --> 00:32:50,210 Y蓹ni biz yenid蓹n i azalma olacaq. 518 00:32:50,210 --> 00:32:53,620 >> Bel蓹 ki, indi dig蓹r faydal谋 command Print edir. 519 00:32:53,620 --> 00:32:55,750 Bel蓹 ki, 莽ap 莽ap gedir d蓹yi艧蓹n d蓹y蓹ri. 520 00:32:55,750 --> 00:32:57,825 Nin d蓹y蓹rini getirsin d蓹yi艧蓹n i. 521 00:32:57,825 --> 00:32:58,705 M蓹n 莽ap ed蓹k. 522 00:32:58,705 --> 00:33:00,910 Bu i 11 dem蓹k olacaq. 523 00:33:00,910 --> 00:33:03,330 陌ndi biz Next yen蓹 d蓹 i 10-d蓹n 莽oxdur. 524 00:33:03,330 --> 00:33:05,590 Bel蓹 ki, i h蓹l蓹 daha 莽ox var 11-ci ild蓹n 10. 525 00:33:05,590 --> 00:33:06,920 i minus minus. 526 00:33:06,920 --> 00:33:08,250 Yen蓹 i 莽ap ed蓹k. 527 00:33:08,250 --> 00:33:10,950 G枚zl蓹nildiyi kimi, 10 var. 528 00:33:10,950 --> 00:33:12,510 >> Bel蓹 ki, indi g蓹l蓹c蓹k. 529 00:33:12,510 --> 00:33:16,250 Bu geri v蓹ziyy蓹td蓹 olacaq, i 10-d蓹n 莽ox, lakin i bel蓹 ki, indi 10 530 00:33:16,250 --> 00:33:20,040 Bu 10-d蓹n 莽ox deyil, bel蓹 ki, biz g枚zl蓹yirik Bu is蓹 loop t枚k眉lm蓹k 眉莽眉n. 531 00:33:20,040 --> 00:33:22,220 V蓹 indi biz kod ki line a艧a臒谋da ist蓹yirik. 532 00:33:22,220 --> 00:33:28,750 V蓹 ba艧qa komanda siyah谋s谋, yaln谋z gedir 蓹vv蓹lki v蓹 sonrak谋 ke莽irm蓹k 眉莽眉n 533 00:33:28,750 --> 00:33:31,240 kodu x蓹tl蓹ri, ild蓹 bir ne莽蓹 halda siz 枚z眉n眉z itirdi. 534 00:33:31,240 --> 00:33:35,420 Bel蓹likl蓹, biz yaln谋z, bu is蓹 loop ayr谋ld谋臒谋 v蓹 indi biz bu daxil 535 00:33:35,420 --> 00:33:37,080 is蓹 loop, line 18. 536 00:33:37,080 --> 00:33:39,860 I 0 b蓹rab蓹r deyil is蓹 bel蓹. 537 00:33:39,860 --> 00:33:46,570 V蓹 n枚vb蓹ti, i biz will i minus 3 b蓹rab蓹rdir, v蓹 qeyd, bu, yaln谋z davam ed蓹c蓹yik. 538 00:33:46,570 --> 00:33:48,270 V蓹 biz i 莽ap ed蓹 bil蓹rsiniz. 539 00:33:48,270 --> 00:33:49,990 >> H蓹r bir komanda sort q谋sa malikdir. 540 00:33:49,990 --> 00:33:51,720 Bel蓹 ki, p 脟ap 眉莽眉n q谋sa. 541 00:33:51,720 --> 00:33:53,400 Bel蓹likl蓹, biz p i bil蓹rsiniz. 542 00:33:53,400 --> 00:33:57,550 Just n ke莽irilm蓹si saxlamaq, v蓹 ya Next bunu saxlamaq. 543 00:33:57,550 --> 00:33:58,340 Yen蓹 莽ap. 544 00:33:58,340 --> 00:34:00,380 Siz 167 m蓹nfi indi g枚r眉r眉k. 545 00:34:00,380 --> 00:34:06,030 Bel蓹 ki, bu 蓹b蓹di getm蓹k, lakin h蓹qiq蓹t蓹n 蓹b蓹di, yaln谋z g枚rd眉m ild蓹n, bu, 546 00:34:06,030 --> 00:34:09,330 h蓹qiq蓹t蓹n bir n枚qt蓹d蓹 sona 莽atacaq. 547 00:34:09,330 --> 00:34:15,699 >> Bel蓹 ki, gdb ba艧layaraq edilir. 548 00:34:15,699 --> 00:34:19,504 Amma gdb daha bir 艧ey ed蓹k. 549 00:34:19,504 --> 00:34:20,754 Uh, debug. 550 00:34:20,754 --> 00:34:23,540 551 00:34:23,540 --> 00:34:28,534 Bel蓹 ki, bu halda, sonsuz loop daxilind蓹 ola oldu 552 00:34:28,534 --> 00:34:30,050 蓹sas funksiyas谋. 553 00:34:30,050 --> 00:34:35,779 V蓹 indi 眉莽眉n, yaln谋z m蓹n ki, q蓹bul daxil sonsuz loop h蓹r蓹k蓹t olacaq 554 00:34:35,779 --> 00:34:37,029 foo funksiyas谋. 555 00:34:37,029 --> 00:34:40,679 556 00:34:40,679 --> 00:34:43,730 M蓹hz bu sonunda, unutmay谋n ki, proqram, yax艧谋, bu ilk idi 557 00:34:43,730 --> 00:34:46,210 yaln谋z olan foo z蓹ng i 莽ap gedir. 558 00:34:46,210 --> 00:34:51,880 Amma indi biz olan, foo z蓹ng etdiyiniz Bu 0 q蓹d蓹r i azalma, v蓹 gedir 559 00:34:51,880 --> 00:34:54,548 sonra d蓹yi艧蓹n 莽ap. 560 00:34:54,548 --> 00:34:55,469 OK. 561 00:34:55,469 --> 00:34:57,970 Ki saxla. 562 00:34:57,970 --> 00:35:00,175 Debug olun. 563 00:35:00,175 --> 00:35:03,310 陌ndi, gdb debug. 564 00:35:03,310 --> 00:35:04,090 OK. 565 00:35:04,090 --> 00:35:10,580 >> M蓹n yaln谋z Run Bel蓹 ki, 蓹g蓹r m蓹n fikrind蓹 deyil蓹m h蓹qiq蓹t蓹n gezinmek 眉莽眉n ed蓹 m蓹nim 566 00:35:10,580 --> 00:35:11,730 proqram line-by-line. 567 00:35:11,730 --> 00:35:19,820 Bel蓹 ki, 蓹sas da q谋ra ed蓹k, v蓹 sonra run yaz谋n. 568 00:35:19,820 --> 00:35:28,160 Bel蓹 ki, bu yolu getm蓹k, printf daxil bir tam, tam, 13 almaq. 569 00:35:28,160 --> 00:35:34,180 570 00:35:34,180 --> 00:35:37,490 Bel蓹likl蓹, biz decrementing saxlamaq olacaq i 10-d蓹n 莽oxdur q蓹d蓹r. 571 00:35:37,490 --> 00:35:42,840 Sonra vasit蓹sil蓹 d眉艧m蓹k olacaq is蓹 loop, v蓹 x蓹tti almaq - 572 00:35:42,840 --> 00:35:44,364 bir ayr谋 p蓹nc蓹r蓹 a莽maq bildirin. 573 00:35:44,364 --> 00:35:48,720 574 00:35:48,720 --> 00:35:53,300 I art谋q q蓹d蓹r biz endirildiyi sonra 10-d蓹n 莽ox v蓹 biz 575 00:35:53,300 --> 00:35:55,700 foo, funksiyas谋 adlan谋r. 576 00:35:55,700 --> 00:36:01,340 >> Bel蓹 ki, n蓹 tezlikl蓹 m蓹n hit ba艧 verib funksiyas谋 foo, yax艧谋, M蓹n foo adlan谋r v蓹 577 00:36:01,340 --> 00:36:04,030 sonra art谋q gdb 眉z蓹rind蓹 n蓹zar蓹t var idi. 578 00:36:04,030 --> 00:36:10,230 Bel蓹 ki, tezlikl蓹 m蓹n bu x蓹tti Next hit, Bu ba艧 q蓹d蓹r 艧eyi davam 579 00:36:10,230 --> 00:36:12,400 脺 proqram 莽谋kt谋 - 580 00:36:12,400 --> 00:36:14,450 n蓹tic蓹d蓹 yox idi da艧谋m谋r. 581 00:36:14,450 --> 00:36:16,390 Siz baxmayaraq bir az fasil蓹 g枚rd眉m. 582 00:36:16,390 --> 00:36:22,040 Bel蓹 ki, niy蓹 m蓹n 眉z蓹rind蓹 n蓹zar蓹ti itirm蓹k idi o n枚qt蓹d蓹 proqram? 583 00:36:22,040 --> 00:36:27,540 M蓹n n枚vb蓹ti yaz谋n zaman Yax艧谋, ki, gedir kod h蓹rfi n枚vb蓹ti x蓹tti 584 00:36:27,540 --> 00:36:28,850 icra ed蓹c蓹k. 585 00:36:28,850 --> 00:36:35,950 Bel蓹 ki, sonra line 21, kodu n枚vb蓹ti line ki, line 22 icra ed蓹c蓹k 586 00:36:35,950 --> 00:36:38,520 蓹sas olan m枚vcud olan. 587 00:36:38,520 --> 00:36:43,810 M蓹n yaln谋z getm蓹k ist蓹mir蓹m kodu n枚vb蓹ti line. 588 00:36:43,810 --> 00:36:48,170 M蓹n funksiyas谋, foo daxil getm蓹k ist蓹yir蓹m, v蓹 sonra da add谋m 589 00:36:48,170 --> 00:36:49,830 kodu h蓹min sat谋r. 590 00:36:49,830 --> 00:36:53,726 >> Bel蓹 ki, biz bir alternativ var. 591 00:36:53,726 --> 00:36:56,770 Ki, daha 莽谋xmaq imkan verir. 592 00:36:56,770 --> 00:36:58,020 茝sas ay谋r谋n. 593 00:36:58,020 --> 00:37:00,520 594 00:37:00,520 --> 00:37:06,370 Uh, 1, n枚vb蓹ti, n枚vb蓹ti, 13, n枚vb蓹ti, n枚vb蓹ti, n枚vb蓹ti, diqq蓹tl蓹, 595 00:37:06,370 --> 00:37:09,820 biz line foo hit 蓹vv蓹l. 596 00:37:09,820 --> 00:37:10,520 OK. 597 00:37:10,520 --> 00:37:13,700 >> Bel蓹 ki, indi biz, line 21 ist蓹yirik biz foo z蓹ng yerl蓹艧ir. 598 00:37:13,700 --> 00:37:17,100 Biz n枚vb蓹ti yaz谋n ist蓹mir蓹m ki, b蓹ri yaln谋z funksiyas谋 foo z蓹ng v蓹 599 00:37:17,100 --> 00:37:18,710 kodu n枚vb蓹ti line getm蓹k. 600 00:37:18,710 --> 00:37:20,840 N蓹 biz istifad蓹 etm蓹k ist蓹diyiniz add谋md谋r. 601 00:37:20,840 --> 00:37:25,690 Bel蓹 ki Add谋m aras谋nda bir f蓹rq var v蓹 Step daxil add谋mlar Next, 602 00:37:25,690 --> 00:37:28,190 f蓹aliyy蓹t, v蓹 Next gedir funksiyas谋 眉z蓹rind蓹. 603 00:37:28,190 --> 00:37:32,830 Bu yaln谋z tam icra funksiyas谋 v蓹 saxlay谋r gedir. 604 00:37:32,830 --> 00:37:37,210 >> Bel蓹 ki, Step bizi g蓹tirm蓹k niyy蓹tind蓹dir funksiyas谋 daxil foo. 605 00:37:37,210 --> 00:37:41,160 V蓹 biz indi, biz geri ist蓹yirik, bax burada n蓹z蓹riyy蓹 var ki, bu is蓹 loop, 606 00:37:41,160 --> 00:37:44,190 蓹b蓹di davam. 607 00:37:44,190 --> 00:37:50,420 V蓹 h蓹tta deyil zaman Add谋m, hit 蓹g蓹r z蓹ng etm蓹k 眉莽眉n bir funksiyas谋, sonra bu 608 00:37:50,420 --> 00:37:51,720 Sonrak谋 eyni. 609 00:37:51,720 --> 00:37:55,320 Bir x蓹tt oldu臒unuzda bel蓹 ki, yaln谋z ki, Add谋m ki, bir funksiyas谋 z蓹ng 610 00:37:55,320 --> 00:37:56,970 Sonrak谋 f蓹rql蓹nir gedir. 611 00:37:56,970 --> 00:37:57,930 Bel蓹 ki, Step burada biz蓹 g蓹tir蓹c蓹k. 612 00:37:57,930 --> 00:38:02,100 Step, add谋m, add谋m, add谋m, add谋m, add谋m, v蓹 biz 蓹b蓹di yaln谋z sonsuz loop laz谋md谋r. 613 00:38:02,100 --> 00:38:06,810 >> Bel蓹likl蓹, siz kimi istifad蓹 almaq bil蓹r Sizin sonsuz loops m眉蓹yy蓹n yolu, 614 00:38:06,810 --> 00:38:08,960 yaln谋z bu Enter d眉ym蓹sini ke莽irilm蓹si Zorland谋臒谋n谋z yerl蓹艧ir g枚r眉r眉k. 615 00:38:08,960 --> 00:38:11,610 616 00:38:11,610 --> 00:38:14,780 Var ki, n蓹 yax艧谋 yollar谋 var, lakin indi ki, m眉k蓹mm蓹l kifay蓹tdir. 617 00:38:14,780 --> 00:38:17,967 V蓹 stylistically, Style uy臒un 50, m蓹n bu h蓹yata olmal谋d谋r. 618 00:38:17,967 --> 00:38:21,550 619 00:38:21,550 --> 00:38:24,030 OK. 620 00:38:24,030 --> 00:38:28,400 >> Bel蓹 ki, son bir komanda t蓹qdim. 621 00:38:28,400 --> 00:38:30,810 Yax艧谋, daxil debug gdb ili 622 00:38:30,810 --> 00:38:35,580 Bel蓹 ki, 蓹v蓹zin蓹 蓹sas da q谋r谋lma, 蓹g蓹r m蓹n foo funksiyas谋 h蓹m莽inin bilirik edir 623 00:38:35,580 --> 00:38:39,230 problem, sonra ola bil蓹r yaln谋z 蓹v蓹zin蓹, foo q谋rmaq etdi. 624 00:38:39,230 --> 00:38:42,310 M蓹n q谋rmaq deyirl蓹r 蓹sas v蓹 foo d蓹. 625 00:38:42,310 --> 00:38:45,390 Bel蓹 ki, bir 莽ox breakpoints bil蓹rsiniz ist蓹diyiniz kimi. 626 00:38:45,390 --> 00:38:49,230 I run yaz谋n, o gedir Bu dayand谋rmaq 眉莽眉n - 627 00:38:49,230 --> 00:38:52,180 ooh, 莽眉nki nin compile bildirin M蓹n h蓹r 艧eyi d蓹yi艧di. 628 00:38:52,180 --> 00:38:55,950 Bu x蓹tt, Warning, m蓹nb蓹 g枚r蓹c蓹ksiniz fayl y眉r眉t眉lebilir daha son deyil. 629 00:38:55,950 --> 00:38:59,680 Bel蓹 ki, m蓹n yaln谋z burada getdi o dem蓹kdir ki, v蓹 Style uy臒un bu d蓹yi艧di 630 00:38:59,680 --> 00:39:03,100 50, lakin m蓹n derleyece臒iz etm蓹yib proqram. 631 00:39:03,100 --> 00:39:04,870 Bel蓹 ki, gdb ki, m蓹ni x蓹b蓹rdar edir. 632 00:39:04,870 --> 00:39:10,130 M蓹n yen蓹 debug etm蓹k, 莽谋xmaq laz谋md谋r gdb debug edib. 633 00:39:10,130 --> 00:39:10,700 OK. 634 00:39:10,700 --> 00:39:12,800 >> Bel蓹 ki, indi geri m蓹n bunu n蓹. 635 00:39:12,800 --> 00:39:15,720 茝sas, break foo ay谋r谋n. 636 00:39:15,720 --> 00:39:20,680 陌ndi proqram run, bel蓹 ki, 蓹g蓹r xit q蓹d蓹r davam bir 637 00:39:20,680 --> 00:39:21,320 breakpoint. 638 00:39:21,320 --> 00:39:24,680 Bu breakpoint olur 蓹sas da ilk biri. 639 00:39:24,680 --> 00:39:28,630 陌ndi 蓹v蓹zin蓹 n枚vb蓹ti etdiyini, n枚vb蓹ti, n枚vb蓹ti, n枚vb蓹ti, n枚vb蓹ti, foo hit q蓹d蓹r, m蓹n 640 00:39:28,630 --> 00:39:35,230 davam ed蓹c蓹k, davam ed蓹bil蓹rsiniz n枚vb蓹ti breakpoint hit q蓹d蓹r. 641 00:39:35,230 --> 00:39:37,200 M蓹n ilk tam daxil etm蓹k laz谋md谋r. 642 00:39:37,200 --> 00:39:40,570 M蓹n hit q蓹d蓹r davam ed蓹c蓹k Davam ki, n枚vb蓹ti breakpoint, 643 00:39:40,570 --> 00:39:43,320 foo funksiyas谋. 644 00:39:43,320 --> 00:39:50,130 >> Bir hit q蓹d蓹r Run davam ed蓹c蓹k zaman breakpoint, lakin yaln谋z run yaz谋n 645 00:39:50,130 --> 00:39:54,060 Siz, sonra proqram ba艧layaraq, edirik sonra, bu davam edir. 646 00:39:54,060 --> 00:40:01,950 M蓹n yaln谋z 蓹sas q谋rmaq idi v蓹 蓹g蓹r sonra qa莽d谋, o q谋rmaq laz谋md谋r 647 00:40:01,950 --> 00:40:03,670 sonra 蓹sas, v蓹 davam edir. 648 00:40:03,670 --> 00:40:10,050 M蓹n foo bir fasil蓹 point var, yoxdur-ci ild蓹n Bu tam daxil edin, sonra indi m蓹n 649 00:40:10,050 --> 00:40:11,380 foo at q谋rmaq niyy蓹tind蓹 deyil. 650 00:40:11,380 --> 00:40:16,318 Bu, yaln谋z sonsuz olacaq ki, q蓹d蓹r loop. 651 00:40:16,318 --> 00:40:17,568 OK. 652 00:40:17,568 --> 00:40:19,500 653 00:40:19,500 --> 00:40:24,420 >> Bel蓹 ki, gdb Intro var. 654 00:40:24,420 --> 00:40:27,790 Siz onu istifad蓹 ba艧lamaq laz谋md谋r Sizin problem d蓹stl蓹ri. 655 00:40:27,790 --> 00:40:30,550 Bu, 莽ox faydal谋 ola bil蓹r bugs m眉蓹yy蓹n etm蓹k. 656 00:40:30,550 --> 00:40:35,280 H蓹qiq蓹t蓹n, yaln谋z, line-by-line getm蓹k varsa, Sizin kod vasit蓹sil蓹, v蓹 n蓹 m眉qayis蓹 657 00:40:35,280 --> 00:40:39,740 h蓹qiq蓹t蓹n g枚zl蓹m蓹k n蓹 il蓹 ba艧 ba艧, sonra bu, olduqca 658 00:40:39,740 --> 00:40:41,060 sizin hatalar谋 miss 莽蓹tindir. 659 00:40:41,060 --> 00:40:45,280 660 00:40:45,280 --> 00:40:46,530 OK. 661 00:40:46,530 --> 00:40:48,310 662 00:40:48,310 --> 00:40:54,040 >> Bel蓹 ki, 枚t蓹n h蓹ft蓹 David bu t蓹rbiy蓹 眉莽眉n gizli-蓹sas Kriptoqrafiya stuff 663 00:40:54,040 --> 00:40:59,350 biz ist蓹mir蓹m ilk d蓹f蓹, parol yaln谋z saxlan谋l谋r bizim 664 00:40:59,350 --> 00:41:03,210 bir d眉z m蓹tn fayl谋 komp眉ter, 脺 kims蓹 v蓹 yaln谋z g蓹l蓹 bil蓹r 665 00:41:03,210 --> 00:41:04,660 a莽maq v蓹 onlar谋 oxumaq. 666 00:41:04,660 --> 00:41:07,530 陌deal halda, onlar 艧ifrelenmi艧 olacaq bir 艧蓹kild蓹. 667 00:41:07,530 --> 00:41:13,340 V蓹 Problem Set 2, Siz m蓹艧臒ul olacaq 艧ifreleme bir 眉sulu il蓹, 668 00:41:13,340 --> 00:41:16,520 v蓹 ya, yax艧谋, iki metod, lakin onlar b枚y眉k deyil. 669 00:41:16,520 --> 00:41:20,050 Siz hacker n蓹艧r n蓹 varsa, siz da m蓹艧臒ul olacaq 670 00:41:20,050 --> 00:41:22,150 b蓹zi 艧eyl蓹r decrypting. 671 00:41:22,150 --> 00:41:29,770 >> Bel蓹 ki, m蓹s蓹l蓹 indi d蓹, h蓹tta halda, biz g眉cl眉 艧ifreleme var 672 00:41:29,770 --> 00:41:34,830 D眉nyada alqoritm, 蓹g蓹r bir se莽m蓹k x眉susil蓹 yoxsul parol, o, 673 00:41:34,830 --> 00:41:37,720 , 莽ox siz蓹 k枚m蓹k ed蓹c蓹k bu yana insanlar谋n h蓹l蓹 d蓹 anlamaq olacaq. 674 00:41:37,720 --> 00:41:41,530 艦ifreli simli g枚r蓹n v蓹 h蓹tta bu zibil bir mess kimi g枚r眉n眉r 675 00:41:41,530 --> 00:41:44,760 蓹g蓹r ki, onlara he莽 bir 艧ey dem蓹kdir h蓹l蓹 yaln谋z bir ne莽蓹 parol c蓹hd laz谋md谋r 676 00:41:44,760 --> 00:41:50,560 茝g蓹r bunu anlama臒a 莽ox t蓹hl眉k蓹siz deyil. 677 00:41:50,560 --> 00:41:55,890 Bel蓹 ki, bir video seyr ki, i艧ar蓹 edir. 678 00:41:55,890 --> 00:41:59,587 679 00:41:59,587 --> 00:42:00,970 >> [Video playback] 680 00:42:00,970 --> 00:42:02,100 >> -Kask, siz 艧eytan. 681 00:42:02,100 --> 00:42:03,370 N蓹 olub? 682 00:42:03,370 --> 00:42:05,170 茝g蓹r q谋z谋m n蓹 edirl蓹r? 683 00:42:05,170 --> 00:42:09,910 >> Parlaq t蓹qdim etm蓹k m蓹n蓹 icaz蓹 g蓹nc plastik c蓹rrah Dr Phillip 684 00:42:09,910 --> 00:42:13,730 Schlotkin 蓹n b枚y眉k burun b眉t眉n, i艧 adam谋 685 00:42:13,730 --> 00:42:16,080 kainat, v蓹 Beverly Hills. 686 00:42:16,080 --> 00:42:17,210 >> -茝lah蓹zr蓹t. 687 00:42:17,210 --> 00:42:18,070 >> -Burun i艧? 688 00:42:18,070 --> 00:42:18,670 M蓹n ba艧a d眉艧m眉r蓹m. 689 00:42:18,670 --> 00:42:20,090 O, art谋q bir burun i艧 idi oldu. 690 00:42:20,090 --> 00:42:21,910 Bu 艧irin on alt谋 idi. 691 00:42:21,910 --> 00:42:22,140 >> -No. 692 00:42:22,140 --> 00:42:23,690 Bu n蓹 deyil. 693 00:42:23,690 --> 00:42:25,420 Bu, 莽ox, 莽ox pis. 694 00:42:25,420 --> 00:42:30,300 Siz m蓹n蓹 birl蓹艧m蓹si vermir varsa hava qalxan, Dr Schlotkin olacaq 695 00:42:30,300 --> 00:42:34,226 onun k枚hn蓹 burun q谋z谋 geri verir. 696 00:42:34,226 --> 00:42:35,476 >> -No. 697 00:42:35,476 --> 00:42:38,712 698 00:42:38,712 --> 00:42:40,516 Harada ki, 蓹ld蓹 etdiniz? 699 00:42:40,516 --> 00:42:41,440 >> -B眉t眉n h眉ququ. 700 00:42:41,440 --> 00:42:42,180 M蓹n deyim. 701 00:42:42,180 --> 00:42:43,381 M蓹n deyim. 702 00:42:43,381 --> 00:42:44,263 Xeyr, daddy. 703 00:42:44,263 --> 00:42:45,590 Xeyr, olmaz. 704 00:42:45,590 --> 00:42:46,860 >> -Sen sa臒, 蓹ziz. 705 00:42:46,860 --> 00:42:48,450 M蓹n sizin yeni burun miss laz谋md谋r. 706 00:42:48,450 --> 00:42:52,090 Amma ona birl蓹艧m蓹si dem蓹k deyil, n蓹 olursa olsun. 707 00:42:52,090 --> 00:42:53,680 >> -脟ox yax艧谋. 708 00:42:53,680 --> 00:42:55,685 Dr Schlotkin, sizin 蓹n pis edin. 709 00:42:55,685 --> 00:42:56,914 >> -M蓹nim z枚vq. 710 00:42:56,914 --> 00:43:00,690 >> [TOOLS itil蓹nmi艧] 711 00:43:00,690 --> 00:43:01,910 >> -No. 712 00:43:01,910 --> 00:43:02,520 G枚zl蓹yin. 713 00:43:02,520 --> 00:43:03,836 G枚zl蓹yin. 714 00:43:03,836 --> 00:43:05,300 M蓹n deyim. 715 00:43:05,300 --> 00:43:06,880 M蓹n deyim. 716 00:43:06,880 --> 00:43:09,130 >> -M蓹n bunu bilirdik. 717 00:43:09,130 --> 00:43:09,900 B眉t眉n h眉quqlar. 718 00:43:09,900 --> 00:43:12,850 M蓹n蓹 verin. 719 00:43:12,850 --> 00:43:16,918 >> -Birl蓹艧m蓹si biridir. 720 00:43:16,918 --> 00:43:17,406 >> -One. 721 00:43:17,406 --> 00:43:18,382 >> -One. 722 00:43:18,382 --> 00:43:19,358 >> -陌ki. 723 00:43:19,358 --> 00:43:19,846 >> -陌ki. 724 00:43:19,846 --> 00:43:20,822 >> -陌ki. 725 00:43:20,822 --> 00:43:21,310 >> -脺莽. 726 00:43:21,310 --> 00:43:21,798 >> -脺莽. 727 00:43:21,798 --> 00:43:22,774 >> -脺莽. 728 00:43:22,774 --> 00:43:23,262 >> -Four. 729 00:43:23,262 --> 00:43:23,750 >> -Four. 730 00:43:23,750 --> 00:43:26,150 >> -Four. 731 00:43:26,150 --> 00:43:27,010 >> -Be艧. 732 00:43:27,010 --> 00:43:27,670 >> -Be艧. 733 00:43:27,670 --> 00:43:29,010 >> -Be艧. 734 00:43:29,010 --> 00:43:34,770 >> -Yax艧谋 birl蓹艧m蓹si biridir iki, 眉莽, d枚rd, be艧. 735 00:43:34,770 --> 00:43:37,460 Bu stupidest birl蓹艧m蓹si var M蓹n he莽 h蓹yat谋mda e艧itdim. 736 00:43:37,460 --> 00:43:39,710 Ki, bir 艧ey c眉r bir idiot var onun baqaj var ki. 737 00:43:39,710 --> 00:43:42,000 >> Sizin 茝lah蓹zr蓹t, siz蓹 t蓹艧蓹kk眉r edirik. 738 00:43:42,000 --> 00:43:43,530 >> -N蓹 oldu? 739 00:43:43,530 --> 00:43:44,490 >> -M蓹n divar off 莽谋xd谋. 740 00:43:44,490 --> 00:43:45,420 >> -No etm蓹di. 741 00:43:45,420 --> 00:43:45,840 Siz b眉t眉n film s枚nd眉r眉l眉r. 742 00:43:45,840 --> 00:43:46,930 >> M蓹n s蓹hv d眉ym蓹ni basd谋 olmal谋d谋r. 743 00:43:46,930 --> 00:43:48,265 >> -Yax艧谋, geri qoydu. 744 00:43:48,265 --> 00:43:49,110 Film geri qoyun. 745 00:43:49,110 --> 00:43:49,510 >> -B蓹li, efendim. 746 00:43:49,510 --> 00:43:49,917 B蓹li, efendim. 747 00:43:49,917 --> 00:43:50,324 >> Nin, Arnold getm蓹k ed蓹k. 748 00:43:50,324 --> 00:43:51,140 , Gretchen gel. 749 00:43:51,140 --> 00:43:53,060 茝lb蓹tt蓹 ki, m蓹n h蓹l蓹 laz谋md谋r bilirik Bunun 眉莽眉n qanun var. 750 00:43:53,060 --> 00:43:53,440 >> [END Video playback] 751 00:43:53,440 --> 00:43:54,690 >> Rob Boden: B眉t眉n h眉ququ. 752 00:43:54,690 --> 00:43:59,690 753 00:43:59,690 --> 00:44:08,430 Biz art谋q s枚hb蓹t edirik Bel蓹 ki, indi ki, b蓹zi yollarla t蓹hl眉k蓹sizlik, g枚z蓹l 754 00:44:08,430 --> 00:44:16,050 az film poster, bel蓹 ki, son NSA il蓹 g眉n, bu m蓹s蓹l蓹l蓹r 755 00:44:16,050 --> 00:44:17,300 h蓹r 艧eyi monitorinq. 756 00:44:17,300 --> 00:44:21,840 757 00:44:21,840 --> 00:44:26,930 Bu sizin kimi hiss etm蓹k 莽蓹tin ola bil蓹r Bu gizlilik bir n枚v var 758 00:44:26,930 --> 00:44:34,540 online d眉nya, m蓹n dey蓹 bilm蓹di Siz prizma m蓹lumat 蓹n. 759 00:44:34,540 --> 00:44:42,130 Bel蓹 ki, prizma k蓹narda h蓹r蓹k蓹t, biz fikrind蓹 deyilik 陌ndi ki, s枚hb蓹t etm蓹k 760 00:44:42,130 --> 00:44:44,030 Sizin laptop haqq谋nda d眉艧眉nm蓹k. 761 00:44:44,030 --> 00:44:48,360 Bel蓹 ki, burada, m蓹n ke莽m蓹k ist蓹yir蓹m m蓹nim faktiki hesab谋na, 762 00:44:48,360 --> 00:44:50,370 m蓹nim ki莽ik pinqvin il蓹. 763 00:44:50,370 --> 00:44:57,310 M蓹n bir parol d蓹sti var ki, Parolu M蓹n olmaq ist蓹yir蓹m n蓹. 764 00:44:57,310 --> 00:45:02,430 >> Amma unutmay谋n ki, n蓹 m蓹n giri艧 al谋ram , bel蓹 ki, bu giri艧 il蓹 765 00:45:02,430 --> 00:45:04,850 tez, b蓹zi proqramd谋r. 766 00:45:04,850 --> 00:45:07,910 Bu idi ki, b蓹zi proqram bir 艧蓹xs t蓹r蓹find蓹n yaz谋l谋. 767 00:45:07,910 --> 00:45:13,250 V蓹 bel蓹 ki, 艧蓹xs, 蓹g蓹r onlar x眉susil蓹 z蓹r蓹rli, onlar bil蓹r 768 00:45:13,250 --> 00:45:17,780 dedi, b眉t眉n sa臒, bel蓹 ki, 蓹g蓹r parol M蓹n daxil b蓹rab蓹rdir m蓹nim 769 00:45:17,780 --> 00:45:22,800 faktiki parol, v蓹 ya b蓹rab蓹r b蓹zi x眉susi parol - 770 00:45:22,800 --> 00:45:25,550 David z蓹hmli v蓹 ya bir 艧ey - 771 00:45:25,550 --> 00:45:27,190 sonra onlar谋 i莽蓹ri buraxa 772 00:45:27,190 --> 00:45:33,760 Bel蓹 ki, bir z蓹r蓹rli proqram莽谋 ola bil蓹r Mac b眉t眉n v蓹 ya giri艧 773 00:45:33,760 --> 00:45:36,150 Windows, v蓹 ya bir 艧ey. 774 00:45:36,150 --> 00:45:41,980 >> Bel蓹 ki, ild蓹n, bir narahatl谋q 莽ox deyil M蓹n dem蓹k, Bu giri艧 proqram 775 00:45:41,980 --> 00:45:48,720 ki, OS X, y眉zl蓹rl蓹 s枚vq edir v蓹 ya minl蓹rl蓹 var 776 00:45:48,720 --> 00:45:50,020 Bu kodu n蓹z蓹rd蓹n. 777 00:45:50,020 --> 00:45:55,330 V蓹 bel蓹 ki, siz haradasa kodunu, 蓹g蓹r Bu string b蓹rab蓹rdir b蓹rab蓹rdir dem蓹k 778 00:45:55,330 --> 00:45:58,860 David z蓹hmli, giri艧, sonra kims蓹 var olacaq, kimi, g枚zl蓹yin. 779 00:45:58,860 --> 00:45:59,800 Bu do臒ru deyil. 780 00:45:59,800 --> 00:46:01,790 Burada olmamal谋d谋r. 781 00:46:01,790 --> 00:46:06,650 Bel蓹 ki, biz h蓹r 艧eyi almaq bir yolu var c眉r t蓹hl眉k蓹siz olmal谋d谋r. 782 00:46:06,650 --> 00:46:10,300 >> Lakin h蓹tta proqramlar谋 haqq谋nda d眉艧眉nm蓹k Siz yazmaq. 783 00:46:10,300 --> 00:46:13,000 Siz giri艧 proqram谋 yazd谋 deyirl蓹r. 784 00:46:13,000 --> 00:46:20,440 Yaz谋rd谋 ki, bu giri艧 proqram, bel蓹 a莽谋q-ayd谋n, bir yax艧谋 785 00:46:20,440 --> 00:46:21,210 proqram莽谋. 786 00:46:21,210 --> 00:46:25,610 Siz h蓹r hans谋 bir z蓹r蓹rli qoymaq fikrind蓹 deyilik x b蓹rab蓹rdir b蓹rab蓹rdir 蓹g蓹r David z蓹hmli deyil 787 00:46:25,610 --> 00:46:27,860 kodu daxil. 788 00:46:27,860 --> 00:46:31,930 Lakin bu proqram, n蓹 Bu proqram t蓹rtib etm蓹k 眉莽眉n istifad蓹? 789 00:46:31,930 --> 00:46:34,180 Cingilti kimi bir 艧ey. 790 00:46:34,180 --> 00:46:38,460 Bel蓹 ki, n蓹 蓹g蓹r ba艧 ver蓹n 艧蓹xs cingilti qoruyucu cingilti x眉susi yazmaq 791 00:46:38,460 --> 00:46:44,310 bir 艧ey kimi m蓹n t蓹rtib edir蓹m 蓹g蓹r proqram daxil, sonra bu kodu daxil edin 792 00:46:44,310 --> 00:46:49,720 蓹g蓹r deyir ki, giri艧 proqram谋 x b蓹rab蓹rdir David z蓹hmli deyil b蓹rab蓹rdir? 793 00:46:49,720 --> 00:46:59,890 Bel蓹 ki, tamamil蓹 h蓹l蓹, lakin biz eyni var burada verm蓹k, harada cingilti, yax艧谋, 794 00:46:59,890 --> 00:47:03,790 min, 蓹g蓹r on minl蓹rl蓹 insanlar var, cingilti baxd谋 var 795 00:47:03,790 --> 00:47:07,160 kodu 枚z x蓹tti baxd谋 v蓹 dedi, b眉t眉n sa臒, burada pis bir 艧ey yoxdur. 796 00:47:07,160 --> 00:47:10,680 Ayd谋nd谋r ki, he莽 bir edir Bu z蓹r蓹rli bir 艧ey. 797 00:47:10,680 --> 00:47:15,780 >> Amma n蓹 kimi, 枚z眉n眉 cingilti edir n蓹 cingilti t蓹rtib 蓹g蓹r? 798 00:47:15,780 --> 00:47:20,900 M蓹n b蓹zi compiler var ki, 蓹g蓹r cingilti daxil ed蓹r ki, cingilti t蓹rtib 799 00:47:20,900 --> 00:47:25,610 deyir ki, bu x眉susi hack, b眉t眉n sa臒, M蓹n cingilti t蓹rtib ed蓹rk蓹n, sonra 800 00:47:25,610 --> 00:47:31,290 莽al谋艧t谋r谋labilir M蓹n x眉susi baxmaq laz谋md谋r almaq giri艧 proqram v蓹 insert daxilind蓹 801 00:47:31,290 --> 00:47:34,230 Bu parol, b蓹rab蓹rdir b蓹rab蓹rdir Dave z蓹hmli deyil? 802 00:47:34,230 --> 00:47:37,990 Bel蓹 ki, unutmay谋n ki, compiler 枚z眉 bir n枚qt蓹d蓹 t蓹rtib etm蓹k laz谋md谋r. 803 00:47:37,990 --> 00:47:42,810 Bel蓹 ki, cingilti t蓹rtib se莽蓹 n蓹 , 枚z眉 sonra, z蓹r蓹rli il蓹 804 00:47:42,810 --> 00:47:45,580 b眉t眉n berbat bil蓹r yol a艧a臒谋 x蓹tti. 805 00:47:45,580 --> 00:47:49,630 >> Odur ki, biz Ken Thompson var v蓹 Dennis Ritchie. 806 00:47:49,630 --> 00:47:53,780 Bel蓹 ki, bu iconic 艧蓹kil var. 807 00:47:53,780 --> 00:47:55,470 Dennis Ritchie do臒ru deyil. 808 00:47:55,470 --> 00:47:58,740 O, bir b枚y眉k - 809 00:47:58,740 --> 00:48:03,640 olduqca 莽ox C. yazd谋 Bel蓹 ki, siz Bu sinif g枚r蓹 t蓹艧蓹kk眉r edir蓹m. 810 00:48:03,640 --> 00:48:04,840 Ken Thomson sol var. 811 00:48:04,840 --> 00:48:07,780 Onlara iki 蓹sas蓹n UNIX yazd谋. 812 00:48:07,780 --> 00:48:10,140 B蓹li, onlar 蓹sas amil olmu艧dur UN陌X. 813 00:48:10,140 --> 00:48:11,310 B蓹zi ba艧qalar谋 var idi. 814 00:48:11,310 --> 00:48:16,240 Bir n枚qt蓹d蓹 bel蓹 Ken Thompson, O Turing m眉kafat谋 qazan谋r. 815 00:48:16,240 --> 00:48:20,860 V蓹 Turing m眉kafat谋, m蓹n h蓹mi艧蓹 e艧itdim bu 艧蓹kild蓹 istinad, bu var 816 00:48:20,860 --> 00:48:23,100 Komp眉ter elminin Nobel m眉kafat谋. 817 00:48:23,100 --> 00:48:27,500 >> Bel蓹 ki, Turing m眉kafat谋, o var onun q蓹bul 莽谋x谋艧. 818 00:48:27,500 --> 00:48:31,790 V蓹 o, bu 莽ox m蓹艧hur dan谋艧ma verir indi g眉v蓹n蓹r蓹k Reflections 莽a臒谋r谋b 819 00:48:31,790 --> 00:48:35,620 Biz ba臒l谋 olan Trust, kurs veb haqq谋nda. 820 00:48:35,620 --> 00:48:41,670 V蓹 bu dan谋艧mada, o, b眉t眉n do臒ru deyir M蓹n UNIX yazd谋 v蓹 indi b眉t眉n 821 00:48:41,670 --> 00:48:43,320 Siz insanlar UNIX istifad蓹 olunur. 822 00:48:43,320 --> 00:48:46,960 陌ndi Linux bu g眉n xat谋rlay谋ram UNIX birba艧a n蓹slind蓹n. 823 00:48:46,960 --> 00:48:50,140 OS X birba艧a UNIX istifad蓹 edir. 824 00:48:50,140 --> 00:48:53,810 Windows q蓹d蓹r deyil, amma bir 莽ox fikir UNIX g枚t眉r眉lm眉艧d眉r. 825 00:48:53,810 --> 00:48:59,220 >> Bel蓹 ki, o, m蓹rh蓹l蓹sin蓹 q蓹d蓹r gedir v蓹 deyir b眉t眉n sa臒, m蓹n UNIX yazd谋. 826 00:48:59,220 --> 00:49:03,940 V蓹 yaln谋z bel蓹 u艧aqlar bilirsiniz, m蓹n deyil蓹m h蓹r daxil ed蓹 827 00:49:03,940 --> 00:49:05,590 Sizin komp眉ter biri. 828 00:49:05,590 --> 00:49:14,280 X, m蓹n bu x眉susi bir qoymaq ild蓹n b蓹rab蓹rdir, Ken Thomson z蓹hmli deyil b蓹rab蓹rdir 829 00:49:14,280 --> 00:49:16,350 sonra giri艧 眉莽眉n icaz蓹 al谋ram. 830 00:49:16,350 --> 00:49:18,370 Bel蓹 ki, insanlar, yax艧谋, kimi qar艧谋lad谋q bunu? 831 00:49:18,370 --> 00:49:21,090 Biz giri艧 proqram谋 baxd谋 v蓹 he莽 bir 艧ey yoxdur. 832 00:49:21,090 --> 00:49:24,700 O, m蓹n compiler redakt蓹 kimi giri艧 proqram daxil 833 00:49:24,700 --> 00:49:30,490 giri艧 proqram谋 var ki, ki, x Ken Tekin b蓹rab蓹rdir b蓹rab蓹rdir 834 00:49:30,490 --> 00:49:31,700 z蓹hmli deyil. 835 00:49:31,700 --> 00:49:33,120 >> V蓹 onlar da, do臒ru deyil, dem蓹k. 836 00:49:33,120 --> 00:49:35,740 Biz compiler baxaraq, v蓹 etdiyiniz compiler h蓹r hans谋 x蓹tl蓹ri yoxdur 837 00:49:35,740 --> 00:49:36,400 kimi kodu. 838 00:49:36,400 --> 00:49:40,540 O OK, kimi, ancaq n蓹 compiler il蓹 t蓹rtib? 839 00:49:40,540 --> 00:49:44,810 V蓹, yax艧谋, kimi, onlar hesab edir蓹m ki, v蓹 o M蓹n siz蓹 compiler ver蓹n biriy蓹m 840 00:49:44,810 --> 00:49:50,580 Siz compiler t蓹rtib 眉莽眉n istifad蓹, bel蓹 ki, etdiyiniz Siz, bir compiler t蓹rtib olunur ki, 841 00:49:50,580 --> 00:49:56,390 枚z眉 z蓹r蓹rli v蓹 olacaq giri艧 proqram q谋rmaq. 842 00:49:56,390 --> 00:49:59,360 Bel蓹 ki, 蓹sas蓹n, o n枚qt蓹d蓹 var Siz m蓹nb蓹 baxmaq bil蓹r he莽 bir yol 843 00:49:59,360 --> 00:50:02,450 Giri艧 proqram谋n谋n kodu yanl谋艧 n蓹 g枚rm蓹k. 844 00:50:02,450 --> 00:50:04,220 Siz h蓹tta baxmaq bilm蓹di Bu compiler m蓹nb蓹 kodu 845 00:50:04,220 --> 00:50:06,790 yanl谋艧 n蓹 g枚rm蓹k. 846 00:50:06,790 --> 00:50:11,940 >> Siz ma艧谋n baxmaq laz谋md谋r kodu, faktiki ikili 847 00:50:11,940 --> 00:50:16,760 Bu, g枚zl蓹m蓹k, g枚rm蓹k 眉莽眉n t蓹rtib compiler kodu x蓹tl蓹ri burada olmamal谋d谋r. 848 00:50:16,760 --> 00:50:22,130 Amma Ken Thompson bir add谋m atd谋 daha v蓹 yax艧谋, var, dedi 849 00:50:22,130 --> 00:50:25,980 Bu x眉susi proqramlar 蓹slind蓹 Siz proqramlar谋 ikili oxumaq k枚m蓹k, 850 00:50:25,980 --> 00:50:29,340 v蓹 bel蓹 kims蓹 ki, proqram istifad蓹 蓹g蓹r ikili oxumaq, onlar bu g枚r蓹c蓹k 851 00:50:29,340 --> 00:50:30,490 kodu x蓹tl蓹ri. 852 00:50:30,490 --> 00:50:34,020 O, b眉t眉n, dem蓹k h蓹min proqramlar谋n redakt蓹 sa臒, siz at ar谋yorsan谋z 853 00:50:34,020 --> 00:50:38,460 compiler, bu g枚st蓹rm蓹k deyil ikili set. 854 00:50:38,460 --> 00:50:42,830 >> Bel蓹likl蓹 siz almaq laz谋md谋r ki, bir add谋m daha v蓹 蓹sas蓹n ki, ola bil蓹r 855 00:50:42,830 --> 00:50:46,210 dolayl谋 q蓹bul bird蓹n 莽ox s蓹viyy蓹si, v蓹 bir anda, he莽 bir h蓹qiq蓹t蓹n var 856 00:50:46,210 --> 00:50:47,990 yoxlan谋lmas谋 olacaq. 857 00:50:47,990 --> 00:50:52,590 Bel蓹 ki, hekay蓹 m蓹n蓹vi siz ist蓹yirik ki, yaz谋l谋 etm蓹k niyy蓹tind蓹 deyil 858 00:50:52,590 --> 00:50:54,340 Bu sinif cingilti. 859 00:50:54,340 --> 00:50:57,020 Siz d谋rmanma istifad蓹 etm蓹k olacaq Bu sinif bir 莽ox cingilti. 860 00:50:57,020 --> 00:51:00,490 Bildiyiniz b眉t眉n, cingilti bir z蓹r蓹rli h蓹r sabote proqram谋 861 00:51:00,490 --> 00:51:03,520 bir proqram 茝g蓹r t蓹rtib etdik. 862 00:51:03,520 --> 00:51:08,206 V蓹 莽ox u臒ursuz sizi t蓹rk 脟蓹r艧蓹nb蓹 g眉n眉 g枚r蓹c蓹ksiniz, qeyd. 863 00:51:08,206 --> 00:51:10,030 >> [Alq谋艧] 864 00:51:10,030 --> 00:51:12,935 >> HOPARL脰R 2: N枚vb蓹ti CS50 edir. 865 00:51:12,935 --> 00:51:14,580 >> HOPARL脰R 3: Siz dem蓹k c蓹sar蓹t etm蓹yin. 866 00:51:14,580 --> 00:51:15,930 Siz bunu ed蓹 bil蓹rsiniz. 867 00:51:15,930 --> 00:51:19,440 Siz 蓹vv蓹l bu etdik, siz bunu ed蓹 bil蓹rsiniz bu g眉n, sabah bunu ed蓹 bil蓹rsiniz. 868 00:51:19,440 --> 00:51:20,930 Siz ildir bunu etdik. 869 00:51:20,930 --> 00:51:22,790 Just orada getm蓹k v蓹 bunu. 870 00:51:22,790 --> 00:51:24,310 Siz bunu ed蓹 bil蓹rsiniz. 871 00:51:24,310 --> 00:51:26,102 >> [MUSIC PLAYING]