1 00:00:00,000 --> 00:00:06,180 2 00:00:06,180 --> 00:00:07,820 >> JASON HIRSCHHORN: Byenveni A5, tout moun. 3 00:00:07,820 --> 00:00:11,270 Nou gen yon semèn enteresan devan nou, sitou paske gen anpil nouvo 4 00:00:11,270 --> 00:00:12,350 ap fè fas nan sal sa a. 5 00:00:12,350 --> 00:00:12,920 Li nan bèl bagay. 6 00:00:12,920 --> 00:00:15,740 Yon anpil nan ou isit la pa aksidan, ki se menm pi bon. 7 00:00:15,740 --> 00:00:18,220 Se konsa, èspere ke ou pral kenbe rantre nan nou. 8 00:00:18,220 --> 00:00:20,220 >> Semèn sa a nou pral pase èstime nan seksyon 9 00:00:20,220 --> 00:00:21,870 prepare pou egzamen an. 10 00:00:21,870 --> 00:00:26,580 Se konsa, pou chak ajanda nou yo, nou ap ale nan pale yon ti jan sou resous pou klas la, 11 00:00:26,580 --> 00:00:30,350 men tou pou egzamen an, epi lè sa a, ankò, pase èstime nan pale klas 12 00:00:30,350 --> 00:00:31,390 sou kesyon yo. 13 00:00:31,390 --> 00:00:33,900 Yon fwa nou ap fè reponn ou kesyon, oswa si kesyon ou 14 00:00:33,900 --> 00:00:39,010 natirèlman mennen nou nan kèk kodaj, mwen gen pwoblèm echantiyon soti nan midterms 15 00:00:39,010 --> 00:00:43,180 sot pase yo ke nou pral kòd ap viv nan seksyon ansanm ki tou pote moute kèk lòt 16 00:00:43,180 --> 00:00:45,420 bon sijè yo kouvri. 17 00:00:45,420 --> 00:00:48,280 >> Se konsa, anvan, dapre jan nou te ale nan pou la koup sot pase a nan semèn fè ou sonje 18 00:00:48,280 --> 00:00:51,700 nèg, gen yon tòn resous ki disponib pou kou sa a. 19 00:00:51,700 --> 00:00:55,020 Anpil nan yo yo pral ekstrèmman itil ak ou tankou ou kontinye 20 00:00:55,020 --> 00:00:57,280 etidye pou egzamen 0, paske li nan Madi aprè midi. 21 00:00:57,280 --> 00:00:59,630 Se konsa, nou tout yo te etidye pou yon ti jan. 22 00:00:59,630 --> 00:01:02,640 >> Gen nòt konferans ak sous kòd ki ou ta dwe 23 00:01:02,640 --> 00:01:04,050 definitivman tcheke deyò. 24 00:01:04,050 --> 00:01:05,019 Gade bout pantalon yo. 25 00:01:05,019 --> 00:01:07,470 Tcheke study.cs50.net. 26 00:01:07,470 --> 00:01:11,770 Lè sa a,, ki nan lis anba a, yon kantite nan lòt resous. 27 00:01:11,770 --> 00:01:14,020 >> Yon fwa ankò, egzamen 0 se demen nan 1 è. 28 00:01:14,020 --> 00:01:18,230 Si ou pa te fè sa deja, tcheke soti egzamen 0 dokiman an About sou la 29 00:01:18,230 --> 00:01:21,370 Homepage kou a figi konnen ki kote ou ap pran egzamen an. 30 00:01:21,370 --> 00:01:25,770 Egzamen an kòmanse nan 1:10 ak fini 70 minit pita. 31 00:01:25,770 --> 00:01:29,610 Se konsa, si ou montre moute apre 1:10, w ap pral jwenn ke anpil mwens minit 32 00:01:29,610 --> 00:01:30,940 pase 70 yo pran egzamen an. 33 00:01:30,940 --> 00:01:33,570 Se konsa, asire w ke ou ap gen sou tan. 34 00:01:33,570 --> 00:01:38,690 Si w ap yon elèv ekstansyon oswa ki gen kèk lòt konsiderasyon tès, li 35 00:01:38,690 --> 00:01:40,400 pa ka nan 1 è demen. 36 00:01:40,400 --> 00:01:43,540 Men, ankò, tcheke sou kwiz a 0 dokimante asire w ke ou konnen ki lè 37 00:01:43,540 --> 00:01:44,760 ou ap pran egzamen an. 38 00:01:44,760 --> 00:01:46,440 Mwen te ekri 75 minit moute isit la. 39 00:01:46,440 --> 00:01:48,580 Mwen panse ke ki bon, pa 70. 40 00:01:48,580 --> 00:01:53,420 >> Li kouvri tout materyèl la soti nan yon semèn 0 konferans semèn pase a nan Mèkredi. 41 00:01:53,420 --> 00:01:59,350 Li di ankò, pou egzamen sa a, pou chak ki dokiman, ou jwenn yon sèl de-sided ak 8yèm ane 42 00:01:59,350 --> 00:02:03,770 1/2 pa 11 fèy papye ke ou jwenn yo itilize kòm nòt pandan egzamen an. 43 00:02:03,770 --> 00:02:08,570 Anpil moun, si se pa pi fò moun yo, yo gen te jwenn ke yon sèl fason ki pi itil 44 00:02:08,570 --> 00:02:11,970 yo etidye pou egzamen an se fè yon fèy etid, yon 45 00:02:11,970 --> 00:02:13,730 yon sèl-egzamine, nan pwòp yo. 46 00:02:13,730 --> 00:02:17,710 Se konsa, gade nan moun sot pase yo si ou te wè moun sot pase yo. 47 00:02:17,710 --> 00:02:19,960 Rive jwenn soti nan zanmi yo wè sa ki yo ap mete sou sa yo fè. 48 00:02:19,960 --> 00:02:23,610 >> Men, men-desann, pi bon fason sa ou kapab etid se yo ale nan tout bagay, 49 00:02:23,610 --> 00:02:26,530 redwir li desann nan sa ki ta dwe oswa yo ta dwe pa fè pati sou sa fèy papye an 50 00:02:26,530 --> 00:02:30,570 papye, paske sa se sèlman yon reyèlman bon fason pou ou pou w asire w ke 51 00:02:30,570 --> 00:02:33,620 w ap ale atravè tout tout bagay ak gen kèk abitye avèk li. 52 00:02:33,620 --> 00:02:36,690 Pifò moun ki, nou jwenn, menm si yo te fèy nan papye chita dwat 53 00:02:36,690 --> 00:02:39,840 bò kote yo a sou egzamen an, pa vire l ', paske, ankò, sa trè 54 00:02:39,840 --> 00:02:43,290 pwosesis pou ale atravè tout enfòmasyon ki ki te ede yo aprann li. 55 00:02:43,290 --> 00:02:45,370 >> okenn moun gen nenpòt kesyon sou egzamen 0? 56 00:02:45,370 --> 00:02:50,120 57 00:02:50,120 --> 00:02:51,450 Gen tout moun - 58 00:02:51,450 --> 00:02:53,230 Mwen pa pral fè yon montre nan men yo. 59 00:02:53,230 --> 00:02:53,550 Pa janm tèt ou. 60 00:02:53,550 --> 00:02:54,790 Mwen te ale nan mande ki moun ki te kòmanse etidye. 61 00:02:54,790 --> 00:02:58,360 Men, mwen pa vle fè ou tout pa leve men ou. 62 00:02:58,360 --> 00:03:01,290 Se konsa, tankou m 'te di - wi, Avi, ale pi devan. 63 00:03:01,290 --> 00:03:04,205 >> AVI: Ki sa ki ta dwe yon bagay ki itil mete yo sou yon sèl-pager a? 64 00:03:04,205 --> 00:03:05,875 >> ELÈV: Sa se moute nan ou. 65 00:03:05,875 --> 00:03:08,210 >> JASON HIRSCHHORN: Ou jwenn yo sèvi ak jijman ou yo. 66 00:03:08,210 --> 00:03:13,220 Bagay sa yo itil mete yo sou yon sèl-pager a, si w ap konfonn sou O nan gwo 67 00:03:13,220 --> 00:03:17,510 ègzekutabl nan diferan kalite rechèch ak kalite, mete sa sou gen nan yon 68 00:03:17,510 --> 00:03:18,760 sou la men élégan tablo. 69 00:03:18,760 --> 00:03:22,250 Nan fason sa a, si w ap mande sa a sou la egzamen, ou pa bezwen eseye ak figi 70 00:03:22,250 --> 00:03:23,560 li soti oswa rezon ki fè nan ègzekutabl la. 71 00:03:23,560 --> 00:03:24,730 Ou ka jis kopi li desann. 72 00:03:24,730 --> 00:03:28,320 Si ou gade nan ti tès sot pase yo, yon anpil nan fwa, gen nan kouri kesyon tan. 73 00:03:28,320 --> 00:03:34,150 Se konsa, ki ta ka yon egzanp nan yon bon bagay yo mete yo sou ou yon sèl-pager. 74 00:03:34,150 --> 00:03:37,450 >> Lòt bon bagay yo mete sou li a, si w ap konfonn sou jan yo ka deklare yon 75 00:03:37,450 --> 00:03:40,570 fonksyon oswa sa ki diferan pati yo nan deklarasyon an fonksyon yo, ekri 76 00:03:40,570 --> 00:03:43,400 ki sou la, yon vèsyon jenerik ak Lè sa a, petèt yon egzanp. 77 00:03:43,400 --> 00:03:47,290 Si w ap konfonn sou pwent, yon dyagram ki montre kouman endikasyon travay se 78 00:03:47,290 --> 00:03:48,660 pwobableman reyèlman itil. 79 00:03:48,660 --> 00:03:52,440 Si w ap konfonn sou rkursyon, yon echantiyon fonksyon repetitif sou gen 80 00:03:52,440 --> 00:03:54,980 ta ka tou pwouve ke yo dwe reyèlman itil. 81 00:03:54,980 --> 00:03:57,290 ki ba w kèk ide? 82 00:03:57,290 --> 00:04:01,820 >> AVI: Ou bezwen konprann la tout pwosesis élaboration, tankou 83 00:04:01,820 --> 00:04:03,220 ki jan tout travay? 84 00:04:03,220 --> 00:04:06,620 >> JASON HIRSCHHORN: Tout ki te kouvri t 'kapab 85 00:04:06,620 --> 00:04:08,060 montre moute sou egzamen an. 86 00:04:08,060 --> 00:04:08,930 Kesyon - 87 00:04:08,930 --> 00:04:11,300 men ankò, kèk bagay yo pral filaplon lou pase lòt moun. 88 00:04:11,300 --> 00:04:14,330 Men kèk bagay te vini ankò epi ankò nan klas, nan 89 00:04:14,330 --> 00:04:15,590 konferans, ak seksyon. 90 00:04:15,590 --> 00:04:17,220 Lòt bagay pa gen vini ki souvan. 91 00:04:17,220 --> 00:04:22,900 >> Nou te pale anpil sou # genyen ladan yo ak -L yon bagay ak sa moun ki vle di nan 92 00:04:22,900 --> 00:04:24,390 pwosesis la konpilasyon. 93 00:04:24,390 --> 00:04:29,120 Nou te pale anpil sou gdb, rete kole, sa yo drapo diferan ke nou itilize lè 94 00:04:29,120 --> 00:04:33,100 nou konpile yon bagay, e ki sa make15, pou egzanp, vrèman 95 00:04:33,100 --> 00:04:34,510 vle di ak reyèlman fè. 96 00:04:34,510 --> 00:04:38,110 Nou pa t 'pale kòm anpil sou chak etap yon sèl nan 97 00:04:38,110 --> 00:04:39,240 pwosesis la konpilasyon. 98 00:04:39,240 --> 00:04:40,410 Nou te toujou te pale osijè de li. 99 00:04:40,410 --> 00:04:42,550 Se konsa, li la toujou yon bagay ke ou yo ta dwe abitye avèk yo. 100 00:04:42,550 --> 00:04:44,610 Men, ankò, nou pa ap ale nan dwe - 101 00:04:44,610 --> 00:04:49,140 bagay ki vini pi souvan nan klas yo gen plis chans vini plis 102 00:04:49,140 --> 00:04:52,495 souvan yo epi yo dwe plis lou filaplon sou egzamen an. 103 00:04:52,495 --> 00:04:53,280 >> Fre. 104 00:04:53,280 --> 00:04:54,580 Nenpòt lòt kesyon sou egzamen 0? 105 00:04:54,580 --> 00:04:57,660 106 00:04:57,660 --> 00:05:00,050 >> OK, se konsa mwen mete yon lis sijè sou tablo a. 107 00:05:00,050 --> 00:05:01,550 Mwen te ale nan progranm la. 108 00:05:01,550 --> 00:05:07,340 Mwen te ale nan seksyon an revizyon soti nan yè swa, ak moun ki glisad l 'moute 109 00:05:07,340 --> 00:05:13,710 ak yon lis ki pa konplè nan sijè ke nou te kouvri byen lwen tèlman nan CS50 110 00:05:13,710 --> 00:05:16,800 ak bagay ki kapab parèt sou egzamen an. 111 00:05:16,800 --> 00:05:19,900 Se konsa, mwen pa pral yo ale nan chak yon sèl nan sa yo. 112 00:05:19,900 --> 00:05:22,370 Sa ta pran pi plis tan pase nou genyen kounye a. 113 00:05:22,370 --> 00:05:26,880 Men, mwen mete sa a moute isit la yo èspere ke jog memwa ou tankou bagay ki ka 114 00:05:26,880 --> 00:05:28,420 oswa pa pouvwa ap tankou abitye avèk ou. 115 00:05:28,420 --> 00:05:32,850 >> Apre sa, mwen ta renmen pase èstime nan seksyon reponn kesyon ou sou 116 00:05:32,850 --> 00:05:35,130 sijè sa yo, sijè ki pa kouvri isit la. 117 00:05:35,130 --> 00:05:36,130 Nou ka ekri kòd pseudo. 118 00:05:36,130 --> 00:05:40,010 Nou ka ekri reyèl Kòd asire ke ou - 119 00:05:40,010 --> 00:05:44,280 Mwen ka reponn kesyon ou yo epi ede tout moun fondamantalman konprann yon 120 00:05:44,280 --> 00:05:48,330 anpil nan sijè sa yo se konsa ou pral santi prepare ak konfòtab pral antre nan 121 00:05:48,330 --> 00:05:50,150 egzamen an demen. 122 00:05:50,150 --> 00:05:52,300 Se konsa, li sou lis la. 123 00:05:52,300 --> 00:05:54,780 Ou èspere ke te vini nan seksyon ak kèk kesyon tou. 124 00:05:54,780 --> 00:05:58,480 Lè w ap pare, leve men ou epi n ap jwenn te kòmanse. 125 00:05:58,480 --> 00:06:01,590 126 00:06:01,590 --> 00:06:05,200 >> Kenbe nan tèt ou, kesyon yo ou genyen, pa gen okenn kesyon estipid. 127 00:06:05,200 --> 00:06:06,250 Nou te konn tande ke yon anpil. 128 00:06:06,250 --> 00:06:09,490 Apre sa, kesyon ou genyen, mwen vle yo parye, anpil lòt moun tou de 129 00:06:09,490 --> 00:06:11,740 chita isit la epi l ap gade sou entènèt gen kòm byen. 130 00:06:11,740 --> 00:06:13,770 Se konsa, ou ka sèlman ede moun pa poze kesyon. 131 00:06:13,770 --> 00:06:15,070 Marcus. 132 00:06:15,070 --> 00:06:18,040 >> MARCUS: Ant chemine a ak nan pil wòch, se gen yon pre-resevwa lajan 133 00:06:18,040 --> 00:06:22,880 pousantaj nan memwa ki nan defini kòm sa a se pou chemine a oswa pou pil wòch la? 134 00:06:22,880 --> 00:06:25,010 Oubyen kòman pou fè sa travay, egzakteman? 135 00:06:25,010 --> 00:06:26,230 >> JASON HIRSCHHORN: Gwo kesyon. 136 00:06:26,230 --> 00:06:28,640 Mwen pral tounen tras yon ti kras. 137 00:06:28,640 --> 00:06:30,910 Èske tout moun - 138 00:06:30,910 --> 00:06:31,660 tanpri dwe onèt isit la. 139 00:06:31,660 --> 00:06:34,130 Mwen konnen mwen mande ou ogmante ou men la devan kamarad klas ou yo. 140 00:06:34,130 --> 00:06:38,510 Men, ki gen moun ki santi alèz ak chemine a ak pil 141 00:06:38,510 --> 00:06:42,980 e yo ta renmen ale sou ki ak sa moun ki vle di? 142 00:06:42,980 --> 00:06:43,880 Leve men ou si - 143 00:06:43,880 --> 00:06:44,420 OK. 144 00:06:44,420 --> 00:06:45,120 Mèsi poutèt ou. 145 00:06:45,120 --> 00:06:48,420 Se konsa, nou ap ale nan ale sou chemine a ak pil wòch la vrèman byen vit ak Lè sa a, 146 00:06:48,420 --> 00:06:50,370 deplase ale nan reponn kesyon ou yo. 147 00:06:50,370 --> 00:06:58,250 >> Se konsa, si nou trase soti yon bwat ki reprezante memwa sou òdinatè ou, ki sa ki yo se kèk 148 00:06:58,250 --> 00:07:02,160 bagay sa yo ki ale nan bwat sa a? 149 00:07:02,160 --> 00:07:03,630 Prensipal la. 150 00:07:03,630 --> 00:07:04,020 Yon fonksyon prensipal la. 151 00:07:04,020 --> 00:07:05,890 Ki kote prensipal 'al jwenn? 152 00:07:05,890 --> 00:07:08,090 >> ELÈV: [fèbl]. 153 00:07:08,090 --> 00:07:09,390 >> JASON HIRSCHHORN: Se konsa, nou pral mete prensipal desann isit la. 154 00:07:09,390 --> 00:07:12,180 155 00:07:12,180 --> 00:07:13,430 Ki lòt bagay ale nan bwat sa a? 156 00:07:13,430 --> 00:07:16,000 157 00:07:16,000 --> 00:07:18,140 >> ELÈV: fonksyon yo ke ou rele. 158 00:07:18,140 --> 00:07:19,020 >> JASON HIRSCHHORN: fonksyon yo ke nou rele. 159 00:07:19,020 --> 00:07:20,440 Apre sa, kote yo ale? 160 00:07:20,440 --> 00:07:21,300 >> ELÈV: Nan chemine a. 161 00:07:21,300 --> 00:07:22,380 >> JASON HIRSCHHORN: Yo ale nan chemine a. 162 00:07:22,380 --> 00:07:27,350 Se konsa, nou ap ale nan rele sa bagay desann isit la chemine a. 163 00:07:27,350 --> 00:07:31,880 Apre sa, moute tèt, nou gen pil wòch la. 164 00:07:31,880 --> 00:07:35,450 Se konsa, memwa se pa yon bwat jis tankou sa a. 165 00:07:35,450 --> 00:07:37,330 Men, li se aktyèlman trè menm jan an. 166 00:07:37,330 --> 00:07:40,840 Li pral fè yon anpil nan bwat sou yo ak sou, depann sou ki jan gwo ou 167 00:07:40,840 --> 00:07:43,730 òdinatè se oswa ki jan gwo memwa ou a. 168 00:07:43,730 --> 00:07:46,950 >> Nan quote-unquote "anba a" se chemine a. 169 00:07:46,950 --> 00:07:50,880 Apre sa, gen plizyè bagay ki ale sou chemine a. 170 00:07:50,880 --> 00:07:53,840 Ak moun ki depann sou fonksyon yo ou gen nan Kòd ou. 171 00:07:53,840 --> 00:07:57,780 Ou toujou gen yon fonksyon nan ou Kòd rele prensipal, se konsa gen nan toujou yon 172 00:07:57,780 --> 00:08:00,480 seksyon desann isit la nan la chemine konsakre nan prensipal la. 173 00:08:00,480 --> 00:08:03,980 >> Seksyon sa yo nan chemine a yo rele yo ankadreman chemine. 174 00:08:03,980 --> 00:08:09,580 Lè ou rele yon lòt fonksyon, di prensipal rele yon fonksyon rechèch binè, 175 00:08:09,580 --> 00:08:11,075 nou mete yon lòt ankadreman sou chemine a. 176 00:08:11,075 --> 00:08:13,830 177 00:08:13,830 --> 00:08:17,320 Plis espesyalman, nou pral bay yon ti moso nan memwa sou nou 178 00:08:17,320 --> 00:08:22,960 òdinatè nan magazen rechèch binè nan lokal varyab, epi poze kandidati binè la 179 00:08:22,960 --> 00:08:24,150 Kòd rechèch la. 180 00:08:24,150 --> 00:08:26,810 >> Se konsa, nou rele binè rechèch la. 181 00:08:26,810 --> 00:08:30,440 182 00:08:30,440 --> 00:08:33,340 Nan sa a ti moso nan memwa, nou pral nan magazen varyab lokal li yo. 183 00:08:33,340 --> 00:08:35,270 Nou pwal nan magazen apèl printf li yo. 184 00:08:35,270 --> 00:08:38,159 Kèlkeswa sa k ap pase, ki fonksyon se ale nan dwe estoke ki la a. 185 00:08:38,159 --> 00:08:40,350 Binè rechèch ki pral egzekite. 186 00:08:40,350 --> 00:08:42,210 Li se ale nan ranpli ekzekisyon. 187 00:08:42,210 --> 00:08:47,450 Ki sa ki se pawòl Bondye a nan C ki vle ki yon fonksyon yo ta dwe 188 00:08:47,450 --> 00:08:49,306 ranpli ekzekisyon li yo? 189 00:08:49,306 --> 00:08:50,040 >> ELÈV: Retounen. 190 00:08:50,040 --> 00:08:50,870 >> JASON HIRSCHHORN: Retounen. 191 00:08:50,870 --> 00:08:53,230 Se konsa, chak fwa ou wè yon deklarasyon retou, pwent yo fonksyon 192 00:08:53,230 --> 00:08:54,350 lè li frape sa a. 193 00:08:54,350 --> 00:08:56,740 Se konsa, binè rechèch pral frape retounen li yo. 194 00:08:56,740 --> 00:09:01,360 Pati sa a nan memwa pral esansyèlman dwe libere yo. 195 00:09:01,360 --> 00:09:03,510 Apre sa, prensipal ap tounen nan ekzekisyon. 196 00:09:03,510 --> 00:09:07,240 Se konsa, prensipal ap pran yon poz tout kote te, rele binè rechèch, jwenn kèk valè retou, 197 00:09:07,240 --> 00:09:08,700 yo e yo kontinye ekzekisyon. 198 00:09:08,700 --> 00:09:10,840 Sa a ankadreman chemine pral ale. 199 00:09:10,840 --> 00:09:14,810 >> Si nou rele yon fonksyon repetitif, ki se yon fonksyon ki rele tèt li sou 200 00:09:14,810 --> 00:09:18,480 yo ak sou, nou ta ka jwenn - di nou te fè binè rechèch recursive. 201 00:09:18,480 --> 00:09:21,520 Nou ta ka jwenn binè vèsyon rechèch yon sèl, binè rechèch de, binè rechèch 202 00:09:21,520 --> 00:09:24,090 twa, binè rechèch kat, binè rechèch senk. 203 00:09:24,090 --> 00:09:27,950 Lè sa a, sa a final rechèch binè senk pral frape ka a baz, ak chemine a 204 00:09:27,950 --> 00:09:31,010 ankadreman pral tounen ladan l epi kenbe fèmen jiskaske nou jwenn tounen nan prensipal la. 205 00:09:31,010 --> 00:09:32,530 Nou kapab ale sou rkursyon nan yon ti jan. 206 00:09:32,530 --> 00:09:35,530 Men, tou sa sa a vle di, si w ap rele anpil fonksyon nan yon moman, 207 00:09:35,530 --> 00:09:39,250 gen pral miltip chemine ankadreman sou chemine a. 208 00:09:39,250 --> 00:09:42,900 >> Pil wòch la, nan lòt men an, moute isit la, se pa pou fonksyon, 209 00:09:42,900 --> 00:09:44,380 pa pou varyab lokal yo. 210 00:09:44,380 --> 00:09:48,920 Li nan pou dynamique resevwa lajan varyab. 211 00:09:48,920 --> 00:09:57,210 Se konsa, sa yo, se varyab ki ka initialisé swa nan prensipal oswa yon 212 00:09:57,210 --> 00:09:58,640 fonksyon ki apèl prensipal la. 213 00:09:58,640 --> 00:10:00,790 Nenpòt kote nan Kòd ou yo, yo kapab initialisé. 214 00:10:00,790 --> 00:10:04,360 Men, inisyalize yon dynamique resevwa lajan varyab. 215 00:10:04,360 --> 00:10:06,970 Ki sa ki fonksyon nan C nou itilize? 216 00:10:06,970 --> 00:10:07,600 >> ELÈV: malok. 217 00:10:07,600 --> 00:10:09,240 >> JASON HIRSCHHORN: malok. 218 00:10:09,240 --> 00:10:10,800 Ou rele malok. 219 00:10:10,800 --> 00:10:12,260 Ou jwenn yon espas nan memwa. 220 00:10:12,260 --> 00:10:15,020 Apre sa, espas sa a nan memwa se sou pil wòch la. 221 00:10:15,020 --> 00:10:18,840 Apre sa, espas sa a nan memwa rete la jouk lè ou rele gratis. 222 00:10:18,840 --> 00:10:22,670 >> Se konsa, dynamique resevwa lajan varyab nan pil wòch pral egziste pou osi lontan ke ou 223 00:10:22,670 --> 00:10:25,250 vle yo egziste, epi yo pa pral ale jiskaske ou klèman 224 00:10:25,250 --> 00:10:26,760 di yo ale. 225 00:10:26,760 --> 00:10:29,670 Ou ka kreye yo nan yon fonksyon. 226 00:10:29,670 --> 00:10:31,930 Chemine ki fonksyon an ankadreman pral ale. 227 00:10:31,930 --> 00:10:35,490 Men, varyab sa a ap toujou egziste nan pil wòch la jiskaske li se libere, 228 00:10:35,490 --> 00:10:39,650 potansyèlman pa fonksyon an ke yo rele rechèch binè oswa kèlkeswa sa. 229 00:10:39,650 --> 00:10:42,580 >> Se konsa, moun varyab pil wòch rete la pou osi lontan ke ou vle 230 00:10:42,580 --> 00:10:43,490 yo rete a. 231 00:10:43,490 --> 00:10:46,090 Apre sa, yo jwenn mete isit la. 232 00:10:46,090 --> 00:10:47,450 Lè sa a, vin youn nan pwochen mete ladan l '. 233 00:10:47,450 --> 00:10:50,210 Yo kenbe ap resevwa plen nan, epi yo rete la jouk lè ou rele gratis. 234 00:10:50,210 --> 00:10:52,870 >> Apre sa, esansyèlman, pil wòch la ak chemine a, ap resevwa nan kesyon Marcus a, 235 00:10:52,870 --> 00:10:54,500 grandi nan direksyon pou youn ak lòt. 236 00:10:54,500 --> 00:10:57,730 Men, si yo kouri antre nan yon lòt, ou te itilize moute tout memwa a nan ou 237 00:10:57,730 --> 00:11:01,330 òdinatè, ak pwogram ou an ap kite paske ou pa gen okenn memwa plis 238 00:11:01,330 --> 00:11:02,420 kite yo sèvi ak. 239 00:11:02,420 --> 00:11:07,290 Nan ant yo, gen potansyèlman lòt bagay. 240 00:11:07,290 --> 00:11:10,980 Men, pou sijè ki abòde lan nan kou sa a, ou pa bezwen enkyete sou sa. 241 00:11:10,980 --> 00:11:12,020 >> Se konsa, sa ki te repons lan nan kesyon ou yo. 242 00:11:12,020 --> 00:11:13,520 pa enkyete sou li. 243 00:11:13,520 --> 00:11:15,550 Men, sa ki te repons long la. 244 00:11:15,550 --> 00:11:17,800 Tout sa ou bezwen konnen se la pil wòch ak chemine a pral - 245 00:11:17,800 --> 00:11:18,900 yon sèl kòmanse nan pati anba nan. 246 00:11:18,900 --> 00:11:19,570 Chemine a fè. 247 00:11:19,570 --> 00:11:20,790 Pil wòch la a jiska la. 248 00:11:20,790 --> 00:11:21,990 Yo ap grandi pi pre youn ak lòt. 249 00:11:21,990 --> 00:11:23,110 >> Men, si yo manyen, ki nan yon pwoblèm. 250 00:11:23,110 --> 00:11:24,500 Ou kouri soti nan memwa. 251 00:11:24,500 --> 00:11:28,760 Men, tou, nan adisyon a konnen ki kote yo, sa ki estoke nan nan tou de 252 00:11:28,760 --> 00:11:30,512 chemine ak miray. 253 00:11:30,512 --> 00:11:31,410 Curtis. 254 00:11:31,410 --> 00:11:33,570 >> CURTIS: Lè yo fè kolizyon, se ke yon debòde chemine? 255 00:11:33,570 --> 00:11:35,670 >> JASON HIRSCHHORN: Lè yo fè kolizyon, sa a, se pa yon debòde chemine. 256 00:11:35,670 --> 00:11:38,340 Yon debòde chemine se yon zòn diferan ke nou ka ale sou si ou vle. 257 00:11:38,340 --> 00:11:40,020 OK, nou pral tounen vin jwenn ke nan yon ti jan. 258 00:11:40,020 --> 00:11:42,730 >> ELÈV: Ki sa ki nan pawòl Bondye a rele yo lè yo frape youn ak lòt, nan 259 00:11:42,730 --> 00:11:44,450 chemine ak pil wòch la? 260 00:11:44,450 --> 00:11:46,640 >> JASON HIRSCHHORN: Pou kounye a, pa enkyete sou. 261 00:11:46,640 --> 00:11:47,750 Jis konnen - 262 00:11:47,750 --> 00:11:50,530 Mwen pral reponn kesyon ki apre klas la. 263 00:11:50,530 --> 00:11:52,680 Si yo kouri antre nan chak lòt, ou kouri soti nan memwa, paske gen nan pa gen plis 264 00:11:52,680 --> 00:11:53,330 espas la. 265 00:11:53,330 --> 00:11:55,450 >> ELÈV: Padon, sa ki nan yon fay seg? 266 00:11:55,450 --> 00:11:58,710 >> JASON HIRSCHHORN: Yon segman ka fòt dwe rele pou - 267 00:11:58,710 --> 00:12:02,240 li depann de poukisa yo rele fay la seg a. 268 00:12:02,240 --> 00:12:06,260 Pafwa, debòde chemine ou a, li pral di seg fòt kòm erè a. 269 00:12:06,260 --> 00:12:08,180 >> ELÈV: Ki sa ki sou dereferencing yon varyab nil? 270 00:12:08,180 --> 00:12:10,040 Eske se sa ke yon fay seg? 271 00:12:10,040 --> 00:12:11,480 >> JASON HIRSCHHORN: Dereferencing yon konsèy nil - 272 00:12:11,480 --> 00:12:17,850 OK, Se konsa, si ou gen yon konsèy ke ou mete egal a nil, endikasyon, sonje, 273 00:12:17,850 --> 00:12:20,270 adrès magazen memwa kòm valè yo. 274 00:12:20,270 --> 00:12:23,660 Ak yon konsèy nil se esansyèlman estoke 0, 0-th nan 275 00:12:23,660 --> 00:12:26,670 adrese nan varyab sa a. 276 00:12:26,670 --> 00:12:30,010 Se konsa, 0x, 0, 0, 0, 0, et setra. 277 00:12:30,010 --> 00:12:35,030 Sa adrès 0-th nan memwa sa a pa nan foto nou yo, sa a, se kanpe 278 00:12:35,030 --> 00:12:38,800 yon kote, ki nan rezève pou òdinatè a. 279 00:12:38,800 --> 00:12:40,130 Nou pa pèmèt yo manyen li. 280 00:12:40,130 --> 00:12:44,680 >> Se konsa, lè pwogram ou an egzekite, si yon bagay ap eseye pou yo ale nan memwa 281 00:12:44,680 --> 00:12:48,990 adrès 0, li konnen ke ki se yon valè vid. 282 00:12:48,990 --> 00:12:50,820 Li konnen pa gen anyen yo ta dwe la. 283 00:12:50,820 --> 00:12:53,420 Se konsa, si ou eseye epi sèvi ak yon bagay gen epi trete yon bagay tankou gen oswa 284 00:12:53,420 --> 00:12:58,355 ap eseye pou yo ale nan ki kote, w ap pral jwenn yon fay seg oswa yon erè. 285 00:12:58,355 --> 00:13:00,520 ki reponn kesyon ou a? 286 00:13:00,520 --> 00:13:03,170 >> Epi, koulye a nou pral tounen chemine debòde. 287 00:13:03,170 --> 00:13:09,560 Bagay sa yo nan chemine a, menm jan ou nèg gen wè anvan, nan - kite a trase yon fèmen 288 00:13:09,560 --> 00:13:11,966 leve nan yon ankadreman chemine. 289 00:13:11,966 --> 00:13:15,050 Èske tout moun wè sa? 290 00:13:15,050 --> 00:13:16,650 Se konsa, nou gen ankadreman chemine nou an. 291 00:13:16,650 --> 00:13:23,260 Nou ap ekonomize yon etalaj nan kòm yon lokal varyab nan fonksyon sa a. 292 00:13:23,260 --> 00:13:29,510 Se konsa, di etalaj nou an ki gen senk tach. 293 00:13:29,510 --> 00:13:33,230 Tout senk nan tout sa yo pral estoke nan ki ankadreman chemine. 294 00:13:33,230 --> 00:13:37,540 >> Si nou kòmanse ekri andeyò a limit nan etalaj sa a - 295 00:13:37,540 --> 00:13:43,990 Se konsa, si nou kòmanse ekri nan, Se pou nou di sa a, se 0. 296 00:13:43,990 --> 00:13:46,800 Sa yo se senk endis yo nan etalaj nou an. 297 00:13:46,800 --> 00:13:50,980 Si nou kòmanse ekri nan endèks 5, ki nou pa gen lè nou gen yon 298 00:13:50,980 --> 00:13:55,900 etalaj de gwosè 5, nou kòmanse ekri nan endèks 6, 7, 8, 9, nou ka jwenn yon Stack 299 00:13:55,900 --> 00:13:57,960 Debòde erè. 300 00:13:57,960 --> 00:14:00,510 >> Anjeneral li pa - 301 00:14:00,510 --> 00:14:04,910 w ap pwobableman tonbe nan pwoblèm si ou ale sou pa youn. 302 00:14:04,910 --> 00:14:08,640 Men, jeneralman, ou pral jwenn nan la pi pwoblèm si ou ale sou pa yon anpil 303 00:14:08,640 --> 00:14:12,770 epi ou ale twò lwen sou ke ou ekri sou adrès la retounen nan ki 304 00:14:12,770 --> 00:14:16,080 fonksyon, ki sitiye nan nan anba nan ankadreman an pil. 305 00:14:16,080 --> 00:14:16,520 >> Paske, dwa? 306 00:14:16,520 --> 00:14:17,670 Ou - nan - a regrèt. 307 00:14:17,670 --> 00:14:18,550 Se pa "paske dwa." 308 00:14:18,550 --> 00:14:20,470 >> Nan ankadreman an chemine, ou gen varyab lokal ou a. 309 00:14:20,470 --> 00:14:27,090 Nan pati anba a anpil nan chemine a ankadreman kote adrès la retounen. 310 00:14:27,090 --> 00:14:28,790 Sa a kote fonksyon an ale a lè li sou. 311 00:14:28,790 --> 00:14:33,750 Men, si ou recouvrir ke retounen adrès, Lè sa a, lè sa a ankadreman chemine, 312 00:14:33,750 --> 00:14:36,680 lè w ap ale atravè tout chemine a ankadreman ak egzekite chak liy, w ap 313 00:14:36,680 --> 00:14:40,350 ale pou yo ale nan nouvo adrès ou retounen ki nan ekri gen olye pou yo nan 314 00:14:40,350 --> 00:14:40,910 aktyèl yon sèl. 315 00:14:40,910 --> 00:14:45,050 Epi sa a, ki jan nou te wè kèk violations sekirite 316 00:14:45,050 --> 00:14:46,780 ka rive ak òdinatè. 317 00:14:46,780 --> 00:14:52,760 >> Se konsa, chemine debòde, nan kout, se lè ou recouvrir pati a nan chemine a 318 00:14:52,760 --> 00:14:55,440 w ap sipoze itilize, lokal la varyab w ap sipoze itilize, e 319 00:14:55,440 --> 00:14:58,070 an patikilye lè ou kòmanse ranplasan bagay enpòtan tankou an 320 00:14:58,070 --> 00:14:59,100 retounen adrès. 321 00:14:59,100 --> 00:15:00,090 Epi sa a, kote ou pral jwenn yon erè. 322 00:15:00,090 --> 00:15:03,980 Oswa petèt menm ou te kapab kòmanse menm ekri nan - 323 00:15:03,980 --> 00:15:05,370 di binè rechèch te dwa pi wo a prensipal la. 324 00:15:05,370 --> 00:15:07,790 Si ou overwrote yon anpil, ou kapab ekri nan prensipal la. 325 00:15:07,790 --> 00:15:10,230 Men, jeneralman, ou jwenn yon erè anvan Lè sa a,, paske òdinatè a konnen 326 00:15:10,230 --> 00:15:12,270 w ap fè yon bagay ou pa ta dwe fè. 327 00:15:12,270 --> 00:15:12,560 Yeah. 328 00:15:12,560 --> 00:15:13,910 >> ELÈV: Ki diferans ki genyen ant yon debòde chemine 329 00:15:13,910 --> 00:15:16,940 ak yon debòde tanpon? 330 00:15:16,940 --> 00:15:19,420 >> JASON HIRSCHHORN: Buffer debòde se yon kalite plis jenerik nan 331 00:15:19,420 --> 00:15:20,395 sa m 'te jis ki dekri yo. 332 00:15:20,395 --> 00:15:22,610 >> ELÈV: Se konsa, yon debòde chemine se yon egzanp sou yon debòde tanpon. 333 00:15:22,610 --> 00:15:23,420 >> JASON HIRSCHHORN: Egzakteman. 334 00:15:23,420 --> 00:15:28,700 Sa a se yon etalaj nou ka panse a kòm yon tanpon, yon espas pou bagay sa yo ale pous 335 00:15:28,700 --> 00:15:30,600 Sa a se yon tanpon debòde chemine. 336 00:15:30,600 --> 00:15:33,210 Nou te kapab gen yon debòde pil wòch tanpon. 337 00:15:33,210 --> 00:15:36,870 Si te gen yon zòn de defans, ki gen souvan se yon etalaj pil wòch la, epi nou 338 00:15:36,870 --> 00:15:40,600 overwrote sa yo limit, lè sa a nou ta gen yon debòde pil wòch tanpon. 339 00:15:40,600 --> 00:15:44,870 >> Apre sa, pi lwen pase sijè ki abòde lan nan kou sa a, yo ap detekte yon ti jan yon lòt jan. 340 00:15:44,870 --> 00:15:48,040 Du a gen espesyal fason pou detekte chak. 341 00:15:48,040 --> 00:15:50,660 Men, yon debòde tanpon se yon plis jenerik di ki kalite ki sa mwen dekri, 342 00:15:50,660 --> 00:15:54,090 ki te yon tanpon debòde chemine. 343 00:15:54,090 --> 00:15:56,240 Eske sa te reponn kesyon ou a? 344 00:15:56,240 --> 00:15:57,910 Dous. 345 00:15:57,910 --> 00:16:01,850 >> Te gen nenpòt lòt kesyon ki gen rapò chemine a oswa pil wòch la? 346 00:16:01,850 --> 00:16:04,920 347 00:16:04,920 --> 00:16:05,510 Yeah. 348 00:16:05,510 --> 00:16:08,220 >> ELÈV: Mwen konnen ou gen strings gratis paske yo ap nan pil wòch la 349 00:16:08,220 --> 00:16:09,305 epi ou pa vle genyen fuit memwa. 350 00:16:09,305 --> 00:16:12,240 Men, ou gen gratis varyab mondyal ak lòt bagay tankou sa? 351 00:16:12,240 --> 00:16:14,335 Oubyen èske yo te libere otomatikman? 352 00:16:14,335 --> 00:16:15,700 >> JASON HIRSCHHORN: Bon kesyon. 353 00:16:15,700 --> 00:16:22,340 Se konsa, nan CS50.H, nou kreye bagay sa a pou ou rele yon kòd. 354 00:16:22,340 --> 00:16:23,800 Yon fil se reyèlman ki sa? 355 00:16:23,800 --> 00:16:24,810 >> ELÈV: Char zetwal. 356 00:16:24,810 --> 00:16:29,180 >> JASON HIRSCHHORN: A etwal Char, yon konsèy nan yon karaktè, yon konsèy 357 00:16:29,180 --> 00:16:30,650 yon etalaj de karaktè. 358 00:16:30,650 --> 00:16:32,210 Sa a ki sa fisèl la se. 359 00:16:32,210 --> 00:16:36,050 Se konsa, nou bezwen libere l ', paske getstring, ki nou itilize yon anpil - 360 00:16:36,050 --> 00:16:38,370 Non fisèl egal getstring - 361 00:16:38,370 --> 00:16:43,560 ki mallocs pou nou kèk memwa sou la yon seri ak Lè sa a, retounen yon konsèy la 362 00:16:43,560 --> 00:16:47,230 premye karaktè nan ki fisèl, yon etwal Char. 363 00:16:47,230 --> 00:16:52,760 >> Se konsa, ofisyèlman, si ou pa yo te ekri gratis sou nenpòt nan strings ou 364 00:16:52,760 --> 00:16:55,600 ke ou te rele byen lwen tèlman, ou gen te koule kèk memwa. 365 00:16:55,600 --> 00:16:57,430 Natirèlman nou pa t 'te pale osijè de li, se konsa pèsonn pa nan fè nan 366 00:16:57,430 --> 00:16:58,520 pwoblèm pou fè sa. 367 00:16:58,520 --> 00:16:59,980 Men, pwal pi devan, wi. 368 00:16:59,980 --> 00:17:03,990 Lè ou rele getstring, w ap mallocing kèk espas sou pil wòch la. 369 00:17:03,990 --> 00:17:07,640 Men, si ou pa rele gratis pita sou ki fisèl, ou gen yon fwit memwa. 370 00:17:07,640 --> 00:17:09,440 Sa reponn kesyon ou a? 371 00:17:09,440 --> 00:17:10,606 >> Yeah 372 00:17:10,606 --> 00:17:15,020 >> ELÈV: Se konsa, yo fè sa, nou itilize gratis dwat devan retounen? 373 00:17:15,020 --> 00:17:18,510 Tankou, nan sijè ki abòde lan nan, mwen devine si nou di, tankou, Int prensipal yo, ki nan la 374 00:17:18,510 --> 00:17:24,410 sijè ki abòde nan kòd la sa a, se nan sa yo aparèy òtopedik Curly, dwa anvan - 375 00:17:24,410 --> 00:17:26,140 èske w konnen kote ou ta anjeneral mete retou. 376 00:17:26,140 --> 00:17:27,950 ou mete gratis anvan sa? 377 00:17:27,950 --> 00:17:31,000 >> JASON HIRSCHHORN: Se konsa, ou ka mete gratis tout kote ou vle mete gratis. 378 00:17:31,000 --> 00:17:33,810 Paske sa yo yo dynamique resevwa lajan varyab, paske yo kapab 379 00:17:33,810 --> 00:17:39,170 ap viv pi lwen pase sijè ki abòde lan yon patikilye fonksyon, si ou rele malok nan yon 380 00:17:39,170 --> 00:17:44,140 fonksyon ki apa a, pou egzanp, getstring, ou ka rele gratis nan prensipal la. 381 00:17:44,140 --> 00:17:46,050 Ou pa bezwen rele l ' nan fonksyon an espesifik 382 00:17:46,050 --> 00:17:47,570 kote malok yo rele. 383 00:17:47,570 --> 00:17:50,340 Men, ou bezwen rele l ' anvan retounen prensipal la. 384 00:17:50,340 --> 00:17:51,120 >> Epi li reyèlman depann. 385 00:17:51,120 --> 00:17:54,960 Sa depann de poukisa ou malloced ki espas nan plas an premye. 386 00:17:54,960 --> 00:17:57,320 Gen kèk moun ki pral rele gratis yo byen vit. 387 00:17:57,320 --> 00:17:59,220 Gen kèk moun ki pa pral rele gratis jouk nan fen pwogram yo. 388 00:17:59,220 --> 00:18:00,660 Apre sa, yo pral ale nan ak gratis tout bagay. 389 00:18:00,660 --> 00:18:03,597 Sa depann de poukisa ou rele malok. 390 00:18:03,597 --> 00:18:11,270 >> ELÈV: Ak sa ki èske ou ka di si ou rele pou sèvi getstring? 391 00:18:11,270 --> 00:18:13,320 Ou ta di gratis ki sa? 392 00:18:13,320 --> 00:18:20,040 >> JASON HIRSCHHORN: Se konsa, sentaks la pou gratis se tou senpleman gratis, paren louvri, fèmen 393 00:18:20,040 --> 00:18:22,130 paren, ak non an nan konsèy la. 394 00:18:22,130 --> 00:18:26,410 Se konsa, si ou ekri fisèl egal Non getstring, ou mete non yo nan isit la. 395 00:18:26,410 --> 00:18:27,760 Sa a non an nan konsèy la. 396 00:18:27,760 --> 00:18:30,570 Apre sa, li konnen yo gratis ke memwa. 397 00:18:30,570 --> 00:18:33,920 >> ELÈV: Se konsa, lè li libere ki memwa, konsèy la toujou lonje dwèt nan plas sa a 398 00:18:33,920 --> 00:18:34,970 nan memwa a? 399 00:18:34,970 --> 00:18:39,020 Oubyen èske konsèy la tou vide rès dlo nan adrès la ke li lonje dwèt nan. 400 00:18:39,020 --> 00:18:40,290 >> JASON HIRSCHHORN: Nou ta dwe eseye sa a. 401 00:18:40,290 --> 00:18:41,430 Nou ta dwe kòd ki. 402 00:18:41,430 --> 00:18:43,880 Se pou yo tounen vin lè nou ale nan kodaj, e kite yo kòd ki. 403 00:18:43,880 --> 00:18:46,000 Men, si ou vle konnen ki repons lan ak sa yo ki, ou ka tou kòd ki 404 00:18:46,000 --> 00:18:46,690 nan Antretan la. 405 00:18:46,690 --> 00:18:49,100 Men, sa a yon kesyon gwo. 406 00:18:49,100 --> 00:18:53,480 >> ELÈV: Eske li posib poum gratis yon bagay twò bonè? 407 00:18:53,480 --> 00:18:58,530 Se konsa, ou toujou bezwen li pou pwogram ou an, epi ou libere espas sa a memwa? 408 00:18:58,530 --> 00:18:59,200 >> JASON HIRSCHHORN: Wi. 409 00:18:59,200 --> 00:19:03,020 Li se posib, si ou gratis yon bagay ak Lè sa a, ou sèvi ak li ankò, ou pral 410 00:19:03,020 --> 00:19:06,890 kouri antre nan yon erè. 411 00:19:06,890 --> 00:19:10,810 Men, sa a sou nou, paske nou te libere yon bagay e yo Lè sa a, li rele l 'pita. 412 00:19:10,810 --> 00:19:13,940 Se konsa, sa ki te erè yon pwogramè a. 413 00:19:13,940 --> 00:19:14,780 Men, repons lan se wi. 414 00:19:14,780 --> 00:19:17,760 Ou kapab ekri sa a. 415 00:19:17,760 --> 00:19:19,240 >> Nenpòt ki plis kesyon sou - 416 00:19:19,240 --> 00:19:19,760 repons lan se wi. 417 00:19:19,760 --> 00:19:22,820 >> ELÈV: Se konsa, si w sipoze jis gratis li an jeneral anvan an 418 00:19:22,820 --> 00:19:25,490 pwogram fini, sa vle di si la pwogram fini epi ou pa gratis li, 419 00:19:25,490 --> 00:19:27,580 se ke memwa toujou resevwa lajan? 420 00:19:27,580 --> 00:19:31,330 >> JASON HIRSCHHORN: Si pwogram ou an fini epi ou bliye yo gratis yon bagay, Lè sa a, 421 00:19:31,330 --> 00:19:34,390 te ke memwa resevwa lajan nan tout tout lavi a nan pwogram ou an. 422 00:19:34,390 --> 00:19:37,670 Lè pwogram ou an fèmen nèt, ki memwa a pa pral 423 00:19:37,670 --> 00:19:39,490 yo rete gen pou tout tan. 424 00:19:39,490 --> 00:19:42,080 Òdinatè a se entelijan ase yo konnen ke lè pwogram nan fèmen, li 425 00:19:42,080 --> 00:19:46,440 ta dwe debarase m de tout nan memwa a ki te asosye avèk pwogram sa a. 426 00:19:46,440 --> 00:19:51,240 >> Men tou, gen yo se zouti ou ka kouri nan yon pwogram yo detekte si, lè a 427 00:19:51,240 --> 00:19:54,720 pwogram fini, ou bliye yo gratis kèk memwa. 428 00:19:54,720 --> 00:19:57,960 Se pou pwoblèm pwochèn ou an mete kote ou pral lè l sèvi avèk malok ak lè l sèvi avèk 429 00:19:57,960 --> 00:20:02,610 endikasyon, ou pral kouri sa a pwogram sou pwogram ou a wè si, 430 00:20:02,610 --> 00:20:06,530 lè retounen prensipal yo, ou te gen kèk bagay sa yo ki te rete unfreed. 431 00:20:06,530 --> 00:20:09,130 >> Se konsa, yo pa ap ale nan rete malloced pou tout tan nan òdinatè ou. 432 00:20:09,130 --> 00:20:11,720 Ki ta ka inutil, paske trè byen vit, òdinatè 433 00:20:11,720 --> 00:20:12,960 ta kouri soti nan memwa. 434 00:20:12,960 --> 00:20:16,450 Men, si yo kouri jouk nan fen ou pwogram yo epi yo pa ap libere ak ou 435 00:20:16,450 --> 00:20:20,260 pwogram sòti, ki nan toujou yon pwoblèm ki zouti sa a pral ede w adrese. 436 00:20:20,260 --> 00:20:21,520 >> ELÈV: Eske se sa ke Valgrind? 437 00:20:21,520 --> 00:20:22,910 >> JASON HIRSCHHORN: Li nan rele Valgrind. 438 00:20:22,910 --> 00:20:23,520 Apre sa, ou pral - 439 00:20:23,520 --> 00:20:25,780 >> ELÈV: Men, nou pa bezwen konnen ke pou egzamen an, menm si? 440 00:20:25,780 --> 00:20:27,600 Mwen vle di, li te pale osijè de yon ti kras nan konferans. 441 00:20:27,600 --> 00:20:33,600 >> JASON HIRSCHHORN: Se konsa, Valgrind se non an nan ki zouti. 442 00:20:33,600 --> 00:20:37,180 Lè ou konnen sa li fè a se ase pou egzamen an. 443 00:20:37,180 --> 00:20:40,200 Men, ou pa te itilize li ankò sou ou pwoblèm mete paske nou pa te gen yon 444 00:20:40,200 --> 00:20:43,520 pwoblèm seri ki te klèman te fè fas ak malok oswa ou lè l sèvi avèk malok. 445 00:20:43,520 --> 00:20:45,330 Se konsa, ou pa te itilize Valgrind ankò. 446 00:20:45,330 --> 00:20:47,760 Men, ou pral sèvi avèk li pi bonè olye ke pi ta. 447 00:20:47,760 --> 00:20:48,710 >> ELÈV: Èske ou ka repete sa Valgrind se? 448 00:20:48,710 --> 00:20:49,190 >> JASON HIRSCHHORN: M regrèt? 449 00:20:49,190 --> 00:20:51,240 >> ELÈV: Èske ou ka repete sa ki bi pou yo Valgring se? 450 00:20:51,240 --> 00:20:53,100 >> JASON HIRSCHHORN: Valgrind se non an - 451 00:20:53,100 --> 00:20:59,890 tankou gdb ede ou debug pwogram ou an, Valgrind ede ou konnen si 452 00:20:59,890 --> 00:21:03,210 bagay sa yo pa yo te libere lè pwogram ou an fèmen. 453 00:21:03,210 --> 00:21:05,110 Se konsa, ou pral kouri l 'sou pwogram ou an. 454 00:21:05,110 --> 00:21:09,230 Apre sa, pwogram ou an sòti, epi li pral di pwogram ou an rele malok sa a anpil 455 00:21:09,230 --> 00:21:13,670 fwa pou sa a bytes anpil, epi ou sèlman rele gratis sa a plizyè fwa. 456 00:21:13,670 --> 00:21:16,520 Se konsa, ou te kite sa yo bytes anpil san yo pa libere. 457 00:21:16,520 --> 00:21:18,050 Oswa li pral di ou te libere tout bagay. 458 00:21:18,050 --> 00:21:19,070 Bon travay. 459 00:21:19,070 --> 00:21:19,480 >> ELÈV: OK. 460 00:21:19,480 --> 00:21:21,060 Apre sa, sa yo rele li Valgring? 461 00:21:21,060 --> 00:21:24,940 >> JASON HIRSCHHORN: V-A-L-G-R-I-N-D. 462 00:21:24,940 --> 00:21:25,970 >> ELÈV: Yon kesyon sou pwent. 463 00:21:25,970 --> 00:21:30,080 Se konsa, di ou te n zetwal x egal yon bagay. 464 00:21:30,080 --> 00:21:33,330 Sa egal, kèlkeswa sa w ap mete la, se ke sa k ap mete anndan 465 00:21:33,330 --> 00:21:36,120 sa x ap montre a, oswa konsèy la nan x? 466 00:21:36,120 --> 00:21:37,690 >> JASON HIRSCHHORN: Èske ou ka repete kesyon an? 467 00:21:37,690 --> 00:21:39,340 Èske nou ka rale l 'pandan w ap di li? 468 00:21:39,340 --> 00:21:42,710 >> ELÈV: Nan egzamen an, aktyèlman, an youn ou voye nou, li te tankou, Char 469 00:21:42,710 --> 00:21:46,520 verite zetwal egal wòch CS50, dwa? 470 00:21:46,520 --> 00:21:52,190 Se konsa, ki vle di ke ke wòch CS50 se sa ki verite a ap montre a? 471 00:21:52,190 --> 00:21:55,810 >> JASON HIRSCHHORN: Se konsa, ou ap pale sou yon etwal Char nan yon fisèl, ki jan 472 00:21:55,810 --> 00:21:56,460 ki travay? 473 00:21:56,460 --> 00:21:56,890 Yeah. 474 00:21:56,890 --> 00:21:57,700 OK. 475 00:21:57,700 --> 00:21:59,140 Se pou yo trase sa a sou isit la. 476 00:21:59,140 --> 00:22:07,100 >> [SIDE KONVÈSASYON] 477 00:22:07,100 --> 00:22:11,130 >> JASON HIRSCHHORN: Se konsa, varyab sa a a pwal nan kalite zetwal Char. 478 00:22:11,130 --> 00:22:14,580 Kòman gwo se yon varyab nan zetwal di ki kalite Char? 479 00:22:14,580 --> 00:22:15,510 Konbyen bytes? 480 00:22:15,510 --> 00:22:16,450 >> ELÈV YO: Kat. 481 00:22:16,450 --> 00:22:18,210 >> JASON HIRSCHHORN: Se kat bytes. 482 00:22:18,210 --> 00:22:21,420 Konbyen dwa se yon varyab nan zetwal di ki kalite Int? 483 00:22:21,420 --> 00:22:22,210 >> ELÈV YO: Kat. 484 00:22:22,210 --> 00:22:24,910 >> JASON HIRSCHHORN: Kat bytes. 485 00:22:24,910 --> 00:22:28,280 Si li nan yon konsèy, lè sa a li se toujou kat bytes, paske endikasyon, yo 486 00:22:28,280 --> 00:22:30,070 valè yon adrès memwa. 487 00:22:30,070 --> 00:22:35,160 Ak adrès memwa sou CS50 nan aparèy yo se kat bytes lontan. 488 00:22:35,160 --> 00:22:42,900 Se konsa, lè nou rele getstring, oswa lè nou di, stringname egal, ak Lè sa a, nan 489 00:22:42,900 --> 00:22:46,140 quotes doub mete yon fil, nou ap mete - 490 00:22:46,140 --> 00:22:46,920 byen, sa a, se yon ti kras diferan. 491 00:22:46,920 --> 00:22:48,630 Nou pral getstring kòm egzanp lan. 492 00:22:48,630 --> 00:22:52,150 Oswa yon bagay zetwal Char egal fisèl la. 493 00:22:52,150 --> 00:22:54,360 Padon, ban m 'egzanp lan pou w li? 494 00:22:54,360 --> 00:22:57,590 >> ELÈV: verite zetwal Char egal "Wòch cs50" nan quotes doub. 495 00:22:57,590 --> 00:23:02,260 >> JASON HIRSCHHORN: Se konsa, zetwal sa a, sa a nou pral rele varyab sa a x pou nou 496 00:23:02,260 --> 00:23:04,060 rezon jenerik. 497 00:23:04,060 --> 00:23:05,970 Nou te kreye yon varyab rele x. 498 00:23:05,970 --> 00:23:07,610 Li nan di ki kalite zetwal Char. 499 00:23:07,610 --> 00:23:10,950 Li se yon konsèy nan yon seri nan karaktè. 500 00:23:10,950 --> 00:23:12,200 Se konsa, desann isit la - 501 00:23:12,200 --> 00:23:23,710 502 00:23:23,710 --> 00:23:25,890 >> Se konsa, sa a se ki jan sa a ta travay nan memwa. 503 00:23:25,890 --> 00:23:27,410 Sa a ta sere yon adrès memwa. 504 00:23:27,410 --> 00:23:31,770 Li ta magazen adrès la memwa nan N. la an premye nan etalaj la. 505 00:23:31,770 --> 00:23:33,830 Lè sa a, lè ou swiv konsèy la, ou ta 506 00:23:33,830 --> 00:23:35,200 jwenn karaktè a an premye. 507 00:23:35,200 --> 00:23:38,780 >> Men, si ou ap li bagay sa a tankou yon kòd, òdinatè w lan se entelijan 508 00:23:38,780 --> 00:23:42,930 ase yo konnen, li sa a tout antye bagay jiskaske li vin yon repèkisyon 0. 509 00:23:42,930 --> 00:23:45,530 Men, si ou ap li li yon karaktè nan yon tan, se konsa w ap iteration nan 510 00:23:45,530 --> 00:23:49,910 fisèl sa a, Lè sa a, ou pral jis li yon N. nan yon tan jiskaske ou jwenn 511 00:23:49,910 --> 00:23:50,850 antislach 0. 512 00:23:50,850 --> 00:23:52,335 Sa pa ta ka repons ou an kesyon, menm si. 513 00:23:52,335 --> 00:23:55,610 >> ELÈV: Yeah, men ou gen pa malloced espas sa a 514 00:23:55,610 --> 00:23:58,400 ankò pou sa konsèy. 515 00:23:58,400 --> 00:24:02,510 >> JASON HIRSCHHORN: Se konsa, mwen se pa byen asire egzakteman sa w ap chèche a, 516 00:24:02,510 --> 00:24:03,640 paske mwen pa t 'fè sa egzamen. 517 00:24:03,640 --> 00:24:06,370 Ki te sipoze gen yon itil resous soti nan yon lòt TF. 518 00:24:06,370 --> 00:24:11,380 Si w ap kreye yon fisèl sou la chemine oswa kòm yon varyab lokal yo, li pral 519 00:24:11,380 --> 00:24:16,920 jis pou etalaj de chaj olye ke jeneralman yon etwal Char montre 520 00:24:16,920 --> 00:24:18,600 yon lòt fisèl. 521 00:24:18,600 --> 00:24:20,550 Men, mwen pa konnen. 522 00:24:20,550 --> 00:24:25,065 Sa te kapab fè yon konsèy nan yon lòt fisèl sou chemine a tou. 523 00:24:25,065 --> 00:24:27,240 Yeah. 524 00:24:27,240 --> 00:24:31,116 >> ELÈV: Mwen konnen ke ou bezwen asiyen memwa si konsèy la se 525 00:24:31,116 --> 00:24:33,360 resevwa te deklare andedan nan yon lòt fonksyon. 526 00:24:33,360 --> 00:24:36,740 ou bezwen fè menm bagay la si li nan yo te deklare andedan nan prensipal yo, 527 00:24:36,740 --> 00:24:39,570 w ap sèvi ak li andedan nan prensipal yo? 528 00:24:39,570 --> 00:24:43,590 >> JASON HIRSCHHORN: Se konsa, repons lan se wi. 529 00:24:43,590 --> 00:24:46,670 Ou ka deklare yon konsèy nan nenpòt adrès memwa nan memwa. 530 00:24:46,670 --> 00:24:51,440 Li kapab adrès la memwa nan yon lokal varyab, menm si souvan, 531 00:24:51,440 --> 00:24:55,760 moun ki pa deklare adrès memwa varyab lokal yo paske yo ale 532 00:24:55,760 --> 00:24:59,890 lwen yon fwa ke fonksyon retounen, ki pou rezon sa a jeneralman malok bagay sa yo. 533 00:24:59,890 --> 00:25:04,630 Men, repons lan se wi, ou ta ka deklare yon konsèy nan yon lòt varyab lokal yo. 534 00:25:04,630 --> 00:25:06,360 Li nan jis jeneralman yo pa fè. 535 00:25:06,360 --> 00:25:09,480 Men, mwen ka pran yon gade nan ki bagay espesifik apre klas la. 536 00:25:09,480 --> 00:25:10,650 Yeah. 537 00:25:10,650 --> 00:25:12,350 >> ELÈV: Mwen panse ke sa a se sòt nan sa ki yo mande a. 538 00:25:12,350 --> 00:25:16,930 Li sanble etranj yo dwe inisyalizin yon konsèy pa kòm yon 539 00:25:16,930 --> 00:25:20,760 adrès, men kòm sa sanble tankou yon valè. 540 00:25:20,760 --> 00:25:25,970 Li sanble tankou CS50 a se sa ki andedan bagay la ke yo te vize pou ale ak pou 541 00:25:25,970 --> 00:25:28,820 pa adrès aktyèl la, dwa? 542 00:25:28,820 --> 00:25:30,520 >> JASON HIRSCHHORN: Se konsa, sa a, se pa ka a, menm si. 543 00:25:30,520 --> 00:25:32,470 Sa se pa sa k ap pase. 544 00:25:32,470 --> 00:25:35,910 Lè ou deklare yon etwal Char, li nan yon adrès memwa. 545 00:25:35,910 --> 00:25:38,860 Endikasyon yo tout adrès memwa montre yon lòt bagay. 546 00:25:38,860 --> 00:25:41,480 Sa yon lòt bagay ta ka sou la chemine, men prèske toujou se sou a 547 00:25:41,480 --> 00:25:43,440 yon seri nan chemen an nou pral wè li itilize. 548 00:25:43,440 --> 00:25:46,860 549 00:25:46,860 --> 00:25:53,500 Men, stringname egal doub-quote "Getstring," nou ka wè ke e nou 550 00:25:53,500 --> 00:25:55,010 ka gade nan ki ak kòd sa a. 551 00:25:55,010 --> 00:26:01,190 getstring fisèl pa se ke yo te sove nan varyab sa a, oswa kèlkeswa sa fisèl la 552 00:26:01,190 --> 00:26:04,580 Non se pa se ke yo te sove nan ki varyab, se pa paske lè sa a jan 553 00:26:04,580 --> 00:26:06,070 endikasyon travay. 554 00:26:06,070 --> 00:26:06,770 ki fè sans? 555 00:26:06,770 --> 00:26:07,170 >> ELÈV: Yeah. 556 00:26:07,170 --> 00:26:08,570 >> JASON HIRSCHHORN: OK. 557 00:26:08,570 --> 00:26:11,690 Èspere ke, ki pa te konfizyon yo ba nenpòt moun. 558 00:26:11,690 --> 00:26:15,732 Men, si li te, nou ka gade nan li ankò nan yon ti jan, paske nou ap aktyèlman pral 559 00:26:15,732 --> 00:26:19,240 ki prevwa nan kòd yon bagay ki pral èspere ke travay avèk strings epi ede ou santi ou 560 00:26:19,240 --> 00:26:22,170 pi alèz avèk yo. 561 00:26:22,170 --> 00:26:24,869 >> Nenpòt lòt kesyon ki gen rapò ak sa yo sijè oswa lòt sijè ki 562 00:26:24,869 --> 00:26:26,119 Mwen pral mete tounen moute? 563 00:26:26,119 --> 00:26:32,280 564 00:26:32,280 --> 00:26:34,840 Apre sa, - 565 00:26:34,840 --> 00:26:36,310 kounye a. 566 00:26:36,310 --> 00:26:37,630 Wi, Alden. 567 00:26:37,630 --> 00:26:39,860 >> ALDEN: Se konsa, sa a se konplètman gen rapò, men yo ka nou jis ale sou 568 00:26:39,860 --> 00:26:42,760 vrèman byen vit sa nou bezwen konnen sou diferans ki genyen ant yon 32 ak 569 00:26:42,760 --> 00:26:46,345 64-ti jan machin? 570 00:26:46,345 --> 00:26:47,740 >> JASON HIRSCHHORN: Wi. 571 00:26:47,740 --> 00:26:52,111 Se konsa, 32 Bits se konbyen bytes? 572 00:26:52,111 --> 00:26:53,060 >> ALDEN: Se kat bytes. 573 00:26:53,060 --> 00:26:54,360 >> JASON HIRSCHHORN: Se kat bytes. 574 00:26:54,360 --> 00:26:58,420 Ak 64 Bits se konbyen bytes? 575 00:26:58,420 --> 00:26:59,112 >> ELÈV: Two. 576 00:26:59,112 --> 00:27:00,610 >> JASON HIRSCHHORN: Two bytes. 577 00:27:00,610 --> 00:27:03,980 Se konsa, ankò, uit Bits se youn multiple. 578 00:27:03,980 --> 00:27:08,340 Aparèy CS50 ou se yon 32-bit machin. 579 00:27:08,340 --> 00:27:13,650 Se konsa, adrès memwa yo kat bytes lontan. 580 00:27:13,650 --> 00:27:17,460 Gen 2 jiska 32 an memwa adrès. 581 00:27:17,460 --> 00:27:21,310 0 a 2 a 32 mwens 1 an. 582 00:27:21,310 --> 00:27:27,630 Apre sa, mwen menm mwen pa pozitif, men sa a pwobableman sijè ki abòde lan sa ou bezwen 583 00:27:27,630 --> 00:27:35,230 konnen pou yon machin 32-ti jan, ki memwa adrès yo se, ankò, kat bytes long, 584 00:27:35,230 --> 00:27:39,620 e ke sa a kantite lajan maksimòm nan nan adrès memwa. 585 00:27:39,620 --> 00:27:41,680 >> Epitou, kalite done - 586 00:27:41,680 --> 00:27:45,020 sa a ta kapab yon bagay kòm byen sa a, se vo anyen. 587 00:27:45,020 --> 00:27:49,610 Gwosè a nan yon kalite done depann sou machin nan w ap travay avèk yo. 588 00:27:49,610 --> 00:27:56,760 Se konsa, yon karaktè, yon karaktè yon sèl, ki jan pou anpil bytes sou aparèy CS50 nou an? 589 00:27:56,760 --> 00:27:57,980 Yon multiple. 590 00:27:57,980 --> 00:28:02,310 Apre sa, li la aktyèlman yon sèl multiple kòm byen sou yon machin 64-ti jan. 591 00:28:02,310 --> 00:28:05,920 >> Ak pi fò done kalite yo se menm bagay nimewo a nan bytes sou tou de machin. 592 00:28:05,920 --> 00:28:11,620 Men, gen kèk kalite done ap diferan sou tou de machin. 593 00:28:11,620 --> 00:28:14,590 Se konsa, ki ta ka potansyèlman la sèlman bagay ou bezwen konnen. 594 00:28:14,590 --> 00:28:16,710 >> Men, menm sa, mwen panse, ale pi lwen limit yo - 595 00:28:16,710 --> 00:28:20,990 Mwen se prèske pozitif, si ou tounen gade dèyè nan ti tès fin vye granmoun, li di, sipoze pou 596 00:28:20,990 --> 00:28:24,090 kodaj pwoblèm w ap itilize yon 32-bit machin. 597 00:28:24,090 --> 00:28:26,620 598 00:28:26,620 --> 00:28:30,620 Men, gen, yo ale ansanm ak ke nan ka w ap enterese, gen 599 00:28:30,620 --> 00:28:35,920 kalite done ki se menm bagay la gwosè sou tout machin. 600 00:28:35,920 --> 00:28:42,670 >> Si ou te wè yon bagay tankou uint32_t, ou ka oswa ka 601 00:28:42,670 --> 00:28:43,260 pa gen pou wè sa. 602 00:28:43,260 --> 00:28:44,290 Sa se yon kalite done. 603 00:28:44,290 --> 00:28:47,570 Sa se li di, se pou 32 Bits pa gen pwoblèm sa machin sa a se sou. 604 00:28:47,570 --> 00:28:50,350 Se konsa, lè moun ap ekri pòtab Kòd yo, yo pwobableman pa pral sèvi ak antye. 605 00:28:50,350 --> 00:28:53,260 Yo pral olye pou sèvi ak lòt done sa yo kalite ke yo konnen yo pral menm bagay la tou 606 00:28:53,260 --> 00:28:54,780 gwosè sou chak machin sèl. 607 00:28:54,780 --> 00:28:58,080 608 00:28:58,080 --> 00:28:58,250 Madhu. 609 00:28:58,250 --> 00:29:00,150 >> Madhu: mwen te gen yon kesyon sou pwosesis la konpilasyon. 610 00:29:00,150 --> 00:29:04,110 Se konsa, si w ap ekri yon pwogram ki sèvi ak yon bibliyotèk tankou CS50 oswa yon bagay 611 00:29:04,110 --> 00:29:06,840 tankou sa yo, mwen konnen ke ke bibliyotèk gen yo, nan kèk pwen, ou dwe 612 00:29:06,840 --> 00:29:08,590 konpile ak lye pous 613 00:29:08,590 --> 00:29:13,380 Men, ki jan anpil nan sa ki ap pase pandan konpilasyon an nan pwogram ou an? 614 00:29:13,380 --> 00:29:15,880 Ki sa ki yon pati nan pwosesis bibliyotèk ki rive lè w ap 615 00:29:15,880 --> 00:29:18,560 konpile pwogram pwòp ou a? 616 00:29:18,560 --> 00:29:24,020 >> JASON HIRSCHHORN: Se konsa, kite a ale sou jeneralman etap sa yo nan pwosesis sa a. 617 00:29:24,020 --> 00:29:26,280 Ou ekri dosye c ou.. 618 00:29:26,280 --> 00:29:33,530 Nan dosye c ou., Ou # genyen ladan yo ou bibliyotèk header, pou egzanp, cs50.h. 619 00:29:33,530 --> 00:29:39,480 Ki sa ki byen file gen ladan liy fè nan pwogram ou an? 620 00:29:39,480 --> 00:29:40,525 Akchar. 621 00:29:40,525 --> 00:29:43,350 >> AKCHAR: Li ajoute prototip yo nan fonksyon yo soti nan header a 622 00:29:43,350 --> 00:29:45,120 dosye nan bibliyotèk yo. 623 00:29:45,120 --> 00:29:45,600 >> JASON HIRSCHHORN: Egzakteman. 624 00:29:45,600 --> 00:29:49,870 Li ajoute sa yo prototip fonksyon nan kòd ou a. 625 00:29:49,870 --> 00:29:55,230 Se konsa, lè se kòd ou a ke yo te konpile nan premye etap yo byen bonè, du a konnen 626 00:29:55,230 --> 00:29:59,250 ki fonksyon sa yo reyèlman egziste, ak ki yon kote yo te defini. 627 00:29:59,250 --> 00:30:02,460 Dosye yo. H pa gen ladan nan definisyon pou fonksyon sa yo oswa ki jan 628 00:30:02,460 --> 00:30:03,950 yo aktyèlman ap travay. 629 00:30:03,950 --> 00:30:07,960 Cs50.h jis gen ladan yon bagay ki di getstring se yon bagay reyèl ki 630 00:30:07,960 --> 00:30:09,270 ka rive. 631 00:30:09,270 --> 00:30:14,240 Apre sa, standardio.h di printf se yon bagay reyèl ki ka rive. 632 00:30:14,240 --> 00:30:23,190 >> Se konsa, lang c ou a ak sa a. Header dosye vin tounen kèk 633 00:30:23,190 --> 00:30:27,750 machin-lizib Kòd, ki evantyèlman vin tounen binè 634 00:30:27,750 --> 00:30:30,030 Kòd, 0 a ak 1 an. 635 00:30:30,030 --> 00:30:33,590 Epi sa a, kòd la ki finalman vin egzekite. 636 00:30:33,590 --> 00:30:38,550 -L liy lan cs50 - pou egzanp, lè w ap ekri rezone - 637 00:30:38,550 --> 00:30:41,830 ak Lè sa a, ou gen ladan-l cs50, ou tape ke pous 638 00:30:41,830 --> 00:30:42,180 Apre sa, ou wè sa. 639 00:30:42,180 --> 00:30:43,890 Lè w ekri fè, ou pral wè ke liy moute isit la. 640 00:30:43,890 --> 00:30:47,740 Apre sa, nou pral wè ke nan yon dezyèm lè nou kòd oswa pita sou lè nou kòd. 641 00:30:47,740 --> 00:30:50,390 >> Men, liy cs50 ki-l fè yon bagay yon ti jan diferan pase 642 00:30:50,390 --> 00:30:52,440 # yo gen ladan cs50.h. 643 00:30:52,440 --> 00:30:56,300 Ki sa ki dwat ki-l cs50 fè? 644 00:30:56,300 --> 00:30:56,820 Avi? 645 00:30:56,820 --> 00:31:00,310 >> AVI: Mwen vle di ke li lyen bibliyotèk nan fonksyon an 646 00:31:00,310 --> 00:31:02,710 rele, tankou. o dosye yo. 647 00:31:02,710 --> 00:31:08,200 >> JASON HIRSCHHORN: Se konsa, anpil fèmen, si se pa tach-sou. 648 00:31:08,200 --> 00:31:16,220 L nan-cs50 pran dosye a binè ak melanje l 'ak dosye binè ou. 649 00:31:16,220 --> 00:31:21,410 Se konsa, cs50.h, gen nan pa gen pwen nan vire cs50.h soti nan C lang binè chak 650 00:31:21,410 --> 00:31:23,130 yon sèl fwa li a ki te itilize. 651 00:31:23,130 --> 00:31:26,650 Ki ta ka dwòl, paske men sa ta gaspiye anpil tan. 652 00:31:26,650 --> 00:31:30,420 Se konsa, li te deja konpile epi yo tounen vin nan yon ègzèkutabl. 653 00:31:30,420 --> 00:31:35,430 Epi kounye a li se yo pral fizyone ak dosye ou nan fen an. 654 00:31:35,430 --> 00:31:38,370 Se konsa, 1 moun ki la ak 0 a yo pral nan amalgame ak sa ki ou 655 00:31:38,370 --> 00:31:39,150 ak 0 a nan fen an. 656 00:31:39,150 --> 00:31:43,670 Se konsa, koulye a ou pral gen aktyèlman aktyèl la 1 an ak 0 a ki defini ki jan getstring, 657 00:31:43,670 --> 00:31:47,890 pou egzanp, travay, oswa ki jan printf, pou egzanp, travay. 658 00:31:47,890 --> 00:31:52,750 >> Apre sa, pou plis enfòmasyon, gen nan yon konpilateur kout ki Nate bay ki 659 00:31:52,750 --> 00:31:55,410 ou ta dwe tcheke deyò ki ale nan etap sa yo. 660 00:31:55,410 --> 00:31:56,050 Men, - 661 00:31:56,050 --> 00:31:56,560 repons lan se wi. 662 00:31:56,560 --> 00:32:01,700 >> ELÈV: Eske yo se moun toujou nan o dosye. yo lè yo ap nan fòm nan bibliyotèk, 663 00:32:01,700 --> 00:32:06,764 pare yo dwe fizyone, lye - tankou yo ap nan kòd la binè? 664 00:32:06,764 --> 00:32:07,600 >> JASON HIRSCHHORN: OK. 665 00:32:07,600 --> 00:32:08,420 Ki sa ki - 666 00:32:08,420 --> 00:32:11,780 >> ELÈV: Eske se sa ke toujou ka a pou bibliyotèk yo lè ou genyen lyen yo? 667 00:32:11,780 --> 00:32:12,500 >> JASON HIRSCHHORN: Wi. 668 00:32:12,500 --> 00:32:17,300 Se konsa, gen dosye, ki pral nan. Yo Kòd machin, ki ap tou ap 669 00:32:17,300 --> 00:32:17,975 skre ba ou. 670 00:32:17,975 --> 00:32:19,410 Ou pa bezwen enkyete sou sa yo. 671 00:32:19,410 --> 00:32:24,930 Men, jeneralman, wi, yo pral dwe nan. o depoze pare ale. 672 00:32:24,930 --> 00:32:27,170 >> ELÈV: Se konsa, lè ou POU YO VOYE LI yon bibliyotèk, ou sèlman bato 673 00:32:27,170 --> 00:32:28,880 h la. ak o la.? 674 00:32:28,880 --> 00:32:32,210 Ou pa bato c la. Oswa s la.. 675 00:32:32,210 --> 00:32:33,070 >> JASON HIRSCHHORN: Se konsa, - 676 00:32:33,070 --> 00:32:36,260 ak sa a se nan sa a ti bout tan kòm byen, si enfòmasyon sa a sanble ap vini yon 677 00:32:36,260 --> 00:32:36,700 ti kras byen vit. 678 00:32:36,700 --> 00:32:39,870 Men, kout la sou konpilateur chita pale sou sa a tou. 679 00:32:39,870 --> 00:32:43,290 Lè ou bato yon bibliyotèk, si ou bato h la., dosye a header, sa yo ki 680 00:32:43,290 --> 00:32:46,290 prototip fonksyon, ak nan la 1 ak 0 a, sa a, se tout sa ou bezwen pou nou bay. 681 00:32:46,290 --> 00:32:50,640 Ou pa bezwen bay ki jan nan fonksyon travay, dosye a c.. 682 00:32:50,640 --> 00:32:56,360 Paske pwen nan distraksyon, oswa nan pwen APIs, pwen an nan spl sa a, 683 00:32:56,360 --> 00:32:59,650 bibliyotèk la pòtab Stanford, li nan pou ou pou w pa enkyete sou kòman nouvo 684 00:32:59,650 --> 00:33:04,220 GRect ap travay, oswa ki jan deplase travay, oswa ki jan ajoute travay. 685 00:33:04,220 --> 00:33:06,520 Tout sa ou bezwen konnen se ke ajoute se yon fonksyon ki ou kapab 686 00:33:06,520 --> 00:33:08,880 itilize, e li fè sa sa a. 687 00:33:08,880 --> 00:33:12,760 Se konsa, ou reyèlman pa bezwen konnen ki jan li nan ekri nan C. Ou jis bezwen 688 00:33:12,760 --> 00:33:15,460 konnen, isit la se fonksyon yo, ki sa yo fè, ak isit la yo se la a 1 an ak 0 689 00:33:15,460 --> 00:33:18,870 lè ou reyèlman vle sèvi ak yo. 690 00:33:18,870 --> 00:33:19,530 >> Fre. 691 00:33:19,530 --> 00:33:26,980 Nenpòt ki plis kesyon sou konpilateur oswa lòt sijè sou tablo a? 692 00:33:26,980 --> 00:33:30,300 >> ELÈV: Mwen gen yon kesyon nan mete ann aplikasyon fonksyon repetitif. 693 00:33:30,300 --> 00:33:31,170 Yon kesyon sou rkursyon. 694 00:33:31,170 --> 00:33:33,030 Mwen te gen yon santiman ki ta vini. 695 00:33:33,030 --> 00:33:38,310 Se konsa, kite a byen vit ale nan rkursyon ak yon espesifik 696 00:33:38,310 --> 00:33:40,690 egzanp, yon fonksyon faktoryèl. 697 00:33:40,690 --> 00:33:44,920 Paske sa a se yon egzanp pou souvan vini monte oswa ki itilize 698 00:33:44,920 --> 00:33:46,170 ilistre rkursyon. 699 00:33:46,170 --> 00:33:52,390 700 00:33:52,390 --> 00:33:56,410 >> Se konsa, "4!" Men kouman pou li kòm 4 faktoryèl. 701 00:33:56,410 --> 00:33:59,120 Ak sa ki 4 faktoryèl vle di? 702 00:33:59,120 --> 00:34:00,696 Ki sa ki ki fè? 703 00:34:00,696 --> 00:34:02,235 Ki jan ou fè kalkile 4 faktoryèl? 704 00:34:02,235 --> 00:34:05,250 705 00:34:05,250 --> 00:34:07,960 4 fwa 3 fwa 2 fwa 1. 706 00:34:07,960 --> 00:34:11,889 >> Se konsa, yon lòt fason yo ekri 4 faktoryèl se yo ekri sa a. 707 00:34:11,889 --> 00:34:16,780 708 00:34:16,780 --> 00:34:19,022 4 fwa 3 faktoryèl. 709 00:34:19,022 --> 00:34:22,080 Paske 3 faktoryèl se 3 fwa 2 fwa 1. 710 00:34:22,080 --> 00:34:27,580 Se konsa, 4 fwa 3 faktoryèl se 4 fwa 3 fwa 2 fwa 1. 711 00:34:27,580 --> 00:34:32,679 Sa a se poukisa faktoryèl se yon gwo kandida pou rkursyon, paske li nan 712 00:34:32,679 --> 00:34:36,630 klè ke gen se yon bagay ki k ap pase sou yo ak sou yo ak sou sou yon 713 00:34:36,630 --> 00:34:39,820 ki pi piti nimewo de bagay sa yo jouk ou rive nan fen an. 714 00:34:39,820 --> 00:34:42,570 Lè ou rive nan 1, 1 faktoryèl se 1. 715 00:34:42,570 --> 00:34:43,719 Ou pa ka ale anpil pi lwen. 716 00:34:43,719 --> 00:34:47,219 Se 0 faktoryèl tou defini kòm 1. 717 00:34:47,219 --> 00:34:50,679 Se konsa, lè ou rive nan 1 oswa 0, w ap nan fen a, epi ou ka 718 00:34:50,679 --> 00:34:53,219 kòmanse ale tounen moute. 719 00:34:53,219 --> 00:34:59,540 Se konsa, si nou te vle ekri yon repetitif fonksyon yo kalkile yon faktoryèl, 720 00:34:59,540 --> 00:35:02,170 nou pral ekri kèk pseudocode pou sa kounye a. 721 00:35:02,170 --> 00:35:03,300 Anvan nou ekri ke pseudocode - 722 00:35:03,300 --> 00:35:05,660 Mwen pral ba w mesye yon koup la minit yo ekri kòd la pseudo oswa jis panse 723 00:35:05,660 --> 00:35:09,600 sou li - ki te gen de bagay sa yo chak fonksyon repetitif bezwen. 724 00:35:09,600 --> 00:35:12,530 Ki sa ki de bagay sa yo? 725 00:35:12,530 --> 00:35:13,220 >> Jack: Li te gen yo rele tèt li. 726 00:35:13,220 --> 00:35:13,680 >> JASON HIRSCHHORN: Noe? 727 00:35:13,680 --> 00:35:14,460 Oh, Jack. 728 00:35:14,460 --> 00:35:15,100 Ale pi devan. 729 00:35:15,100 --> 00:35:16,640 >> Jack: Li te gen yo rele tèt li. 730 00:35:16,640 --> 00:35:19,220 >> JASON HIRSCHHORN: Se konsa, yon repetitif fonksyon bezwen yon apèl repetitif, yon 731 00:35:19,220 --> 00:35:20,220 rele nan tèt li. 732 00:35:20,220 --> 00:35:20,770 Sa a yon sèl. 733 00:35:20,770 --> 00:35:21,510 Ak sa ki nan bagay la lòt? 734 00:35:21,510 --> 00:35:22,250 >> Jack: Yon ka baz. 735 00:35:22,250 --> 00:35:23,780 >> JASON HIRSCHHORN: A ka baz. 736 00:35:23,780 --> 00:35:26,940 Yon ka baz se, isit la nan lè nou sispann. 737 00:35:26,940 --> 00:35:29,510 Se konsa, vin fonksyon ou rele. 738 00:35:29,510 --> 00:35:31,410 Ka a baz vini anvan. 739 00:35:31,410 --> 00:35:33,710 Ou vle konnen si w ap nan fen an. 740 00:35:33,710 --> 00:35:37,110 Men, si ou pa nan fen a, ou fè apèl repetitif ou. 741 00:35:37,110 --> 00:35:39,880 Apre sa, ou ale nan fonksyon sa a ankò, tcheke ka baz ou a ankò. 742 00:35:39,880 --> 00:35:42,575 Si ou pa fen a, ou fè yon lòt apèl repetitif, 743 00:35:42,575 --> 00:35:44,130 et setra, et setra. 744 00:35:44,130 --> 00:35:47,110 >> Se poutèt sa fonksyon repetitif toujou bezwen sa yo ka baz, ak moun ki 745 00:35:47,110 --> 00:35:48,210 apèl repetitif. 746 00:35:48,210 --> 00:35:51,280 Si ou pa gen yon apèl repetitif, li pa ta dwe yon fonksyon repetitif. 747 00:35:51,280 --> 00:35:53,210 Si ou pa t 'gen yon ka baz, ou ta ale ak pou tout tan 748 00:35:53,210 --> 00:35:54,780 ta gen pa gen okenn fini. 749 00:35:54,780 --> 00:35:57,870 Epi ka-a baz toujou vini an premye, paske ou ap toujou vle tcheke 750 00:35:57,870 --> 00:36:00,420 si w ap nan fen a an premye. 751 00:36:00,420 --> 00:36:04,770 Se konsa, anvan nou fè kèk pseudocode, poukisa ou pa pran yon minit yo reflechi sou 752 00:36:04,770 --> 00:36:09,360 ki jan yon fonksyon repetitif faktoryèl ta dwe ekri? 753 00:36:09,360 --> 00:36:23,340 754 00:36:23,340 --> 00:36:26,010 >> Epitou, anpil jan ou ap fè, ekriti li soti sou yon fèy papye se 755 00:36:26,010 --> 00:36:27,960 ki sa w ap pral fè yo fè sou egzamen an demen. 756 00:36:27,960 --> 00:36:32,160 Se konsa, pwobableman bon pratik fè asire w ke kòd la w ap ekri 757 00:36:32,160 --> 00:36:34,420 desann sou fèy papye - 758 00:36:34,420 --> 00:36:35,160 oswa ou ka fè sa. 759 00:36:35,160 --> 00:36:36,710 Èske w konnen kote virgules yo ye. 760 00:36:36,710 --> 00:36:37,660 Ou sonje sentaks la. 761 00:36:37,660 --> 00:36:40,400 Paske ou pa ap kapab gen yon du di ou fè yon erè. 762 00:36:40,400 --> 00:37:02,356 763 00:37:02,356 --> 00:37:07,240 >> Epitou, ansanm sa yo ki liy, denmen maten, lè ou te kodaj pwoblèm, si ou 764 00:37:07,240 --> 00:37:11,490 yo kouri pou tan, oswa si w ap trè konfonn sou fason w ap sipoze 765 00:37:11,490 --> 00:37:16,030 ekri bagay la patikilye nan c, li ta behoove w ekri pseudo-Kòd 766 00:37:16,030 --> 00:37:18,160 oswa ekri kòmantè nan kòm byen. 767 00:37:18,160 --> 00:37:21,940 Paske gen nan yon pati nan kredi pou yon anpil nan kesyon ki nan egzamen an. 768 00:37:21,940 --> 00:37:24,840 Se konsa, ou ka kouri, oswa ou ta ka jis dwe bay konfizyon. 769 00:37:24,840 --> 00:37:28,030 Ekri nan kòmantè oswa pseudo-Kòd yo souvan fason ke ou 770 00:37:28,030 --> 00:37:29,360 ka jwenn yon pati nan kredi. 771 00:37:29,360 --> 00:37:31,440 >> Se konsa, pa kite yon bagay vid sou egzamen an. 772 00:37:31,440 --> 00:37:33,490 Gen nan pa gen penalite pou mete bagay sa yo pous 773 00:37:33,490 --> 00:37:37,650 An reyalite, mete nan pseudo-Kòd oswa kòmantè se ale nan ede elèv klas la 774 00:37:37,650 --> 00:37:40,410 detèminen si ou aktyèlman konnen ki sa wap pale osijè de, ak petèt prim 775 00:37:40,410 --> 00:37:42,030 ou kèk kredi yon pati nan pou sa. 776 00:37:42,030 --> 00:37:44,510 >> Epitou sou liy sa yo, ekri byen klè. 777 00:37:44,510 --> 00:37:47,650 Si nou ka pa vrèman sa w ap ekri, nou pa ap ale nan rele w 778 00:37:47,650 --> 00:37:49,900 nan mitan lannwit demen ak figi konnen ki sa ki ou te ekri. 779 00:37:49,900 --> 00:37:51,520 Nou jis ap pral pran nan pwen. 780 00:37:51,520 --> 00:37:56,570 Ekri klèman pou nou ka tande, oswa olye, nou ka li sa ou te ekri. 781 00:37:56,570 --> 00:38:00,230 >> Men, si li di de fraz, Pa fè ekri yon paragraf. 782 00:38:00,230 --> 00:38:02,280 Swiv enstriksyon yo. 783 00:38:02,280 --> 00:38:03,500 Ekri byen klè. 784 00:38:03,500 --> 00:38:07,720 Epi ekri nan sa yo kòmantè oswa pseudocode pou kesyon ki te kapab 785 00:38:07,720 --> 00:38:10,270 prim yon pati nan kredi. 786 00:38:10,270 --> 00:38:12,520 >> OK, se pou yo ale nan faktoryèl. 787 00:38:12,520 --> 00:38:15,000 Se konsa, nou gen yon faktoryèl fonksyon. 788 00:38:15,000 --> 00:38:18,400 789 00:38:18,400 --> 00:38:21,550 Si m 'te ki aktyèlman ekri sa a nan C, sa m 'bezwen mete devan non an 790 00:38:21,550 --> 00:38:22,800 nan fonksyon an? 791 00:38:22,800 --> 00:38:24,880 792 00:38:24,880 --> 00:38:30,060 Kalite a retounen, ki, nan sa a ka, nou pral bay li Int. 793 00:38:30,060 --> 00:38:35,450 Lè sa a, andedan aparèy òtopedik yo Curly, se sa ki ale andedan aparèy òtopedik yo Curly pou 794 00:38:35,450 --> 00:38:36,850 yon fonksyon? 795 00:38:36,850 --> 00:38:37,950 >> ELÈV YO: di ki kalite Agiman. 796 00:38:37,950 --> 00:38:39,150 >> JASON HIRSCHHORN: agiman li yo. 797 00:38:39,150 --> 00:38:42,680 Se konsa, faktoryèl pral pwobableman pran yon agiman. 798 00:38:42,680 --> 00:38:44,500 Li ap pwobableman sèlman pran yon agiman. 799 00:38:44,500 --> 00:38:49,450 Epitou, n ap di li ap pran yon nonb antye relatif rele x. 800 00:38:49,450 --> 00:38:52,770 Men, lè ekri pwototip a nan yon fonksyon oswa ekri fonksyon an 801 00:38:52,770 --> 00:38:57,110 nan kòd ou anvan ou defini li, ou ekri kalite a done ak non an nan 802 00:38:57,110 --> 00:39:01,370 varyab sa a pou sa fonksyon sèlman. 803 00:39:01,370 --> 00:39:06,350 Se konsa, ou ka pase kèk nimewo nan sa a fonksyon, li pral refere yo kòm x 804 00:39:06,350 --> 00:39:07,340 intern. 805 00:39:07,340 --> 00:39:08,755 >> Nou gen fonksyon faktoryèl nou an. 806 00:39:08,755 --> 00:39:12,030 807 00:39:12,030 --> 00:39:15,850 Nou bezwen de bagay sa yo, yon ka baz ak yon apèl repetitif. 808 00:39:15,850 --> 00:39:20,900 Ki sa ki se ka a baz pou faktoryèl? 809 00:39:20,900 --> 00:39:24,850 Yon moun ki te ekri l 'voye ki pa gen anyen pale ankò, sa ki baz la 810 00:39:24,850 --> 00:39:26,100 ka pou faktoryèl? 811 00:39:26,100 --> 00:39:28,400 812 00:39:28,400 --> 00:39:30,930 >> ELÈV: Si n ki pi piti a pase 2, retounen 1. 813 00:39:30,930 --> 00:39:33,520 >> JASON HIRSCHHORN: Si n se mwens pase 2, retounen 1. 814 00:39:33,520 --> 00:39:37,216 Mwen renmen sa, paske sa pran swen de 0 ak 1. 815 00:39:37,216 --> 00:39:45,290 Se konsa, nou pral fè x <2, retounen 1. 816 00:39:45,290 --> 00:39:47,870 Si nou jwenn te pase 0, si nou pran pase 1, fonksyon sa a ap 817 00:39:47,870 --> 00:39:49,790 imedyatman retounen 1. 818 00:39:49,790 --> 00:39:54,020 Si nou jwenn te pase kèk pi gwo nimewo pase oswa egal a 2, nou pral 819 00:39:54,020 --> 00:39:55,370 gen rele repetitif nou an. 820 00:39:55,370 --> 00:39:57,855 >> Se konsa, ki jan yo ki ale nan travay? 821 00:39:57,855 --> 00:40:01,070 Èske yon lòt moun ki te travay sou sa a ki pa te di l 'ankò, ban m' an 822 00:40:01,070 --> 00:40:07,380 repetitif rele pou fonksyon sa a nan pseudocode? 823 00:40:07,380 --> 00:40:10,770 Si nou jwenn te pase nan yon kantite x epi li pi gran pase 2, ki 824 00:40:10,770 --> 00:40:13,370 nou vle fè? 825 00:40:13,370 --> 00:40:17,930 Nou menm tou nou te yon egzanp ekri sou la bò ki ta ka ba ou yon allusion. 826 00:40:17,930 --> 00:40:20,770 >> ELÈV: Rele x fwa a faktoryèl nan x 1 mwens? 827 00:40:20,770 --> 00:40:22,020 >> JASON HIRSCHHORN: Egzakteman dwat. 828 00:40:22,020 --> 00:40:24,610 829 00:40:24,610 --> 00:40:37,750 Nou pral retounen x fwa faktoryèl a nan 1 x mwens. 830 00:40:37,750 --> 00:40:41,810 Epi ki, menm si mwen te ekri leve, fondamantalman, sa ou te di nan lang angle, 831 00:40:41,810 --> 00:40:44,580 fonksyon sa a faktoryèl pral jwenn yo rele ankò. 832 00:40:44,580 --> 00:40:46,320 Li pral egzekite sou x mwens 1. 833 00:40:46,320 --> 00:40:49,320 Li pral retounen ak kèk nonb antye ki pè, ak Lè sa a, li pral anpil anpil pitit de moun sa yo 834 00:40:49,320 --> 00:40:52,050 ansanm, epi ke valè yo pral tounen nan tou sa yo rele sa a 835 00:40:52,050 --> 00:40:55,010 fonksyon faktoryèl, ki ta ka yon lòt egzanp nan 836 00:40:55,010 --> 00:40:58,420 fonksyon faktoryèl sa a. 837 00:40:58,420 --> 00:41:01,360 >> Se konsa, ki se yon egzanp nan yon repetitif fonksyon, yon trè 838 00:41:01,360 --> 00:41:02,530 senp fonksyon repetitif. 839 00:41:02,530 --> 00:41:04,530 Men, pi fò nan yo yo pral tankou sa a. 840 00:41:04,530 --> 00:41:11,170 Si ou ta renmen yon repetitif bon defi pou egzamen an, eseye kodaj 841 00:41:11,170 --> 00:41:13,230 binè rechèch recursive. 842 00:41:13,230 --> 00:41:18,950 Paske si ou te fè binè rechèch pou pwoblèm mete twa, pwobableman ou te fè l ' 843 00:41:18,950 --> 00:41:21,730 iterativman nan yon bouk ti tan. 844 00:41:21,730 --> 00:41:23,700 >> Men, li kapab tou gen pou ekri recursive. 845 00:41:23,700 --> 00:41:26,310 W ap ale nan bezwen ekri pwòp ou a fonksyon apa ki pran kèk 846 00:41:26,310 --> 00:41:29,020 diferan agiman lòd-liy - oswa pa bay lòd-liy agiman, gen kèk 847 00:41:29,020 --> 00:41:30,910 diferan agiman jis regilye. 848 00:41:30,910 --> 00:41:33,870 Men, ou ta ka ekri binè rechèch recursive kòm byen. 849 00:41:33,870 --> 00:41:36,190 >> ELÈV: Se konsa, ou ta ka ekri yo te tou, olye pou yo x mwens 1, ou 850 00:41:36,190 --> 00:41:39,502 te kapab ekri tou x mwens mwens, oswa ou ta ka genyen 851 00:41:39,502 --> 00:41:40,830 ekri x mwens mwens. 852 00:41:40,830 --> 00:41:44,740 Èske ou ka jis eksplike vrèman byen vit poukisa sa yo ta dwe bagay sa yo diferan, 853 00:41:44,740 --> 00:41:49,510 tankou sa ki diferans ki genyen ant x mwens mwens ak mwens mwens x? 854 00:41:49,510 --> 00:41:51,320 >> JASON HIRSCHHORN: Non, mwen pa se ale nan antre nan sa. 855 00:41:51,320 --> 00:41:55,500 Men, m'ap pale avèk ou sou li apre klas la. x mwens mwens, mwens mwens x 856 00:41:55,500 --> 00:41:57,780 dekrwasans x pa 1. 857 00:41:57,780 --> 00:41:59,090 Men, yo fè l 'yon ti jan yon lòt jan. 858 00:41:59,090 --> 00:42:00,340 Men, mwen pa ta vle ale nan sa. 859 00:42:00,340 --> 00:42:04,330 860 00:42:04,330 --> 00:42:09,090 Lòt kesyon sou rkursyon oswa fonksyon sa a? 861 00:42:09,090 --> 00:42:10,140 Sa a pa reyèlman menm pseudocode. 862 00:42:10,140 --> 00:42:15,060 Sa a fondamantalman kòd la nan C ou ta ekri pou sa a. 863 00:42:15,060 --> 00:42:19,393 >> OK, nenpòt lòt kesyon sou sijè moute isit la? 864 00:42:19,393 --> 00:42:19,864 Yeah. 865 00:42:19,864 --> 00:42:23,130 >> ELÈV: Mwen gen yon fatige rapid nan k ap flote pwen ak presizyon. 866 00:42:23,130 --> 00:42:24,260 >> JASON HIRSCHHORN: K ap flote pwen ak presizyon. 867 00:42:24,260 --> 00:42:26,920 Èske yon moun reyèlman byen vit ban m 'yon fatige nan 868 00:42:26,920 --> 00:42:28,210 k ap flote pwen ak presizyon? 869 00:42:28,210 --> 00:42:30,420 Ou tout te fè sa a pou ou pwoblèm mete, se konsa w ap tout 870 00:42:30,420 --> 00:42:31,700 abitye ak li. 871 00:42:31,700 --> 00:42:35,090 Oswa petèt pa nou tout ki. 872 00:42:35,090 --> 00:42:36,602 Nenpòt moun ki? 873 00:42:36,602 --> 00:42:39,530 Ban m 'yon plas kòmanse. 874 00:42:39,530 --> 00:42:40,750 K ap flote pwen ak presizyon. 875 00:42:40,750 --> 00:42:42,380 Ki sa ki nan pwoblèm nan? 876 00:42:42,380 --> 00:42:42,960 Wi. 877 00:42:42,960 --> 00:42:43,680 Victoria? 878 00:42:43,680 --> 00:42:44,480 >> Vanessa: Vanessa. 879 00:42:44,480 --> 00:42:45,285 >> JASON HIRSCHHORN: Vanessa. 880 00:42:45,285 --> 00:42:45,680 M regrèt. 881 00:42:45,680 --> 00:42:51,550 >> Vanessa: Genyen sèlman yon kantite fini nan nimewo ki ka reprezante 882 00:42:51,550 --> 00:42:57,930 paske ou se sou yon, nan nou an ka, yon sistèm 32-ti jan. 883 00:42:57,930 --> 00:43:03,080 Se konsa, ou kalite gen fè moute kèk nimewo. 884 00:43:03,080 --> 00:43:03,910 >> JASON HIRSCHHORN: Se konsa, sa a, se egzakteman dwat. 885 00:43:03,910 --> 00:43:08,110 Gen sèlman yon sèten kantite nonb ki kapab reprezante. 886 00:43:08,110 --> 00:43:11,770 Si ou anpil anpil pitit de nonb gwo anpil, li ta ka debòde kantite lajan an 887 00:43:11,770 --> 00:43:13,950 nan espas ou gen reprezante yon nonb antye relatif. 888 00:43:13,950 --> 00:43:17,930 Se poutèt sa pafwa nou sèvi ak yon lontan lontan olye pou yo yon Int. 889 00:43:17,930 --> 00:43:19,210 Ki gen plis espas. 890 00:43:19,210 --> 00:43:21,210 Ki kapab kenbe yon nimewo ki pi gwo. 891 00:43:21,210 --> 00:43:24,310 >> K ap flote pwen presizyon te fè ak ki, men tou, te fè ak an 892 00:43:24,310 --> 00:43:29,300 reyalite ki nimewo desimal yo pa toujou reprezante. 893 00:43:29,300 --> 00:43:29,540 M regrèt. 894 00:43:29,540 --> 00:43:31,280 Kite m 'mete sa a tounen moute. 895 00:43:31,280 --> 00:43:36,610 Nimewo a desimal 1.0 se pa toujou reprezante tankou ou ta atann, 896 00:43:36,610 --> 00:43:40,770 1,000000000. 897 00:43:40,770 --> 00:43:50,360 Li se pafwa reprezante kòm 1,000000001 oswa 0,999999999. 898 00:43:50,360 --> 00:43:52,780 Li ta ka menm 89 voye jete nan gen yon kote. 899 00:43:52,780 --> 00:43:56,560 Se konsa, moun nimewo desimal yo pa reprezante egzakteman menm jan ak ou ta 900 00:43:56,560 --> 00:43:58,430 atann yo yo dwe reprezante. 901 00:43:58,430 --> 00:44:00,010 >> Se konsa, nan pwoblèm mete - 902 00:44:00,010 --> 00:44:00,860 li te de? - 903 00:44:00,860 --> 00:44:05,290 pwoblèm mete de, kote nou te fè fas ak nimewo k ap flote pwen, lè nou te vle 904 00:44:05,290 --> 00:44:08,690 yo reprezante ekzakteman ki sa nou te vle yo reprezante, nimewo a 905 00:44:08,690 --> 00:44:12,860 nan peni, oswa ki kantite santim, nou anpil anpil pitit yo pa 100. 906 00:44:12,860 --> 00:44:14,750 Nou awondi yo. 907 00:44:14,750 --> 00:44:18,660 Lè sa a, nou koupe tout bagay dèyè pwen desimal la. 908 00:44:18,660 --> 00:44:22,020 Sa ki te asire yo ke yo ta aktyèlman egal ekzakteman ki sa nou te vle 909 00:44:22,020 --> 00:44:22,410 yo egal-ego. 910 00:44:22,410 --> 00:44:26,870 >> Paske lè ou pran yon bagay sa a, se yon flote ak vire l 'nan yon Int, ou 911 00:44:26,870 --> 00:44:29,860 koupe tout bagay sa yo dwa pou pwen an desimal. 912 00:44:29,860 --> 00:44:33,900 Paske gen nan kèk pwen k ap flote enpresizyon, 100.000 ta kapab 913 00:44:33,900 --> 00:44:37,440 reprezante kòm 99.999999999. 914 00:44:37,440 --> 00:44:40,350 Ak si ou jis koupe tout bagay sa yo dwa pou touswit, w ap ale nan 915 00:44:40,350 --> 00:44:41,600 jwenn nimewo a mal. 916 00:44:41,600 --> 00:44:44,050 917 00:44:44,050 --> 00:44:44,180 Yeah. 918 00:44:44,180 --> 00:44:45,290 >> ELÈV: mwen te gen yon kesyon sou depoze. 919 00:44:45,290 --> 00:44:47,500 Ki sa ki lòd li rive nan? 920 00:44:47,500 --> 00:44:54,480 Si w ta fè flote, parantèz, 1 divize pa 10, li 1 divize pa 10, 921 00:44:54,480 --> 00:44:58,910 Lè sa a, jwenn 0.1, lè sa a vire li nan yon flote? 922 00:44:58,910 --> 00:45:01,470 >> JASON HIRSCHHORN: Si ou fè sa flote 1 divize pa 10 - 923 00:45:01,470 --> 00:45:02,550 >> ELÈV: Yeah, ak Lè sa a egal - 924 00:45:02,550 --> 00:45:04,240 byen, li ta nòmalman genyen li egal nan - 925 00:45:04,240 --> 00:45:04,690 Yeah. 926 00:45:04,690 --> 00:45:06,760 Ou vle fè l 'yon flote, dwa? 927 00:45:06,760 --> 00:45:12,790 >> JASON HIRSCHHORN: OK, se konsa nou ap ale nan sèvi ak ke yo seg nan lè n ap kalkile soti 928 00:45:12,790 --> 00:45:15,390 repons kesyon sa yo nan kodaj. 929 00:45:15,390 --> 00:45:18,180 Paske ou ap pwobableman gen yon anpil nan kesyon sa yo minit, epi yon bon fason 930 00:45:18,180 --> 00:45:19,100 yo rezoud yo, se nan kodaj. 931 00:45:19,100 --> 00:45:21,320 Se konsa, nou ap ale nan kòd dwa sa-a kounye a, ak Lè sa a, nou pral tounen ladan l epi 932 00:45:21,320 --> 00:45:24,020 kòd kesyon an ou te fè. 933 00:45:24,020 --> 00:45:24,950 >> Se konsa, liy la premye - 934 00:45:24,950 --> 00:45:29,390 Mwen pa ta dwe te ekri li - ki sa ki premye bagay nou vle fè lè nou 935 00:45:29,390 --> 00:45:32,250 louvri moute yon nouvo dosye ki nan jdi? 936 00:45:32,250 --> 00:45:34,190 >> ELÈV: Mete. 937 00:45:34,190 --> 00:45:35,920 >> JASON HIRSCHHORN: Enkli ki sa? 938 00:45:35,920 --> 00:45:37,952 >> ELÈV: bibliyotèk CS50. 939 00:45:37,952 --> 00:45:39,920 >> JASON HIRSCHHORN: OK. 940 00:45:39,920 --> 00:45:42,590 Ki lòt bagay nou ta dwe gen ladan l? 941 00:45:42,590 --> 00:45:46,820 Nou jis ap ale nan tcheke sa k ap pase lè ou jete yon bagay nan yon flote. 942 00:45:46,820 --> 00:45:48,605 Men, sa ki nou bezwen gen ladan si nou ap pral ekri yon pwogram C? 943 00:45:48,605 --> 00:45:49,300 >> ELÈV: Creole Mwen / O. 944 00:45:49,300 --> 00:45:50,625 >> JASON HIRSCHHORN: stdio.h. 945 00:45:50,625 --> 00:45:54,880 Nou aktyèlman pa bezwen, pou sa a pwogram nan, cs50.h, menm si li nan 946 00:45:54,880 --> 00:45:55,920 toujou ede genyen ladan yo li. 947 00:45:55,920 --> 00:45:58,260 Men, nou toujou bezwen stdio.h. 948 00:45:58,260 --> 00:45:59,660 >> ELÈV: Lè kodaj nan C? 949 00:45:59,660 --> 00:46:15,770 >> JASON HIRSCHHORN: Lè kodaj nan C. 950 00:46:15,770 --> 00:46:17,090 >> Se konsa, mwen delivre l 'tankou sa a dosye c.. 951 00:46:17,090 --> 00:46:18,590 Mwen jwenn kèk eklèrsisaj sentaks bèl. 952 00:46:18,590 --> 00:46:22,890 Mwen te ekri anile andedan prensipal la. 953 00:46:22,890 --> 00:46:24,792 Ki sa ki anile vle di? 954 00:46:24,792 --> 00:46:26,740 >> ELÈV: Pa pran okenn lòd-liy agiman. 955 00:46:26,740 --> 00:46:28,900 >> JASON HIRSCHHORN: vle di vid, nan ka sa ka, prensipal pa pran okenn 956 00:46:28,900 --> 00:46:29,700 lòd-liy agiman. 957 00:46:29,700 --> 00:46:32,720 Nan kèk lòt ka, sa vle di fonksyon an pa pran lòd-liy agiman. 958 00:46:32,720 --> 00:46:36,560 Oswa fonksyon an, si m 'te ekri anile prensipal (san valè), ki ta ka di nan prensipal 959 00:46:36,560 --> 00:46:38,460 pa retounen anyen. 960 00:46:38,460 --> 00:46:39,960 Se konsa, anile jis vle di pa gen anyen. 961 00:46:39,960 --> 00:46:42,510 Ki sa mwen ta ekri si m 'te pran lòd-liy agiman? 962 00:46:42,510 --> 00:46:45,250 963 00:46:45,250 --> 00:46:47,150 >> ELÈV: Int arc ak c fisèl arc ak v 964 00:46:47,150 --> 00:46:49,055 >> JASON HIRSCHHORN: Int arg fisèl argv. 965 00:46:49,055 --> 00:46:54,050 966 00:46:54,050 --> 00:46:55,572 Eske se sa ke dwa? 967 00:46:55,572 --> 00:46:58,720 >> ELÈV: Se Char parantèz zetwal argv. 968 00:46:58,720 --> 00:47:01,730 >> JASON HIRSCHHORN: Se konsa, ou ta ka ekri parantèz fisèl argv oswa zetwal Char argv 969 00:47:01,730 --> 00:47:03,710 parantèz, men ou bezwen parantèz yo. 970 00:47:03,710 --> 00:47:06,290 Paske argv se yon etalaj nan strings, sonje. 971 00:47:06,290 --> 00:47:07,360 Li pa jis yon sèl fisèl. 972 00:47:07,360 --> 00:47:10,350 Se konsa, fil argv se, isit la nan yon sèl fil rele argv. 973 00:47:10,350 --> 00:47:13,630 Parantèz chèn argv se, isit la nan yon etalaj de strings. 974 00:47:13,630 --> 00:47:17,865 Se konsa, Int parantèz arg argv fisèl ta dwe yon bagay ki mwen 975 00:47:17,865 --> 00:47:18,810 ta pwobableman ekri. 976 00:47:18,810 --> 00:47:23,050 >> Se konsa, ou te vle pou konsève pou nan yon nonb antye? 977 00:47:23,050 --> 00:47:24,285 >> ELÈV: Yeah, nonb antye ki pè. 978 00:47:24,285 --> 00:47:25,840 Oswa nan yon flote. 979 00:47:25,840 --> 00:47:26,710 >> JASON HIRSCHHORN: Nan yon flote? 980 00:47:26,710 --> 00:47:30,790 Tankou, flote x egal 1 divize pa 10. 981 00:47:30,790 --> 00:47:32,040 >> JASON HIRSCHHORN: OK. 982 00:47:32,040 --> 00:47:40,160 983 00:47:40,160 --> 00:47:42,240 Kouman pou mwen enprime soti yon flote nan printf? 984 00:47:42,240 --> 00:47:45,100 985 00:47:45,100 --> 00:47:46,714 Ki sa? 986 00:47:46,714 --> 00:47:47,560 >> ELÈV:% f. 987 00:47:47,560 --> 00:47:48,300 >> JASON HIRSCHHORN:% f. 988 00:47:48,300 --> 00:47:50,810 Ki sa ki nan yon nonb antye? 989 00:47:50,810 --> 00:47:52,110 d oswa mwen. 990 00:47:52,110 --> 00:47:53,000 Ki sa ki nan yon kòd? 991 00:47:53,000 --> 00:47:54,240 >> ELÈV: a. 992 00:47:54,240 --> 00:47:56,140 >> JASON HIRSCHHORN: a. 993 00:47:56,140 --> 00:47:57,550 Kouman pou mwen jwenn yon liy nouvo? 994 00:47:57,550 --> 00:47:58,800 >> ELÈV: antislach n. 995 00:47:58,800 --> 00:48:04,610 996 00:48:04,610 --> 00:48:07,100 >> JASON HIRSCHHORN: Ki sa mwen retounen si kouri prensipal kòrèkteman? 997 00:48:07,100 --> 00:48:08,360 >> ELÈV: 0. 998 00:48:08,360 --> 00:48:09,430 Mwen bezwen ekri ke liy, menm si? 999 00:48:09,430 --> 00:48:10,170 >> ELÈV: No 1000 00:48:10,170 --> 00:48:11,513 OK, nou pa pral ekri li, lè sa a. 1001 00:48:11,513 --> 00:48:16,450 1002 00:48:16,450 --> 00:48:17,190 Èske tout moun li sa? 1003 00:48:17,190 --> 00:48:18,485 Li sanble yon ti jan piti. 1004 00:48:18,485 --> 00:48:20,160 Èske tout moun wè, oswa yo ta dwe Mwen fè l 'pi gwo? 1005 00:48:20,160 --> 00:48:23,480 1006 00:48:23,480 --> 00:48:25,100 Mwen panse ke pou kamera a, nou pral fè li yon ti jan pi gwo, menm si. 1007 00:48:25,100 --> 00:48:35,750 1008 00:48:35,750 --> 00:48:38,410 >> JASON HIRSCHHORN: Si m 'vle vire sa a . C pote nan yon ègzèkutabl, ki sa ki 1009 00:48:38,410 --> 00:48:39,260 Mwen ekri? 1010 00:48:39,260 --> 00:48:41,610 >> ELÈV: Fè egzamen an. 1011 00:48:41,610 --> 00:48:42,080 >> JASON HIRSCHHORN: M regrèt? 1012 00:48:42,080 --> 00:48:42,790 >> ELÈV: Fè egzamen an. 1013 00:48:42,790 --> 00:48:44,040 >> JASON HIRSCHHORN: Fè egzamen an. 1014 00:48:44,040 --> 00:48:46,700 1015 00:48:46,700 --> 00:48:48,410 Nou te pale sou liy sa a pi bonè. 1016 00:48:48,410 --> 00:48:49,140 Sonnen. 1017 00:48:49,140 --> 00:48:51,270 Ki sa ki nan sonnen? 1018 00:48:51,270 --> 00:48:52,200 Non a nan du a. 1019 00:48:52,200 --> 00:48:53,920 Ki sa ki nan liy sa a? 1020 00:48:53,920 --> 00:48:55,580 >> ELÈV: ansanm l 'pou itilize nan gdb. 1021 00:48:55,580 --> 00:48:59,230 >> JASON HIRSCHHORN: Sets li moute pou itilize nan gdb. 1022 00:48:59,230 --> 00:49:02,338 Liy sa a, sa ki nan sa? 1023 00:49:02,338 --> 00:49:03,290 >> ELÈV: Sous kòd. 1024 00:49:03,290 --> 00:49:06,010 >> JASON HIRSCHHORN: Sa se a dosye sous, dosye a c.. 1025 00:49:06,010 --> 00:49:08,150 Ki sa ki de liy sa yo fè? 1026 00:49:08,150 --> 00:49:10,245 Oswa sa yo de pa liy yo. 1027 00:49:10,245 --> 00:49:12,300 >> ELÈV: Li non li teste. 1028 00:49:12,300 --> 00:49:15,410 >> JASON HIRSCHHORN: Se konsa, o nan priz di, non li yon bagay yon lòt jan. 1029 00:49:15,410 --> 00:49:16,790 Ak isit la w ap rele li egzamen an. 1030 00:49:16,790 --> 00:49:18,900 Si m 'pa t' gen ke nan, sa ki ta li non sa a? 1031 00:49:18,900 --> 00:49:20,260 >> ELÈV: A.out. 1032 00:49:20,260 --> 00:49:22,340 >> JASON HIRSCHHORN: A.out. 1033 00:49:22,340 --> 00:49:25,366 Ki sa sa fè? 1034 00:49:25,366 --> 00:49:27,670 >> ELÈV: Lyen bibliyotèk la matematik. 1035 00:49:27,670 --> 00:49:29,550 >> JASON HIRSCHHORN: Li lyen nan bibliyotèk la matematik. 1036 00:49:29,550 --> 00:49:32,880 Nou pa t 'gen ladan bibliyotèk la matematik, men depi lè sa a se konsa komen, yo te 1037 00:49:32,880 --> 00:49:35,780 fè ekri nan toujou gen ladan bibliyotèk la matematik. 1038 00:49:35,780 --> 00:49:39,050 Menm jan an tou, sa a gen ladan bibliyotèk la CS50. 1039 00:49:39,050 --> 00:49:43,010 >> OK, Se konsa, si nou fè lis, nou genyen kounye a yon ègzèkutabl rele egzamen an. 1040 00:49:43,010 --> 00:49:45,150 Al touye l ', m' ekri egzamen an. 1041 00:49:45,150 --> 00:49:48,330 Mwen wè ke pwen k ap flote m 'yo, kòm espere, egal 0. 1042 00:49:48,330 --> 00:49:50,890 1043 00:49:50,890 --> 00:49:51,590 Èske sa - 1044 00:49:51,590 --> 00:49:52,060 Se konsa, - 1045 00:49:52,060 --> 00:49:55,210 >> ELÈV: Lè sa a, si ou mete flote kounye a, tankou ou jete l 'kòm flote - 1046 00:49:55,210 --> 00:49:56,870 >> JASON HIRSCHHORN: Mete 1 an nan yon flote? 1047 00:49:56,870 --> 00:49:59,180 >> ELÈV: Non, jete bagay la plen - 1048 00:49:59,180 --> 00:49:59,500 yeah. 1049 00:49:59,500 --> 00:50:02,460 Si ou jis te fè sa, ta ki fè li 0.1? 1050 00:50:02,460 --> 00:50:07,170 >> JASON HIRSCHHORN: OK, se konsa vrèman byen vit, 1 divize pa 10 sa yo, se 1051 00:50:07,170 --> 00:50:08,690 nonb antye relatif yo te divize. 1052 00:50:08,690 --> 00:50:13,580 Se konsa, lè ou divize nonb antye relatif, yo ap 0, epi w ap ekonomize ki 0 nan yon 1053 00:50:13,580 --> 00:50:17,170 flote, paske koupe a se jis nonb antye ki pè divizyon. 1054 00:50:17,170 --> 00:50:19,180 Se konsa, kounye a nou ap vire yon bagay nan yon flote. 1055 00:50:19,180 --> 00:50:21,650 >> Ann wè sa ki rive. 1056 00:50:21,650 --> 00:50:22,900 Nou pral fè egzamen an. 1057 00:50:22,900 --> 00:50:25,870 1058 00:50:25,870 --> 00:50:31,090 Se konsa, kounye a nou wè ke ki koupe pa t ' divizyon nonb antye ki pè, li te k ap flote 1059 00:50:31,090 --> 00:50:32,640 pwen divizyon. 1060 00:50:32,640 --> 00:50:35,700 Paske youn nan agiman li yo yo te jete nan yon flote. 1061 00:50:35,700 --> 00:50:38,380 Se konsa, kounye a li te di, trete sa a divizyon tankou nou ap fè fas ak 1062 00:50:38,380 --> 00:50:40,140 pwen k ap flote, se pa avèk nonb antye relatif. 1063 00:50:40,140 --> 00:50:42,760 Se konsa, nou jwenn repons lan nou espere. 1064 00:50:42,760 --> 00:50:44,620 >> Ann wè sa ki rive - 1065 00:50:44,620 --> 00:50:47,103 Wouch. 1066 00:50:47,103 --> 00:50:51,646 Si mwen te vle ekri ak lèt ​​detache plis desimal tach, ki jan mwen te kapab fè sa? 1067 00:50:51,646 --> 00:50:55,550 >> ELÈV: Point dot f, oswa kòm anpil kote desimal jan ou vle. 1068 00:50:55,550 --> 00:51:02,280 1069 00:51:02,280 --> 00:51:04,440 >> JASON HIRSCHHORN: Se konsa, mwen ekri an lèt detache 10 tach desimal. 1070 00:51:04,440 --> 00:51:06,610 Ak nou koulye a wè nou ap vin kèk bagay etranj. 1071 00:51:06,610 --> 00:51:09,650 Apre sa, ki ale tounen nan kesyon ou sou k ap flote pwen enpresizyon. 1072 00:51:09,650 --> 00:51:10,950 Genyen etranj bagay ki estoke nan isit la. 1073 00:51:10,950 --> 00:51:13,650 1074 00:51:13,650 --> 00:51:15,275 >> OK, ki reponn kesyon ou a? 1075 00:51:15,275 --> 00:51:18,550 1076 00:51:18,550 --> 00:51:20,200 Ki lòt bagay ou t 'vle ki prevwa nan kòd byen vit? 1077 00:51:20,200 --> 00:51:25,470 >> ELÈV: Mwen jis te vle wè si wi ou pa, si ou libere moute kèk konsèy, 1078 00:51:25,470 --> 00:51:30,410 si wi ou non ke konsèy toujou te ki estoke nan li adrès la nan sa li te 1079 00:51:30,410 --> 00:51:32,170 montre deja. 1080 00:51:32,170 --> 00:51:34,100 >> JASON HIRSCHHORN: OK, Se konsa, kite a fè sa. 1081 00:51:34,100 --> 00:51:38,030 Ptr zetwal Char, sa a kreye yon varyab rele ptr nan kalite zetwal Char. 1082 00:51:38,030 --> 00:51:39,280 Kouman pou mwen ekri malok? 1083 00:51:39,280 --> 00:51:40,550 Alden? 1084 00:51:40,550 --> 00:51:41,800 >> ALDEN: Jis malok. 1085 00:51:41,800 --> 00:51:44,820 1086 00:51:44,820 --> 00:51:51,040 Men, Lè sa a, li te gen gwosè nan, ak nan ka sa a, mwen devine ou ta 1087 00:51:51,040 --> 00:51:52,465 dwe montre Char. 1088 00:51:52,465 --> 00:51:54,450 Se konsa, li ta dwe Char. 1089 00:51:54,450 --> 00:51:57,520 >> JASON HIRSCHHORN: OK, se konsa pi plis generic, Anndan - 1090 00:51:57,520 --> 00:51:58,770 kite a modifye. 1091 00:51:58,770 --> 00:52:05,100 1092 00:52:05,100 --> 00:52:09,260 Anndan malok, ou ta vle nimewo a nan bytes sou pil wòch la. 1093 00:52:09,260 --> 00:52:12,320 An jeneral, sa nou te wè ke nou ap fè la a nou pral malok 1094 00:52:12,320 --> 00:52:14,940 strings, pou egzanp, oswa ranje nan nonb antye relatif. 1095 00:52:14,940 --> 00:52:21,600 Se konsa, si nou vle 10 nonm antye yo, oswa 10 charaktèr, 10 pral ban nou 10. 1096 00:52:21,600 --> 00:52:24,370 Lè sa a, gwosè nan charaktèr ta bay nou ke gwosè nan charaktèr, ki nan 1097 00:52:24,370 --> 00:52:25,120 ka sa a se 1 multiple. 1098 00:52:25,120 --> 00:52:26,250 Nou jwenn 10 bytes. 1099 00:52:26,250 --> 00:52:28,540 Si nou te ekri gwosè nan Int, ki ta ban nou 40 bytes. 1100 00:52:28,540 --> 00:52:31,520 >> Se konsa, plis generic, andedan nan malok se kantite bytes ou vle. 1101 00:52:31,520 --> 00:52:34,620 Nan ka sa a, nou ap vin 1 multiple. 1102 00:52:34,620 --> 00:52:36,900 Ki sanble tankou yon itilize etranj nan malok, men pou nou 1103 00:52:36,900 --> 00:52:38,470 rezon fè sans. 1104 00:52:38,470 --> 00:52:40,420 Se konsa, gen nan sa. 1105 00:52:40,420 --> 00:52:43,420 >> Nou pral rele gratis. 1106 00:52:43,420 --> 00:52:47,040 Nou debarase m de li epi nou itilize ptr ankò. 1107 00:52:47,040 --> 00:52:48,750 Ak sa ki t 'ou vle tcheke? 1108 00:52:48,750 --> 00:52:50,550 >> ELÈV: Mwen jis te vle tcheke si oswa ou pa te gen anyen 1109 00:52:50,550 --> 00:52:51,900 andedan nan li. 1110 00:52:51,900 --> 00:52:53,050 >> JASON HIRSCHHORN: Se konsa, si li pwente nan anyen? 1111 00:52:53,050 --> 00:52:57,740 >> ELÈV: Yeah, egzakteman, si wi ou non li toujou te gen yon adrès memwa. 1112 00:52:57,740 --> 00:53:02,220 >> JASON HIRSCHHORN: Se konsa, ou vle yo tcheke valè a nan ptr? 1113 00:53:02,220 --> 00:53:03,470 >> ELÈV: Yeah, egzakteman. 1114 00:53:03,470 --> 00:53:07,940 1115 00:53:07,940 --> 00:53:10,160 >> JASON HIRSCHHORN: Ki sa mwen ekri isit la si mwen vle yo tcheke valè a nan la 1116 00:53:10,160 --> 00:53:11,880 pwen - ki sa ki, lòt bò larivyè Jouden di, valè a? 1117 00:53:11,880 --> 00:53:13,720 Oswa ki sa ki estoke andedan nan ptr? 1118 00:53:13,720 --> 00:53:14,620 >> ELÈV: yon adrès memwa. 1119 00:53:14,620 --> 00:53:16,330 >> JASON HIRSCHHORN: A adrès memwa. 1120 00:53:16,330 --> 00:53:20,520 Se konsa, si m 'ekri jis sa a, li pral ban m 'valè a nan ptr. 1121 00:53:20,520 --> 00:53:22,800 Apre sa, kijan pou m 'enprime soti yon adrès memwa? 1122 00:53:22,800 --> 00:53:26,470 Ki sa ki nan fòma fisèl la pou yon adrès memwa? 1123 00:53:26,470 --> 00:53:27,430 >> ELÈV:% p. 1124 00:53:27,430 --> 00:53:28,050 >> JASON HIRSCHHORN:% p. 1125 00:53:28,050 --> 00:53:29,500 % S la se yon fisèl. 1126 00:53:29,500 --> 00:53:30,750 % P pou konsèy. 1127 00:53:30,750 --> 00:53:40,820 1128 00:53:40,820 --> 00:53:43,540 Eske se sa ke dwa? 1129 00:53:43,540 --> 00:53:44,790 Sa se dwa. 1130 00:53:44,790 --> 00:53:49,450 1131 00:53:49,450 --> 00:53:51,040 Se konsa, ptr egal - 1132 00:53:51,040 --> 00:53:53,350 li toujou gen yon bagay nan li. 1133 00:53:53,350 --> 00:53:56,110 1134 00:53:56,110 --> 00:53:57,645 Sa a se pwobableman yon pi plis enteresan kesyon. 1135 00:53:57,645 --> 00:53:59,198 Ki sa ki ki liy fè? 1136 00:53:59,198 --> 00:54:00,830 >> ELÈV: seg defo. 1137 00:54:00,830 --> 00:54:01,310 >> JASON HIRSCHHORN: Ki sa? 1138 00:54:01,310 --> 00:54:02,678 >> ELÈV: Mwen panse ke li seg defo. 1139 00:54:02,678 --> 00:54:03,574 >> JASON HIRSCHHORN: Hm? 1140 00:54:03,574 --> 00:54:04,920 >> ELÈV: Mwen panse ke li pral seg fay. 1141 00:54:04,920 --> 00:54:08,265 >> JASON HIRSCHHORN: Se konsa, liy sa a nan kòd, zetwal ptr, ki sa ki 1142 00:54:08,265 --> 00:54:10,152 zetwal la vle di? 1143 00:54:10,152 --> 00:54:11,240 >> ELÈV: Kisa ki nan. 1144 00:54:11,240 --> 00:54:11,560 >> JASON HIRSCHHORN: Yeah. 1145 00:54:11,560 --> 00:54:13,910 Ale nan jwenn sa ki ekri nan. 1146 00:54:13,910 --> 00:54:16,830 Se konsa, sa a se pral pou yo ale nan memwa a adrese gen ak ban m 'sa. 1147 00:54:16,830 --> 00:54:21,030 Mwen itilize% c dwa isit la paske gen yo karaktè ki estoke la. 1148 00:54:21,030 --> 00:54:23,390 Se konsa, nou ap ale pou yo ale nan ki adrès nou jis te wè - oswa li ap pwobableman gen yon 1149 00:54:23,390 --> 00:54:25,190 ti kras diferan sa a fwa nou kouri pwogram nan. 1150 00:54:25,190 --> 00:54:28,010 Men, nou pral ale nan adrès ki ki nou konnen toujou egziste 1151 00:54:28,010 --> 00:54:29,260 ak wè sa ki nan la. 1152 00:54:29,260 --> 00:54:35,640 1153 00:54:35,640 --> 00:54:37,110 >> Se konsa, li pa t 'seg fay. 1154 00:54:37,110 --> 00:54:38,970 Li jis pa t 'ban nou anyen. 1155 00:54:38,970 --> 00:54:43,350 Li ka gen aktyèlman ban nou yon bagay, nou jis pa ka wè li. 1156 00:54:43,350 --> 00:54:45,110 Apre sa, ki ale tounen nan ide sa a - 1157 00:54:45,110 --> 00:54:47,270 epi nou pa ap ale nan jwenn twòp nan sa a, paske sa a, se pi lwen pase a 1158 00:54:47,270 --> 00:54:48,460 Dimansyon de kou sa a. 1159 00:54:48,460 --> 00:54:51,260 Men, nou te pale osijè de dwa isit la, si nou ale pi lwen pase limit yo nan etalaj la pa 1160 00:54:51,260 --> 00:54:54,890 1, nou pa ka jwenn nan tray la. 1161 00:54:54,890 --> 00:54:58,550 >> Pafwa, lè ou jis ale nan pa 1, w ap fè yon bagay mal, epi ou 1162 00:54:58,550 --> 00:54:59,220 te kapab jwenn nan tray la. 1163 00:54:59,220 --> 00:55:00,820 Men, ou pa toujou jwenn nan tray la. 1164 00:55:00,820 --> 00:55:05,170 Sa depann de ki jan anpil nan yon move bagay ou , W ap ale nan jwenn nan tray la. 1165 00:55:05,170 --> 00:55:07,790 Ki se pa vle di, se pou débordan avèk kòd ou a. 1166 00:55:07,790 --> 00:55:12,080 Men, li se vle di, pwogram nan pa pral toujou kite fimen, menm si ou ale yon kote 1167 00:55:12,080 --> 00:55:14,130 ou pa ap sipoze ale. 1168 00:55:14,130 --> 00:55:18,170 >> Yon bon egzanp nan se sa ki, yon anpil nan moun ki nan pwoblèm yo mete 3, ki 1169 00:55:18,170 --> 00:55:22,350 te 15, pa t 'tcheke nan limit nan tablo a. 1170 00:55:22,350 --> 00:55:25,860 Se konsa, ou gade sou bò goch la, gade nan dwat, gade nan tèt la, gade 1171 00:55:25,860 --> 00:55:27,000 nan fon an. 1172 00:55:27,000 --> 00:55:31,540 Men, nou pa t 'tcheke yo wè si tèt la te aktyèlman pral fè sou tablo a. 1173 00:55:31,540 --> 00:55:35,220 Ak yon anpil nan moun ki te fè sa ak vire ke nan, pwogram yo te travay 1174 00:55:35,220 --> 00:55:38,960 parfe, paske kote ki tablo te ki estoke nan memwa, si ou te ale yon sèl 1175 00:55:38,960 --> 00:55:42,300 pi wo a li oswa tcheke ke memwa adrès, pa t 'gen yon bagay 1176 00:55:42,300 --> 00:55:44,870 patikilyèman terib sou sa, Se konsa, pwogram ou an pa t ' 1177 00:55:44,870 --> 00:55:45,970 ale nan rele nan ou. 1178 00:55:45,970 --> 00:55:48,870 >> Men, nou ta toujou pou yo wete tout pwen si nou pa t 'tcheke ke, paske ou 1179 00:55:48,870 --> 00:55:50,850 yo te fè yon bagay ou pa t ' sipoze fè, epi ou te kapab gen 1180 00:55:50,850 --> 00:55:51,860 Avèk konkou nan tray la. 1181 00:55:51,860 --> 00:55:54,040 Chans yo se, menm si, pwobableman ou pa t '. 1182 00:55:54,040 --> 00:55:57,790 Se konsa, sa a se montre ke, repons lan se wi, nou ka toujou ale nan li. 1183 00:55:57,790 --> 00:55:59,010 Apre sa, nou pa ap vin nan pwoblèm nan ka sa a. 1184 00:55:59,010 --> 00:56:04,000 Si nou te eseye fè li nan 100 karaktè kap vini an, nou ta 1185 00:56:04,000 --> 00:56:06,000 pwobableman jwenn nan tray la. 1186 00:56:06,000 --> 00:56:09,400 Epi ou ka kòd lekti pwochen 100 la karaktè si ou vle pa fè kèk 1187 00:56:09,400 --> 00:56:10,110 sòt de pou bouk. 1188 00:56:10,110 --> 00:56:10,850 Yeah. 1189 00:56:10,850 --> 00:56:16,250 >> ELÈV: Depi nou te plase ke espas yon valè aktyèl, nou pa ta 1190 00:56:16,250 --> 00:56:17,050 aktyèlman kapab wè anyen. 1191 00:56:17,050 --> 00:56:21,740 Eske nou ta dwe eseye li ak anviwònman ki egal a renmen c oswa yon bagay? 1192 00:56:21,740 --> 00:56:22,640 >> JASON HIRSCHHORN: Gwo kesyon. 1193 00:56:22,640 --> 00:56:25,340 Kouman pou mwen mete ke valè - 1194 00:56:25,340 --> 00:56:28,980 sa ki liy nan Kòd m 'ekri sou liy sèt a fè sa ou di? 1195 00:56:28,980 --> 00:56:34,040 >> ELÈV: Star ptr egal yon sèl quote c fini yon sèl quote. 1196 00:56:34,040 --> 00:56:36,970 >> JASON HIRSCHHORN: Se konsa, ki nan mete yon karaktè, c, lè sa kote, 1197 00:56:36,970 --> 00:56:40,200 paske ankò, pou zetwal vle di ale nan la. 1198 00:56:40,200 --> 00:56:43,320 Apre sa, lè yo itilize sou bò men gòch nan yon operatè plasman, ki egal 1199 00:56:43,320 --> 00:56:47,270 siyen, nou pa ap ale nan jwenn ki valè anpil kòm mete ke valè. 1200 00:56:47,270 --> 00:56:48,520 Koulye a, kite a wè sa ki rive. 1201 00:56:48,520 --> 00:56:54,700 1202 00:56:54,700 --> 00:56:56,770 >> Nou mete yon bagay gen epi li te la. 1203 00:56:56,770 --> 00:56:58,000 Nou te rele gratis. 1204 00:56:58,000 --> 00:57:00,100 Gen kèk bagay pwobableman te pase sou pil wòch la. 1205 00:57:00,100 --> 00:57:01,890 Se konsa, li pa gen ankò. 1206 00:57:01,890 --> 00:57:07,440 Men, ankò, nou pa ap vin nan pwoblèm pou ale la. 1207 00:57:07,440 --> 00:57:10,260 >> M ap fè sa a soti nan kòd ilistre ke yon anpil nan sa yo 1208 00:57:10,260 --> 00:57:12,410 kesyon ki di ou gen yo, yo ap reyèlman enteresan 1209 00:57:12,410 --> 00:57:13,650 reponn yon anpil tan. 1210 00:57:13,650 --> 00:57:15,260 Apre sa, yo ap reyèlman bon kesyon. 1211 00:57:15,260 --> 00:57:19,010 Epi ou ka kalkile yo soti sou pwòp ou a si, pou egzanp, 1212 00:57:19,010 --> 00:57:19,990 nou pa ap nan seksyon. 1213 00:57:19,990 --> 00:57:20,940 Yeah. 1214 00:57:20,940 --> 00:57:24,430 >> ELÈV: Paske nou pa ap voye a konsèy nenpòt kote, ou bezwen 1215 00:57:24,430 --> 00:57:26,530 sèvi ak malok? 1216 00:57:26,530 --> 00:57:28,400 >> JASON HIRSCHHORN: Se konsa, sa a ale tounen premye kesyon ou yo. 1217 00:57:28,400 --> 00:57:28,620 [? ?] 1218 00:57:28,620 --> 00:57:29,980 Èske li jis yon varyab lokal yo? 1219 00:57:29,980 --> 00:57:32,280 Malok isit la se pa sa ki konvenkan. 1220 00:57:32,280 --> 00:57:35,260 Itilize nan malok isit la se pa ki konvenkan paske li nan 1221 00:57:35,260 --> 00:57:36,500 jis yon varyab lokal yo. 1222 00:57:36,500 --> 00:57:40,970 >> ELÈV: Se konsa, te kapab ou fè Char etwal ptr egal alo? 1223 00:57:40,970 --> 00:57:41,400 >> JASON HIRSCHHORN: O. 1224 00:57:41,400 --> 00:57:43,300 Se konsa, nou ap ale nan kounye a jwenn tounen premye kesyon ou yo. 1225 00:57:43,300 --> 00:57:46,885 Mwen panse ke ou pa te satisfè ak repons mwen an. 1226 00:57:46,885 --> 00:57:48,220 OK? 1227 00:57:48,220 --> 00:57:49,226 Tankou sa? 1228 00:57:49,226 --> 00:57:49,682 >> ELÈV: Yeah. 1229 00:57:49,682 --> 00:57:50,932 Rete tann. 1230 00:57:50,932 --> 00:57:54,090 1231 00:57:54,090 --> 00:57:57,850 >> JASON HIRSCHHORN: Ak ki kote ou vle enprime soti? 1232 00:57:57,850 --> 00:58:00,026 Se konsa, nou pral enprime soti yon fisèl tankou sa? 1233 00:58:00,026 --> 00:58:06,380 1234 00:58:06,380 --> 00:58:07,630 >> ELÈV: enteresan. 1235 00:58:07,630 --> 00:58:09,900 1236 00:58:09,900 --> 00:58:14,285 >> JASON HIRSCHHORN: Se konsa, sa a di sa a agiman gen kalite a nan yon karaktè. 1237 00:58:14,285 --> 00:58:17,200 1238 00:58:17,200 --> 00:58:18,620 Se konsa, sa a ta dwe gen yon karaktè. 1239 00:58:18,620 --> 00:58:25,170 1240 00:58:25,170 --> 00:58:26,280 >> ELÈV: Jis pran yon sèl la an premye. 1241 00:58:26,280 --> 00:58:28,610 >> JASON HIRSCHHORN: Se konsa, sa a se sa m 'te di anvan. 1242 00:58:28,610 --> 00:58:34,240 Tankou mwen te di, li pa nan estoke nan fisèl andedan varyab konsèy. 1243 00:58:34,240 --> 00:58:35,120 Li estoke - 1244 00:58:35,120 --> 00:58:36,350 >> ELÈV: valè nan premye nan fisèl la. 1245 00:58:36,350 --> 00:58:40,810 >> JASON HIRSCHHORN: postal la nan valè an premye nan fil la. 1246 00:58:40,810 --> 00:58:46,940 Si nou te ekri ak lèt ​​detache soti sa a, nou ap ap resevwa valè a andedan konsèy. 1247 00:58:46,940 --> 00:58:51,005 Apre sa, nou pral wè li se, tout bon, yon adrès memwa. 1248 00:58:51,005 --> 00:58:53,595 1249 00:58:53,595 --> 00:58:56,440 >> ki fè sans? 1250 00:58:56,440 --> 00:58:56,940 M regrèt. 1251 00:58:56,940 --> 00:58:58,996 Rete tann, ki reponn ou kesyon, menm si? 1252 00:58:58,996 --> 00:58:59,790 >> ELÈV: Yeah. 1253 00:58:59,790 --> 00:59:05,830 >> JASON HIRSCHHORN: Sa a liy nan Kòd la se kreye yon fisèl ak Lè sa a, yon lòt 1254 00:59:05,830 --> 00:59:09,115 varyab konsèy ki nan lonje dwèt ak sa yo ki fisèl, ki etalaj. 1255 00:59:09,115 --> 00:59:14,320 1256 00:59:14,320 --> 00:59:14,980 Yeah. 1257 00:59:14,980 --> 00:59:19,200 >> ELÈV: Se konsa, si nou te ale yon sèl memwa adrese pi lwen, ta nou jwenn h a? 1258 00:59:19,200 --> 00:59:21,990 1259 00:59:21,990 --> 00:59:23,150 Èske li te estoke kòm yon kòd? 1260 00:59:23,150 --> 00:59:24,400 >> JASON HIRSCHHORN: Tankou, nou te fè sa - 1261 00:59:24,400 --> 00:59:28,540 1262 00:59:28,540 --> 00:59:30,790 Se konsa, sa a se ki gen anpil valè yo fè. 1263 00:59:30,790 --> 00:59:33,780 Sa a se pwen aritmetik, ki ou mesye te wè anvan epi yo ta dwe 1264 00:59:33,780 --> 00:59:35,550 relativman konfòtab ak. 1265 00:59:35,550 --> 00:59:36,905 Sa a se analogue nan ekri - 1266 00:59:36,905 --> 00:59:41,980 1267 00:59:41,980 --> 00:59:46,350 si nou te ekri liy sa a nan kòd, nou te wè notasyon pozisyon devan. 1268 00:59:46,350 --> 00:59:55,900 Sa a ta dwe ban nou dezyèm lan valè nan etalaj sa a, h. 1269 00:59:55,900 --> 01:00:05,010 >> Si nou te fè sa a, sa a ta dwe tou bay nou valè a dezyèm nan ki etalaj. 1270 01:00:05,010 --> 01:00:08,320 Paske li ki pral pa memwa a adrès nan premye bagay la, men nan 1271 01:00:08,320 --> 01:00:10,530 adrès memwa nan bagay la yon sèl sou. 1272 01:00:10,530 --> 01:00:14,360 Lè sa a, dereferences yo operatè zetwal ki konsèy. 1273 01:00:14,360 --> 01:00:16,940 Li di ankò, se pou yo wè. 1274 01:00:16,940 --> 01:00:18,664 Nou jwenn h ankò. 1275 01:00:18,664 --> 01:00:20,980 >> ELÈV: Ki sa egzakteman fè dèreferans vle di? 1276 01:00:20,980 --> 01:00:23,650 >> JASON HIRSCHHORN: dèreferans se yon mo anpenpan pou ale nan. 1277 01:00:23,650 --> 01:00:26,390 Ale nan ki epi pou yo jwenn sa ki nan gen se dèreferans yon konsèy. 1278 01:00:26,390 --> 01:00:28,240 Se jis nan yon mo anpenpan pou sa. 1279 01:00:28,240 --> 01:00:29,986 >> ELÈV: Si nou te vle ekri ak lèt ​​detache fisèl la tout antye, te kapab nou 1280 01:00:29,986 --> 01:00:31,930 fè komersyal konsèy? 1281 01:00:31,930 --> 01:00:33,490 >> JASON HIRSCHHORN: OK, nou se ale nan pran yon poz isit la. 1282 01:00:33,490 --> 01:00:35,480 Nou pral fini isit la. 1283 01:00:35,480 --> 01:00:41,760 Komersyal ba ou adrès la nan yon kote, se konsa lè ou fè komersyal nan 1284 01:00:41,760 --> 01:00:44,080 yon varyab, li ba ou adrès la ki kote ke varyab ki estoke. 1285 01:00:44,080 --> 01:00:48,580 Komersyal konsèy ap ba ou a adrès la ptr kote ptr se nan memwa. 1286 01:00:48,580 --> 01:00:50,140 >> Nou pa pwal ale sou ak egzanp sa a. 1287 01:00:50,140 --> 01:00:52,640 Ou kapab konnen ki sa yo bagay sa yo sou pwòp ou yo. 1288 01:00:52,640 --> 01:00:55,740 Men, ankò, sa a ta ka menm gen verging yon ti jan ki depase sa ou bezwen konnen pou 1289 01:00:55,740 --> 01:00:58,000 sijè ki abòde lan sa a nan mitan tèm - 1290 01:00:58,000 --> 01:00:59,070 oswa egzamen sa a, olye. 1291 01:00:59,070 --> 01:01:00,270 M regrèt. 1292 01:01:00,270 --> 01:01:03,770 >> Nou pral pou avanse pou pi sou li a, paske mwen ta renmen fè yon sèl kodaj pwoblèm 1293 01:01:03,770 --> 01:01:05,100 anvan lè se leve. 1294 01:01:05,100 --> 01:01:09,340 Apre sa, nou pwal kòd sa mwen panse ki pi irezistib la nan sa yo 1295 01:01:09,340 --> 01:01:11,020 egzanp, atwa. 1296 01:01:11,020 --> 01:01:14,520 Se konsa, sa a te yon kesyon sou yon egzamen de zan de sa. 1297 01:01:14,520 --> 01:01:17,810 Apre sa, mwen genyen li sou tablo a isit la. 1298 01:01:17,810 --> 01:01:20,680 >> Moun ki te mande sou egzamen an - 1299 01:01:20,680 --> 01:01:23,640 yo te ba yo yon ti kras plis tesxt nan kesyon an, men mwen elimine nan 1300 01:01:23,640 --> 01:01:26,640 tèks paske li te nesesè pou rezon nou an kounye a. 1301 01:01:26,640 --> 01:01:29,180 Li te jis kèk background sou sa ki atwa te fè sa. 1302 01:01:29,180 --> 01:01:31,425 Men, nou tout konnen epi yo trè abitye ak atwa. 1303 01:01:31,425 --> 01:01:35,620 >> Mwen sijere ou Kòd sa a sou yon fèy papye. 1304 01:01:35,620 --> 01:01:39,310 Mwen menm mwen te sijere ou sèvi ak estrateji nan ke nou te ale sou 1305 01:01:39,310 --> 01:01:41,040 yon anpil nan seksyon nou an. 1306 01:01:41,040 --> 01:01:44,130 Premyèman, asire w ke ou konprann sa atwa a fè. 1307 01:01:44,130 --> 01:01:47,580 Desine yon foto oswa vini ak kèk imaj mantal ladan l 'nan tèt ou. 1308 01:01:47,580 --> 01:01:51,120 Apre sa, ekri soti pseudocode yo pou sa. 1309 01:01:51,120 --> 01:01:53,120 Sou egzamen an, si tout sa ou jwenn se pseudocode, omwen ou menm ou 1310 01:01:53,120 --> 01:01:54,550 mete yon bagay desann. 1311 01:01:54,550 --> 01:02:00,070 Lè sa a, kat jeyografik ki pseudocode sou C. Si ou gen yon ti tchèk nan ou 1312 01:02:00,070 --> 01:02:03,760 pseudocode, tankou tcheke si gen yon bagay se 1, ke kat sou yon si 1313 01:02:03,760 --> 01:02:05,750 kondisyon ak pou fè. 1314 01:02:05,750 --> 01:02:07,850 E finalman, kòd pwogram lan nan C. 1315 01:02:07,850 --> 01:02:15,000 >> Se konsa, tounen nan atwa epi pran senk minit ki prevwa nan kòd sa a sou yon fèy papye an 1316 01:02:15,000 --> 01:02:19,480 papye, ki se pwobableman sou la kantite tan ou ta pran sou yon 1317 01:02:19,480 --> 01:02:21,260 egzamen atwa kòd. 1318 01:02:21,260 --> 01:02:27,060 Senk a 15 minit, senk a 12, senk a 10 minit, se sou kantite lajan an nan 1319 01:02:27,060 --> 01:02:30,150 tan ou ta depanse nan sa a kesyon nan egzamen an. 1320 01:02:30,150 --> 01:02:31,670 Se konsa, pran senk minit, koulye a, tanpri. 1321 01:02:31,670 --> 01:02:35,957 Men, si ou gen nenpòt kesyon, ogmante men ou epi mwen pral vini alantou. 1322 01:02:35,957 --> 01:06:39,570 1323 01:06:39,570 --> 01:06:41,066 >> [SIDE konvèsasyon] 1324 01:06:41,066 --> 01:08:35,279 1325 01:08:35,279 --> 01:08:37,580 >> JASON HIRSCHHORN: OK, se konsa sa ki te senk minit. 1326 01:08:37,580 --> 01:08:39,880 Sa ki te pwobableman sou kantite lajan an nan tan ou ta depanse nan sa a sou yon egzamen, 1327 01:08:39,880 --> 01:08:42,120 petèt fen a ki ba nan moman sa. 1328 01:08:42,120 --> 01:08:44,010 Nou pral Rekapitilasyon nan yon ti jan. 1329 01:08:44,010 --> 01:08:45,740 Se pou nou kòmanse kod sa a. 1330 01:08:45,740 --> 01:08:49,479 Men, si nou pa jwenn tout wout la nan, repons yo nan sa a ak sa a 1331 01:08:49,479 --> 01:08:54,189 kesyon egzamen yo disponib, ankò, Sezon otòn 2011, se lè kesyon sa a 1332 01:08:54,189 --> 01:08:54,913 parèt sou egzamen an. 1333 01:08:54,913 --> 01:08:57,830 >> Apre sa, li te vo uit pwen sou egzamen an lè sa a. 1334 01:08:57,830 --> 01:09:01,140 Uit pwen se sou fen nan segondè a nan kantite lajan pou pwen yon bagay ki vo. 1335 01:09:01,140 --> 01:09:04,790 Pifò kesyon ki gen nan seri a nan yon sèl nan sis pwen. 1336 01:09:04,790 --> 01:09:08,500 Se konsa, sa a se yon pi difisil kesyon, pou asire w. 1337 01:09:08,500 --> 01:09:09,750 Èske okenn moun jwenn m 'te kòmanse? 1338 01:09:09,750 --> 01:09:13,260 1339 01:09:13,260 --> 01:09:15,380 >> An jeneral, sa nou pral vle fè ak sa a 1340 01:09:15,380 --> 01:09:17,550 fonksyone atwa, lojikman? 1341 01:09:17,550 --> 01:09:19,569 Ki sa nou vle fè? 1342 01:09:19,569 --> 01:09:22,279 Se konsa, nou ap ale nan ekri kèk pseudocode. 1343 01:09:22,279 --> 01:09:24,090 >> ELÈV: Konvèti karaktè nan nonb antye relatif. 1344 01:09:24,090 --> 01:09:26,700 >> JASON HIRSCHHORN: Konvèti karaktè nan nonb antye relatif. 1345 01:09:26,700 --> 01:09:27,479 OK. 1346 01:09:27,479 --> 01:09:30,870 Se konsa, ki jan anpil karaktè yo nou pral bezwen yo ale nan? 1347 01:09:30,870 --> 01:09:32,295 >> ELÈV: Tout moun nan yo. 1348 01:09:32,295 --> 01:09:34,100 >> ELÈV: tout karaktè yo ki nan fisèl la. 1349 01:09:34,100 --> 01:09:35,540 >> JASON HIRSCHHORN: Tout moun nan nan karaktè nan fisèl la. 1350 01:09:35,540 --> 01:09:42,180 Se konsa, si nou te vle yo ale nan chak karaktè nan yon fil, ki sa ki se yon bagay 1351 01:09:42,180 --> 01:09:44,560 nan C nou te wè ki te pèmèt nou yo ale nan chak 1352 01:09:44,560 --> 01:09:45,939 karaktè nan yon kòd? 1353 01:09:45,939 --> 01:09:46,819 >> ELÈV YO: A pou bouk. 1354 01:09:46,819 --> 01:09:48,069 >> JASON HIRSCHHORN: A pou bouk. 1355 01:09:48,069 --> 01:09:52,020 1356 01:09:52,020 --> 01:09:55,330 Se konsa, nou ap ale nan bouk nan chak karaktè nan s. 1357 01:09:55,330 --> 01:10:00,940 >> Lè sa a, kisa nou pral vle fè lè nou jwenn yon karaktè espesifik yo? 1358 01:10:00,940 --> 01:10:02,480 Di nou ap resevwa yo te pase yon 90. 1359 01:10:02,480 --> 01:10:03,460 Nou jwenn 9 la. 1360 01:10:03,460 --> 01:10:04,240 Li se yon karaktè. 1361 01:10:04,240 --> 01:10:07,440 Ki sa nou vle fè ak ki N. 9? 1362 01:10:07,440 --> 01:10:10,082 >> ELÈV: Fè soustraksyon li nan men karaktè 0? 1363 01:10:10,082 --> 01:10:11,860 >> ELÈV: Add 0? 1364 01:10:11,860 --> 01:10:13,350 >> JASON HIRSCHHORN: Fè soustraksyon li nan men karaktè 0? 1365 01:10:13,350 --> 01:10:13,800 >> ELÈV: Yeah. 1366 01:10:13,800 --> 01:10:15,573 >> JASON HIRSCHHORN: Poukisa fè ou vle fè sa? 1367 01:10:15,573 --> 01:10:16,560 >> ELÈV: [fèbl] 1368 01:10:16,560 --> 01:10:17,010 valè. 1369 01:10:17,010 --> 01:10:18,380 Valè Int li yo. 1370 01:10:18,380 --> 01:10:21,580 >> JASON HIRSCHHORN: OK, se konsa nou pran an N. 9, fè soustraksyon li nan men 1371 01:10:21,580 --> 01:10:25,820 N. 0 yo ka resevwa yon nonb antye ki pè aktyèl 9. 1372 01:10:25,820 --> 01:10:27,070 Dous. 1373 01:10:27,070 --> 01:10:31,255 1374 01:10:31,255 --> 01:10:37,000 Ak ki jan ou konnen ke karaktè 9 mwens 0 N. se 9? 1375 01:10:37,000 --> 01:10:39,222 Ki sa ki tablo ou te gade nan? 1376 01:10:39,222 --> 01:10:43,130 >> ELÈV: Gen lojikman nèf kote ant 9 ak 0. 1377 01:10:43,130 --> 01:10:44,620 Oswa ou ta ka gade nan tablo a ASCII. 1378 01:10:44,620 --> 01:10:45,120 >> JASON HIRSCHHORN: tab ASCII. 1379 01:10:45,120 --> 01:10:46,490 Men, repons lan se wi, w ap kòrèk tou. 1380 01:10:46,490 --> 01:10:47,780 Se konsa, nou fè soustraksyon 0. 1381 01:10:47,780 --> 01:10:49,010 Se konsa, kounye a nou gen nonb antye ki pè a 9. 1382 01:10:49,010 --> 01:10:49,970 Apre sa, ki sa nou vle fè ak sa? 1383 01:10:49,970 --> 01:10:54,970 Si nou gen 90 an, li nonb antye ki pè nan premye nou te, sa nou vle fè? 1384 01:10:54,970 --> 01:10:58,180 >> ELÈV: Mwen ta mete nan yon nonb antye ki pè pou yon ti tan etalaj, lè sa a fè matematik li 1385 01:10:58,180 --> 01:11:02,088 pita yo fè l 'nan yon fen. 1386 01:11:02,088 --> 01:11:03,020 >> JASON HIRSCHHORN: OK. 1387 01:11:03,020 --> 01:11:06,990 >> ELÈV: Ou ka kòmanse nan fen etalaj la ak Lè sa a avanse pou pi devan pou 1388 01:11:06,990 --> 01:11:10,350 ke chak fwa ou avanse pou pi devan, ou anpil anpil pitit li a 10. 1389 01:11:10,350 --> 01:11:10,830 >> JASON HIRSCHHORN: OK. 1390 01:11:10,830 --> 01:11:12,250 Ke son tankou yon bèl konvenkan lide. 1391 01:11:12,250 --> 01:11:16,040 Nou ka kòmanse nan fen a nan etalaj nou an, epi nou ka sèvi ak strleng. 1392 01:11:16,040 --> 01:11:17,030 Nou ka sèvi ak strleng nan isit la. 1393 01:11:17,030 --> 01:11:18,870 Nou pral jwenn longè a nan fisèl nou an. 1394 01:11:18,870 --> 01:11:20,100 Nou kòmanse nan fen an. 1395 01:11:20,100 --> 01:11:29,170 Apre sa, + yon an premye, nou jis pran ki nonb antye ki pè, ak petèt nou kreye tankou yon 1396 01:11:29,170 --> 01:11:32,270 nouvo varyab nonb antye ki pè moute tèt kote nou ap estoke tout bagay. 1397 01:11:32,270 --> 01:11:37,340 Se konsa, nou bouk nan chak Char nan s soti nan tounen nan devan, n ap retire 0, epi 1398 01:11:37,340 --> 01:11:42,790 Lè sa a, nou pran l ', li depann sou kote li se, nou anpil anpil pitit li 1399 01:11:42,790 --> 01:11:45,860 pa yon pouvwa nan 10. 1400 01:11:45,860 --> 01:11:50,644 Paske yon sèl la an premye, sa nou fè anpil anpil pitit karaktè a rightmost pa? 1401 01:11:50,644 --> 01:11:51,440 >> ELÈV: 10 a 0 a. 1402 01:11:51,440 --> 01:11:53,170 >> JASON HIRSCHHORN: 10 a 0 a. 1403 01:11:53,170 --> 01:11:56,010 Ki sa nou anpil anpil pitit dezyèm lan N. rightmost pa? 1404 01:11:56,010 --> 01:11:57,450 >> ELÈV: [fèbl]. 1405 01:11:57,450 --> 01:11:57,960 >> JASON HIRSCHHORN: Ki sa? 1406 01:11:57,960 --> 01:11:59,150 >> ELÈV: 10 a 1 an. 1407 01:11:59,150 --> 01:12:00,420 >> JASON HIRSCHHORN: 10 nan 1 an. 1408 01:12:00,420 --> 01:12:03,754 Karaktè nan twazyèm-rightmost? 1409 01:12:03,754 --> 01:12:04,580 >> ELÈV: 10 nan 2 a. 1410 01:12:04,580 --> 01:12:05,350 >> JASON HIRSCHHORN: 10 nan 2 a. 1411 01:12:05,350 --> 01:12:07,200 >> ELÈV: Padon, mwen pa konprann sa n ap fè isit la. 1412 01:12:07,200 --> 01:12:08,640 >> JASON HIRSCHHORN: OK, kite a tounen, lè sa a. 1413 01:12:08,640 --> 01:12:12,500 Se konsa, nou ap ale nan jwenn te pase nan yon kòd. 1414 01:12:12,500 --> 01:12:14,470 Paske nou ap ekri atwa. 1415 01:12:14,470 --> 01:12:15,260 Se konsa, nou jwenn te pase nan yon kòd. 1416 01:12:15,260 --> 01:12:17,640 Di nou ap resevwa pase nan fisèl la 90. 1417 01:12:17,640 --> 01:12:19,930 >> Se bagay ki premye nou ap pral fè mete yon nouvo varyab nonb antye ki pè ke nou ap 1418 01:12:19,930 --> 01:12:22,150 jis ale nan kreye kòm nouvo nonb antye ki pè nou an. 1419 01:12:22,150 --> 01:12:24,630 Sa a ki sa nou pral retounen nan fen an. 1420 01:12:24,630 --> 01:12:30,110 Nou bezwen yo ale nan chak karaktè nan fisèl la paske nou te detèmine 1421 01:12:30,110 --> 01:12:34,430 ke nou bezwen manyen chak yon sèl ak Lè sa a, ajoute li nan nouvo nonb antye ki pè nou an. 1422 01:12:34,430 --> 01:12:36,330 >> Men, nou pa ka jis ajoute li kòm yon kantite. 1423 01:12:36,330 --> 01:12:38,270 Nou pa ka jis pran 9 ak ajoute 9 a nonb antye ki pè nou an. 1424 01:12:38,270 --> 01:12:40,560 Sa depann de ki kote li se nan fisèl la. 1425 01:12:40,560 --> 01:12:42,960 Nou pral bezwen anpil anpil pitit li pa yon pouvwa nan 10. 1426 01:12:42,960 --> 01:12:45,580 Paske sa a, se ki jan baz 10 travay. 1427 01:12:45,580 --> 01:12:49,050 >> Se konsa, nou ap ale nan jwenn vrè la karaktè, oswa nonb antye ki pè aktyèl la 1428 01:12:49,050 --> 01:12:53,860 nimewo, pa soustraksyon karaktè 0 soti nan karaktè 9 tankou nou te fè ak 1429 01:12:53,860 --> 01:12:57,560 soustraksyon karaktè kapital Yon soti nan tou sa karaktè nou te gen nan youn nan 1430 01:12:57,560 --> 01:12:58,120 sa yo pwoblèm. 1431 01:12:58,120 --> 01:13:04,190 Se konsa, nou pral aktyèlman jwenn yon nimewo ki ant 0 a 9 sove kòm yon nimewo reyèl, epi n ap 1432 01:13:04,190 --> 01:13:07,590 anpil anpil pitit li pa yon pouvwa nan 10 depann sou kote nou yo nan fil la. 1433 01:13:07,590 --> 01:13:19,430 1434 01:13:19,430 --> 01:13:22,575 Lè sa a, nou pral ajoute li tounen nan nouvo varyab nonb antye ki pè nou an. 1435 01:13:22,575 --> 01:13:32,840 1436 01:13:32,840 --> 01:13:37,890 >> Se konsa, sa sa a ta sanble ta dwe - nou pral pran sou isit la. 1437 01:13:37,890 --> 01:13:40,086 Si nou jwenn te pase nan fisèl la 90 - 1438 01:13:40,086 --> 01:13:41,336 >> ELÈV: [fèbl]. 1439 01:13:41,336 --> 01:13:43,190 1440 01:13:43,190 --> 01:13:45,540 >> JASON HIRSCHHORN: Men, atwa pran yon kòd. 1441 01:13:45,540 --> 01:13:46,350 Se konsa, nou ap ale nan ale nan kenbe la. 1442 01:13:46,350 --> 01:13:49,900 Nou pral jwenn ki te pase nan 90. 1443 01:13:49,900 --> 01:13:51,540 Nou ale soti nan do a, yo kanpe devan la. 1444 01:13:51,540 --> 01:13:53,920 Nou pran 0 a. 1445 01:13:53,920 --> 01:13:55,080 >> ELÈV: mwen regrèt. 1446 01:13:55,080 --> 01:13:55,880 Petèt sa a se estipid. 1447 01:13:55,880 --> 01:13:59,440 Si nou ap resevwa te pase nan yon fil, poukisa se 90 ki sa nou ap 1448 01:13:59,440 --> 01:14:00,260 resevwa te pase nan? 1449 01:14:00,260 --> 01:14:03,160 Paske 90 se yon nonb antye. 1450 01:14:03,160 --> 01:14:06,820 >> JASON HIRSCHHORN: Paske atwa pran yon fisèl ak vire l 'nan nonb antye ki pè a 1451 01:14:06,820 --> 01:14:08,320 reprezantasyon nan ki fil. 1452 01:14:08,320 --> 01:14:13,650 Men, fisèl la 90 se pa nonb antye ki pè a 90 osinon nimewo ki 90. 1453 01:14:13,650 --> 01:14:17,920 Fisèl la 90 se yon etalaj de de, oswa twa karaktè, olye, 9 la 1454 01:14:17,920 --> 01:14:22,740 karaktè, karaktè a 0, epi antislach 0 karaktè la. 1455 01:14:22,740 --> 01:14:26,260 >> Apre sa, nou ap ekri atwa paske, pou egzanp, lè ou pran yo lòd, ki 1456 01:14:26,260 --> 01:14:30,230 liy agiman, epi li sove nan argv, li te sove kòm yon kòd. 1457 01:14:30,230 --> 01:14:32,940 Men, si ou vle trete li kòm yon nimewo, ou bezwen konvèti li nan yon 1458 01:14:32,940 --> 01:14:34,700 nonb antye ki pè vrè. 1459 01:14:34,700 --> 01:14:37,210 Ki nou te fè youn nan kouche pwoblèm nou yo. 1460 01:14:37,210 --> 01:14:38,800 Ki nou te fè nan yon nonb nan aparèy televisyon HD pwoblèm nou yo. 1461 01:14:38,800 --> 01:14:41,690 Tout moun ki te pran yon nonb antye relatif kòm yon agiman liy lòd. 1462 01:14:41,690 --> 01:14:46,490 Se konsa, Se poutèt sa fonksyon atwa nou pran yon kòd. 1463 01:14:46,490 --> 01:14:51,910 >> Se konsa, ankò, nan egzanp nou an isit la, nou ap pral pran yon sèl ki sot pase a. 1464 01:14:51,910 --> 01:14:55,050 Nou pral fè soustraksyon karaktè a 0 soti nan li, paske karaktè yo 0 1465 01:14:55,050 --> 01:14:58,810 soustrè pa karaktè a 0 ba ou nimewo aktyèl la 0, dapre 1466 01:14:58,810 --> 01:15:00,950 matematik la ASCII ke nou fè. 1467 01:15:00,950 --> 01:15:04,870 >> Paske karaktè yo reprezante kòm diferan pase aktyèl yo - nan 1468 01:15:04,870 --> 01:15:08,830 N. yon, pou egzanp, miniskil yon se 97. 1469 01:15:08,830 --> 01:15:10,260 Li pa - Wouch! 1470 01:15:10,260 --> 01:15:13,290 Li pa sa ou ta atann li nan dwe, 0, pou egzanp. 1471 01:15:13,290 --> 01:15:16,200 Se konsa, ou gen fè soustraksyon a N. yon jwenn 0. 1472 01:15:16,200 --> 01:15:18,950 >> Se konsa, nou ap ale nan fè sa isit la jwenn nimewo a vrè. 1473 01:15:18,950 --> 01:15:22,560 Lè sa a, nou pral miltipliye li pa yon puisans 10 depann sou kote li 1474 01:15:22,560 --> 01:15:27,030 se nan fisèl la, ak Lè sa a, pran ki epi ajoute li sou detantè plas nou 1475 01:15:27,030 --> 01:15:32,520 varyab pou nou ka vini ak final nouvo nonb antye ki pè nou an. 1476 01:15:32,520 --> 01:15:35,080 ki fè sans a tout moun? 1477 01:15:35,080 --> 01:15:37,730 >> Se konsa, nou pa ap ale nan Kòd sa a kounye a, paske nou ap 1478 01:15:37,730 --> 01:15:38,830 ap resevwa kout sou tan. 1479 01:15:38,830 --> 01:15:40,860 Mwen regrete pou tan an sou sa. 1480 01:15:40,860 --> 01:15:44,620 Men, sa a se sa, èspere ke, ou ta kapab fè sou egzamen an - nan a 1481 01:15:44,620 --> 01:15:47,710 trè pi piti, jwenn pseudocode sa a ekri deyò. 1482 01:15:47,710 --> 01:15:50,840 >> Lè sa a,, si nou tout nou te ekri a pseudocode, aktyèlman, nou te ka fè sa 1483 01:15:50,840 --> 01:15:51,490 yo byen vit. 1484 01:15:51,490 --> 01:15:55,230 Chak liy nan kòmantè nou nou te ekri isit la tradui a sou 1485 01:15:55,230 --> 01:15:56,970 yon sèl liy nan C kòd. 1486 01:15:56,970 --> 01:16:01,780 Deklare yon nouvo varyab, ekri yon bouk, gen kèk soustraksyon, gen kèk 1487 01:16:01,780 --> 01:16:07,070 miltiplikasyon, ak kèk plasman. 1488 01:16:07,070 --> 01:16:09,020 Nou ta pwobableman tou vle ekri yon liy retou. 1489 01:16:09,020 --> 01:16:12,040 Nou ka tou vle mete kèk chèk nan isit la. 1490 01:16:12,040 --> 01:16:12,655 Yeah. 1491 01:16:12,655 --> 01:16:15,720 >> ELÈV: Se konsa, nou ka trete s kòm fisèl aktyèl la? 1492 01:16:15,720 --> 01:16:18,730 Paske mwen konnen li nan jis yon adrès. 1493 01:16:18,730 --> 01:16:22,090 Tankou, ki jan ou ta jwenn longè a nan fisèl la ke yo te mache nan tout? 1494 01:16:22,090 --> 01:16:25,310 >> JASON HIRSCHHORN: Se konsa, kouman fè longè a nan yon fil? 1495 01:16:25,310 --> 01:16:25,830 Strlèn. 1496 01:16:25,830 --> 01:16:26,660 >> ELÈV: strlèn, yeah. 1497 01:16:26,660 --> 01:16:30,550 Men, ou ka mete yo kòm nan agiman pou sa? 1498 01:16:30,550 --> 01:16:34,620 >> JASON HIRSCHHORN: Se konsa, strlèn pran yon etwal Char. 1499 01:16:34,620 --> 01:16:38,090 Apre sa, li swiv ki zetwal Char, epi li kenbe konte jiskaske li vin nan yon 1500 01:16:38,090 --> 01:16:41,865 antislach 0. strlèn te aktyèlman youn nan lòt pwogram sa yo nou 1501 01:16:41,865 --> 01:16:42,850 te ale nan kòd. 1502 01:16:42,850 --> 01:16:44,560 Sa a yon lòt bon kòd. 1503 01:16:44,560 --> 01:16:47,270 Ke yon moun nan yon ti jan pi fasil, paske si w ap ale nan panse osijè de sa 1504 01:16:47,270 --> 01:16:47,830 concept - 1505 01:16:47,830 --> 01:16:51,620 Mwen jis te di ke li byen fò - strlèn sa a yon konsèy ak kenbe prale ak 1506 01:16:51,620 --> 01:16:54,210 konte ak kenbe tras jouk ou rive nan yon antislach 0. 1507 01:16:54,210 --> 01:16:56,530 >> ELÈV: OK, te resevwa li. 1508 01:16:56,530 --> 01:17:00,200 >> JASON HIRSCHHORN: Se konsa, pi bon nan chans sou egzamen 0 demen. 1509 01:17:00,200 --> 01:17:03,170 Si w gen nenpòt kesyon, mwen pral gen deyò apre sa a. 1510 01:17:03,170 --> 01:17:05,610 Santi yo lib yo voye yon imèl ba m '. 1511 01:17:05,610 --> 01:17:08,480 Rive jwenn soti nan TF pwòp ou a si w ap pa nan seksyon m 'yo, oswa pou w jwenn mwen 1512 01:17:08,480 --> 01:17:10,005 voye yon imèl ba si ou vle li. 1513 01:17:10,005 --> 01:17:13,140 >> Si ou vle sovaj deyò epi yo jis voye m 'yon imel, yon imel freakout, mwen pral 1514 01:17:13,140 --> 01:17:16,710 voye ou ale, tankou, yon figi Smiley, oswa, tankou, yon blag oubyen yon bagay. 1515 01:17:16,710 --> 01:17:18,190 Se konsa, santi yo lib yo fè sa tou. 1516 01:17:18,190 --> 01:17:20,750 Bon chans ankò, epi mwen pral wè ou tout semèn pwochèn. 1517 01:17:20,750 --> 01:17:23,435