1 00:00:00,000 --> 00:00:00,980 2 00:00:00,980 --> 00:00:04,410 >> [Jwe mizik] 3 00:00:04,410 --> 00:00:11,147 4 00:00:11,147 --> 00:00:12,230 DAVID J. Malan: Tout dwa. 5 00:00:12,230 --> 00:00:16,440 Sa a se CS50, ak sa a se nan fen Semèn 2. 6 00:00:16,440 --> 00:00:18,480 Se konsa, jounen jodi a, nou ap ale kontinye gade nou an 7 00:00:18,480 --> 00:00:21,150 nan ki jan nou reprezante bagay anba hood-- la k ap deplase lwen 8 00:00:21,150 --> 00:00:23,520 soti nan nimewo tankou nonm antye relatif ak valè pwen k ap flote 9 00:00:23,520 --> 00:00:26,810 ak konsantre sou strings ak pwogram finalman plis enteresan. 10 00:00:26,810 --> 00:00:30,140 Men, nou pral pran tou yon gade nan yon koup nan pwoblèm domèn-espesifik 11 00:00:30,140 --> 00:00:33,620 premye a nan ki pral gen ki enplike chifreman, 12 00:00:33,620 --> 00:00:36,570 atizay la nan eskalade enfòmasyon, nan ki ou gade pi wo a isit la 13 00:00:36,570 --> 00:00:41,480 se yon foto nan Radyo Òfelen Annie a sekrè bag dekodaj soti nan pase. 14 00:00:41,480 --> 00:00:46,490 >> Sa a se aktyèlman fòm trè primitif ak fòm pitit-zanmitay nan cryptopgraphy 15 00:00:46,490 --> 00:00:50,590 kijan sa a bag gen de disks-- yon sèl andedan ak yon sèl deyò. 16 00:00:50,590 --> 00:00:54,740 Epi pa wotasyon youn nan moun ki, ou ka esansyèlman liy moute lèt tankou yon 17 00:00:54,740 --> 00:00:59,520 jiska Z ak lòt lèt tankou B a A. Nan lòt mo, 18 00:00:59,520 --> 00:01:03,730 ou ka literalman Thorne alfabè a, kidonk vini ak yon kat soti nan 19 00:01:03,730 --> 00:01:07,820 lèt bay lèt pou ke, si ou te vle voye yon mesaj sekrè 20 00:01:07,820 --> 00:01:11,820 ak yon moun tankou Annie, ou ta ka ekri desann mesaj ou a ak Lè sa a Thorne 21 00:01:11,820 --> 00:01:15,370 lèt yo, annakò ak sa, si ou vle di yo di "A," ou olye pou di "B," 22 00:01:15,370 --> 00:01:17,280 ou vle di yo di "B," ou olye pou yo di "C" - 23 00:01:17,280 --> 00:01:20,240 oswa yon bagay yon ti kras plis entelijan pase that-- ak Lè sa a, finalman, 24 00:01:20,240 --> 00:01:24,630 toutotan Annie gen dekodaj sa a bag, li ka dekode mesaj la. 25 00:01:24,630 --> 00:01:28,540 Koulye a, ou ka sonje, an reyalite, ke sa a te itilize nan yon fim trè popilè ki 26 00:01:28,540 --> 00:01:31,140 jwe nauseum anons pandan sezon Nwèl la. 27 00:01:31,140 --> 00:01:32,650 Se pou nou pran yon gade isit la. 28 00:01:32,650 --> 00:01:35,294 29 00:01:35,294 --> 00:01:37,210 Ralphie PARKER: "Se pou li te ye nan tout nan rezime 30 00:01:37,210 --> 00:01:41,000 ki Ralph Parker sa a fin nonmen yon manm nan Little Òfelen Annie sekrè 31 00:01:41,000 --> 00:01:44,860 Fè yon ti wonn epi li gen dwa nan tout onè ak benefis ki rive kite yo pase. " 32 00:01:44,860 --> 00:01:47,410 >> Ralphie PARKER (raconter): Siyen Little Òfelen Annie. 33 00:01:47,410 --> 00:01:50,070 Kontresiye, Pierre Andre! 34 00:01:50,070 --> 00:01:51,490 Nan lank. 35 00:01:51,490 --> 00:01:55,494 Kou onè ak benefis, deja nan laj la nan nèf. 36 00:01:55,494 --> 00:01:57,402 >> [Jwe mizik] 37 00:01:57,402 --> 00:02:00,470 >> [RADIO bavardaj] 38 00:02:00,470 --> 00:02:01,470 Ralphie PARKER: Vini non sou. 39 00:02:01,470 --> 00:02:02,344 Se pou nou jwenn sou ak li. 40 00:02:02,344 --> 00:02:06,029 Mwen pa bezwen tout sa ki djaz sou kontrebandye ak pirat. 41 00:02:06,029 --> 00:02:08,820 RADIO Announcer: Koute demen lannwit pou avanti a conclure 42 00:02:08,820 --> 00:02:11,060 nan Nwa bato bato a. 43 00:02:11,060 --> 00:02:14,740 Koulye a, li lè pou Annie a Sekrè Mesaj pou ou manm 44 00:02:14,740 --> 00:02:17,110 nan Sèk la sekrè. 45 00:02:17,110 --> 00:02:20,700 Sonje timoun, sèlman manm nan Sèk sekrè Annie a 46 00:02:20,700 --> 00:02:23,270 ka dekode sekrè mesaj Annie a. 47 00:02:23,270 --> 00:02:27,270 >> Sonje byen, Annie se depann sou ou. 48 00:02:27,270 --> 00:02:30,060 Mete broch ou a B-2. 49 00:02:30,060 --> 00:02:34,004 Isit la se nan message-- 12, 11, 2-- 50 00:02:34,004 --> 00:02:36,503 Ralphie PARKER (raconter): Mwen menm mwen nan premye rankont sekrè m 'yo. 51 00:02:36,503 --> 00:02:40,041 RADIO Announcer: --25, 14, 11, 18, 16-- 52 00:02:40,041 --> 00:02:42,790 Ralphie PARKER (raconter): Oh, Pierre te nan gwo aswè a vwa. 53 00:02:42,790 --> 00:02:46,110 Mwen te kapab di aswè a nan ki mesaj te vrèman enpòtan. 54 00:02:46,110 --> 00:02:47,930 >> RADIO Announcer: --3, 25. 55 00:02:47,930 --> 00:02:49,940 Sa a se yon mesaj soti nan Annie tèt li. 56 00:02:49,940 --> 00:02:52,182 Sonje, pa di pesonn sa. 57 00:02:52,182 --> 00:02:55,077 >> [Esoufle] 58 00:02:55,077 --> 00:02:57,285 Ralphie PARKER (raconter): Katreven segonn pita, mwen se 59 00:02:57,285 --> 00:03:00,090 nan chanm nan sèlman nan la kay kote yon ti gason nan nèf 60 00:03:00,090 --> 00:03:04,380 te kapab chita nan vi prive ak dechifre. 61 00:03:04,380 --> 00:03:04,990 Ah. 62 00:03:04,990 --> 00:03:05,680 "B." 63 00:03:05,680 --> 00:03:06,524 >> [Chuckles] 64 00:03:06,524 --> 00:03:08,684 >> Ralphie PARKER (raconter): Mwen te ale nan pwochen an. 65 00:03:08,684 --> 00:03:09,610 "E." 66 00:03:09,610 --> 00:03:11,641 Mo an premye se "dwe." 67 00:03:11,641 --> 00:03:12,140 Wi! 68 00:03:12,140 --> 00:03:14,293 Li te vini pi fasil kounye a. 69 00:03:14,293 --> 00:03:15,259 "Ameriken" 70 00:03:15,259 --> 00:03:16,225 >> [Chuckles] 71 00:03:16,225 --> 00:03:18,157 >> Randy PARKER: Aw, vini sou, Ralphie. 72 00:03:18,157 --> 00:03:19,606 Mwen oblije ale! 73 00:03:19,606 --> 00:03:21,538 >> Ralphie PARKER: Mwen pral dwe gen dwa desann, Ma. 74 00:03:21,538 --> 00:03:22,504 Gee sifleman. 75 00:03:22,504 --> 00:03:25,402 76 00:03:25,402 --> 00:03:31,220 "T." "O." "Asire ou ke . "" Asire ou ke ou "ki sa? 77 00:03:31,220 --> 00:03:33,981 Ki sa ki te Little Òfelen Annie ap eseye di nou fè? "Asire ou ke ou" ki sa? 78 00:03:33,981 --> 00:03:35,522 MANMAN: Ralphie, Randy te gen yo ale. 79 00:03:35,522 --> 00:03:36,735 Èske w ap tanpri ye konsa? 80 00:03:36,735 --> 00:03:38,190 >> Ralphie PARKER: Tout dwa, manman an! 81 00:03:38,190 --> 00:03:39,787 Mwen pral dwe gen dwa soti! 82 00:03:39,787 --> 00:03:41,995 Ralphie PARKER (raconter): Mwen te resevwa pi pre kounye a. 83 00:03:41,995 --> 00:03:43,370 Tansyon an te terib. 84 00:03:43,370 --> 00:03:44,794 Ki sa ki te li? 85 00:03:44,794 --> 00:03:47,656 Sò a nan planèt la ka kwoke nan balans lan. 86 00:03:47,656 --> 00:03:50,518 >> MANMAN: Ralphie, Randy a te rive nan ale! 87 00:03:50,518 --> 00:03:53,635 >> Ralphie PARKER: Mwen pral dwe gen dwa soti, pou kriye byen fò! 88 00:03:53,635 --> 00:03:55,343 Ralphie PARKER (Raconter): Prèske la! 89 00:03:55,343 --> 00:03:56,520 Dwèt mwen te pran vòl! 90 00:03:56,520 --> 00:03:58,500 Lide m 'te yon pèlen asye. 91 00:03:58,500 --> 00:03:59,850 Chak pò vibre. 92 00:03:59,850 --> 00:04:01,806 Li te prèske klè! 93 00:04:01,806 --> 00:04:02,773 Wi! 94 00:04:02,773 --> 00:04:03,273 Wi! 95 00:04:03,273 --> 00:04:03,773 Wi! 96 00:04:03,773 --> 00:04:04,740 Wi! 97 00:04:04,740 --> 00:04:10,250 >> Ralphie PARKER: "Asire w ke yo bwè Ovaltine ou. " 98 00:04:10,250 --> 00:04:10,750 Ovaltine? 99 00:04:10,750 --> 00:04:14,864 100 00:04:14,864 --> 00:04:17,539 Yon komèsyal sal? 101 00:04:17,539 --> 00:04:19,439 >> [Jwe mizik] 102 00:04:19,439 --> 00:04:21,724 >> Ralphie PARKER: Pitit nan yon femèl chen. 103 00:04:21,724 --> 00:04:23,460 >> [Ri] 104 00:04:23,460 --> 00:04:27,070 >> DAVID J. Malan: Se konsa, ki Lè sa a, se yon aperçu nan sa ki chifreman 105 00:04:27,070 --> 00:04:29,880 kapab pou this-- yon bwè nan pase. 106 00:04:29,880 --> 00:04:30,900 Se konsa, yon anons rapid. 107 00:04:30,900 --> 00:04:33,410 Si ou yo gratis sa a Vandredi nan 1:15 PM epi m te swete 108 00:04:33,410 --> 00:04:36,610 renmen rantre nan nou pou CS50 manje midi, tèt nan sa a URL isit la. 109 00:04:36,610 --> 00:04:38,080 Premye vini, premye sèvi kòm dabitid. 110 00:04:38,080 --> 00:04:41,840 Men, sou tan, nou pral asire w ke pi nenpòt ki moun ki ta renmen patisipe 111 00:04:41,840 --> 00:04:43,640 ka pran randevou pou-gen bon konprann. 112 00:04:43,640 --> 00:04:45,170 >> Se konsa, strings. 113 00:04:45,170 --> 00:04:47,940 Nou gen Zamyla-- moun ou te kounye a te rankontre gen plis chans 114 00:04:47,940 --> 00:04:50,750 nan Set Pwoblèm 1-- ki gen Non se eple konsa. 115 00:04:50,750 --> 00:04:53,570 Ak ta kwè ou tape non li nan yon pwogram òdinatè ki nan 116 00:04:53,570 --> 00:04:55,710 lè l sèvi avèk yon bagay tankou getString. 117 00:04:55,710 --> 00:04:57,890 Yo nan lòd yo rekipere moun frap, ki jan 118 00:04:57,890 --> 00:05:01,620 nou ale sou reprezante yon fisèl, yon mo, yon paragraf, 119 00:05:01,620 --> 00:05:03,960 oswa lèt miltip tankou sa yo isit la? 120 00:05:03,960 --> 00:05:06,790 >> Nou te pale dènye fwa sou nonm antye relatif ak pwoblèm 121 00:05:06,790 --> 00:05:09,960 ki rive avèk nonb antye relatif debòde ak valè pwen k ap flote 122 00:05:09,960 --> 00:05:12,190 ak pwoblèm ki Leve chita non ki nan presizyon. 123 00:05:12,190 --> 00:05:16,080 Ak strings, nou omwen gen yon ti jan plis fleksibilite 124 00:05:16,080 --> 00:05:17,970 paske strings-- jis nan world-- a reyèl 125 00:05:17,970 --> 00:05:19,790 kapab yon longè trè abitrè. 126 00:05:19,790 --> 00:05:21,055 Trè kout, bèl lontan. 127 00:05:21,055 --> 00:05:23,680 Men, menm lè sa a, nou ap ale nan jwenn ke òdinatè kapab pafwa 128 00:05:23,680 --> 00:05:27,200 kouri soti nan memwa epi yo pa menm magazen yon gwo ase fisèl. 129 00:05:27,200 --> 00:05:30,840 >> Men, pou kounye a, kite la kòmanse visualized yon kòd kòm yon bagay nan bwat sa yo 130 00:05:30,840 --> 00:05:31,340 isit la. 131 00:05:31,340 --> 00:05:36,410 Se konsa, sis bwat sa yo, chak nan yo ki reprezante yon karaktè oswa "Char." 132 00:05:36,410 --> 00:05:40,646 Se konsa, sonje ke "Char" - c-h-yon-r-- se youn nan kalite yo bati-an done nan C. 133 00:05:40,646 --> 00:05:43,520 Ak sa ki nan bon se ke ou ka itilize ki sòt de kòm yon blòk bilding, 134 00:05:43,520 --> 00:05:47,880 yon moso devinèt, si ou vle, yo fòme yon pi gwo di ki kalite done ki nou pral kontinye 135 00:05:47,880 --> 00:05:49,410 yo rele yon "fisèl." 136 00:05:49,410 --> 00:05:53,650 >> Koulye a, sa ki nan itil sou panse sou bagay sa yo tankou strings nan fason sa a? 137 00:05:53,650 --> 00:05:57,720 Oke, li sanble ke nou kapab aktyèlman ogmante estrikti sa a 138 00:05:57,720 --> 00:06:01,420 aktyèlman jwenn aksè karaktè endividyèl nan yon fason trè senp. 139 00:06:01,420 --> 00:06:04,099 Mwen pral ale pi devan epi kreye yon dosye rele "stringzero.c," 140 00:06:04,099 --> 00:06:05,765 men ou ka rele li tou sa ou ta renmen. 141 00:06:05,765 --> 00:06:08,500 Yo, epi sou sit entènèt kou a se deja egzanp sa a an avanse, 142 00:06:08,500 --> 00:06:10,430 pou w pa bezwen tape tout bagay soti. 143 00:06:10,430 --> 00:06:13,820 >> Apre sa, mwen pral ale pi devan ak premye fè Int anile prensipal. 144 00:06:13,820 --> 00:06:15,980 E nan lespas de yon kèk jou, nou pral kòmanse toumante apa 145 00:06:15,980 --> 00:06:19,070 sa ki anile se isit la, poukisa li nan int akote prensipal yo, ak pou fè. 146 00:06:19,070 --> 00:06:21,180 Men, pou kounye a, kite a kontinye a kapab bay kopi kole sa. 147 00:06:21,180 --> 00:06:23,455 >> Mwen pral deklare yon kòd yo rele an. 148 00:06:23,455 --> 00:06:26,920 Men, mwen pral retounen soti nan GetString tou sa itilizatè a kalite nan. 149 00:06:26,920 --> 00:06:29,170 Sa a se pral gen yon senp pwogram nan, pa gen okenn enstriksyon, 150 00:06:29,170 --> 00:06:31,336 Mwen jis ale nan je fèmen espere ke itilizatè a konnen 151 00:06:31,336 --> 00:06:32,600 sa pou fè pou kenbe li senp. 152 00:06:32,600 --> 00:06:34,220 >> Epi, koulye a, mwen pral gen yon riban pou. 153 00:06:34,220 --> 00:06:37,450 Ak andedan nan riban pou m 'mwen se ale nan gen int mwen vin zewo. 154 00:06:37,450 --> 00:06:40,660 Apre sa, mwen se, ankò, jis yon konvansyon, yon varyab endèks pou konte, 155 00:06:40,660 --> 00:06:42,350 men mwen te kapab rele sa a tou sa mwen vle. 156 00:06:42,350 --> 00:06:46,275 Mwen pral fè mwen se mwens than-- byen Non Zamyla a se sis lèt lontan. 157 00:06:46,275 --> 00:06:48,150 Se konsa, mwen pral difisil Kòd ke gen pou kounye a. 158 00:06:48,150 --> 00:06:49,730 >> Lè sa a, mwen ++. 159 00:06:49,730 --> 00:06:53,190 Epi, koulye a andedan nan sa yo Curly aparèy òtopedik, mwen pral fè printf, 160 00:06:53,190 --> 00:06:55,460 e mwen vle ekri ak lèt ​​detache youn karaktè nan yon tan. 161 00:06:55,460 --> 00:06:58,227 Se konsa, mwen ale nan sèvi ak c% pou petèt premye fwa. 162 00:06:58,227 --> 00:07:00,560 Lè sa a, mwen vle enprime chak karaktè sou liy pwòp li yo. 163 00:07:00,560 --> 00:07:02,550 Se konsa, mwen pral mete yon ti kras antislach n la. 164 00:07:02,550 --> 00:07:03,640 Fèmen quote. 165 00:07:03,640 --> 00:07:06,250 >> Koulye a, mwen vle fè yon bagay isit la. 166 00:07:06,250 --> 00:07:10,610 Mwen vle enprime soti nan lèt espesifik nan fisèl la, 167 00:07:10,610 --> 00:07:13,670 a, kòm mwen iteration soti nan zewo sou jiska sis. 168 00:07:13,670 --> 00:07:17,150 Nan lòt mo, mwen vle enprime pèsonaj la i'th nan s. 169 00:07:17,150 --> 00:07:18,420 Koulye a, kouman mwen ka fè sa? 170 00:07:18,420 --> 00:07:21,550 >> Oke anpil tankou bwat yo nan reprezantasyon sa a isit la, 171 00:07:21,550 --> 00:07:25,560 kalite, evoke leve nosyon de boksè lèt nan, ou ka menm fè sa 172 00:07:25,560 --> 00:07:32,630 syntactically nan C pa senpleman ki espesifye, Mwen vle enprime soti nan la i'th karaktè. 173 00:07:32,630 --> 00:07:35,640 Lè l sèvi avèk parantèz yo kare sou klavye òdinatè w lan an 174 00:07:35,640 --> 00:07:38,910 ki sou yon klavye US yo jeneralman pi wo a kle ou retounen. 175 00:07:38,910 --> 00:07:42,630 >> Se konsa, sa a se pa byen dwat ankò, jan ou ka remake gen. 176 00:07:42,630 --> 00:07:44,780 Men, mwen pral kalite je fèmen fòje devan isit la. 177 00:07:44,780 --> 00:07:47,020 Men, mwen pral fè fè fisèl 0. 178 00:07:47,020 --> 00:07:50,860 Men, anvan m 'fè sa, se pou yo wè si nou pa ka antisipe kèk erè komen. 179 00:07:50,860 --> 00:07:52,844 Sa a se ale nan konpile? 180 00:07:52,844 --> 00:07:54,510 Non, mwen manke yon pakèt antye nan bagay sa yo. 181 00:07:54,510 --> 00:07:55,280 Bibliyotèk m 'te tande. 182 00:07:55,280 --> 00:07:58,480 >> Se konsa, ki header dosye ta ka mwen vle ajoute isit la? 183 00:07:58,480 --> 00:07:59,205 Yeah. 184 00:07:59,205 --> 00:08:01,580 >> ODYANS: Ou bezwen estanda I / O [fèbl] 185 00:08:01,580 --> 00:08:02,663 >> DAVID J. Malan: Excellent. 186 00:08:02,663 --> 00:08:06,060 Se konsa, mwen bezwen estanda I / O. Pou ki sa objektif fè mwen vle estanda I / O? 187 00:08:06,060 --> 00:08:06,670 Pou printf. 188 00:08:06,670 --> 00:08:09,220 Se konsa, gen ladan yo stdio.h. 189 00:08:09,220 --> 00:08:13,490 Epi nou menm tou nou pwopoze ke mwen gen ladan bibliyotèk la CS50 pou sa ki rezon ki fè? 190 00:08:13,490 --> 00:08:14,650 Pou ou gen strings. 191 00:08:14,650 --> 00:08:17,780 Se konsa, nou pral wè sa Bibliyotèk CS50 nan ap fè 192 00:08:17,780 --> 00:08:19,260 yo kreye sa a nosyon nan yon fisèl. 193 00:08:19,260 --> 00:08:21,930 Men, pou kounye a, ou ka jis panse nan li kòm yon kalite done vrè. 194 00:08:21,930 --> 00:08:23,596 >> Se konsa, ki sanble ap yon ti kras netwaye. 195 00:08:23,596 --> 00:08:27,060 Epi, koulye a, mwen pral ale pi devan ak tout bon fè fè fisèl 0. 196 00:08:27,060 --> 00:08:27,700 Konpile. 197 00:08:27,700 --> 00:08:28,370 Se konsa, ki la bon. 198 00:08:28,370 --> 00:08:32,799 Se konsa, ./string0 kite m 'rale nan sa nou kapab gade pi byen sa k ap pase. 199 00:08:32,799 --> 00:08:33,850 Antre nan. 200 00:08:33,850 --> 00:08:37,789 Z-A-M-Y-L-Yon antre. 201 00:08:37,789 --> 00:08:39,440 E nou te enprime soti nan non Zamyla la. 202 00:08:39,440 --> 00:08:40,409 >> Se konsa, se trè bon. 203 00:08:40,409 --> 00:08:43,220 Se konsa, kounye a kite a ale pi devan epi kouri pwogram sa a ankò, 204 00:08:43,220 --> 00:08:45,659 ak kalite soti tout non Daven la. 205 00:08:45,659 --> 00:08:46,450 Sipriz, sipriz. 206 00:08:46,450 --> 00:08:48,021 Antre nan. 207 00:08:48,021 --> 00:08:48,520 Hmm. 208 00:08:48,520 --> 00:08:51,750 Nou pa t 'enprime Daven a plen premye non kòrèkteman. 209 00:08:51,750 --> 00:08:54,250 Koulye a, sa a ta dwe evidan nan retrospective paske nan sa ki, 210 00:08:54,250 --> 00:08:57,010 sòt de, desizyon konsepsyon estipid? 211 00:08:57,010 --> 00:08:59,590 >> Yeah, mwen difisil kode nan sis andedan nan pou m 'bouk. 212 00:08:59,590 --> 00:09:01,610 Koulye a, mwen te fè sa sèlman paske Mwen te konnen non Zamyla a 213 00:09:01,610 --> 00:09:02,776 te pral fè sis lèt yo. 214 00:09:02,776 --> 00:09:04,720 Men, siman sa a se pa yon solisyon jeneral. 215 00:09:04,720 --> 00:09:07,720 Se konsa, li vire soti nou kapab dynamique figi konnen longè yon fisèl 216 00:09:07,720 --> 00:09:10,440 lè w rele yon fonksyon rele strlèn. 217 00:09:10,440 --> 00:09:12,840 >> Yon fwa ankò, fè espre suksen yo te rele jis 218 00:09:12,840 --> 00:09:14,450 fè li pi fasil yo tape. 219 00:09:14,450 --> 00:09:17,170 Men, sa a synonyme ak ap resevwa longè yon fisèl. 220 00:09:17,170 --> 00:09:23,190 Mwen pral ale tounen nan tèminal m ' fenèt ak re-kouri du a. 221 00:09:23,190 --> 00:09:24,170 Men, li la tap rele ke nan mwen. 222 00:09:24,170 --> 00:09:29,130 Chal deklare fonksyon bibliyotèk strlèn ak kalite siye Int const-- 223 00:09:29,130 --> 00:09:29,780 Mwen se pèdi. 224 00:09:29,780 --> 00:09:30,590 Konplètman. 225 00:09:30,590 --> 00:09:32,940 >> Se konsa,, espesyalman kòm ou je kòmanse Glaze sou 226 00:09:32,940 --> 00:09:36,000 ak mesaj erè tankou sa a, konsantre onètman sou premye mo sa yo kèk. 227 00:09:36,000 --> 00:09:38,590 Nou konnen pwoblèm nan se nan liy 8, jan sa endike isit la. 228 00:09:38,590 --> 00:09:40,500 Lè li nan nan fisèl-0.c. 229 00:09:40,500 --> 00:09:43,580 Chal deklare fonksyon bibliyotèk strlèn. 230 00:09:43,580 --> 00:09:47,000 Se konsa, ki se jeneralman ale nan gen yon modèl nan mesaj erè. 231 00:09:47,000 --> 00:09:49,190 Chal deklare yon bagay. 232 00:09:49,190 --> 00:09:53,250 >> Se konsa, nan kout, sa pou m te sanble ke yo te fè ki gen rapò ak liy 8, isit la. 233 00:09:53,250 --> 00:09:56,880 Ki sa ki ta ka solisyon an dwe menm si ou pa janm te itilize strlèn tèt ou? 234 00:09:56,880 --> 00:09:58,907 >> ODYANS: Pati nan yon bibliyotèk diferan? 235 00:09:58,907 --> 00:10:00,740 DAVID J. Malan: Pati nan yon bibliyotèk diferan. 236 00:10:00,740 --> 00:10:02,400 Se konsa, li se te deklare, se konsa pale. 237 00:10:02,400 --> 00:10:07,510 Li se mansyone nan kèk dosye lòt pase stdio.h ak CS50.h. 238 00:10:07,510 --> 00:10:09,179 Koulye a, ki kote li defini? 239 00:10:09,179 --> 00:10:12,220 Yo dwe onèt, ou swa gen jis konnen sa a nan tèt la nan tèt ou, 240 00:10:12,220 --> 00:10:13,640 oswa ou Google sa a epi jwenn deyò. 241 00:10:13,640 --> 00:10:18,150 Oswa ou konnen sa a, mwen te louvri moute nan CS50 a Aparèy pwogram nan tèminal, ki 242 00:10:18,150 --> 00:10:22,200 se jis gwo, vèsyon an ekran plen nan sa ki nan nan pati anba a nan fenèt jdi la. 243 00:10:22,200 --> 00:10:24,970 >> Epi li vire soti ke gen nan yon lòd Menm jan an tou somèr, ki rele 244 00:10:24,970 --> 00:10:29,280 moun pou manyèl, kote si ou tape nan non an nan yon fonksyon ak frape Antre, 245 00:10:29,280 --> 00:10:32,240 ou pral jwenn tounen san patipri Esoteric kopi dokiman yo. 246 00:10:32,240 --> 00:10:35,299 Li nan tèks sèlman sa jeneralman sanble yon ti kras yon bagay tankou sa a. 247 00:10:35,299 --> 00:10:37,090 Li se yon ti kras akablan nan premye gade. 248 00:10:37,090 --> 00:10:39,048 Men, franchman, mwen pral kite je m 'Glaze sou 249 00:10:39,048 --> 00:10:41,930 ak sèlman konsantre sou pati nan Mwen pran swen sou pou moman sa a. 250 00:10:41,930 --> 00:10:42,780 >> Ki se sa a. 251 00:10:42,780 --> 00:10:45,470 Ki sanble struktural tankou yon bagay mwen se abitye avèk yo. 252 00:10:45,470 --> 00:10:48,080 Vreman vre paj la nonm, se konsa yo pale, ap di ou 253 00:10:48,080 --> 00:10:51,590 nan sa ki header ranpli yon fonksyon tankou strlèn se defini. 254 00:10:51,590 --> 00:10:54,170 Se konsa, mwen pral ale tounen kounye a jdi. 255 00:10:54,170 --> 00:10:59,070 Men, mwen pral ale pi devan epi ajoute nan isit la # enkli 256 00:10:59,070 --> 00:11:00,480 epi sove dosye a. 257 00:11:00,480 --> 00:11:04,300 >> Mwen pral klè ekran an ak Kontwòl L Si w te te mande. 258 00:11:04,300 --> 00:11:08,210 Men, mwen pral re-kouri fè string.0, compiles tan sa a. 259 00:11:08,210 --> 00:11:11,790 ./string.0 Zamyla. 260 00:11:11,790 --> 00:11:15,020 Sa te sanble nan travay Kite m 'ale pi devan epi relance l 'ak Davenport. 261 00:11:15,020 --> 00:11:15,860 Antre nan. 262 00:11:15,860 --> 00:11:17,730 Epi sa, tou, te sanble nan travay. 263 00:11:17,730 --> 00:11:21,220 >> Se konsa, nou ka fè yon ti kras pi bon pase sa a, menm si, nou kapab kòmanse nan bagay sa yo pwòp 264 00:11:21,220 --> 00:11:23,257 moute jis yon ti kras. 265 00:11:23,257 --> 00:11:25,590 Men, mwen pral aktyèlman prezante yon lòt bagay kounye a. 266 00:11:25,590 --> 00:11:28,930 Mwen pral ale pi devan epi sove sa a nan yon dosye diferan. 267 00:11:28,930 --> 00:11:31,770 Men, mwen pral yo rele sa a string1.c dosye jis 268 00:11:31,770 --> 00:11:34,620 yo dwe konsistan ak kòd la ou pral kapab jwenn sou entènèt. 269 00:11:34,620 --> 00:11:37,050 >> Li kite yo konsantre nan sou egzakteman Kòd la menm. 270 00:11:37,050 --> 00:11:39,000 Li sanble ke mwen te te kalite pran 271 00:11:39,000 --> 00:11:42,600 pou yo akòde lefèt ke laptop mwen, ak nan vire, aparèy la CS50 272 00:11:42,600 --> 00:11:47,450 gen yon anpil nan memwa, yon anpil nan RAM, yon anpil nan bytes nan espas 273 00:11:47,450 --> 00:11:48,920 nan ki mwen ka magazen strings. 274 00:11:48,920 --> 00:11:53,560 >> Men, reyalite a si mwen tape lontan ase, ak ase frap, 275 00:11:53,560 --> 00:11:56,170 Mwen te kapab nan kalite teyori nan plis karaktè 276 00:11:56,170 --> 00:11:58,830 pase òdinatè mwen an fizikman gen memwa pou. 277 00:11:58,830 --> 00:11:59,830 Lè sa a se yon pwoblèm. 278 00:11:59,830 --> 00:12:03,050 Anpil tankou yon int kapab sèlman konte tèlman wo, nan teyori, 279 00:12:03,050 --> 00:12:06,600 ou ka sèlman bachote karaktè anpil nan RAM òdinatè w lan an oswa Random 280 00:12:06,600 --> 00:12:07,920 Aksè memwa. 281 00:12:07,920 --> 00:12:11,140 >> Se konsa, mwen te gen pi bon antisipe pwoblèm sa a, menm 282 00:12:11,140 --> 00:12:13,660 menm si li ta kapab yon bagay ki ra ka kwen, se konsa pale. 283 00:12:13,660 --> 00:12:15,670 pa rive ki souvan, te kapab rive. 284 00:12:15,670 --> 00:12:18,815 Men, si bagay sa yo rive ak mwen pa fè sa antisipe ak pwogram pou li, 285 00:12:18,815 --> 00:12:20,300 pwogram m 'ta ka fè moun ki konnen sa. 286 00:12:20,300 --> 00:12:22,220 Glase, pann, rdemare, kèlkeswa sa. 287 00:12:22,220 --> 00:12:24,490 Yon bagay antisipe ka rive. 288 00:12:24,490 --> 00:12:27,120 >> Se konsa, sa mwen pral fè kounye a, koulye a reyèlman, 289 00:12:27,120 --> 00:12:31,630 se mwen anvan m 'tout tan tout tan je fèmen sèvi ak yon varyab tankou nan ki 290 00:12:31,630 --> 00:12:36,790 te asiyen valè a retounen nan kèk lòt fonksyon tankou getstring, 291 00:12:36,790 --> 00:12:40,200 Mwen pral asire w ke ke valè li yo se ki valab. 292 00:12:40,200 --> 00:12:44,280 Se konsa, mwen konnen sèlman ki soti nan gen li Dokiman CS50 a pou getstring, 293 00:12:44,280 --> 00:12:49,020 ki finalman nou pral pwen ou a, ki getstring retounen yon senbòl espesyal 294 00:12:49,020 --> 00:12:53,610 rele nil, N-U-L-L nan tout kaskèt, si gen yon bagay ale mal. 295 00:12:53,610 --> 00:12:55,650 >> Se konsa, nòmalman, li retounen yon fisèl. 296 00:12:55,650 --> 00:12:59,700 Men, otreman si li retounen N-U-L-L-- n ap pètèt wè sa ki ki vrèman 297 00:12:59,700 --> 00:13:01,790 means-- jis ki vle di yon move bagay ki te pase. 298 00:13:01,790 --> 00:13:05,560 Koulye a, sa vle di, anpil tankou nan grafouyen, Mwen ka tcheke yon kondisyon isit la nan C, 299 00:13:05,560 --> 00:13:08,830 si a pa fè sa ki egal nil. 300 00:13:08,830 --> 00:13:11,930 Se konsa, si ou pa te wè sa a anvan, sa a jis vle di pa fè sa egal-ego. 301 00:13:11,930 --> 00:13:15,290 >> Se konsa, li opoze a nan egal egal, ki, sonje, 302 00:13:15,290 --> 00:13:18,940 ki diferan de yon sèl egal, ki se devwa. 303 00:13:18,940 --> 00:13:23,030 Se konsa, si nan fè sa ki pa egal Nil, sèlman Lè sa a fè 304 00:13:23,030 --> 00:13:25,980 Mwen vle egzekite liy sa yo nan Kòd. 305 00:13:25,980 --> 00:13:28,080 Se konsa, nan lòt mo, anvan m 'plonje nan je fèmen 306 00:13:28,080 --> 00:13:30,919 epi yo kòmanse iteration sou a, ak trete li 307 00:13:30,919 --> 00:13:33,710 tankou si li se yon sekans nan karaktè, mwen pral premye tcheke, 308 00:13:33,710 --> 00:13:37,900 rete tann yon minit, se s definitivman pa egal a valè sa a espesyal, nil? 309 00:13:37,900 --> 00:13:40,030 >> Paske si li se, move bagay ka rive. 310 00:13:40,030 --> 00:13:43,080 Se pou koulye a, asime ke move bagay pase vle di aksidan pwogram ou an, 311 00:13:43,080 --> 00:13:45,070 epi ou pa ka nesesèman geri. 312 00:13:45,070 --> 00:13:46,800 Se konsa, franchman, li sanble uglier. 313 00:13:46,800 --> 00:13:48,660 li nan kalite konfizyon kounye a nan ti koutje sou nan. 314 00:13:48,660 --> 00:13:50,780 Men, sa a pral vin pi plis abitye anvan lontan. 315 00:13:50,780 --> 00:13:52,920 >> Men, mwen pral pwopoze kounye a youn lòt amelyorasyon. 316 00:13:52,920 --> 00:13:54,660 Sa a yon amelyorasyon Correct. 317 00:13:54,660 --> 00:13:58,800 Pwogram mwen an se kounye a pi plis kòrèk, paske nan ka a ra ki pa ase memwa 318 00:13:58,800 --> 00:14:01,180 egziste, mwen pral manch li yo, epi mwen pral jis pa fè anyen. 319 00:14:01,180 --> 00:14:02,680 Mwen omwen pa pral aksidan. 320 00:14:02,680 --> 00:14:05,000 >> Men, kite a fè yon vèsyon final isit la. 321 00:14:05,000 --> 00:14:07,690 Ak yon dosye rele string2.c. 322 00:14:07,690 --> 00:14:10,190 Mwen pral kole ki Kòd menm sèlman pou moman yon, 323 00:14:10,190 --> 00:14:14,210 ak mwen pral nan mete aksan sou sa a liy, 11, isit la, sèlman pou moman yon. 324 00:14:14,210 --> 00:14:18,179 Koulye a, reyalite a se sa konpilateur entelijan tankou sonnen te kapab ranje sa a pou nou 325 00:14:18,179 --> 00:14:19,970 dèyè sèn nan san yo pa nou an tout tan tout tan konnen. 326 00:14:19,970 --> 00:14:24,670 Men, kite a panse osijè de sa a fondamantalman kòm yon konsepsyon Pwoblematik. 327 00:14:24,670 --> 00:14:29,010 >> Liy sa a nan kòd se, nan kou, li di yo: inisyalize kèk varyab mwen a 0. 328 00:14:29,010 --> 00:14:30,260 Sa a se trè senp. 329 00:14:30,260 --> 00:14:34,691 Ak sa ki ankò se sa a deklarasyon, isit la, mwen ++, ap fè? 330 00:14:34,691 --> 00:14:37,066 Nou te wè l 'devan, men nou pa t 'reyèlman pale sou sa. 331 00:14:37,066 --> 00:14:37,900 >> ODYANS: incrementing mwen. 332 00:14:37,900 --> 00:14:39,191 >> DAVID J. Malan: incrementing mwen. 333 00:14:39,191 --> 00:14:41,890 Se konsa, sou chak iterasyon nan sa a riban, chak sik, 334 00:14:41,890 --> 00:14:43,570 w ap incrementing mwen pa youn. 335 00:14:43,570 --> 00:14:45,740 Se konsa, li vin pi gwo, ak pi gwo, ak pi gwo jouk bouk la mete fen. 336 00:14:45,740 --> 00:14:46,810 Ki jan li mete fen nan? 337 00:14:46,810 --> 00:14:49,430 Oke gen nan sa a mitan kondisyon ki nou te itilize anvan. 338 00:14:49,430 --> 00:14:52,500 Ou te wè ak nan valktroug nan P ansanm lan. 339 00:14:52,500 --> 00:14:53,880 >> Men, sa ki pawòl sa yo? 340 00:14:53,880 --> 00:14:58,352 Èske bouk ki anba la a se konsa lontan ke mwen se mwens pase ki sa? 341 00:14:58,352 --> 00:14:59,810 ODYANS: Longè a nan fisèl la. 342 00:14:59,810 --> 00:15:01,518 DAVID J. Malan: nan longè fil la. 343 00:15:01,518 --> 00:15:04,300 Se konsa, li tradui trè propr angle nan sans sa. 344 00:15:04,300 --> 00:15:08,810 Koulye a, pwoblèm nan se ke chak fwa mwen repekte nan sa a riban nan teyori, 345 00:15:08,810 --> 00:15:10,000 Mwen mande kesyon sa a. 346 00:15:10,000 --> 00:15:12,250 Èske mwen mwens pase longè a fil nan s? 347 00:15:12,250 --> 00:15:14,500 Èske mwen mwens pase longè a fil nan s? 348 00:15:14,500 --> 00:15:18,380 >> Koulye a, se mwen chanje sou chak iteration? 349 00:15:18,380 --> 00:15:18,880 Li se. 350 00:15:18,880 --> 00:15:19,629 Paske nan ++ la. 351 00:15:19,629 --> 00:15:21,700 Se konsa, chak iteration mwen a ap vin pi gran. 352 00:15:21,700 --> 00:15:25,411 Men, se nan ap resevwa pi gwo, oswa ki pi piti, oswa chanje nan tout? 353 00:15:25,411 --> 00:15:25,910 No 354 00:15:25,910 --> 00:15:30,240 Se konsa, an tèm de konsepsyon, youn nan aks yo ansanm ki nou eseye evalye Kòd 355 00:15:30,240 --> 00:15:32,610 nan klas la, sa a santi l kalite estipid. 356 00:15:32,610 --> 00:15:34,690 >> Menm jan ak ou se literalman, sou chak iterasyon 357 00:15:34,690 --> 00:15:37,110 nan sa a riban mande a menm kesyon modi ankò, 358 00:15:37,110 --> 00:15:40,770 e ankò, e ankò, ak literalman li se pa janm pral chanje. 359 00:15:40,770 --> 00:15:44,220 Omwen si mwen pa manyen la ak ap eseye chanje sa ki nan la. 360 00:15:44,220 --> 00:15:46,610 Se konsa, mwen ka fè yon ti kras pi bon pase sa a. 361 00:15:46,610 --> 00:15:49,530 >> Ak sa ki, mwen pral fè se pa deklare jis yon varyab mwen, 362 00:15:49,530 --> 00:15:53,330 men yon varyab dezyèm mwen pral abitrèman, men konvansyonèl, rele li n. 363 00:15:53,330 --> 00:15:55,940 Bay n egal a la longè fil nan s. 364 00:15:55,940 --> 00:15:59,090 Lè sa a, sou isit la, mwen pral fè yon entelijan ti kras optimize, se konsa 365 00:15:59,090 --> 00:16:03,460 yo pale, ke nan fen an nan jounen an se pa plis kòrèk oswa pa mwens kòrèk 366 00:16:03,460 --> 00:16:04,260 pase anvan. 367 00:16:04,260 --> 00:16:05,500 Men, li la yon konsepsyon pi byen. 368 00:16:05,500 --> 00:16:09,480 An reyalite a ke mwen lè l sèvi avèk mwens tan, mwens sik CPU, se konsa 369 00:16:09,480 --> 00:16:14,040 yo pale, yo reponn menm bagay la tou kesyon, men jis yon fwa. 370 00:16:14,040 --> 00:16:17,870 >> Nenpòt kesyon sou ki jeneral prensip nan amelyore, 371 00:16:17,870 --> 00:16:21,294 di, efikasite yon pwogram nan? 372 00:16:21,294 --> 00:16:21,991 Yeah? 373 00:16:21,991 --> 00:16:23,699 ODYANS: Poukisa ou sèvi ak [fèbl la]? 374 00:16:23,699 --> 00:16:25,760 375 00:16:25,760 --> 00:16:27,010 DAVID J. Malan: Bon kesyon. 376 00:16:27,010 --> 00:16:30,690 Se konsa, poukisa nou mete ++ nan sou fen a nan mwen olye pou yo nan konmansman an nan mwen an? 377 00:16:30,690 --> 00:16:33,070 Nan ka sa a, li gen okenn enpak fonksyonèl. 378 00:16:33,070 --> 00:16:36,670 Ak an jeneral, mwen gen tandans yo itilize operatè a sifiks 379 00:16:36,670 --> 00:16:41,750 se konsa ke li nan yon ti kras pi plis klè tankou lè operasyon an k ap pase. 380 00:16:41,750 --> 00:16:46,670 >> Pou moun ki abitye, gen yon lòt deklarasyon annakò ak sa ou ta ka fè ++ mwen. 381 00:16:46,670 --> 00:16:48,747 Sa yo se fonksyonèl ekivalan nan ka sa a 382 00:16:48,747 --> 00:16:51,080 paske gen nan pa gen anyen lòt alantou ke incrementation. 383 00:16:51,080 --> 00:16:54,435 Men, ou ka vini ak ka ak liy nan kòd 384 00:16:54,435 --> 00:16:55,810 nan ki ki fè yon diferans. 385 00:16:55,810 --> 00:16:57,810 Se konsa, jeneralman, nou pa fè sa menm pale osijè de sa a youn. 386 00:16:57,810 --> 00:17:00,690 Paske franchman, li fè ou Kòd sexier, ak sòt de konbinar, 387 00:17:00,690 --> 00:17:01,776 epi mwens karaktè. 388 00:17:01,776 --> 00:17:04,859 Men, reyalite a se li nan yon anpil pi rèd, Mwen panse ke, menm pou mwen pou m vlope lide m ' 389 00:17:04,859 --> 00:17:07,319 bò kote l 'pafwa, lòd la nan operasyon yo. 390 00:17:07,319 --> 00:17:09,750 Se konsa, kòm yon sou kote, si ou reyèlman pa renmen sa a, 391 00:17:09,750 --> 00:17:14,650 menm si sa a se kalite sexy kap, ou ka tou fè mwen + = 1, 392 00:17:14,650 --> 00:17:18,880 ki se vèsyon an uglier nan la menm lide pou sifiks incrementation. 393 00:17:18,880 --> 00:17:22,250 >> Mwen di sa, epi ou ta dwe fè plezi nan li, 394 00:17:22,250 --> 00:17:25,140 men ou pral vin wè kòd kòm yon bagay bèl anvan lontan. 395 00:17:25,140 --> 00:17:27,160 >> [Ri] 396 00:17:27,160 --> 00:17:28,410 >> DAVID J. Malan: Dwa? 397 00:17:28,410 --> 00:17:29,360 Yeah. 398 00:17:29,360 --> 00:17:30,480 Kesyon nan mitan yo. 399 00:17:30,480 --> 00:17:32,146 >> ODYANS: ou bezwen di Int n? 400 00:17:32,146 --> 00:17:34,020 DAVID J. Malan: Ou fè pa bezwen di Int n. 401 00:17:34,020 --> 00:17:37,670 Se konsa, paske nou te deja di Int, ou pa bezwen di l 'ankò. 402 00:17:37,670 --> 00:17:41,820 Trape an se ke n gen gen kalite a menm jan ak done mwen. 403 00:17:41,820 --> 00:17:43,310 Se konsa, sa se sèlman yon konvenyans isit la. 404 00:17:43,310 --> 00:17:44,058 Yeah. 405 00:17:44,058 --> 00:17:47,806 >> ODYANS: Èske ou ka ale sou la bracket ekri an lèt detache karaktè a mwen ankò? 406 00:17:47,806 --> 00:17:48,930 DAVID J. Malan: Absoliman. 407 00:17:48,930 --> 00:17:52,110 Se konsa,% c, sonje soti nan sot pase a tan, se jis yon kontneur. 408 00:17:52,110 --> 00:17:53,930 Sa vle di mete yon Char isit la. 409 00:17:53,930 --> 00:17:56,780 antislach n, nan kou, jis vle di mete yon ti repo liy isit la. 410 00:17:56,780 --> 00:17:59,540 Se konsa, ki jis kite, kounye a, pyès sa a nan nouvo sentaks. 411 00:17:59,540 --> 00:18:03,730 Lè sa a se literalman di, gen tan pwan fisèl la rele a ak ale jwenn li yo 412 00:18:03,730 --> 00:18:06,050 karaktè i'th, se konsa pale. 413 00:18:06,050 --> 00:18:10,590 >> Apre sa, mwen kenbe li di karaktè i'th paske sou chak iterasyon sa a riban 414 00:18:10,590 --> 00:18:14,540 li a tankou si nou ap enprime soti, premye a bracket 0, 415 00:18:14,540 --> 00:18:15,780 kòm yon pwogramè ta ka di. 416 00:18:15,780 --> 00:18:18,680 Lè sa a, nan bracket 1, Lè sa a, nan bracket 2, Lè sa a, 3, Lè sa a, 4. 417 00:18:18,680 --> 00:18:21,610 Men, nan kou li nan yon varyab, Se konsa, mwen jis eksprime l 'ak mwen. 418 00:18:21,610 --> 00:18:23,900 >> Key, menm si, se reyalize, espesyalman si ou te pa 419 00:18:23,900 --> 00:18:26,358 te acclimating nan mond sa a nan pwogramasyon, kote nou tout 420 00:18:26,358 --> 00:18:28,950 sanble yo konte soti nan zewo, oblije kòmanse konte soti nan zewo kounye a. 421 00:18:28,950 --> 00:18:35,130 Paske strings, premye karaktè, a z nan Zamyla se pou pi bon oswa pou vin pi mal 422 00:18:35,130 --> 00:18:40,490 ale nan ap viv nan nimewo kote zewo. 423 00:18:40,490 --> 00:18:48,210 >> Tout dwa, kidonk kite m 'pote nou tounen isit la yo Zamyla 424 00:18:48,210 --> 00:18:50,746 ak wè sa ki nan reyèlman ale sou anba kapo a. 425 00:18:50,746 --> 00:18:52,370 Se konsa, gen nan sa a nosyon nan kalite Distribisyon. 426 00:18:52,370 --> 00:18:53,800 Ou ta ka gen aktyèlman te jwe ak sa a deja, 427 00:18:53,800 --> 00:18:55,970 petèt pou HACKER la edisyon an P mete yon sèl. 428 00:18:55,970 --> 00:19:00,320 Men, kalite Distribisyon jis refere a nan kapasite nan C ak kèk lòt lang 429 00:19:00,320 --> 00:19:03,170 konvèti yon sèl kalite done nan yon lòt. 430 00:19:03,170 --> 00:19:05,450 >> Koulye a, ki jan nou ta ka wè sa a bèl kareman? 431 00:19:05,450 --> 00:19:08,530 Se konsa, sa, sonje, se nan konmansman an nan alfabè angle a. 432 00:19:08,530 --> 00:19:11,265 Ak kontèks la, sonje, ki soti nan tankou yon semèn de sa se ASCII. 433 00:19:11,265 --> 00:19:13,790 Creole Kòd la pou Enfòmasyon Interchange. 434 00:19:13,790 --> 00:19:17,080 Ki se jis yon fason reyèlman long pou li di yon kat soti nan lèt 435 00:19:17,080 --> 00:19:19,370 nan nimewo, ak soti nan chif ki rive jiska lèt yo. 436 00:19:19,370 --> 00:19:22,940 >> Se konsa, A jiska M isit la, dot dot dot, liy moute ak, sonje, 437 00:19:22,940 --> 00:19:25,582 nimewo a desimal 65 sou yo. 438 00:19:25,582 --> 00:19:27,290 Apre sa, nou pa t 'pale sou sa a klèman, 439 00:19:27,290 --> 00:19:29,850 , men siman gen nan menm jan an nimewo pou lèt miniskil. 440 00:19:29,850 --> 00:19:30,820 Ak tout bon, gen. 441 00:19:30,820 --> 00:19:33,730 Mond lan deside kèk ane de sa ki ti kras yon, miniskil yon, 442 00:19:33,730 --> 00:19:35,020 a pwal 97. 443 00:19:35,020 --> 00:19:38,010 Ak yon ti kras b ki pral yo dwe 98, ak pou fè. 444 00:19:38,010 --> 00:19:40,200 >> Ak pou nenpòt lòt kle sou klavye ou, gen nan 445 00:19:40,200 --> 00:19:42,190 pral fè yon modèl ki sanble nan miyèt moso. 446 00:19:42,190 --> 00:19:44,540 Oswa équivalant, yon PO desimal. 447 00:19:44,540 --> 00:19:47,110 Se konsa, kesyon an nan men, lè sa a, se ki jan nou ka 448 00:19:47,110 --> 00:19:49,400 aktyèlman wè sa a anba kapo a? 449 00:19:49,400 --> 00:19:51,539 Se konsa, mwen pral ale sou nan jdi ankò. 450 00:19:51,539 --> 00:19:53,330 Ak olye ke kalite yon sèl sa a soti nan grafouyen, 451 00:19:53,330 --> 00:19:55,330 Mwen pral ale pi devan epi jis louvri moute yon bagay 452 00:19:55,330 --> 00:19:58,350 nan kòd la jodi a rele ASCII zewo. 453 00:19:58,350 --> 00:20:01,210 >> Epi ASCII zewo sanble tankou sa a. 454 00:20:01,210 --> 00:20:02,710 Se konsa, kite a vlope lespri nou alantou sa a. 455 00:20:02,710 --> 00:20:04,969 Se konsa, premye, mwen te kòmante kòd la, ki se bèl. 456 00:20:04,969 --> 00:20:07,010 Paske li nan literalman di m 'sa ou kapab espere, 457 00:20:07,010 --> 00:20:08,950 montre yon kat pou lèt majuskul. 458 00:20:08,950 --> 00:20:13,690 Koulye a, mwen pa byen konnen sa m ' vle di pa sa, Se konsa, kite a dégager. 459 00:20:13,690 --> 00:20:16,870 >> Nan lang angle, petèt yon ti jan techie lang angle, 460 00:20:16,870 --> 00:20:20,660 sa ki fè liy 18 parèt yo dwe fè pou nou? 461 00:20:20,660 --> 00:20:21,500 Jis liy 18. 462 00:20:21,500 --> 00:20:22,430 Ki sa ki nan li pwovoke? 463 00:20:22,430 --> 00:20:25,192 Ki sa ki nan li ale nan choute koupe isit la? 464 00:20:25,192 --> 00:20:26,100 >> ODYANS: Yon sikui. 465 00:20:26,100 --> 00:20:26,630 >> DAVID J. Malan: Yon sikui. 466 00:20:26,630 --> 00:20:28,463 Ak ki jan anpil fwa se ki ale nan repekte? 467 00:20:28,463 --> 00:20:31,562 468 00:20:31,562 --> 00:20:33,270 ODYANS: [Entèrpozisyon vwa] sis fwa. 469 00:20:33,270 --> 00:20:34,830 DAVID J. Malan: Se pa sis fwa. 470 00:20:34,830 --> 00:20:35,840 ODYANS: 26 fwa. 471 00:20:35,840 --> 00:20:36,560 DAVID J. Malan: 26 fwa. 472 00:20:36,560 --> 00:20:37,060 Yeah, regrèt. 473 00:20:37,060 --> 00:20:37,960 26 fwa. 474 00:20:37,960 --> 00:20:38,460 Poukisa? 475 00:20:38,460 --> 00:20:41,590 Oke, li nan yon ti kras etranj, men Mwen te kòmanse konte soti nan 65. 476 00:20:41,590 --> 00:20:43,300 Ki se etranj, men se pa sa ki mal. 477 00:20:43,300 --> 00:20:44,610 Li pa move pou chak di. 478 00:20:44,610 --> 00:20:46,980 Apre sa, mwen fè sa sèlman paske, pou egzanp sa a, 479 00:20:46,980 --> 00:20:50,455 Mwen kalite prevwar kapital ki Yon te 65. 480 00:20:50,455 --> 00:20:53,330 Koulye a, sa a se pa ki pi elegant la fason yo fè sa, nan kalite Kòd difisil 481 00:20:53,330 --> 00:20:56,130 valè Esoteric ki pa gen yon se tout tan tout tan espere sonje. 482 00:20:56,130 --> 00:21:00,155 >> Men, pou kounye a, remake ke mwen se fè sa moute nan 65 plis 26. 483 00:21:00,155 --> 00:21:03,030 Paske aparamman Mwen pa menm vle fè aritmetik a nan tèt mwen. 484 00:21:03,030 --> 00:21:04,440 Se konsa, mwen pral kite du a fè li. 485 00:21:04,440 --> 00:21:08,600 Men, Lè sa a, sou chak bouk, chak iteration nan riban an, mwen incrementing mwen. 486 00:21:08,600 --> 00:21:10,196 >> Se konsa, kounye a sa a sanble yon ti kras skre. 487 00:21:10,196 --> 00:21:13,320 Men, nou ta dwe gen bilding lan debaz blòk ak ki yo konprann sa a. 488 00:21:13,320 --> 00:21:15,510 C% se jis yon kontneur pou yon Char. 489 00:21:15,510 --> 00:21:19,010 % Mwen se yon kontneur pou yon Int. 490 00:21:19,010 --> 00:21:23,310 Epi li vire soti ke lè l sèvi avèk sa a nouvo sentaks, parantèz sa a, se konsa 491 00:21:23,310 --> 00:21:26,100 yo pale, se konsa yon kalite done andedan yon parantèz, 492 00:21:26,100 --> 00:21:32,270 Mwen ka fòse du a nan trete mwen pa se yon nonb antye, men kòm yon Char. 493 00:21:32,270 --> 00:21:35,520 >> Kidonk ki montre m 'pèsonaj la ekivalan nan nimewo sa a. 494 00:21:35,520 --> 00:21:37,986 Koulye a, desann isit la, sa a Kòd se bèl anpil idantik. 495 00:21:37,986 --> 00:21:39,860 Mwen jis te vle fè super eksplisit lefèt 496 00:21:39,860 --> 00:21:42,095 ke mwen kòmanse nan 97, ki se miniskil yon. 497 00:21:42,095 --> 00:21:44,080 Sou moute nan 26 plis lèt. 498 00:21:44,080 --> 00:21:46,970 Apre sa, mwen doing-- ankò, Distribisyon mwen, se konsa pale. 499 00:21:46,970 --> 00:21:49,160 Oswa kalite Distribisyon mwen, se konsa pale. 500 00:21:49,160 --> 00:21:51,420 >> Soti nan yon int nan yon Char. 501 00:21:51,420 --> 00:21:55,760 Se konsa, rezilta nan fen a pwal, franchman, enfòmasyon nou deja konnen. 502 00:21:55,760 --> 00:21:59,411 Mwen pral fè ascii-0 pa dot-- dot c. 503 00:21:59,411 --> 00:22:02,160 Avi, pwobableman ou te fè ki erè jan mwen jis te fè aksidantèlman. 504 00:22:02,160 --> 00:22:03,820 Fè wèb-0. 505 00:22:03,820 --> 00:22:06,090 Koulye a, mwen pral fè ./ascii-0. 506 00:22:06,090 --> 00:22:09,050 Mwen pral rale nan, ak malerezman li a pral woulo liv sou ekran an. 507 00:22:09,050 --> 00:22:15,060 Men, nou wè yon tablo kote tout yon kat a 97, kat b 98, 508 00:22:15,060 --> 00:22:18,931 epi si nou woulo liv moute pi lwen A, nan kou, kat nan 65. 509 00:22:18,931 --> 00:22:21,180 Se konsa, sa a se sèlman yo di ke sa nou ve yo te preche, 510 00:22:21,180 --> 00:22:25,310 gen ekivalans sa a, se an reyalite ka a nan reyalite. 511 00:22:25,310 --> 00:22:28,000 Se konsa, yon modifikasyon rapid nan sa a. 512 00:22:28,000 --> 00:22:31,220 Se pou m 'louvri moute wèb-1.c. 513 00:22:31,220 --> 00:22:38,070 Ak avi sa a entelijan, sòt a, klarifikasyon nan sa a. 514 00:22:38,070 --> 00:22:41,770 Sa a se wèb-1.c, ak remake bagay sa a fou. 515 00:22:41,770 --> 00:22:45,120 >> Epi sa a vrèman vin nan kè a nan sa ki òdinatè ap fè a. 516 00:22:45,120 --> 00:22:48,150 Menm si nou moun ta pa konte an tèm de letters-- 517 00:22:48,150 --> 00:22:50,380 Mwen pa kòmanse panse, tout dwa yon Lè sa a, b, 518 00:22:50,380 --> 00:22:52,590 epi sèvi ak sa yo ki yo konte objè fizik. 519 00:22:52,590 --> 00:22:58,680 Ou ka sètènman di ke mwen vle inisyalize kèk varyab rele c-- 520 00:22:58,680 --> 00:23:03,220 men mwen te kapab yo te rele anything-- sa a se konsa c se initialisé yo nan kapital A. 521 00:23:03,220 --> 00:23:07,560 >> Paske nan fen jounen an, òdinatè a pa pran swen sa w ap estoke, 522 00:23:07,560 --> 00:23:10,170 li sèlman traka ki jan ou vle prezante enfòmasyon sa a. 523 00:23:10,170 --> 00:23:13,560 Ki jan ou vle òdinatè a nan entèprete ki modèl nan Bits? 524 00:23:13,560 --> 00:23:16,320 Se konsa, sa a se pa yon bagay mwen ta jeneralman rekòmande fè. 525 00:23:16,320 --> 00:23:19,500 Li nan reyèlman jis yon egzanp transmèt ke ou ka absoliman 526 00:23:19,500 --> 00:23:22,049 inisyalize yon nonb antye relatif nan yon Char. 527 00:23:22,049 --> 00:23:24,090 Paske anba a kapo nan yon Char, nan kou, 528 00:23:24,090 --> 00:23:26,170 se jis yon nimewo ki ant 0 a 255. 529 00:23:26,170 --> 00:23:28,540 >> Se konsa, ou kapab sètènman mete l 'anndan yon Int. 530 00:23:28,540 --> 00:23:30,890 Ak sa ki sa a tou demontre se ke nou 531 00:23:30,890 --> 00:23:34,040 ka konvèti soti nan yon tape nan yon lòt, isit la, 532 00:23:34,040 --> 00:23:36,780 finalman enprime menm bagay la. 533 00:23:36,780 --> 00:23:44,760 Ak an reyalite, sa a mwen pral ranje online-- te vle di yo di sa a, ankò, isit la. 534 00:23:44,760 --> 00:23:48,610 Kite m 'netwaye sa a moute sou entènèt, ak nou pral wè nan yon solisyon sou entènèt jan sa nesesè, 535 00:23:48,610 --> 00:23:50,280 sa ki te gen entansyon la. 536 00:23:50,280 --> 00:23:50,960 >> OK. 537 00:23:50,960 --> 00:23:53,892 Egzanp Se konsa, dènye kounye a ki enplike yon a ak b a ak Lè sa a, nou pral 538 00:23:53,892 --> 00:23:54,850 pran bagay sa yo moute yon Notch. 539 00:23:54,850 --> 00:23:58,330 Se konsa, ak yon la ak b a ak c a nan lèt majiskil nan 540 00:23:58,330 --> 00:24:01,560 ak ekivalans a ladan l ', se pou yo pran yon gade nan egzanp sa a, isit la. 541 00:24:01,560 --> 00:24:02,752 Yon lòt Kòd egzanp. 542 00:24:02,752 --> 00:24:04,460 Nou pral louvri yon sèl sa a, se deja fè, se konsa nou 543 00:24:04,460 --> 00:24:06,440 pa gen yo tape l ' tout soti nan grate. 544 00:24:06,440 --> 00:24:09,420 >> Ak avi nan patisipe nou ap sèvi ak miltip header 545 00:24:09,420 --> 00:24:13,240 dosye, nan mitan ki se nouvo zanmi nou an, string.h. 546 00:24:13,240 --> 00:24:15,597 Koulye a, sa a sanble, nan premye gade, yon ti kras skre. 547 00:24:15,597 --> 00:24:18,180 Men, kite a wè si nou pa ka rezone nan sa ki k ap pase sou isit la. 548 00:24:18,180 --> 00:24:21,150 Premye fwa mwen jwenn yon fisèl soti nan itilizatè a, ak Mwen mete ki fisèl nan yon varyab 549 00:24:21,150 --> 00:24:22,286 rele nan. 550 00:24:22,286 --> 00:24:24,090 Kopi keratin soti nan anvan. 551 00:24:24,090 --> 00:24:27,250 Nan liy 22, mwen se aparamman fè ekzakteman ki sa 552 00:24:27,250 --> 00:24:30,760 Mwen te fè yon ti moman de sa, mwen iteration sou karaktè yo ki nan la. 553 00:24:30,760 --> 00:24:34,780 >> Ak ke trik nouvèl yo nouvo isit la yo lè l sèvi avèk longè fil, optimize ki minè a 554 00:24:34,780 --> 00:24:37,930 nan estoke longè a fisèl nan n, olye ke w rele strlèn ankò, 555 00:24:37,930 --> 00:24:38,850 e ankò, e ankò. 556 00:24:38,850 --> 00:24:41,120 Ak jis tcheke ki mwen se mwens pase n. 557 00:24:41,120 --> 00:24:43,330 Koulye a, isit la, bagay sa yo jwenn yon ti kras ki enteresan. 558 00:24:43,330 --> 00:24:45,980 Men, li la jis yon aplikasyon nan sa a menm lide nouvo. 559 00:24:45,980 --> 00:24:48,470 Ki sa ki nan lang angle fè s bracket mwen reprezante? 560 00:24:48,470 --> 00:24:51,772 561 00:24:51,772 --> 00:24:54,260 >> ODYANS: Konte chak N. [fèbl]. 562 00:24:54,260 --> 00:24:55,926 >> DAVID J. Malan: Konte chak karaktè. 563 00:24:55,926 --> 00:24:58,680 E menm plis suksen, s bracket mwen reprezante ki sa? 564 00:24:58,680 --> 00:25:00,950 Èske ou ta di. 565 00:25:00,950 --> 00:25:04,084 Pa mete ou sou tèren an isit la. 566 00:25:04,084 --> 00:25:06,375 >> ODYANS: Well-- 567 00:25:06,375 --> 00:25:09,500 DAVID J. Malan: Se konsa, si mo a is-- si fisèl la se Zamyla, ki starts-- 568 00:25:09,500 --> 00:25:12,380 ODYANS: --you fas ak karaktè yo separately-- 569 00:25:12,380 --> 00:25:13,690 DAVID J. Malan: Bon. 570 00:25:13,690 --> 00:25:14,190 Egzakteman. 571 00:25:14,190 --> 00:25:17,940 Notasyon a bracket kare pèmèt ou jwenn aksè nan chak karaktè endividyèlman, 572 00:25:17,940 --> 00:25:21,120 se konsa s bracket 0 a pwal nan premye karaktè nan fisèl la. 573 00:25:21,120 --> 00:25:24,110 s bracket 1 a pwal dezyèm lan, ak pou fè. 574 00:25:24,110 --> 00:25:28,050 Se konsa, kesyon an mwen mande, isit la, nan kondisyon sa a se ki sa? 575 00:25:28,050 --> 00:25:33,984 Èske pèsonaj la i'th nan pi gwo a pase oswa egal a miniskil yon? 576 00:25:33,984 --> 00:25:36,400 E ki sa sa vle di, isit la, ak ampersands yo doub? 577 00:25:36,400 --> 00:25:36,800 ODYANS (ansanm): Ak. 578 00:25:36,800 --> 00:25:37,210 DAVID J. Malan: Lè. 579 00:25:37,210 --> 00:25:38,418 Se jis nan ekivalan a sa a. 580 00:25:38,418 --> 00:25:42,310 Epi se pa yon mo kle nan C, ou gen itilize, annoyingly, comercial comercial. 581 00:25:42,310 --> 00:25:47,520 Lè sa a, Kontrèman, ap mande se s la i'th karaktè mwens pase oswa egal 582 00:25:47,520 --> 00:25:49,030 miniskil z? 583 00:25:49,030 --> 00:25:52,440 Epi ankò, isit la nan kote konprann kache nan 584 00:25:52,440 --> 00:25:54,550 egzekisyon pou yon òdinatè fè sans. 585 00:25:54,550 --> 00:25:57,330 Remake, menm si mwen gen dot dot dot a lòt bò a, 586 00:25:57,330 --> 00:26:04,410 sanble yon nan z an miniskil yo tout valè vwazen moute soti nan 97 sou yo. 587 00:26:04,410 --> 00:26:07,820 >> Ak menm bagay pou majuskul kòmanse nan 65. 588 00:26:07,820 --> 00:26:10,410 Se konsa, Takeaway a, lè sa a, se ke nan lang angle, 589 00:26:10,410 --> 00:26:12,760 ki jan ou ta dekri sa liy 24 ap travay? 590 00:26:12,760 --> 00:26:15,736 591 00:26:15,736 --> 00:26:16,728 Yeah? 592 00:26:16,728 --> 00:26:21,575 >> ODYANS: Sou 24 li a tcheke yo wè si wi ou non chak karaktè se yon miniskil. 593 00:26:21,575 --> 00:26:24,700 DAVID J. Malan: Li nan tcheke si wi ou non chak karaktè se yon lèt miniskil. 594 00:26:24,700 --> 00:26:28,590 Se konsa, menm plis suksen, se nan karaktè i'th nan s miniskil? 595 00:26:28,590 --> 00:26:30,690 Sa a tout nou ap eksprime isit la lojikman, 596 00:26:30,690 --> 00:26:33,750 yon ti kras cryptically, men finalman trè kareman. 597 00:26:33,750 --> 00:26:36,480 Se s a i'th miniskil karaktè? 598 00:26:36,480 --> 00:26:40,130 >> Si se konsa, ak isit la nan kote bagay sa yo jwenn yon ti kras lide koube 599 00:26:40,130 --> 00:26:44,760 pou jis yon ti moman, si se konsa, ale pi devan epi enprime soti yon karaktè. 600 00:26:44,760 --> 00:26:47,360 Se konsa, sa a se jis yon kontneur, men ki sa karaktè? 601 00:26:47,360 --> 00:26:53,710 Poukisa mwen fè a bracket mwen mwens ekspresyon sa a isit la? 602 00:26:53,710 --> 00:26:55,110 >> Oke remake modèl la isit la. 603 00:26:55,110 --> 00:26:57,380 Nimewo yo aktyèl pa gen pwoblèm anpil. 604 00:26:57,380 --> 00:27:02,700 Men, avi ke 97 se ki jan lwen lwen 65? 605 00:27:02,700 --> 00:27:03,560 >> ODYANS: 32. 606 00:27:03,560 --> 00:27:04,480 >> DAVID J. Malan: 32. 607 00:27:04,480 --> 00:27:06,890 Ki jan lwen lwen se 98 soti nan 66? 608 00:27:06,890 --> 00:27:07,740 >> ODYANS: 32. 609 00:27:07,740 --> 00:27:09,890 >> DAVID J. Malan: Little c soti nan gwo C? 610 00:27:09,890 --> 00:27:10,420 32. 611 00:27:10,420 --> 00:27:14,550 Se konsa, gen nan 32 oublions soti nan yon lèt nan yon lòt. 612 00:27:14,550 --> 00:27:17,790 Se konsa, franchman mwen, te kapab senplifye sa a ak sa yo ki. 613 00:27:17,790 --> 00:27:20,400 Men, sa a, mwen kalite difisil kodaj sa a konpreyansyon nivo ki ba 614 00:27:20,400 --> 00:27:21,740 ke pa gen okenn lektè se tout tan ale nan konprann. 615 00:27:21,740 --> 00:27:25,080 Se konsa, mwen pral jeneralizasyon li kòm, mwen konnen lèt yo miniskil yo pi gran. 616 00:27:25,080 --> 00:27:28,400 Mwen konnen lèt yo kapital yo ki pi piti valè, iwonilman. 617 00:27:28,400 --> 00:27:33,216 >> Men, sa a se efektivman ekivalan a li di fè soustraksyon 32 soti nan nan bracket mwen. 618 00:27:33,216 --> 00:27:35,430 Se konsa, nan yon kontèks la nan sa yo lèt, si lèt la 619 00:27:35,430 --> 00:27:38,950 k ap pase yo yon, miniskil yon, epi mwen fè soustraksyon 32, 620 00:27:38,950 --> 00:27:43,442 ki efè sa yo ki te, matematik, sou miniskil yon? 621 00:27:43,442 --> 00:27:44,400 ODYANS: Capitalizes-- 622 00:27:44,400 --> 00:27:45,691 DAVID J. Malan: lèt majiskil li. 623 00:27:45,691 --> 00:27:48,440 Ak tout bon, sa a se poukisa nou an se pwogram ki rele tirer zewo. 624 00:27:48,440 --> 00:27:51,590 Pwogram sa a swa avantaj yon lèt, 625 00:27:51,590 --> 00:27:54,580 apre yo fin tcheke si li se tout bon yon lèt miniskil. 626 00:27:54,580 --> 00:27:59,810 Sinon, nan liy 30, ki sa mwen dwe fè si li pa yon lèt miniskil ke mwen se 627 00:27:59,810 --> 00:28:02,852 gade nan nan yon patikilye iteration nan riban an. 628 00:28:02,852 --> 00:28:03,890 Jis enprime li soti. 629 00:28:03,890 --> 00:28:07,010 >> Se konsa, pa chanje bagay sa a, se pa menm miniskil. 630 00:28:07,010 --> 00:28:10,790 Mete restriksyon sou tèt ou bay ti kras yon nan ti kras z. 631 00:28:10,790 --> 00:28:12,730 Koulye a, sa a se san patipri Esoteric. 632 00:28:12,730 --> 00:28:15,230 Men, nan fen jounen an, sa a se ki jan nou, yon fwa sou yon tan, 633 00:28:15,230 --> 00:28:16,460 te gen aplike bagay sa yo. 634 00:28:16,460 --> 00:28:19,780 Si mwen olye louvri tirer yon sèl, oh Mèsi Bondye. 635 00:28:19,780 --> 00:28:22,320 Genyen nan yon fonksyon rele anwo ki ka 636 00:28:22,320 --> 00:28:25,410 fè tout sa nou jis te fè nan yon nivo jistis ki ba. 637 00:28:25,410 --> 00:28:28,752 >> Koulye a, yo anwo se enteresan paske li se te deklare nan yon dosye, 638 00:28:28,752 --> 00:28:31,210 epi ou ta sèlman konnen sa a lè w tcheke dokiman an, 639 00:28:31,210 --> 00:28:35,730 oswa yo te di, di, nan klas, kote li egziste, nan yon dosye rele ctype.h. 640 00:28:35,730 --> 00:28:37,630 Se konsa, sa a se yon lòt zanmi nouvo nan nou. 641 00:28:37,630 --> 00:28:40,750 Men, anwo fè egzakteman sa non li sijere. 642 00:28:40,750 --> 00:28:44,860 >> Ou ka pase nan, kòm yon agiman, ant parantèz sa yo, kèk karaktè. 643 00:28:44,860 --> 00:28:48,390 Mwen pral pase nan pèsonaj la i'th nan la lè l sèvi avèk nouvo notasyon anpenpan nou an 644 00:28:48,390 --> 00:28:49,870 ki enplike parantèz kare. 645 00:28:49,870 --> 00:28:53,391 Epi pran yon devine, ki sa ki retounen nan valè de anwo aparamman pral 646 00:28:53,391 --> 00:28:53,890 yo dwe? 647 00:28:53,890 --> 00:28:56,460 648 00:28:56,460 --> 00:28:57,770 Yon lèt kapital la. 649 00:28:57,770 --> 00:28:58,620 Yon lèt kapital la. 650 00:28:58,620 --> 00:29:02,330 >> Se konsa, si mwen pase nan miniskil yon, èspere ke, pa definisyon nan anwo kay la, 651 00:29:02,330 --> 00:29:05,600 li pral retounen yon majuskul A. Sinon, 652 00:29:05,600 --> 00:29:08,590 si li pa yon lèt miniskil nan plas an premye, mwen jis enprime li. 653 00:29:08,590 --> 00:29:10,800 Ak tout bon, avi a dezyèm zanmi isit la. 654 00:29:10,800 --> 00:29:13,840 Pa sèlman anwo egziste, men se pi ba, ki 655 00:29:13,840 --> 00:29:16,200 aktyèlman reponn kesyon sa a pou mwen. 656 00:29:16,200 --> 00:29:19,730 >> Koulye a, moun ki va te ekri bagay sa yo, 10 la ane de sa, ou konnen ki sa? 657 00:29:19,730 --> 00:29:23,840 Aplike anwo e se pi ba lè l sèvi avèk Kòd tankou sa a. 658 00:29:23,840 --> 00:29:27,270 Men, ankò, ki konsistan avèk ide sa a nan Abstraksyon lwen, 659 00:29:27,270 --> 00:29:29,190 sòt de, pi ba nivo aplikasyon detay. 660 00:29:29,190 --> 00:29:32,600 Ak kanpe sou zepòl yo nan moun ki moun ki te vin anvan nou, lè l sèvi avèk fonksyon 661 00:29:32,600 --> 00:29:36,300 tankou anwo ak se pi ba, ki bèl ase yo joliman 662 00:29:36,300 --> 00:29:40,190 yo te rele yo di sa yo fè, se yon paradigm bèl bagay yo adopte. 663 00:29:40,190 --> 00:29:44,040 >> Koulye a, li vire soti ke si mwen li paj la nonm pou, di, nan anwo kay la, 664 00:29:44,040 --> 00:29:45,010 Mwen aprann yon lòt bagay. 665 00:29:45,010 --> 00:29:46,890 Se konsa, nonm toupper. 666 00:29:46,890 --> 00:29:48,050 Li se yon ti kras akablan yo. 667 00:29:48,050 --> 00:29:51,110 Men, avi, isit la nan ki mansyone nan dosye a header ke mwen ta dwe itilize. 668 00:29:51,110 --> 00:29:54,460 Kòm yon sou kote, paske sa a se twonpe, fonksyon an 669 00:29:54,460 --> 00:29:59,070 sèvi ak antye olye pou yo charaktèr pou rezon nan erè kont kouran. 670 00:29:59,070 --> 00:30:01,260 Men, nou pral petèt vini tounen nan ke nan lavni an. 671 00:30:01,260 --> 00:30:05,910 >> Men, remake, isit la, konvèti anwo lèt c a majuskul si sa posib. 672 00:30:05,910 --> 00:30:07,674 Se konsa, se trè senp. 673 00:30:07,674 --> 00:30:09,340 Epi, koulye a kite a gen yon ti kras pi plis espesifik. 674 00:30:09,340 --> 00:30:12,750 Se pou yo gade nan pati nan la paj nonm anba valè retou. 675 00:30:12,750 --> 00:30:15,420 Valè a tounen se ke nan lèt la konvèti. 676 00:30:15,420 --> 00:30:18,690 Oswa c, si konvèsyon an pa te posib, 677 00:30:18,690 --> 00:30:20,250 ki kote c se opinyon orijinal la. 678 00:30:20,250 --> 00:30:24,140 Ki Mwen konnen soti isit la, soti nan agiman nan anwo kay la. 679 00:30:24,140 --> 00:30:25,780 >> Se konsa, ki sa ki Takeaway a nan sa a? 680 00:30:25,780 --> 00:30:28,060 Valè a tounen se ke nan lèt la konvèti, 681 00:30:28,060 --> 00:30:32,110 oswa c, lèt orijinal la, si konvèsyon an pa te posib. 682 00:30:32,110 --> 00:30:36,460 Ki sa ki amelyorasyon kapab mwen Se poutèt sa fè nan konsepsyon Kòd mwen an? 683 00:30:36,460 --> 00:30:37,146 Yeah? 684 00:30:37,146 --> 00:30:38,810 >> ODYANS: Ou ka retire lòt moun la. 685 00:30:38,810 --> 00:30:40,810 DAVID J. Malan: mwen kapab retire deklarasyon an lòt moun, 686 00:30:40,810 --> 00:30:42,510 epi li pa jis deklarasyon an lòt moun. 687 00:30:42,510 --> 00:30:44,150 >> ODYANS: Ou ka retire [fèbl]. 688 00:30:44,150 --> 00:30:46,310 >> DAVID J. Malan: mwen kapab retire fouchèt la tout antye 689 00:30:46,310 --> 00:30:48,209 nan wout la, a si lòt moun tout ansanm. 690 00:30:48,209 --> 00:30:50,250 Se konsa, tout bon, kite m 'louvri vèsyon final la nan sa a, 691 00:30:50,250 --> 00:30:55,540 kapitalize-2 ak avi jis ki jan, si ou pral, sexy, kòd la se kounye a resevwa, 692 00:30:55,540 --> 00:31:00,040 nan ke mwen te redwi soti nan kèk sèt oswa konsa liy nan jis kat, 693 00:31:00,040 --> 00:31:03,850 fonctionnalités a ke mwen gen entansyon pa senpleman rele anwo, 694 00:31:03,850 --> 00:31:09,410 pase nan a bracket mwen, ak enprime soti, ak kontneur% c a, 695 00:31:09,410 --> 00:31:11,090 ki karaktè patikilye. 696 00:31:11,090 --> 00:31:14,560 >> Koulye a, joui, gen yon ensèk, oswa omwen risk pou yo yon ensèk, 697 00:31:14,560 --> 00:31:15,350 nan pwogram sa a. 698 00:31:15,350 --> 00:31:18,200 Se konsa, jis tounen vin nan yon Takeaway pi bonè, 699 00:31:18,200 --> 00:31:21,820 kisa pou m pwobableman tou fè nan pwogram sa a fè li plis gaya, 700 00:31:21,820 --> 00:31:24,974 se konsa ke gen nan okenn fason li kapab aksidan, menm nan kèk ka ki ra? 701 00:31:24,974 --> 00:31:26,390 ODYANS: Asire w ke li pa nil. 702 00:31:26,390 --> 00:31:28,056 DAVID J. Malan: Asire w ke li pa nil. 703 00:31:28,056 --> 00:31:31,030 Se konsa, reyèlman, fè sa-a super apwopriye, mwen ta dwe fè yon bagay tankou, 704 00:31:31,030 --> 00:31:35,300 si s se pa nil, Lè sa a, ale pi devan epi egzekite 705 00:31:35,300 --> 00:31:38,470 liy sa yo nan Kòd, ki Mwen kapab Lè sa a, indent tankou sa yo, 706 00:31:38,470 --> 00:31:39,870 ak Lè sa a mete nan atèl fèmen m 'yo. 707 00:31:39,870 --> 00:31:41,550 Se konsa, bon mare ansanm de de lide yo. 708 00:31:41,550 --> 00:31:42,429 Yeah? 709 00:31:42,429 --> 00:31:44,470 ODYANS: Èske ou ta kapab itilize yon fè pandan y ap riban, olye? 710 00:31:44,470 --> 00:31:47,270 DAVID J. Malan: Te kapab Mwen fè yon fè pandan riban? 711 00:31:47,270 --> 00:31:50,020 ODYANS: --you vle asire w ke ou aktyèlman [fèbl]. 712 00:31:50,020 --> 00:31:51,728 DAVID J. Malan: Te kapab ou itilize yon fè pandan? 713 00:31:51,728 --> 00:31:52,450 Kout repons, pa gen okenn. 714 00:31:52,450 --> 00:31:54,700 Paske w ap sou yo prezante yon lòt ka kwen. 715 00:31:54,700 --> 00:31:56,660 Si fisèl la se nan zewo longè. 716 00:31:56,660 --> 00:31:59,600 Si pou egzanp, mwen jis frape Antre, san yo pa janm tape Zamyla. 717 00:31:59,600 --> 00:32:02,490 Mwen pral lage ou tounen yon vrè fisèl, kòm n ap pètèt wè, 718 00:32:02,490 --> 00:32:03,780 ki gen zewo karaktè. 719 00:32:03,780 --> 00:32:05,630 Li la toujou yon fisèl, li nan jis super kout. 720 00:32:05,630 --> 00:32:07,960 Men, si ou sèvi ak yon fè ti tan, w ap ale nan je fèmen 721 00:32:07,960 --> 00:32:10,050 eseye fè yon bagay ki gen respekte ak sa yo ki fisèl, 722 00:32:10,050 --> 00:32:12,537 e pa gen anyen k ap pase yo dwe la. 723 00:32:12,537 --> 00:32:18,607 >> ODYANS: Bon, si ou te fè fè [fèbl] pandan y ap s-- 724 00:32:18,607 --> 00:32:21,190 DAVID J. Malan: Oh mwen wè, kenbe ap resevwa yon fisèl soti nan itilizatè lan. 725 00:32:21,190 --> 00:32:23,525 Repons Se konsa, kout, ou te kapab, epi kenbe pestering 726 00:32:23,525 --> 00:32:26,150 yo ba w yon afè sa a, se kout ase anfòm nan memwa. 727 00:32:26,150 --> 00:32:26,700 Absoliman. 728 00:32:26,700 --> 00:32:27,630 Mwen jis te chwazi pa fè sa. 729 00:32:27,630 --> 00:32:30,505 Si yo pa ban m 'fisèl mwen an vle, mwen yon moun kite fimen, mwen bay yo. 730 00:32:30,505 --> 00:32:33,260 Men, absoliman, pou ki rezon, ou ta ka absoliman fè sa. 731 00:32:33,260 --> 00:32:37,500 >> Se konsa, dosye header bibliyotèk la ki nou ap kounye a abitye ak yo se sa yo, isit la. 732 00:32:37,500 --> 00:32:41,550 Creole I / O, CS50.h, string.h, ctype.h, e gen, tout bon, lòt moun. 733 00:32:41,550 --> 00:32:44,460 Kèk nan nou yo te dekouvri bibliyotèk la matematik nan math.h. 734 00:32:44,460 --> 00:32:48,200 Men, se pou m 'entwodui ou, kounye a, resous sa a ke anplwaye CS50, Davin, 735 00:32:48,200 --> 00:32:50,630 ak Rob, ak Gabe patikilye te mete ansanm. 736 00:32:50,630 --> 00:32:52,630 Ki pral byento mennen sou sit entènèt kou a. 737 00:32:52,630 --> 00:32:54,870 Yo rele li CS50 referans. 738 00:32:54,870 --> 00:32:58,230 >> Ki jis ba ou yon rapid gou nan li, ap travay kòm swiv. 739 00:32:58,230 --> 00:33:00,740 Kite m 'ale nan reference.cs50.net. 740 00:33:00,740 --> 00:33:02,990 Ou pral wè sou bò gòch bò yon lis akablan 741 00:33:02,990 --> 00:33:04,595 nan fonksyon ki vini ak c. 742 00:33:04,595 --> 00:33:07,790 Men, si mwen pran swen, pou moman an, sou yon bagay tankou strlèn, 743 00:33:07,790 --> 00:33:08,746 Mwen ka tape li a. 744 00:33:08,746 --> 00:33:10,870 Li filtè desann lis la jis sa mwen pran swen sou. 745 00:33:10,870 --> 00:33:11,940 Mwen pral klike sou li. 746 00:33:11,940 --> 00:33:14,740 Epi, koulye a sou bò gòch la, ou pral wè sa ki nou espere 747 00:33:14,740 --> 00:33:18,290 se yon plis dwat, moun zanmitay esplikasyon sou kouman 748 00:33:18,290 --> 00:33:19,170 fonksyon sa a travay. 749 00:33:19,170 --> 00:33:20,600 >> Retounen longè yon fisèl. 750 00:33:20,600 --> 00:33:24,060 Isit la nan yon Rezime, isit la nan ki jan ou sèvi ak li an tèm de dosye a header, 751 00:33:24,060 --> 00:33:27,430 ak an tèm de sa ki fonksyon an sanble an tèm de agiman li yo. 752 00:33:27,430 --> 00:33:30,250 Lè sa a, isit la, retounen longè yon fisèl. 753 00:33:30,250 --> 00:33:34,280 Men, pou moun nan nou pi alèz, ou ka aktyèlman klike sou plis confortable, 754 00:33:34,280 --> 00:33:37,070 ak sa ki nan sa a paj, kounye a, pral chanje 755 00:33:37,070 --> 00:33:41,660 yo dwe valè yo default nan sa ki ou jwenn lè l sèvi avèk paj la nonm. 756 00:33:41,660 --> 00:33:44,100 >> Nan lòt mo, CS50 referans se yon senplifikasyon 757 00:33:44,100 --> 00:33:46,220 nan kè yon nonm paj pa anplwaye a, pou elèv yo. 758 00:33:46,220 --> 00:33:49,320 Patikilyèman, sa yo ki mwens konfòtab ak nan ant, pou ke ou 759 00:33:49,320 --> 00:33:51,660 pa gen pou yo eseye vlope lide ou alantou li, franchman, 760 00:33:51,660 --> 00:33:55,030 kèk sentaks san patipri skre ak dokiman nenpòt moman. 761 00:33:55,030 --> 00:33:57,650 >> Se konsa, kenbe sa nan tèt ou nan jou sa yo rive. 762 00:33:57,650 --> 00:33:59,560 Se konsa, isit la, ankò, se yon Zamyla. 763 00:33:59,560 --> 00:34:03,255 Se pou nou kounye a poze yon kesyon sa a, se yon ti kras plis imen aksesib. 764 00:34:03,255 --> 00:34:05,380 Mèsi a Chang, ki moun ki te gen enprime plis elefan 765 00:34:05,380 --> 00:34:07,090 san rete pou jou ki sot pase yo kèk. 766 00:34:07,090 --> 00:34:09,730 Nou gen yon opòtinite yo ba omwen youn nan yo ale. 767 00:34:09,730 --> 00:34:13,239 Si nou te ka jwenn sèlman yon sèl volontè yo vini sou jiska trase sou ekran an. 768 00:34:13,239 --> 00:34:14,530 Kouman sou isit la? 769 00:34:14,530 --> 00:34:15,340 >> Vini non sou yo. 770 00:34:15,340 --> 00:34:16,720 Ki jan ou rele? 771 00:34:16,720 --> 00:34:17,219 ALEX: Alex. 772 00:34:17,219 --> 00:34:17,760 DAVID J. Malan: Alex. 773 00:34:17,760 --> 00:34:18,259 Tout dwa. 774 00:34:18,259 --> 00:34:19,388 Alex, vini sou yo. 775 00:34:19,388 --> 00:34:21,679 Nou ap sou yo wè ou ekriti sou ekran an isit la. 776 00:34:21,679 --> 00:34:24,325 777 00:34:24,325 --> 00:34:25,570 Tout dwa, bèl al kontre ou. 778 00:34:25,570 --> 00:34:26,429 >> ALEX: Nice ou kontre ou. 779 00:34:26,429 --> 00:34:27,512 >> DAVID J. Malan: Tout dwa. 780 00:34:27,512 --> 00:34:28,969 Se konsa, super senp egzèsis. 781 00:34:28,969 --> 00:34:31,440 Bar se pa segondè jwenn yon elefan jodi a. 782 00:34:31,440 --> 00:34:33,439 Ou ap jwe wòl nan getstring. 783 00:34:33,439 --> 00:34:35,980 Men, mwen pral jis di ou fisèl la ke ou te vinn. 784 00:34:35,980 --> 00:34:38,080 Ak ta kwè ke ou, getstring, yo te rele. 785 00:34:38,080 --> 00:34:42,480 Ak moun nan, tankou m ', gen tape nan Zamyla, Z-A-M-Y-L-A. 786 00:34:42,480 --> 00:34:45,650 Jis ale pi devan epi ekri Zamyla sou la ekran tankou si ou gen vinn li 787 00:34:45,650 --> 00:34:47,250 ak ki estoke li yon kote nan memwa. 788 00:34:47,250 --> 00:34:52,370 789 00:34:52,370 --> 00:34:55,570 >> Si w kite plas pou ki sa yo pral plizyè lòt words-- sa a, se OK, kenbe prale. 790 00:34:55,570 --> 00:34:59,620 >> [Ri] 791 00:34:59,620 --> 00:35:00,800 >> Se konsa, Zamyla, Excellent. 792 00:35:00,800 --> 00:35:04,880 Se konsa, kounye ta kwè ke ou, getstring, yo rele yo ankò. 793 00:35:04,880 --> 00:35:09,350 Ak Se poutèt sa, mwen ofri ou, nan la entènèt klavye, ak yon lòt non, Belinda. 794 00:35:09,350 --> 00:35:17,560 795 00:35:17,560 --> 00:35:18,060 Tout dwa. 796 00:35:18,060 --> 00:35:22,380 Epi, koulye a getstring nan pwochen tan se rele, mwen tape nan yon bagay tankou Gabe, 797 00:35:22,380 --> 00:35:27,560 G-A-B-E. W ap reyèlman pran nan kè aksè o aza memwa. 798 00:35:27,560 --> 00:35:29,631 Ki se desen tout bagay konplètman owaza. 799 00:35:29,631 --> 00:35:30,130 OK. 800 00:35:30,130 --> 00:35:31,104 >> [Ri] 801 00:35:31,104 --> 00:35:32,520 ALEX: Padon ekriti mwen an se move. 802 00:35:32,520 --> 00:35:33,770 DAVID J. Malan: Non, sa se OK. 803 00:35:33,770 --> 00:35:40,480 Ak ki jan sou Rob, R-O-B. OK. 804 00:35:40,480 --> 00:35:41,020 Bon. 805 00:35:41,020 --> 00:35:43,853 Se konsa, mwen pa t 'antisipe ou ta kalite kouche bagay sa yo soti nan fason sa. 806 00:35:43,853 --> 00:35:45,020 Men, nou ka fè travay sa a. 807 00:35:45,020 --> 00:35:48,810 Se konsa, kouman ou te ale sou tap mete soti char sa yo nan memwa? 808 00:35:48,810 --> 00:35:51,310 Nan lòt mo, si nou panse a sa a ekran nwa rektangilè 809 00:35:51,310 --> 00:35:53,550 repwezantan yon kòm RAM, oswa memwa òdinatè a. 810 00:35:53,550 --> 00:35:55,850 >> Epi sonje ke RAM se jis yon pakèt antye nan bytes, 811 00:35:55,850 --> 00:35:57,480 ak bytes se yon pakèt antye nan miyèt moso. 812 00:35:57,480 --> 00:35:59,350 Ak Bits se yon jan kanmenm aplike, jeneralman 813 00:35:59,350 --> 00:36:01,119 ak kèk fòm elektrisite nan kenkayri. 814 00:36:01,119 --> 00:36:03,160 Se konsa, ki nan sòt de la stratifikasyon nou te pale sou 815 00:36:03,160 --> 00:36:04,510 ak kapab kounye a pran pou yo akòde. 816 00:36:04,510 --> 00:36:07,020 Ki jan ou te ale sou n ap deside ki kote yo ekri 817 00:36:07,020 --> 00:36:11,634 Rob kont Gabe kont Belinda kont Zamyla? 818 00:36:11,634 --> 00:36:14,020 >> ALEX: Mwen jis te fè li nan la lòd ke ou te di m '. 819 00:36:14,020 --> 00:36:15,650 >> DAVID J. Malan: E ke se vre. 820 00:36:15,650 --> 00:36:20,100 Men, sa ki reji kote ou te mete Non Belinda a ak non Gabe a? 821 00:36:20,100 --> 00:36:20,764 >> ALEX: Pa gen anyen? 822 00:36:20,764 --> 00:36:22,930 DAVID J. Malan: [ri] Se konsa, ki travay, ki nan amann. 823 00:36:22,930 --> 00:36:25,290 Se konsa, òdinatè yo ti kras plis lòd pase sa. 824 00:36:25,290 --> 00:36:29,000 Se konsa, lè nou implement-- rete la pou jis moman sa lè nou aktyèlman 825 00:36:29,000 --> 00:36:31,470 aplike yon bagay tankou getstring nan yon òdinatè, 826 00:36:31,470 --> 00:36:34,480 Zamyla ta ka mete deyò bèl anpil tankou ou te fè sou ekran an, gen. 827 00:36:34,480 --> 00:36:36,660 >> Ak sa ki se kle a yon avi isit la, sa Alex te fè, 828 00:36:36,660 --> 00:36:40,260 ki gen la se kalite yon delimiter nan mitan chak nan pawòl sa yo, dwa? 829 00:36:40,260 --> 00:36:46,580 Ou pa t 'ekri Z-A-M-Y-L-A-B-E-L-I-N-D-A-G-A-B-- 830 00:36:46,580 --> 00:36:49,740 nan lòt mo, gen nan kèk kalite nan delimiter ki sanble yo dwe, 831 00:36:49,740 --> 00:36:52,370 sòt de, espas o aza ant divès kalite pawòl sa yo. 832 00:36:52,370 --> 00:36:54,120 Men, sa a bon, paske nou moun kapab kounye a 833 00:36:54,120 --> 00:36:56,470 visualized ke sa yo se kat strings diferan. 834 00:36:56,470 --> 00:36:59,540 Li pa jis yon sèl sekans nan anpil nan karaktè. 835 00:36:59,540 --> 00:37:04,190 Se konsa, yon òdinatè, lè sa a, pandan se tan, ta ka pran yon fisèl tankou Zamyla, 836 00:37:04,190 --> 00:37:07,220 mete chak nan sa yo lèt andedan nan yon multiple nan memwa. 837 00:37:07,220 --> 00:37:10,400 Men, nimewo sa a se pi gwo anpil, nan kou, pase sis karaktè. 838 00:37:10,400 --> 00:37:11,690 >> Genyen yon pakèt antye nan RAM. 839 00:37:11,690 --> 00:37:15,330 Se konsa, koulye a, sa a kadriyaj nan bwat ki pral 840 00:37:15,330 --> 00:37:17,560 reprezante sa Alex jis te fè isit la sou ekran an. 841 00:37:17,560 --> 00:37:20,937 Epi, koulye a, Alex, nou ka ofri w yon ble oswa yon elefan zoranj soti nan Chang. 842 00:37:20,937 --> 00:37:22,270 ALEX: Mwen pral pran yon elefan ble. 843 00:37:22,270 --> 00:37:23,120 DAVID J. Malan: Yon elefan ble. 844 00:37:23,120 --> 00:37:25,580 Se konsa, yon gwo wonn nan aplodisman, si nou te kapab, pou Alex isit la. 845 00:37:25,580 --> 00:37:26,100 >> [Aplodisman] 846 00:37:26,100 --> 00:37:26,766 >> ALEX: Mèsi. 847 00:37:26,766 --> 00:37:28,820 DAVID J. Malan: Mèsi poutèt ou. 848 00:37:28,820 --> 00:37:36,230 Se konsa, Takeaway a se ke, menm si nan modèl kalite chanje sou tan, isit la 849 00:37:36,230 --> 00:37:40,430 sou tablo a, te gen sa a delimiter nan mitan strings yo divès kalite 850 00:37:40,430 --> 00:37:42,610 ki Alex te resevwa pou nou. 851 00:37:42,610 --> 00:37:45,230 Koulye a, òdinatè, franchman, ta ka fè menm bagay la. 852 00:37:45,230 --> 00:37:48,210 Yo te kapab kalite plok strings nenpòt kote nan RAM. 853 00:37:48,210 --> 00:37:50,710 Moute isit la, sou isit la, desann isit la, desann isit la. 854 00:37:50,710 --> 00:37:52,020 >> Yo te kapab fè egzakteman sa. 855 00:37:52,020 --> 00:37:54,280 Men,, nan kou, sa a, se pwobableman pa planifikasyon an pi byen. 856 00:37:54,280 --> 00:37:54,780 Dwa? 857 00:37:54,780 --> 00:37:57,340 Si mwen te kenbe mande Alex jwenn non, pwobableman li ta 858 00:37:57,340 --> 00:38:01,370 mete kèk plis desann isit la, petèt moute isit la, sou isit la, sou isit la, evantyèlman 859 00:38:01,370 --> 00:38:02,211 sou isit la. 860 00:38:02,211 --> 00:38:05,460 Men, avèk yon ti jan pi plis planifikasyon, sètènman, nou te ka mete bagay sa yo soti plis propr. 861 00:38:05,460 --> 00:38:07,350 Ak tout bon, se sa ki yon òdinatè fè. 862 00:38:07,350 --> 00:38:10,720 >> Men, trape an se ke si fisèl nan pwochen mwen jwenn 863 00:38:10,720 --> 00:38:14,050 apre Zamyla se yon bagay tankou Belinda a, 864 00:38:14,050 --> 00:38:17,929 pwopoze kote nou ta ka ekri la lèt b ki gen rapò ak griy sa a? 865 00:38:17,929 --> 00:38:18,720 Ki kote ou ta ale? 866 00:38:18,720 --> 00:38:21,480 A dwat a yon a, anba a z an, pi ba a yon a? 867 00:38:21,480 --> 00:38:23,204 Ki sa ki ta ensten premye ou ta dwe ye? 868 00:38:23,204 --> 00:38:24,120 ODYANS: Anba a z la. 869 00:38:24,120 --> 00:38:25,100 DAVID J. Malan: Se konsa, anba a z la. 870 00:38:25,100 --> 00:38:26,530 Epi sa a, trè senp, dwa? 871 00:38:26,530 --> 00:38:29,321 Li nan kalite pwòp, li nan sa nou fè sou yon klavye lè nou frape Antre, 872 00:38:29,321 --> 00:38:31,770 oswa yon imèl lè yo fè yon lis pus de bagay sa yo. 873 00:38:31,770 --> 00:38:34,310 Men, reyalite a se ke òdinatè eseye yo dwe pi efikas, 874 00:38:34,310 --> 00:38:37,170 ak bachote sètènman kòm anpil done nan RAM ke posib, 875 00:38:37,170 --> 00:38:38,890 pou ke ou pa gaspiye nenpòt bytes. 876 00:38:38,890 --> 00:38:41,545 Se konsa, ke ou pa gaspiye nenpòt ekran byen imobilye. 877 00:38:41,545 --> 00:38:44,170 Ak pwoblèm nan, menm si, se ke si nou literalman mete lèt la 878 00:38:44,170 --> 00:38:49,940 b apre yon, ki jan nou pral konnen ki kote Non Zamyla a fini 879 00:38:49,940 --> 00:38:51,840 ak non Belinda a kòmanse? 880 00:38:51,840 --> 00:38:55,270 Se konsa, ou moun jis pwopoze a, byen, frape Antre nan kle, esansyèlman. 881 00:38:55,270 --> 00:38:56,410 Mete l 'desann pi ba a. 882 00:38:56,410 --> 00:38:59,750 Oswa menm kòm Alex te fè, jis kòmanse ekri Non nan pwochen te anba a yon sèl anvan an, 883 00:38:59,750 --> 00:39:01,583 ak anba a ki yon sèl, ak Lè sa a, anba a ki yon sèl. 884 00:39:01,583 --> 00:39:02,510 Sa a se yon Replik vizyèl. 885 00:39:02,510 --> 00:39:05,960 >> Odinatè gen yon lòt Replik vizyèl, men li la yon ti kras pi plis somèr. 886 00:39:05,960 --> 00:39:07,840 Li nan sa a karaktè Funky. 887 00:39:07,840 --> 00:39:11,890 Antislach 0, ki se petèt okoumansman de antislach n, 888 00:39:11,890 --> 00:39:12,640 ak pou fè, kounye a. 889 00:39:12,640 --> 00:39:14,120 Sekans yo chape espesyal. 890 00:39:14,120 --> 00:39:19,120 Antislach 0 se yon fason a nan repwezantan uit zewo Bits nan yon ranje. 891 00:39:19,120 --> 00:39:22,000 0000 0000. 892 00:39:22,000 --> 00:39:26,130 >> Wout la ou eksprime ki se pa yo frape nimewo a zewo sou klavye ou, 893 00:39:26,130 --> 00:39:28,140 paske an reyalite ki se yon Char ASCII. 894 00:39:28,140 --> 00:39:30,990 Li sanble ke yon nimewo, men se aktyèlman yon nimewo desimal 895 00:39:30,990 --> 00:39:35,910 ki reprezante sikilè a glif, Tipografi nan sikilè. 896 00:39:35,910 --> 00:39:38,410 Pandan se tan, antislach zewo vle di, literalman 897 00:39:38,410 --> 00:39:40,700 mete uit zewo bytes isit la pou mwen. 898 00:39:40,700 --> 00:39:42,136 >> Se konsa, sa a se yon ti jan abitrè. 899 00:39:42,136 --> 00:39:44,260 Nou te ka te itilize nenpòt ki modèl nan Bits, men mond lan 900 00:39:44,260 --> 00:39:46,610 deside kèk ane de sa, ke yo reprezante 901 00:39:46,610 --> 00:39:49,710 nan fen yon fisèl nan memwa, jis mete yon pakèt antye nan zewo. 902 00:39:49,710 --> 00:39:51,000 Paske nou ka detekte sa. 903 00:39:51,000 --> 00:39:54,790 Koulye a, sa vle di ke pa gen okenn lèt nan an ka alfabè dwe reprezante ak zewo. 904 00:39:54,790 --> 00:39:58,480 >> Men, sa a OK, nou te deja wè ke nou ap lè l sèvi avèk 65 sou moute nan 97 sou yo. 905 00:39:58,480 --> 00:40:00,290 Nou pa t 'jwenn nenpòt kote fèmen nan tout zewo. 906 00:40:00,290 --> 00:40:03,040 907 00:40:03,040 --> 00:40:06,540 Se konsa, Belinda nan memwa yon òdinatè a se aktyèlman ale nan ale isit la. 908 00:40:06,540 --> 00:40:09,764 Mwen te trase li nan jòn jis trase atansyon nou an nan li. 909 00:40:09,764 --> 00:40:11,680 Ak avi, tou, sa a se konplètman abitrè. 910 00:40:11,680 --> 00:40:12,680 Mwen te trase li kòm yon griy. 911 00:40:12,680 --> 00:40:14,460 Tankou, RAM se jis kèk objè fizik. 912 00:40:14,460 --> 00:40:17,300 Li pa nesesèman gen ranje ak kolòn, se pou chak. 913 00:40:17,300 --> 00:40:20,490 Li nan jis te resevwa yon pakèt antye nan bytes aplike nan pyès ki nan konpitè yon jan kanmenm. 914 00:40:20,490 --> 00:40:22,817 Men, si apre Belinda mwen tape nan non Gabe a, 915 00:40:22,817 --> 00:40:25,650 li te ale nan fini isit la nan memwa, epi si mwen tape nan non Daven a, 916 00:40:25,650 --> 00:40:27,316 pou egzanp, li te ale nan fini isit la. 917 00:40:27,316 --> 00:40:29,310 Apre sa, mwen ka kontinye ekri menm plis non. 918 00:40:29,310 --> 00:40:32,100 >> Malerezman, si mwen eseye ekri yon non super long, 919 00:40:32,100 --> 00:40:33,730 Mwen ta ka evantyèlman kouri soti nan memwa. 920 00:40:33,730 --> 00:40:37,810 Nan ka sa a, getstring se pral retounen nil, jan nou te di. 921 00:40:37,810 --> 00:40:41,720 Men, Erezman, omwen nan sa a vizyèl isit la, nou pa t 'jwenn byen ki lwen. 922 00:40:41,720 --> 00:40:45,860 >> Koulye a, sa ki nan bèl se ke sa a lide jeneral nan trete bagay 923 00:40:45,860 --> 00:40:49,720 tankou se te nan bwat se reprezantan nan yon karakteristik nan C 924 00:40:49,720 --> 00:40:52,690 ak yon anpil nan lang, li te ye kòm yon etalaj. 925 00:40:52,690 --> 00:40:55,490 Yon etalaj se yon lòt kalite done. 926 00:40:55,490 --> 00:40:57,380 Li se yon estrikti done, si ou vle. 927 00:40:57,380 --> 00:41:01,160 Estrikti nan sans nan li vrèman, kalite, kap tankou yon bwat, omwen 928 00:41:01,160 --> 00:41:02,320 nan je lide ou a. 929 00:41:02,320 --> 00:41:09,680 Yon etalaj se yon vwazen sekans nan kalite done ki idantik, 930 00:41:09,680 --> 00:41:11,330 tounen nan tounen nan fè bak nan tounen. 931 00:41:11,330 --> 00:41:14,720 >> Se konsa, yon fisèl, nan lòt mo, se yon etalaj nan char. 932 00:41:14,720 --> 00:41:16,120 Yon etalaj de karaktè. 933 00:41:16,120 --> 00:41:19,070 Men, li vire soti ou ka gen ranje nan grap de bagay sa yo. 934 00:41:19,070 --> 00:41:21,870 An reyalite, nou ka mete menm nimewo nan yon etalaj. 935 00:41:21,870 --> 00:41:23,920 Se konsa, fòm lan nan ki nou ap ale nan kòmanse 936 00:41:23,920 --> 00:41:26,590 deklare done sa a estrikti li te ye kòm yon etalaj 937 00:41:26,590 --> 00:41:28,250 se tou ale nan itilize parantèz kare. 938 00:41:28,250 --> 00:41:31,500 Men, sa yo parantèz kare yo ale nan gen diferan siyifikasyon nan kontèks sa a. 939 00:41:31,500 --> 00:41:33,450 >> Li kite yo wè li jan sa a. 940 00:41:33,450 --> 00:41:36,780 Sipoze ke mwen louvri moute yon dosye nouvo isit la. 941 00:41:36,780 --> 00:41:38,535 Apre sa, mwen sove sa a kòm ages.c. 942 00:41:38,535 --> 00:41:41,280 943 00:41:41,280 --> 00:41:43,470 Apre sa, m'a sove sa a nan dosye mwen isit la. 944 00:41:43,470 --> 00:41:46,130 Epi, koulye a, mwen pral ale pi devan epi yo kòmanse sezisman yon bagay 945 00:41:46,130 --> 00:41:53,940 tankou gen ladan CS50.h, gen ladan yo stdio.h, Int anile prensipal. 946 00:41:53,940 --> 00:41:57,370 Lè sa a, andedan nan isit la, mwen vle premye gen yon int rele laj. 947 00:41:57,370 --> 00:42:01,371 >> Men, mwen pral yo sèvi ak ke yo ka resevwa yon Int soti nan itilizatè a pou laj li. 948 00:42:01,371 --> 00:42:04,620 Men, se pwogram sa a vle di ke yo dwe itilize pa moun miltip, pou kèlkeswa kontèks. 949 00:42:04,620 --> 00:42:05,490 Mwen te gen yon liy nan moun. 950 00:42:05,490 --> 00:42:08,281 Tout moun nan yo gen yo tape nan yo gen laj pou petèt kèk, mwen pa konnen, 951 00:42:08,281 --> 00:42:10,530 konpetisyon, oswa evènman yo ke yo te rive pou. 952 00:42:10,530 --> 00:42:13,030 Se konsa, moun kap vini an, mwen bezwen yon lòt varyab. 953 00:42:13,030 --> 00:42:15,790 >> Paske si mwen jis fè laj vin getInt, ki nan 954 00:42:15,790 --> 00:42:18,500 ale nan nip, oswa recouvrir laj moun nan anvan yo a. 955 00:42:18,500 --> 00:42:19,760 Se konsa, se pa bon. 956 00:42:19,760 --> 00:42:21,790 Se konsa, premye ensten mwen ta kapab, oh, tout dwa, 957 00:42:21,790 --> 00:42:26,260 si mwen vle w ka jwenn plizyè moun nan ages-- kite a rele age1 sa a, 958 00:42:26,260 --> 00:42:31,280 int age2 vin Int, Int age3 vin getInt. 959 00:42:31,280 --> 00:42:35,340 Epi, koulye a, mwen pral sèvi ak kèk kòd pseudocode isit la. 960 00:42:35,340 --> 00:42:37,679 >> Fè yon bagay ak moun ki nimewo. 961 00:42:37,679 --> 00:42:40,470 Nou pral kite pou yon lòt jou sa n ap fè a, paske nou sèlman 962 00:42:40,470 --> 00:42:44,200 swen pou moman sa a sou age1, age2, age3. 963 00:42:44,200 --> 00:42:46,450 Malerezman, yon fwa mwen konpile pwogram sa a 964 00:42:46,450 --> 00:42:51,140 li mete l 'nan devan nan itilizatè aktyèl la, sa ki nan desen an fondamantalman pòv 965 00:42:51,140 --> 00:42:53,890 nan desizyon mwen sanble yo te fè? 966 00:42:53,890 --> 00:42:54,624 Yeah? 967 00:42:54,624 --> 00:42:55,499 ODYANS: [fèbl] 968 00:42:55,499 --> 00:42:58,071 969 00:42:58,071 --> 00:42:59,820 DAVID J. Malan: Yeah, Mwen pa gen menm yo te eseye 970 00:42:59,820 --> 00:43:02,028 eseye figi konnen kouman anpil laj Mwen aktyèlman pran swen sou? 971 00:43:02,028 --> 00:43:05,380 Si mwen gen mwens pase twa moun isit la, ak Se poutèt sa mwens pase twa laj, 972 00:43:05,380 --> 00:43:07,260 Mwen toujou je fèmen tann twa. 973 00:43:07,260 --> 00:43:08,720 Bondye padon kat moun montre moute. 974 00:43:08,720 --> 00:43:10,990 Pwogram mwen jis pa pral menm sipòte yo. 975 00:43:10,990 --> 00:43:13,280 >> Se konsa, sa a, depi lontan istwa ti bout tan, se pa yon abitid bon. 976 00:43:13,280 --> 00:43:13,780 Dwa? 977 00:43:13,780 --> 00:43:16,530 Mwen te esansyèlman kopye ak rakle postal ak jis tweaking 978 00:43:16,530 --> 00:43:17,430 non yo varyab. 979 00:43:17,430 --> 00:43:22,410 Epi, Bondye mwen, si ou te gen, pa twa laj, men 10, oswa 100, oswa menm 6,500 980 00:43:22,410 --> 00:43:23,820 étidyan, pou egzanp. 981 00:43:23,820 --> 00:43:26,950 Sa a pa pral yo dwe patikilyèman Kòd elegant, oswa dirab. 982 00:43:26,950 --> 00:43:29,200 W ap ale nan gen yo reyekri pwogram la chak fwa 983 00:43:29,200 --> 00:43:30,760 nimewo ou nan moun chanjman. 984 00:43:30,760 --> 00:43:35,090 >> Se konsa, Erezman, nan aktyèl nou an ages.c dosye pou jodi a, 985 00:43:35,090 --> 00:43:36,970 nou gen yon solisyon plis entelijan. 986 00:43:36,970 --> 00:43:39,800 Premyèman, mwen pral prete a konstwi nou te itilize yon fwa kèk, 987 00:43:39,800 --> 00:43:43,744 sa a fè pandan y ap riban, yo nan lòd jwenn kantite moun ki nan sal la. 988 00:43:43,744 --> 00:43:46,910 Mwen jis ale enportune itilizatè a, ankò e ankò, jiskaske li ban m ' 989 00:43:46,910 --> 00:43:49,260 yon valè de n ki nan yon nonb antye relatif pozitif. 990 00:43:49,260 --> 00:43:51,590 >> Mwen te kapab itilize, dènye tan an jwenn pozitif Int. 991 00:43:51,590 --> 00:43:53,720 Men, nou pa gen sa pou reyèl, se konsa mwen te ale pi devan 992 00:43:53,720 --> 00:43:55,660 ak ap aplike ide sa a. 993 00:43:55,660 --> 00:43:58,410 Koulye a, desann isit la, sa a se nouvo jwe fent la. 994 00:43:58,410 --> 00:44:02,260 Nan liy 27, kòm kòmantè yo nan liy 26 sijere, 995 00:44:02,260 --> 00:44:05,180 deklare yon etalaj nan ki nan magazen laj tout moun lan. 996 00:44:05,180 --> 00:44:09,320 >> Se konsa, si ou vle jwenn, pa gen yon sèl Int, pa de antye, men yon pakèt antye nan antye. 997 00:44:09,320 --> 00:44:13,800 Espesyalman n nonm antye yo, yo te n ta ka gen twa, ta ka 100, ta kapab 1,000. 998 00:44:13,800 --> 00:44:17,570 Sentaks la, byen tou senpleman, se yo di, ki sa done kalite ou vle a? 999 00:44:17,570 --> 00:44:19,620 Ki sa ou vle yo rele ki ti moso nan memwa? 1000 00:44:19,620 --> 00:44:23,530 Ki sa ou vle yo rele kadriyaj la ki sanble tankou sa a pictorially? 1001 00:44:23,530 --> 00:44:27,700 >> Ak nan parantèz isit la, ou di ki jan gwo ou vle etalaj la yo dwe. 1002 00:44:27,700 --> 00:44:30,450 Se konsa, byen bonè, lè m 'te di a sentaks se yon ti kras diferan isit la, 1003 00:44:30,450 --> 00:44:33,614 nou toujou ap lè l sèvi avèk parantèz kare, men lè mwen deklare yon etalaj, 1004 00:44:33,614 --> 00:44:35,530 nimewo a andedan nan la parantèz kare vle di 1005 00:44:35,530 --> 00:44:37,610 ki jan gwo ou vle etalaj la yo dwe. 1006 00:44:37,610 --> 00:44:42,490 >> Nan kontras, lè nou te lè l sèvi avèk la bracket mwen yon ti moman de sa, s, yon fisèl, 1007 00:44:42,490 --> 00:44:46,820 se vre yon etalaj de char, men lè ou pa ap deklare yon varyab, 1008 00:44:46,820 --> 00:44:49,760 menm jan ak mo kle sa a isit la, w ap tou senpleman ap resevwa 1009 00:44:49,760 --> 00:44:54,280 yon endèks espesifik, yon espesifik eleman ki soti nan ki etalaj. 1010 00:44:54,280 --> 00:44:57,090 Yon fwa nou konnen ke, rès la nan sa a se senp. 1011 00:44:57,090 --> 00:45:00,765 Si nouvo mwen premye ale nan enprime soti sa ki nan laj la nan moun Nimewo mwen. 1012 00:45:00,765 --> 00:45:03,890 Ki kote mwen jis di nimewo moun yon sèl, Nimewo moun de, moun nimewo twa. 1013 00:45:03,890 --> 00:45:06,306 >> Apre sa, mwen jis ap fè aritmetik, se konsa ke gen moun ki tankou nòmal, 1014 00:45:06,306 --> 00:45:09,030 nou konte soti nan yon pou sa a pwogram, epi yo pa soti nan zewo. 1015 00:45:09,030 --> 00:45:13,620 Lè sa a, mwen rele getint, men mwen magazen repons lan nan laj bracket mwen. 1016 00:45:13,620 --> 00:45:16,610 Ki se laj la i'th nan etalaj la. 1017 00:45:16,610 --> 00:45:21,640 Se konsa, Lè nou konsidere ke, dènye fwa nou te trete bwat sa yo kòm char pou non Zamyla a, 1018 00:45:21,640 --> 00:45:22,490 ak lòt moun. 1019 00:45:22,490 --> 00:45:26,530 Koulye a, sa yo bwat reprezante 32 Bits, oswa kat bytes 1020 00:45:26,530 --> 00:45:29,510 nan ki nou ka magazen yon int, yon int, yon Int. 1021 00:45:29,510 --> 00:45:31,890 Tout nan yo ki, ankò, se kalite nan done menm. 1022 00:45:31,890 --> 00:45:33,890 >> Koulye a, mwen fè yon bagay komik, tankou tan pase, jis 1023 00:45:33,890 --> 00:45:35,510 yo jistifye ekri pwogram sa a. 1024 00:45:35,510 --> 00:45:40,050 Lè sa a, desann isit la, mwen ankò repekte sou etalaj la di yon ane nan kounye a, 1025 00:45:40,050 --> 00:45:43,090 nimewo yon sèl volonte moun gen yon bagay ane fin vye granmoun. 1026 00:45:43,090 --> 00:45:45,010 Epi eseye figi konnen ki math-- Mwen vle di, sa a 1027 00:45:45,010 --> 00:45:49,260 se pa sa trè konplike aritmetik Mwen jis ajoute youn nan laj yo. 1028 00:45:49,260 --> 00:45:51,240 Jis yo demontre, ankò, sa a. 1029 00:45:51,240 --> 00:45:57,910 >> Menm jan mwen kapab endèks nan yon fisèl, a, se konsa kapab mwen endèks nan yon etalaj de laj, 1030 00:45:57,910 --> 00:45:59,950 tankou sa a. 1031 00:45:59,950 --> 00:46:03,340 Se konsa, ki kote sa a ale nan dwe pran nou? 1032 00:46:03,340 --> 00:46:07,070 Se konsa, nou pral wè, finalman, yon bagay kèk nan jou sa yo rive. 1033 00:46:07,070 --> 00:46:09,510 Youn, tout tan tout tan sa a, lè ekri pwogram pwòp ou a, 1034 00:46:09,510 --> 00:46:11,239 tankou Mario, visye, kredi. 1035 00:46:11,239 --> 00:46:13,780 Ou ve yo te tape non an nan pwogram lan ak frape antre. 1036 00:46:13,780 --> 00:46:15,610 Lè sa a, ap resevwa opinyon itilizatè a la. 1037 00:46:15,610 --> 00:46:18,137 >> Avèk GetString, GetInt, GetLongLong, oswa renmen an. 1038 00:46:18,137 --> 00:46:20,720 Men, li vire soti ke C sipò yon bagay yo rele liy lòd 1039 00:46:20,720 --> 00:46:25,740 agiman, ki se ale nan se pou nou aktyèlman jwenn nan mo ki ou tape, 1040 00:46:25,740 --> 00:46:28,570 nan èd memwa a kliyote, apre non pwogram ou an. 1041 00:46:28,570 --> 00:46:31,430 >> Se konsa, nan jou k'ap vini yo, ou ta ka tape yon bagay tankou Seza, 1042 00:46:31,430 --> 00:46:34,950 oswa ./caesar Nimewo 13, apre sa. 1043 00:46:34,950 --> 00:46:36,070 Nou pral wè ki jan ki travay. 1044 00:46:36,070 --> 00:46:37,550 Paske tout bon, nan pwoblèm mete de, nou ap 1045 00:46:37,550 --> 00:46:39,383 ale nan entwodui ou nan yon ti kras yon bagay 1046 00:46:39,383 --> 00:46:42,360 okoumansman de Ralphie a defi pi bonè nan kartografye. 1047 00:46:42,360 --> 00:46:43,970 Atizay la nan eskalade enfòmasyon. 1048 00:46:43,970 --> 00:46:46,660 Sa a, an reyalite, se yon bagay ki okoumansman de sa ki Ralphie te fè sa. 1049 00:46:46,660 --> 00:46:51,380 >> Sa a se yon egzanp yon chifreman algorithm rele ROT13, R-O-T 13. 1050 00:46:51,380 --> 00:46:54,910 Ki tou senpleman vle di Thorne an lèt nan alfabè a 13 kote. 1051 00:46:54,910 --> 00:46:58,309 Men, si ou fè sa, ou pral wè kounye a ki sa ki, petèt, yon fraz yo konnen yo. 1052 00:46:58,309 --> 00:47:01,100 Men, wout la nou ap ale nan sèvi ak sa a, finalman, se pi plis jeneralman. 1053 00:47:01,100 --> 00:47:04,390 >> Nan P mete de, nan edisyon a estanda, ou pral aplike yon koup la Algorithms, 1054 00:47:04,390 --> 00:47:06,720 yon sèl rele Seza, yon sèl rele Vigenere. 1055 00:47:06,720 --> 00:47:10,090 Tou de nan yo se wotasyon Algorithms, nan ki yon jan kanmenm ou 1056 00:47:10,090 --> 00:47:11,826 vire yon lèt nan yon lèt diferan. 1057 00:47:11,826 --> 00:47:12,950 Ak Seza tande kòz se super senp. 1058 00:47:12,950 --> 00:47:16,220 Ou ajoute yon sèl, ou ajoute 13, oswa kèk nimewo jiska 26. 1059 00:47:16,220 --> 00:47:19,570 Vigenere fè sa sou yon pou chak lèt ​​baz. 1060 00:47:19,570 --> 00:47:22,140 Se konsa, Vigenere, menm jan ou pral wè nan espèk a, se plis sekirite. 1061 00:47:22,140 --> 00:47:24,973 >> Men, nan fen jounen an ki sa ou pral mete ann aplikasyon ak P mete de, 1062 00:47:24,973 --> 00:47:29,050 se ke kle ke ou itilize tou de pou chifreman ak dekripte. 1063 00:47:29,050 --> 00:47:32,160 An referans a pwosesis la nan vire tèks plenn, gen kèk mesaj orijinal, 1064 00:47:32,160 --> 00:47:34,490 nan tèks cypher, ki se yon bagay chiffres. 1065 00:47:34,490 --> 00:47:36,220 Lè sa a, dechifre l 'ankò. 1066 00:47:36,220 --> 00:47:38,119 >> Nan edisyon an aker, pandan se tan, ou pral 1067 00:47:38,119 --> 00:47:40,660 charger ak yon bagay ki sanble nan Lespri Bondye, kote nou pral ba w 1068 00:47:40,660 --> 00:47:44,610 yon dosye, ki sòti nan yon Linux tipik, oswa Mac, oswa UNIX òdinatè rele etsy 1069 00:47:44,610 --> 00:47:47,800 modpas, ki gen yon antye pakèt moun sou usernames ak modpas. 1070 00:47:47,800 --> 00:47:50,932 Ak moun ki modpas gen tout te chiffres, oswa ache, 1071 00:47:50,932 --> 00:47:53,140 se konsa pale, plis byen jan ou pral wè nan espèk a. 1072 00:47:53,140 --> 00:47:57,090 >> Ak edisyon an aker pral defi ou ak pran yon D 'tankou sa a, 1073 00:47:57,090 --> 00:47:58,800 ak fisurasyon modpas la. 1074 00:47:58,800 --> 00:48:02,590 Sa se, lè n ap kalkile konnen ki sa ki nan modpas imen a aktyèlman te ye a. 1075 00:48:02,590 --> 00:48:05,570 Paske, tout bon, modpas yo jeneralman yo pa estoke nan klè a, 1076 00:48:05,570 --> 00:48:08,260 epi jeneralman modpas yo ta dwe difisil yo devine. 1077 00:48:08,260 --> 00:48:09,610 Sa a pa souvan ka a. 1078 00:48:09,610 --> 00:48:12,110 >> Epi ki sa mwen te panse nou ta fè se fini avèk yon minit koup 1079 00:48:12,110 --> 00:48:15,160 ti koutje sou nan yon patikilyèman pòv chwa nan modpas 1080 00:48:15,160 --> 00:48:17,260 ki sòti nan yon fim ou ta ka sonje tandrès. 1081 00:48:17,260 --> 00:48:18,915 Men, si pa, ou ta dwe lwe. 1082 00:48:18,915 --> 00:48:20,070 >> [Lèktur VIDEO] 1083 00:48:20,070 --> 00:48:22,320 >> -Kask, Ou enrage, sa k ap pase sou? 1084 00:48:22,320 --> 00:48:24,240 Ki sa yo ou ap fè bay pitit fi mwen an? 1085 00:48:24,240 --> 00:48:28,010 >> -Kite M prezante nan briyan jenn chirijyen plastik, 1086 00:48:28,010 --> 00:48:30,010 Doktè Phillip Schlotkin. 1087 00:48:30,010 --> 00:48:35,020 Nonm lan pi gran nen travay nan nan tout antye Linivè ak Beverly Hills. 1088 00:48:35,020 --> 00:48:36,140 >> -Ou Samajeste. 1089 00:48:36,140 --> 00:48:36,820 >> -Nen Travay? 1090 00:48:36,820 --> 00:48:37,700 Mwen pa konprann. 1091 00:48:37,700 --> 00:48:39,070 Li nan te deja gen yon travay nen yo. 1092 00:48:39,070 --> 00:48:40,800 Li te l 'dous 16 prezan. 1093 00:48:40,800 --> 00:48:42,590 >> -Pa Gen, li pa sa ou panse. 1094 00:48:42,590 --> 00:48:44,490 Li nan anpil, anpil vin pi mal. 1095 00:48:44,490 --> 00:48:48,160 Si ou pa ban m 'lan konbinezon plak pwotèj li a lè, 1096 00:48:48,160 --> 00:48:52,748 doktè Schlotkin ap ba ou pitit fi tounen nen fin vye granmoun li. 1097 00:48:52,748 --> 00:48:53,748 - [Glous] Nooooooooooooo. 1098 00:48:53,748 --> 00:48:57,684 1099 00:48:57,684 --> 00:48:59,652 Ki kote ou te jwenn sa? 1100 00:48:59,652 --> 00:49:00,640 >> -Tout Dwat. 1101 00:49:00,640 --> 00:49:02,506 Mwen pral di, mwen pral di. 1102 00:49:02,506 --> 00:49:03,498 >> -Pa Gen, Daddy, pa gen okenn. 1103 00:49:03,498 --> 00:49:04,490 Ou pa dwe. 1104 00:49:04,490 --> 00:49:06,090 >> -You're Dwat mwen renmen anpil. 1105 00:49:06,090 --> 00:49:07,390 Mwen pral manke nen nouvo ou. 1106 00:49:07,390 --> 00:49:10,990 Men, mwen pa pral di yo nan konbinezon pa gen pwoblèm sa. 1107 00:49:10,990 --> 00:49:12,450 >> -Trè Byen. 1108 00:49:12,450 --> 00:49:14,830 Doktè Schlotkin, fè pi mal ou. 1109 00:49:14,830 --> 00:49:15,744 >> -Mwen Plezi. 1110 00:49:15,744 --> 00:49:19,860 1111 00:49:19,860 --> 00:49:20,800 >> -Pa Gen! 1112 00:49:20,800 --> 00:49:22,780 Rete tann, rete tann. 1113 00:49:22,780 --> 00:49:24,000 Mwen pral di. 1114 00:49:24,000 --> 00:49:25,830 Mwen pral di. 1115 00:49:25,830 --> 00:49:28,270 >> -Mwen Te konnen li ta ka travay. 1116 00:49:28,270 --> 00:49:31,390 Tout dwa, bay li nan m '. 1117 00:49:31,390 --> 00:49:36,220 >> -Konbinezon A se youn. 1118 00:49:36,220 --> 00:49:36,740 >> -Yon. 1119 00:49:36,740 --> 00:49:37,473 >> -Yon. 1120 00:49:37,473 --> 00:49:37,972 -De. 1121 00:49:37,972 --> 00:49:38,471 -De. 1122 00:49:38,471 --> 00:49:39,800 -De. 1123 00:49:39,800 --> 00:49:40,300 -Twa. 1124 00:49:40,300 --> 00:49:40,800 -Twa. 1125 00:49:40,800 --> 00:49:41,800 -Twa. 1126 00:49:41,800 --> 00:49:42,300 -Kat. 1127 00:49:42,300 --> 00:49:42,800 -Kat. 1128 00:49:42,800 --> 00:49:44,707 -Kat. 1129 00:49:44,707 --> 00:49:45,521 -Senk. 1130 00:49:45,521 --> 00:49:46,430 -Senk. 1131 00:49:46,430 --> 00:49:47,930 -Senk. 1132 00:49:47,930 --> 00:49:53,480 -Se Konsa, konbinezon a se youn, de, twa, kat, senk. 1133 00:49:53,480 --> 00:49:56,140 Sa a konbinezon an estipid Mwen janm tande nan lavi mwen. 1134 00:49:56,140 --> 00:49:58,640 Sa a ki kalite bagay yon moun sòt ta gen sou bagaj l 'yo. 1135 00:49:58,640 --> 00:50:00,000 >> -Mèsi, Samajeste ou. 1136 00:50:00,000 --> 00:50:01,340 >> [CLICKS REMOTE] 1137 00:50:01,340 --> 00:50:02,450 >> -Ki Ou te fè? 1138 00:50:02,450 --> 00:50:03,800 >> -Mwen Etenn miray la. 1139 00:50:03,800 --> 00:50:05,010 >> -Pa Gen, ou pa t ', ou etenn fim nan antye. 1140 00:50:05,010 --> 00:50:06,220 >> -Mwen Must've bourade bouton an mal. 1141 00:50:06,220 --> 00:50:07,064 >> -Bon, Mete l 'tounen sou! 1142 00:50:07,064 --> 00:50:07,910 Mete fim nan tounen sou! 1143 00:50:07,910 --> 00:50:08,300 >> -Wi, Mesye! 1144 00:50:08,300 --> 00:50:08,799 Wi, Seyè a. 1145 00:50:08,799 --> 00:50:09,660 -Ann Al, Arnold. 1146 00:50:09,660 --> 00:50:10,450 Vini non, Gretchen. 1147 00:50:10,450 --> 00:50:12,533 Natirèlman ou konnen mwen pral gen yo voye bòdwo ba ou pou sa. 1148 00:50:12,533 --> 00:50:16,720 1149 00:50:16,720 --> 00:50:17,220 -Bon? 1150 00:50:17,220 --> 00:50:17,802 Èske li travay? 1151 00:50:17,802 --> 00:50:18,510 Ki kote nan wa a konsa? 1152 00:50:18,510 --> 00:50:20,218 >> -Li Te travay, mesye, nou gen konbinezon an. 1153 00:50:20,218 --> 00:50:20,740 -Great. 1154 00:50:20,740 --> 00:50:24,810 Koulye a, nou ka pran chak dènye souf nan lè fre soti nan planèt Druidia. 1155 00:50:24,810 --> 00:50:25,890 Ki sa ki nan konbinezon an? 1156 00:50:25,890 --> 00:50:28,155 >> -Yon, De, twa, kat, senk. 1157 00:50:28,155 --> 00:50:29,890 >> -Yon, De, twa, kat, senk? 1158 00:50:29,890 --> 00:50:30,390 -Wi. 1159 00:50:30,390 --> 00:50:31,110 -Sa A dwòl. 1160 00:50:31,110 --> 00:50:34,550 Mwen te gen menm bagay la tou konbinezon sou bagaj mwen. 1161 00:50:34,550 --> 00:50:37,160 Prepare Spaceball 1 pou imedya depa. 1162 00:50:37,160 --> 00:50:38,160 >> -Wi, Mesye. 1163 00:50:38,160 --> 00:50:40,745 >> -yo Ak chanje a konbinezon sou bagaj mwen. 1164 00:50:40,745 --> 00:50:41,578 [DOOR FÈMEN SOUND] 1165 00:50:41,578 --> 00:50:42,064 [Crashes OF DOORS frape HELMET] 1166 00:50:42,064 --> 00:50:42,550 -Ahh. 1167 00:50:42,550 --> 00:50:43,383 [Lèktur videyo END] 1168 00:50:43,383 --> 00:50:46,700 DAVID J. Malan: Sa a li pou CS50, nou pral wè ou an semèn pwochèn. 1169 00:50:46,700 --> 00:50:49,883 Konteur: Epi, koulye a, Deep Panse, pa Daven Farnham. 1170 00:50:49,883 --> 00:50:53,160 1171 00:50:53,160 --> 00:50:55,860 >> DAVEN FARNHAM: Coding nan C se se konsa anpil pi rèd pase grafonyen moun. 1172 00:50:55,860 --> 00:50:57,320 printf, grafouyen te yon manti. 1173 00:50:57,320 --> 00:50:59,930 1174 00:50:59,930 --> 00:51:01,430 >> [Ri soundbite] 1175 00:51:01,430 --> 00:51:02,486