1 00:00:00,000 --> 00:00:11,280 2 00:00:11,280 --> 00:00:13,650 >> Oratè 1: Tout dwa. 3 00:00:13,650 --> 00:00:14,390 Byenveni tounen. 4 00:00:14,390 --> 00:00:19,260 Sa a se Semèn De nan CS50, e nou gen konsa byen lwen te lè l sèvi avèk fonksyon men 5 00:00:19,260 --> 00:00:20,830 lajman pran yo pou yo akòde. 6 00:00:20,830 --> 00:00:23,430 Nou te itilize printf ki te gen nan efè segondè nan enprime 7 00:00:23,430 --> 00:00:24,110 bagay sa yo sou ekran an. 8 00:00:24,110 --> 00:00:25,790 Nou te itilize jwenn-Int, jwenn flote. 9 00:00:25,790 --> 00:00:29,230 >> Men, sa ki si ou aktyèlman vle kreye fonksyon pwòp ou a, tankou kèk ladan 10 00:00:29,230 --> 00:00:31,740 ou ta ka te deja kòmanse fè pou Set Pwoblèm Yon, menm si 11 00:00:31,740 --> 00:00:33,140 pa entèdi nesesè? 12 00:00:33,140 --> 00:00:37,150 Oke, kite la ale pi devan epi revize ki pwoblèm nan jis mande itilizatè a pou 13 00:00:37,150 --> 00:00:40,660 non yo ak enprime yon bagay sou la ekran, men eseye faktè soti kèk 14 00:00:40,660 --> 00:00:44,000 nan menm aksyon an ke nou te gen wè nan Kòd nou konsa byen lwen. 15 00:00:44,000 --> 00:00:45,120 Se konsa, pa sa mwen vle di sa ki annapre yo. 16 00:00:45,120 --> 00:00:47,315 >> Mwen pral ale pi devan epi kreye yon nouvo pwogram, jis rele 17 00:00:47,315 --> 00:00:49,320 li hello.c kòm dabitid. 18 00:00:49,320 --> 00:00:53,730 Mwen pral ale pi devan epi bay tèt mwen gen ladan yo estanda io.h nan tèt la. 19 00:00:53,730 --> 00:00:57,040 Mwen pral tou bay tèt mwen preemptively bibliyotèk la CS50 pou ke 20 00:00:57,040 --> 00:00:59,080 Mwen pa jwenn rele nan pa du la. 21 00:00:59,080 --> 00:01:02,400 Epi, koulye a mwen pral ale pi devan ak deklare Int, prensipal la, anile. 22 00:01:02,400 --> 00:01:09,020 >> Lè sa a, nan isit la, sa a se kote mwen vle yo kòmanse konfye fonksyonalite 23 00:01:09,020 --> 00:01:12,090 kèk fonksyon lòt pou mwen menm mwen menm ki pral ekri men sa pa 24 00:01:12,090 --> 00:01:13,820 kounye a egziste. 25 00:01:13,820 --> 00:01:19,210 Pou egzanp, sipoze ke mwen te vle ekri yon fonksyon ki pèmèt m 'nan 26 00:01:19,210 --> 00:01:23,830 enprime soti hello, vigil, ak Lè sa a, Non kèk itilizatè a. 27 00:01:23,830 --> 00:01:29,010 Olye ke kontinye fè printf hello,% s, li pa t li dwe nice si 28 00:01:29,010 --> 00:01:33,380 te gen jis yon fonksyon rele pa printf men non ekri an lèt detache? 29 00:01:33,380 --> 00:01:36,600 >> Se konsa, nan lòt mo, mwen vle pou kapab ekri yon pwogram ki fè yon ti kras 30 00:01:36,600 --> 00:01:37,710 yon bagay tankou sa. 31 00:01:37,710 --> 00:01:42,070 Premyèman, mwen pral di printf ou Non, kidonk pouse itilizatè a 32 00:01:42,070 --> 00:01:46,150 ban m 'non li oswa li, ak Lè sa a, mwen se pwal itilize s yo fisèl abitye nan 33 00:01:46,150 --> 00:01:47,290 deklare yon fisèl. 34 00:01:47,290 --> 00:01:50,420 Ban m 'yon varyab nan fisèl kalite, rele li a, ak magazen nan ki nan 35 00:01:50,420 --> 00:01:52,120 lakòz pou rezidan yo rele jwenn fisèl. 36 00:01:52,120 --> 00:01:56,060 Men koulye a, nan semèn sot pase yo, mwen ta gen yon ti jan tediously fè hello,% s / n. 37 00:01:56,060 --> 00:01:58,630 38 00:01:58,630 --> 00:02:02,570 >> Ak nan lòt mo, nou te wè sa a egzanp yon pakèt moun sou fwa, ak li nan yon 39 00:02:02,570 --> 00:02:05,280 trivial egzanp paske gen sèlman yon sèl liy nan Kòd se konsa li a vrèman pa yon 40 00:02:05,280 --> 00:02:06,860 gwo kontra kenbe tape nan ankò. 41 00:02:06,860 --> 00:02:09,990 Men, si ke sa a liy nan Kòd aktyèlman yo te vin tounen yon chay, ak 42 00:02:09,990 --> 00:02:12,900 li pa yon sèl liy nan Kòd men li la 10 liy nan Kòd yon semèn koup soti nan kounye a, 43 00:02:12,900 --> 00:02:15,190 ak w ap jis ap resevwa fatige nan w kopye e kole oswa 44 00:02:15,190 --> 00:02:17,180 retyping ki Kòd menm. 45 00:02:17,180 --> 00:02:22,100 Pa ta bon pou li olye pou yo fè printf hello,% s ak pou fè, 46 00:02:22,100 --> 00:02:26,500 pa t 'vle li dwe nice si te gen jis yon fonksyon rele ekri ak lèt ​​detache ki 47 00:02:26,500 --> 00:02:27,560 pran yon agiman - 48 00:02:27,560 --> 00:02:29,120 nan lòt mo, li pran opinyon - 49 00:02:29,120 --> 00:02:30,620 ak Lè sa a virgules. 50 00:02:30,620 --> 00:02:33,240 Se konsa, ki fonksyon, pa t 'vle li dwe nice si ki te egziste? 51 00:02:33,240 --> 00:02:36,690 Lè sa a, mwen pa ta gen enkyete sou sa printf se, ki sa ki% s ak tout 52 00:02:36,690 --> 00:02:39,400 sa yo complexités ki pa tout sa ki enteresan. 53 00:02:39,400 --> 00:02:40,570 Yo se itil. 54 00:02:40,570 --> 00:02:44,700 >> Se konsa, ekri ak lèt ​​majiskil, malerezman, pa t ' envante kèk 40 ane plis de sa. 55 00:02:44,700 --> 00:02:45,980 Pa gen moun ki te panse yo ekri li. 56 00:02:45,980 --> 00:02:48,300 Men, sa a bote nan li te gen yon lang programmation, jis tankou nan 57 00:02:48,300 --> 00:02:52,930 Grafouyen ou ka defini blòk koutim, se konsa nan C ak sa ki pi lang nenpòt ki, ou kapab 58 00:02:52,930 --> 00:02:57,260 defini fonksyonalite pwòp ou a, kapab ou defini fonksyon pwòp ou yo. 59 00:02:57,260 --> 00:03:01,710 Se konsa, menm si nou jwenn prensipal pa otomatikman pou gratis, nou ka deklare 60 00:03:01,710 --> 00:03:02,730 fonksyon pwòp nou yo. 61 00:03:02,730 --> 00:03:05,670 >> Se konsa, mwen pral fè kèk chanm moute isit la moute tèt, ak mwen pral deklare mwen 62 00:03:05,670 --> 00:03:08,210 pwòp fonksyon ki nan pral gade yon ti kras etranj nan premye men nou pwal vini 63 00:03:08,210 --> 00:03:09,400 tounen nan sa a depi lontan anvan. 64 00:03:09,400 --> 00:03:12,310 Mwen pral di anile, kidonk ki endike fonksyon sa a fè 65 00:03:12,310 --> 00:03:16,040 yon bagay, gen yon efè segondè, men li pa retounen yon bagay m 'nan a 66 00:03:16,040 --> 00:03:18,810 menm fason ki jwenn Int oswa jwenn fisèl tèt li ap fè. 67 00:03:18,810 --> 00:03:22,450 Ak mwen se pral bay fonksyon sa a yon Non Non ekri an lèt detache, ak mwen pral 68 00:03:22,450 --> 00:03:26,470 presize ke sa a nèg a pral pran yon kòd, ak mwen pral rele ki 69 00:03:26,470 --> 00:03:27,600 Non fisèl. 70 00:03:27,600 --> 00:03:32,100 Mwen te kapab rele li anyen mwen vle, men mwen vle Kòd mwen yo dwe pwòp tèt ou-ki dokimante. 71 00:03:32,100 --> 00:03:34,770 Nan lòt mo, si yonn nan nou te louvri sa a ranpli, li li l, ou kapab 72 00:03:34,770 --> 00:03:39,020 sòt de dégager nan non an nan ki D 'ki wòl li nan sipoze jwe. 73 00:03:39,020 --> 00:03:42,270 >> Epi, koulye a anba a ki, mwen pral louvri Curly atèl ak fèmen atèl Curly, 74 00:03:42,270 --> 00:03:47,140 yo ak pou remake mwen te swiv menm bagay la tou modèl sou liy kat nan sèt kòm 75 00:03:47,140 --> 00:03:51,622 Mwen te swiv pou yon semèn bon plis kounye a ant, di, liy nèf ak 76 00:03:51,622 --> 00:03:53,400 14 ki konpoze prensipal la. 77 00:03:53,400 --> 00:03:56,160 Nan lòt mo, ekri non se yon lòt fonksyon. 78 00:03:56,160 --> 00:03:58,990 Koulye a, du a pa pral konnen yo rele bagay sa a otomatikman 79 00:03:58,990 --> 00:04:02,670 paske mwen literalman jis envante li, men li pral konnen toujou yo rele prensipal 80 00:04:02,670 --> 00:04:08,710 otomatikman, ak Lè sa a, nan kou nan liy 13, Mwen rele fonksyon m 'pwòp. 81 00:04:08,710 --> 00:04:12,805 Epi paske mwen te deklare ke fonksyon moute sou liy kat anvan prensipal yo, 82 00:04:12,805 --> 00:04:16,579 sa a ki pral anseye du a sa quote, unquote, "ekri ak lèt ​​detache Non" 83 00:04:16,579 --> 00:04:18,140 vle di epi ki sa li ta dwe fè. 84 00:04:18,140 --> 00:04:22,700 Se konsa, mwen se sòt de bay li yon koutim nouvo bloke nan yon kontèks la nan, di, grate. 85 00:04:22,700 --> 00:04:27,240 >> Se konsa, nan isit la, mwen ka mete sa trè komen oswa renouvlab modèl nan kòd Mwen kenbe 86 00:04:27,240 --> 00:04:32,300 ekri nan klas la, printf % S hello,% s / n ", - 87 00:04:32,300 --> 00:04:36,720 88 00:04:36,720 --> 00:04:37,590 sa m 'vle mete isit la? 89 00:04:37,590 --> 00:04:39,200 S? 90 00:04:39,200 --> 00:04:41,420 Se konsa, mwen vle mete non yo nan kontèks sa a. 91 00:04:41,420 --> 00:04:43,440 Se konsa, remake yon ti jan nan yon dikotomi isit la. 92 00:04:43,440 --> 00:04:47,680 Paske mwen deklare fonksyon m 'pwòp epi mwen te yon ti jan abitrèman rele 93 00:04:47,680 --> 00:04:50,880 li a, ekri non, epi paske mwen te espesifye nan parantèz yo ke sa a 94 00:04:50,880 --> 00:04:55,035 fonksyon pran youn agiman, ki kalite ki se yon fisèl - se konsa li a yon mo 95 00:04:55,035 --> 00:05:00,010 oubyen yon fraz oswa yon bagay tankou sa - ak M ap rele ke non agiman, ki 96 00:05:00,010 --> 00:05:04,770 vle di varyab la sèlman ki la nan sijè ki abòde, se konsa pale, se non. 97 00:05:04,770 --> 00:05:07,780 >> S sèlman egziste ant ki de aparèy òtopedik Curly, nan kou? 98 00:05:07,780 --> 00:05:12,990 Oke reyèlman, jis tankou liy 10 pou rive 14, Se konsa, jis renmen nan Lendi pa ka sèvi ak 99 00:05:12,990 --> 00:05:17,650 S, men sa m 'ka fè se pase S nan non ekri an lèt detache. 100 00:05:17,650 --> 00:05:21,030 Ekri non jis pou k ap pase nan bay li yon alyas, yon synonym, yon tinon, 101 00:05:21,030 --> 00:05:24,400 rele li non, e kounye a, lè l sèvi avèk li nan liy sa a. 102 00:05:24,400 --> 00:05:26,840 Se konsa, kounye a kite m 'sove sa a, rale soti. 103 00:05:26,840 --> 00:05:31,250 >> Kite m 'ale pi devan epi fè hello. 104 00:05:31,250 --> 00:05:32,400 Sanble bon. 105 00:05:32,400 --> 00:05:36,110 Pa t 'krache soti nenpòt ki erè. . / Alo antre. 106 00:05:36,110 --> 00:05:37,020 Ki sa ki nan non mwen? 107 00:05:37,020 --> 00:05:38,060 David la. 108 00:05:38,060 --> 00:05:39,270 Men, alo David la. 109 00:05:39,270 --> 00:05:41,820 Se konsa, pa tout sa ki enteresan, men jis panse ke kounye a. 110 00:05:41,820 --> 00:05:44,310 Ou kounye a gen ki engredyan menm jan nou te fè nan scratches 111 00:05:44,310 --> 00:05:45,420 fè fonksyon pwòp nou yo. 112 00:05:45,420 --> 00:05:46,770 >> Men, gen yon ti jan nan yon gotcha. 113 00:05:46,770 --> 00:05:50,620 Sipoze ke mwen pa te reyèlman panse sa a nan ak mwen aktyèlman san yo pa 114 00:05:50,620 --> 00:05:54,250 vrèman panse sou sa te ekri ki fonksyon desann isit la. 115 00:05:54,250 --> 00:05:55,420 Santi parfe ki rezonab. 116 00:05:55,420 --> 00:05:58,440 Nan scratches pa gen okenn nosyon nan kote nan Scripts ou. 117 00:05:58,440 --> 00:06:00,670 Ou te kapab mete yon kanpe, isit la, yon sèl moute isit la, yon sèl moute isit la, epi li ta ka kòmanse 118 00:06:00,670 --> 00:06:03,310 gade yon sal ti kras si ou pa fè sa mete l 'soti nètman, men li pa fè sa 119 00:06:03,310 --> 00:06:05,910 gen pwoblèm kote fizikman Scripts yo yo te sou ekran an. 120 00:06:05,910 --> 00:06:09,660 Malerezman nan C - ak sa a se kontrèman ak lang tankou Java ak Piton 121 00:06:09,660 --> 00:06:13,600 ak lòt moun ke ou ta ka dwe abitye ak - malerezman nan C, lòd fè 122 00:06:13,600 --> 00:06:15,830 gen pwoblèm paske gade sa ki nan pral rive kounye a. 123 00:06:15,830 --> 00:06:19,010 >> Default fonksyon nan ki k ap pase egzekite se, nan kou, prensipal la. 124 00:06:19,010 --> 00:06:22,290 Main ki pral rele non ekri an lèt detache sou liy uit, men malerezman, nan 125 00:06:22,290 --> 00:06:26,660 du pa pral menm konnen ke Non ekri an lèt detache egziste jiskaske li vin nan liy 11, 126 00:06:26,660 --> 00:06:28,520 ki malerezman se yo pral twò ta. 127 00:06:28,520 --> 00:06:30,660 Se konsa, kite a fè fè hello. 128 00:06:30,660 --> 00:06:32,950 Epi, koulye a modi, erè de pwodwi. 129 00:06:32,950 --> 00:06:36,050 Se konsa, kounye a kite m 'woulo liv jiska trè a premye, menm jan nou ta dwe toujou fè, ak 130 00:06:36,050 --> 00:06:39,560 remake ke li la kriyan nan m ', "Enplisit deklarasyon nan fonksyon 131 00:06:39,560 --> 00:06:40,540 ekri non. " 132 00:06:40,540 --> 00:06:43,860 >> Se konsa, nou te wè mesaj sa a anvan, enplisit deklarasyon nan fonksyon. 133 00:06:43,860 --> 00:06:48,080 Lè yo te wè nou ki kalite erè? 134 00:06:48,080 --> 00:06:49,180 Lè m 'pa t' genyen ladan yo yon bibliyotèk la. 135 00:06:49,180 --> 00:06:53,470 Si mwen bliye cs50.h ak mwen ta jwenn rele nan pou jwenn fisèl oswa pou w jwenn Int. 136 00:06:53,470 --> 00:06:56,880 Men, nan ka sa a, fonksyon sa a ekri an lèt detache Non se pa nan yon bibliyotèk, dwa? 137 00:06:56,880 --> 00:07:00,230 Li nan literalman nan sa a ranpli, se konsa sa ki nan vrèman pwoblèm nan? 138 00:07:00,230 --> 00:07:04,660 >> Oke, malerezman nan C, li pran ou Se konsa èkstrèmeman literalman ke si ou 139 00:07:04,660 --> 00:07:08,640 vle yon fonksyon rele ekri an lèt detache egziste, ou swa gen aplike 140 00:07:08,640 --> 00:07:11,940 ki fonksyon nan tèt la anpil nan ou Kòd pou ke li nan aksesib a pi ba 141 00:07:11,940 --> 00:07:15,070 fonksyon, men franchman, ki vin peu trè vit. 142 00:07:15,070 --> 00:07:18,160 Pèsonèlman, mwen renmen mete prensipal premye paske lè sa a li trè klè ki sa sa a 143 00:07:18,160 --> 00:07:19,890 pwogram fè sa ki nan premye gade. 144 00:07:19,890 --> 00:07:23,290 Men, plis, ou kapab jwenn nan kwen etranj ka kote si x vle rele 145 00:07:23,290 --> 00:07:27,530 y men y ta ka rele x, ou jis fizikman pa kapab aktyèlman mete yon sèl 146 00:07:27,530 --> 00:07:28,540 pi wo a lòt la. 147 00:07:28,540 --> 00:07:31,230 >> Men, li vire soti nan C, nou ka rezoud sa a anpil tou senpleman. 148 00:07:31,230 --> 00:07:34,010 Mwen pral mete yon ti kras nan espas Moute bò isit, epi mwen jis ale nan 149 00:07:34,010 --> 00:07:38,170 preemptively, kwake yon ti jan redundantly, ale nan anseye a 150 00:07:38,170 --> 00:07:42,320 du ke gen egziste yon fonksyon rele ekri an lèt detache, li pran yon kòd, 151 00:07:42,320 --> 00:07:46,330 ak Mwen pral rele li non virgules. 152 00:07:46,330 --> 00:07:50,220 >> Se konsa, sa a kounye a nan liy kat, ki nou pa gen pou wè anvan, se yon deklarasyon 153 00:07:50,220 --> 00:07:53,940 nan yon non ekri an lèt detache fonksyon, men li la sèlman yon pwomès ke sa a fonksyon pral 154 00:07:53,940 --> 00:07:56,620 evantyèlman dwe defini, evantyèlman kapab aplike. 155 00:07:56,620 --> 00:08:00,180 Sa a koulye a, mwen ka kite pou kont li paske kounye a sa a se definisyon an, nan 156 00:08:00,180 --> 00:08:04,090 aplikasyon, sòt de mil ki sot pase a nan aplikasyon an nan sa a 157 00:08:04,090 --> 00:08:05,130 patikilye fonksyon. 158 00:08:05,130 --> 00:08:08,450 Se konsa, franchman li nan estipid, li la anmèdan, men sa a se yon fason a C se, epi li 159 00:08:08,450 --> 00:08:12,050 paske li pran ou anpil literalman epi, kòm yon òdinatè franchman ta dwe, 160 00:08:12,050 --> 00:08:16,020 sèlman ekzakteman ki sa ou di li nan fè, ak pou ke kòmann lan, se enpòtan. 161 00:08:16,020 --> 00:08:18,940 >> Se konsa, kenbe ki nan tèt ou e ankò, kòmanse remake repetition a nan modèl. 162 00:08:18,940 --> 00:08:21,850 Chans yo ou pral, si ou gen pa deja, kòmanse rankontre mesaj 163 00:08:21,850 --> 00:08:24,700 tankou sa a ki nan premye gade sanble konplètman skre, men si ou kòmanse 164 00:08:24,700 --> 00:08:29,000 gade pou mo sa yo kle tankou "Enplisit deklarasyon," mansyone nan yon 165 00:08:29,000 --> 00:08:32,380 fonksyon nan ka sa a - ak franchman, ou pafwa menm jwenn yon vèt ti kras 166 00:08:32,380 --> 00:08:35,010 senbòl kawòt ki di ou kote pwoblèm nan pwobableman se - 167 00:08:35,010 --> 00:08:40,980 ou ka kòmanse travay fason ou nan ankò mesaj erè invizibl. 168 00:08:40,980 --> 00:08:45,860 Nenpòt kesyon sou sa ou ekri yo pwòp fonksyon nan fason sa a? 169 00:08:45,860 --> 00:08:47,540 >> Se pou yo fè yon bagay ki nan yon ti kras pi plis irezistib. 170 00:08:47,540 --> 00:08:51,760 Olye de sa pase jis fè yon bagay ki gen yon efè segondè nan enprime, kite m 'ale 171 00:08:51,760 --> 00:08:55,340 devan epi sove yon dosye nouvo, epi n ap rele sa positive.c, menm si li nan 172 00:08:55,340 --> 00:08:57,600 pral gen yon ti kras diferan kont dènye fwa. 173 00:08:57,600 --> 00:09:01,910 Ak tan sa a, mwen vle re-aplike positive.C egzanp dènye fwa a, ki 174 00:09:01,910 --> 00:09:04,430 se fòs itilizatè a bay m 'yon nonm antye ki pozitif. 175 00:09:04,430 --> 00:09:07,280 Men, mwen te sèvi ak jwenn Int tan sot pase yo. 176 00:09:07,280 --> 00:09:10,780 Pa li ta yo te bèl si te gen yon fonksyon rele jwenn pozitif Int 177 00:09:10,780 --> 00:09:13,610 ke mwen te ka jis konfye sa a moso nan fonctionnalités a? 178 00:09:13,610 --> 00:09:16,480 Se konsa, diferans lan isit la se nou pral aplike jwenn pozitif Int, men kontrèman ak 179 00:09:16,480 --> 00:09:20,330 Non ekri ak lèt ​​detache ki te gen yon efè segondè - li pa t 'tounen yon bagay m' tankou 180 00:09:20,330 --> 00:09:21,710 yon nimewo oswa yon fil - 181 00:09:21,710 --> 00:09:25,510 jwenn pozitif Int se, nan kou, ale nan retounen, èspere ke, yon Int pozitif. 182 00:09:25,510 --> 00:09:26,170 >> Se konsa, kite a fè sa. 183 00:09:26,170 --> 00:09:30,840 Mete cs50.h, Mete estanda io.h. 184 00:09:30,840 --> 00:09:33,520 Int prensipal anile. 185 00:09:33,520 --> 00:09:42,160 Epi, koulye a nan isit la, mwen pral ale pi devan ak kite a di Int, rele l 'n, egal 186 00:09:42,160 --> 00:09:44,270 jwenn pozitif Int. 187 00:09:44,270 --> 00:09:49,080 Men, jis tankou jwenn Int deja egziste paske anplwaye a te ekri l ', mwen pral 188 00:09:49,080 --> 00:09:53,950 asime pou moman sa a ki jwenn Int pozitif ki egziste, e kounye a, mwen pral 189 00:09:53,950 --> 00:09:57,730 ale pi devan epi di printf, mèsi pou% a mwen / n ", n. 190 00:09:57,730 --> 00:10:02,940 191 00:10:02,940 --> 00:10:07,770 >> Se konsa, kounye a si mwen konpile pwogram sa a, sa ki ki pral rive nan tèminal mwen 192 00:10:07,770 --> 00:10:09,075 fenèt nan pati anba a nan ekran an? 193 00:10:09,075 --> 00:10:11,580 194 00:10:11,580 --> 00:10:13,900 Mwen pral pwobableman jwenn ki menm erè tankou anvan. 195 00:10:13,900 --> 00:10:14,570 Se konsa, kite nan eseye sa a. 196 00:10:14,570 --> 00:10:16,450 Fè pozitif. 197 00:10:16,450 --> 00:10:19,900 Li di ankò: enplisit deklarasyon nan fonksyon, jwenn pozitif Int. 198 00:10:19,900 --> 00:10:21,970 Se konsa, nou kapab rezoud sa a nan yon koup nan fason. 199 00:10:21,970 --> 00:10:27,310 Mwen pral kenbe l senp ak jis mete deklarasyon m 'yo moute isit la epi pou yo jwenn 200 00:10:27,310 --> 00:10:28,120 pozitif Int. 201 00:10:28,120 --> 00:10:29,720 Mwen bezwen siyati sa yo rele. 202 00:10:29,720 --> 00:10:32,410 Siyati a jis vle di estetik yo nan la 203 00:10:32,410 --> 00:10:34,090 premye liy nan pwogram nan. 204 00:10:34,090 --> 00:10:37,420 Se konsa, sa ta dwe pran pozitif Int retounen? 205 00:10:37,420 --> 00:10:37,970 >> Se konsa, yon Int. 206 00:10:37,970 --> 00:10:41,540 Mwen vle di depreferans, li ta retounen yon bagay tankou Int pozitif, men sa 207 00:10:41,540 --> 00:10:42,160 pa egziste. 208 00:10:42,160 --> 00:10:45,280 Nou pa te wè ke nan mitan done nou an kalite, se konsa nou gen kontra avèk la 209 00:10:45,280 --> 00:10:47,170 reyalite ke nou gen anpil kalite done yo travay avèk. 210 00:10:47,170 --> 00:10:50,360 Men, nou ka retounen yon Int ak jis konfyans ke li pral pozitif. 211 00:10:50,360 --> 00:10:52,690 Li k ap pase yo dwe rele jwenn pozitif Int. 212 00:10:52,690 --> 00:10:55,122 >> Epi, koulye a ki jan sou agiman li yo? 213 00:10:55,122 --> 00:10:56,440 li pran okenn opinyon? 214 00:10:56,440 --> 00:10:58,280 li bezwen nenpòt opinyon? 215 00:10:58,280 --> 00:11:00,900 Se konsa, li pa bezwen konnen nan anyen davans. 216 00:11:00,900 --> 00:11:03,220 Jwenn fisèl pa, jwenn Int pa fè sa. 217 00:11:03,220 --> 00:11:06,430 Printf fè - li bezwen gen kèk D 'te pase nan li - ak non ekri an lèt detache 218 00:11:06,430 --> 00:11:09,020 bezwen kèk D ', men jwenn Int pozitif pa fè sa. 219 00:11:09,020 --> 00:11:11,530 Se konsa, mwen pral klèman di anile nan du. 220 00:11:11,530 --> 00:11:13,470 Vid se absans la nan nenpòt lòt bagay. 221 00:11:13,470 --> 00:11:17,990 Se konsa, pa gen anyen vle di anile ki pral andedan nan tout sa yo parantèz, virgules. 222 00:11:17,990 --> 00:11:20,840 >> Epi, koulye a nan pati anba a nan dosye mwen an - ak ankò, mwen jis ke yo te kalite twou dèyè 223 00:11:20,840 --> 00:11:23,640 isit la mete prensipal nan tèt la, ki se pratik bon paske fason sa a, 224 00:11:23,640 --> 00:11:26,220 nenpòt lè ou oswa yon lòt moun ouvè dosye a ou a, 225 00:11:26,220 --> 00:11:27,400 fonctionnalités ki dwat la. 226 00:11:27,400 --> 00:11:29,660 Ou ka plonje nan nan kare yon sèl. 227 00:11:29,660 --> 00:11:34,190 Se konsa, kounye a mwen pral kopi sa a, jwenn pozitif anile Int, men mwen pa 228 00:11:34,190 --> 00:11:35,430 ale nan frape yon virgules kounye a. 229 00:11:35,430 --> 00:11:38,280 Mwen pral louvri aparèy òtopedik Curly, e kounye a, mwen bezwen prete 230 00:11:38,280 --> 00:11:39,700 kèk lide ki soti nan Lendi. 231 00:11:39,700 --> 00:11:44,450 >> Se konsa, jan ou sonje, nou te fè yon bagay renmen fè bagay sa yo pandan y ap 232 00:11:44,450 --> 00:11:45,830 yon bagay se vre. 233 00:11:45,830 --> 00:11:46,630 Ak sa ki t 'pou mwen fè? 234 00:11:46,630 --> 00:11:51,540 Mwen te fè yon bagay tankou bay m 'yon nonm antye ki pozitif, 235 00:11:51,540 --> 00:11:52,430 ti kras ti jan nan yon èd memwa. 236 00:11:52,430 --> 00:11:53,540 Mwen te kapab sèvi ak nenpòt mo mwen vle. 237 00:11:53,540 --> 00:11:54,960 Lè sa a, mwen itilize ki sa? 238 00:11:54,960 --> 00:11:59,530 Int n egal jwenn Int, pa gen agiman li. 239 00:11:59,530 --> 00:12:00,550 >> Ak Avi diferans-la. 240 00:12:00,550 --> 00:12:04,680 Lè ou rele yon fonksyon, lè ou sèvi ak yon fonksyon, ou pa mete nan anile. 241 00:12:04,680 --> 00:12:08,570 Ou sèlman fè sa lè deklare yon fonksyon, moutre moun yo anpil du a sa ki 242 00:12:08,570 --> 00:12:09,780 li ta dwe atann. 243 00:12:09,780 --> 00:12:11,650 Se konsa, ou pa bezwen mete anile gen tèt ou. 244 00:12:11,650 --> 00:12:12,940 >> Epi, koulye a sa ki te kondisyon mwen an? 245 00:12:12,940 --> 00:12:19,670 Oke, n se pa egal a pozitif, men sa se sèlman pseudo-kòd. 246 00:12:19,670 --> 00:12:22,530 Se konsa, kouman mwen eksprime sa a plis propr? 247 00:12:22,530 --> 00:12:24,090 Se konsa, mwens pase oswa egal a zewo. 248 00:12:24,090 --> 00:12:26,250 Se konsa, ankò, remake ou ka fè mwens pase oswa egal a. 249 00:12:26,250 --> 00:12:28,100 Menm si li nan de separe senbòl, ou ka fè li sou 250 00:12:28,100 --> 00:12:29,350 klavye ou tankou sa yo. 251 00:12:29,350 --> 00:12:33,950 >> Men, gen a toujou yon ensèk ki Mwen vise moute dènye fwa tou. 252 00:12:33,950 --> 00:12:36,950 Mwen gen deklare - 253 00:12:36,950 --> 00:12:37,460 egzakteman. 254 00:12:37,460 --> 00:12:39,640 Mwen gen deklare n deyò nan bouk la. 255 00:12:39,640 --> 00:12:44,180 Se konsa, mwen bezwen mete n moute isit la, ak mwen pa fè sa vle re-deklare li nan isit la 256 00:12:44,180 --> 00:12:46,480 Si mwen jwenn yon varyab nouvo. 257 00:12:46,480 --> 00:12:48,860 Mwen jis vle bay elèv yo yon valè nan isit la. 258 00:12:48,860 --> 00:12:54,320 >> Epi, koulye a mwen pa byen fè isit la. 259 00:12:54,320 --> 00:12:57,290 Kite m 'jwenn devan yo nan tèt mwen ak pretann mwen fè. 260 00:12:57,290 --> 00:13:01,220 Fè pozitif, e kounye a, gen yon erè nouvo. 261 00:13:01,220 --> 00:13:04,550 Kontwòl rive nan nan fen ki pa anile fonksyon. 262 00:13:04,550 --> 00:13:07,760 Se konsa, nouvo mesaj erè, men si ou kalite nan toumante apa chak nan mo sa yo li, 263 00:13:07,760 --> 00:13:09,620 pwobableman sijesyon nan sa ki nan mal. 264 00:13:09,620 --> 00:13:11,240 >> Kontwòl. 265 00:13:11,240 --> 00:13:14,250 Kontwòl jis vle di nan lòd la nan operasyon nan yon pwogram. 266 00:13:14,250 --> 00:13:16,510 Òdinatè a nan kontwòl ak yon bagay ale mal. 267 00:13:16,510 --> 00:13:18,510 Se konsa, li rive nan fen yon fonksyon ki pa anile. 268 00:13:18,510 --> 00:13:21,760 Ki sa ki fonksyon se li aparamman refere li a? 269 00:13:21,760 --> 00:13:24,790 Ki sa ki fonksyon se ki pa anile? 270 00:13:24,790 --> 00:13:27,400 Se konsa, jwenn pozitif Int, ak yon ti kras konfizyon nan ki byen, 271 00:13:27,400 --> 00:13:29,010 li nan kalite anile. 272 00:13:29,010 --> 00:13:33,070 Li te gen yon spesifikasyon nan anile pou li yo agiman, men pwodiksyon li ki pral 273 00:13:33,070 --> 00:13:34,540 dwe n kalite. 274 00:13:34,540 --> 00:13:37,260 Se konsa, pawòl Bondye a sou bò gòch la se nan sa yo rele di ki kalite retou. 275 00:13:37,260 --> 00:13:40,320 Pawòl Bondye a sou andedan an isit la se agiman yo zewo oswa plis 276 00:13:40,320 --> 00:13:41,970 ki yon fonksyon pran. 277 00:13:41,970 --> 00:13:44,060 >> Se konsa, sa mwen bezwen? 278 00:13:44,060 --> 00:13:47,650 Nan pwen sa a nan kòd m 'yo, liy 21 kote èd memwa a kliyote kounye a se, mwen 279 00:13:47,650 --> 00:13:51,430 gen yon Int pozitif andedan nan varyab la rele n. 280 00:13:51,430 --> 00:13:55,200 Kouman pou mwen bay li tounen nan prensipal yo? 281 00:13:55,200 --> 00:13:55,960 Literalman. 282 00:13:55,960 --> 00:13:59,320 Retounen n virgules. 283 00:13:59,320 --> 00:14:04,090 >> Se konsa, jis kòm Holton tounen yon moso nan papye avèk yon repons bay m 'pa jete 284 00:14:04,090 --> 00:14:07,020 moso papye sa nan ti kras nwa a bwat sou tab la, fè sa nan 285 00:14:07,020 --> 00:14:10,100 Kòd, ou literalman jis ekri, retounen n, epi li tankou si Holton te 286 00:14:10,100 --> 00:14:12,140 Distribiye m 'yon bagay fizik tounen. 287 00:14:12,140 --> 00:14:15,870 Nan ka sa a, sa kap pase la se jwenn pozitif Int ki pral lage tounen 288 00:14:15,870 --> 00:14:19,220 sa ki nan prezimableman yon pozitif nonb antye ki pè ki moun? 289 00:14:19,220 --> 00:14:21,380 Ki kote ke valè fini? 290 00:14:21,380 --> 00:14:29,080 Sa fini moute nan sa a varyab, n, ak Lè sa a, nou kontinye ak liy nèf. 291 00:14:29,080 --> 00:14:31,920 >> Se konsa, nan lòt mo, nan lòd operasyon yo, pwogram sa a kòmanse 292 00:14:31,920 --> 00:14:34,430 egzekite, ak du a reyalize, oh, ou vle bibliyotèk la? 293 00:14:34,430 --> 00:14:36,310 Kite m 'ale gen tan pwan tout sa ki andedan sa. 294 00:14:36,310 --> 00:14:37,750 Oh, ou vle estanda IO bibliyotèk la? 295 00:14:37,750 --> 00:14:39,660 Kite m 'ale gen tan pwan tout sa ki andedan sa. 296 00:14:39,660 --> 00:14:44,510 Ki sa ki du a di tèt li lè li frape liy kat? 297 00:14:44,510 --> 00:14:47,980 Oh, ou te pwomèt la aplike a fonksyon rele jwenn pozitif, men 298 00:14:47,980 --> 00:14:50,820 nou pral jwenn tounen nan ki pita, yon bagay sou liy sa yo. 299 00:14:50,820 --> 00:14:53,450 >> Anile Int prensipal jis vle di, isit la nan kouraz yo nan pwogram m 'yo. 300 00:14:53,450 --> 00:14:54,990 Liy sèt se jis yon atèl Curly. 301 00:14:54,990 --> 00:14:59,540 Liy uit ap di sou bò gòch la, bay m '32 Bits pou yon nonb antye ki pè, rele l' n. 302 00:14:59,540 --> 00:15:02,160 Sou bò nan men dwat, li nan li di jwenn pozitif Int. 303 00:15:02,160 --> 00:15:07,120 Koulye a, pran yon poz kite a ki istwa paske kounye a Mwen pa kenbe deplase kurseur m 'desann. 304 00:15:07,120 --> 00:15:11,720 Kurseur mwen kounye a desann isit la paske kounye a jwenn Int pozitif ègzekutra. 305 00:15:11,720 --> 00:15:13,100 Int n se te deklare. 306 00:15:13,100 --> 00:15:14,040 Men sa pou fè. 307 00:15:14,040 --> 00:15:16,090 Printf ki ban m 'yon nonm antye ki pozitif. 308 00:15:16,090 --> 00:15:19,740 >> Jwenn yon Int soti nan itilizatè a, magazen li nan n, e petèt fè sa ankò e ankò. 309 00:15:19,740 --> 00:15:23,010 Sa a bouk vle di ke sa a Kòd ka egzekite leve, li desann tankou sa a ankò 310 00:15:23,010 --> 00:15:25,810 epi ankò, men lè itilizatè a finalman kowopere epi li ba m 'yon pozitif 311 00:15:25,810 --> 00:15:31,750 Int, mwen frape liy 21, nan ki pwen an nimewo yo retounen, epi ki yon sèl 312 00:15:31,750 --> 00:15:34,280 mwen ta dwe mete aksan sou kounye a? 313 00:15:34,280 --> 00:15:35,070 Nèf. 314 00:15:35,070 --> 00:15:39,010 Kontwòl, se konsa pale, retounen nan liy nèf. 315 00:15:39,010 --> 00:15:40,650 Sa a liy lan sa a, se kounye a nan chaj. 316 00:15:40,650 --> 00:15:43,250 >> Se konsa, sa a, se sa ki te pase tout tan sa a anba kapo a, men 317 00:15:43,250 --> 00:15:46,480 lè nou te itilize fonksyon tankou printf oswa menm jwenn fisèl ke yon lòt moun 318 00:15:46,480 --> 00:15:50,600 te ekri pou ou, kontwòl te ke yo te lage liy Kòd yo ale nan yon lòt moun nan 319 00:15:50,600 --> 00:15:51,290 pa liy pa liy. 320 00:15:51,290 --> 00:15:53,770 Li nan jis nou pa t 'kapab wè li epi nou pa t 'kapab vrèman dekri li nan sa a 321 00:15:53,770 --> 00:15:57,620 pwogram paske li nan nan kèk lòt dosye sou kondwi a difisil 322 00:15:57,620 --> 00:16:00,000 ensu l nou. 323 00:16:00,000 --> 00:16:02,100 Se konsa, kite a aktyèlman konpile epi kouri sa a kounye a. 324 00:16:02,100 --> 00:16:03,890 >> Fè pozitif. 325 00:16:03,890 --> 00:16:05,260 Sanble tout, ki nan pwogrè. 326 00:16:05,260 --> 00:16:06,650 . / Pozitif. 327 00:16:06,650 --> 00:16:08,020 Ban m 'yon nonm antye ki pozitif. 328 00:16:08,020 --> 00:16:08,800 Se pou yo ka difisil. 329 00:16:08,800 --> 00:16:10,430 Negatif 1. 330 00:16:10,430 --> 00:16:11,360 Zewo. 331 00:16:11,360 --> 00:16:13,370 Se pou yo bay li 50. 332 00:16:13,370 --> 00:16:18,100 Mèsi pou 50 an, ak kontwòl se konsa gen kounye a tounen. 333 00:16:18,100 --> 00:16:21,750 Nenpòt kesyon, lè sa a, sou sa? 334 00:16:21,750 --> 00:16:23,180 Yeah? 335 00:16:23,180 --> 00:16:25,630 >> [Fèbl]. 336 00:16:25,630 --> 00:16:26,130 >> Di ankò. 337 00:16:26,130 --> 00:16:27,860 Oh, bon kesyon. 338 00:16:27,860 --> 00:16:31,100 Se konsa, ou ta ka remake yon paralèl isit la ke Mwen se kalite koupe yon kwen sou. 339 00:16:31,100 --> 00:16:35,420 Nan liy 12, m ap di, jwenn pozitif Int retounen yon Int, men pa ke menm 340 00:16:35,420 --> 00:16:39,660 lojik, li kounye a vle di rezon ki nan liy sis, mwen di ke retounen prensipal 341 00:16:39,660 --> 00:16:44,040 yon Int, men sa ki gen nou pa janm te gen nan nenpòt nan pwogram nou yo? 342 00:16:44,040 --> 00:16:46,470 Nou pa janm te gen chwa de sa a retounen mo kle. 343 00:16:46,470 --> 00:16:49,970 >> Se konsa, li sanble ke nan C, omwen vèsyon an nan li ke nou ap lè l sèvi avèk 344 00:16:49,970 --> 00:16:55,750 te fè nan 1999, teknikman, sa a se k ap pase pou ou otomatikman. 345 00:16:55,750 --> 00:16:59,300 Nenpòt ki lè ou aplike yon pwogram yo epi ou aplike yon fonksyon rele prensipal yo, 346 00:16:59,300 --> 00:17:04,230 ki fonksyon ap retounen zewo pa default si ou pa di otreman, 347 00:17:04,230 --> 00:17:05,849 epi zewo se jis yon konvansyon. 348 00:17:05,849 --> 00:17:09,430 Mond nan retounen zewo kidonk ki endike ke tout se byen, 349 00:17:09,430 --> 00:17:13,040 efektivman kite nou ak kat milya dola bagay sa yo posib ke ta kapab ale 350 00:17:13,040 --> 00:17:17,530 sa ki mal pou ke si nou retounen yon sèl, ki ta ka siyifi yon kòd ki vle di sa a 351 00:17:17,530 --> 00:17:18,310 bagay ale mal. 352 00:17:18,310 --> 00:17:20,589 Nou te kapab retounen de, ki vle di bagay sa a lòt ale mal. 353 00:17:20,589 --> 00:17:23,440 Nou kapab retounen kat milya dola, ki vle di bagay sa a lòt ale mal. 354 00:17:23,440 --> 00:17:27,170 >> Men, si ou kounye a panse sou pwòp ou a PC oswa Mac, ou ta ka sonje ki 355 00:17:27,170 --> 00:17:29,610 pafwa ou jwenn mesaj erè skre soti nan lojisyèl ke w ap 356 00:17:29,610 --> 00:17:32,650 lè l sèvi avèk, epi pafwa li gen yon moun deskripsyon zanmitay, men gen nan 357 00:17:32,650 --> 00:17:35,265 souvan yon kòd oswa nimewo yon sou ekran an? 358 00:17:35,265 --> 00:17:37,800 Si sa a pa vini nan tèt ou, jis kenbe yon grenn je deyò pou li. 359 00:17:37,800 --> 00:17:40,790 Sa a anjeneral sa ki sa yo kòd yo refere li a. 360 00:17:40,790 --> 00:17:44,200 Yo ap enkli nan Microsoft Word ak lòt pwogram pou ke si ou depoze yon 361 00:17:44,200 --> 00:17:48,850 rapò ensèk ak konpayi an, ou kapab di yo, o, mwen te resevwa nimewo erè 45. 362 00:17:48,850 --> 00:17:51,750 Se konsa, kèk pwogramè tounen nan konpayi an ka gade ki moute nan li oswa li 363 00:17:51,750 --> 00:17:54,940 Kòd epi di, o, ki nan paske mwen te fè sa a ensèk ak Se poutèt sa itilizatè a 364 00:17:54,940 --> 00:17:56,240 te resevwa mesaj sa a. 365 00:17:56,240 --> 00:17:59,490 >> Men, franchman, li nan jis yon ti kras distrè ak yon fatigan ti 366 00:17:59,490 --> 00:18:02,130 konkli ke, omwen sou nou premye pwogram kèk, se konsa nou te 367 00:18:02,130 --> 00:18:02,970 te omissions li. 368 00:18:02,970 --> 00:18:07,450 Men, tout tan sa a chak youn nan ou fonksyon prensipal te an kachèt te gen sa a 369 00:18:07,450 --> 00:18:11,600 liy otomatikman te ajoute pou ou pa la du, jis pa konvansyon 370 00:18:11,600 --> 00:18:13,172 sove ou kèk tan. 371 00:18:13,172 --> 00:18:14,620 >> [Fèbl]. 372 00:18:14,620 --> 00:18:16,250 >> Ou pa bezwen gen ladan li nan prensipal la. 373 00:18:16,250 --> 00:18:16,700 Sa a amann. 374 00:18:16,700 --> 00:18:20,260 Ou bezwen gen ladan li si ou te mete ann aplikasyon yon fonksyon tankou sa a. 375 00:18:20,260 --> 00:18:22,850 Sinon fonksyon plat la soti pa ta travay. 376 00:18:22,850 --> 00:18:24,480 Men, nan prensipal la, li nan pa nesesè. 377 00:18:24,480 --> 00:18:28,450 Nan yon semenn oswa de, nou pral kòmanse resevwa nan ki abitid yon fwa nou vle kòmanse 378 00:18:28,450 --> 00:18:29,690 siyifye erè. 379 00:18:29,690 --> 00:18:32,550 Reyèlman bon kesyon. 380 00:18:32,550 --> 00:18:36,880 >> Se konsa, rapid kraze vèbal mansyone ke sa a Vandredi, nou pa pral gen manje midi 381 00:18:36,880 --> 00:18:39,980 se pou chak, men nou pral gen dine ak kèk nan elèv yo ak anplwaye yo. 382 00:18:39,980 --> 00:18:42,940 Si ou ta renmen rantre nan nou, santi gratis pou yo ale nan cs50.net/rsvp. 383 00:18:42,940 --> 00:18:45,030 6:00 PM sa a Vandredi. 384 00:18:45,030 --> 00:18:47,990 Espas se, tankou toujou, limite, men nou pwal kontinye fè sa yo sou yon prèske 385 00:18:47,990 --> 00:18:51,420 chak semèn baz si espas kouri soti semèn sa a. 386 00:18:51,420 --> 00:18:56,160 >> Se konsa, cliffhanger a ke nou sispann sou Lendi te ke strings ka aktyèlman 387 00:18:56,160 --> 00:19:00,520 dwe Catalogue nan, ki jis vle di ou ka jwenn nan nan karaktè a an premye, 388 00:19:00,520 --> 00:19:03,770 dezyèm karaktè, pèsonaj la twazyèm ak pou fè, paske ou kapab 389 00:19:03,770 --> 00:19:07,860 efektivman panse a yon kòd, tankou hello, tankou se te nan ka sa a senk 390 00:19:07,860 --> 00:19:09,670 lèt andedan nan bwat. 391 00:19:09,670 --> 00:19:13,370 Epi ou ka jwenn nan chak nan sa yo bwat ak sa sentaks te fè nou 392 00:19:13,370 --> 00:19:15,230 prezante nan Lendi? 393 00:19:15,230 --> 00:19:16,760 Moun sa yo ki parantèz kare sou klavye ou. 394 00:19:16,760 --> 00:19:18,980 Sa jis te vle di yo ale nan kote zewo. 395 00:19:18,980 --> 00:19:22,840 >> Nou kòmanse konte nan zewo, se konsa bracket zewo vle h, bracket yon sèl 396 00:19:22,840 --> 00:19:25,170 vle e, ak pou fè. 397 00:19:25,170 --> 00:19:28,490 Se konsa, tout tan tout tan an lè nou te te lè l sèvi avèk strings ak sezisman nan "alo" 398 00:19:28,490 --> 00:19:31,250 ak "mond" ak lòt bagay sou ekran an, li la te sere 399 00:19:31,250 --> 00:19:32,820 nan bwat tankou sa a. 400 00:19:32,820 --> 00:19:33,370 Men, pran yon devine. 401 00:19:33,370 --> 00:19:37,470 Ki sa ki chak bwat reprezante fizikman andedan nan òdinatè w lan? 402 00:19:37,470 --> 00:19:38,250 >> [Fèbl]. 403 00:19:38,250 --> 00:19:39,150 >> M regrèt? 404 00:19:39,150 --> 00:19:39,580 >> Karaktè. 405 00:19:39,580 --> 00:19:44,760 >> Se konsa, yon karaktè, sètènman nan ka a nan strings, ak yon karaktè se jis 406 00:19:44,760 --> 00:19:46,800 uit Bits oswa multiple yon sèl. 407 00:19:46,800 --> 00:19:49,550 Se konsa, ou pwobableman gen omwen vagman ki abitye avèk lefèt ke ou 408 00:19:49,550 --> 00:19:50,500 òdinatè gen memwa. 409 00:19:50,500 --> 00:19:52,110 Li te gen de kalite memwa omwen. 410 00:19:52,110 --> 00:19:54,810 Youn nan se ki gen kapasite a difisil kote ou sove lòt bagay pou tout tan, e ke sa a 411 00:19:54,810 --> 00:19:57,400 Anjeneral, gwo pou w ka jwenn sinema ak mizik ak pou fè. 412 00:19:57,400 --> 00:20:04,010 >> Lè sa a, ou gen yon lòt di ki kalite memwa rele RAM, R-A-M, Random Aksè 413 00:20:04,010 --> 00:20:07,510 Memwa, e sa se kalite a nan memwa ki itilize lè òdinatè w lan se 414 00:20:07,510 --> 00:20:11,520 kouri Men, si ou pèdi pouvwa oswa ou batri mouri, anyen ki nan estoke 415 00:20:11,520 --> 00:20:15,300 nan RAM disparèt si ou pèdi pouvwa tout ansanm paske li pa 416 00:20:15,300 --> 00:20:16,060 ki pèsistan. 417 00:20:16,060 --> 00:20:19,120 Ou tipikman genyen, jou sa yo, yon Gig nan li, de jig, petèt pi plis. 418 00:20:19,120 --> 00:20:23,490 Men, tèt la nan RAM se ke li la pi anpil, anpil pi vit pase disk difisil 419 00:20:23,490 --> 00:20:27,390 oswa menm eta solid kondui jou sa yo, men li la anjeneral plis chè se konsa 420 00:20:27,390 --> 00:20:28,480 ou gen mwens nan li. 421 00:20:28,480 --> 00:20:32,400 >> Se konsa, konvèsasyon jodi a reyèlman vle RAM, ki di ki kalite memwa ki 422 00:20:32,400 --> 00:20:35,270 egziste sèlman pandan y ap gen nan pouvwa ke yo te manje nan òdinatè ou. 423 00:20:35,270 --> 00:20:40,530 Se konsa, lè ou tape nan H-E-L-L O-, Mete sou klavye a, H a pral nan yon sèl 424 00:20:40,530 --> 00:20:44,550 multiple nan RAM, E a pral nan yon lòt multiple nan RAM, kòm se 425 00:20:44,550 --> 00:20:45,800 rès la nan mo a. 426 00:20:45,800 --> 00:20:49,010 Se konsa, sonje ki sa nou yo te kapab fè dènye fwa sa a te. 427 00:20:49,010 --> 00:20:53,940 Kite m 'ale pi devan epi louvri moute dosye a ke nou rele string.c, ak sonje 428 00:20:53,940 --> 00:20:56,860 ke li gade yon ti kras yon bagay tankou sa. 429 00:20:56,860 --> 00:20:59,860 Kite m 'aktyèlman woule retounen lakay yo epi chanje li nan ekzakteman ki sa li te sanble ak, 430 00:20:59,860 --> 00:21:02,654 longè fil nan s. 431 00:21:02,654 --> 00:21:04,560 >> Se konsa, gade nan pwogram nan isit la. 432 00:21:04,560 --> 00:21:08,530 Nou gen ladan bibliyotèk la CS50 se konsa ke nou ka itilize jwenn fisèl. 433 00:21:08,530 --> 00:21:11,400 Nou gen ladan estanda io.h pou nou ka sèvi ak printf. 434 00:21:11,400 --> 00:21:13,580 Poukisa nou gen ladan string.h? 435 00:21:13,580 --> 00:21:16,980 Sa a te nouvo nan Lendi. 436 00:21:16,980 --> 00:21:18,230 Se konsa, nou te vle longè fil. 437 00:21:18,230 --> 00:21:19,090 Str Leng. 438 00:21:19,090 --> 00:21:21,470 Moun ki deside ane de sa, kite a jis pou somèr. 439 00:21:21,470 --> 00:21:24,290 Olye pou yo rele l 'longè fil, " kite a rele li "str Leng" epi kite nan 440 00:21:24,290 --> 00:21:28,540 figi mond ki soti, epi konsa sa a, se ki sa nou jwenn aksè nan ak string.h. 441 00:21:28,540 --> 00:21:29,390 >> Sa a se yo konnen yo. 442 00:21:29,390 --> 00:21:30,320 Sa a se yo konnen yo. 443 00:21:30,320 --> 00:21:31,450 Sa a se yo konnen yo. 444 00:21:31,450 --> 00:21:32,370 Sa a se yon ti kras nouvo. 445 00:21:32,370 --> 00:21:35,420 Nan liy 22 - epi nou ap tounen sa a, men pou kounye a konnen - 446 00:21:35,420 --> 00:21:37,880 Se ou ki ta ka konnen sèlman sa a soti nan gen li dokiman an oswa si 447 00:21:37,880 --> 00:21:39,010 ou te konnen deja C - 448 00:21:39,010 --> 00:21:41,510 jwenn fisèl pafwa ka vis moute nan. 449 00:21:41,510 --> 00:21:45,130 Si itilizatè a se reyèlman konfwontasyon oswa kooperatif ak li oswa li te jis 450 00:21:45,130 --> 00:21:49,450 Pa tape anyen nan klavye a oswa kalite anpil nan klavye a ke 451 00:21:49,450 --> 00:21:53,760 li debord memwa òdinatè a, nan teyori, jwenn fisèl kapab retounen 452 00:21:53,760 --> 00:21:56,270 yon lòt bagay pase yon fisèl nan karaktè. 453 00:21:56,270 --> 00:22:01,930 Li kapab retounen yon valè espesyal ki rele Nil nan tout bouchon, N-U-L-L, e sa se 454 00:22:01,930 --> 00:22:03,390 jis yon valè Sentinel sa yo rele. 455 00:22:03,390 --> 00:22:08,010 Li se yon valè espesyal ki vle yon move bagay ki te pase nan ka sa a. 456 00:22:08,010 --> 00:22:10,520 Li se absans la nan yon kòd. 457 00:22:10,520 --> 00:22:16,190 >> Se konsa, nil mwen tcheke pou tou senpleman se konsa ke, lontan istwa kout, str Leng ak 458 00:22:16,190 --> 00:22:20,230 lòt fonksyon ki vini ak C, si yo espere yon fisèl men ou pase yo 459 00:22:20,230 --> 00:22:23,630 absans la nan yon fisèl, si ou pase yo nil, òdinatè a oswa yon pwogram nan 460 00:22:23,630 --> 00:22:25,000 pral jis aksidan francheman. 461 00:22:25,000 --> 00:22:25,610 Li pral kwoke. 462 00:22:25,610 --> 00:22:27,250 Li pral voye jete moute kèk mesaj erè. 463 00:22:27,250 --> 00:22:28,690 Move bagay ki pral rive. 464 00:22:28,690 --> 00:22:31,130 Se konsa, menm si sa a se toujou pa byen defini - 465 00:22:31,130 --> 00:22:33,730 sa a pral fè plis sans nan yon semèn oswa de - nan liy 22, sa a se jis yon 466 00:22:33,730 --> 00:22:38,790 egzanp w tcheke pwòp tèt ou erè defansiv jis nan ka yon sèl fwa soti nan 467 00:22:38,790 --> 00:22:42,040 yon yon bagay milyon dola ale mal, nan pi piti pwogram mwen pa pral aksidan. 468 00:22:42,040 --> 00:22:45,960 >> Se konsa, si yo fè sa ki pa egal yon move bagay, Mwen gen sa a pou bouk, ak sa a te 469 00:22:45,960 --> 00:22:47,710 kote nou te gen ke lòt nouvo moso nan sentaks. 470 00:22:47,710 --> 00:22:51,580 Mwen gen yon pou bouk iteration soti nan zewo sou jiska longè a nan s. 471 00:22:51,580 --> 00:22:56,140 Lè sa a, isit la, mwen te yon enprime soti nan bracket mwen, men poukisa mwen sèvi ak c% tout 472 00:22:56,140 --> 00:23:00,770 yon toudenkou olye pou yo% s menm menm si yo se yon fisèl? 473 00:23:00,770 --> 00:23:02,110 Li se yon karaktè, dwa? 474 00:23:02,110 --> 00:23:06,560 S se yon fisèl, men yon bagay bracket, s bracket mwen kote mwen se zewo 475 00:23:06,560 --> 00:23:10,380 oswa yon sèl oswa de, sa a, se yon moun karaktè nan fisèl la, epi konsa pou 476 00:23:10,380 --> 00:23:14,970 sa, printf bezwen yo dwe konnen ke li nan tout bon yon karaktè ou kapab espere. 477 00:23:14,970 --> 00:23:18,096 >> Lè sa a, sonje, sa ki te fè sa pwogram aktyèlman fè? 478 00:23:18,096 --> 00:23:19,848 >> Enprime li soti nan kolòn. 479 00:23:19,848 --> 00:23:21,120 >> Yeah, egzakteman. 480 00:23:21,120 --> 00:23:24,990 Li jis enprime pawòl Bondye a ke mwen tape nan yon kolòn, yon karaktè pou chak liy. 481 00:23:24,990 --> 00:23:26,190 Se konsa, kite a wè sa ankò. 482 00:23:26,190 --> 00:23:27,810 Se konsa, fè fisèl. 483 00:23:27,810 --> 00:23:30,200 Konpile OK. . / Fisèl. 484 00:23:30,200 --> 00:23:35,560 Kite m 'tape nan H-E-L-L O-, Antre, ak tout bon, mwen jwenn li, youn pou chak liy. 485 00:23:35,560 --> 00:23:37,280 >> Se konsa, kite m 'fè yon sèl optimize isit la. 486 00:23:37,280 --> 00:23:40,240 Si ou panse sou li, espesyalman si ou te pwograme anvan, gen nan 487 00:23:40,240 --> 00:23:43,340 joui yon inefikasite nan liy 24. 488 00:23:43,340 --> 00:23:46,160 Nan lòt mo, li pa nan nesesèman desen an pi byen. 489 00:23:46,160 --> 00:23:50,200 Simple, omwen yon fwa ou sonje sa str Leng se, men li la 490 00:23:50,200 --> 00:23:52,640 fè yon bagay bèbè potansyèlman. 491 00:23:52,640 --> 00:23:54,863 Ki sa ki ta ka ke ta dwe ye? 492 00:23:54,863 --> 00:23:56,280 >> [Fèbl]. 493 00:23:56,280 --> 00:23:56,800 >> Egzakteman. 494 00:23:56,800 --> 00:24:00,340 Li nan tcheke pou longè a nan s chak fwa yon sèl menm si 495 00:24:00,340 --> 00:24:02,980 H-E-L-L-O se toujou pral yo dwe senk karaktè. 496 00:24:02,980 --> 00:24:05,490 Chak fwa sa a nan bouk, senk an pa chanje. 497 00:24:05,490 --> 00:24:08,750 Mwen ta ka incrementing mwen, men sa ki longè yo sou chak 498 00:24:08,750 --> 00:24:09,690 iteration sa a bouk? 499 00:24:09,690 --> 00:24:15,810 Li nan senk, li nan senk, li nan senk, ak ankò a mwen Alòske mande sa a 500 00:24:15,810 --> 00:24:18,320 kesyon ankò, li ankò e ankò. 501 00:24:18,320 --> 00:24:20,750 Koulye a, franchman, òdinatè a se konsa modi vit, pa gen yon sèl k ap pase a yon avi yon 502 00:24:20,750 --> 00:24:23,780 diferans nan ka sa a, men sa yo kalite nan desizyon konsepsyon pòv kapab 503 00:24:23,780 --> 00:24:28,330 kòmanse ajoute jiska si du nan tèt li pa eseye ranje sa a pou ou ki 504 00:24:28,330 --> 00:24:30,630 li tipikman pa ta, nan pi piti nan aparèy la. 505 00:24:30,630 --> 00:24:31,540 >> Se konsa, mwen pral fè sa. 506 00:24:31,540 --> 00:24:34,580 Mwen pral ajoute yon vigil apre yo fin varyab premye fwa mwen, mwen. 507 00:24:34,580 --> 00:24:37,310 Mwen pral bay tèt mwen yon lòt varyab, rele li n, jis pa 508 00:24:37,310 --> 00:24:41,330 konvansyon pou chif, ak Lè sa a, mwen se ale nan bay n valè a nan fisèl 509 00:24:41,330 --> 00:24:42,530 longè yo. 510 00:24:42,530 --> 00:24:46,060 Lè sa a, mwen pral chanje kondisyon mwen yo dwe ki sa? 511 00:24:46,060 --> 00:24:51,960 Mwen pral chanje kondisyon mwen pandan l ap mwen se mwens pase n. 512 00:24:51,960 --> 00:24:55,700 >> Se konsa, koulye a, konbyen fwa mwen tcheke longè a nan s? 513 00:24:55,700 --> 00:25:00,110 Yon fwa, men li la OK yo tcheke mwen kont n ankò e ankò paske kounye a sa yo 514 00:25:00,110 --> 00:25:03,170 valè pa yo aktyèlman chanje. 515 00:25:03,170 --> 00:25:06,020 Koulye a, pou kounye a, jis konnen ke nenpòt lè ou rele yon fonksyon, gen nan yon ti jan nan 516 00:25:06,020 --> 00:25:09,930 sou tèt li, pa ase yo dekouraje ou vrèman soti nan tout tan tout tan lè l sèvi avèk fonksyon, men 517 00:25:09,930 --> 00:25:12,750 sètènman lè gen nan yon liy nan Kòd renmen sa - ak liy ki pral jwenn 518 00:25:12,750 --> 00:25:15,490 plis enteresan anvan lontan - kote gen yon opòtinite yo panse, si mwen 519 00:25:15,490 --> 00:25:18,320 tape kòd sa a, konbyen fwa l ap egzekite? 520 00:25:18,320 --> 00:25:20,950 Ou pral kòmanse wè sou tan an pèfòmans nan pwogram ou kapab 521 00:25:20,950 --> 00:25:21,660 tout bon chanje. 522 00:25:21,660 --> 00:25:24,110 >> An reyalite, youn nan pwoblèm nan kouche nou te fè nan ane ki sot pase enplike nan 523 00:25:24,110 --> 00:25:27,600 mete ann aplikasyon, kòm ou ka sonje soti nan semèn zewo, yon korektè eple, men yon 524 00:25:27,600 --> 00:25:31,380 korektè òtograf ki nan fèt yo sipòte yon diksyonè nan 150,000 plis 525 00:25:31,380 --> 00:25:32,860 mo ki nou ba ou guys. 526 00:25:32,860 --> 00:25:37,100 Ou ta gen ekri kòd ki charj mo sa yo nan RAM, se konsa nan 527 00:25:37,100 --> 00:25:40,700 bwat tankou nou te wè sou ekran an yon ti moman de sa, ak Lè sa a vit menm jan ou 528 00:25:40,700 --> 00:25:43,740 kapab, ou bezwen pou kapab reponn yon kesyon nan fòm la, se pawòl sa a 529 00:25:43,740 --> 00:25:44,280 mal ekri? 530 00:25:44,280 --> 00:25:45,420 Sa a se mo mal ekri? 531 00:25:45,420 --> 00:25:46,770 Sa a se mo mal ekri? 532 00:25:46,770 --> 00:25:49,525 >> Ak nan yon bagay tankou sa ki sa nou te fè nan ane ki sot pase la yo te tounen l 'nan, 533 00:25:49,525 --> 00:25:53,500 kwake sou yon opt-nan si ou vle baz, konpetisyon nan kalite, kijan la 534 00:25:53,500 --> 00:25:59,470 elèv-yo itilize RAM nan pi piti ak mwens tan, mwens sik CPU, fini 535 00:25:59,470 --> 00:26:02,640 bouyònman moute sou tèt la nan yon ti kras tablo lidè oswa plase ke nou mete yo sou 536 00:26:02,640 --> 00:26:04,770 Homepage kou a nan kòm nou te fè nan ane ki sot pase. 537 00:26:04,770 --> 00:26:08,100 Se konsa, ankò, totalman si ou vle, men sa a pale ak opòtinite yo konsepsyon 538 00:26:08,100 --> 00:26:11,250 ki se devan yo yon fwa nou kòmanse bati anlè kèk nan sa yo 539 00:26:11,250 --> 00:26:14,010 blòk bilding debaz yo. 540 00:26:14,010 --> 00:26:16,780 >> Se konsa, kite m 'tounen nan dyagram sa a pou jis yon ti moman ak revele yon ti kras 541 00:26:16,780 --> 00:26:17,610 yon bagay ki pi. 542 00:26:17,610 --> 00:26:21,400 Sa a tout bon se yon fisèl, epi nou te pran avantaj ki genyen nan yon bibliyotèk kèk, 543 00:26:21,400 --> 00:26:25,150 estanda io.h ki te gen - 544 00:26:25,150 --> 00:26:26,110 >> Printf. 545 00:26:26,110 --> 00:26:27,860 >> Printf, pami lòt bagay. 546 00:26:27,860 --> 00:26:31,540 cs50.h, ki te gen jwenn Int epi pou yo jwenn fisèl ak pou fè, string.h, ki 547 00:26:31,540 --> 00:26:32,570 te gen str Leng. 548 00:26:32,570 --> 00:26:34,800 Men, li vire soti gen nan ankò yon lòt. 549 00:26:34,800 --> 00:26:38,540 Franchman, gen nan anpil ak anpil header dosye ki deklare fonksyon 550 00:26:38,540 --> 00:26:43,320 pou bibliyotèk, men ctype.h sa a se aktyèlman pral fè yon ti jan 551 00:26:43,320 --> 00:26:46,900 avantaje paske mwen pral ale pi devan epi aplike yon sèl 552 00:26:46,900 --> 00:26:48,120 lòt pwogram isit la. 553 00:26:48,120 --> 00:26:52,420 >> Kite m 'ale pi devan epi louvri moute yon bagay Mwen te ekri nan avanse yo rele 554 00:26:52,420 --> 00:26:55,750 capitalize.c, ak kite a pran yon gade nan ki jan travay sa a. 555 00:26:55,750 --> 00:27:00,340 Remake mwen lè l sèvi avèk, nan vèsyon sa-a nan li, twa dosye yo konnen yo. 556 00:27:00,340 --> 00:27:04,110 Remake nan liy 18, mwen se ap resevwa yon liy nan tèks. 557 00:27:04,110 --> 00:27:07,660 Avi nan liy 21, mwen reklame ke Kòd sa a ki pral 558 00:27:07,660 --> 00:27:12,170 tirer la, tou sa itilizatè a tape nan, ak ki jan mwen fè sa? 559 00:27:12,170 --> 00:27:13,300 Bon, mwen ap pran - 560 00:27:13,300 --> 00:27:14,750 leson yo aprann nan tan sot pase a - 561 00:27:14,750 --> 00:27:18,370 Mwen deklare mwen ak n ak iteration sou karaktè yo ki nan fisèl la. 562 00:27:18,370 --> 00:27:22,720 Lè sa a, ki sa ki sa a blòk Kòd nan liy 24 a 27 563 00:27:22,720 --> 00:27:24,550 fè an tèm pwofàn la? 564 00:27:24,550 --> 00:27:27,766 565 00:27:27,766 --> 00:27:29,730 >> Miniskil lèt tounen. 566 00:27:29,730 --> 00:27:30,430 >> Egzakteman. 567 00:27:30,430 --> 00:27:35,920 Si yo bracket mwen - Se konsa, si m-th a karaktè nan s, ki se yon espesifik 568 00:27:35,920 --> 00:27:40,220 Char nan fisèl la, se pi gran pase oswa egal a miniskil yon ak - 569 00:27:40,220 --> 00:27:42,670 sonje ki comercial doub siyifi ak - 570 00:27:42,670 --> 00:27:46,810 ak karaktè a menm, yo bracket mwen, se mwens pase oswa egal a miniskil z, 571 00:27:46,810 --> 00:27:50,600 sa vle di li nan yon b yon oswa yon oswa yon c oswa dot, dot, dot, oswa yon z, ki vle di 572 00:27:50,600 --> 00:27:51,340 li nan lèt miniskil. 573 00:27:51,340 --> 00:27:52,900 Ki sa mwen vle fè nan ka sa a? 574 00:27:52,900 --> 00:27:55,010 Oke, mwen ka fè sa yon ti jan cryptically, men 575 00:27:55,010 --> 00:27:56,160 kite a toumante sa a apa. 576 00:27:56,160 --> 00:28:00,210 >> Mwen pral rele printf, simagri c% paske mwen vle Reprint sa a 577 00:28:00,210 --> 00:28:01,580 N. sou ekran an. 578 00:28:01,580 --> 00:28:06,650 Mwen Lè sa a, pral pran yo bracket mwen an, m-th karaktè nan s, ak Lè sa a, poukisa 579 00:28:06,650 --> 00:28:12,330 mwen fè sa Trick ti kras isit la, miniskil yon Yon kapital mwens? 580 00:28:12,330 --> 00:28:16,352 Ki sa ki ki pral bay m ', jeneralman pale? 581 00:28:16,352 --> 00:28:18,600 >> [Fèbl]. 582 00:28:18,600 --> 00:28:19,390 >> Egzakteman. 583 00:28:19,390 --> 00:28:20,860 Mwen pa reyèlman sonje - 584 00:28:20,860 --> 00:28:24,390 li te 65 pou kapital A. mwen pa fè sa vrèman sonje sa miniskil yon se, 585 00:28:24,390 --> 00:28:25,540 men pa gen pwoblèm. 586 00:28:25,540 --> 00:28:26,580 Òdinatè a konnen. 587 00:28:26,580 --> 00:28:30,380 Se konsa, lè li di, lèt miniskil yon mwens kapital A, li la etranj yo dwe 588 00:28:30,380 --> 00:28:33,530 soustraksyon yon sèl Char soti nan yon lòt, men ki sa yo charaktèr anba kapo a? 589 00:28:33,530 --> 00:28:34,520 Yo ap jis chif yo. 590 00:28:34,520 --> 00:28:36,980 Se konsa, tou sa moun ki nimewo yo, kite òdinatè a sonje li 591 00:28:36,980 --> 00:28:38,240 olye ke m 'moun lan. 592 00:28:38,240 --> 00:28:41,710 >> Se konsa, lèt miniskil yon kapital mwens A se ale nan, ban m 'yon diferans. 593 00:28:41,710 --> 00:28:45,370 Li k ap pase yo 32, ak ki ta ka ka a pou miniskil b ak kapital B 594 00:28:45,370 --> 00:28:45,930 ak pou fè. 595 00:28:45,930 --> 00:28:47,710 Li rete konsistan, Erezman. 596 00:28:47,710 --> 00:28:51,930 Se konsa, mwen esansyèlman li di, pran an miniskil lèt, fè soustraksyon-la ki 597 00:28:51,930 --> 00:28:55,340 estanda diferans, epi ki mwen bracket efektivman chanjman yo soti nan 598 00:28:55,340 --> 00:28:59,400 miniskil, nan kou, majuskul, san yo pa m 'reyèlman gen yo panse 599 00:28:59,400 --> 00:29:03,040 sou oswa sonje, sa ki te moun nimewo nou te pale de lè uit a 600 00:29:03,040 --> 00:29:04,800 volontè li moute soti deyò sou sèn? 601 00:29:04,800 --> 00:29:08,800 Koulye a, pandan se tan, nan lòt la, si li pa yon lèt miniskil jan yo detèmine 602 00:29:08,800 --> 00:29:10,400 pa liy 24, jis pou enprime li. 603 00:29:10,400 --> 00:29:12,590 Mwen sèlman vle manyen la karaktè ki te 604 00:29:12,590 --> 00:29:14,410 aktyèlman orijinal lèt miniskil. 605 00:29:14,410 --> 00:29:15,150 >> Se konsa, kite a wè sa. 606 00:29:15,150 --> 00:29:17,400 Fè tirer. 607 00:29:17,400 --> 00:29:18,470 Konpile, OK. 608 00:29:18,470 --> 00:29:19,730 . / Tirer. 609 00:29:19,730 --> 00:29:23,530 Men, kite m 'tape nan H-E-L-L O- nan lèt miniskil, antre. 610 00:29:23,530 --> 00:29:26,370 Men, remake ke li se konvèti nan majuskul. 611 00:29:26,370 --> 00:29:27,940 Kite m 'fè sa ankò ak yon mo diferan. 612 00:29:27,940 --> 00:29:32,720 Kouman sou D-A-V-mwen D-ak D nan premye pwofite kapitalize kòm yon Non tipikman se? 613 00:29:32,720 --> 00:29:33,560 Antre nan. 614 00:29:33,560 --> 00:29:34,870 Avi li la toujou kòrèk. 615 00:29:34,870 --> 00:29:40,250 Li jis outputted ki premye D chanje via ki lòt konstwi. 616 00:29:40,250 --> 00:29:42,170 >> Se konsa, kenbe nan tèt ou, Lè sa a, yon koup de bagay sa yo isit la. 617 00:29:42,170 --> 00:29:45,060 Youn, si ou tout tan tout tan vle tcheke de kondisyon nan yon fwa, ou kapab ak yo 618 00:29:45,060 --> 00:29:46,500 ansanm kòm nou prevwa. 619 00:29:46,500 --> 00:29:49,900 Ou ka konpare karaktè nan fason sa a ak efikasite trete karaktè kòm 620 00:29:49,900 --> 00:29:53,050 nimewo, men franchman, sa a se konsa modi skre mwen pa janm ap ale nan sonje 621 00:29:53,050 --> 00:29:56,510 ki jan yo vini ak sa a nan grate san yo pa rezònman nan li pou byen 622 00:29:56,510 --> 00:29:57,140 yon ti jan nan tan. 623 00:29:57,140 --> 00:30:00,590 >> Pa li ta yo te bèl si yon moun yo deyò ekri yon fonksyon rele se 624 00:30:00,590 --> 00:30:05,390 pi ba ki t 'kapab reponn pou mwen vre oubyen fo, sa a karaktè se miniskil? 625 00:30:05,390 --> 00:30:09,350 Oke Erezman, moun ki va ekri ctype.h te fè egzakteman sa. 626 00:30:09,350 --> 00:30:15,540 Kite m 'ale moute isit la epi ajoute ctype pou c kalite, epi kounye a, kite m 'desann isit la ak 627 00:30:15,540 --> 00:30:18,820 ekri liy sa a jan sa a. 628 00:30:18,820 --> 00:30:27,510 >> Se konsa, si sa yo rele se pi ba, mwen fè reklamasyon, s bracket mwen, lè sa a mwen pral efase 629 00:30:27,510 --> 00:30:29,400 liy sa yo de tout ansanm. 630 00:30:29,400 --> 00:30:32,570 Se konsa, kounye a yon lòt moun, mwen espere, ekri yon fonksyon rele se pi ba, epi li 631 00:30:32,570 --> 00:30:36,250 vire soti yo te fè ak yo te deklare li andedan nan ctype.h. 632 00:30:36,250 --> 00:30:39,480 Epi, koulye a mwen pral kite liy 27 pou kont li, mwen pral kite liy 31 633 00:30:39,480 --> 00:30:41,890 pou kont li, men remake konbyen mwen te sere boulon moute Kòd mwen. 634 00:30:41,890 --> 00:30:42,690 Li nan kounye a pwòp. 635 00:30:42,690 --> 00:30:47,250 Li nan mwens difisil gade nan paske kounye a fonksyon an, Anplis, se 636 00:30:47,250 --> 00:30:50,080 se konsa bèl yo te rele li jis fè sa li di. 637 00:30:50,080 --> 00:30:51,520 >> Se konsa, kounye a mwen pral pou konsève pou sa a. 638 00:30:51,520 --> 00:30:52,930 Mwen pral rale soti. 639 00:30:52,930 --> 00:30:56,650 Ak jis kòm nan scratches ou ta ka genyen Booleans, valè Boolean vre oubyen 640 00:30:56,650 --> 00:31:01,530 fo, se te ekzakteman ki sa ki pi ba efektivman retounen. 641 00:31:01,530 --> 00:31:02,960 Kite m 'compile. 642 00:31:02,960 --> 00:31:04,500 Kite m 're-kouri. 643 00:31:04,500 --> 00:31:07,350 Epi, koulye a kite a eseye li ankò, H-E-L-L-O, Antre. 644 00:31:07,350 --> 00:31:07,970 Sa a trè bon. 645 00:31:07,970 --> 00:31:10,150 Epi eseye l 'ankò, asire w ke mwen pa t 'vis yon bagay yo. 646 00:31:10,150 --> 00:31:11,670 Sa se pwofite kapitalize kòm byen. 647 00:31:11,670 --> 00:31:14,190 >> Men, sa a se pa bon ase paske la lòt bagay ke mwen pa janm ap ale nan 648 00:31:14,190 --> 00:31:19,090 sonje sof si mwen travay nan li vrèman ak anpil atansyon sou, di, papye se 649 00:31:19,090 --> 00:31:19,920 liy sa a modi. 650 00:31:19,920 --> 00:31:23,450 Pa ta bon pou li si te gen yon fonksyon rele anwo? 651 00:31:23,450 --> 00:31:26,930 Oke, li vire soti gen se nan ctype.h kòm byen. 652 00:31:26,930 --> 00:31:30,150 Mwen pral ale pi devan epi tape - 653 00:31:30,150 --> 00:31:31,340 kite m 'pote ki liy tounen. 654 00:31:31,340 --> 00:31:36,430 Olye pou yo sa a isit la, kite m 'ale pi devan ak di, ranplase c la a% 655 00:31:36,430 --> 00:31:42,110 rezilta pou rezidan yo rele sa a fonksyon anwo sou pèsonaj la m-th nan s. 656 00:31:42,110 --> 00:31:45,430 Epi, koulye a remake li a ap resevwa yon ti kras balanse. 657 00:31:45,430 --> 00:31:48,870 Mwen gen yo kenbe tras nan konbyen parantèz mwen te louvri epi li fèmen. 658 00:31:48,870 --> 00:31:50,050 >> Se konsa, kounye a li nan menm cleaner. 659 00:31:50,050 --> 00:31:53,460 Koulye a, pwogram sa a ap resevwa pi bon ak pi bon ki fèt joui paske li nan 660 00:31:53,460 --> 00:31:56,450 anpil, pi plis lizib men Li pa kite a korije. 661 00:31:56,450 --> 00:31:57,600 Fè tirer. 662 00:31:57,600 --> 00:31:58,930 . / Tirer. 663 00:31:58,930 --> 00:32:03,220 H-E-L-L-O. Se pou yo kouri li ankò, D-A-V-I-D. OK, se konsa nou ap toujou nan 664 00:32:03,220 --> 00:32:04,250 trè bon fòm. 665 00:32:04,250 --> 00:32:06,030 >> Men koulye a, anwo kay la. 666 00:32:06,030 --> 00:32:09,720 Mwen pwopoze ke gen nan yon sèl plis revizyon nou te ka fè ki ta ka 667 00:32:09,720 --> 00:32:12,820 vrèman bèl, ki ta ka vrèman sere boulon moute sa a Kòd ak reyèlman ban nou senk 668 00:32:12,820 --> 00:32:15,150 soti nan senk pou konsepsyon, pou egzanp. 669 00:32:15,150 --> 00:32:16,510 Ki sa ki ta dwe nice yo debarase m de? 670 00:32:16,510 --> 00:32:20,770 Oke, gade ki jan modi tan sa a blòk Kòd se jis fè yon bagay ki senp. 671 00:32:20,770 --> 00:32:23,850 >> Koulye a, kòm yon sou kote, kòm ou ka gen wè nan seksyon super sa a sot pase yo 672 00:32:23,850 --> 00:32:27,570 fen semèn, ou pa entèdi bezwen an aparèy òtopedik Curly lè ou jis gen yon sèl 673 00:32:27,570 --> 00:32:32,180 liy nan Kòd, menm si nou pwopoze kenbe yo pou ke li fè anpil 674 00:32:32,180 --> 00:32:36,190 pi klè, tankou nan ki gen fòm U-scratches a blòk, sa ki andedan nan branch la. 675 00:32:36,190 --> 00:32:40,170 Men, pa t 'vle li dwe nice si yo anwo kay la, lè yo bay opinyon li yo, tounen vin jwenn li nan 676 00:32:40,170 --> 00:32:44,730 majuskul si li pa, ak Ki sa ki ta gen bèl bagay nan ka opoze a si 677 00:32:44,730 --> 00:32:47,210 li nan deja majuskul? 678 00:32:47,210 --> 00:32:49,620 Jis pase l 'nan epi kite li pou kont li. 679 00:32:49,620 --> 00:32:50,660 >> Se konsa, petèt li fè sa. 680 00:32:50,660 --> 00:32:52,990 Mwen te kapab eseye ak jis espere ki li, men li kite m ' 681 00:32:52,990 --> 00:32:54,450 prezante yon lòt bagay. 682 00:32:54,450 --> 00:32:57,440 Olye pou yo lè l sèvi avèk sa a tèminal bati-an fenèt desann isit la, sonje ke 683 00:32:57,440 --> 00:33:01,130 sa a kare nwa icon ba ou yon pi gwo tèminal fenèt ke mwen ka plen 684 00:33:01,130 --> 00:33:02,260 ekran si mwen vle? 685 00:33:02,260 --> 00:33:05,820 Se konsa, li vire soti yo ap sòt de etranj yo te rele, men gen nan bagay sa yo rele 686 00:33:05,820 --> 00:33:10,970 nonm paj, paj manyèl, moun pou ti bout tan, e mwen ka gen aksè a sa yo pa 687 00:33:10,970 --> 00:33:14,515 tape moun - 688 00:33:14,515 --> 00:33:15,570 sa m 'vle di ki kalite? 689 00:33:15,570 --> 00:33:17,830 Moun yo anwo kay la. 690 00:33:17,830 --> 00:33:21,090 >> Epi, koulye a remake si gen egziste yon fonksyone andedan nan òdinatè a, nan 691 00:33:21,090 --> 00:33:23,970 ka sa a aparèy la, ki se jis Linux a sistèm opere, li pral 692 00:33:23,970 --> 00:33:27,920 ban mwen yon seri yon ti jan skre nan pwodiksyon, men w ap jwenn sou tan ki 693 00:33:27,920 --> 00:33:31,720 li toujou ap fòma bèl anpil la menm pou ou kòmanse jwenn itilize li. 694 00:33:31,720 --> 00:33:35,130 Avi nan tèt la anwo kay la, ak aparamman se dokiman an menm 695 00:33:35,130 --> 00:33:35,680 pou pi ba. 696 00:33:35,680 --> 00:33:38,740 Moun ki te ekri li te koupe kèk kwen li mete l 'tout sou yon sèl paj. 697 00:33:38,740 --> 00:33:40,720 Objektif Tout bagay sa yo 'nan lavi a se konvèti yon 698 00:33:40,720 --> 00:33:42,780 lèt nan anwo oswa miniskil. 699 00:33:42,780 --> 00:33:46,290 >> Remake anba Rezime, paj an nonm ap anseye m 'sa dosye mwen gen 700 00:33:46,290 --> 00:33:48,130 genyen ladan yo sèvi ak bagay sa a. 701 00:33:48,130 --> 00:33:51,320 Li nan bay m 'siyati yo pou sa yo fonksyon, tou de peyi yo, menm 702 00:33:51,320 --> 00:33:53,510 si nou kounye a sèlman pran swen sou yon sèl. 703 00:33:53,510 --> 00:33:54,730 Isit la se kounye a yon deskripsyon. 704 00:33:54,730 --> 00:33:58,800 Anwo konvèti lèt la C rive nan majuskul si sa posib. 705 00:33:58,800 --> 00:34:02,280 >> Toujou pa ki édikatif, men kite m ' kounye a gade anba valè retounen, bagay la 706 00:34:02,280 --> 00:34:03,520 ki nan men dèyè. 707 00:34:03,520 --> 00:34:08,600 Se konsa, valè a tounen se sa yo ki an nan konvèti lèt oswa yon c si la 708 00:34:08,600 --> 00:34:09,870 konvèsyon pa te posib. 709 00:34:09,870 --> 00:34:11,202 Ki sa ki se c? 710 00:34:11,202 --> 00:34:12,560 >> Karaktè orijinal yo. 711 00:34:12,560 --> 00:34:15,370 >> Karaktè orijinal ak nou konnen ki pa, ankò, moute a 712 00:34:15,370 --> 00:34:19,179 Rezime, moun ki va ekri sa a fonksyon jis deside ke opinyon an 713 00:34:19,179 --> 00:34:22,909 pou fè pou anwo ak pi ba a se jis abitrèman yo pral rele c. 714 00:34:22,909 --> 00:34:24,909 Yo te kapab yo te rele li pi anyen yo vle, men yo kenbe li 715 00:34:24,909 --> 00:34:26,270 senp tankou c. 716 00:34:26,270 --> 00:34:27,880 Se konsa, mwen te konsilte paj an moun. 717 00:34:27,880 --> 00:34:31,870 Fraz sa a rasur m 'ke si li pa yon lèt miniskil, li nan 718 00:34:31,870 --> 00:34:34,969 ale nan jis bay m 'tounen c, ki se pafè, ki vle di mwen ka debarase m de 719 00:34:34,969 --> 00:34:36,199 kondisyon lòt moun mwen. 720 00:34:36,199 --> 00:34:39,679 >> Se konsa, kite m 'tounen nan jdi, ak kounye a, kite m 'jis fè sa. 721 00:34:39,679 --> 00:34:41,960 Mwen pral fè kopi deklarasyon printf mwen. 722 00:34:41,960 --> 00:34:45,969 Mwen pral ale pi devan ak dwa anndan a pou ekri an lèt detache bouk ki soti, epi pou yo jwenn 723 00:34:45,969 --> 00:34:48,760 debarase m de kounye a sa a tout antye si konstwi. 724 00:34:48,760 --> 00:34:51,860 Pa t 'yon lide move, epi li te trè pi kòrèk epi yo konsistan avèk 725 00:34:51,860 --> 00:34:54,100 tout sa nou te anonse, men jis pa nesesè. 726 00:34:54,100 --> 00:34:57,070 Osito ke ou reyalize kèk bibliyotèk fonksyon ki egziste ke yon lòt moun 727 00:34:57,070 --> 00:35:01,340 te ekri, oswa petèt ou te ekri yon lòt kote nan dosye a, ou ka itilize li ak reyèlman 728 00:35:01,340 --> 00:35:02,690 kòmanse sere boulon moute Kòd la. 729 00:35:02,690 --> 00:35:06,080 >> Men, lè m 'di bagay sa yo tankou style bon, lefèt ke moun sa a yo rele nan 730 00:35:06,080 --> 00:35:11,490 fonksyone nan anwo kay la, oswa te deja se pi ba a se bèl itil paske 731 00:35:11,490 --> 00:35:12,900 yo ap trè deskriptif. 732 00:35:12,900 --> 00:35:16,120 Ou pa ta vle rele fonksyon ou x ak y ak Z, ki gen 733 00:35:16,120 --> 00:35:19,620 anpil, anpil mwens sans. 734 00:35:19,620 --> 00:35:25,160 Nenpòt kesyon sou sa seri nan amelyorasyon? 735 00:35:25,160 --> 00:35:28,010 >> Se konsa, sufi li vle di youn nan la takeaways se menm jan pwoblèm pwòp ou a 736 00:35:28,010 --> 00:35:30,960 seri - petèt pwoblèm seri yon sèl, men sètènman P mete de ak pati, menm 737 00:35:30,960 --> 00:35:34,380 lè yo ap kòrèk pa nesesèman vle di ke yo pafè jis 738 00:35:34,380 --> 00:35:36,155 ankò oswa patikilyèman byen ki fèt. 739 00:35:36,155 --> 00:35:38,420 Sa a aks lòt nan kòmanse reflechi sou. 740 00:35:38,420 --> 00:35:41,730 Se konsa, sa a te yon andedan fisèl nan ou memwa òdinatè a, men si ou gen yon 741 00:35:41,730 --> 00:35:46,180 tout pakèt moun sou karaktè tankou H-E-L-L O- andedan nan RAM, ak ta kwè 742 00:35:46,180 --> 00:35:51,330 ke ou nan pwogram ou an rele jwenn fisèl plizyè fwa sa yo ke ou 743 00:35:51,330 --> 00:35:54,200 rele jwenn fisèl yon fwa, Lè sa a, ou rele jwenn fisèl ankò. 744 00:35:54,200 --> 00:35:55,880 Oke, sa k ap pase rive sou tan? 745 00:35:55,880 --> 00:35:59,170 >> Nan lòt mo, si ou gen yon liy nan Kòd, kwake soti nan kontèks, tankou 746 00:35:59,170 --> 00:36:02,120 fisèl yo vin - 747 00:36:02,120 --> 00:36:02,960 kite a fè sa. 748 00:36:02,960 --> 00:36:05,270 Non chèn egal jwenn fisèl. 749 00:36:05,270 --> 00:36:08,590 Se konsa, ta kwè se ke liy nan Kòd vle di mande itilizatè a pou li oswa non li. 750 00:36:08,590 --> 00:36:14,580 Sa a se liy kap vini yo nan kòd vle di ke yo mande itilizatè a pou lekòl li a, ak 751 00:36:14,580 --> 00:36:15,920 liy sa a kap vini yo, ak pou fè. 752 00:36:15,920 --> 00:36:18,150 Sipoze ke nou kontinye mande itilizatè a pou yon lòt ak 753 00:36:18,150 --> 00:36:19,750 yon lòt ak yon lòt fisèl. 754 00:36:19,750 --> 00:36:22,390 Yo ap ale nan rete nan memwa an menm tan an. 755 00:36:22,390 --> 00:36:24,280 Youn a pa pral nip lòt la. 756 00:36:24,280 --> 00:36:26,420 Lekòl se pa sa recouvrir lòt la. 757 00:36:26,420 --> 00:36:28,520 Men, kote fè yo tout fini nan memwa? 758 00:36:28,520 --> 00:36:32,030 >> Bon, si nou kòmanse fè desen sou ekran an, ki nou ka sèvi ak bagay sa a 759 00:36:32,030 --> 00:36:35,800 isit la tankou yon tablo, si sa a nwa rektang reprezante nan òdinatè mwen 760 00:36:35,800 --> 00:36:39,800 memwa, mwen pral abitrèman kòmanse divize l 'moute nan kare ti kras, 761 00:36:39,800 --> 00:36:42,120 chak nan yo ki reprezante yon sèl multiple nan memwa. 762 00:36:42,120 --> 00:36:46,560 Franchman, si ou gen yon jigokte nan RAM jou sa yo, ou gen yon bytes milya dola 763 00:36:46,560 --> 00:36:49,540 nan memwa nan òdinatè w lan, se konsa yon milya dola nan sa yo kare. 764 00:36:49,540 --> 00:36:52,110 Se konsa, sufi li vle di, sa a se pa reyèlman sou yon echèl. 765 00:36:52,110 --> 00:36:58,250 >> Men, nou te ka kenbe desen tout moun sa yo klèman pa selon echèl la kare, ak sa a 766 00:36:58,250 --> 00:37:01,260 kolektivman reprezante memwa òdinatè mwen an. 767 00:37:01,260 --> 00:37:03,136 Koulye a, nou jis pral fè dot, dot, dot. 768 00:37:03,136 --> 00:37:06,260 Se konsa, nan lòt mo, lè m 'koulye a Èd memwa a itilizatè ak fisèl jwenn yo ban m 'yon 769 00:37:06,260 --> 00:37:07,350 fisèl, ki sa k ap pase? 770 00:37:07,350 --> 00:37:14,270 Si itilizatè a kalite nan "hello," ki fini moute nan H-E-L-L-O. Men, si nan 771 00:37:14,270 --> 00:37:15,720 itilizatè Lè sa a, kalite nan - 772 00:37:15,720 --> 00:37:17,250 aktyèlman, mwen pa ta dwe fè alo paske nou ap mande 773 00:37:17,250 --> 00:37:18,330 yo pou non yo. 774 00:37:18,330 --> 00:37:20,580 Se konsa, kite a tounen si mwen ka fè sa. 775 00:37:20,580 --> 00:37:26,130 >> Se konsa, si mwen di ki kalite nan D-A-V-mwen D-pou non m ', men sonje ke liy nan dezyèm nan 776 00:37:26,130 --> 00:37:29,220 Kòd te jwenn fisèl ankò jwenn lekòl yo. 777 00:37:29,220 --> 00:37:32,090 Ki kote se ke mo ki itilizatè a kalite nan pwal ale kap vini yo? 778 00:37:32,090 --> 00:37:38,290 Oke, petèt li pral ale nan H-A-R-V-A-R-D. Se konsa, menm si mwen te gen 779 00:37:38,290 --> 00:37:41,560 trase li kòm de ranje, sa a se jis yon pakèt antye nan bytes nan ou 780 00:37:41,560 --> 00:37:42,710 RAM òdinatè a. 781 00:37:42,710 --> 00:37:46,560 Genyen yon pwoblèm kounye a paske kounye a si mwen se lè l sèvi avèk RAM nan sa a rezonab trè 782 00:37:46,560 --> 00:37:49,910 men sòt de fason nayif, Ki sa ou ka pa aparamman yo fè distenksyon ant? 783 00:37:49,910 --> 00:37:52,640 784 00:37:52,640 --> 00:37:54,680 Ki kote yon sèl kòmanse ak ki kote yon sèl bout, dwa? 785 00:37:54,680 --> 00:37:55,860 Yo ap kalite flou yo ansanm. 786 00:37:55,860 --> 00:37:57,920 >> Se konsa, li vire soti òdinatè a pa fè sa. 787 00:37:57,920 --> 00:38:04,720 Kite m 'aktyèlman woulo liv tounen nan tan yon karaktè kèk, ak olye pou yo Harvard 788 00:38:04,720 --> 00:38:09,570 pral imedyatman apre non itilizatè a, itilizatè a aktyèlman vin, dèyè 789 00:38:09,570 --> 00:38:12,000 sèn nan, yon karaktè espesyal eleman pa la 790 00:38:12,000 --> 00:38:13,885 òdinatè pou l 'oswa li. 791 00:38:13,885 --> 00:38:19,470 / 0, otreman li te ye kòm pèsonaj la nul annoyingly rele N-U-L, pa 792 00:38:19,470 --> 00:38:22,190 N-U-L-L, men ou ekri li kòm / 0. 793 00:38:22,190 --> 00:38:27,130 Se jis nan tout Bits zewo se yon makè nan ant pawòl Bondye a premye ki itilizatè a 794 00:38:27,130 --> 00:38:28,290 tape ak dezyèm lan. 795 00:38:28,290 --> 00:38:33,020 >> Se konsa, Harvard aktyèlman kounye a fini moute tankou sa a sekans nan karaktè 796 00:38:33,020 --> 00:38:36,110 ak yon sèl plis / 0. 797 00:38:36,110 --> 00:38:41,690 Se konsa, nan lòt mo, pa gen sa yo Sentinel valè yo, uit vwazen zewo 798 00:38:41,690 --> 00:38:45,220 Bits, ou kapab kounye a kòmanse yo fè distenksyon ant yon karaktè soti nan yon lòt. 799 00:38:45,220 --> 00:38:49,720 Se konsa, tout tan sa a sa ki te "alo" se aktyèlman "alo" ak yon 0 /, ak 800 00:38:49,720 --> 00:38:53,580 Pandan se tan, gen ka trè byen dwe byen yon ti jan pi plis RAM 801 00:38:53,580 --> 00:38:56,400 andedan nan òdinatè a. 802 00:38:56,400 --> 00:38:57,810 >> Kite m 'fè yon lòt bagay kounye a. 803 00:38:57,810 --> 00:39:01,800 Li sanble ke tout moun sa yo kare nou ve yo te desen yo, yo yo, wi, 804 00:39:01,800 --> 00:39:06,140 strings, men li plis jeneralman, bagay sa yo ranje. 805 00:39:06,140 --> 00:39:10,590 Yon etalaj se jis yon ti moso nan memwa sa a, se tounen nan Retounen nan Retounen nan tounen, 806 00:39:10,590 --> 00:39:15,130 epi ou tipikman sèvi ak yon etalaj pa fason sa a notasyon bracket kare. 807 00:39:15,130 --> 00:39:18,210 Se konsa, nou ap ale nan wè sa yo byen yon ti jan sou tan, men, kite m 'ale pi devan epi 808 00:39:18,210 --> 00:39:21,160 louvri moute, se pou yo rele li laj. 809 00:39:21,160 --> 00:39:23,920 Ak Avi sa nou kapab fè ak sa yo ke trik nouvèl menm, yon ti kras 810 00:39:23,920 --> 00:39:25,750 ti jan pi plis sentaks isit la. 811 00:39:25,750 --> 00:39:29,270 >> Se konsa, nan liy 17 nan pwogram sa a - aktyèlman, kite m 'kouri pwogram nan premye 812 00:39:29,270 --> 00:39:30,770 pou nou ka wè sa ki bagay sa a fè. 813 00:39:30,770 --> 00:39:33,530 Kite m 'rele fè ki gen laj konpile pwogram sa a. 814 00:39:33,530 --> 00:39:34,950 . / Laj. 815 00:39:34,950 --> 00:39:36,480 Konbyen moun ki se nan chanm nan? 816 00:39:36,480 --> 00:39:38,020 Rele li twa. 817 00:39:38,020 --> 00:39:39,575 Laj moun nan an premye? 818 00:39:39,575 --> 00:39:42,710 18, 19, ak 20. 819 00:39:42,710 --> 00:39:46,770 Epi, koulye a yon ti jan ridikil, mwen jis te fè yon pwogram ki gen laj moun 820 00:39:46,770 --> 00:39:47,740 twa moun. 821 00:39:47,740 --> 00:39:50,390 >> Se konsa, gen nan byen klè yon opòtinite pou kèk aritmetik plezi isit la. 822 00:39:50,390 --> 00:39:51,560 Erezman, matematik an kòrèk. 823 00:39:51,560 --> 00:39:54,720 18 te ale nan 19, 19 te ale a 20 ak pou fè. 824 00:39:54,720 --> 00:39:58,510 Men, sa ki nan vrèman vle di yo dwe ilistrasyon isit la se ki jan nou ap estoke 825 00:39:58,510 --> 00:40:00,190 ki gen laj moun sa yo twa a. 826 00:40:00,190 --> 00:40:02,370 Kite m 'rale nan nan sa ki nan ale sou isit la. 827 00:40:02,370 --> 00:40:06,240 >> Se konsa, an premye, sa yo premye liy kèk ta dwe ap resevwa trè yo konnen yo. 828 00:40:06,240 --> 00:40:08,770 Mwen jis pouse itilizatè a pou la kantite moun ki nan sal la. 829 00:40:08,770 --> 00:40:11,490 Lè sa a, mwen lè l sèvi avèk jwenn Int ak fè pandan y ap fè sa ankò, li ankò e ankò. 830 00:40:11,490 --> 00:40:15,780 Nou te wè ki jan modèl anvan, men liy 27 se nouvo ak aktyèlman byen 831 00:40:15,780 --> 00:40:18,160 ki itil, epi yo ap vin de pli zan pli itil. 832 00:40:18,160 --> 00:40:21,620 Remake sa ki nan diferan nan liy 27 se pou m 'parèt yo dwe deklare yon 833 00:40:21,620 --> 00:40:23,960 Int rele laj, men rete tann. 834 00:40:23,960 --> 00:40:27,140 Li pa jis ki gen laj Int. 835 00:40:27,140 --> 00:40:30,130 Genyen sa yo parantèz kare, se andedan nan yo ki n. 836 00:40:30,130 --> 00:40:35,150 >> Se konsa, bracket n la nan kontèks sa a, pa andedan nan yon deklarasyon printf isit la, men 837 00:40:35,150 --> 00:40:44,370 nan liy sa a sèl 27, liy sa a se li di, ban m 'n antye, chak nan yo ki 838 00:40:44,370 --> 00:40:46,080 se nan Int kalite. 839 00:40:46,080 --> 00:40:49,870 Se konsa, sa a se yon bokit, se konsa pale, nan, nan ka sa a, twa nonm antye tounen nan 840 00:40:49,870 --> 00:40:52,770 tounen nan do pou m 'efektivman gen twa varyab. 841 00:40:52,770 --> 00:40:54,890 Altènatif la, yo dwe klè, ta dwe sa a. 842 00:40:54,890 --> 00:40:57,400 >> Si mwen te vle elèv nan premye a laj, mwen ta ka fè sa. 843 00:40:57,400 --> 00:40:59,520 Si mwen te vle elèv nan dezyèm nan laj mwen ta ka fè sa. 844 00:40:59,520 --> 00:41:01,860 Si mwen te vle elèv la twazyèm lan laj, mwen ta ka fè sa. 845 00:41:01,860 --> 00:41:04,320 Men, mande Bondye padon! Nou bezwen tout moun nan gen laj nan sal sa a - 846 00:41:04,320 --> 00:41:07,670 Mwen vle di, sa a se yon èk nan yon anpil nan kopi, kole ankò, li ankò e ankò. 847 00:41:07,670 --> 00:41:10,870 Men, plis yon fwa mwen konpile pwogram sa a, si yon lòt elèv ap mache nan plis pase soti 848 00:41:10,870 --> 00:41:14,200 nan ke pòt, kounye a nimewo mwen nan varyab la se kòrèk. 849 00:41:14,200 --> 00:41:17,450 >> Se konsa, sa ki nan bèl sou yon etalaj se kòm pli vit ke ou kòmanse santi tèt ou 850 00:41:17,450 --> 00:41:20,190 w kopye e kole, chans yo se sa a, se pa pi bon apwòch. 851 00:41:20,190 --> 00:41:22,240 Yon etalaj la se dinamik potansyèlman. 852 00:41:22,240 --> 00:41:24,610 Mwen pa konnen an davans konbyen moun ki yo ale nan dwe nan sal la, 853 00:41:24,610 --> 00:41:28,670 Men, mwen konnen mwen bezwen N OF yo, epi mwen pral figi konnen n lè lè a va rive. 854 00:41:28,670 --> 00:41:35,500 Liy sa a nan kòd kounye a vle di, ban m 'yon ti moso nan memwa ki sanble ak sa a 855 00:41:35,500 --> 00:41:40,380 kote kantite bwat sou ekran an se antyèman depann sou n ki 856 00:41:40,380 --> 00:41:42,010 itilizatè a tape pous 857 00:41:42,010 --> 00:41:44,850 >> Se konsa, kounye a rès la nan pwogram sa a se aktyèlman trè menm jan ak sa nou 858 00:41:44,850 --> 00:41:46,860 jis te fè ak karaktè. 859 00:41:46,860 --> 00:41:49,970 Avi Mwen gen yon pou bouk kòmanse nan liy 30. 860 00:41:49,970 --> 00:41:54,920 Se konsa, dwa apre mwen jwenn etalaj la, mwen répétèr soti nan y egal zewo sou jiska n. 861 00:41:54,920 --> 00:41:58,890 Mwen jis gen sa a printf édikatif mesaj jis di, ban m 'laj 862 00:41:58,890 --> 00:42:03,690 moun #% mwen, se konsa nimewo yon sèl, nimewo de, nimewo twa. 863 00:42:03,690 --> 00:42:04,730 Epi poukisa mwen fè sa? 864 00:42:04,730 --> 00:42:08,870 Franchman, moun pito konte soti nan yon sou moute Lè nou konsidere ke syantis konpitè, 865 00:42:08,870 --> 00:42:09,620 zewo sou yo. 866 00:42:09,620 --> 00:42:11,700 syantis konpitè pa pral itilize sa a kalite pwogram, se konsa nou ap 867 00:42:11,700 --> 00:42:13,990 ale nan jis kòmanse konte nan yon sèl tankou moun nòmal. 868 00:42:13,990 --> 00:42:17,630 >> Epi, koulye a nan liy 33, remake yon ti kras nan diferan moso nan sentaks. 869 00:42:17,630 --> 00:42:23,710 Gen laj nan m-th nan varyab sa a nan kalite etalaj ki pral jwenn yon Int. 870 00:42:23,710 --> 00:42:25,770 Epi, koulye a Anfen, sa a se jis aritmetik desann isit la. 871 00:42:25,770 --> 00:42:29,200 Mwen deside nan yon bouk separe nan reklamasyon kèk tan pase, epi kounye a nan sa a 872 00:42:29,200 --> 00:42:31,400 apa bouk, liy sa yo egzekite. 873 00:42:31,400 --> 00:42:35,810 >> Yon ane nan kounye a, moun mwen pral mwen ane fin vye granmoun, men remake sa a se la pa 874 00:42:35,810 --> 00:42:36,500 varyab mwen. 875 00:42:36,500 --> 00:42:38,390 Sa a se kounye a% mwen pou Int. 876 00:42:38,390 --> 00:42:43,210 Ak Avi kòm kontneur a an premye, mwen ploge nan mwen plis 1, se konsa nou konte tankou yon 877 00:42:43,210 --> 00:42:44,250 nòmal moun. 878 00:42:44,250 --> 00:42:49,190 Lè sa a, pou valè a nan laj yo, pou mwen ane fin vye granmoun, mwen pran laj bracket 879 00:42:49,190 --> 00:42:52,980 mwen - epi poukisa mwen fè plis yon isit la? 880 00:42:52,980 --> 00:42:53,760 Yo jis ki gen laj. 881 00:42:53,760 --> 00:42:55,030 Li nan chwa estipid mwen nan pwogram. 882 00:42:55,030 --> 00:42:56,810 Yo jis ki gen laj yon ane. 883 00:42:56,810 --> 00:42:59,770 Mwen te kapab tape nan nenpòt nimewo ki Mwen aktyèlman vle a. 884 00:42:59,770 --> 00:43:02,430 >> Se konsa, sa la aktyèlman tout enpòtans a isit la? 885 00:43:02,430 --> 00:43:07,610 Oke, kite m 'aktyèlman woulo liv tounen sou isit la ak penti yon foto 886 00:43:07,610 --> 00:43:10,830 nan sa ki bay manti devan. 887 00:43:10,830 --> 00:43:15,720 Ki sa nou ap fè ak pwochen nou yo Set Pwoblèm De se diletantism nan la 888 00:43:15,720 --> 00:43:17,070 mond nan chifreman. 889 00:43:17,070 --> 00:43:22,500 Se konsa, sa a se yon afè de karaktè, se konsa yon sekans charaktèr miltip, ak sa 890 00:43:22,500 --> 00:43:23,750 sa a di nou fè? 891 00:43:23,750 --> 00:43:28,530 892 00:43:28,530 --> 00:43:30,600 Li pa nan vèsyon an sou entènèt nan glisad yo. 893 00:43:30,600 --> 00:43:35,880 >> Se konsa, mwen reklamasyon ke sa a egal sa a, yon estipid reklam soti nan anpil ane 894 00:43:35,880 --> 00:43:39,950 de sa ki ta ka aktyèlman sonje youn nan orijin li. 895 00:43:39,950 --> 00:43:42,740 Se konsa, sa a se yon egzanp chifreman oswa chifreman. 896 00:43:42,740 --> 00:43:46,150 Li sanble ke si ou vle aktyèlman voye enfòmasyon oswa pataje 897 00:43:46,150 --> 00:43:49,310 enfòmasyon ak yon moun byen, tankou yon mesaj tankou sa a, ou kapab 898 00:43:49,310 --> 00:43:50,500 brouiller lèt yo. 899 00:43:50,500 --> 00:43:53,170 Men, anjeneral, mo sa yo se pa grenpe moute owaza. 900 00:43:53,170 --> 00:43:56,365 Yo ap permuted nan kèk fason oswa chanje nan kèk fason pou ke - Wouch. 901 00:43:56,365 --> 00:43:59,040 Sa se yon beke plezi pou tan kap vini an. 902 00:43:59,040 --> 00:44:04,390 >> Se konsa, ou ka kat ki sa ki aparamman O B a Avi ki liy moute 903 00:44:04,390 --> 00:44:05,420 lèt majiskil-ki gen bon konprann. 904 00:44:05,420 --> 00:44:07,960 Aparamman r vin e. 905 00:44:07,960 --> 00:44:14,000 Aparamman F-H-E-R vin S-U-R-E. Se konsa, li vire soti gen yon kat, ak nan 906 00:44:14,000 --> 00:44:18,720 ka sa a gen yon estipid bèl gewografik si nenpòt moun te kalkile li soti? 907 00:44:18,720 --> 00:44:21,440 Sa a se yon bagay yo rele Pouri 13, vire 13. 908 00:44:21,440 --> 00:44:24,760 Li se estipid la nan chifreman mekanism paske li literalman jis 909 00:44:24,760 --> 00:44:29,160 ajoute 13 a chak youn nan lèt yo, estipid nan sans ke si ou jis 910 00:44:29,160 --> 00:44:31,890 gen yon ti jan nan tan lib sou men ou ak yon kreyon, oswa ou jis panse ke li 911 00:44:31,890 --> 00:44:35,260 nan nan tèt ou, ou ta ka eseye tout testaman posib - yonn, de,, 912 00:44:35,260 --> 00:44:38,470 twa, dot, dot, dot, 25 a jis Thorne alfabè a tout antye, ak 913 00:44:38,470 --> 00:44:40,860 evantyèlman, ou pral konnen ki sa mesaj sa a se. 914 00:44:40,860 --> 00:44:43,700 Se konsa, si ou te fè yon bagay tankou sa a nan klas lekòl pase pou bay mesaj pou ou 915 00:44:43,700 --> 00:44:46,830 pi bon zanmi, si lekòl klas ou pwofesè tou senpleman li nan la 916 00:44:46,830 --> 00:44:50,320 mesaj ak brital fòse solisyon an, ou ta ka gen vinn 917 00:44:50,320 --> 00:44:52,550 yon repons pa sa. 918 00:44:52,550 --> 00:44:54,970 >> Koulye a, nan kou, nan mond reyèl la, chifreman se pi plis sofistike. 919 00:44:54,970 --> 00:45:00,120 Sa a se yon brib nan tèks ki sòti nan yon sistèm òdinatè ki gen usernames ak 920 00:45:00,120 --> 00:45:03,630 modpas, kòm prèske tout nan nou fè, ak sa a se sa modpas ou ka 921 00:45:03,630 --> 00:45:07,260 gade renmen si ki estoke sou di ou yo kondwi men nan fòm chiffres. 922 00:45:07,260 --> 00:45:11,050 Sa a se pa jis yon wotasyon lèt, A B se ak B se C. Sa a se 923 00:45:11,050 --> 00:45:15,620 pi plis sofistike, men li sèvi ak sa ki jeneralman li te ye kòm kle sekrè 924 00:45:15,620 --> 00:45:16,690 chifreman. 925 00:45:16,690 --> 00:45:20,210 Pòtre sa a di sa ki annapre yo istwa ak yon ikon kèk. 926 00:45:20,210 --> 00:45:22,250 >> Sou bò gòch la, nou gen sa ki nou pral rele plenn tèks. 927 00:45:22,250 --> 00:45:25,420 Nan mond lan nan chifreman, plenn tèks se jis mesaj orijinal la 928 00:45:25,420 --> 00:45:29,050 ekri nan lang angle oswa franse oswa nenpòt lang tou. 929 00:45:29,050 --> 00:45:32,405 Si ou vle ankripte li, nou pral pase li pictorially atravè yon kadna, se konsa 930 00:45:32,405 --> 00:45:35,580 kèk kalite nan algorithm, gen kèk fonksyon oswa pwogram ke yon moun te ekri 931 00:45:35,580 --> 00:45:39,880 ki scrambles lèt yo èspere ke plis complicatedly pase jis ajoute 13 932 00:45:39,880 --> 00:45:40,980 nan chak nan yo. 933 00:45:40,980 --> 00:45:43,780 >> Ki sa ou jwenn soti nan pwosesis sa a nan la mitan gen yo rele cyphertext. 934 00:45:43,780 --> 00:45:44,850 Se konsa, kalite nan yon mo sexy. 935 00:45:44,850 --> 00:45:47,630 Li jis vle di li nan chiffres a vèsyon an tèks la klè. 936 00:45:47,630 --> 00:45:52,570 Ak sèlman si ou gen ki sekrè menm, 13 oswa mwens 13, ou kapab fè 937 00:45:52,570 --> 00:45:54,970 dechifre yon mesaj tankou sa. 938 00:45:54,970 --> 00:45:57,770 >> Se konsa, nan Pwoblèm Mete De, nan mitan bagay sa yo ou pral fè si nan pirataj la 939 00:45:57,770 --> 00:46:01,860 Edisyon, w ap gen yo ekri Kòd krak sa yo modpas, n ap kalkile konnen 940 00:46:01,860 --> 00:46:05,170 sa yo te ak ki jan yo te chiffres, menm si nou fè ba ou yon ti jan 941 00:46:05,170 --> 00:46:06,460 nan konsèy sou wout la. 942 00:46:06,460 --> 00:46:09,320 Nan edisyon a Creole, nou prezante yon koup la algorithms, chifreman 943 00:46:09,320 --> 00:46:12,400 fòmil, yon sèl rele Seza, yon sèl rele Vigenere, ki toujou 944 00:46:12,400 --> 00:46:16,100 Algorithms wotasyon kote A vin yon bagay, B vin yon bagay, men 945 00:46:16,100 --> 00:46:18,820 sa ou dwe fè li pwogramasyon paske gen pral tout bon gen yon sekrè 946 00:46:18,820 --> 00:46:22,840 kle ki enplike ki se tipikman yon nimewo oswa yon mo kle ke se sèlman nan 947 00:46:22,840 --> 00:46:26,420 moun k ak moun k ap resevwa a nan sa yo mesaj ta dwe konprann. 948 00:46:26,420 --> 00:46:28,660 >> Koulye a, sa a aktyèlman gen enkarnasyon nan mond lan reyèl. 949 00:46:28,660 --> 00:46:32,910 Sa a, pou egzanp, se on òfelen ti kras Sekrè bag dekodaj Annie a, epi ou 950 00:46:32,910 --> 00:46:35,180 ka aktyèlman aplike sa yo Algorithms wotasyon - 951 00:46:35,180 --> 00:46:37,930 Yon vin yon bagay, B vin yon bagay - ki gen yon koup nan wou, 952 00:46:37,930 --> 00:46:40,840 yon sèl sou deyò a, yon sèl sou andedan an sa yo ke si ou vire volan an oswa 953 00:46:40,840 --> 00:46:44,170 bag la, ou ka aktyèlman liy lan moute lèt ak lèt ​​diferan, 954 00:46:44,170 --> 00:46:45,430 jwenn yon kòd sekrè. 955 00:46:45,430 --> 00:46:48,110 Se konsa, kòm cliffhanger la pou jodi a, sa mwen te panse mwen ta fè se yon ti jan nan 956 00:46:48,110 --> 00:46:52,170 throwback ke si ou vire sou televizyon an sou Desanm 24, ou ka gade nan 957 00:46:52,170 --> 00:46:55,390 fim anons nauseum pou 24 èdtan nan yon ranje. 958 00:46:55,390 --> 00:47:06,030 Men, pou jodi a, mwen pral louvri l 'isit la ak ban nou jis de minit nan yon 959 00:47:06,030 --> 00:47:13,493 pedagojik ki enpòtan Nwèl istwa ak yon parèy ti kras yo te rele Ralphie. 960 00:47:13,493 --> 00:47:14,400 >> [Lèktur videyo] 961 00:47:14,400 --> 00:47:17,420 >> -Se pou li li te ye nan tout ak diverses ki Ralph Parker sa a fin nonmen yon 962 00:47:17,420 --> 00:47:20,650 manm nan Little Òfelen Annie sekrè a se ti sèk epi li gen dwa nan tout 963 00:47:20,650 --> 00:47:23,460 onè ak benefis ki fèt kite yo pase. 964 00:47:23,460 --> 00:47:25,990 >> -Siyen, Little Annie on òfelen. 965 00:47:25,990 --> 00:47:30,100 Kontresiye, Pierre Andre nan lank. 966 00:47:30,100 --> 00:47:34,270 Kou onè ak benefis deja a laj de nèf. 967 00:47:34,270 --> 00:47:39,440 >> [T'ap rele byen fò nan radyo] 968 00:47:39,440 --> 00:47:40,770 >> Vini non sou, se pou yo jwenn sou ak li. 969 00:47:40,770 --> 00:47:44,965 Mwen pa bezwen tout sa ki djaz sou kontrebandye ak pirat. 970 00:47:44,965 --> 00:47:48,270 >> -Koute demen swa pou la conclure avanti nan nwa a 971 00:47:48,270 --> 00:47:49,650 bato bato. 972 00:47:49,650 --> 00:47:53,320 Koulye a, li lè pou sekrè Annie a Mesaj pou ou manm 973 00:47:53,320 --> 00:47:55,720 sèk la sekrè. 974 00:47:55,720 --> 00:47:56,580 Sonje byen, timoun. 975 00:47:56,580 --> 00:48:01,720 Manm sèlman nan Sèk sekrè Annie a ka dekode sekrè mesaj Annie a. 976 00:48:01,720 --> 00:48:05,872 Sonje byen, Annie se depann sou ou. 977 00:48:05,872 --> 00:48:08,670 Mete broch ou a B2. 978 00:48:08,670 --> 00:48:11,000 Isit la se mesaj la. 979 00:48:11,000 --> 00:48:12,335 12, 11, 2 - 980 00:48:12,335 --> 00:48:14,670 >> -Se mwen menm ki nan premye rankont sekrè m 'yo. 981 00:48:14,670 --> 00:48:19,720 >> -25, 14, 11, 18, 16 - 982 00:48:19,720 --> 00:48:21,650 >> -Pierre te nan aswè a gwo vwa. 983 00:48:21,650 --> 00:48:24,830 Mwen te kapab di mesaj ke aswè a nan te vrèman enpòtan. 984 00:48:24,830 --> 00:48:26,400 >> -3, 25. 985 00:48:26,400 --> 00:48:28,540 Sa se yon mesaj ki soti nan Annie tèt li. 986 00:48:28,540 --> 00:48:30,086 Sonje byen, pa di pesonn sa. 987 00:48:30,086 --> 00:48:34,370 988 00:48:34,370 --> 00:48:38,710 >> -90 Segonn pita, mwen se nan chanm nan sèlman nan kay la kote yon ti gason nan nèf 989 00:48:38,710 --> 00:48:42,668 te kapab chita nan vi prive ak dekode. 990 00:48:42,668 --> 00:48:47,628 Wi, B. Mwen te ale nan pwochen an. 991 00:48:47,628 --> 00:48:53,060 E. mo nan premye se "dwe." S. Li te vini pi fasil kounye a. 992 00:48:53,060 --> 00:48:54,980 Ameriken 25. 993 00:48:54,980 --> 00:48:55,940 Sa a R. 994 00:48:55,940 --> 00:48:56,900 >> -Vini non sou, Ralphie. 995 00:48:56,900 --> 00:48:57,860 Mwen oblije ale. 996 00:48:57,860 --> 00:48:59,780 >> -I'll dwe gen dwa desann, Ma. 997 00:48:59,780 --> 00:49:01,030 Gee sifleman. 998 00:49:01,030 --> 00:49:04,300 999 00:49:04,300 --> 00:49:08,220 >> -T. O. Asire ou ke ou. 1000 00:49:08,220 --> 00:49:09,500 Asire w ke w ki sa? 1001 00:49:09,500 --> 00:49:11,660 Ki sa ki te Little Òfelen Annie ap eseye di nou fè? 1002 00:49:11,660 --> 00:49:12,844 Asire w ke w ki sa? 1003 00:49:12,844 --> 00:49:14,732 >> -Ralphie, Randy te pran yo ale. 1004 00:49:14,732 --> 00:49:16,148 Èske w ap tanpri la ye konsa? 1005 00:49:16,148 --> 00:49:17,092 >> -Tout dwa, Ma. 1006 00:49:17,092 --> 00:49:18,510 Mwen pral dwe gen dwa soti. 1007 00:49:18,510 --> 00:49:20,270 >> -Mwen te resevwa pi pre kounye a. 1008 00:49:20,270 --> 00:49:21,823 Tansyon nan te terib. 1009 00:49:21,823 --> 00:49:23,045 Ki sa ki te li? 1010 00:49:23,045 --> 00:49:26,510 Sò a nan planèt la kapab pann nan balans lan. 1011 00:49:26,510 --> 00:49:28,985 >> -Ralphie, oblije ale Randy a. 1012 00:49:28,985 --> 00:49:32,680 >> -I'll dwe gen dwa soti pou rele byen fò. 1013 00:49:32,680 --> 00:49:33,956 >> -Prèske la. 1014 00:49:33,956 --> 00:49:35,140 Dwèt mwen te pran vòl. 1015 00:49:35,140 --> 00:49:36,880 Lide mwen se te yon pèlen an asye. 1016 00:49:36,880 --> 00:49:38,010 Chak pò vibre. 1017 00:49:38,010 --> 00:49:39,878 Li te prèske klè. 1018 00:49:39,878 --> 00:49:43,210 Wi, wi, se wi, repons lan se wi, wi. 1019 00:49:43,210 --> 00:49:49,030 >> -Asire w ke w bwè Ovaltine ou. 1020 00:49:49,030 --> 00:49:50,280 Ovaltine? 1021 00:49:50,280 --> 00:49:53,980 1022 00:49:53,980 --> 00:49:55,230 Yon komèsyal sal? 1023 00:49:55,230 --> 00:49:58,572 1024 00:49:58,572 --> 00:50:00,694 Pitit nan yon femèl chen. 1025 00:50:00,694 --> 00:50:01,900 >> [Lèktur videyo END] 1026 00:50:01,900 --> 00:50:04,260 >> Oratè 1: Sa a se CS50, epi ki pral mete Pwoblèm De. 1027 00:50:04,260 --> 00:50:06,305 Al gade nan ou an semèn pwochèn. 1028 00:50:06,305 --> 00:50:08,800 >> Oratè 2: Nan pwochen an CS50, sa a k ap pase. 1029 00:50:08,800 --> 00:50:11,060 >> Oratè 1: Se konsa, yon sijè nou pa gen gade konsa byen lwen se 1030 00:50:11,060 --> 00:50:12,220 sa yo ki an pwent fonksyon. 1031 00:50:12,220 --> 00:50:14,540 Koulye a, yon konsèy fonksyon se jis adrès ki nan yon piblik 1032 00:50:14,540 --> 00:50:17,000 fonksyon, men anpil tankou - 1033 00:50:17,000 --> 00:50:18,250 pitit gason nan yon - 1034 00:50:18,250 --> 00:50:19,670