1 00:00:00,000 --> 00:00:02,270 [Powered by Google Translate] [Semèn 2, Kontinye] 2 00:00:02,270 --> 00:00:04,220 [David J. Malan, Inivèsite Harvard] 3 00:00:04,220 --> 00:00:06,880 [Sa a se CS50. - CS50.TV] 4 00:00:06,880 --> 00:00:10,990 Tout dwa. Sa a se CS50, e sa se nan fen semèn 2. 5 00:00:10,990 --> 00:00:14,410 Si ou espere yo dwe grangou alantou tan sa a demen, 6 00:00:14,410 --> 00:00:18,620 konnen ke nou ap ale nan konvoke kòm yon demen an ti gwoup, Jedi, 1:15 pm. 7 00:00:18,620 --> 00:00:21,360 Genyen nan sa a URL isit la si ou ta renmen RSVP. 8 00:00:21,360 --> 00:00:26,740 Espas a limite, kidonk, tanpri padonnen si fòm nan ranpli leve pa tan an ou ranpli sa a soti. 9 00:00:26,740 --> 00:00:29,300 Yon lòt URL, menm si, ke sa ta kapab nan enterè a se sa a. 10 00:00:29,300 --> 00:00:32,369 Nan jis sou tan yon mwa a, kou a ki pral ap disponib 11 00:00:32,369 --> 00:00:36,890 tout plis lajman a atravè èdo, via ki jan sou Entènèt la yo pral kapab swiv ansanm, 12 00:00:36,890 --> 00:00:39,380 angaje yo nan kou a byen aktivman, an reyalite. 13 00:00:39,380 --> 00:00:42,270 Yo pral lè l sèvi avèk aparèy la CS50 ak CS50 Diskite sou 14 00:00:42,270 --> 00:00:45,490 ak pi fò nan zouti yo lojisyèl divès kalite ke nou yo deja lè l sèvi avèk sa a semès la. 15 00:00:45,490 --> 00:00:48,710 Ak youn nan inisyativ sa yo nou ta renmen pran sou kòm yon eksperyans nan ane sa a 16 00:00:48,710 --> 00:00:51,930 se wè jis ki jan anpil kontni nou ka tradui 17 00:00:51,930 --> 00:00:53,960 nan lòt lang pale e ekri. 18 00:00:53,960 --> 00:00:57,500 Se konsa, si ou ta ka gen yon enterè nan k ap patisipe nan pwojè sa a 19 00:00:57,500 --> 00:01:02,270 kote n ap ofri relve nòt angle ak tradiksyon an pou konferans kou a nan 20 00:01:02,270 --> 00:01:05,450 ak bout pantalon ak seminè ak seksyon ak renmen an, 21 00:01:05,450 --> 00:01:08,200 si ou pale kouraman oswa ekri kouraman kèk lòt lang, 22 00:01:08,200 --> 00:01:12,290 nou ta renmen angaje ou nan pwojè sa a annakò ou pran sou youn oswa plis nan videyo yo, 23 00:01:12,290 --> 00:01:15,200 tradui yo nan yon lang ou konnen trè byen. 24 00:01:15,200 --> 00:01:18,700 >> Pou bay ou yon sans de koòdone a, gen nan sa a koòdone itilizatè ki baze sou wèb 25 00:01:18,700 --> 00:01:22,090 ke nou pral lè l sèvi avèk ki pral kreye esansyèlman se yon UI tankou sa a. 26 00:01:22,090 --> 00:01:24,290 Sa a te m 'moutre kèk Halloween de sa, 27 00:01:24,290 --> 00:01:27,390 ak sou bò men dwat-ou gen nan nwa pwochen sa yo koupon pou tan, 28 00:01:27,390 --> 00:01:31,210 ou pral wè bagay sa yo divès kalite ki te vin soti nan bouch mwen jou sa a, 29 00:01:31,210 --> 00:01:34,850 ak Lè sa a, pi ba a sa a, nou pral kapab tradwi nan kèk lòt lang 30 00:01:34,850 --> 00:01:38,690 ekzakteman ki sa kat la se ant, nan ka sa a, angle ak, di, an panyòl. 31 00:01:38,690 --> 00:01:40,440 Se konsa, li la aktyèlman yon trè user-zanmitay zouti. 32 00:01:40,440 --> 00:01:43,370 Ou ka remonte ak vit-pou pi devan trè fasilman ak rakoursi klavye. 33 00:01:43,370 --> 00:01:47,490 Se konsa, si ou ta renmen pran yon pati nan eksperyans sa a ak menm ki gen pawòl ou wè ak li 34 00:01:47,490 --> 00:01:51,850 pa potansyèlman dè milye de jan yo deyò, tanpri santi yo lib yo patisipe. 35 00:01:51,850 --> 00:01:54,350 Youn nan mo sou kitten la nan Lendi. 36 00:01:54,350 --> 00:02:00,350 Ann kouri pou nou voye yon mesaj tro pè, fè reyalize ke, kòm lè biwo sijere 37 00:02:00,350 --> 00:02:03,300 epi kòm seksyon sijere, desen an nan kou a se anpil 38 00:02:03,300 --> 00:02:07,360 yo te elèv yo kolabore ak ap pale ak ap travay nan aparèy televisyon HD pwoblèm 39 00:02:07,360 --> 00:02:11,260 ak pwoblèm ansanm, ak reyèlman liy lan jis vini desann nan, 40 00:02:11,260 --> 00:02:16,010 ankò, travay la ou finalman soumèt yo ta dwe pwòp ou yo. 41 00:02:16,010 --> 00:02:18,860 Se konsa, byen onètman, nan lè biwo louvri li nan totalman nòmal, 42 00:02:18,860 --> 00:02:22,240 li nan totalman yo dwe atann menm, yo dwe diskite ak kèk zanmi kap vini jwenn ou. 43 00:02:22,240 --> 00:02:24,370 >> Si li gen difikilte avèk kèk sijè epi w ap tankou, 44 00:02:24,370 --> 00:02:27,940 "O, byen, kite m 'ba ou yon aperçu nan kèk liy nan kòd ki mwen te ekri," ki nan amann, 45 00:02:27,940 --> 00:02:31,250 sa rive, e ke se anpil fezab, mwen panse, avèk pwosesis pou aprann. 46 00:02:31,250 --> 00:02:36,750 Ki kote vin liy lan janbe lòt se lè tèt la se sòt de panche sou isit la pou segonn twò lwen anpil 47 00:02:36,750 --> 00:02:41,160 oswa minit pou ki vrèman yo te jis te yon opòtinite déblotché pou zanmi ou, 48 00:02:41,160 --> 00:02:44,160 epi sètènman lè bagay sa yo jwenn echanj via imel ak Dropbox ak renmen an, 49 00:02:44,160 --> 00:02:45,640 gen tou se liy lan. 50 00:02:45,640 --> 00:02:48,620 Se konsa, pa tout vle di santi yo alèz ak santi yo ankouraje chat ak zanmi 51 00:02:48,620 --> 00:02:52,810 ak kamarad klas sou psets ak plis ankò ak jis reyalize ke sa ou finalman soumèt 52 00:02:52,810 --> 00:02:57,340 ta dwe reyèlman dwe pwodwi a nan kreyasyon ou epi li pa yon lòt moun. 53 00:02:57,340 --> 00:03:00,490 Se konsa, youn nan pwoblèm ki domèn ki espesifik pou pset2, 54 00:03:00,490 --> 00:03:04,740 ki pwal vini deyò anreta lannwit demen, se plonje nan mond lan nan chifreman, 55 00:03:04,740 --> 00:03:08,970 ki se atizay la chifreman oswa eskalade enfòmasyon, 56 00:03:08,970 --> 00:03:12,600 ak sa a finalman gen rapò ak mond lan nan sekirite. 57 00:03:12,600 --> 00:03:16,560 Koulye a, sekirite pou pifò nan nou rive nan fòm la nan fòmil jistis Munden. 58 00:03:16,560 --> 00:03:19,050 Tout moun nan nou gen usernames ak modpas, 59 00:03:19,050 --> 00:03:23,450 ak tout moun nan nou gen usernames trè move ak modpas, gen plis chans. 60 00:03:23,450 --> 00:03:28,240 >> Si modpas ou se menm bagay la sou sit entènèt plizyè, sa se pwobableman pa lide a pi byen, 61 00:03:28,240 --> 00:03:30,070 kòm n ap diskite nan direksyon fen semès la. 62 00:03:30,070 --> 00:03:34,720 Si yo modpas ou ekri sou yon nòt kolan - pa gen blag - sou pou kontwole ou a, 63 00:03:34,720 --> 00:03:38,350 ki tou se pa nesesèman konsepsyon nan pi bon, men byen yon fenomèn komen. 64 00:03:38,350 --> 00:03:42,470 Men, si ou pa ap lè l sèvi avèk chifreman ankripte modpas ou a, 65 00:03:42,470 --> 00:03:44,210 yo yo frajil sitou. 66 00:03:44,210 --> 00:03:47,270 Se konsa, si ou panse w ap yo te super entelijan pa gen yon dokiman Pawòl kache 67 00:03:47,270 --> 00:03:49,910 yon kote sou kondwi difisil ou a, ki te gen tout modpas ou 68 00:03:49,910 --> 00:03:53,670 men li la nan yon folder ke pa gen okenn youn nan pral gade nan, ki twò se pa yon mekanis trè an sekirite. 69 00:03:53,670 --> 00:03:56,990 Se konsa, sa ki pset2, n ap entwodui sa a atizay nan chifreman 70 00:03:56,990 --> 00:04:02,010 ak eskalade enfòmasyon pou ke bagay sa yo tankou modpas, yo tout plis la an sekirite. 71 00:04:02,010 --> 00:04:05,790 Kontèks la isit la se ke ak done anksyeu 72 00:04:05,790 --> 00:04:07,930 vini yon opòtinite ankripte l ak Goumen li. 73 00:04:07,930 --> 00:04:11,470 Se konsa, sa a, pou egzanp, ki se yon egzanp yon mesaj chiffres. 74 00:04:11,470 --> 00:04:14,700 Sa sa a aktyèlman di yon bagay nan lang angle, men li la klèman pa nèt evidan. 75 00:04:14,700 --> 00:04:18,279 Epitou, n ap vin plen sèk jodi a toumante apa sa ki mesaj sa a isit la se sekrè. 76 00:04:18,279 --> 00:04:23,490 Men, nan mond reyèl la nan òdinatè, bagay sa yo pa menm gade tankou yo ka fraz angle. 77 00:04:23,490 --> 00:04:28,430 Pou egzanp, sa a se sa ou ta ka jwenn sou yon Linux estanda oswa Mac oswa UNIX òdinatè 78 00:04:28,430 --> 00:04:32,070 nan yon dosye ki te yon fwa sou yon tan ki rele dosye a modpas ou. 79 00:04:32,070 --> 00:04:34,200 >> Sèjousi li a te demenaje ale rete nan lòt kote. 80 00:04:34,200 --> 00:04:39,210 Men, si ou gade nan kote a dwat sou yon sistèm, ou ap wè se pa sèlman non itilizatè ou an 81 00:04:39,210 --> 00:04:43,400 oswa sa yo ki an lòt moun sou sistèm nan, men ou pral wè yon vèsyon chiffres nan modpas yo. 82 00:04:43,400 --> 00:04:47,980 Vreman vre, yo kripte nan mo gen sijere ke bagay sa yo se chiffres, 83 00:04:47,980 --> 00:04:52,680 ak sa a seri de lèt w pèdi o aza ak karaktè ak nimewo ak pou fè 84 00:04:52,680 --> 00:04:56,480 kapab dechifre sèlman pa jeneralman konnen kèk sekrè - 85 00:04:56,480 --> 00:04:58,840 yon mo sekrè a, yon nimewo sekrè - 86 00:04:58,840 --> 00:05:03,160 e konsa tout bon, atizay la chifreman finalman klou desann nan fè konfyans nan kèk sòt 87 00:05:03,160 --> 00:05:05,650 ak konnen yon bagay ke yon lòt moun fè sa ki pa. 88 00:05:05,650 --> 00:05:10,090 Se konsa, nou pral eksplore sa a nan yon ti jan plis detay jodi a ak nan pset an ap vini yo. 89 00:05:10,090 --> 00:05:12,200 Epi, koulye a yon mo sou pase / fail. 90 00:05:12,200 --> 00:05:15,360 Espesyalman tankou kèk nan ou te plonje nan pset1, Aparèy la, 91 00:05:15,360 --> 00:05:19,080 ak yon mond trè nouvo pou tèt ou, reyalize ke fristrasyon ak konfizyon 92 00:05:19,080 --> 00:05:21,700 ak jis difikilte teknik yo trè yo dwe atann, 93 00:05:21,700 --> 00:05:24,180 sitou ak pset a an premye, kote gen nan jis tèlman nouvo, 94 00:05:24,180 --> 00:05:27,730 jis ap resevwa abitye avèk ls ak cd ak tout sa yo kòmandman Esoteric 95 00:05:27,730 --> 00:05:33,050 ak yon anviwònman nouvo, e ke se separe de materyèl aktyèl la ak pwogramasyon tèt li. 96 00:05:33,050 --> 00:05:36,940 Se konsa, reyalize twò ke gen sètènman lè biwo ki egziste kòm yon estrikti sipò. 97 00:05:36,940 --> 00:05:38,880 >> Seksyon kòmanse jou Dimanch sa a ki t'ap vini. 98 00:05:38,880 --> 00:05:42,960 Men, sa ki pi enpòtan, si ou santi ke sa a se jis pa mond lan pou ou, 99 00:05:42,960 --> 00:05:44,710 reyalize ke li vrèman jis pran tan. 100 00:05:44,710 --> 00:05:48,600 Epi yo te pou li pa pou opòtinite sa a ane de sa pou m 'nan pran yon pas klas / echwe, 101 00:05:48,600 --> 00:05:50,990 franchman, mwen pa tap janm menm mete pye nan salklas la. 102 00:05:50,990 --> 00:05:53,690 Epi ou ka chanje sa a moute jouk, di, Lendi a senkyèm nan kou a, 103 00:05:53,690 --> 00:05:58,280 Se konsa, si w ap sou kwen an, koulye a, reyalize ke olye ke tèt nan kèk lòt dlo nèt, 104 00:05:58,280 --> 00:06:01,260 sètènman konsidere jis chanje yo pase / fail. 105 00:06:01,260 --> 00:06:04,570 Yon fwa ankò, gen nan pa reyèlman kilti sa a isit la nan Harvard nan pran bagay sa yo pase / fail 106 00:06:04,570 --> 00:06:08,670 depi tout moun ta vrèman renmen reyalize oswa overachieve, 107 00:06:08,670 --> 00:06:11,130 men franchman, sa a se yon fason bèl bagay pou eseye yon bagay ki soti 108 00:06:11,130 --> 00:06:16,720 ki pa kapab abitye avèk ou, epi ou pral fini fè, nan pifò ka yo, afè byen, 109 00:06:16,720 --> 00:06:18,210 petèt anpil sipriz ou a. 110 00:06:18,210 --> 00:06:20,980 Ak nan plis tèm konkrè, ki sa mwen panse pase / fail jeneralman fè, 111 00:06:20,980 --> 00:06:22,940 espesyalman kòm ou ta ka fè eksperyans avèk pset0, 112 00:06:22,940 --> 00:06:26,560 si ou mete nan 10 èdtan, 15 èdtan, 25 èdtan nan kèk pset 113 00:06:26,560 --> 00:06:29,920 ak w ap sèlman frape tèt ou kont miray la ak li nan ap resevwa super anreta nan mitan lannwit 114 00:06:29,920 --> 00:06:33,950 men ou te pran pset 90% an nan wout la epi ou jis pa kapab konnen ki yon sèl bagay, 115 00:06:33,950 --> 00:06:36,520 pase / fail reyèlman pran kwen nan koupe nan yon klas tankou sa a, 116 00:06:36,520 --> 00:06:39,100 ki kote ou ka sòt de san pwoblèm mwen tap di, "Oke, mwen konnen li pa pafè, 117 00:06:39,100 --> 00:06:42,350 Men, mwen te travay bourik mwen an nan sa a sou, mwen trè kontan ak kote li te fini, " 118 00:06:42,350 --> 00:06:44,850 ak ki pral rankontre nan ap atann pou pase / fail. 119 00:06:44,850 --> 00:06:47,540 Se konsa, kenbe sa nan tèt ou. Tout dwa. 120 00:06:47,540 --> 00:06:50,520 >> Se konsa, moun nan nou ki te plede goumen yo sèvi ak Inivèsite a Harvard Wi-Fi, 121 00:06:50,520 --> 00:06:54,780 konnen ke gen se yon ssid CS50, yon koneksyon Wi-Fi, waf alantou 122 00:06:54,780 --> 00:06:56,490 ke ou ta ka gen pi bon chans pou li a. 123 00:06:56,490 --> 00:07:00,130 Li se yon ironik ti ke modpas la pou sa a, si ou ta renmen eseye konekte ak lòt moun sa a 124 00:07:00,130 --> 00:07:08,350 pou pi bon vitès - ak fè nou konnen si li nan pa gen pi bon - se 12345, tout wout la jiska 8 125 00:07:08,350 --> 00:07:10,910 paske 8 se plis sekirite pase 5. 126 00:07:10,910 --> 00:07:16,910 Se konsa, si ou bezwen modpas la Wi-Fi, konekte nan CS50 wirelessly isit la, 12345678, 127 00:07:16,910 --> 00:07:20,380 ak pòs sou CS50 Diskite si ou toujou gen pwoblèm koneksyon tanzantan, 128 00:07:20,380 --> 00:07:25,420 epi n ap kite pouvwa yo pou yo konnen pou plas sa a. Tout dwa. 129 00:07:25,420 --> 00:07:32,230 Se konsa, yon kol rapid, espesyalman pou moun nan nou ki yo se ti gason fanatik oswa ti fi nan tout Apple bagay sa yo. 130 00:07:32,230 --> 00:07:37,460 Ki sa mwen fouye moute soti nan yon kèk ane tounen te sa a ranpli isit la, iUnlock.c, 131 00:07:37,460 --> 00:07:39,930 jis kalite fè plis konkrè ak plis konplèks 132 00:07:39,930 --> 00:07:42,560 kèk nan pwogram ki pi plis debaz C nou ve yo te ekri. 133 00:07:42,560 --> 00:07:46,910 Se konsa, mwen louvri moute sa a ranpli, iUnlock.c. Li nan ki disponib sou paj la Konferans pou jodi a. 134 00:07:46,910 --> 00:07:49,810 Ki sou bò gòch-men ou wè yon lis long nan fonksyon. 135 00:07:49,810 --> 00:07:53,230 Se konsa, parèy la ki te ekri sa a te ekri moute yon anpil nan fonksyon yo, pi plis pase jis prensipal la. 136 00:07:53,230 --> 00:07:57,340 Li te itilize yon pakèt antye nan bibliyotèk isit la, epi si nou kòmanse defile nan, 137 00:07:57,340 --> 00:08:04,890 ki sa sa a aktyèlman se trè premye, mwen kwè, krak la pou iPhone orijinal la. 138 00:08:04,890 --> 00:08:09,830 >> Lè ou te vle jaybrèk iPhone orijinal la, ki vle di untether li nan men AT & T 139 00:08:09,830 --> 00:08:13,710 ak aktyèlman enstale lojisyèl espesyal sou li epi fè bagay sa yo ke Apple pa t 'vle moun fè, 140 00:08:13,710 --> 00:08:18,480 yon moun te pran tan la konnen egzakteman kouman yo te ka esplwate defo lojisyèl, 141 00:08:18,480 --> 00:08:22,690 erè, pinèz, nan lojisyèl Apple, e konsa te fèt iUnlock.c-- 142 00:08:22,690 --> 00:08:26,760 ke si ou konpile l 'sou òdinatè w lan ak enstale li sou yon iPhone 143 00:08:26,760 --> 00:08:29,430 ki te konekte nan òdinatè w lan atravè, di, yon kab USB, 144 00:08:29,430 --> 00:08:32,450 sa a ta ba ou privilèj administratif oswa rasin sou iPhone ou 145 00:08:32,450 --> 00:08:34,620 epi kite ou fè bèl anpil tout sa ou vle. 146 00:08:34,620 --> 00:08:36,400 Se konsa, te gen sa a chat kaptivan ak jwèt sourit 147 00:08:36,400 --> 00:08:39,340 ant Apple ak rès la nan mond lan an patikilye tankou yo, tankou konpayi anpil, 148 00:08:39,340 --> 00:08:43,350 eseye fèmen bagay yo desann pou ke ou ka sèlman fè avèk li sa yo te gen entansyon. 149 00:08:43,350 --> 00:08:47,360 Men, gras a moun tankou sa a ak konpreyansyon a nan ba-nivo detay - 150 00:08:47,360 --> 00:08:50,830 ak nan ka sa a C Programming - ak yon anpil nan konstwi yo abitye 151 00:08:50,830 --> 00:08:55,280 ke nou te kòmanse jwe ak, se ou ki kapab reyèlman ogmante pyès ki nan konpitè 152 00:08:55,280 --> 00:08:59,250 nan yon fason ki ou wè anfòm e li pa nesesèman kèk antite rèstriktirasyon. 153 00:08:59,250 --> 00:09:01,600 Se konsa, pou egzanp, mwen pa gen okenn lide ki sa tout bagay sa a ap fè, 154 00:09:01,600 --> 00:09:03,580 men GetVersion son trè dwat, 155 00:09:03,580 --> 00:09:05,710 e li sanble tankou sa a se yon fonksyon ki moun sa a te ekri. 156 00:09:05,710 --> 00:09:09,250 Li pran kèk kalite nonb antye relatif kòm yon agiman, pa retounen anyen, 157 00:09:09,250 --> 00:09:13,710 men sanble li riban ak yon riban pou isit la ak yon si kondisyon, si repo kondisyon, 158 00:09:13,710 --> 00:09:16,770 ak yon jan kanmenm gen rapò ak nimewo vèsyon si nou desann, 159 00:09:16,770 --> 00:09:19,650 menm si yon anpil nan sa yo mo kle yo pral yo dwe nouvo. 160 00:09:19,650 --> 00:09:22,590 Ak gen nan yon anpil tout fonksyon nan isit la nou pat janm wè ak pa ta ka janm wè 161 00:09:22,590 --> 00:09:24,350 sou kou nan semès la. 162 00:09:24,350 --> 00:09:29,160 >> Nan fen jou a, li swiv règ yo menm ak lojik ke nou ve yo te jwe ak konsa byen lwen. 163 00:09:29,160 --> 00:09:34,340 Se konsa, sa a se byen lwen twò granmoun krak 3s ifon ou oswa 4s oswa touswit 5s jou sa yo, 164 00:09:34,340 --> 00:09:38,830 men konnen ke li nan tout anpil ki sòti nan mond sa-a ke nou te plonje nan. 165 00:09:38,830 --> 00:09:42,280 Se pou nou pran yon gade nan yon egzanp ti kras pi plis senp: 166 00:09:42,280 --> 00:09:46,260 yon sèl sa a, jis jwenn t'ap chofe moute ak kèk sentaks ak tou gen kèk lòt kalite done 167 00:09:46,260 --> 00:09:48,910 ke nou te deja pale sou, men se pa te reyèlman wè nan C. 168 00:09:48,910 --> 00:09:53,670 Sa a se yon dosye rele positive1.c, ak pou chak kòmantè yo nan tèt la, 169 00:09:53,670 --> 00:09:56,070 sa a jis mande pou yon itilizatè bay yon nimewo ki pozitif. 170 00:09:56,070 --> 00:09:59,910 Se konsa, li yon egzanp sou yon riban fè-pandan y ap, ki se bèl pou itilizatè pwogram entèaktif 171 00:09:59,910 --> 00:10:02,070 ki kote ou bezwen di itilizatè a fè yon bagay, 172 00:10:02,070 --> 00:10:05,530 ak si yo pa kolabore ou rele nan yo oswa rejte D 'yo. 173 00:10:05,530 --> 00:10:10,480 Ka nan pwen: Mwen pral fè liy 19 a 24 174 00:10:10,480 --> 00:10:14,620 toutotan itilizatè a pa ban m 'yon chif pozitif. 175 00:10:14,620 --> 00:10:21,340 Sa a detay isit la sou liy 18, poukisa Mwen deklare n pi wo a sa a loupin antye konstwi 176 00:10:21,340 --> 00:10:26,870 tankou yo te opoze a dwat pwochen nan liy 22 kote mwen aktyèlman pran swen yo ka resevwa n? Yeah. 177 00:10:26,870 --> 00:10:29,330 [Elèv] Dimansyon. >> Yeah, se konsa pwoblèm sa a nan dimansyon. 178 00:10:29,330 --> 00:10:31,770 Ak an tèm pwofàn la, ki sa ki dimansyon, al gade nan? 179 00:10:34,880 --> 00:10:41,560 Yeah. >> [Fèbl repons elèv] >> Èske ou ka pale yon ti kras pi fò? 180 00:10:41,560 --> 00:10:45,440 [Elèv] Ki kote ou kapab jwenn aksè nan varyab sa a. >> Pafè. 181 00:10:45,440 --> 00:10:47,610 Ki kote ou kapab jwenn aksè nan yon varyab patikilye. 182 00:10:47,610 --> 00:10:50,990 Epi jeneralman, règ la nan gwo pous konsa byen lwen te gen ki sijè ki abòde lan kèk varyab 183 00:10:50,990 --> 00:10:56,140 Yo defini nan aparèy òtopedik ki pi resan yo Curly ke ou te wè. 184 00:10:56,140 --> 00:11:03,070 >> Se konsa, nan ka sa a, si mwen fè erè nan deklare n sou liy 22, ki liy ta ka travay. 185 00:11:03,070 --> 00:11:10,840 Mwen ta jwenn yon int, epi mwen ta mete l 'nan ke n varyab nan liy 22, 186 00:11:10,840 --> 00:11:17,060 men ki liy nan kòd yo kounye a pwal pa gen okenn lide ki sa mwen ap pale de? >> [Elèv] 25. 187 00:11:17,060 --> 00:11:23,840 [Malan] 25, epi li vire soti 24 kòm byen paske nan ka sa a li tonbe deyò nan aparèy òtopedik yo Curly. 188 00:11:23,840 --> 00:11:28,550 Se konsa, jis yon ti kras nan yon nwuizans men trè fasil rezoud pa senpleman deklare varyab la 189 00:11:28,550 --> 00:11:30,700 deyò nan fonksyon nan tèt li. 190 00:11:30,700 --> 00:11:32,760 Nou pral wè pi ta jodi a ou ka ale yon sèl etap plis 191 00:11:32,760 --> 00:11:34,940 epi ou te kapab menm jwenn yon ti parese. 192 00:11:34,940 --> 00:11:39,660 Ak sa a se pa t 'dwe rekòmande an jeneral, men ou ta ka jwenn menm parese 193 00:11:39,660 --> 00:11:44,150 epi li mete yon varyab globalman, se konsa pale, pa andedan nan yon fonksyon, pa andedan nan yon riban, 194 00:11:44,150 --> 00:11:49,800 men nan dosye a li menm, andeyò nan tout nan fonksyon ou te ekri, menm jan mwen te fè isit la sou liyn 15. 195 00:11:49,800 --> 00:11:55,220 Sa a se jeneralman dezaprouve sou, men mwen reyalize sa a se yon solisyon pafwa ak pwoblèm lòt, 196 00:11:55,220 --> 00:11:56,910 kòm n ap pètèt wè. 197 00:11:56,910 --> 00:11:59,500 Se konsa, pou kounye a nou ap kite li tankou sa a, men kite a wè si nou ka reyekri sa a 198 00:11:59,500 --> 00:12:02,360 jis kòmanse eksprime tèt nou yon ti jan diferan. 199 00:12:02,360 --> 00:12:05,550 Pwogram sa a, jis yo dwe klè, se positive1. 200 00:12:05,550 --> 00:12:11,980 Kite m 'ale pi devan isit la ak nan fenèt tèminal mwen ki fè positive1, Antre. 201 00:12:11,980 --> 00:12:15,080 Compiles oke. Mwen pral kouri positive1, frape Mete. 202 00:12:15,080 --> 00:12:19,250 Mwen mande w ban m 'yon nonm antye ki pozitif. Mwen pral di -1. Ki pa t 'travay. 203 00:12:19,250 --> 00:12:22,340 0, 99. Ki sanble nan travay. 204 00:12:22,340 --> 00:12:25,310 Petèt pa tès ki pi rijid, men omwen li nan yon chèk saniti bèl 205 00:12:25,310 --> 00:12:27,100 ke nou se sou track dwat la. 206 00:12:27,100 --> 00:12:29,570 >> Se konsa, kounye a kite m 'ale pi devan epi louvri vèsyon 2 nan sa a, 207 00:12:29,570 --> 00:12:32,800 ak sa ki diferan deja? 208 00:12:32,800 --> 00:12:39,030 Li aplike menm bagay la, men sa ki sote soti kòm tan klèman diferan sa a? 209 00:12:40,790 --> 00:12:47,090 Sa a bouleen nan vèt. Li se make nan vèt, sa a mo kle ke yo rekonèt kòm bouleen, ki se yon kalite done. 210 00:12:47,090 --> 00:12:50,510 Li pa vini bati nan nan tout vèsyon an C. 211 00:12:50,510 --> 00:12:52,650 Ou bezwen genyen ladan yo yon bibliyotèk espesifik. 212 00:12:52,650 --> 00:12:56,460 Nan ka nou an, mwen enkli bibliyotèk la CS50 pou nou gen aksè a bouleen. 213 00:12:56,460 --> 00:12:59,860 Men, nan liy 18, nou yo sanble yo gen yon valè Boolean isit la yo rele rekonesan. 214 00:12:59,860 --> 00:13:02,190 Mwen te kapab yo te rele sa a anyen, men mwen rele l 'rekonesan 215 00:13:02,190 --> 00:13:04,750 jis kalite transmèt kèk siyifikasyon semantik. 216 00:13:04,750 --> 00:13:07,700 Se konsa, okòmansman sou liy 18, mwen aparamman pa rekonesan 217 00:13:07,700 --> 00:13:12,230 paske se valè a Boolean rekonesan inisyalizèd fo nan liy 18. 218 00:13:12,230 --> 00:13:16,500 Lè sa a, li sanble sa m 'te fè isit la nan liy 21 a 23 219 00:13:16,500 --> 00:13:19,200 se Mwen te jis kalite reekri lojik m 'yo. 220 00:13:19,200 --> 00:13:26,100 Se konsa, pa gen okenn woulant diferan, men nan liy 22 koulye a, mwen tcheke si int a te itilizatè a bay 221 00:13:26,100 --> 00:13:31,360 se pi gran pase 0, lè sa a Mwen tou senpleman chanje valè la nan rekonesan vre. 222 00:13:31,360 --> 00:13:35,590 Ak poutèt sa mwen fè sa? Paske nan liy 25, aparamman mwen pral tcheke yon kondisyon. 223 00:13:35,590 --> 00:13:39,760 Èske sa a riban pandan y ap rekonesan se fo. 224 00:13:39,760 --> 00:13:42,960 Se konsa, mwen pwopoze sa a kòm yon altènativ a vèsyon 1 225 00:13:42,960 --> 00:13:47,050 paske li nan omwen yon ti kras plis entwisyon petèt, li nan yon ti kras plis chita nan lang angle. 226 00:13:47,050 --> 00:13:51,980 Se konsa, fè bagay sa yo pandan w ap pa rekonesan oswa pandan y ap rekonesan se fo. 227 00:13:51,980 --> 00:13:56,220 Ak tan sa a twò mwen aparamman pa pran swen a sonje sa itilizatè a tape nan 228 00:13:56,220 --> 00:14:00,050 paske avi gen nan pa gen n varyab, se konsa aktyèlman, yon ti kras bay manti blan la. 229 00:14:00,050 --> 00:14:03,290 >> Woulant, pwogram nan se yon ti jan diferan yon fwa nou jwenn nan fon li 230 00:14:03,290 --> 00:14:04,960 paske mwen pa sonje sa n se. 231 00:14:04,960 --> 00:14:09,120 Men, mwen te vle demontre isit la tou, menm lè nou te wè GetInt 232 00:14:09,120 --> 00:14:13,780 ak GetString ki te itilize sou bò men dwat-ou nan yon egal siy konsa byen lwen 233 00:14:13,780 --> 00:14:17,310 pou nou sonje valè a, teknikman, sa se pa estrikteman nesesè. 234 00:14:17,310 --> 00:14:20,290 Si pou kèlkeswa rezon ou jis pa pran swen pou konsève pou valè a, 235 00:14:20,290 --> 00:14:25,540 ou jis vle tcheke valè a, remake ke nou ka senpleman ekri sa a kòm GetInt, 236 00:14:25,540 --> 00:14:27,320 ouvè paren, fèmen paren. 237 00:14:27,320 --> 00:14:30,570 Sa fonksyon ki pral retounen yon valè, menm jan nou ve yo te di. 238 00:14:30,570 --> 00:14:32,220 Li nan pral ba ou tounen yon int. 239 00:14:32,220 --> 00:14:34,460 Se konsa, si ou mantalman panse a sa kap pase, 240 00:14:34,460 --> 00:14:38,190 lè mwen tape nan 99, GetInt retounen nimewo a 99, 241 00:14:38,190 --> 00:14:41,840 ak sa concept, li la tankou si m 'te aktyèlman nan kòd sa a. 242 00:14:41,840 --> 00:14:45,950 Se konsa, si 99 se vre pi gran pase 0, lè sa a rekonesan vin vre, 243 00:14:45,950 --> 00:14:50,810 Lè sa a, liy 25 reyalize Ooh, nou ap fè paske mwen kounye a rekonesan, 244 00:14:50,810 --> 00:14:53,970 ak nan liy 26, nou tou senpleman di, "Mèsi pou nonb antye relatif pozitif la!" 245 00:14:53,970 --> 00:14:55,960 tou sa li te rive yo dwe. 246 00:14:55,960 --> 00:14:59,140 Koulye a, kite a fè ti tay sik Massachusetts Institute of Technology isit la, se konsa pale. 247 00:14:59,140 --> 00:15:04,670 Se pou nou wè si nou ka netwaye liy sa a 25 ak sa a Variant twazyèm ak dènye nan positive3. 248 00:15:04,670 --> 00:15:13,600 >> Avi diferans la sèlman kounye a se sa liy nan kòd? >> [Elèv] 25. >> [Malan] Yeah, 25. 249 00:15:13,600 --> 00:15:17,680 Epi nou pa te reyèlman wè sa a jwe fent jis ankò, men nou t 'wè nan ki pwen esklamasyon nan Lendi, 250 00:15:17,680 --> 00:15:21,070 ki vle di ki sa? >> [Elèv] Pa. >> Pa oswa negasyon. 251 00:15:21,070 --> 00:15:23,510 Se konsa, pran yon valè Boolean ak baskile valè li yo. 252 00:15:23,510 --> 00:15:25,810 Vrè vin fo, fo vin vre. 253 00:15:25,810 --> 00:15:30,420 Se konsa, sa a, mwen ta pwopoze, se menm yon ti kras pi plis entwisyon yon fason pou ekri kòd la 254 00:15:30,420 --> 00:15:33,430 paske mwen toujou inisyalize rekonesan fo, mwen toujou fè bagay sa yo, 255 00:15:33,430 --> 00:15:36,010 Mwen mete rekonesan vre lè lè a va rive, 256 00:15:36,010 --> 00:15:40,880 men kounye a ou ka vrèman jis tradwi sa a kòd vèbalman goch a dwat, 257 00:15:40,880 --> 00:15:45,630 pandan y ap (rekonesan!); paske bang oswa esklamasyon pwen vle di nosyon de pa, 258 00:15:45,630 --> 00:15:47,580 Se konsa, pandan pa rekonesan. 259 00:15:47,580 --> 00:15:49,900 Se konsa, ankò, nou pa te prezante nenpòt konsèp nouvo se pou chak. 260 00:15:49,900 --> 00:15:53,730 Nou te pale de Booleans tounen lè nou te jwe ak grafouyen, 261 00:15:53,730 --> 00:15:56,720 men mwen reyalize kounye a nou ka jis kòmanse ekri kòd nou yo nan plizyè fason diferan. 262 00:15:56,720 --> 00:16:01,060 Se konsa, espesyalman nan pset1 si ou se sòt de difikilte yo konnen ki wout la ekri kèk pwogram nan, 263 00:16:01,060 --> 00:16:04,340 akwochaj yo w ap nan chans paske gen kapab gen nenpòt ki nimewo nan solisyon 264 00:16:04,340 --> 00:16:06,110 ke ou ka rive sou li. 265 00:16:06,110 --> 00:16:10,500 Pou egzanp, sa a se jis 3 pou menm pi senp la pwogram yo. Tout dwa. 266 00:16:10,500 --> 00:16:14,200 Epi, koulye a sonje nan Lendi nou te kite sou nòt sa a ak valè retou. 267 00:16:14,200 --> 00:16:18,450 Se konsa, pou tan an trè premye nou te ekri yon pwogram ki pa jis gen prensipal la; 268 00:16:18,450 --> 00:16:22,550 li tou te gen pwòp li yo fonksyon koutim ke mwen te ekri isit la. 269 00:16:22,550 --> 00:16:26,810 Se konsa, nan liy 31 a 34 Mwen te aplike yon fonksyon kib. 270 00:16:26,810 --> 00:16:30,240 Li pa konplike. Se jis nan yon * yon * yon nan ka sa a. 271 00:16:30,240 --> 00:16:34,750 Men, sa ki enpòtan sou li se ke mwen ap pran opinyon nan fòm lan nan yon 272 00:16:34,750 --> 00:16:39,180 ak mwen retounen pwodiksyon nan fòm lan nan yon * yon * yon. 273 00:16:39,180 --> 00:16:43,560 Se konsa, koulye a, mwen gen kapasite a, anpil tankou mwen itilize yo ak prinf pou kont yo, 274 00:16:43,560 --> 00:16:47,240 yo rele sa a fonksyon lè w rele fonksyon an kib. 275 00:16:47,240 --> 00:16:51,970 >> Ak fonksyon an kib pran kèk D ', ak fonksyon nan kib retounen kèk pwodiksyon. 276 00:16:51,970 --> 00:16:56,960 Nan kontras, printf jis te fè yon bagay. 277 00:16:56,960 --> 00:17:00,840 Li pa t 'tounen anyen ke nou pran swen sou sa, menm si kòm yon sou kote li retounen yon valè; 278 00:17:00,840 --> 00:17:03,110 ou jis jeneralman inyore li. 279 00:17:03,110 --> 00:17:06,510 Printf jis te fè yon bagay. Li te gen yon efè segondè nan enprime ekran an. 280 00:17:06,510 --> 00:17:11,770 Nan kontras isit la, nou gen fonksyon an kib, ki aktyèlman retounen yon bagay. 281 00:17:11,770 --> 00:17:15,520 Se konsa, pou moun ki abitye avèk sa a, li nan yon lide san patipri senp. 282 00:17:15,520 --> 00:17:19,640 Men, pou moun mwens abitye avèk sa a lide nan pase nan entrain yo ak pou jwenn tounen sorti, 283 00:17:19,640 --> 00:17:21,950 kite a eseye jis yon bagay super senp. 284 00:17:21,950 --> 00:17:25,490 Èske nenpòt moun ki konfòtab k'ap moute sou sèn yon ti tan? 285 00:17:25,490 --> 00:17:28,040 Ou dwe konfòtab ak yon kamera sou ou tankou byen. Yeah? Oke. 286 00:17:28,040 --> 00:17:31,240 Ki sa ki nan non ou? >> [Elèv] Ken. >> Ken. Tout dwa. Ken, vini sou yo. 287 00:17:31,240 --> 00:17:35,050 Ken a pwal yon fonksyon nan kalite isit la. 288 00:17:35,050 --> 00:17:38,720 Se pou nou ale pi devan epi fè sa. Se pou nou jwenn yon anpenpan ti kras. 289 00:17:38,720 --> 00:17:42,260 Bèl al kontre ou. Byenveni nan sant etap yo. Tout dwa. 290 00:17:42,260 --> 00:17:46,640 Se pou nou frape bouton sa-a isit la. Tout dwa. 291 00:17:46,640 --> 00:17:49,820 Se konsa, isit la ou gen yon tablo modèn, 292 00:17:49,820 --> 00:17:53,470 ak sa m 'ye a se fonksyon prensipal, pou egzanp, 293 00:17:53,470 --> 00:17:56,460 epi mwen pa gen yon iPad nan men m '. 294 00:17:56,460 --> 00:17:59,710 >> Mwen pa reyèlman sonje ki jan yo - Enben, mwen pa ka di sa. 295 00:17:59,710 --> 00:18:02,480 Mwen pa vrèman gen bon ekriti, 296 00:18:02,480 --> 00:18:05,520 e konsa Se poutèt sa mwen vle nou enprime yon bagay sou ekran an pou mwen. 297 00:18:05,520 --> 00:18:12,040 Mwen ke yo te pwogram nan prensipal yo, ak mwen pral gen ou di sa a 298 00:18:12,040 --> 00:18:16,720 pa ekri l 'nan grafouyen poul mwen yo ak Lè sa a, pase ou yon antre. 299 00:18:16,720 --> 00:18:20,400 Se konsa, enbesil menm si sa a fè egzèsis se, nosyon de fonksyon ak rele yon fonksyon 300 00:18:20,400 --> 00:18:22,400 epi retounen yon fonksyon reyèlman klou desann nan sa a. 301 00:18:22,400 --> 00:18:26,260 Se mwen menm prensipal yo, mwen te jis ekri printf, quote-unquote yon bagay sou ekran an, 302 00:18:26,260 --> 00:18:29,110 Mwen kouri pwogram sa a, ak le pli vit ke printf vin rele, 303 00:18:29,110 --> 00:18:32,880 li pran yon sèl agiman oswa yon sèl paramèt pafwa ant quotes doub. 304 00:18:32,880 --> 00:18:35,880 Isit la se ke agiman. Mwen pase li nan Ken. 305 00:18:35,880 --> 00:18:39,020 Li se yon bwat nwa ekri kèk nimewo de zan de sa 306 00:18:39,020 --> 00:18:41,510 ki aparamman sèlman konnen ki jan yo enprime bagay sa yo sou ekran an. 307 00:18:41,510 --> 00:18:43,150 Se konsa, egzekite. 308 00:18:49,280 --> 00:18:51,280 Sa se pa move. Li bon anpil. 309 00:18:51,280 --> 00:18:55,510 Se konsa, kounye a Ken a se fè pwomenad. li bezwen lage m 'anyen tounen ankò? 310 00:18:55,510 --> 00:18:57,470 Se pa ke nou te wè konsa byen lwen. 311 00:18:57,470 --> 00:19:00,460 Yon fwa ankò, printf aktyèlman retounen yon nimewo, men nou ap ale nan inyore ki pou kounye a 312 00:19:00,460 --> 00:19:03,470 paske nou pa janm te itilize li. Se konsa, sa a, se li pou Ken. 313 00:19:03,470 --> 00:19:08,580 Se konsa, kounye a prensipal pran plis pase kontwòl nan pwogram nan ankò 314 00:19:08,580 --> 00:19:11,060 paske sa liy nan kòd, printf, se fè pwomenad. 315 00:19:11,060 --> 00:19:14,050 E nou ale sou fason nou an, kèlkeswa sa pwomenad liy lòt la tou. 316 00:19:14,050 --> 00:19:17,320 Se konsa, kounye a kite a eseye yon egzanp yon ti kras diferan. 317 00:19:17,320 --> 00:19:24,940 Fwa sa a, isit la kite a premye klè ekran an, ak tan sa a, n ap fè fonksyon an cubing, 318 00:19:24,940 --> 00:19:27,080 men fwa sa a, Mwen atann mwen ke yon valè randman. 319 00:19:27,080 --> 00:19:29,180 >> Se konsa, kite a ale pi devan epi fè sa. 320 00:19:29,180 --> 00:19:35,790 Koulye a, mwen gen yon liy nan kòd ki di x ap vin kib pou x. 321 00:19:41,370 --> 00:19:46,370 Liy lan nan kòd, sonje, sanble sa a: x = kib (x); 322 00:19:46,370 --> 00:19:50,930 Se konsa, kouman sa a ale nan travay? Se pou nou ale pi devan epi ba ou yon ekran blan ankò. 323 00:19:50,930 --> 00:19:54,070 Mwen pral ekri kounye a valè x, 324 00:19:54,070 --> 00:20:01,400 ki nan moman sa a nan tan k ap pase yo, se pou yo di, 2 kenbe li senp. 325 00:20:01,400 --> 00:20:06,150 Mwen te ekri desann sou yon moso papye valè a nan 2, ki se x valè m 'yo. 326 00:20:06,150 --> 00:20:10,920 Mwen lage li nan Ken. >> Apre sa, mwen jis ekri repons la? >> Yeah, kite yo jis ekri repons la. 327 00:20:12,760 --> 00:20:18,940 Oke. Epi, koulye a li gen retounen m 'yon bagay. Pafè. Bèl seg. 328 00:20:18,940 --> 00:20:23,120 Se konsa, koulye a, li men m 'tounen valè a nan 8 nan ka sa a, e ki sa m' fè ak li? 329 00:20:23,120 --> 00:20:28,250 Aktyèlman - kite a wè, jwenn sa a dwat. Kisa mwen pwal fè avèk li? 330 00:20:28,250 --> 00:20:33,440 Koulye a, mwen pral pran sa a valè ak aktyèlman mete yo nan sa yo Bits menm nan memwa. 331 00:20:33,440 --> 00:20:35,170 Men, remake mwen kalite difikilte isit la. 332 00:20:35,170 --> 00:20:38,210 Mwen se yon ti kras konfonn paske kote mwen aktyèlman ekri valè x, 333 00:20:38,210 --> 00:20:43,150 paske sa Mwen te jis fè se fizikman men Ken yon moso papye ki te gen valè a 2, 334 00:20:43,150 --> 00:20:46,590 ki te x, ak tout bon, ki nan pwesizeman sa ki te pase a. 335 00:20:46,590 --> 00:20:50,210 Se konsa, li sanble ke lè w rele fonksyon an, epi ou pase nan yon agiman 336 00:20:50,210 --> 00:20:53,290 tankou hello, mond oswa ou pase nan yon agiman tankou 2, 337 00:20:53,290 --> 00:20:57,110 jeneralman, w ap pase nan yon kopi ki agiman. 338 00:20:57,110 --> 00:21:00,730 Se konsa, menm jan mwen te ekri desann nimewo 2 a isit la epi lage li nan Ken, 339 00:21:00,730 --> 00:21:04,720 ki dwe vle di ke mwen toujou gen yon kopi valè a 2 yon kote 340 00:21:04,720 --> 00:21:08,890 paske tout bon, kounye a ke mwen te vinn tounen valè a 8, mwen bezwen ale tounen nan RAM 341 00:21:08,890 --> 00:21:12,130 ak aktyèlman ekri 8 kote mwen yon fwa te gen nimewo 2 a. 342 00:21:12,130 --> 00:21:16,950 Se konsa, vizyèlman, sonje sa a nosyon nan pase nan, literalman, yon kopi valè an. 343 00:21:16,950 --> 00:21:20,780 >> Ken fè bagay li yo, men m 'tounen yon bagay - nan ka sa a yon valè tankou 8 - 344 00:21:20,780 --> 00:21:24,980 ak Lè sa a, mwen gen fè yon bagay ak ki valè si mwen vle kenbe l 'alantou. 345 00:21:24,980 --> 00:21:29,650 Se konsa, tout bagay sa yo ap tounen yo dwe tout twò abitye anvan lontan. 346 00:21:29,650 --> 00:21:34,920 Mèsi anpil pou sa a Demo isit la, Ken. [Aplodisman] 347 00:21:34,920 --> 00:21:36,920 Trè byen fè. 348 00:21:36,920 --> 00:21:42,690 Ann gade pou wè ki jan ki finalman gen rapò ak kèk nan fonksyon an rele nou pou nou te toujou ap fè isit la. 349 00:21:42,690 --> 00:21:47,910 Kite m 'ale pi devan epi pote nou tounen nan egzanp lan cubing isit la. 350 00:21:47,910 --> 00:21:53,300 Remake si nou vle aktyèlman kòmanse pran sa a pi lwen, 351 00:21:53,300 --> 00:21:57,570 nou pral gen yo dwe bliye nan lefèt ke x la nimewo ki nan ke yo te ki te pase nan isit la 352 00:21:57,570 --> 00:22:01,530 se diferan de sa ki la aktyèlman ke yo te ki te pase nan fonksyon an. 353 00:22:01,530 --> 00:22:05,880 Se konsa, ankò, sa a pas pa kopi ki pral vin byen alye nan jis moman yon. 354 00:22:05,880 --> 00:22:09,580 Se pou nou pran yon gade nan yon bagay ki pa byen travay dwa ankò. 355 00:22:09,580 --> 00:22:13,250 Mwen pral ale pi devan epi louvri yon egzanp buggy twazyèm, ki se defekte pa nati, 356 00:22:13,250 --> 00:22:18,550 ak sa yo rele buggy3 epi li mete sou pye yon fonksyon échanjé. 357 00:22:18,550 --> 00:22:25,110 Isit la nou gen yon fonksyon prensipal ki te x ak y abitrèman inisyalizèd 1 ak 2, respektivman. 358 00:22:25,110 --> 00:22:27,700 Nou te ka itilize GetInt, men nou jis bezwen yon egzèsis ki senp, 359 00:22:27,700 --> 00:22:30,170 Se konsa li difisil-kode kòm 1 ak 2. 360 00:22:30,170 --> 00:22:35,340 Nan liy 21 ak 22, nou aparamman enprime soti x ak y, 1 pou chak liy. 361 00:22:35,340 --> 00:22:39,720 Lè sa a, sou liy 23, mwen reklame mwen échanjé valè sa yo, dot, dot, dot. 362 00:22:39,720 --> 00:22:44,170 Mwen aparamman rele yon fonksyon nan liy 24 rele swap ki pran 2 agiman. 363 00:22:44,170 --> 00:22:48,300 Li nan totalman legi pou fonksyon yo pran 2 agiman. Nou te wè printf fè li deja. 364 00:22:48,300 --> 00:22:51,830 >> Se konsa, swap aparamman pran x ak y, e kòm non li sijere, 365 00:22:51,830 --> 00:22:54,670 Mwen ta espere ke li pral boukante valè sa yo 2. 366 00:22:54,670 --> 00:23:00,090 Se konsa, Lè sa a, mwen reklame sou liy 25 "échanges!" epi mwen Reprint x ak y 367 00:23:00,090 --> 00:23:03,070 anba sipozisyon nan yo ke yo te tout bon yo te échanges. 368 00:23:03,070 --> 00:23:06,080 Men, si mwen aktyèlman kouri pwogram sa a - kite m 'louvri moute yon fenèt tèminal, 369 00:23:06,080 --> 00:23:09,860 kite m 'fè buggy3 - kòm non an sijere, sa a pa pral mete fen nan byen 370 00:23:09,860 --> 00:23:15,770 paske lè m 'frape Antre, avi ke x se 1, y se 2, 371 00:23:15,770 --> 00:23:19,420 e ankò nan fen pwogram nan, yo toujou, an reyalite, menm bagay la. 372 00:23:19,420 --> 00:23:22,960 Se konsa, ki baze sou demonstrasyon an jis kounye a ak Ken, ki sa ki la aktyèlman ale sou? 373 00:23:22,960 --> 00:23:28,710 Se pou nou plonje nan sa a fonksyon swap. Li nan super kout. Li nan sèlman yon liy kèk nan kòd long. 374 00:23:28,710 --> 00:23:34,520 Men, sa ki nan pwoblèm nan fondamantal ki baze sou istwa a te di ki senp moute isit la ak Ken? 375 00:23:34,520 --> 00:23:36,670 Poukisa se swap kase? 376 00:23:36,670 --> 00:23:39,660 [Elèv] Ou ap estoke nan yon kopi, pa varyab la. 377 00:23:39,660 --> 00:23:43,980 Egzakteman. Nou ap estoke nan yon kopi, pa varyab la li menm. 378 00:23:43,980 --> 00:23:47,170 Nan lòt mo, swap aparamman pran 2 agiman, yon int, 379 00:23:47,170 --> 00:23:49,370 ak li a abitrèman yo te rele yon b, epi, 380 00:23:49,370 --> 00:23:54,420 ak moute isit la mwen te ki te pase nan x ak y yo, ki se respektivman 1 ak 2, 381 00:23:54,420 --> 00:23:58,770 men mwen pa literalman pase nan x, mwen pa literalman pase nan y, 382 00:23:58,770 --> 00:24:01,450 Mwen pase yon kopi x ak yon kopi y. 383 00:24:01,450 --> 00:24:04,510 Li nan prèske tankou si ou kopye ak kole nan swap 384 00:24:04,510 --> 00:24:07,810 valè yo ke w vle l 'bay aktyèlman manipile. 385 00:24:07,810 --> 00:24:14,480 Se konsa, si sa a, se ka a, lè m 'nan kòmansman an pwogram pwomenad liy 35 Lè sa a, 36, 386 00:24:14,480 --> 00:24:18,650 lè m 'rive nan liy 37, nan pwen sa a nan istwa a, ki sa ki valè a nan yon? 387 00:24:21,040 --> 00:24:25,050 Nan pwen sa a nan istwa a, liy 37, ki valè a nan yon nan pwen sa a? >> [Elèv] 1. 388 00:24:25,050 --> 00:24:29,280 [Malan] Li ta dwe jis pou 1, dwa, paske x te pase nan kòm agiman a an premye, 389 00:24:29,280 --> 00:24:33,080 ak sa a fonksyon jis abitrèman ap rele agiman premye li yo yon. 390 00:24:33,080 --> 00:24:38,200 Menm jan an se y agiman, dezyèm lan, epi li jis abitrèman rele b nan agiman dezyèm fwa. 391 00:24:38,200 --> 00:24:40,990 >> Sa a se dikotomi aktyèlman jistis tou senpleman eksplike. Reflechi sou li. 392 00:24:40,990 --> 00:24:43,320 Okenn nan nou gen te rankontre moun ki te ekri printf, 393 00:24:43,320 --> 00:24:50,770 Se konsa siman, li oubyen li pa gen okenn lide ki sa varyab nou an 30 ane pita yo pral yo dwe rele. 394 00:24:50,770 --> 00:24:56,650 Se konsa, gen te gen yon diferans ant sa ou rele varyab nan fonksyon w ap ekri 395 00:24:56,650 --> 00:25:02,080 ak sa ou rele varyab nan fonksyon w ap rele oswa lè l sèvi avèk. 396 00:25:02,080 --> 00:25:05,340 Se konsa, nan lòt mo, mwen te ekri varyab mwen kòm x ak y, 397 00:25:05,340 --> 00:25:08,890 Men, si te yon lòt moun ekri fonksyon an swap, li oubyen li sètènman pa ta renmen konnen 398 00:25:08,890 --> 00:25:10,690 ki sa varyab m 'yo pral rele, 399 00:25:10,690 --> 00:25:13,830 Se konsa reyalize ke sa a se poukisa ou gen sa a duality nan non. 400 00:25:13,830 --> 00:25:16,750 Teknikman, mwen te kapab fè sa a pa konyensidans, 401 00:25:16,750 --> 00:25:20,080 men yo ta dwe toujou ki te pase nan kòm kopi. 402 00:25:20,080 --> 00:25:23,650 Li ta jis pou yon konyensidans pi estetik si moun sa a ki te ekri swap 403 00:25:23,650 --> 00:25:26,150 te itilize non yo menm. 404 00:25:26,150 --> 00:25:32,370 Se konsa, nan pwen sa a nan istwa a, liy 37, yon se 1, b se 2, ak koulye a, mwen kontinye nan boukante yo. 405 00:25:32,370 --> 00:25:34,900 Premye a tout, kite m 'aktyèlman fè sa a pi plis tou senpleman. 406 00:25:34,900 --> 00:25:36,690 Mwen pa konnen sa moun liy 3 nan kòd yo te fè a. 407 00:25:36,690 --> 00:25:41,210 Kite m 'jis fè sa a: b = yon; yon = b; fè. 408 00:25:41,210 --> 00:25:44,690 Poukisa se sa a kase, lojikman? 409 00:25:46,490 --> 00:25:48,900 Li nan kalite bagay la entwisyon, dwa? 410 00:25:48,900 --> 00:25:52,560 Se konsa, yon b pran ak b vin tounen yon, 411 00:25:52,560 --> 00:25:57,730 men pwoblèm nan se ke le pli vit ke liy 37 ègzekutra, sa ki nan valè a nan yon b ak? 412 00:25:57,730 --> 00:26:03,410 Menm bagay la tou, 1, paske ou te clobbered, se konsa pale, ou te chanje b egal a yon. 413 00:26:03,410 --> 00:26:08,890 Se konsa, yon fwa ke liy 37 egzekite, ki nan gwo, ou kounye a gen 2 kopi nimewo a 1 414 00:26:08,890 --> 00:26:13,350 andedan nan fonksyon sa a, se konsa Lè sa a, lè w di nan liy 38 yon = b, 415 00:26:13,350 --> 00:26:17,640 w ap kalite vise paske w ap sèlman plase 1 a 1. 416 00:26:17,640 --> 00:26:20,580 Ou te kalite pèdi valè a ou pran swen sou yo. 417 00:26:20,580 --> 00:26:23,220 Se konsa, nan vèsyon orijinal la nan sa a, remake sa mwen te fè. 418 00:26:23,220 --> 00:26:26,850 Mwen olye te gen yon liy twazyèm nan kòd ki te sanble ak sa a. 419 00:26:26,850 --> 00:26:28,580 Mwen deklare yon varyab tanporè. 420 00:26:28,580 --> 00:26:32,170 >> Tan se yon non trè komen pou yon varyab tanporè, ak li nan yon int 421 00:26:32,170 --> 00:26:34,580 paske li gen matche ak sa m 'vle fè yon kopi. 422 00:26:34,580 --> 00:26:39,770 Mwen sere kopi yon andedan nan tan, se konsa yon fwa ke liy 37 egzekite, 423 00:26:39,770 --> 00:26:45,860 valè a nan yon se - chèk rapid saniti - 1, valè b se 2, 424 00:26:45,860 --> 00:26:48,970 ak valè a nan tan tou se 1. 425 00:26:48,970 --> 00:26:52,060 Se konsa, koulye a, mwen egzekite liy 38. 426 00:26:52,060 --> 00:27:00,540 Yon fwa liy 38 ègzekutra, yon pran sou valè a pou b. Ak b, se te 2 Se konsa, yon se kounye a 2. 427 00:27:00,540 --> 00:27:05,210 Se konsa, nan pwen sa a nan istwa a, yon se 2, b se 2, ak tan se 1, 428 00:27:05,210 --> 00:27:11,060 konsa koulye a lojikman, nou kapab valè jis plok tan la nan b ak nou ap fè. 429 00:27:11,060 --> 00:27:12,800 Se konsa, nou te rezoud pwoblèm sa a. 430 00:27:12,800 --> 00:27:17,720 Malerezman, lè m 'kouri pwogram sa a nan fòm sa a, li pa aktyèlman swap nenpòt valè. 431 00:27:17,720 --> 00:27:20,100 Men, yo dwe klè, poukisa? 432 00:27:23,660 --> 00:27:26,450 Mwen fiks pwoblèm nan ki lojik ki soti nan jis yon ti moman de sa, 433 00:27:26,450 --> 00:27:31,020 men ankò, si mwen kouri pwogram sa a, x ak y rete san okenn chanjman 434 00:27:31,020 --> 00:27:33,310 nan fen ekzekisyon pwogram nan. 435 00:27:33,310 --> 00:27:37,220 [Fèbl kòmantè elèv] >> Nou pa t 'tounen anyen, se konsa sa a, se vre. 436 00:27:37,220 --> 00:27:39,670 Men, li vire soti gen nan yon ti jan nan yon pwoblèm isit la paske konsa byen lwen, 437 00:27:39,670 --> 00:27:44,170 bagay la sèlman nou te kapab retounen se yon sèl bagay, e sa se yon restriksyon nan C. 438 00:27:44,170 --> 00:27:49,070 Ou kapab sèlman retounen vrèman yon sèl valè, nan ka sa a mwen kalite kole isit la 439 00:27:49,070 --> 00:27:53,310 paske mwen te kapab retounen valè a nouvo sou x oswa mwen te kapab retounen valè a nouvo sou y, 440 00:27:53,310 --> 00:27:55,190 men mwen vle tou de tounen. 441 00:27:55,190 --> 00:27:58,650 Se konsa, retounen se pa sa solisyon an senp isit la. 442 00:27:58,650 --> 00:28:01,710 Men, pwoblèm lan se fondamantalman poukisa? Ki sa nou aktyèlman échanges? 443 00:28:01,710 --> 00:28:04,190 [Elèv] a ak b. >> A ak b. 444 00:28:04,190 --> 00:28:08,230 Men, a ak b se kopi x ak y, ki vle di nou jis te fè tout bagay sa yo travay, 445 00:28:08,230 --> 00:28:11,650 nou jis te pase 3 minit ap pale de fonksyon an swap ak tout 3 nan sa yo varyab, 446 00:28:11,650 --> 00:28:15,420 ak sa a, se gwo, parfe kòrèk nan izòlman, 447 00:28:15,420 --> 00:28:20,740 men yon ak anviwonman b a sèlman se nan liy sa yo isit la. 448 00:28:20,740 --> 00:28:24,790 >> Se konsa, jis tankou yon riban pou, si ou deklare yon nonb antye relatif mwen andedan an pou riban, 449 00:28:24,790 --> 00:28:28,760 Menm jan tou, si w ap deklare a ak b andedan yon fonksyon ke ou te ekri, 450 00:28:28,760 --> 00:28:33,320 yo ap valab sèlman andedan nan ki fonksyon, ki vle di le pli vit ke swap a se fè pwomenad 451 00:28:33,320 --> 00:28:38,470 ak nou ale nan liy 24 nan liy 25, x ak y pa te chanje nan tout. 452 00:28:38,470 --> 00:28:42,790 Ou jis gaspiye yon anpil tout tan échanjé kopi varyab. 453 00:28:42,790 --> 00:28:47,010 Se konsa, li sanble ke solisyon an sa a se aktyèlman ki pa klè. 454 00:28:47,010 --> 00:28:50,670 Li pa byen ase retounen valè paske nou ka sèlman retounen 1 valè, 455 00:28:50,670 --> 00:28:53,470 e mwen reyèlman vle swap tou de x ak y nan menm tan an, 456 00:28:53,470 --> 00:28:55,210 pou nou pwal gen pou tounen nan sa a. 457 00:28:55,210 --> 00:29:01,020 Men, pou kounye a, reyalize ke pwoblèm nan fondamantalman sòti de la lefèt ke a ak b se kopi 458 00:29:01,020 --> 00:29:03,630 ak yo nan dimansyon pwòp yo. 459 00:29:03,630 --> 00:29:05,050 Se pou nou eseye rezoud sa a nan kèk fason. 460 00:29:05,050 --> 00:29:11,250 Kite m 'tounen isit la aktyèlman woulo liv ak louvri moute, kite la di, yon Variant katriyèm sa a, buggy4. 461 00:29:11,250 --> 00:29:13,370 Ki sa ki sou sa a? 462 00:29:13,370 --> 00:29:17,810 Sa a se yon pwoblèm ki sanble men ki pi senp gade nan anvan nou pran yon koud nan rezoud li. 463 00:29:17,810 --> 00:29:24,190 Sa a se pwogram yo rele kantite, epi li aparamman inisyalizasyon yon nonb antye relatif x nan 1 nan liy 18. 464 00:29:24,190 --> 00:29:28,150 Mwen Lè sa a, reklame x se 1, mwen Lè sa a, reklamasyon "Incrementing ..." 465 00:29:28,150 --> 00:29:33,730 Mwen Lè sa a, rele kantite, men Lè sa a, nan liy 22 ak 23, mwen reklame li nan te enkremante, 466 00:29:33,730 --> 00:29:40,220 Mwen reklame x se kounye a tou sa li se - 2, prezimableman - men pwogram sa a se buggy. 467 00:29:40,220 --> 00:29:42,610 Ki sa ki nan pwoblèm nan? 468 00:29:43,440 --> 00:29:50,160 Yeah. >> [Fèbl repons elèv] >> Egzakteman. 469 00:29:50,160 --> 00:29:52,490 Se konsa, x ki te deklare, evidamman, sou liy 18. 470 00:29:52,490 --> 00:29:54,700 Sa a se andedan aparèy òtopedik Curly prensipal la. 471 00:29:54,700 --> 00:29:58,440 Se konsa, repons lan senp isit la se ke pandan ke x egziste isit la, 472 00:29:58,440 --> 00:30:03,930 li pa egziste nan liy 32, se konsa pwogram sa a aktyèlman pa pral menm konpile. 473 00:30:03,930 --> 00:30:07,940 Du a, lè mwen eseye konpile sa a kòd ki pral rele nan m ' 474 00:30:07,940 --> 00:30:14,100 sou kèk idantifyan sekrè oswa yon bagay sou sa. An reyalite, se pou yo eseye. 475 00:30:14,100 --> 00:30:18,470 Sa a se fè buggy4. Gen li ye. 476 00:30:18,470 --> 00:30:22,110 Sèvi ak nan 'x' sekrè idantifyan nan liy 32. 477 00:30:22,110 --> 00:30:25,580 Ak aktyèlman, se pou yo gen plis eksplisit isit la jodi a se konsa ke sa a se itil 478 00:30:25,580 --> 00:30:27,580 nan lè biwo louvri ak nan kay la. 479 00:30:27,580 --> 00:30:29,300 >> Remake li nan yon ti kras cryptically ekri. 480 00:30:29,300 --> 00:30:37,270 Men, lefèt ke rezone gen rele nan nou, li di buggy4.c: 32:5, se aktyèlman itil. 481 00:30:37,270 --> 00:30:42,050 Sa vle di ke erè a se sou liy 32 nan pozisyon karaktè 5. 482 00:30:42,050 --> 00:30:46,700 Se konsa, 1, 2, 3, 4, 5. Sa a se, an reyalite, kote pwoblèm lan se. 483 00:30:46,700 --> 00:30:49,790 Epi tou li, tou, kenbe nan tèt ou nan lè biwo louvri ak nan kay la, mwen gen chans isit la. 484 00:30:49,790 --> 00:30:52,990 Mwen gen yon erè. Li k ap pase yo dwe relativman fasil yo ranje. 485 00:30:52,990 --> 00:30:55,990 Men, si ou jwenn yon ekran tout plen ak mesaj erè boulvèsan, 486 00:30:55,990 --> 00:31:00,330 ankò reyalize ke yon sèl la bottommost ta ka jis pou sentòm nan yon sèl la topmost. 487 00:31:00,330 --> 00:31:03,450 Se konsa, toujou kouri dèyè desann pinèz ou soti nan tèt anba 488 00:31:03,450 --> 00:31:05,820 paske se la ta ka jis gen yon efè chèn flè magerit 489 00:31:05,820 --> 00:31:09,240 ki sijere ou gen fason plis pwoblèm ke ou aktyèlman fè. 490 00:31:09,240 --> 00:31:15,150 Se konsa, kouman nou ta ka ranje sa a si objektif mwen se kantite x? >> [Elèv] Fè x mondyal. 491 00:31:15,150 --> 00:31:17,060 Okay, pou nou ka fè x mondyal. 492 00:31:17,060 --> 00:31:20,480 Kite a pran rakoursi nan ke mwen te avèti sou pi bonè, men èk, nou jis bezwen yon ranje rapid, 493 00:31:20,480 --> 00:31:25,730 se konsa kite yo jis di x int moute isit la. Ki fè x mondyal. 494 00:31:25,730 --> 00:31:31,800 Se konsa, kounye a prensipal gen aksè a li epi li kantite gen aksè a li, 495 00:31:31,800 --> 00:31:34,110 e konsa, kite m 'ale pi devan epi pou konpile tout sa a kounye a. 496 00:31:34,110 --> 00:31:37,630 Fè buggy4, Antre. Sanble yo konpile kounye a. 497 00:31:37,630 --> 00:31:41,230 Se pou nou kouri buggy4. Li sanble vin aktyèlman ap travay. 498 00:31:41,230 --> 00:31:45,150 Sa a se youn nan bagay sa yo ki nan fè menm bagay mwen di, se pa kòm m 'fè, 499 00:31:45,150 --> 00:31:47,010 kòm Mwen te jis fè isit la, paske an jeneral, 500 00:31:47,010 --> 00:31:50,440 pwogram nou yo ale nan jwenn pi plis enteresan ak pi lontan ankò pase sa a, 501 00:31:50,440 --> 00:31:56,390 epi si solisyon ou a pwoblèm lavi a se jis mete tout varyab yo nan tèt la nan dosye ou a, 502 00:31:56,390 --> 00:31:59,690 trè vit pwogram jwenn horrifically difisil jere. 503 00:31:59,690 --> 00:32:02,190 Li vin pi difisil yo panse moute nouvo non varyab, 504 00:32:02,190 --> 00:32:05,240 li vin pi difisil a konprann ki sa varyab ap fè sa, 505 00:32:05,240 --> 00:32:08,460 ak sa an jeneral, sa a se pa yon solisyon bon. 506 00:32:08,460 --> 00:32:10,030 Se konsa, kite a fè sa pi byen. 507 00:32:10,030 --> 00:32:12,160 Nou pa vle sèvi ak yon varyab mondyal isit la. 508 00:32:12,160 --> 00:32:16,240 >> Mwen vle kantite x, se konsa mwen te kapab evidamman - 509 00:32:16,240 --> 00:32:18,670 nan fen jou a, sa a se kalite yon istwa komik paske nou jis fè sa a - 510 00:32:18,670 --> 00:32:24,450 Men, si mwen pa t 'konnen sou ki operatè oswa mwen pa te pèmèt li chanje li nan prensipal tèt li, 511 00:32:24,450 --> 00:32:30,730 konbyen lòt bagay te kapab mwen aplike Ken sou isit la tan sa a pa kib, men yo kantite? 512 00:32:31,380 --> 00:32:33,190 Kouman pou mwen chanje bagay sa a isit la? Yeah. 513 00:32:33,190 --> 00:32:38,480 [Elèv] Pase nan x ak Lè sa a, retounen [fèbl] >> Okay, bon. 514 00:32:38,480 --> 00:32:41,900 Se konsa, poukisa m pa pase nan x ak Lè sa a, olye ke retounen li, 515 00:32:41,900 --> 00:32:44,870 poukisa m pa jis retounen x + 1. 516 00:32:44,870 --> 00:32:47,710 Yon koup plis bagay oblije chanje isit la. Mwen sou track dwat la. 517 00:32:47,710 --> 00:32:49,770 Ki lòt bagay mwen bezwen ajistè? Yon lòt moun. Yeah. 518 00:32:49,770 --> 00:32:51,740 [Fèbl repons elèv] 519 00:32:51,740 --> 00:32:54,730 Mwen bezwen chanje kalite a retounen nan kantite paske li pa anile. 520 00:32:54,730 --> 00:32:57,780 Se pa gen anyen vle di ke yo te anile tounen, men byen klè kounye a li, 521 00:32:57,780 --> 00:32:59,830 kidonk sa a bezwen chanje pou - >> [elèv] int. 522 00:32:59,830 --> 00:33:02,740 Int yo dwe konsistan avèk tou sa m ap aktyèlman retounen. 523 00:33:02,740 --> 00:33:05,180 Koulye a, yon lòt bagay se toujou buggy isit la. Yeah. 524 00:33:05,180 --> 00:33:08,400 [Fèbl repons elèv] >> [Malan] Se konsa, mwen bezwen kantite x? 525 00:33:08,400 --> 00:33:12,080 [Fèbl repons elèv] >> [Malan] Ah, se konsa mwen bezwen pase x. 526 00:33:12,080 --> 00:33:16,660 Se konsa, mwen bezwen fè sa a isit la. >> [Fèbl kòmantè elèv] 527 00:33:16,660 --> 00:33:20,050 [Malan] Se konsa, pwototip a, mwen gen chanje sa a moute isit la. 528 00:33:20,050 --> 00:33:22,930 Se konsa, sa a te vin tounen yon int, sa a gen yo vin - 529 00:33:22,930 --> 00:33:25,620 hmm, mwen gen aktyèlman yon ensèk desann isit la. Se pou nou ranje yon sèl sa a an premye. 530 00:33:25,620 --> 00:33:29,590 Kisa mwen ta dwe sa sa a aktyèlman ta dwe ye? Li nan te resevwa yo dwe genyen yon yon bagay int. 531 00:33:29,590 --> 00:33:32,700 Li ta ka x, men franchman, si w kòmanse rele tout x varyab ou a, 532 00:33:32,700 --> 00:33:35,390 li nan pral jwenn pi piti ak mwens klè ki se ki. 533 00:33:35,390 --> 00:33:39,560 >> Se konsa, kite a jis abitrèman chwazi yon konvansyon nonmen diferan pou fonksyon vin ede mwen, 534 00:33:39,560 --> 00:33:41,940 fonksyon yo mwen ekri. Nou pral rele li yon, oswa nou te ka rele li - 535 00:33:41,940 --> 00:33:45,010 Se pou nou rele li nimewo yo dwe menm plis eksplisit. 536 00:33:45,010 --> 00:33:47,560 Se konsa, Lè sa a, mwen gen retounen tou sa nimewo a se plis 1, 537 00:33:47,560 --> 00:33:50,740 e kounye a, mwen gen chanje 1 lòt bagay moute isit la epi yon lòt bagay moute isit la. 538 00:33:50,740 --> 00:33:54,350 Kisa mwen gen chanje sou liy 21 an premye? >> [Fèbl repons elèv] 539 00:33:54,350 --> 00:33:57,610 [Malan] mwen gen yo asiyen li nan x. Mwen pa ka jis rele kantite (x). 540 00:33:57,610 --> 00:34:01,960 Mwen bezwen sonje repons lan pa chanje valè x ki sou bò gòch-men yo. 541 00:34:01,960 --> 00:34:04,680 E menm si x se kounye a sou bò gòch la ak dwa, sa se an totalman amann 542 00:34:04,680 --> 00:34:08,860 paske vin bò a men dwat-ou egzekite premye Lè sa a, vin plopped nan bagay la sou bò gòch - 543 00:34:08,860 --> 00:34:10,600 x nan ka sa a. 544 00:34:10,600 --> 00:34:12,159 Lè sa a, anfen, sa a se yon ranje fasil kounye a. 545 00:34:12,159 --> 00:34:17,230 Sa a ta dwe jis matche ak sa ki nan desann anba a, nimewo int. 546 00:34:17,230 --> 00:34:20,570 Se konsa, yon pakèt antye nan chanjman pou yon fonksyon vrèman estipid 547 00:34:20,570 --> 00:34:24,420 men reprezantan de bagay sa yo ke nou pral de pli zan pli vle fè. 548 00:34:24,420 --> 00:34:27,090 Se konsa, fè buggy4. Mwen te vise moute kèk kote. 549 00:34:27,090 --> 00:34:30,139 Oh, Bondye mwen an. Senk erè nan yon pwogram 6-liy. 550 00:34:30,139 --> 00:34:35,690 Se konsa, sa ki nan mal sou liy 18, pèsonaj 5? 551 00:34:35,690 --> 00:34:39,610 Se konsa, mwen gen deklare sa a Int,. 552 00:34:39,610 --> 00:34:41,920 Ann gade pou wè. Gen tout yon seri nan erè ak lòt. 553 00:34:41,920 --> 00:34:47,010 Oh, Bondye mwen an - 19, 18, 21 - men ankò, kite yo jis klè ekran an, L kontwòl isit la, 554 00:34:47,010 --> 00:34:49,380 ak relance sonnen. 555 00:34:49,380 --> 00:34:51,340 Se konsa, 5 pwoblèm se aktyèlman jis ki 1. 556 00:34:51,340 --> 00:34:57,520 Se konsa, kounye a kite a kouri buggy4, Antre. Wou, x ki te enkremante kòrèkteman. 557 00:34:57,520 --> 00:35:02,720 Tout dwa. Nenpòt kesyon sou kòman yo kantite nimewo? Yeah. 558 00:35:02,720 --> 00:35:09,870 [Fèbl kesyon elèv] >> Bon kesyon. 559 00:35:09,870 --> 00:35:14,220 Kouman se li ke mwen ka jis chanje x ak kantite ak pwogram lan pral konn sa touswit? 560 00:35:14,220 --> 00:35:16,200 >> Yon fwa ankò, panse a li tankou sa a abstraction. 561 00:35:16,200 --> 00:35:21,600 Se konsa, si mwen menm prensipal ak Ken se kantite, franchman, mwen pa pran swen sa ki Ken rele iPad l 'yo. 562 00:35:21,600 --> 00:35:26,570 Mwen pa pran swen sa l 'mande nenpòt ki bagay ki te fè avèk aplikasyon li nan sa a fonctionnalités. 563 00:35:26,570 --> 00:35:33,340 Sa a se yon detay aplikasyon se mwen menm, prensipal yo, pa gen nan swen sou. 564 00:35:33,340 --> 00:35:38,250 Se konsa, tou senpleman chanje li toujou andedan nan fonksyon la - nimewo isit la ak nimewo isit la - 565 00:35:38,250 --> 00:35:40,960 se tout li pran toutotan m'a compile. 566 00:35:40,960 --> 00:35:44,180 Li nan sòt de renmen si ou panse sou anpil nan nou, moun nan nou ki gen lisans pou kondwi 567 00:35:44,180 --> 00:35:46,770 ki te kondwi oswa si w te menm kondwi nan yon machin, 568 00:35:46,770 --> 00:35:50,950 pi fò nan nou pa gen okenn lide ki jan yon machin ap travay anba kapo a. 569 00:35:50,950 --> 00:35:54,970 Ak literalman, si ou louvri moute kapo machin lan, pi fò nan nou - tèt mwen enkli - 570 00:35:54,970 --> 00:35:56,940 pa pral vrèman konnen ki sa nou ap chèche a, 571 00:35:56,940 --> 00:35:59,220 kalite tankou ou kapab santi ou ak bagay tankou sa a kounye a. 572 00:35:59,220 --> 00:36:01,480 Men nou pa vrèman gen nan swen ki jan machin nan travay, 573 00:36:01,480 --> 00:36:05,970 nou pa gen pran swen ki sa tout branch yo ak Pistons ak câbles andedan nan machin nan 574 00:36:05,970 --> 00:36:08,160 yo aktyèlman ap fè. 575 00:36:08,160 --> 00:36:12,770 Se konsa, yon bagay tankou sa ou rele Piston la pa enpòtan isit la nan ka sa a. Menm lide. 576 00:36:12,770 --> 00:36:25,300 Yeah. >> [Fèbl kesyon elèv] 577 00:36:25,300 --> 00:36:29,180 Si gen plis itilizasyon nan moman an varyab g de sa, 578 00:36:29,180 --> 00:36:32,150 ou, pwogramè a, ta gen yo chanje yo toupatou. 579 00:36:32,150 --> 00:36:36,600 Oswa ou ta ka literalman fè File, Menu, ak Lè sa a, Jwenn, Ranplase - yon bagay tankou sa - 580 00:36:36,600 --> 00:36:39,170 men ou yo ale nan gen fè chanjman sa yo tèt ou. 581 00:36:39,170 --> 00:36:47,450 Ou dwe konsistan. >> [Elèv] Si gen varyab miltip [fèbl] 582 00:36:47,450 --> 00:36:53,100 Yon lòd patikilye tankou isit la, si sa a te Int yon lòt nimewo? >> [Elèv] ki kòrèk. 583 00:36:53,100 --> 00:36:56,590 [Malan] Yeah. Lòd zafè lè ou ap rele fonksyon an. 584 00:36:56,590 --> 00:37:00,050 >> Se konsa, si m 't'ap rele increment isit la ak yon bagay vigil yon bagay, 585 00:37:00,050 --> 00:37:01,680 gen yon kat dirèk. 586 00:37:01,680 --> 00:37:05,690 Se varyab a an premye, tou sa li yo rele, te fè yon kopi agiman an premye sou isit la. 587 00:37:05,690 --> 00:37:07,760 Sorry. Sa a pa ta dwe gen yon parantèz. 588 00:37:07,760 --> 00:37:11,490 Liy ki agiman dezyèm moute ak yon sèl, dezyèm lan. Se konsa, lòd, se wi, zafè. Tout dwa. 589 00:37:11,490 --> 00:37:17,020 Sorry. Mwen te pran wout la long yo ka resevwa la. Lòt kesyon yo? Tout dwa. 590 00:37:17,020 --> 00:37:20,610 Se konsa, kite a wè si nou pa ka penti yon foto nan sa ki aktyèlman pral sou isit la 591 00:37:20,610 --> 00:37:23,090 anba kapo a, se konsa pale. 592 00:37:23,090 --> 00:37:26,640 Sa a se yon rektang ki ta ka reprezante memwa òdinatè ou a. 593 00:37:26,640 --> 00:37:30,970 Menm si ou pa gen okenn lide kouman memwa ap travay oswa ki jan RAM travay, 594 00:37:30,970 --> 00:37:33,940 omwen asime ke ou genyen grap rezen li jou sa yo. 595 00:37:33,940 --> 00:37:36,280 Ou te gen megabit nan li, ou te gen jigokte nan li, 596 00:37:36,280 --> 00:37:40,870 e nou konnen soti nan semèn 0 ke yon multiple se sèlman sa ki? >> [Elèv] 8 Bits. 597 00:37:40,870 --> 00:37:42,950 8 Bits, dwa? Se konsa, 8 zero ak 1. 598 00:37:42,950 --> 00:37:45,880 Se konsa, si òdinatè ou a gen yon Gig nan RAM, 2 jig nan RAM jou sa yo, 599 00:37:45,880 --> 00:37:55,030 ou gen yon milya dola oswa 2 milya dola bytes nan memwa oswa apeprè 8 milya dola oswa 16 milya dola Bits 600 00:37:55,030 --> 00:37:56,890 andedan nan òdinatè ou. 601 00:37:56,890 --> 00:38:00,590 Kontrèman ak ti kras egzanp lan Willy lanijèr, li pa patikil mayetik tipikman ankò. 602 00:38:00,590 --> 00:38:04,450 De pli zan pli - nan laptops omwen - li a kondui eta solid, SSDs, 603 00:38:04,450 --> 00:38:08,580 ki jis pa gen okenn pati k ap deplase. Li nan tout elektwonik. Li nan tout elektrisite ki baze sou. 604 00:38:08,580 --> 00:38:14,060 Se konsa, panse a rektang sa a kòm jis ki reprezante jigokte yo 1 oswa 2 nan memwa ki di ou gen. 605 00:38:14,060 --> 00:38:16,020 >> Se konsa, li yon ti moso nan memwa. 606 00:38:16,020 --> 00:38:19,830 Mond lan nan syans konpitè te sòt de partition koupe 607 00:38:19,830 --> 00:38:22,950 sègman nan memwa fè bagay diferan. 608 00:38:22,950 --> 00:38:27,190 Pou egzanp, si sa a se RAM òdinatè ou a, jan sijere pa rektang lan la, 609 00:38:27,190 --> 00:38:31,130 Li sanble ke pa konvansyon, nan tèt la nan RAM ou konsa, yo pale, 610 00:38:31,130 --> 00:38:33,660 se jeneralman sa ki rele yon segman tèks. 611 00:38:33,660 --> 00:38:36,740 Moun sa yo se 0s la ak 1S ke ou te konpile. 612 00:38:36,740 --> 00:38:39,020 Se konsa, lè nou te gade anba kapo a nan sa ki a.out se, 613 00:38:39,020 --> 00:38:41,980 tout bagay sa yo 0s ak 1, lè ou kouri nan yon pwogram nan, 614 00:38:41,980 --> 00:38:46,290 sa yo 0s ak 1S yo chaje soti nan kondwi difisil ou a nan yon bagay yo rele RAM, 615 00:38:46,290 --> 00:38:49,320 ak nan belye mouton an yo ap mete nan tèt la. 616 00:38:49,320 --> 00:38:52,770 Pandan se tan, ou gen lòt bagay: inisyalize done, uninitialize done. 617 00:38:52,770 --> 00:38:57,510 Moun sa yo ki swaths 2 nan memwa, al gade nan varyab mondyal, ki ou pa yo itilize souvan 618 00:38:57,510 --> 00:39:00,760 men pafwa si ou fè sa, yo fini 'kanpe tankou byen. 619 00:39:00,760 --> 00:39:04,260 Lè sa a, gen nan kèk lòt bagay: varyab anviwònman, ki nou pa pral pase anpil tan sou li a, 620 00:39:04,260 --> 00:39:06,860 men Lè sa a, 2 bagay sa yo enpòtan ke yo va tounen nan tout semès la, 621 00:39:06,860 --> 00:39:08,550 chemine ak pil wòch. 622 00:39:08,550 --> 00:39:12,210 Se konsa, pifò nan memwa òdinatè w lan a ap rezève lè kouri yon pwogram 623 00:39:12,210 --> 00:39:15,370 pou yon bagay yo rele pil la ak yon bagay yo rele pil wòch la. 624 00:39:15,370 --> 00:39:18,840 Nou pa pwal pale sou pil wòch la jodi a, men nou pral pale sou pil la. 625 00:39:18,840 --> 00:39:24,600 Se chemine a vle di ke yo sorselri moute vizyèl a nan plato yo sal kote moun manje nan Mather House 626 00:39:24,600 --> 00:39:28,110 oubyen nenpòt kote ou rive yo kote ekip la sal kote moun netwaye yo chak jou, 627 00:39:28,110 --> 00:39:30,180 yo chemine yo moute ki soti sou planche sou leve, 628 00:39:30,180 --> 00:39:34,550 ak Menm jan tou, nan memwa, gen ide sa a nan mete yon bagay sou yon pil, 629 00:39:34,550 --> 00:39:36,860 mete yon bagay sou yon pil, mete yon bagay sou yon pil. 630 00:39:36,860 --> 00:39:38,240 Ak sa ki nou vle di pa sa a? 631 00:39:38,240 --> 00:39:41,860 >> Se pou nou rale nan sou jis mwatye ki pi ba nan foto sa a, RAM òdinatè ou a, 632 00:39:41,860 --> 00:39:44,330 pwopoze sa ki annapre yo. 633 00:39:44,330 --> 00:39:48,170 Li sanble ke lè ou kouri nan yon pwogram tankou a.out oswa alo - 634 00:39:48,170 --> 00:39:50,100 kèlkeswa sa pwogram lan se ke ou te ekri - 635 00:39:50,100 --> 00:39:54,020 ankò, sa yo ki 0s ak 1S yo chaje soti nan kondwi difisil ou, ki se alontèm depo, 636 00:39:54,020 --> 00:39:57,230 rete gen menm lè ou rale ploge an, chaje nan RAM. 637 00:39:57,230 --> 00:40:00,610 RAM se pi vit pase kondui difisil - li a ki pi piti pase kondui difisil - 638 00:40:00,610 --> 00:40:03,300 men li la kote pwogram viv pandan w ap kouri yo. 639 00:40:03,300 --> 00:40:08,230 Se konsa, ou doub klike sou yon pwogram sou yon Mac oswa PC, li chaje soti nan kondwi difisil nan RAM. 640 00:40:08,230 --> 00:40:11,520 Le pli vit ke li an chaje nan RAM, ale nan 0s ak 1S nan tèt la fason sa a, 641 00:40:11,520 --> 00:40:16,610 segman nan tèks sa yo rele, men Lè sa a, le pli vit ke pwogram ou an aktyèlman kòmanse kouri, 642 00:40:16,610 --> 00:40:21,360 se fonksyon prensipal yo rele, ak prensipal, menm jan nou te wè, souvan gen varyab lokal yo, 643 00:40:21,360 --> 00:40:24,870 epi li gen antye ak strings ak charaktèr ak renmen an. 644 00:40:24,870 --> 00:40:29,180 Se konsa, si pwogram ou ke ou te ekri oswa pwogram nan ke ou te doub klike 645 00:40:29,180 --> 00:40:32,970 itilize kèk varyab andedan nan prensipal yo, 646 00:40:32,970 --> 00:40:37,240 yo fini nan pati anba a nan chemine ou nan memwa, se konsa pale. 647 00:40:37,240 --> 00:40:39,410 Plis konkrètman, ki sa ki sa sa a aktyèlman vle di? 648 00:40:39,410 --> 00:40:48,450 Sa a jis vle di ke si nou te ale nan nimewo bytes yo nan RAM nan òdinatè w lan, 649 00:40:48,450 --> 00:40:55,750 remake ke sa a ta kapab multiple nimewo 0, sa a ta kapab multiple nimewo 1, 2, 3, 4, 5, 6, 650 00:40:55,750 --> 00:41:01,480 tout wout la jiska 2 milya dola ta dwe tout wout la moute gen nan tèt la. 651 00:41:01,480 --> 00:41:05,880 Se konsa, nan lòt mo, lè nou pale sou RAM oswa memwa an tèm de bytes, 652 00:41:05,880 --> 00:41:11,500 li jis vle di ke yon moun te deside ki sa ak kantite chak nan sa yo fragman nan memwa. 653 00:41:11,500 --> 00:41:16,650 Se konsa, lè ou bezwen 32 Bits pou yon int oswa ou bezwen 8 Bits pou yon Char, 654 00:41:16,650 --> 00:41:18,840 kote yo fini nan memwa? 655 00:41:18,840 --> 00:41:22,350 >> Concept yo, yo jis fini nan fon an nan bagay sa yo rele pil la. 656 00:41:22,350 --> 00:41:25,870 Men, sa ki nan enteresan kounye a se lè prensipal rele yon fonksyon - 657 00:41:25,870 --> 00:41:28,750 sipoze yon fonksyon rele foo, jis yon non abitrè - 658 00:41:28,750 --> 00:41:32,330 sa k ap pase se prensipal se nan pati anba a nan sa a pil nan memwa; 659 00:41:32,330 --> 00:41:35,680 foo koulye a, se mete sou tèt prensipal nan memwa. 660 00:41:35,680 --> 00:41:40,990 Se konsa, nenpòt varyab lokal ki foo te fini sòt de teori pi wo a sa yo ki nan prensipal la. 661 00:41:40,990 --> 00:41:47,070 Si foo rele yon lòt fonksyon rele bar, sa yo ki varyab fini isit la. 662 00:41:47,070 --> 00:41:50,120 Si bar rele yon lòt bagay, isit la, isit la, isit la. 663 00:41:50,120 --> 00:41:53,830 Se konsa, sa ki nan enteresan sou kouri yon pwogram se ke lè w rele fonksyon 664 00:41:53,830 --> 00:41:57,750 ak tankou moun yo fonksyon rele fonksyon ak tankou moun yo fonksyon rele fonksyon, 665 00:41:57,750 --> 00:42:01,470 ou bati sa a pil nan fonksyon nan memwa. 666 00:42:01,470 --> 00:42:06,890 Ak sèlman yon fwa yon retounen fonksyon ou kòmanse resevwa ki memwa tounen. 667 00:42:06,890 --> 00:42:10,860 Se konsa, youn nan fason ki pi fasil yo kouri soti nan memwa nan yon pwogram òdinatè 668 00:42:10,860 --> 00:42:14,360 se yo ekri fonksyon ki pa janm retounen. 669 00:42:14,360 --> 00:42:18,900 Se konsa, pou egzanp, kite a demontre kòm anpil ak yon pwogram entansyonèlman buggy. 670 00:42:18,900 --> 00:42:22,230 Kite m 'ale pi devan epi # enkli , 671 00:42:22,230 --> 00:42:25,000 int prensipal (san valè), 672 00:42:25,000 --> 00:42:32,940 ak mwen pral fè pandan y ap (2> 1), ki pwobableman pa pral janm chanje sou nou, 673 00:42:32,940 --> 00:42:37,560 ak kite m 'ale pi devan koulye a ak fè printf. 674 00:42:37,560 --> 00:42:40,700 Aktyèlman, ki k ap pase yo dwe mwens vizyèlman enteresan. Se pou nou fè sa. 675 00:42:40,700 --> 00:42:50,240 Pou int mwen = 0; mwen> 0 - kite a fè sa-a erè - mwen + +. 676 00:42:50,240 --> 00:42:52,720 Li kite yo pa printf isit la. Se pou nou pratike sa mwen te t'ap anonse bon. 677 00:42:52,720 --> 00:43:00,190 Se pou nou genyen yon metòd isit la, koral anile, epi nou pral di Int mwen, 678 00:43:00,190 --> 00:43:06,830 ak Lè sa a, mwen pral di printf - pa gen okenn, kite la fè sa-a plis enteresan. 679 00:43:06,830 --> 00:43:15,790 Se pou nou aktyèlman pa enprime anyen nan tout. Se pou nou jis fè sa a: koral (mwen). 680 00:43:15,790 --> 00:43:20,390 Tout dwa. Se konsa, sa a se buggy paske poukisa? 681 00:43:20,390 --> 00:43:23,380 Mwen fè sa a moute kòm m 'ale paske pwogram lan pa aktyèlman fè anyen nan enterè yo. 682 00:43:23,380 --> 00:43:25,320 >> Men se pa sèlman objektif la. 683 00:43:25,320 --> 00:43:29,630 Objektif la se yo ekri yon pwogram ki gen prensipal fonksyon fè sa, aparamman? 684 00:43:30,720 --> 00:43:32,860 Rele tèt li. Ak aktyèlman, nou pa bezwen riban an. 685 00:43:32,860 --> 00:43:37,200 Se pou nou menm senplifye sa a jis pou yo pa pèdi devan je nan reyèlman pinèz la fondamantal. 686 00:43:37,200 --> 00:43:39,640 Apèl Main koral nan chante kèk koral, 687 00:43:39,640 --> 00:43:41,440 Lè sa a, mwen te fè yon bagay estipid ak mwen te gen koral rele nan koral 688 00:43:41,440 --> 00:43:43,760 paske mwen sipoze yon lòt moun te ale nan aplike li petèt, 689 00:43:43,760 --> 00:43:47,210 e kounye a, sa a pa pral konpile ankò. Mwen bezwen fè ki sa? 690 00:43:47,210 --> 00:43:49,970 Mwen bezwen pwototip a, sonje. 691 00:43:49,970 --> 00:43:56,110 Se konsa, mwen bezwen gen moute isit la koral anile (Int mwen); 692 00:43:56,110 --> 00:43:59,210 Se konsa, kounye a si m 'desann isit la - aktyèlman, se pou yo sèvi ak fenèt la pi gran. 693 00:43:59,210 --> 00:44:01,980 Se pou nou ale pi devan epi fè koral. 694 00:44:01,980 --> 00:44:06,490 Se pou nou ale pi devan epi fè koral. 695 00:44:06,490 --> 00:44:08,370 Sèvi ak nan idantifyan sekrè mwen. 696 00:44:08,370 --> 00:44:12,500 Oh, sa ki te estipid. Nou pa bezwen agiman an. Se pou nou jis fè sa. 697 00:44:12,500 --> 00:44:16,370 Mwen swete nou te te kòmanse fason sa a. Li ta yon pwogram pi fasil ekri. 698 00:44:16,370 --> 00:44:25,590 Gen. Koulye a, kite a janbe lòt bò nan fenèt tèminal m 'yo, relance rezone, ak isit la nou ale. 699 00:44:25,590 --> 00:44:28,460 Se te vrèman vit. 700 00:44:28,460 --> 00:44:31,150 Ki sa ki aktyèlman jis te rive, menm si? 701 00:44:31,150 --> 00:44:33,730 Oke, koulye a, mwen pral ajoute liy lan ekri ak lèt ​​detache pou nou ka wè. 702 00:44:33,730 --> 00:44:43,490 Kite m 'di printf ("mwen an isit la") - pa gen okenn varyab. Nou pral kite li tankou sa. 703 00:44:43,490 --> 00:44:47,480 Kite m 'relance fè. Kite m 'relance koral. 704 00:44:47,480 --> 00:44:57,380 Ak ... vin sou. Kenbe prale. 705 00:44:57,380 --> 00:44:59,930 Kòm yon sou kote, poukisa li pa te fè aksidan ankò? 706 00:44:59,930 --> 00:45:02,080 Fay la segmentation te rive Super vit anvan. 707 00:45:02,080 --> 00:45:06,570 [Fèbl repons elèv] >> Egzakteman. Se konsa, li pran tan nan enprime, dwa? 708 00:45:06,570 --> 00:45:08,610 Li jis pran plis travay sou pati òdinatè a. 709 00:45:08,610 --> 00:45:10,620 Ak la li ye: fòt Segmentation. 710 00:45:10,620 --> 00:45:12,340 >> Se konsa, remake jis ki jan pwogram vit kouri. 711 00:45:12,340 --> 00:45:14,130 Si ou pa ap enprime anyen, Super vit. 712 00:45:14,130 --> 00:45:18,770 Men, nou toujou gen sa a fòt segmentation paske sa ki te rive? 713 00:45:18,770 --> 00:45:21,210 Si ou panse sou ki jan se memwa òdinatè w lan an mete deyò, 714 00:45:21,210 --> 00:45:28,740 sa a k ap pase yo prensipal yo, men isit la kite yo jis rele sa koral, e kite yo rele sa koral. 715 00:45:28,740 --> 00:45:34,550 Epi, koulye a, si mwen fè estetik mwen dwat, sa a se jis pral di koral, koral, koral, 716 00:45:34,550 --> 00:45:40,550 koral, koral, koral, koral, nauseum anons, epi evantyèlman, sa ki pral rive? 717 00:45:40,550 --> 00:45:45,630 Si foto a gwo, literalman, se sa a, ki sa ki jis k ap pase concept? 718 00:45:46,520 --> 00:45:48,630 Chemine depatman yo pil wòch la. 719 00:45:48,630 --> 00:45:51,940 Oswa, pi mal, ou jis anvahi tout bagay, ki gen ladan segman nan tèks, 720 00:45:51,940 --> 00:45:54,590 ki se 0s la ak 1S ki reprezante pwogram ou an. 721 00:45:54,590 --> 00:45:57,080 Nan ti bout tan, sa a se jis super, super move. 722 00:45:57,080 --> 00:45:58,830 Te pwogram ou an espiral soti nan kontwòl. 723 00:45:58,830 --> 00:46:01,220 W ap itilize fason plis memwa pase ou gen entansyon 724 00:46:01,220 --> 00:46:03,960 tout paske yo te yon erè estipid nan ka sa a, 725 00:46:03,960 --> 00:46:08,040 oswa nan ka sa a yon fonksyon trè fè espre fè rele tèt li. 726 00:46:08,040 --> 00:46:09,500 Koulye a, sa a se pa tout move. 727 00:46:09,500 --> 00:46:13,800 Fonksyon rele tèt yo aktyèlman gen gwo pouvwa lè ou itilize li kòrèkteman. 728 00:46:13,800 --> 00:46:15,800 Mwen pa te itilize li kòrèkteman isit la. 729 00:46:15,800 --> 00:46:19,780 Se konsa, sa a se pa tout move, men reyalite a ke mwen pa janm aktyèlman sispann rele tèt mwen 730 00:46:19,780 --> 00:46:23,520 se yon feblès fondamantal isit la nan pwogram sa a. 731 00:46:23,520 --> 00:46:26,400 Se konsa, kote nou pral ansanm ak tout sa yo? Kisa ki vrèman rive? 732 00:46:26,400 --> 00:46:30,340 Lè m 'rele fonksyon an kantite tankou nou te fè nan sa yo egzanp, 733 00:46:30,340 --> 00:46:33,420 Mwen gen yon valè tankou 1 ke mwen pase pous 734 00:46:33,420 --> 00:46:37,570 Mwen pase nan yon kopi nimewo a 1, se konsa sa ki annapre yo k ap pase. 735 00:46:37,570 --> 00:46:44,240 Ann al nan egzanp lan kantite, sa a Guy dwa sou isit la. 736 00:46:44,240 --> 00:46:46,870 Isit la nan sa ki aktyèlman rive. 737 00:46:46,870 --> 00:46:53,400 Lè m 'rele kantite ak mwen pase nan x, pictorially, sa k ap pase sou isit la se sa a. 738 00:46:53,400 --> 00:46:59,520 >> Si mwen gen valè a nan 1 ki estoke isit la e mwen aktyèlman rele kantite, 739 00:46:59,520 --> 00:47:04,330 ki se kounye a yo rele koral - iPad a ap voye m 'wete isit la. 740 00:47:04,330 --> 00:47:09,760 Se pou nou rele sa a kantite, epi nou pa konnen ki sa sa a fonksyon pwochen a pwal. 741 00:47:09,760 --> 00:47:14,840 Se konsa, sa ki aktyèlman rive se isit la yon kote nan prensipal mwen gen yon ti moso nan memwa 742 00:47:14,840 --> 00:47:17,000 ki estoke nimewo a 1. 743 00:47:17,000 --> 00:47:19,380 Lè m 'rele kantite, mwen sèvi ak yon lòt ti moso nan memwa, 744 00:47:19,380 --> 00:47:21,230 Men, koulye a mwen gen kopi a nan 1. 745 00:47:21,230 --> 00:47:26,660 Lè m 'kantite ki valè, sa a vin tounen 2, 746 00:47:26,660 --> 00:47:30,560 men Lè sa a, kisa k ap rive le pli vit ke retounen kantite? 747 00:47:30,560 --> 00:47:33,630 Sa a memwa jis vin yo retounen l ba sistèm nan fonksyone, 748 00:47:33,630 --> 00:47:37,450 ki vle di tout sa ou te fè se pa gen anyen itil. 749 00:47:37,450 --> 00:47:43,120 1 a ki te orijinal genyen nan yo nan prensipal se toujou aktyèlman la. 750 00:47:43,120 --> 00:47:44,890 Se konsa, kote nou pral ak sa a? 751 00:47:44,890 --> 00:47:49,770 Li sanble ke nan memwa ou gen sa a sekans tounen-a-tounen nan bytes 752 00:47:49,770 --> 00:47:53,050 ke ou ka mete bagay nan, epi li sanble ke nou te deja wè yon bagay 753 00:47:53,050 --> 00:47:55,390 ki enplike nan mete bagay sa yo tounen nan fè bak nan do nan do. 754 00:47:55,390 --> 00:47:59,860 Ki sa ki se yon fisèl ki baze sou semèn 1 e kounye a, semèn 2? 755 00:48:00,020 --> 00:48:01,980 Se jis nan yon koleksyon karaktè. 756 00:48:01,980 --> 00:48:04,310 Se konsa, li vire soti menm jan ou ka mete nimewo yo nan memwa, 757 00:48:04,310 --> 00:48:06,990 Menm jan an ou kapab mete karaktè nan memwa. 758 00:48:06,990 --> 00:48:10,530 E yon fwa nou kòmanse mete karaktè nan memwa tounen nan Retounen nan Retounen nan tounen, 759 00:48:10,530 --> 00:48:13,620 Li sanble ke lè l sèvi avèk pi senp la bagay sa yo tankou yon riban pou oswa yon riban pandan y ap, 760 00:48:13,620 --> 00:48:17,170 nou ka rèspèté de gòch a dwat sou karaktè yo nan yon fisèl 761 00:48:17,170 --> 00:48:20,600 e kòmanse masaj yo nan karaktè diferan tout ansanm - 762 00:48:20,600 --> 00:48:23,370 yon ka vin b, b te ka vin c - 763 00:48:23,370 --> 00:48:27,780 pou ke finalman, nou ka pran yon fraz angle ki aktyèlman fè sans 764 00:48:27,780 --> 00:48:30,310 ak konvèti chak nan youn lèt sa yo nan yon moman 765 00:48:30,310 --> 00:48:34,400 pa mache nan memwa òdinatè nou an goch a dwat aktyèlman ankripte. 766 00:48:34,400 --> 00:48:35,810 Se konsa, kite a pran repo senk minit nou yo isit la, 767 00:48:35,810 --> 00:48:40,730 ak lè nou 'tounen an, nou pral kòmanse pwosesis sa a nan eskalade enfòmasyon. 768 00:48:42,020 --> 00:48:43,520 >> Tout dwa. 769 00:48:43,520 --> 00:48:48,070 Anvan nou plonje nan kèk kriptografik ak tout bagay sa yo rele ranje, 770 00:48:48,070 --> 00:48:51,470 kite m 'pran yon poz pou nenpòt kesyon paske mwen santi mwen tankou mwen reyèlman kalite confus 771 00:48:51,470 --> 00:48:54,080 kèk nan sijè sa yo. Se konsa, kite a ranje kounye a, si nou kapab. 772 00:48:54,080 --> 00:48:58,700 Nou jis te pale osijè de valè retou, nou te pale de agiman, 773 00:48:58,700 --> 00:49:03,250 epi nou te pale osijè de sa a nosyon, ki nou pral tounen vin jwenn nan semèn kap vini yo 774 00:49:03,250 --> 00:49:08,720 nan gade memwa kòm yon pakèt antye nan sa yo plato anpile, se konsa pale, 775 00:49:08,720 --> 00:49:12,660 anba nan fon sou moute, tankou ke chak plato ki vin mete yo sou chemine a 776 00:49:12,660 --> 00:49:16,530 ki reprezante yon fonksyon ki nan kounye a yo te rele. 777 00:49:17,900 --> 00:49:20,260 Nenpòt kesyon? 778 00:49:20,260 --> 00:49:22,640 Kite m 'poze yon kesyon isit la. 779 00:49:22,640 --> 00:49:27,890 Kite m 'senplifye sa a tounen nan ki sa li te la anvan kèk nan pi bonè Q & A. nou 780 00:49:27,890 --> 00:49:35,570 Lefèt ke kantite a gen parantèz louvri, int nimewo, fèmen parantèz - 781 00:49:35,570 --> 00:49:39,110 ki sa int nimewo reprezante? 782 00:49:39,110 --> 00:49:42,790 [Elèv] Yon diskisyon. >> Yon diskisyon. Oke. Men, sa ki nan yon diskisyon? 783 00:49:42,790 --> 00:49:46,370 [Repons fèbl elèv] >> Ki sa ki nan sa? >> [Elèv] yon bagay ke ou pase pous 784 00:49:46,370 --> 00:49:49,940 Oke, kidonk yon bagay ke ou pase pous Ak plis jeneralman, li nan jis opinyon an. 785 00:49:49,940 --> 00:49:52,450 Si ou te ekri yon fonksyon ak objektif ki fonksyon an nan lavi 786 00:49:52,450 --> 00:49:55,770 se fè yon bagay yon ti kras diferan chak fwa ou sèvi ak li, 787 00:49:55,770 --> 00:50:00,110 Lè sa a, wout la sèlman pou sa rive reyèlman ta sanble yo gen ba yo li l anplas ak patisipasyon 788 00:50:00,110 --> 00:50:03,510 konsa ke li kapab fè yon bagay diferan ak sa D 'chak fwa. 789 00:50:03,510 --> 00:50:06,650 >> Se konsa, ou bezwen presize de bagay lè yon fonksyon pran opinyon. 790 00:50:06,650 --> 00:50:09,590 Ou bezwen presize non an ke ou vle bay ak sa yo ki D ' 791 00:50:09,590 --> 00:50:12,700 piman pou konvenyans pwòp ou a pou ke ou ka al gade nan li 792 00:50:12,700 --> 00:50:16,540 nan fonksyon la ke ou tèt ou ap ekri, jan mwen te fè isit la nan liy 32. 793 00:50:16,540 --> 00:50:20,800 Men, ou ap bezwen tou presize kalite li yo paske C se yon lang programmation 794 00:50:20,800 --> 00:50:25,940 ki jis mande pou si ou vle yon varyab, ou gen di òdinatè a ki sa done kalite li ye, 795 00:50:25,940 --> 00:50:30,200 nan pati gwo pou ke li konnen kijan anpil Bits asiyen pou varyab sa a 796 00:50:30,200 --> 00:50:33,020 paske li ka 6 - regrèt sa, li pa pral 6. 797 00:50:33,020 --> 00:50:37,080 Li kapab 16, li kapab 8, li kapab 32, menm 64, 798 00:50:37,080 --> 00:50:39,130 men òdinatè a bezwen konnen. 799 00:50:39,130 --> 00:50:43,180 Koulye a, int la ki sou bò gòch-men reprezante sa, pa kontra? 800 00:50:46,350 --> 00:50:48,850 [Repons fèbl elèv] >> Ki sa ki nan sa? >> [Elèv] Kalite fonksyon. 801 00:50:48,850 --> 00:50:53,610 Ki kalite yon fonksyon ak, plis espesyalman, ki kalite pwodiksyon li yo. Dwat. 802 00:50:53,610 --> 00:50:57,380 Se konsa, Lè nou konsidere ke bagay la nan parantèz reprezante opinyon li yo, si genyen, 803 00:50:57,380 --> 00:50:59,660 bagay la sou bò goch la reprezante pwodiksyon li yo. 804 00:50:59,660 --> 00:51:03,530 Ak nan ka sa a, kantite aparamman retounen yon int, 805 00:51:03,530 --> 00:51:07,690 ak sa int a se tip a retounen nan fonksyon sa a. 806 00:51:07,690 --> 00:51:09,340 Kisa sa vle di retounen? 807 00:51:09,340 --> 00:51:15,090 Literalman, ou sèvi ak retounen nan mo kle ak Lè sa a, si sa w ap retounen 808 00:51:15,090 --> 00:51:18,600 a dwat a mo kle a se yon nonb antye, 809 00:51:18,600 --> 00:51:21,660 Lè sa a, ki se vre ki konsistan avèk ki sa nou te pwomèt la. 810 00:51:21,660 --> 00:51:26,410 Ou pa t 'kapab fè yon bagay tankou sa a - hello, mond - paske sa se yon kòd. 811 00:51:26,410 --> 00:51:28,860 >> Li evidan, li pa yon nonb antye. 812 00:51:28,860 --> 00:51:33,140 Se konsa, nan kout, chay la se reyèlman sou nou, pwogramè a, yo dwe espesifik 813 00:51:33,140 --> 00:51:37,770 tankou sa ki nou ap retounen ak Lè sa a, aktyèlman ale sou retounen li. 814 00:51:37,770 --> 00:51:43,440 Kontèks la isit la kounye a se ke memwa òdinatè w lan a se yon jigokte, 2 jigokte - 815 00:51:43,440 --> 00:51:45,920 kèlkeswa sa - petèt li plis, petèt li mwens, 816 00:51:45,920 --> 00:51:49,050 men òdinatè a wè li tankou ke li gen seksyon diferan. 817 00:51:49,050 --> 00:51:51,200 Yon bagay desann la, yon lòt bagay ap moute a, 818 00:51:51,200 --> 00:51:54,290 bagay diferan ale nan mitan an, ak jodi a nou jis kòmanse rakonte istwa a, 819 00:51:54,290 --> 00:51:56,340 men nou pwal tounen vin jwenn tan sa a sou. 820 00:51:56,340 --> 00:51:59,980 Pou kounye a, moso a sèlman nan memwa nou reyèlman sousye de se segman nan tèks 821 00:51:59,980 --> 00:52:03,360 paske ki jis reprezante 0s ak 1S ki rezone a te outputted. 822 00:52:03,360 --> 00:52:06,050 Se konsa, lè ou kouri nan yon lòd nan klavye a tankou a.out 823 00:52:06,050 --> 00:52:09,110 oswa ou doub klike sou yon icon sou Mac OS oswa Windows, 824 00:52:09,110 --> 00:52:11,880 se pwogram ou an chaje soti nan difisil kondwi ou nan RAM 825 00:52:11,880 --> 00:52:16,330 ak li a plopped nan tèt la nan RAM òdinatè ou a, se konsa pale. 826 00:52:16,330 --> 00:52:20,450 Pandan se tan, kòm pwogram ou an kòmanse kouri ak prensipal vin rele 827 00:52:20,450 --> 00:52:23,640 nan pwogram nan, ou te ekri oswa Microsoft a pwogram oswa Apple te ekri, 828 00:52:23,640 --> 00:52:27,860 nenpòt nan varyab lokal li fini desann gen nan fon an nan memwa òdinatè ou a. 829 00:52:27,860 --> 00:52:33,230 Men, si apèl prensipal yon lòt fonksyon ki kont li genyen varyab oswa agiman yo, yo fini pi wo a li. 830 00:52:33,230 --> 00:52:36,680 Men, si ke fonksyon rele yon bagay, yo fini anlè li, anlè li, pi wo a li. 831 00:52:36,680 --> 00:52:41,460 >> Ak sèlman yon fwa se yon fonksyon fè pwomenad chemine a nan plato ki anba po, se konsa pale, 832 00:52:41,460 --> 00:52:43,240 kòmanse jwenn pi ba ak pi ba yo. 833 00:52:43,240 --> 00:52:48,250 Ak sa a se sa lè sa a, nan yon Nutshell, eksplike poukisa lè w rele kib 834 00:52:48,250 --> 00:52:51,550 oswa ou rele kantite, w ap pase nan yon kopi valè an. 835 00:52:51,550 --> 00:52:55,520 Ak ki sa sa vle pictorially se ke w ap literalman ekri nimewo a 1 836 00:52:55,520 --> 00:53:00,460 nan yon lòt pati nan memwa, chanje, ki 1 a 2 nan ka a nan kantite 837 00:53:00,460 --> 00:53:04,820 oubyen nan yon 8 nan ka a nan kib ak Lè sa a, voye ki memwa lwen 838 00:53:04,820 --> 00:53:09,140 le pli vit ke kantite a oswa retounen yo fonksyon kib. Kesyon. 839 00:53:09,140 --> 00:53:12,900 [Elèv] Ki kote yo varyab mondyal ki estoke? 840 00:53:12,900 --> 00:53:18,100 Varyab Global yo estoke nan sa ki kounye a yo rele done yo inisyalizèd oswa done uninitialized, 841 00:53:18,100 --> 00:53:21,920 diferans lan ke yo te si ou gen yon varyab mondyal ak ou asiyen li imedyatman yon valè 842 00:53:21,920 --> 00:53:24,640 avèk egal a siy, li fini moute nan tèt la a, 843 00:53:24,640 --> 00:53:29,200 epi si ou jis di x int; ki pa gen okenn valè, li fini moute yon ti kras pi ba nan RAM 844 00:53:29,200 --> 00:53:31,710 tou senpleman pa konvansyon. 845 00:53:31,710 --> 00:53:34,940 Lòt kesyon yo? Tout dwa. 846 00:53:34,940 --> 00:53:37,340 Se konsa, foto sa a ap tounen menm jan nou jwenn plis pouvwa anpil 847 00:53:37,340 --> 00:53:39,170 ak sa nou kapab fè nan òdinatè a, 848 00:53:39,170 --> 00:53:42,720 men pou kounye a, se pou yo gen yon Intro kout chifreman, 849 00:53:42,720 --> 00:53:46,080 yon kalite espesifik nan chifreman ki pa rezoud tout pwoblèm nan mond lan 850 00:53:46,080 --> 00:53:47,720 men rezoud kèk nan yo. 851 00:53:47,720 --> 00:53:51,700 Nan ka sa a isit la, nou gen yon bagay yo rele sekrè-kle chifreman. 852 00:53:51,700 --> 00:53:56,410 Sekrè-kle chifreman, kòm non an sijere, proceed sekirite li yo ki sòti nan yon sekrè. 853 00:53:56,410 --> 00:54:00,690 >> Pou egzanp, si ou te tounen nan lekòl klas yo ak ou te pase yon sekrè ti kras lèt renmen 854 00:54:00,690 --> 00:54:04,850 ti gason an oswa ti fi ou te kraze sou li a, si ou te vle pase ki note nan odyans la, 855 00:54:04,850 --> 00:54:08,380 pwobableman ou pa ta ekri tankou yon nòt nan lang angle oswa kèlkeswa sa lang natif natal ou se. 856 00:54:08,380 --> 00:54:13,340 Olye de sa, ou ta ka ankripte li oswa ou ta ka jis voye yo yon mesaj tèks jou sa yo. 857 00:54:13,340 --> 00:54:15,460 Men, ou ta ka aktyèlman pase yo yon nòt nan tout sal klas la. 858 00:54:15,460 --> 00:54:18,700 Ak fè sa byen nan yon fason ke zanmi ou a ak pwofesè a 859 00:54:18,700 --> 00:54:22,650 pa konnen sa ou ap ekri, ou ta ka vini ak yon algorithm jistis senp, 860 00:54:22,650 --> 00:54:25,920 jenn menm si ou ka, jis goumen mo yo. 861 00:54:25,920 --> 00:54:28,130 Se konsa, olye pou yo ekri yon ou ta ka ekri b, 862 00:54:28,130 --> 00:54:30,220 olye pou yo b ou ta ka ekri c, 863 00:54:30,220 --> 00:54:32,140 olye pou yo c ou ta ka ekri d, ak pou fè. 864 00:54:32,140 --> 00:54:34,360 Oswa ou ta ka vini ak yon tradiksyon pi plis sofistike 865 00:54:34,360 --> 00:54:36,720 nan lèt bay lèt diferan. 866 00:54:36,720 --> 00:54:39,740 Men, trape an se ti gason an oswa ti fi ki moun w ap voye nòt sa a 867 00:54:39,740 --> 00:54:45,020 bezwen konnen yon bagay, ki se ki sa, evidamman? >> [Elèv] Ki sa ki w ap voye. 868 00:54:45,020 --> 00:54:49,720 Ki sa ki sekrè ou ye, se tankou sa sa kat ant yon a ak nan b ak a c ak d's. 869 00:54:49,720 --> 00:54:54,650 Èske li jis ajoute 1 sou chak nan lèt yo ale ki sòti nan yon b b, c? 870 00:54:54,650 --> 00:54:56,670 Èske li pi konplèks pase sa? 871 00:54:56,670 --> 00:55:01,540 >> Se konsa, ou menm ak kraze ou a bezwen gen enfòmasyon sa a sekrè, 872 00:55:01,540 --> 00:55:03,190 , men tou genyen kalite yon trape 22-isit la. 873 00:55:03,190 --> 00:55:06,830 Si sa a se tan an trè premye w ap voye lèt sa a renmen nan klas la, 874 00:55:06,830 --> 00:55:10,720 Kouman se ke tigason oswa yon tifi pral konnen ki sa ki sekrè a menm se? 875 00:55:10,720 --> 00:55:13,930 Se konsa, sekrè-kle kriptografik pa rezoud tout pwoblèm nan mond lan, 876 00:55:13,930 --> 00:55:16,320 epi gen la aktyèlman yon relasyon isit la ke nou pral tounen vin jwenn rive sou fen semès la. 877 00:55:16,320 --> 00:55:25,110 Menm jan an pi fò nan nou pa konnen yon moun ki travay, pou egzanp, nan Amazon.com, 878 00:55:25,110 --> 00:55:28,190 e ankò anpil nan nou te pwobableman te achte bagay nan Amazon.com, 879 00:55:28,190 --> 00:55:31,990 e nou te te anseye yo asime ke tranzaksyon sa e-komès yo se an sekirite. 880 00:55:31,990 --> 00:55:36,470 URL la pwobableman di https, gen nan petèt yon icon komik ti kras kadna yon kote, 881 00:55:36,470 --> 00:55:39,930 gen nan kèk kalite chifreman sekirite enfòmasyon kat kredi w 882 00:55:39,930 --> 00:55:42,160 ant ou menm ak Amazon.com. 883 00:55:42,160 --> 00:55:45,430 Men, si chifreman enplike konnen kèk sekrè 884 00:55:45,430 --> 00:55:48,620 e ankò mwen pa konnen nenpòt moun ki nan Amazon epi mwen te sètènman pa ranje nenpòt kalite sekrè 885 00:55:48,620 --> 00:55:52,710 ak yon moun nan Amazon, ki jan pou òdinatè mwen an oswa navigatè mwen fè sa? 886 00:55:52,710 --> 00:55:55,720 Li vire soti gen nan lòt kalite chifreman tout ansanm ki rezoud pwoblèm sa. 887 00:55:55,720 --> 00:55:57,670 Men, pou jounen jodi a, nou pral konsantre sou yon sèl nan senp 888 00:55:57,670 --> 00:56:00,290 ki kote ou ka fè aranjman pou nan avanse yo konnen kèk sekrè 889 00:56:00,290 --> 00:56:03,760 tankou +1 oswa kèk kat ant yon a ak nan b. 890 00:56:03,760 --> 00:56:05,840 Ak pwosesis la nan chifreman jeneralman enplike nan sa. 891 00:56:05,840 --> 00:56:08,620 Ou gen kèk tèks plenn, repwezante isit la sou bò gòch, 892 00:56:08,620 --> 00:56:12,930 ou kouri li nan kèk kalite algorithm oswa pwosedi pou chifreman li - 893 00:56:12,930 --> 00:56:15,100 petèt sa a, se jis yon vin b, b vin c - 894 00:56:15,100 --> 00:56:17,490 ak Lè sa a, ou fini ak chifre. 895 00:56:17,490 --> 00:56:20,380 Pandan se tan, yon fwa kraze ou a ap resevwa nòt sa a sekrè, 896 00:56:20,380 --> 00:56:24,200 li gen Lè sa a, dekriptaj li pa jeneralman ranvèse ki algorithm 897 00:56:24,200 --> 00:56:27,190 konsa tankou jwenn tounen tèks la klè. 898 00:56:27,190 --> 00:56:28,960 Gen enkarnasyon fizik sa a. 899 00:56:28,960 --> 00:56:31,680 >> Pou egzanp, sa a se yon sekrè bag ti kras dekodaj, 900 00:56:31,680 --> 00:56:35,110 ak sa a se yon bèl zanno nan sans ke gen nan de kadran isit la. 901 00:56:35,110 --> 00:56:38,490 Sou periferi la deyò nan bagay sa a, gen nan lèt A jiska Z, 902 00:56:38,490 --> 00:56:40,340 byenke yo ap nan lòd o aza, 903 00:56:40,340 --> 00:56:42,880 yo, epi sou andedan an, gen nan aktyèlman kèk nimewo 904 00:56:42,880 --> 00:56:46,620 sa yo ki ak sa a bag ou ka kalite vire deyò an, men se pa andedan kay la 905 00:56:46,620 --> 00:56:49,140 yo nan lòd yo aliyen nimewo ak lèt. 906 00:56:49,140 --> 00:56:53,020 Ki sòti nan yon fim ki rele Yon Istwa Nwèl la, ou ap wè ke Ralphie ti kras 907 00:56:53,020 --> 00:56:58,000 te tèlman anvi konnen sa ki sekrè mesaj Little Annie Òfelen nan te fè l ' 908 00:56:58,000 --> 00:57:02,570 ki te kominike, mwen panse, nan fòm lan nan mesaj nimerik sou yon bwat sereyal 909 00:57:02,570 --> 00:57:07,220 epi ou te dwe akimile tout kat yo ti kras ki te vin nan ti bwat la sereyal, 910 00:57:07,220 --> 00:57:09,770 ou te voye yo nan, ou te gen jwenn tounen bag la dekodaj sekrè 911 00:57:09,770 --> 00:57:13,910 pou ke ou ka finalman konnen sa ki kat la se ant lèt ak nimewo 912 00:57:13,910 --> 00:57:15,550 oswa lèt ak lèt. 913 00:57:15,550 --> 00:57:19,520 Ki jan nan yon òdinatè nou ka ale sou mete ann aplikasyon oswa ki reprezante bagay sa yo tankou sa a? 914 00:57:19,520 --> 00:57:22,560 Nou bezwen yon fason pou eksprime tèt nou yon ti kras pi plis genyèn flexibilité 915 00:57:22,560 --> 00:57:25,080 pase varyab nou konsa byen lwen yo te aksepte. 916 00:57:25,080 --> 00:57:29,000 Nou te gen antye, nou te gen charaktèr, nou te gen cha ak double ak yon lòt moun kèk, 917 00:57:29,000 --> 00:57:34,200 men sa yo se moso endividyèl nan memwa ki pa vrèman pèmèt nou eksprime bagay sa yo 918 00:57:34,200 --> 00:57:36,440 tankou mo ak fraz ak fraz. 919 00:57:36,440 --> 00:57:38,630 Vreman vre, nou te rele tout bagay sa strings, 920 00:57:38,630 --> 00:57:42,660 men nou pwomèt ke sa a se vrèman jis yon senplifikasyon nan bibliyotèk la CS50 921 00:57:42,660 --> 00:57:45,540 ke nou ap lide kale tounen. 922 00:57:45,540 --> 00:57:47,500 Se konsa, kite la kòmanse fè sa isit la. 923 00:57:47,500 --> 00:57:49,840 Kite m 'ale pi devan epi louvri moute yon dosye - 924 00:57:49,840 --> 00:57:54,100 tout moun sa yo dosye ki disponib, kòm dabitid, sou entènèt - yo rele array.c 925 00:57:54,100 --> 00:57:58,960 rezoud yon pwoblèm asosye strings men sa ki pentire yon foto isit la 926 00:57:58,960 --> 00:58:01,520 nan jan nou ta kapab itilize yon bagay yo rele yon etalaj. 927 00:58:01,520 --> 00:58:04,050 >> Yon etalaj se yon kalite done. 928 00:58:04,050 --> 00:58:10,730 Li se yon kalite varyab nan kalite ki gen plizyè ki pi piti kalite done andedan nan li 929 00:58:10,730 --> 00:58:12,680 tounen nan fè bak nan do nan do. 930 00:58:12,680 --> 00:58:16,980 Se konsa, pou egzanp, si nou te vle ekri yon pwogram ti kras ki ba ou mwayèn egzamen ou 931 00:58:16,980 --> 00:58:19,780 pou yon kou tankou 50 ki gen 2 ti tès, 932 00:58:19,780 --> 00:58:23,450 ou ta ka trè fasil ekri pwogram sa a ki baze menm sou kèk nan materyèl semèn pase a nan 933 00:58:23,450 --> 00:58:28,830 lè l sèvi avèk GetInt ak yon koup la varyab: int quiz1, int quiz2. 934 00:58:28,830 --> 00:58:30,550 E li trè dwat. 935 00:58:30,550 --> 00:58:33,500 Li nan petèt 10, 20 liy nan kòd max yo mete yon pwogram 936 00:58:33,500 --> 00:58:38,940 ki mande itilizatè a pou 2 nòt egzamen ak Lè sa a, òdinatè mwayèn yo 937 00:58:38,940 --> 00:58:42,020 pa ajoute yo ansanm, divize pa 2, ak Lè sa a, enprime rezilta yo. 938 00:58:42,020 --> 00:58:46,400 Nou te ka pwobableman fè sa trè fasilman kounye a apre kèk nimewo nan minit. 939 00:58:46,400 --> 00:58:49,450 Men, pwoblèm nan se ke sipoze ke 50 te gen 3 ti tès oswa 4. 940 00:58:49,450 --> 00:58:52,830 Sipoze ke ou te vle sèvi ak menm pwogram lan pou yon klas ki te gen ti tès chak semèn. 941 00:58:52,830 --> 00:58:55,100 Reflechi sou yon klas ki te chak semèn ti tès. 942 00:58:55,100 --> 00:58:58,840 Si gen nan 16 oswa konsa semèn nan yon semès, kounye a ou gen 16 varyab: 943 00:58:58,840 --> 00:59:03,030 int quiz1, int quiz2, int quiz3, int quiz4. 944 00:59:03,030 --> 00:59:06,870 Osito ke ou kòmanse wè sa a redondance, sa a kopye ak kole nan kòd, 945 00:59:06,870 --> 00:59:09,810 li ta dwe kòmanse fè ou vle, te gen yon pi bon fason. 946 00:59:09,810 --> 00:59:13,610 Ak Erezman, paske nan ranje gen. Se konsa, kite a fè sa. 947 00:59:13,610 --> 00:59:16,700 Premyèman, kite m 'prezante yon bagay trè senp ke nou pa te itilize konsa byen lwen, 948 00:59:16,700 --> 00:59:18,820 men ou pral wè li detanzantan nan kòd. 949 00:59:18,820 --> 00:59:21,270 >> Sa a se sa ki jeneralman yo te rele yon konstan. 950 00:59:21,270 --> 00:59:24,410 Se konsa, li nan yon konstan nan sans ke sa a valè pa janm chanje. 951 00:59:24,410 --> 00:59:26,450 Konvansyon imen an lè y ap kreye yon konstan 952 00:59:26,450 --> 00:59:30,420 se sèvi ak tout lèt majiskil jis konsa ke li reyèlman vle di soti nan kòd ou a, 953 00:59:30,420 --> 00:59:34,270 ak mo kle a espesyal ke ou itilize nan C a # defini. 954 00:59:34,270 --> 00:59:39,970 Se konsa, nou di # defini, lè sa a yon espas, Lè sa a, pawòl Bondye a ke ou vle pou itilize pou non konstan nan 955 00:59:39,970 --> 00:59:41,730 ak Lè sa a, valè a konstan la. 956 00:59:41,730 --> 00:59:44,710 Avi sa a se diferan de plase yon bagay nan yon varyab. 957 00:59:44,710 --> 00:59:46,430 Gen nan pa gen egal siyen, gen nan pa gen virgules. 958 00:59:46,430 --> 00:59:49,140 Sa a se sa ki jeneralman li te ye tankou yon direktiv preproseseur, 959 00:59:49,140 --> 00:59:50,840 men plis sou tan sa a yon lòt. 960 00:59:50,840 --> 00:59:56,350 Pou kounye a, sa a kreye yon valè chanje rele ti tès 961 00:59:56,350 --> 00:59:58,290 aktyèl ki gen valè nimerik se 2. 962 00:59:58,290 --> 01:00:02,180 Se konsa, nenpòt kote ou wè ti tès, ti tès, ti tès nan tout sa a ranpli, 963 01:00:02,180 --> 01:00:04,230 sa se sèlman nimewo 2 a. 964 01:00:04,230 --> 01:00:06,550 Si m 'gade nan prensipal kounye a, kite la wè ki jan sa a travay. 965 01:00:06,550 --> 01:00:09,770 Premye li sanble yon ti kras skre, men li la tout bagay soti nan semèn 1. 966 01:00:09,770 --> 01:00:12,210 Mande itilizatè a pou klas. Ki jan nou fè sa? 967 01:00:12,210 --> 01:00:17,350 Nan liy 22 - sa a se reyèlman pati nan juicy - Mwen deklare yon flote 968 01:00:17,350 --> 01:00:23,240 men se pa jis yon flote sèl. Mwen deklare, olye, yon etalaj la k ap flote-pwen valè. 969 01:00:23,240 --> 01:00:27,700 Varyab sa yo pral rele klas, kòm enplisit isit la, 970 01:00:27,700 --> 01:00:31,420 men moso a sèlman nan sentaks nouvo Lè sa a, moun sa yo ki parantèz kare. 971 01:00:31,420 --> 01:00:37,280 Lefèt ke mwen te di klas flote ak Lè sa a, bracket louvri, epi Lè sa a, nimewo yon - 972 01:00:37,280 --> 01:00:40,980 avi si sa a se yon konstan sa a se jis tankou nou te fè sa sa a - 973 01:00:40,980 --> 01:00:46,840 sa vle di, "Hey òdinatè, ban m '2 flote e kite yo kolektivman rele yo klas." 974 01:00:46,840 --> 01:00:51,780 >> Sa a se nan kontras nan yon pwosesis pi plis fatigan tankou sa a: flote grade1; 975 01:00:51,780 --> 01:00:54,580 flote grade2; ak pou fè. 976 01:00:54,580 --> 01:00:58,310 Se konsa, yon etalaj pèmèt nou aplike ide sa a, men anpil mwens messily, 977 01:00:58,310 --> 01:01:04,560 nan yon fason ke nou ka ekri 1 liy nan kòd olye pou yo, di, 16 pou yon semès 16-semèn. 978 01:01:04,560 --> 01:01:09,060 Mwen pa t 'vle difisil-kòd 2 paske si ou panse sou sa a kounye a lojikman, 979 01:01:09,060 --> 01:01:12,560 ta kwè ane pwochèn CS50 chanjman nan 3 ti tès olye 980 01:01:12,560 --> 01:01:15,010 epi mwen te gen nimewo 2 a isit la, mwen te gen nimewo 2 a isit la, 981 01:01:15,010 --> 01:01:17,210 Mwen te gen nimewo 2 a isit la, nimewo 2 a isit la. 982 01:01:17,210 --> 01:01:19,890 Li vin tounen trè fatigan ak trè fasil a vis moute nan 983 01:01:19,890 --> 01:01:26,550 ak aksidantèlman chanje 1 valè a nan 3 ak manke kèk valè lòt moun ki te 2. 984 01:01:26,550 --> 01:01:30,660 Se konsa, mwen pral olye abstrè sa a lwen ak itilize sa a konstan sa, 985 01:01:30,660 --> 01:01:32,520 kòm non li sijere, pa janm chanje. 986 01:01:32,520 --> 01:01:35,870 Epi, koulye a pa gen pwoblèm si nou gen diferan ti tès ane sa a oswa pwochen, 987 01:01:35,870 --> 01:01:39,380 Mwen jis gen nan chanje li nan yon sèl kote moute isit la nan tèt. 988 01:01:39,380 --> 01:01:41,230 Se konsa, ki nan tout sa yon konstan se. 989 01:01:41,230 --> 01:01:47,100 Pandan se tan, karakteristik nan nouvo konseptyèl ekspresyon se sa yo ki an yon etalaj. 990 01:01:47,100 --> 01:01:55,030 Se konsa, parantèz yo kare, ban m 'sa a flote anpil, epi li pèmèt m' kolektivman rele yo klas isit la. 991 01:01:55,030 --> 01:01:56,720 Se konsa, kounye a kite a wè sa m pral fè a. 992 01:01:56,720 --> 01:01:59,220 Isit la nan liy 24 se nan konmansman an nan yon riban pou. 993 01:01:59,220 --> 01:02:03,380 >> Sa a se vrèman anpenpan pa gen anyen. Li nan jis lè l sèvi avèk ti tès olye pou yo yon nimewo difisil-kode. 994 01:02:03,380 --> 01:02:06,740 Men pa gen anyen entelektyèlman diferan gen soti nan semèn dènye a. 995 01:02:06,740 --> 01:02:11,650 Sa a se jis printf, se konsa printf ("Kwiz #% d nan% d:") 996 01:02:11,650 --> 01:02:16,670 paske mwen jis vle enprime soti, ban m 'poze nimewo 1 nan 2 ak Lè sa a, 2 nan 2. 997 01:02:16,670 --> 01:02:18,480 Se konsa, sa a se yon bagay piman ayestetik. 998 01:02:18,480 --> 01:02:21,000 Men, pati nan enteresan kounye a se nan liy 27. 999 01:02:21,000 --> 01:02:27,840 Yo nan lòd yo ranpli nan youn nan de placeholders yo ki gen yon valè k ap flote-pwen, 1000 01:02:27,840 --> 01:02:29,640 ou ankò itilize parantèz kare. 1001 01:02:29,640 --> 01:02:35,170 Nan ka sa a, mwen sèvi ak mwen paske sa a pou riban te kòmanse avèk mwen egal ki sa valè, aparamman? 1002 01:02:35,170 --> 01:02:36,670 [Elèv] 0. >> [Malan] 0. 1003 01:02:36,670 --> 01:02:40,990 Se konsa, sou iterasyon an premye nan sa a riban, li se tankou si m 'te ekri sa a nan kòd, 1004 01:02:40,990 --> 01:02:46,310 men sou iterasyon an dezyèm nan sa a riban, li se tankou si m 'te ekri sa a nan kòd m' yo. 1005 01:02:46,310 --> 01:02:49,970 Men reyalite a ke mwen lè l sèvi avèk yon varyab se pafè, paske, kòm non an sijere, 1006 01:02:49,970 --> 01:02:52,600 li nan divès valè li sou chak iterasyon, 1007 01:02:52,600 --> 01:02:55,900 Se konsa, mwen ap ranpli sa a etalaj yon sèl plas nan yon tan. 1008 01:02:55,900 --> 01:02:57,380 Ki sa sa etalaj sanble? 1009 01:02:57,380 --> 01:03:01,570 Rezon ki fè mwen te trase super rektang lan senp sou ekran an isit la anvan te pou rezon sa a. 1010 01:03:01,570 --> 01:03:05,590 Yon etalaj se jis yon ti moso nan memwa ki te swiv pa yon lòt ti moso nan memwa 1011 01:03:05,590 --> 01:03:08,570 ki te swiv pa yon lòt ti moso nan memwa ak pou fè. 1012 01:03:08,570 --> 01:03:13,120 Se konsa, si etalaj mwen, se yon nan gwosè 2 nan ka sa a isit la, tout mwen ta dwe ap fè 1013 01:03:13,120 --> 01:03:20,200 lè ou tape nan nòt egzamen mwen renmen isit la - mwen te resevwa 100 sou yon sèl sa a ak Lè sa a, mwen te resevwa yon 99 sa a sou youn - 1014 01:03:20,200 --> 01:03:24,970 Lè sa a, sa a memwa ka pa menm kapab itilize paske mwen te sèlman mande òdinatè a 1015 01:03:24,970 --> 01:03:26,840 pou yon etalaj de gwosè 2. 1016 01:03:26,840 --> 01:03:28,600 Moun sa yo ki kare se toujou la, dwa? 1017 01:03:28,600 --> 01:03:32,670 Ou toujou gen 2 jigokte nan RAM menm si w ap sèlman mande pou 2 flote. 1018 01:03:32,670 --> 01:03:36,840 Se konsa, lide nan dèyè ranje se ke òdinatè a jis pran yon ti moso nan memwa 1019 01:03:36,840 --> 01:03:41,340 ak Lè sa a, repartisan ki pi piti moso tounen nan fè bak nan do nan do. 1020 01:03:41,340 --> 01:03:43,310 Se konsa, ki nan tout sa yon etalaj se. 1021 01:03:43,310 --> 01:03:47,350 >> Li se yon moso vwazen nan andedan memwa nan ki ou ka mete bagay sa yo. 1022 01:03:47,350 --> 01:03:50,700 Sa a k ap pase nan Lè sa a, fè sèlman kèk aritmetik raz. 1023 01:03:50,700 --> 01:03:54,640 Si m 'desann isit la, sa a se kote mwen Lè sa a, repekte sou etalaj la. 1024 01:03:54,640 --> 01:03:58,020 Mwen vini ak somasyon nan tout valè yo nan etalaj la, 1025 01:03:58,020 --> 01:04:02,470 ak Lè sa a, mwen sèvi ak fonksyon an wonn isit la yo aktyèlman fè sòm total la divize pa ti tès. 1026 01:04:02,470 --> 01:04:06,320 Men, kite m 'balanse men m' nan ke kòm sòt de aritmetik ase pou kounye a. 1027 01:04:06,320 --> 01:04:08,370 Men, tout sa ki nan ap fè pou m 'finalman ap kalkile yon mwayèn. 1028 01:04:08,370 --> 01:04:13,580 Se konsa, premye egzamen plis egzamen dezyèm divize pa 2 ak Lè sa a, enprime li soti kòm yon int. 1029 01:04:13,580 --> 01:04:17,280 Men, nan kite l 'koulye a tranzisyon nan yon egzanp diferan rele string1, 1030 01:04:17,280 --> 01:04:20,700 ki pentire yon foto ki sanble men strings lè l sèvi avèk. 1031 01:04:20,700 --> 01:04:23,940 Kite m 'ale pi devan epi senplifye sa a sèlman pou moman yon. 1032 01:04:23,940 --> 01:04:27,090 Padonnen dekoupaj an pou kounye a. 1033 01:04:27,090 --> 01:04:30,870 Avi nan liy 19 nan egzanp sa a, mwen jwenn yon fisèl soti nan itilizatè lan. 1034 01:04:30,870 --> 01:04:34,640 Men, remake sa m ap fè pwochen nan liy 22 pati. 1035 01:04:34,640 --> 01:04:41,250 Mwen aktyèlman iteration soti nan mwen jiska - ak sa a se yon Trick nouvo - strlèn, longè fil. 1036 01:04:41,250 --> 01:04:44,880 Sa a se yon fonksyon ki vini ak C ke si ou pase l yon kòd, 1037 01:04:44,880 --> 01:04:47,730 li di ou kouman anpil karaktè yo nan ki fisèl. Sa a tout. 1038 01:04:47,730 --> 01:04:51,550 Ak lefèt ke li nan strlèn olye pou yo longè fil se jis paske li nan somèr plis. 1039 01:04:51,550 --> 01:04:55,100 Trant ane de sa, moun ki te renmen ekri bagay kòm suksen kòm sa posib, 1040 01:04:55,100 --> 01:04:57,630 Se konsa nou te kenbe ki konvansyon isit la. 1041 01:04:57,630 --> 01:05:00,660 mwen + + jis vle di kantite mwen nan chak iterasyon. 1042 01:05:00,660 --> 01:05:02,990 Epi, koulye a avi sa a, ki se reyèlman enteresan. 1043 01:05:02,990 --> 01:05:09,180 Nan liy 24, mwen di, "Odinatè, ban m 'yon karaktè, 8 Bits, ak rele li c." 1044 01:05:09,180 --> 01:05:12,630 Men, sa ki sa a sou bò nan men dwat-ou di a? 1045 01:05:13,490 --> 01:05:16,530 Nan lang angle, ki sa sa reprezante? 1046 01:05:16,530 --> 01:05:18,730 [Elèv] karaktè a an premye nan etalaj la. 1047 01:05:18,730 --> 01:05:20,790 Egzakteman. Ban m 'pèsonaj la an premye nan etalaj la. 1048 01:05:20,790 --> 01:05:24,090 Oswa, plis jeneralman, ban m 'pèsonaj la on nan etalaj la. 1049 01:05:24,090 --> 01:05:26,100 Ak reyalize li enpòtan kounye a ke kòm syantis konpitè, 1050 01:05:26,100 --> 01:05:27,890 nou ap aktyèlman konte soti nan 0. 1051 01:05:27,890 --> 01:05:29,720 >> Ou pa gen diskresyon a kounye a yo kòmanse fè sa. 1052 01:05:29,720 --> 01:05:34,160 Koulye a, ou gen konpòte li yon jan an akò avèk egzijans òdinatè a ak konte ki ant 0 1053 01:05:34,160 --> 01:05:38,180 paske [0] a pwal pèsonaj la an premye nan yon fisèl, 1054 01:05:38,180 --> 01:05:42,150 [1] a pwal dezyèm lan, [2] a pwal twazyèm lan, ak pou fè. 1055 01:05:42,150 --> 01:05:49,720 Se konsa, pwogram sa a, si mwen konpile li, sa a se ankò string1, sa fè string1, 1056 01:05:49,720 --> 01:05:54,670 e kounye a, mwen te kouri string1 nan fennèt tèminal m 'yo. 1057 01:05:54,670 --> 01:05:58,330 Li nan ap tann pou D ', se konsa mwen pral tape nan David la, Mete, 1058 01:05:58,330 --> 01:06:02,540 epi kounye a li simagri David tout sou liy diferan paske avi sa m ap fè a. 1059 01:06:02,540 --> 01:06:05,820 Mwen enprime yon karaktè nan yon tan. 1060 01:06:05,820 --> 01:06:10,100 Nou pa pral antre detay jodi a sou sa a, men mwen efase yon moman Anons sa pibliye depi chèk sa-a isit la. 1061 01:06:10,100 --> 01:06:15,480 Li sanble ke si itilizatè a se dezòd, konfwontasyon, oswa jis konfonn, 1062 01:06:15,480 --> 01:06:20,210 ou ka aktyèlman fail bay yon afè de kèk longè. 1063 01:06:20,210 --> 01:06:22,860 Si ou frape kle a mal sou klavye a, ou ta ka bay pa gen okenn fil nan tout, 1064 01:06:22,860 --> 01:06:26,950 oswa si w ap move, ou ta ka eseye keratin nan vo yon jigokte nan yon redaksyon 1065 01:06:26,950 --> 01:06:29,290 ranpli sa a fisèl, epi si òdinatè a kouri soti nan memwa, 1066 01:06:29,290 --> 01:06:32,710 Li sanble ke nou pwal jwenn tounen sa a valè espesyal ki rele nil. 1067 01:06:32,710 --> 01:06:35,580 Se konsa, pou kounye a, jis konnen ke gen nan sa a valè espesyal ki rele nil 1068 01:06:35,580 --> 01:06:39,580 ki pral pèmèt nou yo tcheke lè nou ap soti nan memwa, pami lòt bagay. 1069 01:06:39,580 --> 01:06:45,630 Men, si mwen louvri moute kounye a string2, remake yon diferans ki genyen isit la. 1070 01:06:45,630 --> 01:06:48,210 Avi yon diferans ki genyen isit la ak string2. 1071 01:06:48,210 --> 01:06:51,340 Avèk string2, sa a pou riban se yon ti kras diferan. 1072 01:06:51,340 --> 01:06:55,010 >> Kite m 'efase NULLs yo pou ke nou ka pale sou sa yo yon lòt lè. 1073 01:06:55,010 --> 01:06:57,800 Ki sa ki nan diferan sou la pou riban tan sa a? 1074 01:06:59,620 --> 01:07:01,670 Mwen ka tounen nan egzanp lan anvan yo. 1075 01:07:01,670 --> 01:07:08,580 Se konsa, sa a, se vèsyon 2, sa a se vèsyon 1. 1, 2. 1076 01:07:08,580 --> 01:07:11,980 1, 2. 1077 01:07:13,520 --> 01:07:16,660 Rele nan strlèn se ki kote? 1078 01:07:16,660 --> 01:07:18,860 Li nan nan premye pati nan an pou riban. 1079 01:07:18,860 --> 01:07:21,830 Nenpòt panse kòm poukisa m ap fè sa? Yeah. 1080 01:07:21,830 --> 01:07:24,560 [Elèv] Se konsa, ou pa rele fonksyon an chak fwa sèl. 1081 01:07:24,560 --> 01:07:26,440 [Malan] Se konsa, nou pa rele fonksyon an chak fwa sèl. Egzakteman. 1082 01:07:26,440 --> 01:07:28,300 Sonje soti nan pou pasan yo ke yo ap super senp 1083 01:07:28,300 --> 01:07:31,770 yon fwa ou sòt de konprann ke sa a se inisyalizasyon a, kondisyon an, ak mete ajou nan. 1084 01:07:31,770 --> 01:07:34,750 Pwoblèm lan se ke kondisyon an k ap pase sou chak iterasyon nan riban an. 1085 01:07:34,750 --> 01:07:40,010 Se konsa, nan egzanp sa a isit la, sa ki mal sou lefèt ke sa a se kondisyon mwen an? 1086 01:07:40,010 --> 01:07:41,830 [Elèv] Ou ap rele strlèn. 1087 01:07:41,830 --> 01:07:44,340 [Malan] Ou ap rele strlèn ankò, li ankò epi ankò. 1088 01:07:44,340 --> 01:07:47,410 Men, yon fwa mwen te tape nan David la, longè a nan ki fisèl se 5, 1089 01:07:47,410 --> 01:07:49,650 e li pa nan pral chanje sou chak iterasyon nan riban an 1090 01:07:49,650 --> 01:07:51,670 paske fisèl la se toujou D-yon-v-m-d. 1091 01:07:51,670 --> 01:07:55,320 Se konsa, sa a se yon allusion nan sa k ap pase yo vin yon lide de pli zan pli enpòtan 1092 01:07:55,320 --> 01:08:00,410 ke yo rekonèt kòm yon desizyon konsepsyon kote jis pa fè òdinatè a fè nesesè travay. 1093 01:08:00,410 --> 01:08:03,920 >> Menm jan yon preview glisman nan pset2 pset2, nan edisyon an estanda 1094 01:08:03,920 --> 01:08:07,030 ki pral defi ou a aktyèlman aplike kèk nimewo nan Algorithms, 1095 01:08:07,030 --> 01:08:10,410 kèk nimewo nan algoritm chifreman, pou ke ou ka tou de ankripte 1096 01:08:10,410 --> 01:08:13,840 ak mesaj dekriptaj sekrè anpil tankou Ralphie a yon sèl gen Decoder. 1097 01:08:13,840 --> 01:08:16,810 Nan edisyon an aker nan pset2, nou pwal ale yon ti kras pi lwen. 1098 01:08:16,810 --> 01:08:19,649 Nou pral lage ou yon dosye soti nan yon sistèm òdinatè aktyèl 1099 01:08:19,649 --> 01:08:23,479 ki gen yon pakèt antye nan usernames ak aktyèl modpas chiffres, 1100 01:08:23,479 --> 01:08:26,939 ak defi a pou edisyon an aker a pwal krak sa yo modpas 1101 01:08:26,939 --> 01:08:33,200 ak konnen sa ki chifreman oswa sa ki sekrè te itilize yo aktyèlman jenere sa yo modpas. 1102 01:08:33,200 --> 01:08:36,109 Epi nou ap ale nan fè sa a pa lè l sèvi avèk yon karakteristik nouvo isit la nan C 1103 01:08:36,109 --> 01:08:40,630 ke mwen pral ba ou jis yon Demo nan li te ye tankou lòd-liy agiman. 1104 01:08:40,630 --> 01:08:44,229 Li sanble soti, tankou kèk nan ou ka gen pou wè nan seksyon oswa nan liv lekòl, 1105 01:08:44,229 --> 01:08:48,260 prensipal pa toujou gen yo dwe anile nan parantèz. 1106 01:08:48,260 --> 01:08:52,430 Li sanble ke prensipal kapab tou ekri tankou sa a, ak de agiman, 1107 01:08:52,430 --> 01:08:56,870 arg ak argv, kote arg se nimewo a nan mo 1108 01:08:56,870 --> 01:09:00,020 ke ou tape apre non pwogram nan sou liy lòd ou 1109 01:09:00,020 --> 01:09:03,420 ak argv se mo sa yo vrè. 1110 01:09:03,420 --> 01:09:07,540 Epi kòm parantèz yo kare gen sijere, argv se aparamman yon etalaj. 1111 01:09:07,540 --> 01:09:12,210 Li nan ale nan yon fisèl apre yon fisèl apre yon fisèl nan memwa. 1112 01:09:12,210 --> 01:09:16,010 >> Se konsa, sa nou pral kapab fè kòmanse avèk pset 2 se yon bagay tankou sa a. 1113 01:09:16,010 --> 01:09:21,350 Si mwen fè argv1, ki se yon egzanp nou pral tounen vin jwenn nan Lendi, ak kouri li, 1114 01:09:21,350 --> 01:09:23,370 remake ke li pa sanble yo fè anyen ankò. 1115 01:09:23,370 --> 01:09:25,490 Li jis simagri soti non pwòp li yo. 1116 01:09:25,490 --> 01:09:31,479 Men, si mwen di orevwa klas, avi ke pwogram sa aparamman iterates 1117 01:09:31,479 --> 01:09:35,479 sou chak nan mo sa yo ki te tape nan èd memwa a. 1118 01:09:35,479 --> 01:09:41,630 Ak mwayen yo pa ki nou pral jwenn aksè nan mo ki te itilizatè a tape nan èd memwa a 1119 01:09:41,630 --> 01:09:49,160 se pa chanje prensipal kòmanse nan fen semèn sa soti nan int prensipal (san valè) Int prensipal (arg, argv) 1120 01:09:49,160 --> 01:09:52,050 e konsa yo pral fèt bay lòd-liy agiman. 1121 01:09:52,050 --> 01:09:57,100 E yon fwa w jwenn vrèman sofistike nan nivo sa a, ou pral kapab ekri pwogram reyèlman tripi 1122 01:09:57,100 --> 01:09:59,610 tankou yon sèl sa a isit la, ki ale pi wo a ak pi lwen pase 1123 01:09:59,610 --> 01:10:03,940 kèk nan fonctionnalités a nou te fè konsa byen lwen men yo tout byen ki pwisan. 1124 01:10:03,940 --> 01:10:08,950 >> Se konsa, nou pral kite sa-a ak sa-a sou ekran an, epi nou pral wè ou nan Lendi. 1125 01:10:17,570 --> 01:10:20,000 >> [CS50.TV]