1 00:00:00,000 --> 00:00:00,000 2 00:00:00,000 --> 00:00:00,000 [MIZIK jwe] 3 00:00:00,000 --> 00:00:13,950 4 00:00:13,950 --> 00:00:16,240 >> DAVID J. Malan: Tout dwa, sa se CS50. 5 00:00:16,240 --> 00:00:18,010 Lè sa a se semèn yon sèl. 6 00:00:18,010 --> 00:00:22,050 Se konsa, sonje ke, dènye fwa nan semèn zewo, nou konsantre sou panse enfòmatik. 7 00:00:22,050 --> 00:00:25,440 Apre sa, nou favorize tranzisyon soti nan ke yo Grafouyen, yon pwogram grafik 8 00:00:25,440 --> 00:00:27,360 lang nan men zanmi nou an nan Laboratwa Media MIT nan. 9 00:00:27,360 --> 00:00:31,730 >> Se avèk grafouyen, t 'nou eksplore lide tankou fonksyon, ak kondisyon, 10 00:00:31,730 --> 00:00:35,210 ak pasan, ak varyab, e menm evenman yo, ak fil, ak plis ankò. 11 00:00:35,210 --> 00:00:37,880 Ak jodi a, nou ap ale nan kontinye lè l sèvi avèk lide sa yo, 12 00:00:37,880 --> 00:00:40,630 ak reyèlman pran yo pou akòde, men tradui yo 13 00:00:40,630 --> 00:00:44,220 nan yon lòt lang ke yo rekonèt kòm C. Koulye a, C se yon lang plis tradisyonèl. 14 00:00:44,220 --> 00:00:46,020 Li se yon pi ba nivo lang, si ou pral. 15 00:00:46,020 --> 00:00:47,300 >> Li nan piman textuelle. 16 00:00:47,300 --> 00:00:49,910 Se konsa, nan premye gade, li nan tout pral gade olye skre 17 00:00:49,910 --> 00:00:51,430 si ou pa janm te pwograme anvan. 18 00:00:51,430 --> 00:00:53,530 Nou ap ale nan gen semi-kolon, ak parantèz, 19 00:00:53,530 --> 00:00:55,150 ak aparèy òtopedik Curly, ak plis ankò. 20 00:00:55,150 --> 00:00:57,240 Men, reyalize ke menm menm si sentaks la se 21 00:00:57,240 --> 00:01:00,600 sou yo gade yon ti kras abitye nan pi fò nan ou, gade sot pase sa. 22 00:01:00,600 --> 00:01:03,220 Epi eseye wè lide yo ki, tout bon, yo konnen yo, 23 00:01:03,220 --> 00:01:06,750 paske isit la nan semèn youn sa nou pral kòmanse fè se yo konpare, 24 00:01:06,750 --> 00:01:08,980 okòmansman, Grafouyen kont C. 25 00:01:08,980 --> 00:01:12,350 >> Se konsa, pou egzanp, sonje ke lè nou aplike premye a nan pwogram nou 26 00:01:12,350 --> 00:01:16,220 dènye fwa, nou te gen yon blòk ki te yon ti kras yon bagay tankou sa a men lè 27 00:01:16,220 --> 00:01:19,990 drapo vèt klike, ak Lè sa a nou te gen youn oswa plis moso devinèt anba a li, 28 00:01:19,990 --> 00:01:22,150 nan ka sa a, di, alo nan lemonn. 29 00:01:22,150 --> 00:01:24,870 Se konsa, tout bon, nan grafouyen, lè m 'klike sou ki drapo vèt 30 00:01:24,870 --> 00:01:27,390 nan kouri pwogram mwen, se konsa konsa pale, sa yo, se 31 00:01:27,390 --> 00:01:29,520 blòk yo ki jwenn egzekite, oswa kouri. 32 00:01:29,520 --> 00:01:32,230 Epi, espesyalman, Scratch te di, hello, nan lemonn. 33 00:01:32,230 --> 00:01:35,377 >> Koulye a, mwen te kapab espesifye mo diferan isit la. 34 00:01:35,377 --> 00:01:37,960 Men, nou ap wè ke, tout bon, anpil nan blocks-- sa yo ak tout bon, 35 00:01:37,960 --> 00:01:41,880 nan C anpil functions-- kapab parametrized oswa Customized 36 00:01:41,880 --> 00:01:43,150 fè bagay sa yo diferan. 37 00:01:43,150 --> 00:01:45,520 An reyalite, nan C si nou vle konvèti, kounye a, 38 00:01:45,520 --> 00:01:47,567 pwogram reyur sa a nan lòt lang sa a, 39 00:01:47,567 --> 00:01:49,650 nou ap ale nan ekri yon ti kras yon bagay tankou sa a. 40 00:01:49,650 --> 00:01:52,540 >> Se vre, gen kèk abitye sentaks gen gen plis chans, int, 41 00:01:52,540 --> 00:01:54,380 ak parantèz, epi revoke. 42 00:01:54,380 --> 00:01:57,740 Men, printf menm si ou ta panse ke li ta jis pou ekri an lèt detache. 43 00:01:57,740 --> 00:02:00,120 Men, ekri an lèt detache vle di ekri an lèt detache fòma, menm jan nou pral byento wè. 44 00:02:00,120 --> 00:02:02,140 Sa a literalman pral enprime nan ekran an tou sa 45 00:02:02,140 --> 00:02:05,990 se andedan nan tout sa yo parantèz, ki nan kou nan ka sa a se, alo nan lemonn. 46 00:02:05,990 --> 00:02:09,290 >> Men, ou pral avi kèk lòt sentaks, gen kèk quotes doub, 47 00:02:09,290 --> 00:02:11,890 ki parantèz yo nan fen a, semi-kolon an ak renmen an. 48 00:02:11,890 --> 00:02:15,027 Se konsa, gen nan yon ti jan nan sou tèt li, se konsa pale, tou de konesan 49 00:02:15,027 --> 00:02:17,860 ak syntactically, ki nou ap ale fè yo sonje anvan lontan. 50 00:02:17,860 --> 00:02:20,720 Men, reyalize ke ak pratik, sa a ap kòmanse so soti nan ou. 51 00:02:20,720 --> 00:02:24,920 >> An reyalite, se pou yo konsantre sou ke yon moun fonksyon specifically-- nan ka sa a, 52 00:02:24,920 --> 00:02:26,290 di alo nan lemonn. 53 00:02:26,290 --> 00:02:27,560 Se konsa, di se fonksyon an. 54 00:02:27,560 --> 00:02:31,320 Alo lemonn yo se paramèt li yo, oswa agiman, personnalisation li yo. 55 00:02:31,320 --> 00:02:34,320 >> Apre sa, ekivalans la nan C se jis pral fè liy sa a yon sèl isit la, 56 00:02:34,320 --> 00:02:38,710 kote printf ki ekivalan a, di, doub te site fisèl la, alo 57 00:02:38,710 --> 00:02:41,470 lemonn yo se ekivalan, nan kou, nan sa a nan ti bwat la blan la. 58 00:02:41,470 --> 00:02:45,680 Apre sa, n nan antislach, menm si yon ti kras etranj yo ak absan nan grafouyen, 59 00:02:45,680 --> 00:02:49,380 tou senpleman ki pral gen efè a nou pral wè nan yon òdinatè, tankou Mac mwen oswa yon PC, 60 00:02:49,380 --> 00:02:51,660 nan jis k ap deplase nan kurseur nan liy kap vini an. 61 00:02:51,660 --> 00:02:53,970 Se tankou frape Antre nan sou klavye ou. 62 00:02:53,970 --> 00:02:55,580 >> Se konsa, nou pral wè sa ankò anvan lontan. 63 00:02:55,580 --> 00:02:58,640 Men, anvan, kite a pran yon gade nan sa a lòt egzanp nan ka a nan pasan. 64 00:02:58,640 --> 00:03:02,830 Nou te gen sa a pou tout tan bouk dènye fwa, ki te yon seri de moso devinèt 65 00:03:02,830 --> 00:03:05,490 ki te fè yon bagay literalman forever-- nan ka sa a, 66 00:03:05,490 --> 00:03:08,360 di, alo mond, alo mond, alo mond, alo nan lemonn. 67 00:03:08,360 --> 00:03:10,350 Se konsa, li yon riban enfini pa konsepsyon. 68 00:03:10,350 --> 00:03:14,580 >> Nan C, si nou vle aplike sa a lide menm, nou ta ka tou senpleman fè sa. 69 00:03:14,580 --> 00:03:19,570 Pandan ke vre, printf alo world-- kounye a pandan y ap, jis Semantics, kalite 70 00:03:19,570 --> 00:03:23,090 konjur moute lide a nan fè yon bagay ankò, e ankò, e ankò, 71 00:03:23,090 --> 00:03:23,980 ak pou konbyen tan? 72 00:03:23,980 --> 00:03:27,990 Oke, true-- sonje ke vre se jis sou oswa yon sèl. 73 00:03:27,990 --> 00:03:30,660 >> , Se verite se, nan kou, toujou vre. 74 00:03:30,660 --> 00:03:33,060 Se konsa, li nan kalite yon san sans deklarasyon jis vle di vre. 75 00:03:33,060 --> 00:03:36,890 Men, tout bon, sa a se ekspre, paske si vre se jis toujou vre, 76 00:03:36,890 --> 00:03:40,850 pase pandan y ap vre jis implique, si yon ti kras endirèkteman, 77 00:03:40,850 --> 00:03:44,070 ki liy ki vin apre nan kòd nan ant sa yo aparèy òtopedik Curly 78 00:03:44,070 --> 00:03:48,320 ta dwe jis egzekite ankò, e ankò, e ankò, epi pa janm aktyèlman sispann. 79 00:03:48,320 --> 00:03:50,230 >> Men, si ou vle ou bouk yo sispann, menm jan nou 80 00:03:50,230 --> 00:03:54,500 te fè dènye fwa ak yon bagay tankou sa a, repete yo 50 fwa yo, 81 00:03:54,500 --> 00:03:57,700 nan C nou ka fè menm bagay la ak sa ki nan rele yon pou loop-- mo kle a 82 00:03:57,700 --> 00:03:59,330 pa ke yo te ti tan, men pou. 83 00:03:59,330 --> 00:04:03,290 Lè sa a, nou gen kèk sentaks nouvo isit la, ak int mwen egal 0, mwen mwens pase 50, 84 00:04:03,290 --> 00:04:03,880 mwen ++. 85 00:04:03,880 --> 00:04:05,430 Epitou, n ap tounen vin jwenn sa. 86 00:04:05,430 --> 00:04:09,660 Men, sa a se tou senpleman ki jan nou ta tradui mete nan nan blòk Scratch 87 00:04:09,660 --> 00:04:13,079 nan yon seri C liy nan kòd. 88 00:04:13,079 --> 00:04:14,450 >> Pandan se tan, konsidere varyab. 89 00:04:14,450 --> 00:04:16,540 Epi, an reyalite, nou jis te wè yon yon ti moman de sa. 90 00:04:16,540 --> 00:04:21,220 Ak nan ka a nan grafouyen, si nou te vle deklare yon varyab rele mwen 91 00:04:21,220 --> 00:04:24,590 pou mwen ke yo te nonb antye relatif, jis yon nimewo, e nou vle mete l 'nan kèk valè, 92 00:04:24,590 --> 00:04:28,410 nou ta sèvi ak sa a zoranj bloke isit lan-- mete m nan 0. 93 00:04:28,410 --> 00:04:30,800 >> Epitou, n ap wè jodi a ak pi lwen pase, jis tankou semèn pase a, 94 00:04:30,800 --> 00:04:33,850 pwogramasyon fè prèske toujou kòmanse konte soti nan zewo, reyèlman 95 00:04:33,850 --> 00:04:34,950 pa konvansyon. 96 00:04:34,950 --> 00:04:37,250 Men tou, paske sonje soti nan diskisyon nou an binè, 97 00:04:37,250 --> 00:04:39,990 nimewo ki pi piti ou kapab reprezante ak nenpòt ki kantite Bits 98 00:04:39,990 --> 00:04:41,640 se jis pral fè 0 tèt li. 99 00:04:41,640 --> 00:04:45,190 Se konsa, nou pral jeneralman kòmanse inisyalizin menm varyab nou an nan 0. 100 00:04:45,190 --> 00:04:47,710 >> Ak nan C rive nan fè menm bagay la, nou ap ale nan di Int 101 00:04:47,710 --> 00:04:50,110 pou nonb antye relatif, mwen jis pa konvansyon. 102 00:04:50,110 --> 00:04:53,390 Mwen te kapab yo te rele sa a varyab anyen mwen vle, jis tankou nan grafonyen moun. 103 00:04:53,390 --> 00:04:57,770 Lè sa a, egal 0 jis mandatè valè a 0 de dwat la 104 00:04:57,770 --> 00:05:01,319 epi mete an l 'nan varyab la, oswa depo veso a, sou bò gòch la. 105 00:05:01,319 --> 00:05:04,360 Ak semi-kolon an menm jan nou pral see-- ak nou te wè yon kèk nan sa yo deja- 106 00:05:04,360 --> 00:05:06,530 jis vle di fen nan panse. 107 00:05:06,530 --> 00:05:09,430 Kontinye nan fè yon lòt bagay sou liy ki ki swiv. 108 00:05:09,430 --> 00:05:11,330 >> Koulye a, sa ki sou ekspresyon Boolean? 109 00:05:11,330 --> 00:05:14,320 Sonje byen, nan grafouyen, sa yo te ekspresyon 110 00:05:14,320 --> 00:05:16,740 ki yo se swa vre oswa kesyon false--, 111 00:05:16,740 --> 00:05:18,910 reyèlman, ki yo se swa vre oubyen fo. 112 00:05:18,910 --> 00:05:21,960 Se konsa, nan ka a nan grafouyen, nou ta ka poze yon kesyon senp tankou sa a, 113 00:05:21,960 --> 00:05:24,586 se mwen mwens pase 50? 114 00:05:24,586 --> 00:05:25,710 Se konsa, mwen, ankò, se yon nonb antye relatif. 115 00:05:25,710 --> 00:05:27,210 Petèt nou ap sèvi ak li nan yon pwogram Scratch 116 00:05:27,210 --> 00:05:29,310 nan kenbe tras nan yon nòt oswa yon bagay tankou sa. 117 00:05:29,310 --> 00:05:33,810 Se konsa, sa sentaks isit la nan Grafouyen jis vle di, se mwen mwens pase 50? 118 00:05:33,810 --> 00:05:37,330 Oke, Erezman, yon bagay ki senp nan C. Men, tradui, 119 00:05:37,330 --> 00:05:41,780 sa a nou ta tou senpleman di mwen mwens pase 50, lè l sèvi avèk kle a abitye 120 00:05:41,780 --> 00:05:42,850 sou klavye ou. 121 00:05:42,850 --> 00:05:45,141 >> Pandan se tan, si ou te vle di yon bagay ki pi jeneral, 122 00:05:45,141 --> 00:05:49,890 tankou, byen, se x mwens pase y kote chak nan x ak y yo se tèt yo varyab? 123 00:05:49,890 --> 00:05:52,280 Nou ka fè menm bagay la nan C, toutotan nou te 124 00:05:52,280 --> 00:05:53,942 kreye sa yo varyab deja. 125 00:05:53,942 --> 00:05:55,650 Epitou, n ap wè ki jan yo fè sa anvan lontan. 126 00:05:55,650 --> 00:05:58,590 Nou ta tou senpleman di x mwens pase y. 127 00:05:58,590 --> 00:06:00,530 >> Se konsa, ou ap kòmanse wè kèk resanblans. 128 00:06:00,530 --> 00:06:03,490 Ak moun ki jan ki te fè Grafouyen te sètènman 129 00:06:03,490 --> 00:06:05,250 enspire pa kèk nan lide debaz sa yo. 130 00:06:05,250 --> 00:06:10,350 Men, ou pral wè sa a kalite sentaks nan anpil languages-- 131 00:06:10,350 --> 00:06:12,160 pa sèlman Grafouyen, pa jis C, men Piton, 132 00:06:12,160 --> 00:06:14,790 ak JavaScript, ak lòt lang toujou. 133 00:06:14,790 --> 00:06:18,270 >> Se pou nou konsidere yon lòt konstwi soti nan C, nosyon de yon kondisyon, 134 00:06:18,270 --> 00:06:20,370 fè yon bagay kondisyon. 135 00:06:20,370 --> 00:06:22,720 Si gen yon bagay se vre, fè sa. 136 00:06:22,720 --> 00:06:24,457 Si gen yon bagay lòt bagay se vre, fè sa. 137 00:06:24,457 --> 00:06:27,040 Li nan sòt de pwogram lan ekivalan nan yon fouchèt nan wout la. 138 00:06:27,040 --> 00:06:29,730 Petèt li nan yon fouchèt de-fason, yon fouchèt twa-fason sa a, oswa pi plis. 139 00:06:29,730 --> 00:06:32,800 Apre sa, nan grafouyen, nou ka gen wè yon bagay konsa. 140 00:06:32,800 --> 00:06:34,010 >> Se konsa, yon sèl sa a nan yon yon sèl gwo. 141 00:06:34,010 --> 00:06:36,750 Men, konsidere relatif nan senplisite nan lojik la. 142 00:06:36,750 --> 00:06:44,010 Si x se mwens pase y, Lè sa a, di x se mwens pase y, lòt bagay si x gen plis pouvwa pase y, 143 00:06:44,010 --> 00:06:46,230 Lè sa a, di x gen plis pouvwa pase y. 144 00:06:46,230 --> 00:06:48,300 Lè sa a,, lojikman, si ou panse tounen nan grafouyen 145 00:06:48,300 --> 00:06:52,610 oswa jis pwòp ou a entwisyon imen, byen, si x se janm pi grannèg pase y, ak x 146 00:06:52,610 --> 00:06:57,000 se pa mwens pase y, Lè sa a, nan kou x a pwal egal a y. 147 00:06:57,000 --> 00:06:59,690 Se konsa, nan ka sa a, pa nidifikasyon moun blòk grafouyen, 148 00:06:59,690 --> 00:07:02,580 nou kapab reyalize yon twa fason fouchèt nan wout la? 149 00:07:02,580 --> 00:07:04,980 >> Pandan se tan, si nou vle fè sa nan C, li joui 150 00:07:04,980 --> 00:07:08,420 sanble yon simpler-- ti kras omwen yon fwa ou jwenn abitye ak sentaks la. 151 00:07:08,420 --> 00:07:12,050 Si x se mwens pase y, printf x se mwens pase y. 152 00:07:12,050 --> 00:07:16,140 Lòt Bagay si x gen plis pouvwa pase y, printf x gen plis pouvwa pase y. 153 00:07:16,140 --> 00:07:21,210 Lòt Bagay printf x egal a y--, epi, ankò, ak sa yo antislach fini jis 154 00:07:21,210 --> 00:07:24,160 pou moun ki nouvo liy se konsa ke si ou aktyèlman kouri sa a kalite pwogram 155 00:07:24,160 --> 00:07:25,940 li ta jis deplase kurseur ou finalman 156 00:07:25,940 --> 00:07:28,100 nan liy nan pwochen nan ekran an. 157 00:07:28,100 --> 00:07:31,270 >> Koulye a, pandan se tan Scratch te fè lòt karakteristik pi plis sofistike, se sèlman 158 00:07:31,270 --> 00:07:34,320 kèk nan yo ki nou ap ale nan okòmansman deplase sou nan mond lan nan C. 159 00:07:34,320 --> 00:07:37,010 Yonn ladan yo te rele yon lis nan grafonyen moun. 160 00:07:37,010 --> 00:07:39,100 Lè sa a te yon espesyal di ki kalite varyab ki 161 00:07:39,100 --> 00:07:42,840 pèmèt ou nan magazen miltip bagay nan l 'tounen, nan do, nan do, nan do. 162 00:07:42,840 --> 00:07:45,540 >> Nan C, li pa gen lis, se pou chak, men yon bagay 163 00:07:45,540 --> 00:07:48,090 ki gen plis jeneralman rele ranje, byenke nou pral 164 00:07:48,090 --> 00:07:50,590 tounen vin pita sa a semès gade nan yon bagay 165 00:07:50,590 --> 00:07:52,780 rele yon lis, oswa reyèlman yon lis lye. 166 00:07:52,780 --> 00:07:55,510 Men, pou kounye pi pre a, ekivalan nan C pou nou 167 00:07:55,510 --> 00:07:57,345 a pwal yon bagay rele yon etalaj. 168 00:07:57,345 --> 00:07:59,740 Ak yon etalaj se tou senpleman yon kalite espesyal nan varyab 169 00:07:59,740 --> 00:08:03,160 ki pèmèt ou nan magazen done tounen, nan do, nan do, nan do. 170 00:08:03,160 --> 00:08:05,840 >> Epi, tout bon, nan grafouyen, si nou te vle jwenn aksè nan 171 00:08:05,840 --> 00:08:09,030 eleman an premye nan yon etalaj oswa yon list-- ak mwen pral rele l ', 172 00:08:09,030 --> 00:08:13,600 pa konvansyon, argv, agiman vektè, men plis sou sa anvan lontan. 173 00:08:13,600 --> 00:08:17,090 Si m 'vle jwenn nan eleman nan premye nan argv, nan mond lan nan Scratch 174 00:08:17,090 --> 00:08:20,930 ou aktyèlman fè tipikman kòmanse konte soti nan 1. 175 00:08:20,930 --> 00:08:22,850 >> Se konsa, mwen ta ka jwenn atik 1 nan argv. 176 00:08:22,850 --> 00:08:26,310 Se jis ki jan MIT aplike nosyon de lis. 177 00:08:26,310 --> 00:08:29,860 Men, nan C, mwen pral plis tou senpleman jis di, argv, 178 00:08:29,860 --> 00:08:32,758 ki ankò se non an nan m ' list-- oswa yo dwe klè, yon etalaj. 179 00:08:32,758 --> 00:08:34,549 Men, si mwen vle premye a eleman, mwen pral 180 00:08:34,549 --> 00:08:37,890 yo sèvi ak parantèz kare, ki ou pa ta ka souvan itilize anba yon klavye. 181 00:08:37,890 --> 00:08:40,150 >> Men, 0 jis vle di, jwenn m 'premye a. 182 00:08:40,150 --> 00:08:42,160 Se konsa, sou okazyon ak jan tan pase, nou ap ale 183 00:08:42,160 --> 00:08:44,570 yo kòmanse yo wè dikotomi sa yo ant Scratch ak C, 184 00:08:44,570 --> 00:08:46,070 kijan Scratch sèvi ak yon sèl. 185 00:08:46,070 --> 00:08:47,670 Nou nan C sèvi ak 0 isit la. 186 00:08:47,670 --> 00:08:49,420 Men, ou pral byen vit wè yon fwa ou konprann 187 00:08:49,420 --> 00:08:52,920 fondasyon yo nan chak lang, ki bagay sa yo kòmanse jwenn tout pi plis nan 188 00:08:52,920 --> 00:08:56,860 abitye nan pratik ak pratik. 189 00:08:56,860 --> 00:08:59,700 >> Se konsa nou aktyèlman gade kounye a nan yon pwogram. 190 00:08:59,700 --> 00:09:04,031 Isit la va pran devan nan C nou an kòd sous pou pwogram konplè. 191 00:09:04,031 --> 00:09:06,280 Ak pwogram nan nou ap ale yo ofri pou konsiderasyon 192 00:09:06,280 --> 00:09:09,340 se youn nan sa a, se ekivalan ak sa yo ki moso Scratch pi bonè. 193 00:09:09,340 --> 00:09:13,210 >> Se konsa, nan isit la, nou gen sa ki nan joui C pwogram la ki pi senp 194 00:09:13,210 --> 00:09:15,410 ou ka ekri ki aktyèlman fè yon bagay. 195 00:09:15,410 --> 00:09:18,250 Koulye a, nou pral gade sot pase yo, pou kounye a, te enkli ladan yo, 196 00:09:18,250 --> 00:09:21,190 estanda io.h, ak sa yo ang parantèz, ak int, ak anile, 197 00:09:21,190 --> 00:09:22,840 ak aparèy òtopedik yo Curly, ak renmen an. 198 00:09:22,840 --> 00:09:25,390 >> Li kite yo jis konsantre sou sa, omwen entwitif, 199 00:09:25,390 --> 00:09:26,860 ta ka sote soti nan ou deja. 200 00:09:26,860 --> 00:09:30,300 An reyalite, prensipal yo, mwen pa fè sa nesesèman konnen ki sa sa a se, 201 00:09:30,300 --> 00:09:34,580 men anpil tankou Grafouyen te gen ke lè vèt drapo klike moso devinèt, 202 00:09:34,580 --> 00:09:39,070 pou fè C kòm yon lang programmation gen yon moso prensipal la kòd ki 203 00:09:39,070 --> 00:09:43,380 vin egzekite pa default. Epi, tout bon, li nan literalman ale nan dwe rele prensipal la. 204 00:09:43,380 --> 00:09:44,720 >> Se konsa, prensipal la se yon fonksyon. 205 00:09:44,720 --> 00:09:48,720 Lè li nan yon fonksyon espesyal ki egziste nan C ke lè ou kouri nan yon pwogram, 206 00:09:48,720 --> 00:09:52,720 li se prensipal ki vin kouri pa default. Nan mond lan nan grafouyen, 207 00:09:52,720 --> 00:09:56,970 li te anjeneral lè vèt drapo klike ki te resevwa kouri pa default. 208 00:09:56,970 --> 00:10:01,130 >> Pandan se tan, nou te wè sa a anvan, printf oswa ekri an lèt detache fòma, sa se 209 00:10:01,130 --> 00:10:05,620 pral gen yon fonksyon ki vini ak C, ansanm ak yon pakèt antye nan lòt moun, 210 00:10:05,620 --> 00:10:10,140 ki volonte de tan ak tan ankò, yo nan lòd yo fè egzakteman 211 00:10:10,140 --> 00:10:12,450 kòm non li sijere, enprime yon bagay. 212 00:10:12,450 --> 00:10:13,500 Ki sa nou vle enprime? 213 00:10:13,500 --> 00:10:15,770 Bon, nou ap wè ke pa jwen karaktè 214 00:10:15,770 --> 00:10:18,680 tankou mond these-- hello, antislach n nan quotes doub, 215 00:10:18,680 --> 00:10:23,040 nou ka di printf egzakteman sa yo dwe enprime sou ekran an. 216 00:10:23,040 --> 00:10:26,430 >> Men, nan lòd yo fè sa, nou malerezman 217 00:10:26,430 --> 00:10:30,010 bezwen pran yon bagay ki se deja skre yo ban nou moun, 218 00:10:30,010 --> 00:10:34,510 men omwen li a yon ti jan readable-- byen file enkli ladan yo, estanda io.h, int, 219 00:10:34,510 --> 00:10:39,340 prensipal yo, anile, printf, nan tout majik la enkantasyon nou jis te wè sou ekran an. 220 00:10:39,340 --> 00:10:42,470 Men, nou gen aktyèlman yo ka ale pi plis Esoteric toujou. 221 00:10:42,470 --> 00:10:47,140 Nou premye bezwen tradui kòd la , ann ekri nan kòd machin. 222 00:10:47,140 --> 00:10:51,370 Apre sa, sonje soti nan semèn pase a ke machin, omwen yo menm ki nou konnen isit la, 223 00:10:51,370 --> 00:10:54,450 nan fen jou a sèlman konprann zewo ak inite. 224 00:10:54,450 --> 00:10:58,100 >> Apre sa, Bondye mwen, si nou te gen yo ekri sa yo zewo ak moun yo ki aktyèlman pwogram, 225 00:10:58,100 --> 00:11:01,260 li ta trè, trè byen vit pran plezi a soti nan anyen. 226 00:11:01,260 --> 00:11:05,150 Men, li vire soti, pou chak semèn pase a, ke sa yo modèl nan zewo ak moun yo 227 00:11:05,150 --> 00:11:06,400 jis gen siyifikasyon espesyal. 228 00:11:06,400 --> 00:11:08,500 Nan sèten kontèks, yo ta ka vle di chif yo. 229 00:11:08,500 --> 00:11:11,840 >> Nan kèk kontèks, yo ta ka vle di lèt, oswa koulè, oswa nenpòt ki kantite 230 00:11:11,840 --> 00:11:14,710 nan lòt Abstraksyon gen sou li. 231 00:11:14,710 --> 00:11:18,450 Men, menm jan òdinatè ou a gen yon CPU, Central otomatik Inite, 232 00:11:18,450 --> 00:11:20,390 oswa sèvo yo andedan nan òdinatè w lan. 233 00:11:20,390 --> 00:11:22,240 Li nan anjeneral Intel andedan, paske se sa 234 00:11:22,240 --> 00:11:24,900 youn nan konpayi yo pi gwo ki fè proseseur pou òdinatè. 235 00:11:24,900 --> 00:11:28,910 >> Oke, Intel proseseur ak lòt moun tou senpleman te deside an avanse 236 00:11:28,910 --> 00:11:33,970 ke modèl sèten nan zewo ak yo menm dwe vle di espesifik bagay sa yo. 237 00:11:33,970 --> 00:11:37,040 Sèten modèl nan zewo ak moun yo pral vle di, enprime sa a nan ekran an, 238 00:11:37,040 --> 00:11:39,710 oswa ajoute de nonb sa yo, oswa fè soustraksyon de nimewo sa yo, 239 00:11:39,710 --> 00:11:43,310 oswa deplase pyès sa a nan done ki sòti nan memwa òdinatè mwen an sou isit la, 240 00:11:43,310 --> 00:11:47,870 oswa nenpòt ki kantite lòt nivo ki ba anpil, men finalman itil, operasyon yo. 241 00:11:47,870 --> 00:11:53,022 Men, Erezman, nou moun yo pa pral nan bezwen konnen nivo sa a nan detay. 242 00:11:53,022 --> 00:11:56,230 Vreman vre, jis tankou dènye fwa, kote nou distrè ankò, e ankò, e ankò, 243 00:11:56,230 --> 00:11:58,930 bilding nan nivo ki ba anpil primitif tankou zewo ak moun yo 244 00:11:58,930 --> 00:12:01,160 nan pi wo konsèp nivo tankou nimewo, ak lèt, 245 00:12:01,160 --> 00:12:04,330 ak koulè, ak plis ankò, pou nou kapab kòm pwogramasyon 246 00:12:04,330 --> 00:12:07,080 kanpe sou zepòl yo nan lòt moun ki te vin jwenn mwen anvan nou 247 00:12:07,080 --> 00:12:11,260 epi sèvi ak lojisyèl ki lòt moun ki te ekri anvan nou ki 248 00:12:11,260 --> 00:12:14,340 sètadi pwogram rele konpilateur. 249 00:12:14,340 --> 00:12:17,770 >> C se yon lang ki se anjeneral konpile, 250 00:12:17,770 --> 00:12:22,130 ki vle di konvèti soti nan kòd sous nan kòd machin. 251 00:12:22,130 --> 00:12:25,230 An patikilye, sa sa vle di se ke si ou te gen sous ou 252 00:12:25,230 --> 00:12:29,530 Kòd ke ou tèt ou ekri, menm jan nou byento pral nan jis yon ti moman sou ekran an, 253 00:12:29,530 --> 00:12:33,140 , epi ou vle konvèti li finalman nan machin code-- 254 00:12:33,140 --> 00:12:37,100 moun zewo ak moun yo ki sèlman Mac ou a oswa PC ou 255 00:12:37,100 --> 00:12:41,230 understands-- ou te gen yon premye manje ki kòd sous nan kòm 256 00:12:41,230 --> 00:12:46,340 D 'nan yon espesyal pwogram yo rele yon du, 257 00:12:46,340 --> 00:12:48,974 pwodiksyon an nan nou pral wè se kòd machin. 258 00:12:48,974 --> 00:12:51,890 Epi, tout bon, ki dènye fwa nou te pale sou, reyèlman, nan fen jounen an, 259 00:12:51,890 --> 00:12:52,610 pou rezoud pwoblèm. 260 00:12:52,610 --> 00:12:53,360 Ou te gen entrain. 261 00:12:53,360 --> 00:12:54,318 Apre sa, ou te gen rezilta. 262 00:12:54,318 --> 00:12:56,560 Apre sa, ou te gen kèk kalite nan algorithm nan mitan yo. 263 00:12:56,560 --> 00:12:59,830 >> Algoritm ka siman dwe aplike nan lojisyèl, 264 00:12:59,830 --> 00:13:02,900 kòm nou te wè ak pseudocode semèn pase a ak jan nou pral wè ak aktyèl Kòd 265 00:13:02,900 --> 00:13:03,490 semèn sa a. 266 00:13:03,490 --> 00:13:06,430 Se konsa, yon du vrèman jis gen yon seri algoritm andedan 267 00:13:06,430 --> 00:13:10,060 nan li ki konnen ki jan yo konvèti mo kle sa yo espesyal, 268 00:13:10,060 --> 00:13:12,180 tankou prensipal yo, ak printf, ak lòt moun ki nou jis 269 00:13:12,180 --> 00:13:17,620 wè nan modèl yo nan zewo ak menm ki Intel andedan ak lòt proseseur 270 00:13:17,620 --> 00:13:20,020 aktyèlman konprann. 271 00:13:20,020 --> 00:13:22,460 Se konsa, kouman nou fè sa? 272 00:13:22,460 --> 00:13:24,470 Ki kote nou jwenn yon du? 273 00:13:24,470 --> 00:13:26,400 >> Pifò nan nou isit la gen yon Mac oswa yon PC. 274 00:13:26,400 --> 00:13:29,152 Apre sa, w ap kouri Mac OS, oswa Windows, oswa Linux, oswa Solarin, 275 00:13:29,152 --> 00:13:30,860 oswa nenpòt ki kantite lòt opere sistèm yo. 276 00:13:30,860 --> 00:13:32,568 Epi, tout bon, nou te kapab ale soti sou entènèt la 277 00:13:32,568 --> 00:13:35,710 ak download yon du pou Mac ou a oswa PC ou 278 00:13:35,710 --> 00:13:37,360 pou sistèm patikilye opere ou. 279 00:13:37,360 --> 00:13:39,617 Men, nou ta tout dwe sou paj diferan, se konsa pale. 280 00:13:39,617 --> 00:13:41,450 Nou ta gen yon ti kras konfigirasyon diferan. 281 00:13:41,450 --> 00:13:43,210 Apre sa, bagay sa yo pa ta travay tout menm bagay la. 282 00:13:43,210 --> 00:13:45,280 Epi, tout bon, jou sa yo anpil nan nou pa sèvi ak 283 00:13:45,280 --> 00:13:47,516 lojisyèl ki kouri sèlman sou laptops nou an. 284 00:13:47,516 --> 00:13:49,390 Olye de sa, nou itilize yon bagay tankou yon navigatè ki 285 00:13:49,390 --> 00:13:52,930 pèmèt nou jwenn aksè nan ki baze sou wèb aplikasyon pou nan nwaj la. 286 00:13:52,930 --> 00:13:55,630 Epi pita sa a semès, nou pwal fè egzakteman sa. 287 00:13:55,630 --> 00:13:59,660 Nou pral ekri aplikasyon oswa lojisyèl lè l sèvi avèk code-- pa C, 288 00:13:59,660 --> 00:14:02,860 men lòt lang tankou Piton ak JavaScript ki kouri nan nwaj la. 289 00:14:02,860 --> 00:14:05,860 >> Men, fè sa, nou tèt nou pandan semès la 290 00:14:05,860 --> 00:14:11,890 pral aktyèlman sèvi ak yon nwaj ki baze sou anviwònman li te ye tankou CS50 IDE. 291 00:14:11,890 --> 00:14:16,030 Sa a se yon pwogram ki baze sou wèb anviwònman, oswa entegre devlopman 292 00:14:16,030 --> 00:14:20,610 anviwònman, IDE, ki nan bati anlè kèk lojisyèl sous louvri rele Cloud 9. 293 00:14:20,610 --> 00:14:22,966 Apre sa, nou te fè kèk pedagojik senplifye nan li 294 00:14:22,966 --> 00:14:25,840 konsa tankou kache karakteristik sèten nan premye semèn yo ke nou pa bezwen, 295 00:14:25,840 --> 00:14:27,770 apre yo fin ki ou kapab revele yo, li fè pi fò 296 00:14:27,770 --> 00:14:29,400 nenpòt sa ou vle avèk anviwònman an. 297 00:14:29,400 --> 00:14:32,470 >> Epi, se pèmèt nou, tou, nan pre-enstale sèten lojisyèl. 298 00:14:32,470 --> 00:14:35,330 Bagay sa yo tankou yon CS50 sa yo rele bibliyotèk, ki nou pral byento wè 299 00:14:35,330 --> 00:14:39,210 bay nou nan C ak kèk plis fonctionnalités. 300 00:14:39,210 --> 00:14:44,392 Se konsa, si ou ale nan, finalman, CS50.io, ou pral pouse ou kapab konekte nan, 301 00:14:44,392 --> 00:14:46,350 ak yon fwa ou fè ak kreye yon kont pou gratis, 302 00:14:46,350 --> 00:14:52,150 ou yo pral kapab jwenn aksè nan yon anviwònman ki sanble byen tankou sa a. 303 00:14:52,150 --> 00:14:53,760 >> Koulye a, sa a se nan mòd nan default. 304 00:14:53,760 --> 00:14:55,650 Tout se bèl ak klere sou ekran an. 305 00:14:55,650 --> 00:14:57,941 Anpil nan nou gen yon abitid nan ap travay sou moso CS50 sa a, se 306 00:14:57,941 --> 00:14:59,150 byen byen ta nan nwit la la. 307 00:14:59,150 --> 00:15:02,400 Se konsa, kèk nan ou ta ka pito vire l 'nan mòd mitan lannwit, se konsa pale. 308 00:15:02,400 --> 00:15:05,550 >> Men, finalman, sa w ap pral wè nan CS50 IDE 309 00:15:05,550 --> 00:15:08,340 se twa distenk areas-- yon zòn sou kote a kite 310 00:15:08,340 --> 00:15:12,604 dosye ou yo ale nan dwe nan la nwaj, yon zòn sou bò dwat nan tèt 311 00:15:12,604 --> 00:15:14,270 kote kòd ou a a pwal editabl. 312 00:15:14,270 --> 00:15:16,650 Ou pral kapab yo louvri onglè endividyèl pou nenpòt ki pwogram 313 00:15:16,650 --> 00:15:19,670 ke ou ekri sa a semès andedan nan ki kwen tèt men dwat. 314 00:15:19,670 --> 00:15:23,070 Lè sa a, pi arcanely, e ankò pwisan, 315 00:15:23,070 --> 00:15:26,610 a pwal bagay sa a nan la anba li te ye tankou yon fenèt tèminal. 316 00:15:26,610 --> 00:15:29,450 >> Sa a se yon lekòl fin vye granmoun Kòmandman Liy Entèfas, 317 00:15:29,450 --> 00:15:32,240 oswa kote klima a leplisouvan, ki pèmèt nou al touye kòmandman 318 00:15:32,240 --> 00:15:35,260 sou computer-- an nan ka sa a, òdinatè a nan cloud-- la 319 00:15:35,260 --> 00:15:39,090 fè bagay sa yo tankou konpile kòd ou a nan kòd sous nan kòd machin, 320 00:15:39,090 --> 00:15:43,600 nan kouri pwogram ou an, oswa yo kòmanse ou sèvè wèb, oswa jwenn aksè nan baz done ou, 321 00:15:43,600 --> 00:15:47,454 ak nenpòt ki kantite lòt teknik ke nou pral kòmanse yo sèvi ak anvan lontan. 322 00:15:47,454 --> 00:15:49,370 Men, yo ka resevwa gen, nou ap ale nan gen aktyèlman 323 00:15:49,370 --> 00:15:51,240 yo ale sou entènèt ak kòmanse jwe. 324 00:15:51,240 --> 00:15:54,399 Ak fè sa, se pou yo premye kòmanse brikolaj ak prensipal yo, 325 00:15:54,399 --> 00:15:55,940 ak ekri pati prensipal la nan yon pwogram. 326 00:15:55,940 --> 00:15:59,170 Li kite yo sèvi ak sa fonksyon printf, ki nou itilize pi bonè, 327 00:15:59,170 --> 00:16:01,050 tou senpleman vle di yon bagay. 328 00:16:01,050 --> 00:16:04,910 >> Se konsa, isit la mwen menm deja andedan nan CS50 IDE. 329 00:16:04,910 --> 00:16:05,930 Mwen te louvri sesyon an davans. 330 00:16:05,930 --> 00:16:07,360 Apre sa, mwen plen tès depistaj fenèt la. 331 00:16:07,360 --> 00:16:09,670 Se konsa, finalman, ou twò nan pwoblèm vini 332 00:16:09,670 --> 00:16:12,960 pral swiv etap ki sanble ke ap bay sou entènèt kopi dokiman yo. 333 00:16:12,960 --> 00:16:16,360 Se konsa, ou pa bezwen enkyete sou absòbe tout ti etap teknik 334 00:16:16,360 --> 00:16:17,730 ke mwen fè isit la jodi a. 335 00:16:17,730 --> 00:16:19,222 >> Men, ou pral jwenn yon ekran tankou sa a. 336 00:16:19,222 --> 00:16:20,430 Mwen rive yo dwe nan mòd mitan lannwit. 337 00:16:20,430 --> 00:16:22,944 Epi ou ka egeye tout bagay moute pa enfimite mòd mitan lannwit. 338 00:16:22,944 --> 00:16:24,860 Apre sa, nan fen a jou, w ap ale nan wè 339 00:16:24,860 --> 00:16:30,090 sa yo twa prensipal areas-- dosye a navigatè sou bò gòch, onglè yo Kòd moute tèt, 340 00:16:30,090 --> 00:16:32,430 ak fenèt la tèminal nan fon. 341 00:16:32,430 --> 00:16:34,890 >> Kite m 'ale pi devan epi ekri pwogram premye fwa mwen. 342 00:16:34,890 --> 00:16:42,300 Mwen pral preemptively ale nan File, Save, epi sove dosye mwen kòm hello.c. 343 00:16:42,300 --> 00:16:46,850 Vreman vre, pa konvansyon, nenpòt nou pwogram ekri ki nan ekri nan lang nan C 344 00:16:46,850 --> 00:16:49,739 ta dwe yo te rele yon bagay dot c, pa konvansyon. 345 00:16:49,739 --> 00:16:53,030 Se konsa, mwen ale nan non li hello.c, paske Mwen jis vle di alo nan mond lan. 346 00:16:53,030 --> 00:16:54,820 Koulye a, mwen pral rale deyò epi yo klike sou Save. 347 00:16:54,820 --> 00:16:58,180 Apre sa, tout mwen gen isit la kounye a se yon tab nan kote mwen ka kòmanse ekri kòd. 348 00:16:58,180 --> 00:16:59,490 >> Sa a se pa ale nan konpile. 349 00:16:59,490 --> 00:17:00,300 Sa vle di pa gen anyen. 350 00:17:00,300 --> 00:17:02,750 Se konsa, menm si mwen konvèti sa a zewo ak moun yo, 351 00:17:02,750 --> 00:17:05,390 CPU a ki pral pa gen okenn lide sa k ap pase alantou. 352 00:17:05,390 --> 00:17:14,170 Men, si mwen ekri liy ki koresponn ak moute ak conventions-- C ke yo te C a, 353 00:17:14,170 --> 00:17:20,150 ankò, sa a language-- ak sentaks tankou sa a, printf alo world-- ak mwen te 354 00:17:20,150 --> 00:17:22,210 vinn konfòtab ak fè sa sou tan. 355 00:17:22,210 --> 00:17:24,510 Se konsa, mwen pa panse mwen te fè nenpòt ki erè tipografik. 356 00:17:24,510 --> 00:17:27,910 >> Men, toujours, trè premye nan fwa ou fè sa, ou pral. 357 00:17:27,910 --> 00:17:31,090 Ak sa ki mwen menm ki pral fè ta ka trè byen pa travay pou ou premye fwa. 358 00:17:31,090 --> 00:17:33,610 Epi sa a, parfe OK, paske kounye a ou 359 00:17:33,610 --> 00:17:37,662 ta ka jis wè yon anpil tout nouvote, men sou fwa yon fwa ou jwenn abitye 360 00:17:37,662 --> 00:17:39,870 ak anviwònman sa a, epi sa a lang, ak lòt moun, 361 00:17:39,870 --> 00:17:42,370 ou pral kòmanse wè bagay sa yo ke yo se swa kòrèk oswa kòrèk. 362 00:17:42,370 --> 00:17:44,369 >> Lè sa a se ki sa a zanmi ansèyman ak kou 363 00:17:44,369 --> 00:17:48,780 asistan jwenn se konsa bon nan sou tan, se survèyans erè oswa pinèz nan kòd ou a. 364 00:17:48,780 --> 00:17:52,110 Men, mwen reklamasyon ke gen gen okenn pinèz nan kòd sa a. 365 00:17:52,110 --> 00:17:53,990 Se konsa, mwen kounye a ou vle kouri pwogram sa a. 366 00:17:53,990 --> 00:17:57,440 >> Koulye a, sou pwòp Mac mwen an oswa PC, mwen se nan abitid la nan ikon klike doub 367 00:17:57,440 --> 00:17:59,350 lè m 'vle kouri kèk pwogram nan. 368 00:17:59,350 --> 00:18:01,080 Men se pa sèlman modèl la isit la. 369 00:18:01,080 --> 00:18:04,570 Nan ka sa anviwònman, ki se CS50 IDE. 370 00:18:04,570 --> 00:18:07,192 Nou ap itilize yon opere sistèm yo rele Linux. 371 00:18:07,192 --> 00:18:09,900 Linux se okoumansman de yon lòt sistèm opere, jeneralman li te ye 372 00:18:09,900 --> 00:18:10,850 kòm UNIX. 373 00:18:10,850 --> 00:18:16,340 Ak Linux se patikilyèman li te ye pou li te gen yon Kòmandman Liy Anviwònman, kote klima a leplisouvan. 374 00:18:16,340 --> 00:18:20,070 Koulye a, nou ap itilize yon espesifik gou nan Linux rele Ubuntu. 375 00:18:20,070 --> 00:18:22,770 Apre sa, Ubuntu se tou senpleman yon sèten vèsyon an Linux. 376 00:18:22,770 --> 00:18:27,900 >> Men, sa yo Linux nan jou sa yo fè aktyèlman vini ak grafik interfaces itilizatè. 377 00:18:27,900 --> 00:18:30,360 Apre sa, yonn nan nou rive lè l sèvi avèk isit la se ki baze sou wèb. 378 00:18:30,360 --> 00:18:32,735 Se konsa, sa ta ka gade menm yon ti kras diferan soti nan yon bagay 379 00:18:32,735 --> 00:18:35,310 ou tèt ou ka gen wè oswa kouri nan tan lontan an. 380 00:18:35,310 --> 00:18:37,910 >> Se konsa, mwen pral ale pi devan kounye a epi yo fè sa ki annapre yo. 381 00:18:37,910 --> 00:18:40,950 Mwen te sove sa a ranpli kòm hello.c. 382 00:18:40,950 --> 00:18:47,350 Mwen pral ale pi devan epi kalite clanghello.c Se konsa, rezone 383 00:18:47,350 --> 00:18:49,850 pou lang lan C se yon du. 384 00:18:49,850 --> 00:18:51,952 Li nan pre-enstale nan CS50 IDE. 385 00:18:51,952 --> 00:18:54,910 Epi ou ka absoliman download yo ak enstale sa a sou pwòp Mac ou a oswa PC. 386 00:18:54,910 --> 00:18:57,910 >> Men, ankò, ou ta pa gen tout pre-configuration la, te fè pou ou. 387 00:18:57,910 --> 00:19:00,940 Se konsa, pou kounye a, mwen se jis ale nan kouri clanghello.c. 388 00:19:00,940 --> 00:19:03,240 Epi, koulye a remake sentaks sa a isit la pral evantyèlman 389 00:19:03,240 --> 00:19:06,930 reyalize jis vle di ke mwen se nan yon katab oswa anyè rele buro. 390 00:19:06,930 --> 00:19:11,030 Sa a siy dola se jis konvansyon pou siyifikasyon, tape kòmandman ou isit la. 391 00:19:11,030 --> 00:19:14,560 >> Li nan sa ki rele yon èd memwa, jis pa konvansyon se siy dola. 392 00:19:14,560 --> 00:19:19,130 Men, si mwen ale pi devan kounye a, epi klike Antre nan, pa gen anyen sanble yo te ki te pase. 393 00:19:19,130 --> 00:19:20,930 Men, sa a aktyèlman yon bon bagay. 394 00:19:20,930 --> 00:19:23,650 Mwens nan sa ki ap pase sou ekran ou a, gen plis chans a 395 00:19:23,650 --> 00:19:26,710 kòd ou a se yo dwe kòrèk, omwen syntactically. 396 00:19:26,710 --> 00:19:29,120 >> Se konsa, si mwen vle kouri sa a pwogram, ki sa mwen fè? 397 00:19:29,120 --> 00:19:33,770 Oke, li sanble ke nan Non default pa konvansyon 398 00:19:33,770 --> 00:19:38,854 pou pwogram lè ou pa presize yon non pou pwogram ou se jis a.out. 399 00:19:38,854 --> 00:19:41,270 Apre sa, sentaks sa a tou, ou pral jwenn abitye ak anvan lontan. 400 00:19:41,270 --> 00:19:47,500 >> Dot koupe jis vle di, hey, CS50 IDE, kouri yon pwogram ki rele a.out 401 00:19:47,500 --> 00:19:49,400 sa a, se andedan anyè mwen ye kounye a. 402 00:19:49,400 --> 00:19:51,520 Sa dot vle di anyè aktyèl la. 403 00:19:51,520 --> 00:19:55,040 Epitou, n ap wè sa ki lòt sekans sa yo nan karaktè vle di anvan lontan. 404 00:19:55,040 --> 00:19:58,430 >> Se konsa, isit la nou ale, Antre, alo nan lemonn. 405 00:19:58,430 --> 00:20:00,080 Apre sa, ou pral avi, ki sa ki te pase? 406 00:20:00,080 --> 00:20:01,580 Pa sèlman te fè li enprime alo nan lemonn. 407 00:20:01,580 --> 00:20:05,990 Li te tou te deplase nan kurseur nan liy kap vini an. 408 00:20:05,990 --> 00:20:07,160 >> Epi poukisa te sa? 409 00:20:07,160 --> 00:20:12,400 Ki sa ki te kòd la ke nou te ekri anvan ki asire ke kurseur a ta 410 00:20:12,400 --> 00:20:14,882 ale sou liy vin apre a? 411 00:20:14,882 --> 00:20:16,840 Komik bagay sou yon òdinatè se li nan sèlman pral 412 00:20:16,840 --> 00:20:18,570 fè literalman sa ou di l 'bay fè. 413 00:20:18,570 --> 00:20:26,050 >> Se konsa, si ou di l 'bay printf hello, vigil, espas, mond, fèmen quote, 414 00:20:26,050 --> 00:20:29,090 li nan literalman sèlman pral ekri ak lèt ​​detache karaktè sa yo. 415 00:20:29,090 --> 00:20:31,980 Men, mwen te gen sa a karaktè espesyal nan fen, sonje, antislach n nan. 416 00:20:31,980 --> 00:20:34,230 Epi sa a, sa asire ke ki karaktè a te ale 417 00:20:34,230 --> 00:20:36,570 nan liy nan pwochen nan ekran an. 418 00:20:36,570 --> 00:20:38,097 >> An reyalite, kite m 'ale ak fè sa. 419 00:20:38,097 --> 00:20:39,430 Kite m 'ale pi devan epi efase sa a. 420 00:20:39,430 --> 00:20:41,180 Koulye a, remake ke nan tèt nan ekran m 'gen nan 421 00:20:41,180 --> 00:20:42,890 yon ti kras limyè wouj nan tab la ki endike, 422 00:20:42,890 --> 00:20:45,047 hey, ou pa te sove dosye ou. 423 00:20:45,047 --> 00:20:47,880 Se konsa, mwen pral ale pi devan ak kontwòl S oswa lòd S, sove dosye a. 424 00:20:47,880 --> 00:20:51,130 Koulye a, li goes-- te ale pou yon vèt moment--. 425 00:20:51,130 --> 00:20:53,760 Epi, koulye a li nan tounen nan jis ke yo te yon icon fèmen. 426 00:20:53,760 --> 00:21:01,860 >> Si m 'kounye a kouri clanghello.c ankò, Antre nan, dot koupe, a.out, Antre, 427 00:21:01,860 --> 00:21:04,110 ou ap wè ke li toujou te travay. 428 00:21:04,110 --> 00:21:06,020 Men, li la joui yon ti kras buggy. 429 00:21:06,020 --> 00:21:08,714 Dwa koulye a, vorkspas prompt-- mwen, ak Lè sa a ke a an dola siy, 430 00:21:08,714 --> 00:21:10,880 ak Lè sa a prompt-- reyèl mwen fè se tout sou liy la menm. 431 00:21:10,880 --> 00:21:14,540 Se konsa, sa a sètènman yon ensèk ayestetik, menm si li nan pa reyèlman yon ensèk lojik. 432 00:21:14,540 --> 00:21:16,250 >> Se konsa, mwen ale nan defèt sa mwen jis te fè. 433 00:21:16,250 --> 00:21:18,560 Mwen pral relance a.out. 434 00:21:18,560 --> 00:21:22,710 Avi Mwen te ajoute nan newline pèsonaj tounen. 435 00:21:22,710 --> 00:21:24,280 Mwen te sove dosye a. 436 00:21:24,280 --> 00:21:31,630 >> Se konsa, mwen ale nan relance a.out, and-- dammit, yon ensèk, yon ensèk sa vle di erè. 437 00:21:31,630 --> 00:21:35,020 Se konsa, pinèz la se ke menm si Mwen te ajoute antislach n a, 438 00:21:35,020 --> 00:21:41,180 re-sove, re-kouri pwogram nan, konpòtman an te menm bagay la. 439 00:21:41,180 --> 00:21:42,640 Poukisa ta ki ta dwe ye? 440 00:21:42,640 --> 00:21:43,910 >> Mwen manke yon etap, dwa? 441 00:21:43,910 --> 00:21:47,620 Sa etap kle pi bonè te ke ou gen to-- lè ou chanje kòd sous ou, 442 00:21:47,620 --> 00:21:49,610 li vire soti tou kouri li nan du a 443 00:21:49,610 --> 00:21:51,102 ankò pou ou jwenn nouvo Kòd machin. 444 00:21:51,102 --> 00:21:52,810 Ak kòd la machin, zewo yo ak moun yo, 445 00:21:52,810 --> 00:21:56,260 yo ale nan dwe prèske ki idantik, men pa parfe sa, paske nou bezwen, 446 00:21:56,260 --> 00:21:57,510 nan kou, ke nouvo liy. 447 00:21:57,510 --> 00:22:02,640 >> Se konsa, yo ranje sa a, mwen ale nan bezwen yo relance clanghello.c, antre nan, dot 448 00:22:02,640 --> 00:22:03,800 koupe, a.out. 449 00:22:03,800 --> 00:22:08,402 Epi, koulye a, alo lemonn yo se tounen nan kote mwen ap atann li yo dwe. 450 00:22:08,402 --> 00:22:09,610 Se konsa, sa a se tout bon epi li bon. 451 00:22:09,610 --> 00:22:13,150 Men, a.out se yon non bèl estipid pou yon pwogram, menm si li k ap pase yo, 452 00:22:13,150 --> 00:22:16,530 pou rezon istorik, nan default-- sa vle di rezilta asanble. 453 00:22:16,530 --> 00:22:20,780 >> Men, kite m 'ale pi devan isit la ak fè sa yon lòt jan. 454 00:22:20,780 --> 00:22:24,760 Mwen vle pwogram mond alo mwen ki aktyèlman dwe rele hello. 455 00:22:24,760 --> 00:22:28,320 Se konsa, si li te yon icon sou mwen Desktop, li pa ta dwe a.out. 456 00:22:28,320 --> 00:22:29,730 Li ta ka rele hello. 457 00:22:29,730 --> 00:22:33,660 >> Se konsa, yo fè sa, li vire soti ki rezone, tankou anpil pwogram, 458 00:22:33,660 --> 00:22:37,980 sipòte liy lòd agiman, oswa drapo, oswa switch, 459 00:22:37,980 --> 00:22:39,600 ki tou senpleman enfliyanse konpòtman li yo. 460 00:22:39,600 --> 00:22:45,160 Espesyalman, rezone sipòte yon o priz drapo, ki Lè sa a pran yon mo dezyèm fwa. 461 00:22:45,160 --> 00:22:48,190 Nan ka sa a, mwen pral abitrèman, men rezonab, rele l 'hello. 462 00:22:48,190 --> 00:22:50,710 Men, mwen te kapab rele l 'anyen Mwen vle, eksepte a.out, ki 463 00:22:50,710 --> 00:22:52,390 ta dwe olye san konte pwen an. 464 00:22:52,390 --> 00:22:55,640 >> Lè sa a, jis presize non an nan dosye a mwen vle konpile. 465 00:22:55,640 --> 00:22:59,190 Se konsa, kounye menm si nan kòmansman an kòmandman an mwen toujou gen rezone, 466 00:22:59,190 --> 00:23:01,410 nan fen yo lòd, ki Mwen toujou gen fichier a, 467 00:23:01,410 --> 00:23:05,520 Mwen kounye a gen sa yo liy lòd agiman, sa yo drapo ki ap di, 468 00:23:05,520 --> 00:23:11,180 oh, nan chemen an, pwodiksyon-o, yon dosye rele hello, pa a.out nan default. 469 00:23:11,180 --> 00:23:13,810 >> Se konsa, si mwen frape Antre kounye a, pa gen anyen sanble yo te ki te pase. 470 00:23:13,810 --> 00:23:17,900 Epi, ankò, kounye a mwen kapab fè dot koupe hello. 471 00:23:17,900 --> 00:23:19,089 Se konsa, li pwogram nan menm. 472 00:23:19,089 --> 00:23:21,380 zewo yo ak moun yo yo ki idantik nan fen a nan jounen an. 473 00:23:21,380 --> 00:23:24,210 >> Men, yo ap an de diferan a.out files--, 474 00:23:24,210 --> 00:23:26,490 ki se vèsyon an premye ak jis tankou moun fou nonmen non li, 475 00:23:26,490 --> 00:23:30,250 e kounye a, hello, ki se yon anpil plis Non impérieux pou yon pwogram. 476 00:23:30,250 --> 00:23:33,195 Men, onètman, se mwen menm pa janm ale nan sonje sa a ankò, 477 00:23:33,195 --> 00:23:34,070 e ankò, e ankò. 478 00:23:34,070 --> 00:23:36,411 Epi, aktyèlman, menm jan nou ekri pwogram pi konplike, 479 00:23:36,411 --> 00:23:38,160 kòmandman yo w ap pral fè yo ekri 480 00:23:38,160 --> 00:23:40,920 yo ale nan jwenn menm plis konplike toujou. 481 00:23:40,920 --> 00:23:41,940 >> Se konsa, pa enkyete. 482 00:23:41,940 --> 00:23:46,220 Li sanble ke moun anvan nou te reyalize yo menm tou 483 00:23:46,220 --> 00:23:47,530 te gen egzak pwoblèm sa a menm. 484 00:23:47,530 --> 00:23:50,900 Yo menm tou pa t 'jwi gen tape san patipri lontan, kòmandman Esoteric, 485 00:23:50,900 --> 00:23:52,200 se pou kont li sonje yo. 486 00:23:52,200 --> 00:23:56,070 Se konsa, moun devan nou te fè lòt pwogram ki fè li pi fasil 487 00:23:56,070 --> 00:23:57,670 yo konpile lojisyèl ou. 488 00:23:57,670 --> 00:24:01,609 >> Epi, tout bon, yon sèl sa yo se pwogram yo rele Fè. 489 00:24:01,609 --> 00:24:03,150 Se konsa, mwen pral ale pi devan epi fè sa a. 490 00:24:03,150 --> 00:24:05,691 Mwen pral defèt tou sa m ' jis te fè nan fason ki anba la a. 491 00:24:05,691 --> 00:24:07,690 Kite m 'tape LS. 492 00:24:07,690 --> 00:24:10,980 Apre sa, ou pral avi twa things-- a.out, ak yon etwal, alo 493 00:24:10,980 --> 00:24:12,810 ak yon etwal, ak hello.c. 494 00:24:12,810 --> 00:24:14,730 Èspere ke, sa a ta dwe gen yon ti kras entwisyon, 495 00:24:14,730 --> 00:24:18,220 tèl degre ke pi bonè te gen pa gen anyen nan sa a vorkspas. 496 00:24:18,220 --> 00:24:21,240 Pa t 'gen ke mwen te gen kreye jouk nou te kòmanse klas la. 497 00:24:21,240 --> 00:24:22,840 >> Apre sa, mwen kreye hello.c. 498 00:24:22,840 --> 00:24:24,544 Mwen Lè sa a konpile li, li rele l 'a.out. 499 00:24:24,544 --> 00:24:27,460 Lè sa a, mwen konpile l 'ankò yon ti kras yon fason diferan li rele l 'hello. 500 00:24:27,460 --> 00:24:32,830 Se konsa, mwen gen twa dosye nan anyè sa a, nan dosye sa a yo rele buro. 501 00:24:32,830 --> 00:24:35,005 Koulye a, mwen ka wè ke kòm byen si mwen rale soti aktyèlman. 502 00:24:35,005 --> 00:24:37,530 >> Si m 'rale soti isit la ak gade nan ki men dwat tèt 503 00:24:37,530 --> 00:24:39,940 kwen, kòm te pwomèt bò gòch la bò men nan ekran ou 504 00:24:39,940 --> 00:24:42,990 se toujou pral montre w sa ki nan nan kont ou, sa ki nan 505 00:24:42,990 --> 00:24:44,790 andedan nan CS50 IDE. 506 00:24:44,790 --> 00:24:46,680 Apre sa, se twa dosye a. 507 00:24:46,680 --> 00:24:49,070 >> Se konsa, mwen vle debarase m de a.out ak hello. 508 00:24:49,070 --> 00:24:51,275 Ak jan ou ta ka imajine entwitif, ou 509 00:24:51,275 --> 00:24:53,400 te kapab sòt nan kontwòl klike sou oswa dwa klike sou sa a. 510 00:24:53,400 --> 00:24:54,590 Ak meni sa a ti kras Pops leve. 511 00:24:54,590 --> 00:24:57,170 Ou ka telechaje dosye a, kouri li, preview li, rafrechi, chanje non, 512 00:24:57,170 --> 00:24:57,700 oswa sa ki pa. 513 00:24:57,700 --> 00:25:00,260 >> Apre sa, mwen te kapab jis efase, epi li ta ale. 514 00:25:00,260 --> 00:25:05,260 Men, kite a fè bagay sa yo ak yon lòd liy pou kounye a, se konsa yo jwenn konfòtab 515 00:25:05,260 --> 00:25:07,010 ak sa a, ak fè sa ki annapre yo. 516 00:25:07,010 --> 00:25:12,345 Mwen pral ale pi devan epi retire a.out lè ou tape literalman rma.out. 517 00:25:12,345 --> 00:25:14,890 Li sanble soti, yo lòd, ki pou retire oswa efase yon bagay, 518 00:25:14,890 --> 00:25:16,280 se pa retire oswa efase. 519 00:25:16,280 --> 00:25:21,260 >> Li nan plis suksen RM, jis pou konsève pou ou kèk frap, ak frape Antre nan. 520 00:25:21,260 --> 00:25:24,707 Koulye a, nou ap ale nan yon ti jan cryptically retire regilye a.out dosye-a. 521 00:25:24,707 --> 00:25:27,040 Mwen pa vrèman konnen ki sa yon iregilye dosye ta dwe ankò. 522 00:25:27,040 --> 00:25:28,660 Men, mwen vle retire li. 523 00:25:28,660 --> 00:25:30,150 >> Se konsa, mwen ale nan tape y pou wi. 524 00:25:30,150 --> 00:25:31,940 Ou mwen te kapab tape li soti, ak frape Antre nan. 525 00:25:31,940 --> 00:25:33,440 Epi, ankò, pa gen anyen sanble rive. 526 00:25:33,440 --> 00:25:35,840 Men, se sa ki, jeneralman, yon bon bagay. 527 00:25:35,840 --> 00:25:40,490 >> Si m 'tape LS tan sa a, sa pou m 'wè? 528 00:25:40,490 --> 00:25:44,930 Nou swete ke, jis alo ak hello.c. 529 00:25:44,930 --> 00:25:47,286 Koulye a, kòm yon sou kote, ou pral remake zetwal sa a, asterisk, 530 00:25:47,286 --> 00:25:48,660 sa a, se nan fen an nan pwogram m 'yo. 531 00:25:48,660 --> 00:25:50,201 Apre sa, yo ap tou ki montre moute nan vèt. 532 00:25:50,201 --> 00:25:53,970 Sa se jis fason CS50 IDE a nan cluing nou antre nan lefèt 533 00:25:53,970 --> 00:25:55,280 ki sa a pa sous kòd. 534 00:25:55,280 --> 00:25:58,880 Sa a yon ègzèkutabl, se yon ègzekutabl pwogram ki ou ka aktyèlman kouri 535 00:25:58,880 --> 00:26:01,020 pa fè dot koupe, ak Lè sa li a non. 536 00:26:01,020 --> 00:26:05,860 >> Koulye a, kite m 'ale pi devan epi retire sa a, rm hello, Antre, retire regilye 537 00:26:05,860 --> 00:26:08,010 ranpli hello, wi. 538 00:26:08,010 --> 00:26:11,180 Epi, koulye a si mwen tape LS, nou ap tounen nan hello.c. 539 00:26:11,180 --> 00:26:13,917 Eseye pa efase ou aktyèl kòd sous. 540 00:26:13,917 --> 00:26:16,250 Menm si gen yo se karakteristik bati nan CS50 IDE kote 541 00:26:16,250 --> 00:26:19,870 ou ka ale nan istwa revizyon ou ak remonte nan tan si ou aksidantèlman 542 00:26:19,870 --> 00:26:23,660 efase yon bagay, fè dwe janm bliye jan tankou pou chak envit sa yo repons lan se wi oswa ki pa gen, 543 00:26:23,660 --> 00:26:25,381 nan sa ou aktyèlman vle fè. 544 00:26:25,381 --> 00:26:27,380 Lè m'a moute sou tèt la kite kwen men isit la, 545 00:26:27,380 --> 00:26:30,696 tout sa ki rete se hello.c. 546 00:26:30,696 --> 00:26:32,570 Se konsa, gen nan grap rezen lòt kòmandman ke ou 547 00:26:32,570 --> 00:26:37,550 ka egzekite nan mond lan nan Linux, youn nan ki se, ankò, Fè. 548 00:26:37,550 --> 00:26:40,180 E nou pral yo fè pwogram mwen an kounye a jan sa a. 549 00:26:40,180 --> 00:26:43,270 >> Olye pou yo fè sonnen, olye pou yo fè sonnen-o, 550 00:26:43,270 --> 00:26:45,860 Mwen pral tou senpleman literalman tape, fè hello. 551 00:26:45,860 --> 00:26:49,630 Epi, koulye a remake, se mwen menm pa sezisman fè hello.c. 552 00:26:49,630 --> 00:26:50,910 Mwen tape fè hello. 553 00:26:50,910 --> 00:26:54,840 >> Ak pwogram sa a Fè ki vini ak CS50 IDE, ak plis ankò 554 00:26:54,840 --> 00:26:57,090 jeneralman ak Linux, se yon pwogram sa a, se 555 00:26:57,090 --> 00:26:59,120 pral fè yon pwogram ki rele Hello. 556 00:26:59,120 --> 00:27:03,680 Epi, se k ap pase yo asime, pa konvansyon, ke si ka pwogram sa a dwe fèt, 557 00:27:03,680 --> 00:27:09,030 li pral yo dwe te fè soti nan yon sous Kòd dosye mete fen nan dot c, hello.c. 558 00:27:09,030 --> 00:27:12,210 >> Se konsa, si mwen frape Antre kounye a, remake ke yo lòd, ki ki vin egzekite 559 00:27:12,210 --> 00:27:14,340 se aktyèlman menm ankò anvan pase anvan. 560 00:27:14,340 --> 00:27:16,670 Epi sa a, paske nou te prekonfigure IDE CS50 gen 561 00:27:16,670 --> 00:27:19,878 kèk karakteristik adisyonèl bati nan ki nou pa bezwen jis ankò, men byen vit pral. 562 00:27:19,878 --> 00:27:23,470 Men, bagay la kle nan reyalize se koulye a, mwen gen yon pwogram Hello. 563 00:27:23,470 --> 00:27:27,080 >> Si m 'tape LS ankò, mwen gen yon pwogram hello. 564 00:27:27,080 --> 00:27:32,070 Apre sa, mwen ka kouri l 'ak dot koupe a.out, non, 565 00:27:32,070 --> 00:27:35,590 paske pwen an antye nan sa a fè egzèsis te dot alo koupe. 566 00:27:35,590 --> 00:27:38,089 Epi, koulye a mwen gen pwogram mond alo m 'yo. 567 00:27:38,089 --> 00:27:39,880 Se konsa, k ap deplase pi devan, nou ap prèske toujou jis 568 00:27:39,880 --> 00:27:42,088 ale nan konpile pwogram nou lè l sèvi avèk Fè lan lòd. 569 00:27:42,088 --> 00:27:45,300 Lè sa a, nou ap ale nan kouri yo pa dot koupe, ak non pwogram nan. 570 00:27:45,300 --> 00:27:49,610 Men, reyalize sa Asire ap fè pou ou, se li pa se tèt li yon du. 571 00:27:49,610 --> 00:27:53,310 Se jis nan yon pwogram konvenyans ki konnen ki jan yo deklanche yon du 572 00:27:53,310 --> 00:27:56,470 nan kouri pou ke ou tèt ou ka sèvi ak li. 573 00:27:56,470 --> 00:28:00,220 >> Ki lòt kòmandman egziste nan Linux, ak nan vire CS50 IDE a? 574 00:28:00,220 --> 00:28:03,107 Nou pral byento wè ke gen nan yon CD lòd, Chanje Anyè. 575 00:28:03,107 --> 00:28:05,190 Sa a pèmèt ou nan koòdone liy lòd ou 576 00:28:05,190 --> 00:28:07,610 pou avanse pou pi pou pi devan, ak tounen lakay ou, epi louvri moute dosye diferan 577 00:28:07,610 --> 00:28:08,860 san yo pa itilize sourit ou. 578 00:28:08,860 --> 00:28:12,470 >> LS nou te wè, ki vle di pou lis dosye yo nan anyè aktyèl la. 579 00:28:12,470 --> 00:28:14,650 Fè Dir, ou ka pwobableman kòmanse dégager 580 00:28:14,650 --> 00:28:18,150 sa sa yo vle di now-- fè anyè, si ou vle kreye yon katab. 581 00:28:18,150 --> 00:28:21,270 RM pou retire, RM Dir pou retire anyè ak sa yo, 582 00:28:21,270 --> 00:28:24,160 ankò, yo liy lan bay lòd ekivalan nan sa ou 583 00:28:24,160 --> 00:28:26,945 ta ka fè nan CS50 IDE ak sourit ou. 584 00:28:26,945 --> 00:28:28,820 Men, ou pral byento jwenn ke pafwa li nan jis 585 00:28:28,820 --> 00:28:30,610 yon anpil pi vit fè bagay sa yo ak yon klavye, 586 00:28:30,610 --> 00:28:33,690 epi finalman yon anpil plis pouvwa anpil. 587 00:28:33,690 --> 00:28:36,440 >> Men, li la difisil yo diskite ke anyen nou te toujou ap fè byen lwen tèlman 588 00:28:36,440 --> 00:28:39,990 se tout sa ki pwisan, lè tout nou ve yo te di se, se alo nan lemonn. 589 00:28:39,990 --> 00:28:43,740 Epi, an reyalite, mwen dur nan Mo alo mond nan pwogram m 'yo. 590 00:28:43,740 --> 00:28:45,530 Pa gen okenn dinamik ankò. 591 00:28:45,530 --> 00:28:49,320 Grafouyen te yon lòd pou nan grandè plis enteresan semèn pase a. 592 00:28:49,320 --> 00:28:51,220 >> Se konsa, kite a jwenn la. 593 00:28:51,220 --> 00:28:55,310 Se pou nou pran yon etap nan direksyon ki pa fason pou kèk nan fonksyon sa yo. 594 00:28:55,310 --> 00:28:59,470 Se konsa, pa sèlman C vini ak printf, grap rezen lòt fonksyon 595 00:28:59,470 --> 00:29:01,850 kèk nan yo ki nou pral wè sou tan, li pa fè sa 596 00:29:01,850 --> 00:29:05,760 fè l 'tout sa ki fasil dwa soti nan pòtay lavil la nan jwenn opinyon itilizatè. 597 00:29:05,760 --> 00:29:08,140 >> An reyalite, youn nan pwen fèb yo nan lang tankou C, 598 00:29:08,140 --> 00:29:10,140 e menm Java e ankò lòt moun, se ke li pa fè sa 599 00:29:10,140 --> 00:29:15,860 fè li fasil yo jis jwenn bagay sa yo tankou nonm antye relatif soti nan itilizatè, oswa strings, mo, 600 00:29:15,860 --> 00:29:19,970 ak fraz, kite bagay sa yo pou kont li tankou k ap flote valè pwen, oswa nimewo reyèl 601 00:29:19,970 --> 00:29:23,240 ak pwen desimal, ak reyèlman nimewo lontan, menm jan nou pral byento wè. 602 00:29:23,240 --> 00:29:27,000 Se konsa, lis sa a nan fonksyon isit la, sa yo se tankou moso Scratch devinèt lòt 603 00:29:27,000 --> 00:29:31,090 ke nou te pre-enstale nan CS50 IDE ke nou pral sèvi ak pou yon semèn 604 00:29:31,090 --> 00:29:34,010 kòm wou fòmasyon nan kalite, ak evantyèlman pran yo koupe, epi gade 605 00:29:34,010 --> 00:29:37,210 anba kapo a, petèt, nan ki jan bagay sa yo yo nan faz egzekisyon. 606 00:29:37,210 --> 00:29:40,460 >> Men, fè sa, se pou yo aktyèlman ekri yon pwogram. 607 00:29:40,460 --> 00:29:41,770 Kite m 'ale pi devan kounye a. 608 00:29:41,770 --> 00:29:44,750 Men, mwen pral yo kreye yon nouvo ranpli pa klike sa a plis ti kras, 609 00:29:44,750 --> 00:29:45,970 epi klike Nouvo File. 610 00:29:45,970 --> 00:29:49,250 >> Mwen pral pou konsève pou sa a pwochen yon sèl kòm, se pou yo di, string.c, 611 00:29:49,250 --> 00:29:50,750 paske mwen vle yo jwe avèk strings. 612 00:29:50,750 --> 00:29:53,990 Ak tout kòd nan C se jis yon sekans nan karaktè. 613 00:29:53,990 --> 00:29:56,090 Se konsa, kounye a kite a ale pi devan ak fè sa ki annapre yo. 614 00:29:56,090 --> 00:30:01,204 >> Mete estanda IO.h-- ak li vire soti estanda IO, 615 00:30:01,204 --> 00:30:03,360 IO jis vle di opinyon ak pwodiksyon. 616 00:30:03,360 --> 00:30:05,920 Se konsa, li sanble ke liy sa a isit la se sa 617 00:30:05,920 --> 00:30:08,140 se vwazen an nou itilize printf. 618 00:30:08,140 --> 00:30:10,410 Printf, nan kou, pwodui pwodiksyon. 619 00:30:10,410 --> 00:30:15,000 Se konsa, nan lòd yo sèvi ak printf, li vire soti ou gen gen liy sa a nan kòd 620 00:30:15,000 --> 00:30:16,040 nan tèt la nan dosye ou. 621 00:30:16,040 --> 00:30:18,456 >> Epitou, n ap tounen vin jwenn sa ki vrèman vle di anvan lontan. 622 00:30:18,456 --> 00:30:20,400 Li sanble ke nan nenpòt pwogram C mwen ekri, 623 00:30:20,400 --> 00:30:23,640 Mwen te gen yo kòmanse l 'ak Kòd ki sanble tankou sa a. 624 00:30:23,640 --> 00:30:26,860 Men, ou pral remake CS50 IDE, ak lòt devlopman entegre 625 00:30:26,860 --> 00:30:30,050 anviwònman tankou li, yo ale nan eseye pi byen kòm 626 00:30:30,050 --> 00:30:31,780 yo ka fini panse ou yo. 627 00:30:31,780 --> 00:30:35,930 An reyalite, yon ti moman de sa si mwen defèt ki sa mwen jis te fè, mwen frape Antre. 628 00:30:35,930 --> 00:30:39,160 >> Mwen Lè sa a frape louvri Curly atèl, frape Antre ankò. 629 00:30:39,160 --> 00:30:40,430 Epi, se fini te panse m 'yo. 630 00:30:40,430 --> 00:30:45,140 Li te ban m 'yon nouvo liy, dantle pa mwens pou bèl rezon stylistic nou pral wè. 631 00:30:45,140 --> 00:30:48,559 Lè sa a, li otomatikman te ban m ' ki atèl Curly a fini te panse m 'yo. 632 00:30:48,559 --> 00:30:50,600 Koulye a, li fè sa pa toujou devine ki sa ou vle fè. 633 00:30:50,600 --> 00:30:53,620 Men, nan gwo pati, li fè sa sove ou kèk frap. 634 00:30:53,620 --> 00:30:59,560 Se konsa, yon ti moman de sa, nou kouri program-- sa a hello, mond, ak Lè sa a konpile li, 635 00:30:59,560 --> 00:31:00,460 ak Lè sa a kouri li. 636 00:31:00,460 --> 00:31:01,867 Men, gen nan pa gen dynamism isit la. 637 00:31:01,867 --> 00:31:03,700 E si nou te vle fè yon bagay diferan? 638 00:31:03,700 --> 00:31:07,630 Oke, sa si mwen te vle aktyèlman jwenn yon fisèl soti nan itilizatè a? 639 00:31:07,630 --> 00:31:11,250 Mwen pral sèvi ak yon moso devinèt rele egzakteman that-- jwenn fisèl. 640 00:31:11,250 --> 00:31:15,860 >> Vire soti nan C ke lè ou pa vle bay opinyon nan yon moso devinèt, 641 00:31:15,860 --> 00:31:19,360 oswa plis byen nan yon fonksyon, ou literalman jis fè louvri parantèz, 642 00:31:19,360 --> 00:31:20,430 fèmen parantèz. 643 00:31:20,430 --> 00:31:25,540 Se konsa, li tankou si gen nan pa gen okenn bwat blan nan tape nan. 644 00:31:25,540 --> 00:31:27,720 Blòk la di anvan te gen yon ti bwat blan. 645 00:31:27,720 --> 00:31:29,660 Nou pa gen ki bwat blan kounye a. 646 00:31:29,660 --> 00:31:33,310 >> Men, lè mwen rele jwenn fisèl, mwen vle mete rezilta a yon kote. 647 00:31:33,310 --> 00:31:37,680 Se konsa, yon paradigm trè komen nan C se rele yon fonksyon, tankou jwenn fisèl isit la, 648 00:31:37,680 --> 00:31:41,070 ak Lè sa a magazen valè retounen li yo. 649 00:31:41,070 --> 00:31:44,450 Li nan rezilta a nan li yo efò nan yon bagay. 650 00:31:44,450 --> 00:31:47,630 >> Ak sa ki nan konstwi nan pwogram, 651 00:31:47,630 --> 00:31:53,450 si wi ou non nan grafouyen oswa kounye a C, ke nou ka itilize yo aktyèlman magazen yon bagay? 652 00:31:53,450 --> 00:31:55,990 Rele l 'yon varyab, dwa? 653 00:31:55,990 --> 00:32:00,320 Apre sa, nan grafouyen, nou pa fè sa vrèman swen sa ki te ale nan varyab. 654 00:32:00,320 --> 00:32:02,170 >> Men, nan ka sa a, nou aktyèlman fè. 655 00:32:02,170 --> 00:32:03,719 Mwen pral di fisèl. 656 00:32:03,719 --> 00:32:05,510 Lè sa a, mwen te kapab rele sa a anyen mwen vle. 657 00:32:05,510 --> 00:32:08,340 Mwen pral rele li non, vin jwenn fisèl. 658 00:32:08,340 --> 00:32:10,250 >> Epi, koulye a menm si w ap yon ti kras nouvo nan sa a, 659 00:32:10,250 --> 00:32:11,984 remake ke mwen manke kèk detay. 660 00:32:11,984 --> 00:32:13,150 Mwen bliye yon semi-kolon. 661 00:32:13,150 --> 00:32:14,400 Mwen bezwen fini te panse sa a. 662 00:32:14,400 --> 00:32:17,480 Se konsa, mwen pral pou avanse pou pi kurseur m 'yo, ak frape semi-kolon a. 663 00:32:17,480 --> 00:32:19,130 Ak sa ki te Mwen jis fè konsa? 664 00:32:19,130 --> 00:32:21,440 Nan liy sa a nan kòd, nimewo 5 nan moman sa a, 665 00:32:21,440 --> 00:32:23,799 M ap rele jwenn fisèl ki pa gen okenn entrain. 666 00:32:23,799 --> 00:32:26,090 Se konsa, gen nan pa gen blan ti kras bwat tankou blòk la Save te genyen an. 667 00:32:26,090 --> 00:32:28,590 >> Mwen jis di, hey, òdinatè, jwenn m 'yon fisèl. 668 00:32:28,590 --> 00:32:31,390 Siyen an egal se pa reyèlman yon siy egal, se pou chak. 669 00:32:31,390 --> 00:32:33,790 Li nan plasman an operatè, ki vle di, 670 00:32:33,790 --> 00:32:37,860 hey, òdinatè, deplase valè nan de dwat la nan men bò gòch la. 671 00:32:37,860 --> 00:32:40,480 Ak nan bò gòch la, mwen gen sa ki annapre yo. 672 00:32:40,480 --> 00:32:43,580 >> Hey, òdinatè, ban m 'yon string-- yon sekans nan karaktè. 673 00:32:43,580 --> 00:32:45,637 W'a envite ki Non fisèl. 674 00:32:45,637 --> 00:32:47,220 Apre sa, mwen pa menm gen yo rele li Non. 675 00:32:47,220 --> 00:32:49,970 >> Mwen te kapab rele l ', konvansyonèl, yon bagay tankou S, 676 00:32:49,970 --> 00:32:52,900 anpil tankou nou itilize mwen nan rele varyab la mwen. 677 00:32:52,900 --> 00:32:54,829 Men, koulye a, mwen bezwen fè yon bagay ak li. 678 00:32:54,829 --> 00:32:57,370 Li ta dwe trè estipid yo eseye konpile kòd sa a, kouri 679 00:32:57,370 --> 00:32:59,410 pwogram sa a, menm si Mwen ap resevwa yon fisèl, 680 00:32:59,410 --> 00:33:01,580 paske li nan toujou jis pral di alo nan lemonn. 681 00:33:01,580 --> 00:33:06,140 >> Men, sa ki si mwen vle chanje sa a. 682 00:33:06,140 --> 00:33:07,940 Poukisa nou pa mwen fè sa? 683 00:33:07,940 --> 00:33:11,632 Pousantaj an, vigil la. 684 00:33:11,632 --> 00:33:13,090 Lè sa a se yon ti kras skre toujou. 685 00:33:13,090 --> 00:33:15,560 >> Se konsa, kite m 'fè varyab mwen plis klè. 686 00:33:15,560 --> 00:33:17,510 Kite m 'non sa a Non varyab. 687 00:33:17,510 --> 00:33:20,230 Li kite yo wè si nou pa ka toumante apa sa k ap pase isit la. 688 00:33:20,230 --> 00:33:22,770 >> Se konsa, sou liy senk, Mwen ap resevwa yon kòd. 689 00:33:22,770 --> 00:33:25,620 Apre sa, mwen estoke ki fisèl, tou sa te itilizatè a tape nan 690 00:33:25,620 --> 00:33:28,430 nan klavye li, nan yon varyab rele Non. 691 00:33:28,430 --> 00:33:30,590 Epi li vire soti ki printf pa fè sa jis 692 00:33:30,590 --> 00:33:34,220 pran yon sèl agiman nan doub quotes, yon sèl D 'nan quotes doub. 693 00:33:34,220 --> 00:33:39,100 >> Li ka pran de, oswa twa, oswa plis, sa yo ki dezyèm lan, oswa yon twazyèm, oswa katriyèm, 694 00:33:39,100 --> 00:33:42,320 yo tout non yo nan varyab, oswa espesyalman valè, 695 00:33:42,320 --> 00:33:48,610 ke ou vle ploge nan, dynamique, ki fisèl nan quotes. 696 00:33:48,610 --> 00:33:52,110 Nan lòt mo, ki sa ta dwe mal ak sa a? 697 00:33:52,110 --> 00:33:57,920 Si m 'jis di alo non, antislach n, sove dosye mwen, konpile kòd m ', 698 00:33:57,920 --> 00:34:01,660 , li kouri al sa a, sa ki ka rive? 699 00:34:01,660 --> 00:34:05,139 >> Li nan jis pral di, alo non, literalman N-A-M-E, 700 00:34:05,139 --> 00:34:07,900 ki se kalite estipid paske li nan pa diferan de nan lemonn. 701 00:34:07,900 --> 00:34:10,400 Se konsa, anyen nan quotes se sa literalman vin enprime. 702 00:34:10,400 --> 00:34:12,520 Se konsa, si mwen vle gen yon kontneur a, 703 00:34:12,520 --> 00:34:14,422 Mwen aktyèlman bezwen sèvi ak kèk sentaks espesyal. 704 00:34:14,422 --> 00:34:17,380 Epi li vire soti si w li nan dokiman pou fonksyon an printf, 705 00:34:17,380 --> 00:34:21,320 li ap di w ke si ou itilize pousan an, 706 00:34:21,320 --> 00:34:23,920 ou ka ranplase yon valè jan sa a. 707 00:34:23,920 --> 00:34:27,190 >> Apre yon vigil apre sa doub quote, ou tou senpleman 708 00:34:27,190 --> 00:34:29,179 ekri non an nan la varyab ke ou vle 709 00:34:29,179 --> 00:34:33,790 ploge nan nan ki fòma kòd, oswa fòma Dvi, 710 00:34:33,790 --> 00:34:35,469 pousan a pou strings. 711 00:34:35,469 --> 00:34:39,190 Epi, koulye a si mwen te sove dosye mwen, M 'ale tounen desann nan tèminal m' yo. 712 00:34:39,190 --> 00:34:42,870 Apre sa, mwen tape Fè chèn, paske, ankò, non an nan sa a 713 00:34:42,870 --> 00:34:45,510 dosye ki mwen te chwazi anvan se string.c. 714 00:34:45,510 --> 00:34:48,510 >> Se konsa, mwen pral di Fè chèn, antre nan. 715 00:34:48,510 --> 00:34:51,550 Oh mwen bonte, gade nan tout nan erè sa yo nou te fè deja. 716 00:34:51,550 --> 00:34:55,540 Lè sa a is-- sa, sa a se reyèlman tankou yon sis, sèt pwogram liy? 717 00:34:55,540 --> 00:34:57,790 Se konsa, sa a se kote li kapab trè byen vit jwenn akablan yo. 718 00:34:57,790 --> 00:35:00,890 >> fenèt tèminal sa a gen kounye a jis regurgitated 719 00:35:00,890 --> 00:35:03,230 yon nimewo gwo mesaj erè. 720 00:35:03,230 --> 00:35:07,560 Se vre wi, mwen pa gen plis erè mesaj pase mwen gen liy nan kòd. 721 00:35:07,560 --> 00:35:08,680 Se konsa, sa k ap pase? 722 00:35:08,680 --> 00:35:10,920 >> Oke, estrateji ki pi bon fè nenpòt lè ou 723 00:35:10,920 --> 00:35:13,710 rankontre yon akablan lis nan erè tankou sa yo, 724 00:35:13,710 --> 00:35:16,690 se woulo liv tounen, gade pou yo lòd, ki ou jis kouri, ki nan ka mwen an 725 00:35:16,690 --> 00:35:18,020 se fè fisèl. 726 00:35:18,020 --> 00:35:21,630 Gade nan ki sa fè te fè, e ke sa a ki lontan lòd rezone, pa gen kontra gwo a. 727 00:35:21,630 --> 00:35:22,950 >> Men, wouj la ki mal. 728 00:35:22,950 --> 00:35:24,750 Green ap eseye yo dwe dou ak itil. 729 00:35:24,750 --> 00:35:26,140 Men, li la toujou move, nan ka sa a. 730 00:35:26,140 --> 00:35:27,510 Men, kote se li move? 731 00:35:27,510 --> 00:35:31,450 >> String.c, liy senk, pèsonaj senk. 732 00:35:31,450 --> 00:35:32,930 Se konsa, sa a se jis konvansyon komen. 733 00:35:32,930 --> 00:35:36,060 Yon bagay kolon yon bagay vle di Nimewo liy ak nimewo karaktè. 734 00:35:36,060 --> 00:35:41,080 Erè, pou sèvi ak sekrè idantifyan fisèl. 735 00:35:41,080 --> 00:35:42,900 Did you mean estanda nan? 736 00:35:42,900 --> 00:35:45,530 >> Se konsa, malerezman, rezone ap eseye yo dwe itil. 737 00:35:45,530 --> 00:35:46,850 Men, li la sa ki mal, nan ka sa a. 738 00:35:46,850 --> 00:35:49,350 Non, rezone, mwen pa t 'vle di estanda IO. 739 00:35:49,350 --> 00:35:51,070 Mwen vle di ke sou liy yon sèl, wi. 740 00:35:51,070 --> 00:35:53,420 >> Men, liy senk se yon sèl sa a isit la. 741 00:35:53,420 --> 00:35:57,040 Apre sa, rezone pa fè sa konprann S-T-R-I-N-G. 742 00:35:57,040 --> 00:36:01,490 Se yon sekrè idantifyan, se yon mo li jis pa janm te wè anvan. 743 00:36:01,490 --> 00:36:05,730 Epi sa a, paske C, lang nan nou ap ekri kòd nan kounye a, 744 00:36:05,730 --> 00:36:08,070 pa gen varyab rele strings. 745 00:36:08,070 --> 00:36:11,380 >> Li pa fè sa, pa default, sipò yon bagay yo rele yon kòd. 746 00:36:11,380 --> 00:36:16,750 Sa se yon moso CS50 nan jagon, men trè konvansyonèl yo. 747 00:36:16,750 --> 00:36:18,600 Men, mwen ka ranje sa a jan sa a. 748 00:36:18,600 --> 00:36:22,090 >> Si m 'ajoute yon sèl liy nan kòd nan tèt la nan pwogram sa a, 749 00:36:22,090 --> 00:36:27,890 gen ladan CS50.h, ki se yon lòt dosye yon kote andedan nan CS50 IDE, yon kote 750 00:36:27,890 --> 00:36:30,820 sou kondwi a difisil, se konsa pale, nan sistèm nan fonksyone Ubuntu 751 00:36:30,820 --> 00:36:33,590 ke mwen kouri, ki se dosye a sa a, se 752 00:36:33,590 --> 00:36:38,740 pral moutre opere nan sistèm ki sa yon fisèl se, jis 753 00:36:38,740 --> 00:36:41,930 tankou estanda io.h se dosye a nan sistèm nan fonksyone sa a, se 754 00:36:41,930 --> 00:36:44,430 pral moutre li sa printf se. 755 00:36:44,430 --> 00:36:46,810 >> Vreman vre, nou ta gen vinn yon mesaj trè menm jan 756 00:36:46,810 --> 00:36:50,600 si IO te admèt estanda Io.h ak eseye sèvi ak printf. 757 00:36:50,600 --> 00:36:53,632 Se konsa, mwen pral ale pi devan ak jis pran kontwòl L klè ekran m 'yo. 758 00:36:53,632 --> 00:36:56,340 Oswa ou ka tape klè epi li pral jis klè fenèt la tèminal. 759 00:36:56,340 --> 00:36:58,020 Men, ou ka toujou woulo liv tounen nan tan. 760 00:36:58,020 --> 00:37:01,100 >> Apre sa, mwen ale nan relance Fè chèn. 761 00:37:01,100 --> 00:37:03,660 Travèse dwèt mwen tan sa a, Antre nan. 762 00:37:03,660 --> 00:37:05,380 Oh Bondye mwen, li te travay. 763 00:37:05,380 --> 00:37:09,280 li montre m 'yon lòd lontan skre ke se sa ki Asire pwodwi atravè rezone, 764 00:37:09,280 --> 00:37:10,460 men pa gen okenn mesaj erè. 765 00:37:10,460 --> 00:37:12,460 Se konsa, reyalize, menm si ou ta ka jwenn konplètman 766 00:37:12,460 --> 00:37:14,480 akable ak nan kantite mesaj erè, 767 00:37:14,480 --> 00:37:17,540 li jis ta ka sa a kaskad anmèdan efè, kote rezone pa konprann 768 00:37:17,540 --> 00:37:19,620 yon sèl bagay, ki vle di li Lè sa a, pa konprann pawòl Bondye a kap vini an, 769 00:37:19,620 --> 00:37:20,560 oswa liy kap vini an. 770 00:37:20,560 --> 00:37:22,850 Se konsa, li jis trangle sou kòd ou a. 771 00:37:22,850 --> 00:37:24,440 Men, ranje a ta ka senp. 772 00:37:24,440 --> 00:37:27,822 Se konsa, toujou konsantre sou la trè premye liy nan pwodiksyon. 773 00:37:27,822 --> 00:37:29,530 Men, si ou pa fè sa konprann li, jis gade 774 00:37:29,530 --> 00:37:32,480 pou mo kle ke sa ta kapab endikasyon, ak nimewo a liy, 775 00:37:32,480 --> 00:37:34,650 ak karaktè a, kote ki erè te vle di. 776 00:37:34,650 --> 00:37:40,328 >> Koulye a, kite m 'ale pi devan epi tape dot koupe, fisèl, antre. 777 00:37:40,328 --> 00:37:44,340 Hm, li pa nan di alo anyen. 778 00:37:44,340 --> 00:37:46,210 Poukisa? 779 00:37:46,210 --> 00:37:48,170 Oke, sonje, ki kote li kouri? 780 00:37:48,170 --> 00:37:53,730 >> Li nan pwobableman kole nan moman sa a nan yon bouk, si ou pral, sou liy sis, 781 00:37:53,730 --> 00:37:56,950 paske Jwenn fisèl pa konsepsyon, ekri pa anplwaye CS50, 782 00:37:56,950 --> 00:38:00,350 se literalman vle di ke yo jis chita gen ap tann, ak ap tann, 783 00:38:00,350 --> 00:38:01,850 ak ap tann pou yon kòd. 784 00:38:01,850 --> 00:38:03,792 Tout sa nou vle di pa fisèl se opinyon moun. 785 00:38:03,792 --> 00:38:04,500 Se konsa, ou konnen ki sa? 786 00:38:04,500 --> 00:38:05,166 Kite m 'ale pi devan. 787 00:38:05,166 --> 00:38:08,704 Epi jis sou yon kapris, kite m ' tape non mwen, David, antre nan. 788 00:38:08,704 --> 00:38:10,120 Koulye a, mwen gen yon pwogram plis dinamik. 789 00:38:10,120 --> 00:38:11,240 Li te di ke, alo David. 790 00:38:11,240 --> 00:38:16,280 >> Si m 'ale pi devan epi kouri sa a ankò, kite m 'eseye di Zamila non, antre. 791 00:38:16,280 --> 00:38:17,940 Epi, koulye a nou gen yon pwogram dinamik. 792 00:38:17,940 --> 00:38:19,380 Mwen pa t 'difisil kode nan lemonn. 793 00:38:19,380 --> 00:38:21,760 Mwen pa t 'difisil kode non, oswa David, oswa Zamila. 794 00:38:21,760 --> 00:38:25,350 >> Kounye a li nan pi plis tankou pwogram yo nou konnen, kote si li pran D ', 795 00:38:25,350 --> 00:38:27,870 li pwodwi pwodiksyon ti kras diferan. 796 00:38:27,870 --> 00:38:31,020 Koulye a, sa a se pa pi bon an eksperyans itilizatè, oswa uks. 797 00:38:31,020 --> 00:38:33,000 Mwen kouri pwogram nan. 798 00:38:33,000 --> 00:38:35,830 >> Mwen pa konnen sa m ap sipoze fè, sof si mwen aktyèlman gade nan 799 00:38:35,830 --> 00:38:37,290 oswa sonje kòd la sous. 800 00:38:37,290 --> 00:38:39,640 Se konsa, kite a fè itilizatè a eksperyans yon ti kras pi byen 801 00:38:39,640 --> 00:38:41,240 ak pi senp la bagay sa yo. 802 00:38:41,240 --> 00:38:44,782 Kite m 'ale tounen nan sa a pwogram, epi tou senpleman di printf. 803 00:38:44,782 --> 00:38:48,870 >> Ak kite m 'ale pi devan epi di non, kolon, ak yon espas, ak lè sa a yon semi-kolon. 804 00:38:48,870 --> 00:38:51,170 Epi jis pou anvwaye, pa gen repèkisyon n. 805 00:38:51,170 --> 00:38:52,980 Epi sa a, ekspre, paske mwen pa vle 806 00:38:52,980 --> 00:38:54,590 èd memwa a pou avanse pou pi nan liy kap vini an. 807 00:38:54,590 --> 00:38:58,800 >> Mwen vle, olye de sa, fè sa, fè fisèl compile kòd m 'nan nouvo machin 808 00:38:58,800 --> 00:39:00,980 Kòd dot koupe fisèl. 809 00:39:00,980 --> 00:39:02,460 Ah, sa a se pi bèl pase. 810 00:39:02,460 --> 00:39:05,780 Koulye a, mwen aktyèlman konnen ki sa òdinatè a vle m 'fè, bay li yon non. 811 00:39:05,780 --> 00:39:10,020 >> Se konsa, mwen pral ale pi devan ak kalite nan Rob, antre nan, ak hello, Rob. 812 00:39:10,020 --> 00:39:13,640 Se konsa, reyalize, sa a se toujou, nan fen nan jounen an, se sèlman yon pwogram nèf liy. 813 00:39:13,640 --> 00:39:15,090 Men, nou te pran etap ti bebe sa yo. 814 00:39:15,090 --> 00:39:18,380 >> Nou te ekri yon sèl liy ak ki nou te yo konnen yo, printf, alo nan lemonn. 815 00:39:18,380 --> 00:39:19,980 Apre sa, nou undid yon ti kras nan sa. 816 00:39:19,980 --> 00:39:21,560 Apre sa, nou aktyèlman itilize jwenn fisèl. 817 00:39:21,560 --> 00:39:23,362 Apre sa, nou anlè ke valè nan yon varyab. 818 00:39:23,362 --> 00:39:26,070 Lè sa a, nou te ale pi devan epi amelyore li plis ak yon liy twazyèm. 819 00:39:26,070 --> 00:39:29,220 Lè sa a pwosesis repete nan ekri lojisyèl se vrèman kle. 820 00:39:29,220 --> 00:39:33,420 Nan CS50, ak nan lavi an jeneral, ou ta dwe jeneralman yo pa chita, 821 00:39:33,420 --> 00:39:36,800 gen yon pwogram nan tèt ou, epi eseye ekri bagay la antye modi tout nan yon fwa. 822 00:39:36,800 --> 00:39:40,810 >> Li pral, inevitableman, rezilta nan fason plis erè pase nou tèt nou wè isit la. 823 00:39:40,810 --> 00:39:44,070 Menm mwen menm, nan jou sa a, toujou ap fè lòt erè estipid, 824 00:39:44,070 --> 00:39:47,480 yo aktyèlman pi rèd erè ki pi difisil eseye figi konnen. 825 00:39:47,480 --> 00:39:52,095 Men, ou pral fè plis erè plis nan liy nan kòd ou ekri tout nan yon fwa. 826 00:39:52,095 --> 00:39:54,220 Se konsa, sa a pratik nan, ekri yon ti kras nan Kòd 827 00:39:54,220 --> 00:39:57,930 ke w ap konfòtab ak, konpile li, kouri li, tès li plis jeneralman, 828 00:39:57,930 --> 00:40:01,370 lè sa a deplase on-- Se konsa, jis tankou nou te kenbe stratifikasyon ak stratifikasyon semèn pase a, 829 00:40:01,370 --> 00:40:04,190 bati soti nan yon bagay trè senp yo yon bagay ki pi konplèks, 830 00:40:04,190 --> 00:40:05,200 fè menm bagay la isit la. 831 00:40:05,200 --> 00:40:08,500 pa chita, epi eseye ekri yon pwoblèm tout antye. 832 00:40:08,500 --> 00:40:10,780 Aktyèlman pran mezi ti bebe sa yo. 833 00:40:10,780 --> 00:40:15,100 >> Koulye a, strings yo se pa tout ki itil pou tèt yo. 834 00:40:15,100 --> 00:40:18,210 Nou ta aktyèlman, depreferans, tankou yo gen yon lòt bagay nan bwat zouti nou an. 835 00:40:18,210 --> 00:40:20,990 Se konsa nou aktyèlman fè egzakteman sa. 836 00:40:20,990 --> 00:40:24,900 >> Kite m 'ale pi devan kounye a epi yo fwe moute yon pwogram ti kras diferan. 837 00:40:24,900 --> 00:40:28,320 Epitou, n ap rele int.c sa a, pou nonb antye relatif. 838 00:40:28,320 --> 00:40:30,870 Mwen pral, Menm jan an tou, gen ladan CS550.h. 839 00:40:30,870 --> 00:40:33,060 Mwen pral genyen ladan yo estanda IO. 840 00:40:33,060 --> 00:40:36,630 Epi sa k ap pase yo dwe trè komen nan premye jou sa yo kèk nan klas la. 841 00:40:36,630 --> 00:40:39,050 >> Apre sa, mwen mwen pral pare tèt mwen ak yon fonksyon prensipal la. 842 00:40:39,050 --> 00:40:43,370 Epi, koulye a olye pou yo ap resevwa yon fisèl, kite a ale pi devan epi pou yo jwenn yon int. 843 00:40:43,370 --> 00:40:49,285 Se pou nou rele l 'mwen, ak rele li jwenn int, fèmen paran, semi-kolon. 844 00:40:49,285 --> 00:40:51,410 Epi, koulye a kite a fè yon bagay ak li, printf. 845 00:40:51,410 --> 00:40:56,190 >> Se pou nou di yon bagay tankou hello, antislach n, vigil mwen. 846 00:40:56,190 --> 00:41:00,010 Se konsa, mwen bèl anpil miman sa m 'te jis yon ti moman de sa. 847 00:41:00,010 --> 00:41:01,660 Mwen gen yon kontneur isit la. 848 00:41:01,660 --> 00:41:05,150 Mwen te vigil mwen isit la, paske mwen vle yo ploge m nan ki kontneur. 849 00:41:05,150 --> 00:41:07,250 >> Se konsa, kite yo ale pi devan epi eseye konpile pwogram sa a. 850 00:41:07,250 --> 00:41:10,060 Se dosye a rele int.c. 851 00:41:10,060 --> 00:41:12,920 Se konsa, mwen pral di, fè int, antre. 852 00:41:12,920 --> 00:41:16,420 Oh Bondye mwen, men gen okenn kontra gwo, dwa? 853 00:41:16,420 --> 00:41:17,230 Genyen yon erè. 854 00:41:17,230 --> 00:41:19,810 >> Genyen yon erè Massachusetts Institute of Technology isit la sa yo ki pwogram lan pa kapab 855 00:41:19,810 --> 00:41:25,460 dwe konpile andedan int.c, liy sèt, pèsonaj 27, fòma erè 856 00:41:25,460 --> 00:41:28,400 espesifye kalite Char zetwal, tou sa se sa ki. 857 00:41:28,400 --> 00:41:30,020 Men, kalite a agiman se int. 858 00:41:30,020 --> 00:41:33,110 >> Se konsa, isit la, tou, nou ap pa pral to-- menm si jodi a se yon anpil nan materyèl, 859 00:41:33,110 --> 00:41:35,710 nou ap ale nan sitèlman chaj ou ak absoliman tout karakteristik nan C, 860 00:41:35,710 --> 00:41:38,070 ak pwogramasyon plis jeneralman, nan jis premye semèn sa yo kèk. 861 00:41:38,070 --> 00:41:40,400 Se konsa, gen nan souvan pral fè jagon ak ki ou pa yo konnen yo. 862 00:41:40,400 --> 00:41:43,350 Epi, an reyalite, Char zetwal se yon bagay nou ap ale nan tounen vin jwenn 863 00:41:43,350 --> 00:41:44,830 nan yon semèn oswa tan de la. 864 00:41:44,830 --> 00:41:47,530 >> Men, pou kounye a, kite a wè si nou kapab analizan mo ki yo konnen yo. 865 00:41:47,530 --> 00:41:50,750 Formats-- se konsa nou tande fòma Dvi a, kòd fòma anvan. 866 00:41:50,750 --> 00:41:51,840 Sa a yo konnen yo. 867 00:41:51,840 --> 00:41:53,840 Type-- men agiman an gen kalite int. 868 00:41:53,840 --> 00:41:55,980 Tann yon minit, mwen se yon int. 869 00:41:55,980 --> 00:41:59,230 >> Petèt pousan nan aktyèlman gen kèk siyifikasyon defini. 870 00:41:59,230 --> 00:42:00,230 Epi, tout bon, li fè sa. 871 00:42:00,230 --> 00:42:03,101 Yon nonb antye relatif, si ou vle printf pran plas li, 872 00:42:03,101 --> 00:42:05,350 ou gen aktyèlman yo sèvi ak yon diferan fòma Dvi. 873 00:42:05,350 --> 00:42:06,890 Epi ou pa ta konnen sa a sof si yon moun di nou, 874 00:42:06,890 --> 00:42:07,973 oswa ou te fè l 'devan. 875 00:42:07,973 --> 00:42:10,490 Men, pousan mwen se sa ki ka souvan itilize 876 00:42:10,490 --> 00:42:12,240 nan printf pou rakorde nan yon nonb antye relatif. 877 00:42:12,240 --> 00:42:14,920 Ou kapab tou itilize pousan d pou yon nonb antye relatif desimal. 878 00:42:14,920 --> 00:42:16,490 Men, mwen se bèl ak senp isit la. 879 00:42:16,490 --> 00:42:17,590 Se konsa, nou pral ale ak sa. 880 00:42:17,590 --> 00:42:21,160 >> Koulye a, kite m 'ale pi devan epi relance fè int, Antre nan. 881 00:42:21,160 --> 00:42:23,328 Sa a bon, pa gen okenn erè. 882 00:42:23,328 --> 00:42:27,260 Dot koupe int-- OK, move eksperyans itilizatè, paske mwen pa te di tèt mwen 883 00:42:27,260 --> 00:42:27,760 Kisa pou fe. 884 00:42:27,760 --> 00:42:28,426 Men, sa a amann. 885 00:42:28,426 --> 00:42:29,480 Mwen pwan sou byen vit. 886 00:42:29,480 --> 00:42:36,260 >> Epi, koulye a kite m 'ale pi devan epi tape nan David, OK, Zamila, Rob. 887 00:42:36,260 --> 00:42:37,820 OK, se konsa sa a se yon bon bagay. 888 00:42:37,820 --> 00:42:41,710 Tan sa a, mwen lè l sèvi avèk yon fonksyon, yon moso devinèt, rele jwenn Int. 889 00:42:41,710 --> 00:42:44,230 Epi li vire out-- epi nou pral wè pita sa a nan term-- la 890 00:42:44,230 --> 00:42:47,730 te anplwaye nan CS50 aplike jwenn fisèl nan yon fason 891 00:42:47,730 --> 00:42:50,350 ke li pral sèlman fizikman jwenn yon fisèl pou ou. 892 00:42:50,350 --> 00:42:54,340 >> Li te aplike jwenn int nan yon fason ke li pral sèlman 893 00:42:54,340 --> 00:42:55,590 jwenn yon nonb antye relatif pou ou. 894 00:42:55,590 --> 00:42:57,830 Men, si ou, moun lan, pa kolabore, li nan 895 00:42:57,830 --> 00:43:00,590 literalman jis ale nan di rekoumanse, rekoumanse, rekoumanse, 896 00:43:00,590 --> 00:43:05,200 literalman chita la loupin, jouk ou oblijra ak kèk nimewo majik, 897 00:43:05,200 --> 00:43:07,670 tankou 50, ak alo 50. 898 00:43:07,670 --> 00:43:11,440 >> Oswa si nou kouri sa a ankò ak kalite nan 42, alo 42. 899 00:43:11,440 --> 00:43:15,750 Se konsa, fonksyon an jwenn int andedan nan ki moso devinèt 900 00:43:15,750 --> 00:43:19,050 se ase lojik, ase panse, eseye figi konnen, ki sa ki yon mo? 901 00:43:19,050 --> 00:43:20,330 Ak sa ki se yon nimewo? 902 00:43:20,330 --> 00:43:23,165 Se sèlman aksepte, finalman, chif yo. 903 00:43:23,165 --> 00:43:25,690 904 00:43:25,690 --> 00:43:30,230 >> Se konsa, li sanble ke sa a se pa tout sa ki espresif. 905 00:43:30,230 --> 00:43:30,910 byen lwen tèlman. 906 00:43:30,910 --> 00:43:33,690 Se konsa, ye, dènye fwa nou te ale trè byen vit 907 00:43:33,690 --> 00:43:38,320 nan mete ann aplikasyon jwèt, ak animasyon, ak travay atistik nan grafonyen moun. 908 00:43:38,320 --> 00:43:42,260 Ak isit la, nou ap ke yo te kontni ak mond hello, ak alo 50. 909 00:43:42,260 --> 00:43:43,696 >> Li nan pa tout sa ki enspire. 910 00:43:43,696 --> 00:43:46,070 Epi, tout bon, sa yo premye kèk egzanp pral pran kèk tan 911 00:43:46,070 --> 00:43:47,510 nan ranp moute nan eksitasyon. 912 00:43:47,510 --> 00:43:49,854 Men, nou gen pou pi plis kontwole kounye a, an reyalite. 913 00:43:49,854 --> 00:43:51,770 Apre sa, nou ap ale nan trè byen vit kòmanse stratifikasyon 914 00:43:51,770 --> 00:43:53,870 sou tèt primitif debaz sa yo. 915 00:43:53,870 --> 00:43:56,370 >> Men, anvan, se pou yo konprann sa limit yo ye. 916 00:43:56,370 --> 00:43:58,620 An reyalite, youn nan bagay ki Grafouyen pa fè sa fasil 917 00:43:58,620 --> 00:44:00,990 se pou nou fè se reyèlman gade anba kapo a, 918 00:44:00,990 --> 00:44:03,740 epi mwen konprann ki sa yon òdinatè se, ki sa li ka fè, 919 00:44:03,740 --> 00:44:05,250 ak sa limit li yo ye. 920 00:44:05,250 --> 00:44:08,580 Epi, tout bon, ki mank de konpreyansyon, ki kapab, ki dire lontan 921 00:44:08,580 --> 00:44:12,520 ka mennen nan pwòp ekri mistakes-- nou an pinèz, ekri lojisyèl anksyeu ki 922 00:44:12,520 --> 00:44:13,880 vin rache nan kèk fason. 923 00:44:13,880 --> 00:44:17,130 >> Se konsa, kite a pran kèk etap nan direksyon konprann sa a yon ti kras pi byen pa 924 00:44:17,130 --> 00:44:19,710 fason pou, di, egzanp sa a. 925 00:44:19,710 --> 00:44:23,550 Mwen pral ale pi devan epi aplike reyèl rapid yon pwogram ki rele sèpan. 926 00:44:23,550 --> 00:44:25,134 Tankou, kite a ajoute kèk nimewo ansanm. 927 00:44:25,134 --> 00:44:27,800 Men, mwen pral nan kòd kèk kwen isit la, ak jis kopi ak keratin 928 00:44:27,800 --> 00:44:30,270 kote mwen te ye anvan an, jis pou nou ka jwenn pral pi bonè. 929 00:44:30,270 --> 00:44:33,090 Se konsa, koulye a, mwen te gen kòmanse yo debaz nan yon pwogram ki rele sèpan. 930 00:44:33,090 --> 00:44:34,670 >> Li kite yo ale pi devan epi fè sa. 931 00:44:34,670 --> 00:44:38,680 Mwen pral ale pi devan epi di, intx vin jwenn int. 932 00:44:38,680 --> 00:44:39,430 Epi ou konnen ki sa? 933 00:44:39,430 --> 00:44:40,990 Se pou yo fè yon eksperyans itilizatè pi bon. 934 00:44:40,990 --> 00:44:45,740 >> Se konsa, kite yo jis di x se, ak efikasite pouse itilizatè a ban nou x. 935 00:44:45,740 --> 00:44:50,600 Lè sa a, kite m 'ale pi devan epi di, printf ki jan sou y se, fwa sa a tann 936 00:44:50,600 --> 00:44:53,140 de valè soti nan itilizatè a. 937 00:44:53,140 --> 00:44:59,759 Lè sa a, kite yo jis ale pi devan epi di, printf, sòm total la nan x ak y se. 938 00:44:59,759 --> 00:45:01,300 Epi kounyeya, m pa vle fè pousan an. 939 00:45:01,300 --> 00:45:09,080 Mwen vle fè pousan mwen, antislach n, ak Lè sa a ploge nan valè sòm. 940 00:45:09,080 --> 00:45:10,620 >> Se konsa, kouman mwen ka ale sou fè sa a? 941 00:45:10,620 --> 00:45:11,270 Ou konnen ki sa? 942 00:45:11,270 --> 00:45:12,840 Mwen konnen ki jan yo sèvi ak varyab. 943 00:45:12,840 --> 00:45:15,140 Kite m 'jis deklare yon nouvo, int z. 944 00:45:15,140 --> 00:45:16,770 >> Apre sa, mwen pral pran yon devine isit la. 945 00:45:16,770 --> 00:45:21,470 Si gen siy egal nan sa a lang, petèt mwen jis kapab fè x plis y, 946 00:45:21,470 --> 00:45:23,660 toutotan m'a fini mwen te panse ak yon semi-kolon? 947 00:45:23,660 --> 00:45:28,170 Koulye a, mwen ka ale tounen desann isit la, ploge nan z, fini te panse sa a ak yon semi-kolon. 948 00:45:28,170 --> 00:45:33,160 Li kite yo wè kounye a, si sa yo sekans nan lines-- x se jwenn int. 949 00:45:33,160 --> 00:45:34,770 Y se jwenn int. 950 00:45:34,770 --> 00:45:37,980 >> Ajoute x ak y, magazen valè a nan z- se konsa, ankò, sonje siy ki egal 951 00:45:37,980 --> 00:45:38,560 se pa egal-ego. 952 00:45:38,560 --> 00:45:41,100 Li nan plasman de dwat a gòch. 953 00:45:41,100 --> 00:45:45,180 Li kite yo enprime soti ke sòm total la nan x ak y se pa literalman z, 954 00:45:45,180 --> 00:45:46,830 men sa ki nan andedan nan z. 955 00:45:46,830 --> 00:45:50,090 Se konsa, kite a fè sèpan - bèl, pa gen erè moman sa a. 956 00:45:50,090 --> 00:45:53,030 Dot koupe sèpan, antre nan, x a pwal 1. 957 00:45:53,030 --> 00:45:55,380 >> Y a pwal 2. 958 00:45:55,380 --> 00:45:58,964 Apre sa, sòm total la nan x ak y se 3. 959 00:45:58,964 --> 00:46:00,130 Se poutèt sa se tout bon epi li bon. 960 00:46:00,130 --> 00:46:03,260 >> Se konsa, ou ta imajine ke matematik ta dwe travay nan yon pwogram tankou sa a. 961 00:46:03,260 --> 00:46:04,040 Men, ou konnen ki sa? 962 00:46:04,040 --> 00:46:06,904 Se varyab sa a, liy 12, menm nesesè? 963 00:46:06,904 --> 00:46:09,820 Ou pa bezwen jwenn nan abitid la nan jis estoke bagay sa yo nan varyab 964 00:46:09,820 --> 00:46:10,980 jis paske ou kapab. 965 00:46:10,980 --> 00:46:13,550 Epi, an reyalite, li nan jeneralman konsidere kòm move konsepsyon 966 00:46:13,550 --> 00:46:18,100 si ou ap kreye yon varyab, ki rele z nan ka sa a, estoke yon bagay nan li, 967 00:46:18,100 --> 00:46:21,390 ak Lè sa a imedyatman lè l sèvi avèk li, men pa janm ankò. 968 00:46:21,390 --> 00:46:24,700 Poukisa bay yon bagay yon non tankou z si w ap literalman 969 00:46:24,700 --> 00:46:26,770 pral sèvi ak ki bagay yon sèl fwa, e konsa 970 00:46:26,770 --> 00:46:29,380 amon nan kote ou te kreye l 'nan plas an premye, 971 00:46:29,380 --> 00:46:31,052 konsa fèmen nan tèm de liy nan kòd? 972 00:46:31,052 --> 00:46:31,760 Se konsa, ou konnen ki sa? 973 00:46:31,760 --> 00:46:34,480 Li sanble ke C se trè fleksib. 974 00:46:34,480 --> 00:46:36,586 Si m 'aktyèlman vle ploge nan valè isit la, 975 00:46:36,586 --> 00:46:38,210 Mwen pa bezwen deklare yon varyab nouvo. 976 00:46:38,210 --> 00:46:41,680 Mwen te kapab jis ploge nan x plis y, paske C konprann 977 00:46:41,680 --> 00:46:43,390 aritmetik, ak operatè matematik. 978 00:46:43,390 --> 00:46:47,140 >> Se konsa, mwen ka senpleman di, fè matematik sa a, x plis y, tou sa valè sa yo ye a, 979 00:46:47,140 --> 00:46:50,780 ploge ki kapab lakòz nan nonb antye relatif nan ki fisèl. 980 00:46:50,780 --> 00:46:53,730 Se konsa, sa a ta kapab, menm si sèlman yon sèl liy ki pi kout, 981 00:46:53,730 --> 00:46:58,480 yon konsepsyon pi bon, yon pwogram pi bon, paske gen nan mwens Kòd, Se poutèt sa 982 00:46:58,480 --> 00:46:59,921 mwens pou mwen pou m konprann. 983 00:46:59,921 --> 00:47:01,920 Epitou, se tou jis cleaner, tèl degre ke nou pa 984 00:47:01,920 --> 00:47:04,620 entwodwi nouvo mo, senbòl nouvo, tankou z, 985 00:47:04,620 --> 00:47:07,510 menm si yo pa fè sa vrèman sèvi anpil nan yon rezon. 986 00:47:07,510 --> 00:47:12,890 >> Malerezman, matematik se pa tout sa ki pafwa ka fè konfyans. 987 00:47:12,890 --> 00:47:15,270 Se pou nou ale pi devan epi fè sa. 988 00:47:15,270 --> 00:47:18,200 Mwen pral ale pi devan kounye a epi yo fè sa ki annapre yo. 989 00:47:18,200 --> 00:47:27,650 >> Se pou yo fè printf, pousan mwen, plis pousan mwen lan va sèvi pousan mwen, antislach n. 990 00:47:27,650 --> 00:47:32,240 Apre sa, mwen pral fè xyx sa a men plis y. 991 00:47:32,240 --> 00:47:34,821 Se konsa, mwen jis ale nan reyekri sa a yon ti kras diferan isit la. 992 00:47:34,821 --> 00:47:36,320 Kite m 'jis fè yon chèk saniti rapid. 993 00:47:36,320 --> 00:47:37,986 Yon fwa ankò, se pou yo pa jwenn devan yo nan tèt nou. 994 00:47:37,986 --> 00:47:41,420 Fè koulevr, dot koupe sèpan. 995 00:47:41,420 --> 00:47:44,950 x se 1, y se 2, 1 plis 2 se 3. 996 00:47:44,950 --> 00:47:45,870 Se poutèt sa se bon. 997 00:47:45,870 --> 00:47:49,060 Men, kite a konplike sa a kounye a yon ti jan, ak kreye yon dosye nouvo. 998 00:47:49,060 --> 00:47:53,350 >> Mwen pral rele yon sèl sa a, di, antye, pliryèl pou nonm antye relatif. 999 00:47:53,350 --> 00:47:55,980 Kite m 'kòmanse kote mwen te yon ti moman de sa. 1000 00:47:55,980 --> 00:47:57,770 Men koulye a, se pou yo fè yon kèk liy lòt. 1001 00:47:57,770 --> 00:48:03,430 Kite m 'ale pi devan epi fè sa ki annapre yo, printf, pousan mwen, mwens pousan mwen, 1002 00:48:03,430 --> 00:48:08,959 se pousan mwen, vigil x, vigil Yx mwens y. 1003 00:48:08,959 --> 00:48:10,750 Se konsa, mwen fè yon ti kras diferan matematik la. 1004 00:48:10,750 --> 00:48:11,624 Se pou yo fè yon lòt. 1005 00:48:11,624 --> 00:48:16,610 Se konsa, pousan mwen fwa pousan mwen se pousan mwen, antislach n. 1006 00:48:16,610 --> 00:48:21,430 Se pou nou ploge nan x, ak y, ak x fwa y. 1007 00:48:21,430 --> 00:48:24,530 Nou pral sèvi ak asterisk la sou òdinatè w lan pou fwa. 1008 00:48:24,530 --> 00:48:26,390 >> Ou pa sèvi ak x. x se yon non varyab isit la. 1009 00:48:26,390 --> 00:48:28,270 Ou sèvi ak zetwal la pou miltiplikasyon. 1010 00:48:28,270 --> 00:48:29,020 Se pou yo fè yon sèl plis. 1011 00:48:29,020 --> 00:48:34,580 Printf pousan mwen, divize pa pousan mwen, se pousan mwen, 1012 00:48:34,580 --> 00:48:40,460 antislach n. xy divize pa y-- se konsa ou itilize koupe a pi devan nan C 1013 00:48:40,460 --> 00:48:41,502 fè divizyon. 1014 00:48:41,502 --> 00:48:42,460 Li kite yo fè yon sèl ak lòt. 1015 00:48:42,460 --> 00:48:47,920 1016 00:48:47,920 --> 00:48:55,240 Rès pousan mwen, divize pa pousan mwen, se pousan mwen. 1017 00:48:55,240 --> 00:48:59,550 xy-- e kounye a, rès se sa ki rete yo. 1018 00:48:59,550 --> 00:49:02,980 Lè ou eseye divize yon denominatè nan yon nimeratè, 1019 00:49:02,980 --> 00:49:05,570 konbyen lajan ki rete sou ki ou pa t 'kapab divize soti? 1020 00:49:05,570 --> 00:49:07,910 >> Se konsa, gen se pa reyèlman, nesesèman, yon senbòl 1021 00:49:07,910 --> 00:49:09,470 nou te yo itilize nan lekòl klas yo pou sa. 1022 00:49:09,470 --> 00:49:13,830 Men, gen nan C. Ou kapab di x modulo y, kote 1023 00:49:13,830 --> 00:49:18,000 sa a siyen pousan nan sa a context-- konfizyon lè w ap andedan 1024 00:49:18,000 --> 00:49:20,170 nan quotes yo doub, andedan nan printf, pousan 1025 00:49:20,170 --> 00:49:21,830 se itilize kòm Dvi a fòma. 1026 00:49:21,830 --> 00:49:25,420 >> Lè ou sèvi ak pousan deyò nan ke nan yon ekspresyon matematik, 1027 00:49:25,420 --> 00:49:29,910 li nan operatè a modulo pou modilè arithmetic-- pou rezon nou an 1028 00:49:29,910 --> 00:49:33,650 isit la, jis vle di, ki sa ki la rès nan x divize pa y? 1029 00:49:33,650 --> 00:49:36,130 Se konsa, x divize pa y se x koupe y. 1030 00:49:36,130 --> 00:49:38,220 Ki sa ki nan rès la nan x divize pa y? 1031 00:49:38,220 --> 00:49:41,780 Li nan x mod y, kòm yon pwogramè ta ka di. 1032 00:49:41,780 --> 00:49:48,300 >> Se konsa, si mwen te fè pa gen okenn erè isit la, kite m ' ale pi devan epi fè antye, pliryèl, bèl, 1033 00:49:48,300 --> 00:49:50,010 ak dot koupe antye. 1034 00:49:50,010 --> 00:49:55,270 Li kite yo ale pi devan epi fè, se pou yo di, 1, 10. 1035 00:49:55,270 --> 00:49:58,390 Tout dwa, 1 plis 10 se 11, chèk la. 1036 00:49:58,390 --> 00:50:01,240 1 mwens 10 se negatif 9, chèk la. 1037 00:50:01,240 --> 00:50:03,420 >> 1 fwa 10 se 10, chèk la. 1038 00:50:03,420 --> 00:50:07,090 1 divize pa 10 is-- OK, nou pral sote ke yon moun. 1039 00:50:07,090 --> 00:50:09,480 Rès nan 1 divize pa 10 se 1. 1040 00:50:09,480 --> 00:50:10,680 Sa a kòrèk. 1041 00:50:10,680 --> 00:50:12,630 Men, gen nan yon ensèk nan isit la. 1042 00:50:12,630 --> 00:50:15,390 >> Se konsa, yon sèl la mwen mete m ' men sou, pa kòrèk. 1043 00:50:15,390 --> 00:50:16,670 Mwen vle di, li nan fèmen nan 0. 1044 00:50:16,670 --> 00:50:20,670 1 divize pa 10, ou konnen, si nou ap koupe kèk kwen, asire w, li nan zewo. 1045 00:50:20,670 --> 00:50:28,050 Men, li ta dwe reyèlman gen 1/10, 0.1, oswa 0.10, 0,1000, oswa pou fè. 1046 00:50:28,050 --> 00:50:30,600 >> Li pa ta dwe reyèlman gen zewo. 1047 00:50:30,600 --> 00:50:35,990 Oke, li sanble ke òdinatè a se fè literalman sa nou rakonte l 'bay fè. 1048 00:50:35,990 --> 00:50:39,460 N ap fè matematik tankou x divize pa y. 1049 00:50:39,460 --> 00:50:44,680 Ak tou de x ak y, pou chak liy ki nan kòd pi bonè, yo nonm antye relatif. 1050 00:50:44,680 --> 00:50:50,440 >> Anplis, sou liy 15, nou se di printf, hey, printf ploge nan 1051 00:50:50,440 --> 00:50:54,230 yon nonb antye relatif, ploge nan yon nonb antye relatif, ploge nan yon integer-- espesyalman 1052 00:50:54,230 --> 00:50:57,580 x, ak Lè sa a y, ak Lè sa a x divize pa y. x ak y yo se antye. 1053 00:50:57,580 --> 00:50:59,060 Nou ap bon la. 1054 00:50:59,060 --> 00:51:01,250 >> Men, sa ki se x divize pa x? 1055 00:51:01,250 --> 00:51:06,790 x divize pa y ta dwe, matematik, 1/10, oswa 0.1, 1056 00:51:06,790 --> 00:51:11,600 ki se yon nimewo reyèl, yon PO reyèl gen, ki kapab, yon pwen desimal. 1057 00:51:11,600 --> 00:51:13,230 Li pa yon nonb antye relatif. 1058 00:51:13,230 --> 00:51:18,290 >> Men, sa ki pi pre a nonb antye relatif 1/10, oswa 0.1? 1059 00:51:18,290 --> 00:51:21,114 Yeah, li kalite se zewo. 1060 00:51:21,114 --> 00:51:22,030 0.1 se tankou sa a anpil. 1061 00:51:22,030 --> 00:51:22,890 Ak 1 se sa a anpil. 1062 00:51:22,890 --> 00:51:25,870 Se konsa, 1/10 se pi pre 0 pase sa li se nan yon sèl. 1063 00:51:25,870 --> 00:51:30,800 >> Se konsa, sa C ap fè pou nou ki kalite paske nou rakonte l 'to-- 1064 00:51:30,800 --> 00:51:32,600 se truncating ki nonb antye ki pè. 1065 00:51:32,600 --> 00:51:40,540 Li nan pran valè a, ki ankò se sipoze yon bagay tankou 0,1000, 1066 00:51:40,540 --> 00:51:41,800 0 ak pou fè. 1067 00:51:41,800 --> 00:51:45,320 Epi li truncating tout bagay apre pwen an desimal 1068 00:51:45,320 --> 00:51:47,510 se konsa ke tout bagay sa yo bagay, paske li pa fè sa 1069 00:51:47,510 --> 00:51:51,910 anfòm nan nosyon de yon nonb antye relatif, ki se jis yon nimewo tankou negatif 1, 0, 1, 1070 00:51:51,910 --> 00:51:55,830 leve, li desann, li lanse lwen tout bagay apre pwen an desimal paske ou 1071 00:51:55,830 --> 00:51:59,020 pa ka anfòm yon pwen desimal nan yon nonb antye relatif pa definisyon. 1072 00:51:59,020 --> 00:52:01,290 >> Se konsa, repons la isit la se zewo. 1073 00:52:01,290 --> 00:52:02,600 Se konsa, kouman nou ranje sa a? 1074 00:52:02,600 --> 00:52:04,400 Nou bezwen yon lòt solisyon tout ansanm. 1075 00:52:04,400 --> 00:52:06,880 Apre sa, nou ka fè sa, jan sa a. 1076 00:52:06,880 --> 00:52:12,820 >> Kite m 'ale pi devan epi kreye yon nouvo dosye, yon sèl sa a yo rele floats.c. 1077 00:52:12,820 --> 00:52:16,500 Epi sove l 'isit la nan la menm anyè, float.c. 1078 00:52:16,500 --> 00:52:19,360 1079 00:52:19,360 --> 00:52:23,260 Ak kite m 'ale pi devan epi kopi kèk nan ki Kòd soti nan pi bonè. 1080 00:52:23,260 --> 00:52:27,690 >> Men, olye pou yo ap resevwa yon int, se pou yo fè sa. 1081 00:52:27,690 --> 00:52:31,037 Ban m 'yon valè pwen k ap flote rele x. kote yon pwen k ap flote 1082 00:52:31,037 --> 00:52:33,370 valè jis literalman yon bagay ki gen yon pwen k ap flote. 1083 00:52:33,370 --> 00:52:34,410 Li ka deplase li nan yon bò gòch la, sou bò dwat la. 1084 00:52:34,410 --> 00:52:35,530 Li se yon nimewo reyèl. 1085 00:52:35,530 --> 00:52:38,050 >> Ak kite m 'pa rele jwenn int, men jwenn flote, 1086 00:52:38,050 --> 00:52:41,420 ki tou te nan mitan meni an nan opsyon nan bibliyotèk la C250. 1087 00:52:41,420 --> 00:52:43,220 Se pou nou chanje y nan yon flote. 1088 00:52:43,220 --> 00:52:45,000 Se konsa, sa a vin tounen jwenn flote. 1089 00:52:45,000 --> 00:52:47,620 >> Koulye a, nou pa vle ploge nan antye. 1090 00:52:47,620 --> 00:52:53,130 Li sanble nou gen yo sèvi ak pousan f pou flote, pousan f pou flote, 1091 00:52:53,130 --> 00:52:54,560 e kounye a, sove li. 1092 00:52:54,560 --> 00:53:01,220 Epi, koulye a, dwèt janbe lòt, fè flote, bèl, flote koupe dot. 1093 00:53:01,220 --> 00:53:04,280 x ki pral yo dwe youn 1. y A pwal 10 ankò. 1094 00:53:04,280 --> 00:53:08,240 >> Epi, bèl, OK de sa mwen an se kòrèk. 1095 00:53:08,240 --> 00:53:10,240 Mwen te espere pou plis, men mwen bliye ekri li. 1096 00:53:10,240 --> 00:53:13,250 Se konsa an n ale ak ranje sa a erè lojik. 1097 00:53:13,250 --> 00:53:16,280 >> Se pou nou ale pi devan epi gen tan pwan sa ki annapre yo. 1098 00:53:16,280 --> 00:53:18,080 Nou pral jis fè yon ti kras kopi ak keratin. 1099 00:53:18,080 --> 00:53:20,080 Apre sa, mwen pral di mwens. 1100 00:53:20,080 --> 00:53:21,890 >> Apre sa, mwen pral di fwa. 1101 00:53:21,890 --> 00:53:24,060 Apre sa, mwen pral di divize. 1102 00:53:24,060 --> 00:53:28,240 Apre sa, mwen pa pwal fè modulo, ki se pa tankou konvnabl isit la, 1103 00:53:28,240 --> 00:53:33,690 divize pa f, ak lè plus-- OK, se pou yo fè sa ankò. 1104 00:53:33,690 --> 00:53:44,210 >> Fè flote, dot flote koupe, ak 1, 10, and-- bèl, pa gen okenn, OK. 1105 00:53:44,210 --> 00:53:45,250 Se konsa, mwen yon moun sòt. 1106 00:53:45,250 --> 00:53:47,000 Se konsa, sa a se trè komen nan syans òdinatè 1107 00:53:47,000 --> 00:53:49,780 fè erè estipid tankou sa a. 1108 00:53:49,780 --> 00:53:53,100 >> Pou rezon pedagojik, ki sa mwen reyèlman te vle fè 1109 00:53:53,100 --> 00:53:57,410 te chanje syans la isit la a plis, nan mwens, nan fwa, 1110 00:53:57,410 --> 00:54:01,140 ak, fann li de, menm jan ou èspere ke remake pandan egzèsis sa a. 1111 00:54:01,140 --> 00:54:04,700 Se konsa, kounye a kite a re-konpile sa a pwogram, fè flote koupe dot. 1112 00:54:04,700 --> 00:54:07,950 >> Se pou twazyèm fwa a, se pou yo wè si li satisfè atant mwen. 1113 00:54:07,950 --> 00:54:21,480 1, 10, antre nan, repons lan se wi, OK, 1.000, divize pa 10.000, se 0,100000. 1114 00:54:21,480 --> 00:54:24,952 Epi li vire soti nou ka kontwole ki jan anpil nimewo yo apre pwen sa yo desimal. 1115 00:54:24,952 --> 00:54:25,660 Nou aktyèlman pral. 1116 00:54:25,660 --> 00:54:26,790 Nou pral tounen vin jwenn sa. 1117 00:54:26,790 --> 00:54:28,440 >> Men koulye a,, an reyalite, matematik la kòrèk. 1118 00:54:28,440 --> 00:54:30,090 Se konsa, ankò, sa ki nan Takeaway a isit la? 1119 00:54:30,090 --> 00:54:33,050 Li sanble ke nan C, gen pa sèlman jis strings ak, an reyalite, 1120 00:54:33,050 --> 00:54:36,120 gen pa reyèlman, paske nou ajoute moun ki gen bibliyotèk la CS50. 1121 00:54:36,120 --> 00:54:37,710 Men, gen pa sèlman antye. 1122 00:54:37,710 --> 00:54:38,990 >> Genyen tou flote. 1123 00:54:38,990 --> 00:54:42,810 Epi li vire soti yon pakèt moun sou lòt done kalite tou, ke nou pral sèvi ak anvan lontan. 1124 00:54:42,810 --> 00:54:46,270 Vire soti si ou vle yon sèl pèsonaj, se pa yon afè de karaktè, 1125 00:54:46,270 --> 00:54:47,610 ou ka itilize jis yon Char. 1126 00:54:47,610 --> 00:54:52,350 >> Sanble ke si ou vle yon bouleen, se yon valè Boolean, vre oubyen fo sèlman, 1127 00:54:52,350 --> 00:54:56,840 gras a bibliyotèk la CS50, nou te ajoute nan C kalite a done bouleen kòm byen. 1128 00:54:56,840 --> 00:54:59,180 Men, li la tou prezante nan anpil lòt lang kòm byen. 1129 00:54:59,180 --> 00:55:04,130 Epi li vire soti ke pafwa ou bezwen pi gwo nimewo Lè sa a, rive nan yon default 1130 00:55:04,130 --> 00:55:05,210 ak antye ak flote. 1131 00:55:05,210 --> 00:55:10,590 >> Epi, an reyalite, yon doub se yon nimewo ki sèvi ak pa 32 Bits, men 64 miyèt moso. 1132 00:55:10,590 --> 00:55:14,990 Apre sa, yon long long se yon nimewo ki sèvi ak pa 32, Bits men 64 Bits, 1133 00:55:14,990 --> 00:55:19,190 respektivman, pou k ap flote pwen valè ak nonm antye relatif, respektivman. 1134 00:55:19,190 --> 00:55:22,780 Se konsa, kite a aktyèlman kounye a wè sa a nan aksyon. 1135 00:55:22,780 --> 00:55:26,150 >> Mwen pral ale pi devan isit la ak fwe moute yon lòt pwogram nan. 1136 00:55:26,150 --> 00:55:32,020 Isit la, mwen pral ale pi devan epi yo genyen ladan cs50.h. 1137 00:55:32,020 --> 00:55:34,910 Se pou m 'ale, gen ladan yo estanda IO.h. 1138 00:55:34,910 --> 00:55:37,320 >> Men, ou pral remake yon bagay Funky k ap pase isit la. 1139 00:55:37,320 --> 00:55:40,592 Li pa nan koulè kodaj bagay sa yo nan menm jan an jan li te fè anvan. 1140 00:55:40,592 --> 00:55:43,550 Epi li vire soti, sa se paske mwen pa te bay bagay la yon non dosye-a. 1141 00:55:43,550 --> 00:55:47,270 >> Mwen pral rele yon sèl sa a sizeof.c, ak frape Save. 1142 00:55:47,270 --> 00:55:51,039 Apre sa, remake sa k ap pase trè mwen blan Kòd kont ki seri nwa. 1143 00:55:51,039 --> 00:55:52,830 Koulye a, omwen gen nan kèk koulè wouj violèt nan la. 1144 00:55:52,830 --> 00:55:54,490 Epi li se sentaks make. 1145 00:55:54,490 --> 00:55:57,700 >> Sa a se paske, byen tou senpleman, mwen te te di IDE a ki kalite dosye 1146 00:55:57,700 --> 00:56:01,060 li se pa bay li yon non, ak espesyalman yon ekstansyon dosye-a. 1147 00:56:01,060 --> 00:56:03,620 Koulye a, se pou yo ale pi devan epi fè sa. 1148 00:56:03,620 --> 00:56:08,910 Mwen pral ale pi devan epi trè tou senpleman enprime soti bouleen nan annapre 1149 00:56:08,910 --> 00:56:11,080 se pousan LU. 1150 00:56:11,080 --> 00:56:12,950 >> Nou pral tounen vin jwenn ki nan jis yon moman. 1151 00:56:12,950 --> 00:56:15,840 Lè sa a, mwen pral ekri an lèt detache gwosè nan bouleen. 1152 00:56:15,840 --> 00:56:18,170 Epi, koulye a, jis pou konsève pou tèt mwen kèk tan, mwen se 1153 00:56:18,170 --> 00:56:20,280 pral fè yon antye pakèt moun sou sa yo nan yon fwa. 1154 00:56:20,280 --> 00:56:24,620 Epi, espesyalman, mwen pral chanje sa a nan yon Char ak Char. 1155 00:56:24,620 --> 00:56:27,760 Yon sèl sa a, mwen pral chanje nan yon doub ak yon doub. 1156 00:56:27,760 --> 00:56:31,440 >> Yon sèl sa a, mwen pral chanje nan yon flote ak yon flote. 1157 00:56:31,440 --> 00:56:35,670 Yon sèl sa a, mwen pral chanje nan yon int ak yon int. 1158 00:56:35,670 --> 00:56:38,660 Apre sa, yon sèl sa a, mwen pral pou chanje pou yon long lontan. 1159 00:56:38,660 --> 00:56:40,840 Apre sa, li la toujou pran yon bon bout tan, depi lontan lontan. 1160 00:56:40,840 --> 00:56:44,572 >> Lè sa a,, anfen, mwen te bay tèt mwen yon sèl twò anpil, fisèl. 1161 00:56:44,572 --> 00:56:47,030 Li sanble ke nan C, gen nan operatè a espesyal ki rele 1162 00:56:47,030 --> 00:56:50,260 gwosè nan sa a, se literalman ale nan, lè kouri, 1163 00:56:50,260 --> 00:56:52,099 di nou gwosè a nan chak nan sa yo varyab. 1164 00:56:52,099 --> 00:56:53,890 Lè sa a se yon fason, kounye a, nou ka konekte tounen 1165 00:56:53,890 --> 00:56:57,140 nan diskisyon semèn pase a nan done ak reprezantasyon. 1166 00:56:57,140 --> 00:57:00,330 >> Kite m 'ale pi devan epi konpile gwosè nan gwosè koupe dot la. 1167 00:57:00,330 --> 00:57:01,210 Li kite yo wè. 1168 00:57:01,210 --> 00:57:05,210 Li sanble ke nan C, espesyalman sou CS50 IDE, 1169 00:57:05,210 --> 00:57:08,170 espesyalman sou la sistèm opere Ubuntu, 1170 00:57:08,170 --> 00:57:11,100 ki se yon opere 64-ti jan sistèm nan ka sa a, 1171 00:57:11,100 --> 00:57:14,189 yon bouleen ki pral sèvi ak youn multiple nan espas. 1172 00:57:14,189 --> 00:57:16,480 Sa a ki jan gwosè se mezire, pa nan Bits, men nan bytes. 1173 00:57:16,480 --> 00:57:18,690 Apre sa, sonje ke yon moun multiple se uit miyèt moso. 1174 00:57:18,690 --> 00:57:22,030 Se konsa, yon bouleen, menm si ou teknikman sèlman bezwen yon 0 oswa 1, 1175 00:57:22,030 --> 00:57:24,092 li nan yon ti kras inutil ki jan nou te aplike li. 1176 00:57:24,092 --> 00:57:26,800 Li nan aktyèlman ale nan sèvi ak yon antye byte-- se konsa tout zewo, yo petèt 1177 00:57:26,800 --> 00:57:31,050 tout moun, oswa yon bagay tankou sa yo, oswa jis yon sèl 1 nan mitan uit miyèt moso. 1178 00:57:31,050 --> 00:57:34,962 >> Yon Char, pandan se tan, ki itilize pou yon karaktè tankou yon karaktè ASCII pou chak semèn pase a, 1179 00:57:34,962 --> 00:57:36,170 ki pral yo dwe youn karaktè. 1180 00:57:36,170 --> 00:57:42,340 Epi sa synchs moute ak nosyon nou an li ke yo te pa plis pase 256 bits-- olye, 1181 00:57:42,340 --> 00:57:45,360 synchs moute ak li ke yo te pa gen okenn pi long pase 8 Bits, ki 1182 00:57:45,360 --> 00:57:47,450 ba nou kòm anpil 256 valè. 1183 00:57:47,450 --> 00:57:49,680 Yon doub ki pral pral 8 bytes oswa 64 miyèt moso. 1184 00:57:49,680 --> 00:57:50,510 >> Yon flote se 4. 1185 00:57:50,510 --> 00:57:51,690 Yon int se 4. 1186 00:57:51,690 --> 00:57:52,980 Yon long, long se 8. 1187 00:57:52,980 --> 00:57:54,716 Ak yon fisèl se 8. 1188 00:57:54,716 --> 00:57:55,840 Men pa enkyete w sou sa. 1189 00:57:55,840 --> 00:57:57,340 Nou pral kale tounen ki kouch. 1190 00:57:57,340 --> 00:57:59,940 Li sanble soti, strings kapab pi long pase 8 bytes. 1191 00:57:59,940 --> 00:58:02,310 >> Epi, tout bon, nou te ekri strings deja, alo mond, 1192 00:58:02,310 --> 00:58:03,700 pi long pase 8 bytes. 1193 00:58:03,700 --> 00:58:06,270 Men, nou pral tounen vin jwenn ki nan jis yon moman. 1194 00:58:06,270 --> 00:58:09,690 Men, pran la lwen isit la se sa ki annapre yo. 1195 00:58:09,690 --> 00:58:15,320 >> Nenpòt òdinatè sèlman gen yon fini kantite lajan nan memwa ak espas. 1196 00:58:15,320 --> 00:58:17,860 Ou kapab sèlman magazen anpil dosye sou Mac ou a oswa PC. 1197 00:58:17,860 --> 00:58:23,030 Ou kapab sèlman magazen pwogram anpil nan RAM kouri nan yon fwa, nesesèman, menm 1198 00:58:23,030 --> 00:58:26,360 ak memwa vityèl, paske ou gen yon kantite lajan fini nan RAM. 1199 00:58:26,360 --> 00:58:28,990 >> Epi jis yo picture-- si ou pa janm te louvri moute yon laptop 1200 00:58:28,990 --> 00:58:31,300 oswa te bay lòd memwa siplemantè pou yon òdinatè, ou 1201 00:58:31,300 --> 00:58:33,670 pa ta ka konnen ki andedan nan òdinatè w lan 1202 00:58:33,670 --> 00:58:36,590 se yon bagay ki sanble yon ti kras tankou sa a. 1203 00:58:36,590 --> 00:58:40,540 Se konsa, sa a se jis yon konpayi komen yo te rele Enpòtan ki fè RAM pou òdinatè. 1204 00:58:40,540 --> 00:58:43,620 Apre sa, RAM se kote pwogram viv pandan ke yo ap kouri. 1205 00:58:43,620 --> 00:58:46,630 >> Se konsa, sou chak Mac oswa PC, lè ou double klike sou yon pwogram, epi li ouvè, 1206 00:58:46,630 --> 00:58:48,921 ak li ouvè kèk dokiman Pawòl oswa yon bagay tankou sa yo, 1207 00:58:48,921 --> 00:58:51,764 li estoke li pou yon ti tan nan RAM, paske RAM se pi vit 1208 00:58:51,764 --> 00:58:53,680 pase ki gen kapasite difisil ou a, oswa ki gen kapasite solid eta kote ou. 1209 00:58:53,680 --> 00:58:56,600 Se konsa, li jis ki kote pwogram ale yo viv lè yo ap kouri, 1210 00:58:56,600 --> 00:58:58,060 oswa lè dosye yo te itilize. 1211 00:58:58,060 --> 00:59:00,890 >> Se konsa, ou gen bagay ki gade tankou sa a andedan nan konpitè pòtatif ou, 1212 00:59:00,890 --> 00:59:03,320 oswa yon ti kras pi gwo bagay sa yo andedan nan Desktop ou. 1213 00:59:03,320 --> 00:59:07,440 Men, kle a se ou sèlman gen yon Nimewo fini nan bagay sa yo. 1214 00:59:07,440 --> 00:59:11,230 Apre sa, nan sèlman yon kantite lajan fini nan pyès ki nan konpitè chita sou biwo sa a dwa 1215 00:59:11,230 --> 00:59:11,730 isit la. 1216 00:59:11,730 --> 00:59:15,920 >> Se konsa, siman, nou pa kapab magazen nimewo enfiniman lontan. 1217 00:59:15,920 --> 00:59:19,030 Epi, ankò, si ou panse tounen nan lekòl klas, konbyen chif kapab 1218 00:59:19,030 --> 00:59:21,400 ou gen a dwat a nan yon pwen desimal? 1219 00:59:21,400 --> 00:59:24,680 Pou ki matyè, konbyen chif kapab ou gen a dwat a yon pwen desimal? 1220 00:59:24,680 --> 00:59:26,300 Vrèman, enfiniman anpil. 1221 00:59:26,300 --> 00:59:30,840 >> Koulye a, nou moun ta ka sèlman konnen ki jan yo fè konnen milyon dola, 1222 00:59:30,840 --> 00:59:34,990 ak milya dola, billions, ak kwadrilyon, ak quintillion. 1223 00:59:34,990 --> 00:59:39,370 Apre sa, mwen pouse limit yo nan mwen understanding-- oswa my-- Mwen konprann 1224 00:59:39,370 --> 00:59:41,110 nimewo, men mwen pwononsyasyon nan nimewo. 1225 00:59:41,110 --> 00:59:44,720 Men, yo ka jwenn enfiniman gwo ak chif enfiniman anpil moun bò gòch la 1226 00:59:44,720 --> 00:59:47,050 oswa sou bò dwat la nan yon pwen desimal. 1227 00:59:47,050 --> 00:59:50,040 >> Men, òdinatè sèlman gen yon fini kantite lajan nan memwa, 1228 00:59:50,040 --> 00:59:53,510 yon nimewo fini nan tranzistò, se yon Nimewo fini nan anpoul limyè anndan an. 1229 00:59:53,510 --> 00:59:57,350 Se konsa, sa ki pase lè ou kouri soti nan espas? 1230 00:59:57,350 --> 00:59:59,620 Nan lòt mo, si ou panse tounen nan semèn pase a 1231 00:59:59,620 --> 01:00:03,160 lè nou te pale osijè de nimewo tèt yo ke yo te reprezante nan binè, 1232 01:00:03,160 --> 01:00:05,480 ta kwè ke nou te gen sa a valè 8-bit isit la. 1233 01:00:05,480 --> 01:00:08,290 >> Epi nou gen sèt 1 an ak yon 0. 1234 01:00:08,290 --> 01:00:10,827 Apre sa, ta kwè ke nou vle ajoute 1 a sa a valè. 1235 01:00:10,827 --> 01:00:12,410 Sa a se yon nimewo reyèlman gwo kounye a. 1236 01:00:12,410 --> 01:00:16,610 >> Sa a se 254, si mwen sonje matematik la soti nan dènye dwat semèn. 1237 01:00:16,610 --> 01:00:19,480 Men, e si mwen chanje ki rightmost 0 nan yon 1? 1238 01:00:19,480 --> 01:00:22,800 Nimewo a tout antye, nan kou, vin uit 1 an. 1239 01:00:22,800 --> 01:00:24,050 Se konsa, nou ap toujou bon. 1240 01:00:24,050 --> 01:00:27,204 >> Epi sa pwobableman reprezante 255, menm si tou depann de kontèks 1241 01:00:27,204 --> 01:00:29,120 li te kapab aktyèlman reprezante yon chif negatif. 1242 01:00:29,120 --> 01:00:31,240 Men, plis sou sa yon lòt lè. 1243 01:00:31,240 --> 01:00:34,220 Sa a santi l tankou li a sou kòm yon wo mwen kapab konte. 1244 01:00:34,220 --> 01:00:35,290 >> Koulye a, li a sèlman 8 miyèt moso. 1245 01:00:35,290 --> 01:00:38,170 Ak Mac mwen, siman, gen fason plis pase 8 Bits nan memwa. 1246 01:00:38,170 --> 01:00:39,170 Men, li gen fini. 1247 01:00:39,170 --> 01:00:43,230 Se konsa, agiman an menm aplike, menm si nou gen plis nan timoun sa sou ekran an. 1248 01:00:43,230 --> 01:00:47,020 >> Men, sa ki k ap pase si w ap estoke nimewo sa a, 255, 1249 01:00:47,020 --> 01:00:49,290 , epi ou vle konte 1 ti jan pi wo? 1250 01:00:49,290 --> 01:00:51,600 Ou vle ale soti nan 255 256. 1251 01:00:51,600 --> 01:00:55,800 Pwoblèm nan, nan kou, se ke si ou kòmanse konte nan zewo tankou semèn pase a, 1252 01:00:55,800 --> 01:00:59,670 ou pa ka konte kòm yon wo kòm 256, se pou kont li 257, 1253 01:00:59,670 --> 01:01:02,584 se pou kont li 258, m paske sa k ap pase lè ou ajoute yon 1? 1254 01:01:02,584 --> 01:01:05,000 Si ou fè sa lekòl la fin vye granmoun klas apwòch, ou mete yon 1 isit la, 1255 01:01:05,000 --> 01:01:08,150 ak Lè sa a 1 plis 1 se 2, men sa a reyèlman yon zewo, ou pote 1 an, 1256 01:01:08,150 --> 01:01:09,695 pote 1 an, pote 1 an. 1257 01:01:09,695 --> 01:01:12,620 Tout bagay sa yo, sa yo nan 1, ale nan zewo. 1258 01:01:12,620 --> 01:01:17,820 Epi ou van moute, se wi, kòm yon moun vize deyò, yon 1 sou bò nan men gòch. 1259 01:01:17,820 --> 01:01:22,540 Men, tout sa ou kapab aktyèlman wè ak anfòm nan memwa 1260 01:01:22,540 --> 01:01:27,960 se jis wit 0 a, sa vle di nan kèk pwen si ou, yon òdinatè, 1261 01:01:27,960 --> 01:01:32,490 te eseye konte wo ase moute, w ap ale nan vlope alantou li, li ta sanble, 1262 01:01:32,490 --> 01:01:35,850 a zewo, oswa petèt menm negatif nimewo yo, ki se menm pi ba pase zewo. 1263 01:01:35,850 --> 01:01:37,260 >> Epi nou ka kalite wè sa a. 1264 01:01:37,260 --> 01:01:39,900 Kite m 'ale pi devan epi ekri yon reyèl pwogram rapid isit la. 1265 01:01:39,900 --> 01:01:43,690 Kite m 'ale pi devan epi ekri yon pwogram ki rele Depatman. 1266 01:01:43,690 --> 01:01:49,980 Mete CS50.h, gen ladan yo estanda IO.h-- oh, 1267 01:01:49,980 --> 01:01:51,730 Mwen vrèman rate eklèrsisaj sentaks mwen. 1268 01:01:51,730 --> 01:01:54,440 Se konsa nou sove sa a kòm overflow.c. 1269 01:01:54,440 --> 01:01:57,084 >> Epi, koulye a int void-- prensipal ak anvan lontan, nou pral 1270 01:01:57,084 --> 01:01:59,500 tounen vin jwenn eksplike poukisa nou kenbe ekri int anile prensipal la. 1271 01:01:59,500 --> 01:02:02,080 Men, pou kounye a, se pou yo jis fè li, pran li pou yo akòde. 1272 01:02:02,080 --> 01:02:06,200 Se pou nou bay tèt mwen yon int, ak inisyalize li nan 0. 1273 01:02:06,200 --> 01:02:11,716 >> Se pou nou Lè sa a, fè pou int mwen jwenn zero-- aktyèlman, kite a fè yon riban enfini 1274 01:02:11,716 --> 01:02:12,590 ak wè sa ki rive. 1275 01:02:12,590 --> 01:02:22,440 Pandan ke vre, lè sa a se pou yo enprime soti n se pousan mwen, antislach n, ploge nan n. 1276 01:02:22,440 --> 01:02:27,200 Men, kounye a, se pou yo fè n vin N plis 1. 1277 01:02:27,200 --> 01:02:29,660 >> Se konsa, nan lòt mo, sou chak iterasyon nan riban sa a enfini, 1278 01:02:29,660 --> 01:02:32,550 kite a pran valè N a, epi ajoute 1 nan li, ak Lè sa a 1279 01:02:32,550 --> 01:02:34,350 magazen rezilta a tounen nan n sou bò gòch la. 1280 01:02:34,350 --> 01:02:37,150 Epi, an reyalite, nou te wè sentaks yon ti kras tankou sa a, yon ti tan. 1281 01:02:37,150 --> 01:02:39,730 Yon Trick fre se olye pou nan ekri tout bagay sa a soti, 1282 01:02:39,730 --> 01:02:42,770 ou ka aktyèlman di yon n plis egal 1. 1283 01:02:42,770 --> 01:02:47,480 >> Oswa si ou reyèlman vle yo dwe anpenpan, ou ka di n plis plis semi-kolon. 1284 01:02:47,480 --> 01:02:50,130 Men, sa yo lèt de yo se jis sa nou ta rele Massachusetts Institute of Technology sik 1285 01:02:50,130 --> 01:02:50,790 la pou premye bagay la. 1286 01:02:50,790 --> 01:02:53,456 >> Premye bagay se pi plis klè, totalman amann, totalman kòrèk. 1287 01:02:53,456 --> 01:02:55,470 Men, sa a se pi komen, mwen pral di. 1288 01:02:55,470 --> 01:02:57,210 Se konsa, nou pral fè sa a sèlman pou moman yon. 1289 01:02:57,210 --> 01:03:01,685 >> Se pou nou kounye a fè debòde, ki son olye menasan, dot koupe debòde. 1290 01:03:01,685 --> 01:03:04,380 1291 01:03:04,380 --> 01:03:09,852 Ann wè, n nan ap resevwa trè gwo. 1292 01:03:09,852 --> 01:03:11,310 Men, kite a panse, ki jan gwo ka n jwenn? 1293 01:03:11,310 --> 01:03:12,870 >> n se yon int. 1294 01:03:12,870 --> 01:03:16,400 Nou te wè yon ti moman de sa ak gwosè a nan egzanp ki yon int se kat bytes. 1295 01:03:16,400 --> 01:03:22,070 Nou konnen soti nan semèn pase a, kat bytes se 32 Bits, paske 8 fwa 4, sa a, se 32. 1296 01:03:22,070 --> 01:03:23,460 Sa k ap pase yo dwe 4 milya de dola. 1297 01:03:23,460 --> 01:03:25,802 >> Apre sa, nou yo gen jiska 800,000. 1298 01:03:25,802 --> 01:03:28,510 Sa a se pral pran tout tan yo konte kòm yon wo mwen kapab. 1299 01:03:28,510 --> 01:03:30,635 Se konsa, mwen pral ale pi devan, jan ou ta ka anvan lontan, 1300 01:03:30,635 --> 01:03:34,910 ak frape kontwòl C-- franchman, Kontwòl C, yon anpil, kote kontwòl C jeneralman 1301 01:03:34,910 --> 01:03:36,034 vle di anile. 1302 01:03:36,034 --> 01:03:38,200 Malerezman, paske sa a ap kouri nan nwaj la, 1303 01:03:38,200 --> 01:03:41,190 pafwa nwaj la se voye krache deyò bagay anpil, 1304 01:03:41,190 --> 01:03:44,180 anpil pwodiksyon, li k ap pase yo pran yon ti tan pou D 'm' 1305 01:03:44,180 --> 01:03:45,630 pou li ale nan nwaj la. 1306 01:03:45,630 --> 01:03:49,240 Se konsa, menm si mwen frape Kontwòl C yon kèk segond de sa, 1307 01:03:49,240 --> 01:03:53,110 sa a se definitivman bò a efè nan yon riban enfini. 1308 01:03:53,110 --> 01:03:56,070 >> Se konsa, nan ka sa yo, nou ap pral kite ki dwe. 1309 01:03:56,070 --> 01:03:59,050 E nou pral ajoute yon lòt tèminal fenèt sou isit la 1310 01:03:59,050 --> 01:04:03,186 ak plis nan, ki nan kou pa fè sa tankou sa yo, depi li la toujou panse. 1311 01:04:03,186 --> 01:04:05,310 Li kite yo ale pi devan yo epi yo dwe yon ti kras plis ki rezonab. 1312 01:04:05,310 --> 01:04:07,768 >> Mwen pral ale pi devan epi fè sa a sèlman fini plizyè fwa. 1313 01:04:07,768 --> 01:04:10,047 Se pou nou sèvi ak yon pou riban, ki mwen mansyone pi bonè. 1314 01:04:10,047 --> 01:04:10,630 Se pou yo fè sa a. 1315 01:04:10,630 --> 01:04:13,430 Ban m 'yon lòt Int varyab mwen vin 0. 1316 01:04:13,430 --> 01:04:17,430 mwen se mwens pase, kite a di, 64 m ++. 1317 01:04:17,430 --> 01:04:24,010 Epi, koulye a kite m 'ale pi devan epi ekri an lèt detache soti n se pousan mwen, vigil n. 1318 01:04:24,010 --> 01:04:27,547 Lè sa a, n-- sa a se toujou pral pran pou tout tan. 1319 01:04:27,547 --> 01:04:28,130 Se pou yo fè sa a. 1320 01:04:28,130 --> 01:04:30,620 >> N vin n fwa 2. 1321 01:04:30,620 --> 01:04:34,140 Oubyen èske nou ta ka anpenpan ak fè fwa egal 2. 1322 01:04:34,140 --> 01:04:37,120 Men, kite a jis di n egal tèt li, fwa 2. 1323 01:04:37,120 --> 01:04:39,321 Nan lòt mo, nan ka sa nouvo vèsyon an pwogram nan, 1324 01:04:39,321 --> 01:04:41,820 Mwen pa vle tann pou tout tan soti nan tankou 800,000 nan 4 milya dola. 1325 01:04:41,820 --> 01:04:43,070 Se pou nou jis jwenn sou sa a ak. 1326 01:04:43,070 --> 01:04:44,920 >> Se pou nou aktyèlman double N chak fwa. 1327 01:04:44,920 --> 01:04:47,660 Ki, sonje, double se nan opoze a gen, nan kou. 1328 01:04:47,660 --> 01:04:50,035 Apre sa, antan semèn pase a nou gen yon bagay ankò, e ankò, 1329 01:04:50,035 --> 01:04:52,200 e ankò, Super vit, double pral siman 1330 01:04:52,200 --> 01:04:58,080 jwenn nou nan 1 rive nan pi gwo posib la valè ke nou ka konte rive sou ak yon int. 1331 01:04:58,080 --> 01:04:59,750 >> Se konsa nou fè egzakteman sa a. 1332 01:04:59,750 --> 01:05:01,720 Epitou, n ap tounen nan sa a vin jwenn mwen anvan lontan. 1333 01:05:01,720 --> 01:05:04,180 Men, sa a, ankò, se jis tankou blòk la repete nan grafonyen moun. 1334 01:05:04,180 --> 01:05:05,600 Men, ou pral sèvi ak sa a anvan lontan. 1335 01:05:05,600 --> 01:05:10,170 >> Sa a jis vle di konte soti nan zewo jiska, men se pa egal, ak 64. 1336 01:05:10,170 --> 01:05:14,285 Yo, epi sou chak iterasyon nan sa a riban, jis kenbe incrementing mwen. 1337 01:05:14,285 --> 01:05:18,990 Se konsa, mwen ++ - ak konstwi jeneral sa a sou liy 7 se jis yon fason super komen 1338 01:05:18,990 --> 01:05:22,290 k ap repete kèk liy nan Kòd, gen kèk kantite fwa. 1339 01:05:22,290 --> 01:05:23,362 Ki liy nan kòd? 1340 01:05:23,362 --> 01:05:25,570 Sa yo aparèy òtopedik Curly, menm jan ou ka te rete ranmase grap lòj nan kounye a, 1341 01:05:25,570 --> 01:05:26,780 vle di, fè sa ki annapre yo. 1342 01:05:26,780 --> 01:05:29,510 >> Li nan nan tankou grafouyen, lè li gen blòk yo jòn 1343 01:05:29,510 --> 01:05:32,680 ak lòt koulè ki kalite anbrase oswa anbrase lòt blòk. 1344 01:05:32,680 --> 01:05:34,750 Sa a ki sa moun Curly aparèy òtopedik ap fè isit la. 1345 01:05:34,750 --> 01:05:40,200 Se konsa, si mwen te resevwa sentaks mwen regleman ou ka wè senbòl la kawòt nan C vle di 1346 01:05:40,200 --> 01:05:42,706 sa a, se konbyen fwa mwen te ap eseye rezoud pwoblèm sa a. 1347 01:05:42,706 --> 01:05:45,330 Se konsa nou debarase m de ke yon moun nèt, epi fèmen ki fenèt. 1348 01:05:45,330 --> 01:05:46,520 Epitou, n ap sèvi ak youn nan nouvo. 1349 01:05:46,520 --> 01:05:51,980 Fè debòde, dot koupe debòde, Antre, tout dwa, 1350 01:05:51,980 --> 01:05:53,090 li sanble move nan premye. 1351 01:05:53,090 --> 01:05:56,200 Men, kite a woulo liv tounen nan tan, paske mwen te fè sa a 64 fwa. 1352 01:05:56,200 --> 01:05:58,700 >> Apre sa, remake premye fwa, n se 1. 1353 01:05:58,700 --> 01:06:03,110 Dezyèm fwa, n se 2, Lè sa a, 4, Lè sa a, 8, Lè sa a, 16. 1354 01:06:03,110 --> 01:06:09,450 Epi li sanble ke pi vit ke Mwen jwenn yo apeprè 1 milya dola, 1355 01:06:09,450 --> 01:06:12,800 si mwen double l 'ankò, ki ta dwe bay m '2 milya dola. 1356 01:06:12,800 --> 01:06:14,980 Men, li vire soti, li la dwa sou Point a. 1357 01:06:14,980 --> 01:06:18,930 >> Se konsa, li aktyèlman kontan yon int soti nan 1 milya dola 1358 01:06:18,930 --> 01:06:23,514 apeprè negatif 2 milya dola, paske yon nonb antye relatif, 1359 01:06:23,514 --> 01:06:25,430 kontrèman ak nimewo nou an te an konsideran semèn pase a, 1360 01:06:25,430 --> 01:06:28,397 ka tou de pozitif ak negatif an reyalite ak nan yon òdinatè. 1361 01:06:28,397 --> 01:06:30,730 Se konsa, omwen youn nan moun ki Bits se efektivman yo vòlè li. 1362 01:06:30,730 --> 01:06:34,190 Se konsa, nou reyèlman sèlman gen 31 Bits, oswa 2 milya dola valè posib. 1363 01:06:34,190 --> 01:06:38,220 >> Men, pou kounye a, Takeaway a se byen tou senpleman, tou sa nimewo sa yo, se 1364 01:06:38,220 --> 01:06:42,280 ak tou sa matematik an se, yon move bagay k ap pase evantyèlman, 1365 01:06:42,280 --> 01:06:46,980 paske evantyèlman ou yo ap eseye pèrmute Bits yo yon sèl twò anpil fwa. 1366 01:06:46,980 --> 01:06:51,060 Epi ou efektivman ale nan tout 1 nan petèt tout 0 a, oswa petèt 1367 01:06:51,060 --> 01:06:54,260 jis kèk lòt modèl ke li klèman, tou depann de kontèks, 1368 01:06:54,260 --> 01:06:56,342 yo ka entèprete kòm yon chif negatif. 1369 01:06:56,342 --> 01:06:59,300 Se konsa, li ta sanble mwen ki pi wo ka konte nan pwogram sa a an patikilye 1370 01:06:59,300 --> 01:07:01,210 se sèlman apeprè 1 milya dola. 1371 01:07:01,210 --> 01:07:02,760 Men, gen nan yon solisyon pasyèl isit la. 1372 01:07:02,760 --> 01:07:03,480 Ou konnen ki sa? 1373 01:07:03,480 --> 01:07:07,600 >> Kite m 'chanje soti nan yon int nan yon long lontan. 1374 01:07:07,600 --> 01:07:10,633 Ak kite m 'ale pi devan isit la ak say-- mwen pral gen 1375 01:07:10,633 --> 01:07:12,290 chanje sa a nan yon long siye. 1376 01:07:12,290 --> 01:07:16,860 Oswa, kite a wè, mwen pa janm sonje tèt mwen. 1377 01:07:16,860 --> 01:07:19,920 >> Se pou nou ale pi devan epi fè debòde. 1378 01:07:19,920 --> 01:07:21,860 Non, sa a, se pa li, LLD, di ou mèsi. 1379 01:07:21,860 --> 01:07:23,430 Se konsa, pafwa rezone kapab ede anpil. 1380 01:07:23,430 --> 01:07:27,550 Mwen pa t 'sonje sa fòma a Dvi te pou yon tan long. 1381 01:07:27,550 --> 01:07:28,950 >> Men, tout bon, rezone di m '. 1382 01:07:28,950 --> 01:07:31,570 Green se kèk kalite bon, toujou vle di ou fè yon erè. 1383 01:07:31,570 --> 01:07:33,190 Li nan devine ke mwen vle di LLD. 1384 01:07:33,190 --> 01:07:38,750 >> Se konsa, kite m 'pran li nan konsèy, yon long lontan nonb desimal, sove sa. 1385 01:07:38,750 --> 01:07:43,190 Ak kite m 'relance li, dot koupe debòde, Antre nan. 1386 01:07:43,190 --> 01:07:45,020 Epi, koulye a sa ki nan fre se sa a. 1387 01:07:45,020 --> 01:07:49,140 >> Si m 'woulo liv tounen nan tan, nou toujou kòmanse konte nan menm place-- a 1, 2, 4, 1388 01:07:49,140 --> 01:07:50,220 8, 16. 1389 01:07:50,220 --> 01:07:54,860 Avi, nou jwenn tout nan fason jiska 1 milya dola. 1390 01:07:54,860 --> 01:07:57,070 Men, lè sa a nou san danje jwenn nan 2 milya dola. 1391 01:07:57,070 --> 01:08:01,300 >> Lè sa a, nou jwenn nan 4 milya dola, Lè sa a, 8 milya dola, 17 milya dola. 1392 01:08:01,300 --> 01:08:03,340 Apre sa, nou ale pi wo, ak pi wo, ak pi wo. 1393 01:08:03,340 --> 01:08:05,740 Evantyèlman, sa a, tou, repo. 1394 01:08:05,740 --> 01:08:09,350 >> Evantyèlman, ak yon long long, ki se valè a 64-ti jan, pa 1395 01:08:09,350 --> 01:08:13,660 se yon valè 32-ti jan, si ou konte twò wo, ou vlope toutotou 0. 1396 01:08:13,660 --> 01:08:16,410 Ak nan ka sa a, nou rive fini ak yon chif negatif. 1397 01:08:16,410 --> 01:08:17,550 >> Se konsa, sa a se yon pwoblèm. 1398 01:08:17,550 --> 01:08:20,439 Epi li vire soti ke sa a pwoblèm se pa tout sa ki Esoteric. 1399 01:08:20,439 --> 01:08:23,060 Menm si mwen te fè espre pwovoke l 'ak erè sa yo, 1400 01:08:23,060 --> 01:08:26,149 li vire soti nou wè li kalite tout bò kote nou, oswa omwen kèk nan nou fè. 1401 01:08:26,149 --> 01:08:28,939 >> Se konsa, nan Lego Star Lagè, si ou janm te jwe jwèt la, 1402 01:08:28,939 --> 01:08:33,830 li vire soti ou ka ale nan kraze bagay yo nan mond LEGO, 1403 01:08:33,830 --> 01:08:36,640 ak kolekte pyès monnen, esansyèlman. 1404 01:08:36,640 --> 01:08:39,200 Men, si ou te janm te jwe jwèt sa a fason twò anpil tan, 1405 01:08:39,200 --> 01:08:42,630 kòm moun sa a anonim isit la te fè, kantite total 1406 01:08:42,630 --> 01:08:46,700 nan pyès monnen ke ou ka kolekte se, li ta sanble, 4 milya de dola. 1407 01:08:46,700 --> 01:08:48,240 >> Koulye a, ak li la aktyèlman balanse. 1408 01:08:48,240 --> 01:08:50,239 Se konsa, LEGO te ap eseye kenbe bagay sa yo itilizatè zanmitay. 1409 01:08:50,239 --> 01:08:53,779 Yo pa t 'fè l' egzakteman 2 a pouvwa a 32, pou chak semèn pase a. 1410 01:08:53,779 --> 01:08:55,310 Men, 4 milya de dola se yon rezon. 1411 01:08:55,310 --> 01:08:58,979 Li sanble, ki baze sou enfòmasyon sa a, ki LEGO, ak konpayi an ki 1412 01:08:58,979 --> 01:09:02,624 te fè lojisyèl aktyèl sa a, deside ki la pou maksimòm kantite pyès monnen 1413 01:09:02,624 --> 01:09:04,540 itilizatè a kapab akimile se, tout bon, 4 milya dola, 1414 01:09:04,540 --> 01:09:12,069 paske yo te chwazi nan kòd yo yo sèvi ak pa yon long long, aparamman, 1415 01:09:12,069 --> 01:09:16,140 men jis yon nonb antye relatif, yon siye nonb antye relatif, se sèlman yon nonb antye relatif pozitif, ki gen 1416 01:09:16,140 --> 01:09:18,089 max valè apeprè sa. 1417 01:09:18,089 --> 01:09:19,380 Oke, isit la nan yon lòt yon sèl amizan. 1418 01:09:19,380 --> 01:09:23,500 Se konsa, nan jwèt Sivilizasyon an, ki kèk nan ou ta ka dwe abitye, ak 1419 01:09:23,500 --> 01:09:26,660 li sanble ke ane de sa gen te yon ensèk nan sa a annakò ak sa jwèt 1420 01:09:26,660 --> 01:09:28,750 si ou te jwe wòl nan nan Gandhi nan jwèt la, 1421 01:09:28,750 --> 01:09:34,020 olye pou yo l 'yo te trè pasifik, olye pou te ekstrèmman, ekstrèmman 1422 01:09:34,020 --> 01:09:36,399 agresif, nan kèk sikonstans. 1423 01:09:36,399 --> 01:09:40,529 An patikilye, fason ke Sivilizasyon travay se ke si ou, jwè a, 1424 01:09:40,529 --> 01:09:44,680 adopte demokrasi, ou avantur nòt vin 1425 01:09:44,680 --> 01:09:48,130 dekremante pa de, se konsa mwens mwens, ak Lè sa a mwens mwens. 1426 01:09:48,130 --> 01:09:50,569 >> Se konsa, ou fè soustraksyon 2 soti nan iteration aktyèl ou yo. 1427 01:09:50,569 --> 01:09:56,650 Malerezman, si ou se iteration okòmansman 1, epi ou fè soustraksyon 2 soti nan li 1428 01:09:56,650 --> 01:09:59,050 apre adopte demokrasi kòm Gandhi isit la ta ka 1429 01:09:59,050 --> 01:10:02,200 te fè, paske li te gen anpil passive-- 1 sou echèl la nan avantur. 1430 01:10:02,200 --> 01:10:04,830 Men, si li adopte demokrasi, Lè sa a, li ale nan 1 rive nan negatif 1. 1431 01:10:04,830 --> 01:10:11,470 >> Malerezman, yo te lè l sèvi avèk nimewo siye, 1432 01:10:11,470 --> 01:10:15,400 ki vle di yo trete menm negatif nimewo tankou si yo te pozitif. 1433 01:10:15,400 --> 01:10:19,780 Epi li vire soti ki nan ekivalan pozitif nan negatif 1, 1434 01:10:19,780 --> 01:10:23,480 nan pwogram òdinatè tipik, se 255. 1435 01:10:23,480 --> 01:10:27,250 Se konsa, si Gandhi adopte demokrasi, ak Se poutèt sa gen 1436 01:10:27,250 --> 01:10:32,470 nòt avantur l 'diminye, li aktyèlman woulo alantou nan 255 1437 01:10:32,470 --> 01:10:35,470 ak fè l 'pi plis nan agresif karaktè nan jwèt la. 1438 01:10:35,470 --> 01:10:36,930 Se konsa, ou ka Google moute sou sa a. 1439 01:10:36,930 --> 01:10:39,380 Epi li te, tout bon, yon aksidan pwogram ensèk, 1440 01:10:39,380 --> 01:10:43,010 men sa a te antre nan byen Fòlklò nan depi tout tan. 1441 01:10:43,010 --> 01:10:44,360 >> Sa a tout plezi ak bèl. 1442 01:10:44,360 --> 01:10:47,760 Plis pè se lè aktyèl aparèy mond reyèl, epi yo pa jwèt, 1443 01:10:47,760 --> 01:10:48,820 gen sa yo pinèz menm. 1444 01:10:48,820 --> 01:10:54,500 An reyalite, jis yon ane de sa yon atik rive soti sou Boeing 787 Dreamliner la. 1445 01:10:54,500 --> 01:10:56,850 >> Apre sa, atik la an premye ti koutje sou li yon ti kras Esoteric. 1446 01:10:56,850 --> 01:11:01,480 Men, li di yo sa, yon lojisyèl vilnerabilite nan Boeing a 1447 01:11:01,480 --> 01:11:04,790 nouvo 787 Dreamliner jè gen potansyèl la yo lakòz pilòt 1448 01:11:04,790 --> 01:11:07,220 pèdi kontwòl nan avyon an, petèt 1449 01:11:07,220 --> 01:11:11,750 nan mid-flight, chèf yo FAA te avèti konpayi avyon dènyèman. 1450 01:11:11,750 --> 01:11:14,520 Li te detèminasyon an ki yon modèl 787 1451 01:11:14,520 --> 01:11:19,770 avyon ki te mache ak pil kontinyèlman pou 248 jou 1452 01:11:19,770 --> 01:11:24,880 ka pèdi tout aktyèl altène, AC, kouran elektrik akòz dèlko a 1453 01:11:24,880 --> 01:11:28,892 inite kontwòl, GCUs, ansanm pral antre nan fail san danje mòd. 1454 01:11:28,892 --> 01:11:29,850 Li nan kalite pèdi m '. 1455 01:11:29,850 --> 01:11:35,390 Men, memo an deklare, OK, koulye a, mwen te resevwa sa, te kondisyon an ki te koze pa yon lojisyèl 1456 01:11:35,390 --> 01:11:38,590 vann san preskripsyon entèn yo kontwòl nan dèlko 1457 01:11:38,590 --> 01:11:44,860 inite ki pral debòde apre 248 jou ki gen pouvwa kontinyèl. 1458 01:11:44,860 --> 01:11:47,070 Nou ap founi dokiman yo sa a remake yo anpeche pèdi 1459 01:11:47,070 --> 01:11:49,300 nan tout AC elektrik pouvwa a, ki ka rezilta 1460 01:11:49,300 --> 01:11:50,980 nan pèt nan kontwòl nan avyon an. 1461 01:11:50,980 --> 01:11:55,380 >> Se konsa, literalman, gen kèk nonb antye relatif, oswa kèk ekivalan done kalite, 1462 01:11:55,380 --> 01:11:57,960 te itilize nan lojisyèl nan yon avyon aktyèl 1463 01:11:57,960 --> 01:12:00,756 ke si ou kenbe avyon ou sou lontan ase, ki aparamman 1464 01:12:00,756 --> 01:12:03,880 kapab ka a si w ap sèlman kouri yo toujou ap epi pa janm debranche 1465 01:12:03,880 --> 01:12:06,810 avyon ou, li sanble, oswa kite pil li yo mouri, 1466 01:12:06,810 --> 01:12:09,840 pral evantyèlman konte moute, li leve, ak moute, li leve, li leve, li leve. 1467 01:12:09,840 --> 01:12:12,150 >> Epi, pa nati, yon fini kantite lajan nan memwa 1468 01:12:12,150 --> 01:12:15,880 pral debòde, woule tounen nan zewo oswa kèk negatif valè, 1469 01:12:15,880 --> 01:12:19,920 yon efè segondè nan ki se nan frighteningly reyèl reyalite 1470 01:12:19,920 --> 01:12:23,970 ke avyon an ta ka bezwen yo dwe demare, efektivman, 1471 01:12:23,970 --> 01:12:27,290 oswa ta ka tonbe, vin pi mal, kòm li ta vole. 1472 01:12:27,290 --> 01:12:29,230 Se konsa, sa yo kalite pwoblèm yo toujou avèk nou, 1473 01:12:29,230 --> 01:12:33,130 even-- sa a te yon atik nan yon 2015, plis pè nan tout 1474 01:12:33,130 --> 01:12:36,100 lè ou fè pa nesesèman konprann, apresye, oswa antisipe 1475 01:12:36,100 --> 01:12:38,640 sa yo kalite erè. 1476 01:12:38,640 --> 01:12:42,030 >> Se konsa, li vire soti gen nan yon lòt move bagay sou done reprezantasyon. 1477 01:12:42,030 --> 01:12:47,080 Li sanble ke menm flote yo kalite defekte, paske flote, tou, 1478 01:12:47,080 --> 01:12:51,440 Mwen pwopoze yo 32 Bits, oswa petèt 64 si ou itilize yon doub. 1479 01:12:51,440 --> 01:12:53,070 Men, sa a toujou fini. 1480 01:12:53,070 --> 01:12:57,070 >> Apre sa, trape an se ke si ou kapab mete yon nonb infini nan nimewo 1481 01:12:57,070 --> 01:12:59,460 apre pwen an desimal, pa gen okenn fason ou 1482 01:12:59,460 --> 01:13:02,690 ka reprezante tout sa ki posib nan nimewo ki nou te anseye 1483 01:13:02,690 --> 01:13:04,990 nan klas lekòl ka egziste nan mond lan. 1484 01:13:04,990 --> 01:13:08,870 Yon òdinatè, esansyèlman, te chwazi yon sou nan moun ki nimewo 1485 01:13:08,870 --> 01:13:10,200 ki reprezante avèk presizyon. 1486 01:13:10,200 --> 01:13:12,450 >> Koulye a, òdinatè a kapab wonn petèt yon ti jan, 1487 01:13:12,450 --> 01:13:17,900 epi yo ka pèmèt ou apeprè magazen nenpòt ki kantite ou ta ka pètèt vle. 1488 01:13:17,900 --> 01:13:20,940 Men, jis entwitif, si ou gen yon nimewo fini nan Bits, 1489 01:13:20,940 --> 01:13:24,560 ou ka sèlman pèrmute yo nan anpil fason fini. 1490 01:13:24,560 --> 01:13:26,570 Se konsa, ou pa kapab pètèt sèvi ak yon nimewo fini 1491 01:13:26,570 --> 01:13:29,880 nan pèmitasyon nan Bits, modèl nan zewo ak moun yo, 1492 01:13:29,880 --> 01:13:32,940 ki reprezante yon enfini Nimewo nan nimewo, 1493 01:13:32,940 --> 01:13:37,370 ki sijere ke òdinatè ta ka trè byen se kouche yo ban nou pafwa. 1494 01:13:37,370 --> 01:13:38,770 >> An reyalite, se pou yo fè sa. 1495 01:13:38,770 --> 01:13:41,239 Kite m 'ale tounen nan CS50 IDE. 1496 01:13:41,239 --> 01:13:43,030 Kite m 'ale pi devan epi kreye yon pwogram ti kras 1497 01:13:43,030 --> 01:13:47,940 rele enpresizyon, yo montre ki òdinatè yo, tout bon, enpresizyon. 1498 01:13:47,940 --> 01:13:51,910 >> Ak kite m 'ale pi devan epi kòmanse ak kèk nan ki Kòd yo devan, 1499 01:13:51,910 --> 01:13:53,830 e kounye a, jis fè sa ki annapre yo. 1500 01:13:53,830 --> 01:14:03,640 Kite m 'ale pi devan epi fè printf, pousan f, antislach n, 1 divize pa 10. 1501 01:14:03,640 --> 01:14:07,430 Nan lòt mo, se pou yo plonje nan pi fon 1/10, tankou 1 ak divize pa 10. 1502 01:14:07,430 --> 01:14:09,760 Se vre wi, yon òdinatè ka reprezante 1/10. 1503 01:14:09,760 --> 01:14:13,620 >> Se konsa nou ale pi devan epi fè enpresizyon. 1504 01:14:13,620 --> 01:14:14,390 Ann wè. 1505 01:14:14,390 --> 01:14:16,210 Fòma espesifye tape doub. 1506 01:14:16,210 --> 01:14:18,160 Men, agiman an gen kalite int. 1507 01:14:18,160 --> 01:14:19,040 Sa k pase? 1508 01:14:19,040 --> 01:14:21,970 >> Oh, enteresan, se konsa li nan yon leson aprann nan anvan. 1509 01:14:21,970 --> 01:14:26,050 M ap di, hey, montre òdinatè m 'yon flote ak pousan f. 1510 01:14:26,050 --> 01:14:28,200 Men, mwen bay li 2 antye. 1511 01:14:28,200 --> 01:14:31,120 Se konsa, li vire soti, mwen kapab ranje sa a nan yon koup nan fason. 1512 01:14:31,120 --> 01:14:38,430 >> Mwen te kapab jis vire yon sèl nan 1.0, ak 10 nan 10.0, ki ta, tout bon, 1513 01:14:38,430 --> 01:14:42,390 gen efè a nan konvèti yo nan floats-- toujou èspere ke 1514 01:14:42,390 --> 01:14:43,180 menm nimewo a. 1515 01:14:43,180 --> 01:14:45,880 Oswa li vire soti gen nan yon bagay nou pral wè ankò anvan lontan. 1516 01:14:45,880 --> 01:14:47,170 Ou te kapab jete nimewo yo. 1517 01:14:47,170 --> 01:14:49,880 >> Ou ka, lè l sèvi avèk parantèz sa a ekspresyon, ou ka di, 1518 01:14:49,880 --> 01:14:52,560 hey, òdinatè, pran sa a 10, ki mwen konnen se yon int. 1519 01:14:52,560 --> 01:14:54,660 Men, trete li, tanpri, tankou si li nan yon flote. 1520 01:14:54,660 --> 01:14:56,680 Men, sa a santi l san nesesite konplèks. 1521 01:14:56,680 --> 01:14:59,040 >> Pou rezon nou an jodi a, kite yo jis literalman 1522 01:14:59,040 --> 01:15:02,700 fè yo k ap flote valè pwen ak yon pwen desimal, tankou sa a. 1523 01:15:02,700 --> 01:15:07,060 Kite m 'ale pi devan epi relance, fè enpresizyon, bon, dot koupe 1524 01:15:07,060 --> 01:15:08,870 enpresizyon, antre nan. 1525 01:15:08,870 --> 01:15:10,990 OK, nou ap chèche bon. 1526 01:15:10,990 --> 01:15:18,194 >> 1 divize pa 10, dapre mwen Mac isit la, se, tout bon, 0,100000. 1527 01:15:18,194 --> 01:15:21,360 Koulye a, mwen te anseye nan lekòl klas yo gen yo ta dwe yon nonb infini nan 0 a. 1528 01:15:21,360 --> 01:15:23,151 Se konsa nou omwen eseye yo wè kèk nan sa yo. 1529 01:15:23,151 --> 01:15:26,770 Li sanble ke printf se yon ti kras amateur toujou pase nou ve yo te lè l sèvi avèk. 1530 01:15:26,770 --> 01:15:30,890 Li sanble ou pa bezwen presize jis pousan f, oswa jis pousan mwen. 1531 01:15:30,890 --> 01:15:33,830 Ou ka aktyèlman presize kèk opsyon kontwòl isit la. 1532 01:15:33,830 --> 01:15:36,470 >> Espesyalman, mwen pral vle di, hey, printf, 1533 01:15:36,470 --> 01:15:39,660 aktyèlman montre m 10 pwen desimal. 1534 01:15:39,660 --> 01:15:40,820 Se konsa, li sanble yon ti kras etranj. 1535 01:15:40,820 --> 01:15:42,845 Men, ou di pousan, dot, nimewo konbyen 1536 01:15:42,845 --> 01:15:44,970 ou vle wè apre a pwen desimal, ak Lè sa a f 1537 01:15:44,970 --> 01:15:48,340 pou plat, jis paske sa a, se sa dokiman an di. 1538 01:15:48,340 --> 01:15:50,080 Kite m 'ale pi devan epi sove sa. 1539 01:15:50,080 --> 01:15:52,460 >> Apre sa, remake tou, mwen ap resevwa fatige nan retyping bagay sa yo. 1540 01:15:52,460 --> 01:15:55,900 Se konsa, mwen jis mete kanpe la ak desann flèch sou kle m 'isit la. 1541 01:15:55,900 --> 01:15:58,710 Men, si mwen kenbe frape moute, ou ka wè tout nan kòmandman yo 1542 01:15:58,710 --> 01:16:01,090 ke mwen te fè, oswa mal fè fè yo. 1543 01:16:01,090 --> 01:16:04,630 >> Apre sa, mwen pral ale pi devan kounye a epi yo pa aktyèlman sèvi ak sa, aparamman. 1544 01:16:04,630 --> 01:16:11,416 Fè enpresizyon, dot koupe imprecision-- se konsa 1545 01:16:11,416 --> 01:16:13,290 sa m 'te anseye nan lekòl klas chèk deyò. 1546 01:16:13,290 --> 01:16:19,010 Menm si mwen enprime li a 10 desimal mete l ', tout bon, se 0,10000. 1547 01:16:19,010 --> 01:16:19,840 Men, ou konnen ki sa? 1548 01:16:19,840 --> 01:16:21,150 >> Se pou nou jwenn yon ti kras visye. 1549 01:16:21,150 --> 01:16:23,990 Se pou nou di, tankou, montre m 55 pwen apre desimal la. 1550 01:16:23,990 --> 01:16:26,160 Se pou nou reyèlman pran sa a pwogram deyò pou yon vire. 1551 01:16:26,160 --> 01:16:31,170 Kite m 'renouvèlman l' ak fè enpresizyon, dot koupe, enpresizyon. 1552 01:16:31,170 --> 01:16:32,390 >> Ak isit la nou ale. 1553 01:16:32,390 --> 01:16:34,420 timoun ou te yon manti. 1554 01:16:34,420 --> 01:16:48,410 Aparamman, 1 divize pa 10 se vre 0.100000000000000005551115123-- 1555 01:16:48,410 --> 01:16:49,740 >> Ki sa ki ale sou? 1556 01:16:49,740 --> 01:16:53,360 Oke, li vire soti, si ou kalite gade byen lwen ase soti nan kache nan 1557 01:16:53,360 --> 01:16:55,950 reprezantasyon nan sa a nimewo, li aktyèlman 1558 01:16:55,950 --> 01:17:00,400 se pa egzakteman 1/10, oswa 0.1 ak yon nonb infini nan zewo. 1559 01:17:00,400 --> 01:17:01,630 Koulye a, poukisa se sa? 1560 01:17:01,630 --> 01:17:06,250 >> Oke, menm si sa a se yon senp Nimewo yo ban nou moun, 1 divize pa 10, 1561 01:17:06,250 --> 01:17:10,910 li la toujou youn nan enfiniman anpil nimewo ke nou te kapab panse moute. 1562 01:17:10,910 --> 01:17:14,490 Men, yon òdinatè ka sèlman reprezante fini anpil nimewo sa. 1563 01:17:14,490 --> 01:17:18,710 Se konsa, efektivman, ki sa a òdinatè ki montre nou se pi pre li yo 1564 01:17:18,710 --> 01:17:22,940 apwoksimasyon ak kantite nou vle kwè se 1/10, 1565 01:17:22,940 --> 01:17:27,760 oswa reyèlman 0,10000 Enfini Ad. 1566 01:17:27,760 --> 01:17:30,425 >> Olye de sa, menm si, sa a se tankou fèmen ke li ka jwenn. 1567 01:17:30,425 --> 01:17:32,300 Epi, tout bon, si ou gade anba kapo a, 1568 01:17:32,300 --> 01:17:37,050 kòm nou yo isit la pa gade 55 chif apre desimal la, 1569 01:17:37,050 --> 01:17:39,990 nou aktyèlman wè ke reyalite. 1570 01:17:39,990 --> 01:17:42,610 Koulye a, kòm yon sou kote, si ou te janm wè an fim nan 1571 01:17:42,610 --> 01:17:45,780 pi fò nan pwobableman ou have not men devni selèb 3 kèk ane de sa, 1572 01:17:45,780 --> 01:17:49,500 Richard Pryor esansyèlman exploitées sa a reyalite nan konpayi li a yo nan vole yon anpil 1573 01:17:49,500 --> 01:17:53,500 nan fraksyon ak fraksyon nan peni, paske company-- nan jan mwen sonje, 1574 01:17:53,500 --> 01:17:57,210 li te gen yon while-- te esansyèlman jete nenpòt ki bagay ki pa t 'anfòm 1575 01:17:57,210 --> 01:17:58,790 nan nosyon de santim. 1576 01:17:58,790 --> 01:18:01,480 >> Men, si ou ajoute jiska tout bagay sa yo ti, ti, nimewo ti ankò, 1577 01:18:01,480 --> 01:18:04,960 e ankò, e ankò, ou kapab, tankou nan ka l ', fè yon kantite bon lajan. 1578 01:18:04,960 --> 01:18:08,010 >> Sa lide menm te chire koupe pa yon pi resan, men yo toujou kounye a ki pi gran 1579 01:18:08,010 --> 01:18:10,500 fim, ki rele Biwo Espas, kote mesye yo nan ki fim, 1580 01:18:10,500 --> 01:18:13,501 fè menm bagay la, vise l 'kanpe konplètman, te fini ak fason twòp 1581 01:18:13,501 --> 01:18:14,666 lajan nan kont labank yo. 1582 01:18:14,666 --> 01:18:15,800 Li te tout trè sispèk. 1583 01:18:15,800 --> 01:18:19,290 Men, nan fen jounen an, enpresizyon se tout bò kote nou. 1584 01:18:19,290 --> 01:18:22,240 >> Epi ki, tou, kapab frighteningly ka-a. 1585 01:18:22,240 --> 01:18:25,590 Li sanble ke devni selèb 3 ak Biwo Espas sou kote, gen 1586 01:18:25,590 --> 01:18:28,460 ka gen kèk anpil reyèl divizyon mond 1587 01:18:28,460 --> 01:18:32,290 nan reyalite yo nan enpresizyon reprezantasyon nan done 1588 01:18:32,290 --> 01:18:34,770 ke menm nou moun jòdi a fè pa nesesèman 1589 01:18:34,770 --> 01:18:38,230 konprann osi byen ke nou ta dwe, oswa sonje osi souvan sa nou ta dwe. 1590 01:18:38,230 --> 01:18:42,950 Epi, tout bon, clip ki anba la a se ki sòti nan yon gade nan kèk mond anpil reyèl 1591 01:18:42,950 --> 01:18:47,730 divizyon nan sa k ap pase si ou pa apresye enpresizyon a ki 1592 01:18:47,730 --> 01:18:50,065 ka rive nan nimewo reprezantasyon. 1593 01:18:50,065 --> 01:18:51,300 >> [VIDEO lèktur] 1594 01:18:51,300 --> 01:18:55,620 >> -Computers, Nou te tout vini nan aksepte pwoblèm sa yo souvan fwistre ki 1595 01:18:55,620 --> 01:19:00,310 ale ak pinèz them--, viris, ak pepen lojisyèl, 1596 01:19:00,310 --> 01:19:03,130 pou pri ti peye pou konvenyans nan. 1597 01:19:03,130 --> 01:19:07,800 Men, nan teknoloji segondè, epi gwo vitès militè yo ak pwogram espas aplikasyon pou, 1598 01:19:07,800 --> 01:19:12,800 pwoblèm ki pi piti a kapab gen gwo pouvwa nan dezas. 1599 01:19:12,800 --> 01:19:18,900 >> Sou jen 4yèm, 1996, syantis prepare lanse yon sans aryan 5 fize. 1600 01:19:18,900 --> 01:19:21,220 Li te pote syantifik satelit fèt 1601 01:19:21,220 --> 01:19:24,600 nan etabli jisteman la ki jan mayetik reyaji jaden tè ​​a 1602 01:19:24,600 --> 01:19:27,410 ak van solè. 1603 01:19:27,410 --> 01:19:30,800 te fize a bati pou Ajans la Espas Ewopeyen an, 1604 01:19:30,800 --> 01:19:34,370 ak leve li nan mitan etablisman li yo sou kòt la nan franse gwiyane. 1605 01:19:34,370 --> 01:19:37,540 >> -Nan Sou 37 segonn nan vòl la, yo te premye 1606 01:19:37,540 --> 01:19:39,270 remake yon bagay te ale mal. 1607 01:19:39,270 --> 01:19:42,250 ajutaj yo te tournan nan yon fason yo te reyèlman pa ta dwe. 1608 01:19:42,250 --> 01:19:46,580 Anviwon 40 segonn nan vòl la, byen klè, machin nan te nan tray. 1609 01:19:46,580 --> 01:19:48,850 >> Epi sa a, lè yo te fè yon desizyon detwi l '. 1610 01:19:48,850 --> 01:19:52,780 Ofisye a sekirite ranje, ak entesten fòmidab, bourade bouton an, 1611 01:19:52,780 --> 01:19:58,150 kònen moute fize a, anvan li te kapab vin yon danje nan sekirite piblik la. 1612 01:19:58,150 --> 01:20:01,060 >> -Sa A te jenn fi a vwayaj nan aryan a 5. 1613 01:20:01,060 --> 01:20:03,960 Ak destriksyon li yo te pran mete paske yo gen yon defo 1614 01:20:03,960 --> 01:20:05,822 entegre nan lojisyèl fize la. 1615 01:20:05,822 --> 01:20:08,280 pwoblèm -La sou aryan a te ke te gen yon nimewo ki 1616 01:20:08,280 --> 01:20:10,600 mande 64 Bits eksprime sa yo panse. 1617 01:20:10,600 --> 01:20:13,590 Apre sa, yo te vle konvèti li nan yon kantite 16-ti jan. 1618 01:20:13,590 --> 01:20:15,610 Yo sipoze ke nan Nimewo pa te janm ale 1619 01:20:15,610 --> 01:20:20,980 yo dwe trè gwo, ki pi fò nan moun chif nan yon nonb 64-ti jan te zero. 1620 01:20:20,980 --> 01:20:22,440 Yo te mal. 1621 01:20:22,440 --> 01:20:25,060 >> -La Enkapasite nan yon sèl pwogram lojisyèl aksepte 1622 01:20:25,060 --> 01:20:29,510 ki kalite nimewo ki te pwodwi pa yon lòt te nan rasin lan nan fayit la. 1623 01:20:29,510 --> 01:20:34,350 devlopman lojisyèl te vin yon trè koute chè yon pati nan nouvo teknoloji. 1624 01:20:34,350 --> 01:20:38,140 te fize a aryan te trè siksè, se konsa anpil nan lojisyèl an 1625 01:20:38,140 --> 01:20:41,550 kreye pou li te tou yo itilize nan aryan a 5. 1626 01:20:41,550 --> 01:20:47,940 >> -La Pwoblèm debaz te ke aryan a 5 te pi vit, akselere pi vit. 1627 01:20:47,940 --> 01:20:51,450 Ak lojisyèl an pa t 'gen matirite pou sa. 1628 01:20:51,450 --> 01:20:55,060 >> -La Destriksyon nan fize a te yon gwo dezas finansye, 1629 01:20:55,060 --> 01:20:58,790 tout akòz yon erè minit lojisyèl. 1630 01:20:58,790 --> 01:21:01,210 Men, sa a pa t 'premye a tan pwoblèm konvèsyon done 1631 01:21:01,210 --> 01:21:04,820 te gwo malè tonbe sou modèn teknoloji fize. 1632 01:21:04,820 --> 01:21:08,050 >> -Nan 1991, ak nan kòmansman an nan premye Lagè Gòlf la, 1633 01:21:08,050 --> 01:21:10,570 Patriot misil a ki gen eksperyans yon kalite ki sanble 1634 01:21:10,570 --> 01:21:12,800 nan pwoblèm konvèsyon kantite. 1635 01:21:12,800 --> 01:21:16,090 E kòm yon rezilta, 28 moun, 28 sòlda Ameriken yo, 1636 01:21:16,090 --> 01:21:19,080 te mouri, ak sou 100 lòt moun blese, 1637 01:21:19,080 --> 01:21:22,780 lè Patriot la, ki te sipoze nan pwoteje kont scuds fèk ap rantre, 1638 01:21:22,780 --> 01:21:25,830 echwe pou pou tire yon misil. 1639 01:21:25,830 --> 01:21:31,670 >> -Lè Irak anvayi Kowet, ak Amerik te lanse Tanpèt Dezè byen bonè nan mwa 1991, 1640 01:21:31,670 --> 01:21:35,780 Patriot misil pil te deplwaye pwoteje Arabi Saoudit ak pèp Izrayèl la 1641 01:21:35,780 --> 01:21:39,230 soti nan Irak Scud atak misil. 1642 01:21:39,230 --> 01:21:43,810 Patriot la se yon US medyòm-ranje sifas nan sistèm lè, manifaktire 1643 01:21:43,810 --> 01:21:45,770 pa konpayi an Raytheon. 1644 01:21:45,770 --> 01:21:52,340 >> -La Gwosè nan entèrsèpsyon nan Patriot tèt li se sou apeprè 20 pye nan longè. 1645 01:21:52,340 --> 01:21:55,230 Epi, se peze sou 2,000 liv. 1646 01:21:55,230 --> 01:21:59,320 Apre sa, li pote yon tèt degè a sou, Mwen panse ke li apeprè 150 liv. 1647 01:21:59,320 --> 01:22:03,930 Apre sa, tèt degè a li menm se yon eksplozif segondè, ki 1648 01:22:03,930 --> 01:22:07,330 gen fragman fè wonn li. 1649 01:22:07,330 --> 01:22:11,680 aman a nan tèt degè a se fèt yo aji tankou plon. 1650 01:22:11,680 --> 01:22:14,110 >> misil -La yo te pote kat pou chak veso, 1651 01:22:14,110 --> 01:22:17,130 , epi yo transpòte pa yon trelè semi. 1652 01:22:17,130 --> 01:22:24,930 >> -La Sistèm Patriot anti-misil ale tounen omwen 20 ane kounye a. 1653 01:22:24,930 --> 01:22:28,420 Li te orijinal ki fèt kòm yon misil defans lè 1654 01:22:28,420 --> 01:22:30,720 tire desann avyon lènmi. 1655 01:22:30,720 --> 01:22:34,500 Nan premye Lagè Gòlf la, lè ke lagè te vini ansanm, 1656 01:22:34,500 --> 01:22:39,745 Lame a te vle sèvi ak li nan tire desann scuds, pa avyon. 1657 01:22:39,745 --> 01:22:43,620 >> Fòs aeryen an Irak te pa konsa pou sa anpil nan yon pwoblèm. 1658 01:22:43,620 --> 01:22:46,670 Men, Lame a te enkyete w sou scuds. 1659 01:22:46,670 --> 01:22:50,170 Se konsa, yo te eseye ajou Patriot la. 1660 01:22:50,170 --> 01:22:52,800 >> -Intercepting Yon lènmi misil vwayaje nan mach 5 1661 01:22:52,800 --> 01:22:55,830 te ale nan dwe defi ase. 1662 01:22:55,830 --> 01:22:58,490 Men, lè Patriot la te kouri antre nan sèvis, 1663 01:22:58,490 --> 01:23:02,860 Lame a pa t 'okouran de yon Irak modifikasyon ki te fè 1664 01:23:02,860 --> 01:23:05,930 scuds yo prèske enposib frape. 1665 01:23:05,930 --> 01:23:10,740 >> -Ki Te pase se scuds yo ki te vini nan yo te enstab. 1666 01:23:10,740 --> 01:23:11,692 Yo te tranble. 1667 01:23:11,692 --> 01:23:14,910 Rezon ki fè la pou sa a te Irakyen yo yo, yo nan lòd 1668 01:23:14,910 --> 01:23:18,280 yo ka resevwa 600 kilomèt soti nan yon kilomèt 300 1669 01:23:18,280 --> 01:23:21,700 seri misil, te pran pwa soti nan tèt degè devan an. 1670 01:23:21,700 --> 01:23:23,390 Yo te fè tèt degè a pi lejè. 1671 01:23:23,390 --> 01:23:27,330 >> Se konsa, kounye Patriot la se ap eseye vini nan Scud a. 1672 01:23:27,330 --> 01:23:30,230 Ak pi fò nan tan an, nan akablan majorite nan tan an, 1673 01:23:30,230 --> 01:23:32,940 li ta jis vole pa Scud a. 1674 01:23:32,940 --> 01:23:37,260 Yon fwa operatè yo sistèm Patriot reyalize Patriot la rate sib li yo, 1675 01:23:37,260 --> 01:23:41,690 yo detounen tèt degè Patriot la pou fè pou evite aksidan posib si li 1676 01:23:41,690 --> 01:23:44,570 te pèmèt li tonbe atè a. 1677 01:23:44,570 --> 01:23:48,790 >> -Sa Se sa ki te pi fò moun te wè, moun fireballs gwo nan syèl la, 1678 01:23:48,790 --> 01:23:54,550 ak konpwann kòm segman aks dèz nan Scud tèt de gè. 1679 01:23:54,550 --> 01:23:56,630 >> -Although Nan mitan lannwit lan syèl, Patriyòt parèt 1680 01:23:56,630 --> 01:24:00,370 yo dwe avèk siksè detwi Scuds, nan Dhahran, 1681 01:24:00,370 --> 01:24:03,360 ta kapab genyen okenn erè sou pèfòmans li yo. 1682 01:24:03,360 --> 01:24:07,970 Gen, sistèm rada Patriot la pèdi tras nan yon Scud fèk ap rantre, 1683 01:24:07,970 --> 01:24:10,721 epi pa janm te lanse akòz nan yon defo lojisyèl. 1684 01:24:10,721 --> 01:24:14,090 1685 01:24:14,090 --> 01:24:18,940 Li te Izrayelyen yo ki moun ki premye dekouvri ki pi long sistèm lan nan te sou li a, 1686 01:24:18,940 --> 01:24:22,690 pi gwo Diferans la nan tan te vin, akòz yon revèy entegre 1687 01:24:22,690 --> 01:24:24,810 nan òdinatè sistèm nan. 1688 01:24:24,810 --> 01:24:28,210 >> -About De semèn anvan trajedi a nan Dhahran, 1689 01:24:28,210 --> 01:24:30,770 Izrayelyen yo rapòte bay Depatman Defans lan 1690 01:24:30,770 --> 01:24:32,590 ke sistèm lan te pèdi tan. 1691 01:24:32,590 --> 01:24:35,360 Apre apeprè uit èdtan oswa kouri, yo remake ke sistèm lan 1692 01:24:35,360 --> 01:24:37,720 te vin notables mwens egzat. 1693 01:24:37,720 --> 01:24:41,900 Depatman Defans lan reponn pa di tout nan pil yo Patriot 1694 01:24:41,900 --> 01:24:44,950 pa kite sistèm yo sou pou yon tan long. 1695 01:24:44,950 --> 01:24:49,160 Yo pa janm di sa yon tan long was-- uit èdtan, 10 èdtan, 1,000 èdtan. 1696 01:24:49,160 --> 01:24:51,360 Okenn moun pa te konnen. 1697 01:24:51,360 --> 01:24:53,380 >> -La Batri Patriot estasyone nan kazèn lan 1698 01:24:53,380 --> 01:24:58,350 nan Dhahran ak entèn defekte li yo te revèy te sou plis pase 100 èdtan 1699 01:24:58,350 --> 01:25:01,670 sou nwit la la nan mwa fevriye 25th. 1700 01:25:01,670 --> 01:25:05,917 >> -Li Suivi tan nan yon presizyon nan sou yon dizyèm nan yon dezyèm fwa. 1701 01:25:05,917 --> 01:25:08,000 Koulye a, yon dizyèm nan yon dezyèm fwa se yon nimewo enteresan, 1702 01:25:08,000 --> 01:25:11,920 paske li pa kapab eksprime nan binè egzakteman, ki 1703 01:25:11,920 --> 01:25:16,820 vle di li pa ka eksprime egzakteman nan nenpòt òdinatè modèn dijital. 1704 01:25:16,820 --> 01:25:18,540 Li difisil yo kwè. 1705 01:25:18,540 --> 01:25:21,210 >> Men, sèvi ak sa a kòm yon egzanp. 1706 01:25:21,210 --> 01:25:23,540 Se pou nou pran nimewo yon sèl twazyèm lan. 1707 01:25:23,540 --> 01:25:27,350 Yon tyè pa kapab eksprime nan desimal egzakteman. 1708 01:25:27,350 --> 01:25:32,080 Yon tyè se 0,333 ale sou pou Infinity. 1709 01:25:32,080 --> 01:25:36,480 >> Pa gen okenn fason fè sa ak presizyon absoli nan desimal. 1710 01:25:36,480 --> 01:25:39,560 Sa a egzakteman ki kalite pwoblèm ki te rive nan Patriot la. 1711 01:25:39,560 --> 01:25:44,100 ankò sistèm lan nan kouri al nan vin pi mal erè nan tan te vin. 1712 01:25:44,100 --> 01:25:48,890 >> -Apre 100 èdtan nan operasyon an, nan erè nan tan sa a te sèlman sou yon tyè 1713 01:25:48,890 --> 01:25:50,600 nan yon dezyèm fwa. 1714 01:25:50,600 --> 01:25:54,210 Men, nan tèm de vize yon misil vwayaje nan mach 5, 1715 01:25:54,210 --> 01:25:58,710 li a nan yon swiv erè nan plis pase 600 mèt. 1716 01:25:58,710 --> 01:26:02,120 Li ta yon erè fatal pou sòlda yo sou sa ki 1717 01:26:02,120 --> 01:26:08,940 ki te pase se yon lansman Scud te detekte avèk satelit Avètisman bonè 1718 01:26:08,940 --> 01:26:12,860 epi yo te konnen ke Scud a te vini nan yon direksyon jeneral yo. 1719 01:26:12,860 --> 01:26:15,320 Yo pa t 'konnen kote li te vini yo. 1720 01:26:15,320 --> 01:26:18,250 >> -Li Te kounye a jiska rada a eleman ki nan sistèm nan Patriot 1721 01:26:18,250 --> 01:26:23,190 defann Dhahran jwenn epi kenbe tras nan misil a lènmi fèk ap rantre. 1722 01:26:23,190 --> 01:26:24,609 >> rada -La te trè entelijan. 1723 01:26:24,609 --> 01:26:26,650 Li ta aktyèlman swiv pozisyon nan Scud a, 1724 01:26:26,650 --> 01:26:30,350 ak Lè sa a predi ki kote li pwobableman ta dwe tan kap vini an rada a voye 1725 01:26:30,350 --> 01:26:31,420 yon batman kè deyò. 1726 01:26:31,420 --> 01:26:33,110 Sa te rele yon baryè pòte. 1727 01:26:33,110 --> 01:26:37,660 >> -Lè, Yon fwa Patriot la deside ase tan gen 1728 01:26:37,660 --> 01:26:42,450 pase bay tounen ladan l epi tcheke pwochen an kote pou sa a objè detekte, 1729 01:26:42,450 --> 01:26:43,600 li ale tounen. 1730 01:26:43,600 --> 01:26:48,650 Se konsa, lè li te ale tounen nan sa ki mal la plas, li Lè sa a, wè pa gen okenn objè. 1731 01:26:48,650 --> 01:26:52,160 Epi, se deside ke pa te gen okenn objè, li te yon deteksyon fo, 1732 01:26:52,160 --> 01:26:53,930 ak gout tras la. 1733 01:26:53,930 --> 01:26:57,030 >> -La Fèk ap rantre Scud disparèt soti nan ekran an rada. 1734 01:26:57,030 --> 01:27:00,260 Apre sa, segond apre, li te kriye byen fò nan kazèn lan. 1735 01:27:00,260 --> 01:27:06,150 Scud a touye 28, e li te dènye a youn te tire pandan premye Lagè Gòlf la. 1736 01:27:06,150 --> 01:27:11,960 >> Trajik, lojisyèl an mete ajou te rive nan Dhahran jou ki anba la a. 1737 01:27:11,960 --> 01:27:14,930 defo nan lojisyèl te gen te fiks, fèmen 1738 01:27:14,930 --> 01:27:19,806 youn chapit nan boulvèse a istwa nan misil a Patriot. 1739 01:27:19,806 --> 01:27:20,729 >> [VIDEO lèktur] 1740 01:27:20,729 --> 01:27:23,520 DAVID J. Malan: Se konsa, sa a se tout moun di ke pwoblèm sa yo nan debòde 1741 01:27:23,520 --> 01:27:25,860 ak enpresizyon, yo tout twò reyèl. 1742 01:27:25,860 --> 01:27:26,920 Se konsa, kouman t 'nou jwenn isit la? 1743 01:27:26,920 --> 01:27:28,895 Nou te kòmanse ak jis ap pale de printf. 1744 01:27:28,895 --> 01:27:31,270 Yon fwa ankò, sa a fonksyon ki simagri yon bagay yo ekran an, 1745 01:27:31,270 --> 01:27:33,450 epi nou prezante apre sa yon kèk lòt fonksyon 1746 01:27:33,450 --> 01:27:34,945 soti nan sa yo rele bibliyotèk la CS50 la. 1747 01:27:34,945 --> 01:27:36,910 Epitou, n ap kontinye wè sa yo nan tan garanti dwa moun. 1748 01:27:36,910 --> 01:27:40,760 Apre sa, nou, patikilyèman, yo itilize jwenn fisèl, epi pou yo jwenn int, e kounye a, tou jwenn flote, 1749 01:27:40,760 --> 01:27:44,410 e ankò lòt moun toujou ap nou rankontre epi sèvi ak tèt nou anvan lontan. 1750 01:27:44,410 --> 01:27:47,220 >> Men, sou okazyon, gen nou deja wè yon bezwen 1751 01:27:47,220 --> 01:27:50,520 nan magazen sa ki sa yo fonksyon men tounen ankò? 1752 01:27:50,520 --> 01:27:52,920 Yo men nou tounen yon fisèl, oswa yon int, oswa yon flote. 1753 01:27:52,920 --> 01:27:56,070 Epi pafwa nou bezwen mete sa fisèl, oswa int, oswa flote, yon kote. 1754 01:27:56,070 --> 01:28:00,100 >> Apre sa, nan magazen bagay sa yo, sonje jis tankou nan grafouyen, nou gen varyab. 1755 01:28:00,100 --> 01:28:03,260 Men, kontrèman ak nan grafouyen, nan C nou gen kalite aktyèl 1756 01:28:03,260 --> 01:28:05,530 nan done variables-- kalite, plis generally-- 1757 01:28:05,530 --> 01:28:08,640 nan mitan yo, yon fisèl, yon int, yon flote, ak sa yo lòt moun toujou. 1758 01:28:08,640 --> 01:28:12,321 >> Se konsa, lè nou deklare varyab nan C, nou pral gen deklare kalite done nou an. 1759 01:28:12,321 --> 01:28:14,820 Sa a se pa yon bagay nou pral dwe fè pita nan semès la 1760 01:28:14,820 --> 01:28:16,810 jan nou tranzisyon nan lòt lang yo. 1761 01:28:16,810 --> 01:28:19,610 Men, pou kounye a, nou bezwen nan yon priori an avanse, 1762 01:28:19,610 --> 01:28:24,370 eksplike nan òdinatè a ki kalite nan varyab nou vle li ba nou. 1763 01:28:24,370 --> 01:28:27,290 >> Koulye a, pandan se tan, ekri ak lèt ​​detache sa yo kalite kalite done, 1764 01:28:27,290 --> 01:28:29,570 nou dwe di printf ki sa atann. 1765 01:28:29,570 --> 01:28:32,450 Apre sa, nou te wè nan pousan pou strings, epi pousantaj mwen pou nonm antye yo, 1766 01:28:32,450 --> 01:28:33,790 ak kèk lòt moun deja. 1767 01:28:33,790 --> 01:28:37,237 Ak moun ki yo se tou senpleman kondisyon pou prezantasyon an vizyèl 1768 01:28:37,237 --> 01:28:38,070 nan enfòmasyon sa a. 1769 01:28:38,070 --> 01:28:42,080 >> Epitou, chak nan sa yo ka aktyèlman ap parametrized oswa tweaked nan kèk fason, 1770 01:28:42,080 --> 01:28:45,370 si ou vle vin genyen plis kontwòl kalite a nan pwodiksyon ke ou jwenn. 1771 01:28:45,370 --> 01:28:49,604 Epi, an reyalite, li vire soti ki pa sèlman ki gen la antislach n pou yon liy nouvo. 1772 01:28:49,604 --> 01:28:52,520 Genyen yon lòt bagay rele antislach r pou yon retou cha, ki 1773 01:28:52,520 --> 01:28:54,360 se pi plis analogue nan yon fin vye granmoun typewriter lekòl la, 1774 01:28:54,360 --> 01:28:57,690 epi tou li Windows itilize pou plizyè ane. 1775 01:28:57,690 --> 01:28:59,690 >> Genyen antislach t pou onglè. 1776 01:28:59,690 --> 01:29:03,170 Vire soti, ki si ou vle doub quote andedan nan yon fisèl, 1777 01:29:03,170 --> 01:29:05,000 sonje ke nou te itilize doub quote doub 1778 01:29:05,000 --> 01:29:07,900 quote sou bò gòch la ak dwa a fini nan strings nou an konsa byen lwen. 1779 01:29:07,900 --> 01:29:09,420 Sa ta sanble yo konfonn bagay sa yo. 1780 01:29:09,420 --> 01:29:12,503 >> Si ou vle mete yon quote doub nan mitan an nan yon string-- ak, tout bon, 1781 01:29:12,503 --> 01:29:13,670 li se konfizyon yo wè. 1782 01:29:13,670 --> 01:29:17,120 Se konsa, ou gen yo sove, se konsa yo pale, yon quote doub ak yon bagay 1783 01:29:17,120 --> 01:29:18,860 tankou, literalman, antislach doub quote. 1784 01:29:18,860 --> 01:29:20,230 Apre sa, nan yon lòt kèk toujou. 1785 01:29:20,230 --> 01:29:24,540 Epitou, n ap wè plis nan tout sa yo nan itilize aktyèl anvan lontan. 1786 01:29:24,540 --> 01:29:27,930 >> Se konsa, kite pou nou kounye a tranzisyon soti nan done, ak reprezantasyon, 1787 01:29:27,930 --> 01:29:30,820 ak operatè aritmetik yo, tout nan sa ki te ba nou kèk bilding 1788 01:29:30,820 --> 01:29:32,070 blòk ak ki yo jwe. 1789 01:29:32,070 --> 01:29:34,481 Men koulye a, kite a aktyèlman bay nou rès la nan vokabilè a 1790 01:29:34,481 --> 01:29:36,230 ke nou te deja gen semèn pase a ak Grafouyen 1791 01:29:36,230 --> 01:29:39,350 lè yo pran yon gade nan kèk lòt konstwi nan C-- se pa tout nan yo. 1792 01:29:39,350 --> 01:29:41,680 Men, lide yo nou ap sou yo wè vrèman jis 1793 01:29:41,680 --> 01:29:45,610 mete aksan sou tradiksyon an soti nan yon sèl lang, grafouyen, nan yon lòt, C. 1794 01:29:45,610 --> 01:29:48,470 >> Ak sou tan, nou pral ranmase plis zouti pou zouti nou an, 1795 01:29:48,470 --> 01:29:49,820 se konsa pale, syntactically. 1796 01:29:49,820 --> 01:29:54,190 Epi, tout bon, ou ap wè ke lide yo yo kounye a se olye abitye soti nan semèn pase a. 1797 01:29:54,190 --> 01:29:55,200 Se konsa nou fè sa. 1798 01:29:55,200 --> 01:29:58,870 >> Se pou nou ale pi devan epi fwe moute yon pwogram ki aktyèlman sèvi ak kèk ekspresyon, 1799 01:29:58,870 --> 01:30:00,720 yon ekspresyon Boolean. 1800 01:30:00,720 --> 01:30:02,810 Kite m 'ale pi devan isit la ak kreye yon dosye nouvo. 1801 01:30:02,810 --> 01:30:06,090 Mwen pral rele condition.c sa a. 1802 01:30:06,090 --> 01:30:09,350 >> Kite m 'ale pi devan epi gen ladan bibliyotèk la CS50. 1803 01:30:09,350 --> 01:30:12,640 Ak kite m 'ale pi devan epi yo genyen ladan estanda io.h pou fonksyon nou an, 1804 01:30:12,640 --> 01:30:14,690 ak printf, ak plis ankò respektivman. 1805 01:30:14,690 --> 01:30:18,900 Kite m 'ba tèt mwen ke boilerplate nan int anile prensipal yo, ki gen eksplikasyon nou pral 1806 01:30:18,900 --> 01:30:20,360 tounen nan nan tan kap vini a rive. 1807 01:30:20,360 --> 01:30:23,820 >> Koulye a, kite m 'ale pi devan epi bay tèt mwen yon int atravè jwenn int. 1808 01:30:23,820 --> 01:30:25,970 Lè sa a, kite m 'ale pi devan epi fè sa. 1809 01:30:25,970 --> 01:30:30,150 Mwen vle di si mwen se less-- kite nan distenge ant pozitif, negatif, 1810 01:30:30,150 --> 01:30:31,260 oswa zewo valè. 1811 01:30:31,260 --> 01:30:36,630 >> Se konsa, si mwen se mwens pase zewo, kite m ' jis gen pwogram sa a tou senpleman di, 1812 01:30:36,630 --> 01:30:42,370 negatif, antislach n, lòt moun si mwen gen plis pouvwa pase zewo. 1813 01:30:42,370 --> 01:30:47,030 Koulye a, mwen, nan kou, pral di printf pozitif, antislach n. 1814 01:30:47,030 --> 01:30:50,690 Lè sa a, lòt moun if-- mwen te kapab fè sa a. 1815 01:30:50,690 --> 01:30:53,410 >> Mwen te kapab fè si mwen egal 0. 1816 01:30:53,410 --> 01:30:55,840 Men, mwen ta dwe fè nan omwen yon erè deja. 1817 01:30:55,840 --> 01:30:59,480 Sonje byen, siy ki egal se pa egal, kòm nou moun konn sa. 1818 01:30:59,480 --> 01:31:01,010 >> Men, li la operatè a plasman. 1819 01:31:01,010 --> 01:31:05,640 Apre sa, nou pa vle pran 0 sou la dwa ak mete l 'nan mwen sou bò gòch la. 1820 01:31:05,640 --> 01:31:11,810 Se konsa, pou fè pou evite konfizyon sa a, oswa petèt move itilizasyon egal yo siyen, 1821 01:31:11,810 --> 01:31:14,740 moun deside kèk ane de sa ke nan lang programmation anpil 1822 01:31:14,740 --> 01:31:18,000 lè ou vle tcheke pou egalite ant kite la ak dwa a, 1823 01:31:18,000 --> 01:31:19,635 ou aktyèlman itilize egal egal. 1824 01:31:19,635 --> 01:31:21,010 Se konsa, ou frape egal yo siyen de fwa. 1825 01:31:21,010 --> 01:31:25,600 Lè ou vle yo asiyen de dwat nan bò gòch la, ou sèvi ak yon sèl siy egal-ego. 1826 01:31:25,600 --> 01:31:29,360 Se konsa, nou ta ka fè sa a men lòt moun si mwen egal egal zewo. 1827 01:31:29,360 --> 01:31:31,710 >> Mwen te kapab lè sa a ale ak louvri aparèy òtopedik Curly mwen, 1828 01:31:31,710 --> 01:31:36,087 ak di, printf 0, antislach n, fè. 1829 01:31:36,087 --> 01:31:38,170 Men, sonje ki jan sa yo fouchèt nan wout la ka travay. 1830 01:31:38,170 --> 01:31:39,836 Epi, reyèlman, jis panse sou lojik la. 1831 01:31:39,836 --> 01:31:41,510 mwen se yon nimewo. 1832 01:31:41,510 --> 01:31:43,320 Se yon nonb antye relatif, espesyalman. 1833 01:31:43,320 --> 01:31:48,600 Lè sa vle di li pral li dwe mwens pase 0, oswa pi gran pase 0, oswa 0. 1834 01:31:48,600 --> 01:31:51,600 Se konsa, gen se kalite sa a enplisit ka default. 1835 01:31:51,600 --> 01:31:54,920 >> Se konsa, nou te kapab, jis tankou Grafouyen, dispanse avèk lòt moun nan si, 1836 01:31:54,920 --> 01:31:55,747 ak jis di lòt bagay. 1837 01:31:55,747 --> 01:31:57,830 Lojikman, si ou nan pwogramè konnen gen nan sèlman 1838 01:31:57,830 --> 01:32:01,635 twa bokit nan ki yon senaryo ka fall-- premye a, 1839 01:32:01,635 --> 01:32:03,510 dezyèm lan, oswa yon twazyèm nan nan sa a case-- pa fè sa 1840 01:32:03,510 --> 01:32:07,100 deranje ajoute presizyon an plis ak lojik nan plis la. 1841 01:32:07,100 --> 01:32:09,690 Jis ale pi devan ak nan ka default isit la nan lòt moun. 1842 01:32:09,690 --> 01:32:11,950 >> Koulye a, kite yo ale pi devan apre ekonomize sa a, fè 1843 01:32:11,950 --> 01:32:15,760 kondisyon dot koupe conditions-- pa yon koòdone itilizatè gwo, 1844 01:32:15,760 --> 01:32:18,914 paske mwen pa pouse nan itilizatè, kòm mwen mansyone pi bonè. 1845 01:32:18,914 --> 01:32:19,580 Men, sa a amann. 1846 01:32:19,580 --> 01:32:20,454 Nou pral kenbe li senp. 1847 01:32:20,454 --> 01:32:21,890 Ann eseye nimewo a 42. 1848 01:32:21,890 --> 01:32:23,240 Epi sa a, pozitif. 1849 01:32:23,240 --> 01:32:26,120 Ann eseye nimewo a negatif 42, negatif. 1850 01:32:26,120 --> 01:32:28,244 >> Ann eseye valè a 0. 1851 01:32:28,244 --> 01:32:29,160 Epi, tout bon, li fonksyone. 1852 01:32:29,160 --> 01:32:33,900 Koulye a, ou pral wè ki gen pwoblèm anvan lontan, bagay sa yo tès twa fwa, 1853 01:32:33,900 --> 01:32:34,980 pwobableman pa ase. 1854 01:32:34,980 --> 01:32:37,438 Ou pwobableman vle teste kèk pi gwo nimewo, kèk ki pi piti 1855 01:32:37,438 --> 01:32:40,520 nimewo, kèk ka kwen, kòm nou pral vini nan dekri yo. 1856 01:32:40,520 --> 01:32:42,500 >> Men, pou kounye a, sa a se yon pwogram trè senp. 1857 01:32:42,500 --> 01:32:45,160 Apre sa, mwen se trè asire w, lojikman, ke li tonbe nan twa ka. 1858 01:32:45,160 --> 01:32:49,360 Epi, tout bon, menm si nou jis konsantre sou enkonvenyans yo potansyèl 1859 01:32:49,360 --> 01:32:53,480 nan enpresizyon ann abondans, nan reyalite kote anpil nan pwoblèm CS50 a, 1860 01:32:53,480 --> 01:32:56,000 nou pa yo ale nan enkyete sou, tout tan tout tan an, 1861 01:32:56,000 --> 01:32:59,050 moun pwoblèm nan debòde ak enpresizyon, paske, an reyalite, nan C, 1862 01:32:59,050 --> 01:33:01,889 li la aktyèlman pa tout sa ki fasil pou fè pou evite bagay sa yo. 1863 01:33:01,889 --> 01:33:04,180 Si ou vle konte moute pi gwo, ak pi gwo, ak pi gwo, 1864 01:33:04,180 --> 01:33:07,510 li vire soti gen teknik ou ka itilize, souvan ki enplike bagay sa yo rele 1865 01:33:07,510 --> 01:33:11,240 bibliyotèk, koleksyon nan Kòd, ki lòt moun te ekri ke ou ka itilize, 1866 01:33:11,240 --> 01:33:13,910 ak lòt lang tankou Java ak lòt moun, aktyèlman 1867 01:33:13,910 --> 01:33:15,800 fè l 'yon anpil pi fasil yo konte menm pi wo. 1868 01:33:15,800 --> 01:33:19,810 Se konsa, li vrèman se kèk nan danje sa yo yon fonksyon nan lang lan ou itilize. 1869 01:33:19,810 --> 01:33:22,710 Ak nan semèn kap vini, nou pral wè ki jan danjere C reyèlman 1870 01:33:22,710 --> 01:33:24,950 kapab si ou pa sèvi ak li byen. 1871 01:33:24,950 --> 01:33:27,610 Men, soti nan gen, ak Piton, ak JavaScript, yo pral 1872 01:33:27,610 --> 01:33:32,620 nou kouch sou kèk pwoteksyon adisyonèl, epi kouri mwens nan risk sa yo. 1873 01:33:32,620 --> 01:33:35,820 >> Se konsa, kite a fè yon ti kras plis enteresan lojik nan pwogram nou an. 1874 01:33:35,820 --> 01:33:39,110 Se pou m 'ale pi devan epi kreye yon pwogram ki rele lojik 1875 01:33:39,110 --> 01:33:43,804 jis Se konsa, mwen ka jwe ak kèk aktyèl lojik, logical.c. 1876 01:33:43,804 --> 01:33:46,870 Mwen pral jis kopye epi kole kèk Kòd soti nan pi bonè Se konsa, mwen jwenn tounen 1877 01:33:46,870 --> 01:33:49,950 sa a bèl pwen depa. 1878 01:33:49,950 --> 01:33:53,980 >> Kite m 'tan sa a fè Char C. mwen se pral bay li yon non nan C 1879 01:33:53,980 --> 01:33:58,510 jis paske li nan konvansyonèl yo, jwenn yon karaktè soti nan itilizatè a. 1880 01:33:58,510 --> 01:34:00,730 Li kite yo pretann tankou Mwen mete ann aplikasyon yon pati 1881 01:34:00,730 --> 01:34:04,130 nan ke pwogram Rm, retire nan pwogram anvan ki te rapidman ankouraje itilizatè a 1882 01:34:04,130 --> 01:34:05,400 yo retire yon dosye. 1883 01:34:05,400 --> 01:34:06,750 Ki jan nou ta ka fè sa a? 1884 01:34:06,750 --> 01:34:11,090 >> Mwen vle di, si C egal egal, quote unquote, 1885 01:34:11,090 --> 01:34:16,304 y, Lè sa a, mwen pral asime ki te itilizatè a chwazi wi. 1886 01:34:16,304 --> 01:34:17,470 Mwen jis ale nan enprime wi. 1887 01:34:17,470 --> 01:34:19,440 Si li te aktyèlman ekri pwogram nan retire, 1888 01:34:19,440 --> 01:34:21,420 nou te ka retire dosye a ki gen plis liy nan kòd. 1889 01:34:21,420 --> 01:34:22,461 Men, nou pral kenbe li senp. 1890 01:34:22,461 --> 01:34:25,950 1891 01:34:25,950 --> 01:34:31,250 >> Lòt Bagay si c egal egal n-- e kounye a, isit la, mwen pral di, 1892 01:34:31,250 --> 01:34:32,980 dwe itilizatè a te vle di pa gen okenn. 1893 01:34:32,980 --> 01:34:34,360 Lè sa a, lòt moun, ou konnen ki sa? 1894 01:34:34,360 --> 01:34:36,200 Mwen pa konnen ki lòt bagay itilizatè a ki pral tape. 1895 01:34:36,200 --> 01:34:38,533 Se konsa, mwen jis ale nan di ke ki se yon erè, tou sa 1896 01:34:38,533 --> 01:34:40,070 li oswa li te aktyèlman tape. 1897 01:34:40,070 --> 01:34:41,180 >> Se konsa, sa k ap pase sou isit la? 1898 01:34:41,180 --> 01:34:44,530 Gen yon diferans fondamantal kont sa m 'te fè l' nan tan lontan an. 1899 01:34:44,530 --> 01:34:49,300 Double quotes, quotes doub, doub quotes, epi, ankò, quotes sèl, 1900 01:34:49,300 --> 01:34:50,170 quotes sèl. 1901 01:34:50,170 --> 01:34:52,860 Li sanble nan C, ke lè ou vle ekri yon fisèl, 1902 01:34:52,860 --> 01:34:56,680 ou fè sèvi ak quotes doub, menm jan nou te lè l sèvi avèk tout tan tout tan sa a ak printf. 1903 01:34:56,680 --> 01:35:02,030 >> Men, si ou vle fè fas ak jis yon sèl karaktè, yon Char sa yo rele, 1904 01:35:02,030 --> 01:35:03,780 lè sa a ou aktyèlman sèvi ak quotes sèl. 1905 01:35:03,780 --> 01:35:05,450 Moun sa yo ki nan nou ki te pwograme anvan, ou pa ta ka gen 1906 01:35:05,450 --> 01:35:07,850 te gen enkyete sou sa a distenksyon nan sèten lang. 1907 01:35:07,850 --> 01:35:09,450 Nan C, li fè sa matyè. 1908 01:35:09,450 --> 01:35:12,560 Se konsa, lè mwen jwenn yon Char e mwen vle yo konpare ki Char lè l sèvi avèk egal 1909 01:35:12,560 --> 01:35:18,350 egal a kèk lèt ​​tankou y oswa n, m 'fè, tout bon, bezwen gen quotes yo sèl. 1910 01:35:18,350 --> 01:35:19,770 >> Koulye a, se pou yo ale pi devan epi fè sa. 1911 01:35:19,770 --> 01:35:26,180 Se pou nou ale pi devan epi fè dot lojik koupe lojik. 1912 01:35:26,180 --> 01:35:27,305 Epi, koulye a mwen ke yo te pouse. 1913 01:35:27,305 --> 01:35:30,638 Se konsa, prezimableman, yon pi bon eksperyans itilizatè ta aktyèlman di m 'sa yo dwe fè isit la. 1914 01:35:30,638 --> 01:35:33,030 Men, mwen pral jis je fèmen di y pou repons lan se wi, OK, bèl. 1915 01:35:33,030 --> 01:35:35,780 >> Se pou nou kouri l 'ankò, n pou pa gen okenn, bèl. 1916 01:35:35,780 --> 01:35:39,610 Sipoze tankou moun sèten mwen konnen, bouchon mwen fèmen kle se sou tout twò souvan. 1917 01:35:39,610 --> 01:35:43,740 Se konsa, mwen fè kapital Y, antre nan, erè. 1918 01:35:43,740 --> 01:35:46,130 OK, li nan pa egzakteman sa m ap tann. 1919 01:35:46,130 --> 01:35:48,170 Vreman vre, òdinatè a ap fè literalman ki sa 1920 01:35:48,170 --> 01:35:51,794 Mwen te di l 'bay do-- tcheke pou miniskil y ak miniskil n. 1921 01:35:51,794 --> 01:35:53,960 Sa a pa santi tankou bon eksperyans itilizatè, menm si. 1922 01:35:53,960 --> 01:35:59,010 Kite m 'mande pou epi aksepte swa pi ba ka oswa ka anwo kay la. 1923 01:35:59,010 --> 01:36:02,090 Se konsa, li vire soti, ou ta ka vle yo di yon bagay tankou nan grafouyen, 1924 01:36:02,090 --> 01:36:08,150 tankou literalman oswa C egal egal kapital sèl y te site. 1925 01:36:08,150 --> 01:36:11,400 Vire soti, C pa gen sa a mo kle literal oswa. 1926 01:36:11,400 --> 01:36:12,880 >> Men, li fè sa ki gen de ba vètikal. 1927 01:36:12,880 --> 01:36:15,463 Ou gen yo kenbe Shift anjeneral, si w ap itilize yon klavye ameriken, 1928 01:36:15,463 --> 01:36:18,910 ak frape ba a vètikal kle pi wo a kle ou retounen. 1929 01:36:18,910 --> 01:36:22,410 Men, sa a ba vètikal ba vètikal vle di oswa. 1930 01:36:22,410 --> 01:36:26,220 >> Si, pa kontra, nou te vle yo di, epi, tankou nan grafouyen, 1931 01:36:26,220 --> 01:36:28,180 nou ta ka fè comercial comercial. 1932 01:36:28,180 --> 01:36:31,330 Sa pa fè okenn sans lojik isit la, paske yon moun pa t 'kapab pètèt 1933 01:36:31,330 --> 01:36:37,110 te tape tou de y ak miniskil y ak kapital Y kòm karaktè a menm. 1934 01:36:37,110 --> 01:36:39,470 Se konsa, oswa se sa nou gen entansyon isit la. 1935 01:36:39,470 --> 01:36:46,280 >> Se konsa, si m 'fè sa a nan tou de kote, oswa c egal egal kapital N, kounye a relance, 1936 01:36:46,280 --> 01:36:49,390 fè lojik, relance lojik. 1937 01:36:49,390 --> 01:36:51,200 Koulye a, mwen ka tape y. 1938 01:36:51,200 --> 01:36:53,920 Apre sa, mwen ka fè l 'ankò ak kapital Y, oswa N. kapital 1939 01:36:53,920 --> 01:36:56,630 Apre sa, mwen ta ka ajoute nan plis konbinezon toujou. 1940 01:36:56,630 --> 01:36:58,810 >> Se konsa, sa a se yon lojik pwogram tèl degre ke kounye a 1941 01:36:58,810 --> 01:37:01,940 Mwen tcheke lojikman pou sa a valè oswa sa a valè. 1942 01:37:01,940 --> 01:37:06,420 Apre sa, mwen pa bezwen, nesesèman, vini ak de plis ifs oswa lòt moun ifs. 1943 01:37:06,420 --> 01:37:09,960 Mwen ka aktyèlman konbine kèk nan la ki gen rapò lojik ansanm nan fason sa. 1944 01:37:09,960 --> 01:37:11,950 Se konsa, sa ta pi bon fèt ke tou senpleman 1945 01:37:11,950 --> 01:37:17,490 di, si C egal pi ba ka y, enprime repons lan se wi, lòt bagay si c egal kapital Y, 1946 01:37:17,490 --> 01:37:20,074 enprime repons lan se wi, lòt bagay si c egal lower-- nan lòt mo, 1947 01:37:20,074 --> 01:37:21,990 ou pa bezwen gen pi plis ak plis branch yo. 1948 01:37:21,990 --> 01:37:28,840 Ou ka konbine kèk nan ekivalan a branch lojikman, tankou nan fason sa a. 1949 01:37:28,840 --> 01:37:34,150 >> Se konsa, kite a pran yon gade nan sèlman yon sèl engredyan final la, yon sèl final konstwi, 1950 01:37:34,150 --> 01:37:34,847 ki C pèmèt. 1951 01:37:34,847 --> 01:37:36,930 Epitou, n ap tounen vin nan nan tan kap vini bay lòt moun toujou. 1952 01:37:36,930 --> 01:37:41,400 Lè sa a, nou pral konkli pa gade nan pa Correct nan code-- 1953 01:37:41,400 --> 01:37:46,070 ap resevwa kòd nan work-- men desen an nan kòd, w'a plante moun grenn byen bonè nan. 1954 01:37:46,070 --> 01:37:51,337 >> Se pou m 'ale pi devan epi louvri moute yon dosye nouvo isit la. 1955 01:37:51,337 --> 01:37:51,920 Ou konnen ki sa? 1956 01:37:51,920 --> 01:37:54,450 Mwen pral re-aplike ke pwogram menm, 1957 01:37:54,450 --> 01:37:55,940 men lè l sèvi avèk yon konstwi diferan. 1958 01:37:55,940 --> 01:38:00,110 >> Se pou m 'byen vit bay tèt mwen aksè a gen ladan CS50.h 1959 01:38:00,110 --> 01:38:04,150 pou bibliyotèk la CS50, estanda io.h pou printf. 1960 01:38:04,150 --> 01:38:06,510 Ban m 'int anile prensipal m' yo. 1961 01:38:06,510 --> 01:38:09,310 Lè sa a, sou isit la, se pou m 'ale pi devan epi fè sa. 1962 01:38:09,310 --> 01:38:12,010 >> Char c vin jwenn Char, jis tankou anvan. 1963 01:38:12,010 --> 01:38:16,770 Apre sa, mwen pral sèvi ak yon nouvo konstwi now-- chanje, sou sa ki karaktè? 1964 01:38:16,770 --> 01:38:19,820 Se konsa, switch se kalite tankou oblije chanje yon tren tren an. 1965 01:38:19,820 --> 01:38:22,070 Oswa, reyèlman, li se kalite yon si lòt bagay, si lòt bagay si, 1966 01:38:22,070 --> 01:38:23,980 men ekri yon ti jan yon lòt jan. 1967 01:38:23,980 --> 01:38:25,490 >> Yon switch sanble tankou sa a. 1968 01:38:25,490 --> 01:38:29,060 Ou gen switch, ak Lè sa a sa pèsonaj oswa nimewo ou vle fè yon gade nan, 1969 01:38:29,060 --> 01:38:32,000 Lè sa a, kèk aparèy òtopedik Curly renmen nan Grafouyen, jis di fè bagay sa a. 1970 01:38:32,000 --> 01:38:33,480 Lè sa a, ou gen ka diferan. 1971 01:38:33,480 --> 01:38:34,830 >> Ou pa sèvi ak si ak lòt bagay. 1972 01:38:34,830 --> 01:38:37,050 Ou literalman sèvi ak ka a mo. 1973 01:38:37,050 --> 01:38:38,790 Epi ou ta ka di yon bagay konsa. 1974 01:38:38,790 --> 01:38:43,820 >> Se konsa, nan ka a nan yon y miniskil, oswa nan ka a nan yon kapital Y, 1975 01:38:43,820 --> 01:38:47,350 ale pi devan epi enprime soti wi. 1976 01:38:47,350 --> 01:38:49,020 Lè sa a, kraze soti nan switch la. 1977 01:38:49,020 --> 01:38:49,580 Sa a li. 1978 01:38:49,580 --> 01:38:50,880 Nou ap fè. 1979 01:38:50,880 --> 01:38:57,270 >> Lòt Bagay si, se konsa pale, pi ba n ka, oswa kapital N, 1980 01:38:57,270 --> 01:39:02,560 Lè sa a, ale pi devan epi ekri an lèt detache soti pa gen okenn, ak Lè sa a kraze. 1981 01:39:02,560 --> 01:39:08,022 Else-- ak sa a kalite se nan ka default indeed-- printf error-- 1982 01:39:08,022 --> 01:39:10,980 ak jis pou bon mezi, menm si lojikman repo sa a se pa nesesè 1983 01:39:10,980 --> 01:39:12,896 paske nou ap nan fen a nan switch la de tout fason, 1984 01:39:12,896 --> 01:39:14,520 Mwen kounye a kraze soti nan switch la. 1985 01:39:14,520 --> 01:39:16,280 Se konsa, sa sanble yon ti kras diferan. 1986 01:39:16,280 --> 01:39:18,272 >> Men, lojikman, li nan aktyèlman ekivalan. 1987 01:39:18,272 --> 01:39:19,980 Epi poukisa ou ta itilize yon sèl sou lòt la? 1988 01:39:19,980 --> 01:39:23,220 Pafwa, jis preferans pèsonèl, pafwa estetik yo, 1989 01:39:23,220 --> 01:39:25,420 si mwen gade nan sa a kounye a, gen nan yon bagay 1990 01:39:25,420 --> 01:39:27,510 yo dwe te di pou la lizibilite nan kòd sa a. 1991 01:39:27,510 --> 01:39:30,690 Mwen vle di, pa janm lide lefèt ke sa a kòd se nouvo nan anpil nan nou nan sal la. 1992 01:39:30,690 --> 01:39:33,515 >> Men, li jis kalite se trè. 1993 01:39:33,515 --> 01:39:37,760 Ou wè miniskil y, kapital Y, pi ba ka n, kapital N default, 1994 01:39:37,760 --> 01:39:40,150 li jis kalite sote soti nan ou nan yon fason 1995 01:39:40,150 --> 01:39:42,200 sa, joui, petèt egzanp lan anvan 1996 01:39:42,200 --> 01:39:45,780 ak ifs yo, ak ba pou fèmen yo vètikal, ak ifs yo lòt bagay, pa ta ka genyen. 1997 01:39:45,780 --> 01:39:51,600 Se konsa, sa a se reyèlman yon kesyon de pèsonèl chwa, reyèlman, oswa lizibilite, 1998 01:39:51,600 --> 01:39:52,360 nan kòd la. 1999 01:39:52,360 --> 01:39:58,230 >> Men, an tèm de fonksyonalite, kite m ' ale pi devan epi fè yon switch, dot koupe 2000 01:39:58,230 --> 01:40:05,830 switch, e kounye a, tape nan miniskil y, kapital Y, miniskil n, kapital N, 2001 01:40:05,830 --> 01:40:09,250 David, rekoumanse paske se sa pa yon karaktè sèl. 2002 01:40:09,250 --> 01:40:12,050 Se pou yo fè x, erè, jan yo espere. 2003 01:40:12,050 --> 01:40:15,640 Epi, logically-- ak sa a se yon bagay Mwen ta ankouraje nan general-- menm 2004 01:40:15,640 --> 01:40:17,790 si nou ap sèlman grate a sifas nan kèk nan karakteristik sa yo. 2005 01:40:17,790 --> 01:40:20,560 >> E li pa ta ka evidan lè ou tèt ou chita nan klavye a, 2006 01:40:20,560 --> 01:40:21,370 ki jan fè travay sa a? 2007 01:40:21,370 --> 01:40:22,240 Ki sa ki sa a ta fè? 2008 01:40:22,240 --> 01:40:25,630 Bagay la bèl sou li te gen yon laptop, oswa Desktop, oswa aksè 2009 01:40:25,630 --> 01:40:29,290 nan yon òdinatè ak yon du, epi ki gen yon editè Kòd tankou sa a, 2010 01:40:29,290 --> 01:40:32,990 se ou ka prèske toujou reponn sa yo kesyon pou tèt ou jis pa eseye. 2011 01:40:32,990 --> 01:40:36,570 >> Pou egzanp, si retorisyen nan kesyon nan men te, 2012 01:40:36,570 --> 01:40:39,540 sa k ap pase si ou ta bliye deklarasyon repo ou a? 2013 01:40:39,540 --> 01:40:41,400 Ki se aktyèlman yon trè komen bagay yo fè, 2014 01:40:41,400 --> 01:40:43,540 paske li pa gade tankou ou reyèlman bezwen yo. 2015 01:40:43,540 --> 01:40:46,790 Yo pa reyèlman ranpli ou te panse tankou yon parantèz oswa yon Curly 2016 01:40:46,790 --> 01:40:47,714 atèl fè. 2017 01:40:47,714 --> 01:40:49,630 Se pou nou ale pi devan epi compile kòd la ak wè. 2018 01:40:49,630 --> 01:40:53,690 Se konsa, asire switch, dot koupe switch. 2019 01:40:53,690 --> 01:40:56,435 Se pou nou tape nan pi ba ka y, ka nan tèt, Antre nan. 2020 01:40:56,435 --> 01:40:59,390 2021 01:40:59,390 --> 01:41:00,700 Se konsa, mwen tape y. 2022 01:41:00,700 --> 01:41:04,420 >> Pwogram nan te di repons lan se wi, non, erè, tankou si li te chanje lide li yo. 2023 01:41:04,420 --> 01:41:09,280 Men, li kalite te, paske sa k ap pase ak yon switch se ka a premye ki 2024 01:41:09,280 --> 01:41:13,899 matche ak esansyèlman vle di, hey òdinatè, egzekite tout nan kòd la anba li. 2025 01:41:13,899 --> 01:41:16,690 Men, si ou pa di repo, oswa pa di repo, wi ou non di repo, 2026 01:41:16,690 --> 01:41:19,540 òdinatè a ki pral kònen nan tout nan liy sa yo 2027 01:41:19,540 --> 01:41:22,779 ak egzekite tout nan yo jouk li vin ak sa yo ki atèl Curly. 2028 01:41:22,779 --> 01:41:24,320 Se konsa, fren yo yo, tout bon, sa nesesè. 2029 01:41:24,320 --> 01:41:27,120 Men, yon Takeaway isit la se, lè gen dout, eseye yon bagay. 2030 01:41:27,120 --> 01:41:29,510 Petèt sove kòd ou a premye, oswa sove li nan yon dosye siplemantè 2031 01:41:29,510 --> 01:41:32,930 si w ap reyèlman enkyete w sou pitye moute epi ki gen refè 2032 01:41:32,930 --> 01:41:34,430 travay la ke ou konnen ap travay. 2033 01:41:34,430 --> 01:41:35,410 >> Men, eseye bagay sa yo. 2034 01:41:35,410 --> 01:41:38,074 Nou pa bezwen kòm pè, petèt, nan sa ki òdinatè a ta ka fè, 2035 01:41:38,074 --> 01:41:39,490 oswa ke ou ta ka kraze yon bagay. 2036 01:41:39,490 --> 01:41:42,790 Ou ka toujou retounen tounen nan kèk vèsyon pi bonè. 2037 01:41:42,790 --> 01:41:45,640 >> Se konsa nou fini pa gade nan desen an nan kòd. 2038 01:41:45,640 --> 01:41:49,020 Nou gen kapasite sa a kounye a yo ekri kondisyon, ak pasan ekri, 2039 01:41:49,020 --> 01:41:50,850 ak varyab, ak fonksyon apèl. 2040 01:41:50,850 --> 01:41:54,590 Se konsa, franchman, nou ap kalite tounen nan kote nou te yon semèn de sa ak grafouyen, 2041 01:41:54,590 --> 01:42:00,120 kwake ak yon textuelle mwens konvenkan anviwònman pase Scratch pèmèt. 2042 01:42:00,120 --> 01:42:03,990 >> Men, remake ki jan byen vit nou te akeri ki vokabilè, menm si li nan 2043 01:42:03,990 --> 01:42:07,570 pral pran yon ti tan koule nan, pou nou kapab kounye a itilize vokabilè sa a 2044 01:42:07,570 --> 01:42:10,320 yo ekri pwogram plis enteresan. 2045 01:42:10,320 --> 01:42:12,940 Li kite yo pran yon etap ti bebe nan direksyon sa, jan sa a. 2046 01:42:12,940 --> 01:42:14,890 Kite m 'ale pi devan epi kreye yon dosye nouvo isit la. 2047 01:42:14,890 --> 01:42:17,750 >> Mwen pral rele sa a prototype.c, ak prezante 2048 01:42:17,750 --> 01:42:20,954 la pou premye fwa, kapasite nan fè fonksyon pwòp ou yo. 2049 01:42:20,954 --> 01:42:22,870 Gen kèk nan ou ta ka genyen fè sa a ak grafouyen, 2050 01:42:22,870 --> 01:42:25,430 kijan ou kapab kreye ou pwòp blòk koutim nan grafouyen, 2051 01:42:25,430 --> 01:42:27,892 ak Lè sa a trennen yo nan plas tout kote ou ta renmen nan C. 2052 01:42:27,892 --> 01:42:30,100 Ak nan pifò pwogram lang, ou ka fè egzakteman 2053 01:42:30,100 --> 01:42:33,580 that-- fè fonksyon pwòp ou a, si yo pa deja egziste. 2054 01:42:33,580 --> 01:42:38,660 >> Se konsa, pou egzanp, kite m 'ale pi devan epi yo genyen ladan CS50.h, epi yo genyen ladan 2055 01:42:38,660 --> 01:42:43,110 estanda io.h, int anile prensipal la. 2056 01:42:43,110 --> 01:42:46,020 Epi, koulye a nou gen yon kontneur pare yo ale. 2057 01:42:46,020 --> 01:42:48,550 Mwen kenbe bagay sa yo enprime tankou y'ap nonmen non moun nan jodi a. 2058 01:42:48,550 --> 01:42:51,910 Apre sa, ki santi l like-- pa ta dwe nice si gen 2059 01:42:51,910 --> 01:42:53,936 te yon fonksyon rele ekri an lèt detache? 2060 01:42:53,936 --> 01:42:55,060 Mwen pa gen yo sèvi ak printf. 2061 01:42:55,060 --> 01:42:56,976 Mwen pa gen sonje tout kòd yo fòma. 2062 01:42:56,976 --> 01:43:00,050 Poukisa pa mwen menm, oswa poukisa pa t 'yon moun devan mwen, 2063 01:43:00,050 --> 01:43:02,980 kreye yon ekri an lèt detache fonksyon rele Non, ki bay kèk non, 2064 01:43:02,980 --> 01:43:03,980 tou senpleman simagri li soti? 2065 01:43:03,980 --> 01:43:08,700 >> Nan lòt mo, si mwen di, hey, òdinatè, ban m 'yon fisèl 2066 01:43:08,700 --> 01:43:11,870 pa mande itilizatè a pou sa yo, via fonksyon jwenn fisèl CS50 la. 2067 01:43:11,870 --> 01:43:15,090 Hey, òdinatè, mete sa fisèl nan varyab la nan bò men gòch, 2068 01:43:15,090 --> 01:43:16,150 epi rele li s. 2069 01:43:16,150 --> 01:43:22,150 Lè sa a,, hey òdinatè, ale pi devan epi enprime ke non moun nan, fè. 2070 01:43:22,150 --> 01:43:26,240 >> Koulye a, li ta dwe nice, paske pwogram sa a, justesse yo te rele, 2071 01:43:26,240 --> 01:43:29,170 di m 'ki sa li sipoze fè pa fason pou non moun fonksyon an. 2072 01:43:29,170 --> 01:43:32,930 Kite m 'ale, epi fè pwototip, Antre nan. 2073 01:43:32,930 --> 01:43:34,930 Epi, malerezman, sa a se pa ale nan vole. 2074 01:43:34,930 --> 01:43:39,430 >> Prototype.c, liy 7, pèsonaj 5, erè, enplisit deklarasyon 2075 01:43:39,430 --> 01:43:42,960 nan non ekri an lèt detache fonksyon se valab nan C99, C99 2076 01:43:42,960 --> 01:43:45,130 sa vle di yon vèsyon nan C ki te vin soti nan 1999. 2077 01:43:45,130 --> 01:43:45,730 Sa a tout. 2078 01:43:45,730 --> 01:43:48,780 >> Se konsa, mwen pa konnen ki sa tout bagay sa yo vle di ankò. 2079 01:43:48,780 --> 01:43:50,810 Men, mwen rekonèt erè nan wouj. 2080 01:43:50,810 --> 01:43:51,770 Sa a trè evidan. 2081 01:43:51,770 --> 01:43:53,769 >> Epi li sanble ke ak pèsonaj la vèt isit la, 2082 01:43:53,769 --> 01:43:57,520 pwoblèm nan se ak non ekri an lèt detache, louvri paren a, paren fèmen, semi-kolon. 2083 01:43:57,520 --> 01:44:01,800 Men, enplisit deklarasyon fonksyon nou te fè wè yon ti tan pi bonè. 2084 01:44:01,800 --> 01:44:04,880 Sa vle di, tou senpleman, ki rezone pa konnen ki sa mwen vle di. 2085 01:44:04,880 --> 01:44:09,000 >> Mwen te itilize yon mo vokabilè ke li nan pa janm wè oswa te anseye anvan. 2086 01:44:09,000 --> 01:44:11,950 Se konsa, mwen bezwen anseye li sa ki fonksyon sa a vle di. 2087 01:44:11,950 --> 01:44:13,590 Se konsa, mwen pral ale pi devan epi fè sa. 2088 01:44:13,590 --> 01:44:17,970 >> Mwen pral ale pi devan epi aplike fonksyon pwòp mwen rele Enprime Non. 2089 01:44:17,970 --> 01:44:24,720 Apre sa, mwen pral di, jan sa a, ki li fè sa sa a, printf, hello, pousan 2090 01:44:24,720 --> 01:44:27,760 a, antislach n, non, semi-kolon. 2091 01:44:27,760 --> 01:44:29,250 Se konsa, sa t 'mwen jis fè? 2092 01:44:29,250 --> 01:44:31,325 >> Se konsa, li vire soti, nan aplike fonksyon pwòp ou a, 2093 01:44:31,325 --> 01:44:33,845 nou kalite prete kèk nan estrikti a menm jan ak prensipal 2094 01:44:33,845 --> 01:44:35,720 ke nou te jis te pran pou yo akòde, epi mwen 2095 01:44:35,720 --> 01:44:37,730 konnen jis kopye ak kole bèl anpil ki sa 2096 01:44:37,730 --> 01:44:39,170 Mwen te ekri nan tan lontan an. 2097 01:44:39,170 --> 01:44:40,570 Men, remake modèl la isit la. 2098 01:44:40,570 --> 01:44:43,750 Int, Main, vid, nou pral toumante apa anvan lontan sa ki aktyèlman vle di. 2099 01:44:43,750 --> 01:44:46,160 >> Men, pou jodi a, jis remake paralelis la. 2100 01:44:46,160 --> 01:44:48,210 Vid, non ekri an lèt detache, Non fisèl, se konsa gen nan 2101 01:44:48,210 --> 01:44:50,310 yon mo kle koulè wouj violèt, ki nou ap ale nan kòmanse 2102 01:44:50,310 --> 01:44:54,067 rele yon kalite retou, non an nan fonksyon an, ak Lè sa a D 'a. 2103 01:44:54,067 --> 01:44:56,400 Se konsa, aktyèlman, nou ka distile sa a kalite tankou semèn pase a 2104 01:44:56,400 --> 01:44:59,030 kòm, sa a se non an oswa nan algorithm nan kòd la nou ap 2105 01:44:59,030 --> 01:45:00,761 ale nan write-- la algorithm kache 2106 01:45:00,761 --> 01:45:02,010 kòd la nou ap ale nan ekri. 2107 01:45:02,010 --> 01:45:03,180 >> Sa a se opinyon li yo. 2108 01:45:03,180 --> 01:45:04,670 Sa a se pwodiksyon li yo. 2109 01:45:04,670 --> 01:45:08,730 Fonksyon sa a, non ekri an lèt detache, se fèt yo pran yon afè rele, 2110 01:45:08,730 --> 01:45:11,350 oswa kèlkeswa sa, kòm D ', ak Lè sa a anile. 2111 01:45:11,350 --> 01:45:13,904 Li pa retounen anyen, tankou jwenn fisèl oswa pou w jwenn int fè. 2112 01:45:13,904 --> 01:45:15,570 Se konsa, li k ap pase nan men m 'yon bagay tounen. 2113 01:45:15,570 --> 01:45:17,960 Li nan jis pral gen yon efè segondè, se konsa pale, 2114 01:45:17,960 --> 01:45:19,570 nan enprime non yon moun nan. 2115 01:45:19,570 --> 01:45:22,260 Se konsa, avi, liy 7, mwen ka rele ekri an lèt detache. 2116 01:45:22,260 --> 01:45:25,920 Liy 10, mwen kapab defini oswa aplike Non ekri an lèt detache. 2117 01:45:25,920 --> 01:45:28,450 Men, malerezman, sa a, se pa ase. 2118 01:45:28,450 --> 01:45:31,230 >> Kite m 'ale pi devan epi compile sa a apre ekonomize. 2119 01:45:31,230 --> 01:45:33,910 Whoa, kounye a, mwen te fè l ' vin pi mal, li ta sanble. 2120 01:45:33,910 --> 01:45:37,027 Se konsa, enplisit deklarasyon Non fonksyon ekri an lèt detache se valab. 2121 01:45:37,027 --> 01:45:38,360 Epi, ankò, gen nan plis erè. 2122 01:45:38,360 --> 01:45:41,430 Men, jan mwen avèti pi bonè, menm si ou jwenn akable ak, 2123 01:45:41,430 --> 01:45:44,850 oswa yon ti kras tris yo wè anpil erè, konsantre sèlman sou premye a 2124 01:45:44,850 --> 01:45:47,500 okòmansman, paske li ta ka jis te gen yon efè kaskad. 2125 01:45:47,500 --> 01:45:51,970 Se konsa, C, oswa rezone plis espesyalman, toujou pa rekonèt non ekri an lèt detache. 2126 01:45:51,970 --> 01:45:54,580 >> Epi sa a, paske rezone, pa konsepsyon, se kalite bèbè. 2127 01:45:54,580 --> 01:45:56,280 Li sèlman fè sa ou di l 'fè. 2128 01:45:56,280 --> 01:46:00,950 Epi, se sèlman fè sa yo nan lòd la nan kote ou di l 'bay fè. 2129 01:46:00,950 --> 01:46:05,270 >> Se konsa, mwen te defini prensipal la sou liy kat, tankou nou ve yo te fè bèl souvan. 2130 01:46:05,270 --> 01:46:07,980 Mwen te defini Non ekri an lèt detache sou liy 10. 2131 01:46:07,980 --> 01:46:11,793 Men, mwen ap eseye sèvi ak Non ekri an lèt detache sou liy sèt. 2132 01:46:11,793 --> 01:46:13,670 >> Li nan twò bonè, pa egziste ankò. 2133 01:46:13,670 --> 01:46:19,150 Se konsa, mwen ta ka entelijan, yo epi yo dwe tankou, OK, se konsa kite yo jis jwe ansanm, 2134 01:46:19,150 --> 01:46:23,680 yo epi li deplase Non ekri an lèt detache moute isit la, ak re-konpile. 2135 01:46:23,680 --> 01:46:24,550 O Bondye. 2136 01:46:24,550 --> 01:46:25,260 Li te travay. 2137 01:46:25,260 --> 01:46:26,670 Se te tankou senp tankou sa. 2138 01:46:26,670 --> 01:46:28,120 >> Men, lojik la se egzakteman sa. 2139 01:46:28,120 --> 01:46:30,870 Ou gen yo anseye rezone sa li se pa defini fonksyon la an premye. 2140 01:46:30,870 --> 01:46:31,920 Lè sa a, ou ka sèvi ak li. 2141 01:46:31,920 --> 01:46:33,940 Men, franchman, sa a santi l tankou yon pant glise. 2142 01:46:33,940 --> 01:46:35,773 >> Se konsa, chak fwa mwen kouri nan yon pwoblèm, Mwen jis 2143 01:46:35,773 --> 01:46:39,450 ale nan mete aksan sou ak fè kopi kòd la Mwen te ekri, koupe l epi kole li moute isit la. 2144 01:46:39,450 --> 01:46:41,370 Epi, siman, nou te kapab konbine kèk senaryo 2145 01:46:41,370 --> 01:46:43,286 kote yon fonksyon ta ka bezwen rele yon lòt. 2146 01:46:43,286 --> 01:46:46,030 Epi ou jis pa ka mete tout fonksyon pi wo a tout lòt. 2147 01:46:46,030 --> 01:46:47,930 >> Se konsa, li vire soti gen nan yon solisyon pi bon. 2148 01:46:47,930 --> 01:46:50,100 Nou ka kite sa a dwe. 2149 01:46:50,100 --> 01:46:53,677 Epi, franchman, li nan jeneralman bèl, ak pratik, ak bon konsepsyon 2150 01:46:53,677 --> 01:46:56,760 yo mete prensipal premye, paske, ankò, prensipal jis tankou lè vèt drapo klike, 2151 01:46:56,760 --> 01:46:59,027 ki se fonksyon an ki vin egzekite pa default. 2152 01:46:59,027 --> 01:47:01,110 Se konsa, ou ta ka kòm byen mete li nan tèt la nan dosye a 2153 01:47:01,110 --> 01:47:03,560 se konsa ke lè ou oswa nenpòt lòt moun parèt nan dosye a 2154 01:47:03,560 --> 01:47:06,360 ou konnen ki sa k ap pase sou jis pa lekti prensipal an premye. 2155 01:47:06,360 --> 01:47:15,360 Se konsa, li vire soti, nou ka di rezone dinamik, hey, rezone, sou liy kat, 2156 01:47:15,360 --> 01:47:17,940 Mwen te pwomèt aplike yon fonksyon rele Enprime 2157 01:47:17,940 --> 01:47:22,600 Non ki pran yon non fisèl rele kòm D ', epi retounen pa gen anyen, anile. 2158 01:47:22,600 --> 01:47:24,770 Apre sa, mwen pral jwenn otou nan mete ann aplikasyon li pita. 2159 01:47:24,770 --> 01:47:25,680 >> La ap vini Main. 2160 01:47:25,680 --> 01:47:29,130 Main kounye a sou liy 9 ka itilize Ekri an lèt detache Non paske rezone 2161 01:47:29,130 --> 01:47:32,600 se kwè ki, evantyèlman, li pral kontre definisyon an 2162 01:47:32,600 --> 01:47:34,880 nan aplikasyon an nan Enprime Non. 2163 01:47:34,880 --> 01:47:37,390 Se konsa, apre ekonomize dosye mwen, se pou m 'ale pi devan epi fè pwototip, 2164 01:47:37,390 --> 01:47:38,498 sanble bon moman sa a. 2165 01:47:38,498 --> 01:47:43,470 Dot koupe, pwototip, kite m ' ale pi devan epi tape nan yon non. 2166 01:47:43,470 --> 01:47:48,440 David, alo David, Zamila, alo Zamila, epi, tout bon, kounye a li ap travay. 2167 01:47:48,440 --> 01:47:52,200 >> Se konsa, engredyan nan isit la se ke nou te te fè yon fonksyon koutim, tankou yon koutim 2168 01:47:52,200 --> 01:47:54,219 Grafouyen blòk nou ap rele li. 2169 01:47:54,219 --> 01:47:57,010 Men, kontrèman ak grafouyen kote ou ka jis kreye li epi yo kòmanse lè l sèvi avèk li, 2170 01:47:57,010 --> 01:47:59,330 kounye a nou gen yo dwe yon ti kras pi plis pedant, 2171 01:47:59,330 --> 01:48:03,410 ak aktyèlman tren rezone yo sèvi ak, oswa ou kapab espere li. 2172 01:48:03,410 --> 01:48:09,140 Koulye a, kòm yon sou kote, poukisa tout tan tout tan sa a gen nou te jis je fèmen sou lafwa ki gen ladan 2173 01:48:09,140 --> 01:48:12,170 CS50.h, epi ki gen ladan estanda io.h? 2174 01:48:12,170 --> 01:48:15,190 >> Oke, li vire soti, nan mitan yon kèk lòt bagay, 2175 01:48:15,190 --> 01:48:18,550 tout sa a, se nan sa yo h dot dosye, ki rive yo dwe dosye. 2176 01:48:18,550 --> 01:48:20,460 Yo ap header dosye, se konsa pale. 2177 01:48:20,460 --> 01:48:23,270 Yo toujou ap ekri nan C. Men, yo ap yon kalite diferan nan dosye-a. 2178 01:48:23,270 --> 01:48:28,690 >> Pou kounye a, ou ka bèl anpil asime bagay ki andedan nan CS50.h 2179 01:48:28,690 --> 01:48:33,360 se kèk yon sèl-Materio ki kouvri tankou sa a, pa pou fonksyon rele Enprime Non, 2180 01:48:33,360 --> 01:48:36,840 men pou Jwenn fisèl, Jwenn Flote, ak yon lòt moun kèk. 2181 01:48:36,840 --> 01:48:41,510 E genyen anpil prototip ki similè yo, youn Materio ki kouvri, andedan nan estanda io.h 2182 01:48:41,510 --> 01:48:46,241 pou printf, ki se kounye a nan pwòp mwen Enprime Non fonksyon. 2183 01:48:46,241 --> 01:48:49,490 Se konsa, nan lòt mo, tan sa a tout antye nou te jis te je fèmen w kopye e kole 2184 01:48:49,490 --> 01:48:51,780 gen ladan sa a, gen ladan yo sa, sa k ap pase sou? 2185 01:48:51,780 --> 01:48:55,310 Moun sa yo se jis kalite endikasyon a sonnen tankou sa ki fonksyon 2186 01:48:55,310 --> 01:49:00,170 yo, tout bon, aplike, jis yon lòt kote nan dosye diferan 2187 01:49:00,170 --> 01:49:02,440 yon lòt kote sou sistèm nan. 2188 01:49:02,440 --> 01:49:05,160 >> Se konsa, nou te aplike Non ekri an lèt detache. 2189 01:49:05,160 --> 01:49:07,910 Li fè sa ki gen efè segondè sa a nan enprime yon bagay sou ekran an. 2190 01:49:07,910 --> 01:49:10,170 Men, li fè sa pa aktyèlman men m 'yon bagay tounen. 2191 01:49:10,170 --> 01:49:12,200 Ki jan nou ale sou mete ann aplikasyon yon pwogram ki 2192 01:49:12,200 --> 01:49:14,510 men m 'yon bagay tounen ankò? 2193 01:49:14,510 --> 01:49:15,580 >> Oke, kite la eseye sa a. 2194 01:49:15,580 --> 01:49:21,360 Kite m 'ale pi devan epi aplike yon dosye rele return.c 2195 01:49:21,360 --> 01:49:24,530 pou nou ka demontre kouman yon bagay tankou Jwenn fisèl, oswa Jwenn Int, 2196 01:49:24,530 --> 01:49:27,340 se aktyèlman retounen yon bagay tounen nan itilizatè a. 2197 01:49:27,340 --> 01:49:29,840 Se pou nou ale pi devan epi defini int anile prensipal la. 2198 01:49:29,840 --> 01:49:33,230 >> Epi, ankò, nan tan kap vini an, nou pral eksplike ki sa sa int e ke anile 2199 01:49:33,230 --> 01:49:34,090 se aktyèlman fè. 2200 01:49:34,090 --> 01:49:35,840 Men, pou jodi a, nou pral pran li pou yo akòde. 2201 01:49:35,840 --> 01:49:39,970 Mwen pral ale pi devan epi printf, pou yon eksperyans itilizatè bon, x se. 2202 01:49:39,970 --> 01:49:44,360 Lè sa a, mwen pral rete tann pou la itilizatè yo ban m 'x ak jwenn int. 2203 01:49:44,360 --> 01:49:48,459 >> Lè sa a, mwen pral ale pi devan epi enprime soti x nan kare a. 2204 01:49:48,459 --> 01:49:50,500 Se konsa, lè ou gen sèlman yon entènèt klavye, moun souvan 2205 01:49:50,500 --> 01:49:52,600 sèvi ak kawòt nan ti kras senbòl sou klavye a 2206 01:49:52,600 --> 01:49:55,330 ki reprezante sou pouvwa a nan, oswa ekspozan an nan. 2207 01:49:55,330 --> 01:49:58,960 Se konsa, x au se prezan mwen. 2208 01:49:58,960 --> 01:50:00,660 >> Epi, koulye a mwen pral fè sa. 2209 01:50:00,660 --> 01:50:03,940 Mwen te kapab jis do-- sa ki nan x okib? x au se x fwa x. 2210 01:50:03,940 --> 01:50:06,690 >> Epi nou te sa a kèk tan de sa deja jodi a. 2211 01:50:06,690 --> 01:50:08,730 Sa a pa santi tankou tout sa ki pwogrè anpil. 2212 01:50:08,730 --> 01:50:09,570 Ou konnen ki sa? 2213 01:50:09,570 --> 01:50:13,100 Se pou nou ogmante kèk nan lide ke soti nan dènye fwa nan distraksyon. 2214 01:50:13,100 --> 01:50:16,080 >> Pa li ta dwe nice si gen nan yon fonksyon rele 2215 01:50:16,080 --> 01:50:18,460 kare ki fè egzakteman sa? 2216 01:50:18,460 --> 01:50:20,640 Li toujou, nan fen a jou, fè matematik la menm. 2217 01:50:20,640 --> 01:50:22,410 Men, kite a abstrè lwen lide a nan pran 2218 01:50:22,410 --> 01:50:25,280 yon sèl nimewo miltipliye pa yon lòt, ak jis bay li yon non, 2219 01:50:25,280 --> 01:50:27,360 tankou kare sa a valè. 2220 01:50:27,360 --> 01:50:29,560 >> Epi, nan lòt mo, nan C, se pou yo kreye yon fonksyon 2221 01:50:29,560 --> 01:50:32,660 rele kare ki fè egzakteman sa. 2222 01:50:32,660 --> 01:50:34,600 Li k ap pase yo dwe rele kare. 2223 01:50:34,600 --> 01:50:35,790 Li nan pral pran yon int. 2224 01:50:35,790 --> 01:50:37,820 Epitou, n ap pral jis rele l 'n, pa default. 2225 01:50:37,820 --> 01:50:39,403 >> Men, nou te kapab rele l 'anyen nou vle. 2226 01:50:39,403 --> 01:50:42,900 Tout moun ki li pral yo fè, literalman, se retounen 2227 01:50:42,900 --> 01:50:45,810 rezilta a nan n fwa n. 2228 01:50:45,810 --> 01:50:48,980 Men, paske li se retounen yon bagay, ki 2229 01:50:48,980 --> 01:50:53,690 se mo kle a nan koulè wouj violèt nou te pa janm wè anvan, mwen menm sou liy 11, 2230 01:50:53,690 --> 01:50:55,410 pa ka jis di anile moman sa a. 2231 01:50:55,410 --> 01:51:01,320 >> Vid, nan egzanp lan nou jis te wè olye nan non ekri an lèt detache, jis vle di, 2232 01:51:01,320 --> 01:51:02,190 fè yon bagay. 2233 01:51:02,190 --> 01:51:04,170 Men, pa men m 'yon bagay tounen. 2234 01:51:04,170 --> 01:51:06,790 Nan ka sa a, mwen vle retounen n fwa n, 2235 01:51:06,790 --> 01:51:08,460 oswa kèlkeswa sa se sa ki, ki kantite. 2236 01:51:08,460 --> 01:51:12,460 >> Se konsa, mwen pa ka di, hey, òdinatè, M'a tounen soti pa gen anyen, anile. 2237 01:51:12,460 --> 01:51:16,166 Li nan ale nan retounen, pa nati, yon int. 2238 01:51:16,166 --> 01:51:17,790 Se konsa, sa a, se tout sa ki k ap pase sou isit la. 2239 01:51:17,790 --> 01:51:20,070 >> D 'nan kare a pwal yon int. 2240 01:51:20,070 --> 01:51:24,760 Se konsa, ke nou ka sèvi ak li, li te gen yon non, pèsonaj Li nan ale nan pwodiksyon 2241 01:51:24,760 --> 01:51:26,240 yon int ki pa bezwen yon non. 2242 01:51:26,240 --> 01:51:29,590 Nou ka kite li nan prensipal la, oswa moun ki va se lè l sèvi avèk m 'nan sonje sa a valè si nou 2243 01:51:29,590 --> 01:51:31,120 vle ak varyab pwòp li yo. 2244 01:51:31,120 --> 01:51:33,230 >> Epi, ankò, nouvo a sèlman mo kle isit la se Retounen. 2245 01:51:33,230 --> 01:51:34,480 Apre sa, mwen jis ap fè kèk matematik. 2246 01:51:34,480 --> 01:51:41,825 Si m 'reyèlman te vle fè nesesè, Mwen te kapab di pwodwi int vin n fwa n. 2247 01:51:41,825 --> 01:51:44,170 >> Lè sa a, mwen te kapab di, retounen pwodwi. 2248 01:51:44,170 --> 01:51:47,360 Men, ankò, nan pwen mwen pi bonè nan sa a jis pa yo te bon design-- 2249 01:51:47,360 --> 01:51:50,060 tankou, poukisa prezante yon non, yon senbòl, tankou pwodwi, 2250 01:51:50,060 --> 01:51:51,570 jis imedyatman retounen li? 2251 01:51:51,570 --> 01:51:53,670 Li se yon cleaner ti kras, yon ti kras pi sere, se konsa 2252 01:51:53,670 --> 01:51:59,380 konsa pale, jis vle di retounen n fwa n, debarase m de liy sa a tout ansanm. 2253 01:51:59,380 --> 01:52:02,860 >> Lè li nan jis mwens Kòd li, mwens opòtinite pou erè. 2254 01:52:02,860 --> 01:52:05,180 Li kite yo wè si sa a aktyèlman kounye a ap travay. 2255 01:52:05,180 --> 01:52:09,380 Koulye a, mwen pral ale pi devan epi fè retou. 2256 01:52:09,380 --> 01:52:11,460 >> Uh-oh, enplisit deklarasyon fonksyon. 2257 01:52:11,460 --> 01:52:14,080 Mwen te fè erè sa a anvan, okenn kontra gwo. 2258 01:52:14,080 --> 01:52:18,950 Kite m 'jis tape, oswa mete aksan sou ak kopi, egzak menm fonksyon pwototip a, 2259 01:52:18,950 --> 01:52:21,342 oswa siyati, nan fonksyon an moute isit la. 2260 01:52:21,342 --> 01:52:22,800 Oswa mwen te kapab deplase fonksyon a tout antye. 2261 01:52:22,800 --> 01:52:23,841 >> Men, sa a yon ti kras parese. 2262 01:52:23,841 --> 01:52:24,870 Se konsa, nou pa pral fè sa. 2263 01:52:24,870 --> 01:52:27,960 Koulye a, kite m 'fè retounen ankò, dot koupe retou. 2264 01:52:27,960 --> 01:52:32,790 >> x se 2. x au se 4. x se 3. x au se 9. 2265 01:52:32,790 --> 01:52:35,300 Ak fonksyon an sanble kounye a yo dwe ap travay. 2266 01:52:35,300 --> 01:52:36,550 Se konsa, sa ki nan diferans ki genyen isit la? 2267 01:52:36,550 --> 01:52:42,520 Mwen gen yon fonksyon ki yo rele kare, nan ka sa a, ki mwen mete nan yon opinyon. 2268 01:52:42,520 --> 01:52:43,830 Apre sa, mwen jwenn tounen yon pwodiksyon. 2269 01:52:43,830 --> 01:52:46,210 E ankò, deja, si Mwen louvri lòt egzanp nan 2270 01:52:46,210 --> 01:52:51,640 soti nan pi bonè, ki te rele prototype.c, 2271 01:52:51,640 --> 01:52:54,770 Mwen te gen Non ekri an lèt detache, ki tounen anile, se konsa pale, 2272 01:52:54,770 --> 01:52:58,730 Oswa li tounen pa gen anyen, ak tou senpleman te gen yon efè segondè. 2273 01:52:58,730 --> 01:53:00,230 >> Se konsa, sa k ap pase sou isit la? 2274 01:53:00,230 --> 01:53:03,520 Oke, konsidere fonksyon an jwenn fisèl sèlman pou moman yon. 2275 01:53:03,520 --> 01:53:06,570 Nou te ap lè l sèvi avèk fonksyon an jwenn fisèl nan fason sa a. 2276 01:53:06,570 --> 01:53:10,464 >> Nou te gen yon fonksyon jwenn fisèl, tankou gen ladan CS50.h, 2277 01:53:10,464 --> 01:53:16,624 gen ladan estanda io.h, int, prensipal yo, anile. 2278 01:53:16,624 --> 01:53:18,790 Lè sa a, chak fwa mwen te rele jwenn fisèl konsa byen lwen, 2279 01:53:18,790 --> 01:53:23,260 Mwen te di yon bagay tankou, fisèl la vin jwenn fisèl, paske jwenn string-- 2280 01:53:23,260 --> 01:53:27,880 kite a rele sa a fisèl jwenn get.c-- tèt li retounen yon kòd ke mwen ka Lè sa a 2281 01:53:27,880 --> 01:53:32,050 sèvi ak, ak di, hello, vigil, pousan nan, antislach n, la. 2282 01:53:32,050 --> 01:53:35,660 >> Se konsa, sa a se egzanp nan menm, reyèlman, ke nou te pi bonè. 2283 01:53:35,660 --> 01:53:37,920 Se konsa, jwenn fisèl retounen yon valè. 2284 01:53:37,920 --> 01:53:41,260 Men, yon ti moman de sa, enprime fisèl pa retounen yon valè. 2285 01:53:41,260 --> 01:53:42,721 Li tou senpleman gen yon efè segondè. 2286 01:53:42,721 --> 01:53:44,220 Se konsa, sa a se yon diferans fondamantal. 2287 01:53:44,220 --> 01:53:46,710 Nou te wè diferan kalite fonksyon kounye a, 2288 01:53:46,710 --> 01:53:49,490 kèk nan yo ki te retounen valè, kèk nan yo ki pa fè sa. 2289 01:53:49,490 --> 01:53:51,890 Se konsa, petèt li nan fisèl, oswa int, oswa flote. 2290 01:53:51,890 --> 01:53:53,480 Oswa petèt li nan jis anile. 2291 01:53:53,480 --> 01:53:55,710 >> Apre sa, diferans lan se ki fonksyon sa yo ki 2292 01:53:55,710 --> 01:53:59,940 jwenn done epi retounen se yon valè yo aktyèlman pote yon bagay tounen nan tab la, 2293 01:53:59,940 --> 01:54:01,110 se konsa pale. 2294 01:54:01,110 --> 01:54:03,710 Se konsa nou ale pi devan epi gade nan yon sèl seri final 2295 01:54:03,710 --> 01:54:09,129 nan egzanp ki bay yon sans, kounye a, nan ki jan nou ta ka, tout bon, abstrè pi bon, 2296 01:54:09,129 --> 01:54:11,670 ak pi bon, ak pi bon, oswa plis, ak plis ankò, ak plis ankò, yo nan lòd 2297 01:54:11,670 --> 01:54:13,810 yo ekri, finalman, pi bon kòd. 2298 01:54:13,810 --> 01:54:16,860 Se pou nou ale pi devan, ak nan Lespri Bondye a nan grafouyen, fè sa ki annapre yo. 2299 01:54:16,860 --> 01:54:21,700 >> Kite m 'ale pi devan epi yo genyen ladan CS50.h ak estanda IO.h. 2300 01:54:21,700 --> 01:54:24,010 Kite m 'ale pi devan epi bay tèt mwen yon int, prensipal yo, anile. 2301 01:54:24,010 --> 01:54:27,380 Ak kite m 'ale pi devan, rele cough.c sa a. 2302 01:54:27,380 --> 01:54:35,510 >> Ak kite m 'ale pi devan epi jis tankou grafouyen, enprime soti tous / n. 2303 01:54:35,510 --> 01:54:37,170 Apre sa, mwen vle fè sa twa fwa. 2304 01:54:37,170 --> 01:54:39,670 Se konsa, mwen, nan kou, jis ale a kapab bay kopi ak keratin twa fwa. 2305 01:54:39,670 --> 01:54:46,440 Mwen kounye a pral fè touse dot tous koupe. 2306 01:54:46,440 --> 01:54:50,120 Se pou nou bay tèt mwen yon ti kras plis chanm isit la, Antre, tous, tous, tous. 2307 01:54:50,120 --> 01:54:53,970 >> Genyen, evidamman, deja yon opòtinite pou amelyorasyon. 2308 01:54:53,970 --> 01:54:55,679 Mwen te kopye ak kole yon fwa kèk jodi a. 2309 01:54:55,679 --> 01:54:58,261 Men, sa te sèlman Se konsa, mwen pa t ' gen tape karaktè kòm anpil moun. 2310 01:54:58,261 --> 01:55:00,250 Mwen toujou chanje sa liy sa yo nan kòd ye. 2311 01:55:00,250 --> 01:55:04,240 >> Liy sa yo twa yo ki idantik, ki santi l parese ak tout bon se, se 2312 01:55:04,240 --> 01:55:07,110 ak se pwobableman pa apwòch dwat la. 2313 01:55:07,110 --> 01:55:11,029 Se konsa, avèk ki sa engredyan nou te ka amelyore kòd sa a? 2314 01:55:11,029 --> 01:55:12,570 Nou pa gen a kapab bay kopi ak kòd keratin. 2315 01:55:12,570 --> 01:55:15,070 >> Epi, tout bon, nenpòt ki lè ou santi ou tèt ou kopye e kole, 2316 01:55:15,070 --> 01:55:17,700 epi yo pa menm chanje kòd, chans yo se gen nan yon fason pi bon. 2317 01:55:17,700 --> 01:55:19,470 Epi, tout bon, gen. 2318 01:55:19,470 --> 01:55:22,510 Kite m 'ale pi devan epi fè yon pou riban, menm si sentaks la pa ta ka 2319 01:55:22,510 --> 01:55:24,570 vini natirèlman ankò. 2320 01:55:24,570 --> 01:55:29,494 >> Fè sa twa fwa, tou senpleman pa fè annapre nan 2321 01:55:29,494 --> 01:55:31,160 ak mwen rive konnen sa a soti nan pratik. 2322 01:55:31,160 --> 01:55:32,810 Men, nou gen yon nimewo nan egzanp kounye a. 2323 01:55:32,810 --> 01:55:34,950 Men, ou pral wè sou entènèt plis referans toujou. 2324 01:55:34,950 --> 01:55:37,790 >> Sa a se sentaks la sou liy 6, ki anpil tankou Grafouyen ki repete 2325 01:55:37,790 --> 01:55:40,090 blòk, repete yo twa fwa yo. 2326 01:55:40,090 --> 01:55:41,340 Li se yon ti kras majik pou kounye a. 2327 01:55:41,340 --> 01:55:43,050 Men, sa a pral jwenn plis, ak plis ankò yo konnen yo. 2328 01:55:43,050 --> 01:55:45,050 >> Epi, se k ap pase yo repete liy uit twa fwa, 2329 01:55:45,050 --> 01:55:52,390 se konsa ke si mwen re-konpile fè tous, dot koupe tous, tous, tous, tous. 2330 01:55:52,390 --> 01:55:54,030 Li toujou ap travay menm jan an. 2331 01:55:54,030 --> 01:55:55,550 Se poutèt sa se tout bon epi li bon. 2332 01:55:55,550 --> 01:55:58,200 Men, sa a pa trè distrè. 2333 01:55:58,200 --> 01:55:59,371 >> Li nan parfe kòrèk. 2334 01:55:59,371 --> 01:56:01,370 Men, li santi l tankou gen te kapab yon opòtinite, 2335 01:56:01,370 --> 01:56:03,750 tankou nan mond lan nan Grafouyen, nan kalite kòmanse 2336 01:56:03,750 --> 01:56:07,530 ajoute kèk Semantics isit la se konsa ke Mwen pa jis gen kèk pou riban, 2337 01:56:07,530 --> 01:56:09,867 ak yon fonksyon ki di touse, oswa touse. 2338 01:56:09,867 --> 01:56:10,450 Ou konnen ki sa? 2339 01:56:10,450 --> 01:56:12,620 Kite m 'eseye gen yon ti kras pi fre pase sa, 2340 01:56:12,620 --> 01:56:16,090 ak aktyèlman ekri yon fonksyon ki gen kèk efè segondè, rele l 'ap touse. 2341 01:56:16,090 --> 01:56:20,830 >> Epi, se pa pran opinyon, ak retounen pa gen okenn valè kòm pwodiksyon. 2342 01:56:20,830 --> 01:56:22,680 Men, ou konnen ki sa li fè? 2343 01:56:22,680 --> 01:56:29,370 Li fè sa ki sa a men printf, quote unquote, touse. 2344 01:56:29,370 --> 01:56:32,380 >> Epi, koulye a moute isit la, mwen pral ale pi devan epi pou int, 2345 01:56:32,380 --> 01:56:36,070 mwen vin zewo, mwen mwens pase 3, mwen plis plis. 2346 01:56:36,070 --> 01:56:39,770 Mwen pral pa fè printf, ki se joui yon aplikasyon nivo ki ba 2347 01:56:39,770 --> 01:56:40,270 detay. 2348 01:56:40,270 --> 01:56:41,353 Mwen pa pran swen ki jan yo touse. 2349 01:56:41,353 --> 01:56:43,240 Mwen jis vle yo sèvi ak fonksyon an tous. 2350 01:56:43,240 --> 01:56:44,840 Apre sa, mwen jis ale nan rele tous. 2351 01:56:44,840 --> 01:56:46,204 >> Koulye a, remake dikotomi nan. 2352 01:56:46,204 --> 01:56:49,370 Lè ou rele yon fonksyon, si ou pa fè sa vle bay li entrain, totalman amann. 2353 01:56:49,370 --> 01:56:51,780 Ou menm, fè paren louvri, fèmen paren, epi ou ap fè. 2354 01:56:51,780 --> 01:56:56,271 >> Lè ou defini yon fonksyon, oswa deklare pwototip yon fonksyon a, 2355 01:56:56,271 --> 01:56:58,770 si ou konnen davans li pa pral pran nenpòt agiman, 2356 01:56:58,770 --> 01:57:01,170 di anile nan sa yo parantèz la. 2357 01:57:01,170 --> 01:57:05,660 Epi sa fè sèten ke ou pa pral aksidantèlman sèvi mal ak li. 2358 01:57:05,660 --> 01:57:07,020 Kite m 'ale pi devan epi fè tous. 2359 01:57:07,020 --> 01:57:08,540 Epi, nan kou, mwen te fè yon erè. 2360 01:57:08,540 --> 01:57:10,410 >> Dammit, gen nan ki enplisit deklarasyon an. 2361 01:57:10,410 --> 01:57:11,325 Men, sa a amann. 2362 01:57:11,325 --> 01:57:12,590 Se yon ranje fasil. 2363 01:57:12,590 --> 01:57:18,240 Mwen jis bezwen pwototip a moute pi wo nan dosye mwen pase mwen aktyèlman lè l sèvi avèk li. 2364 01:57:18,240 --> 01:57:20,070 >> Se konsa, kounye a kite m 'fè tous ankò, bèl. 2365 01:57:20,070 --> 01:57:20,790 Koulye a, li fonksyone. 2366 01:57:20,790 --> 01:57:22,930 Fè tous, tous, tous, tous. 2367 01:57:22,930 --> 01:57:25,930 Se konsa, ou ta ka panse ke nou ap reyèlman jis plis pase jeni pwoblèm sa a. 2368 01:57:25,930 --> 01:57:26,763 Epi, tout bon, nou ye. 2369 01:57:26,763 --> 01:57:28,870 Sa a se pa yon bon kandida nan yon pwogram 2370 01:57:28,870 --> 01:57:31,930 nan moman sa a pou rfaktorizasyon, ak fè sa ki nan 2371 01:57:31,930 --> 01:57:35,645 rele yerarchize dekonpozisyon, ki kote ou pran kèk kòd, ak Lè sa 2372 01:57:35,645 --> 01:57:38,790 ou kalite faktè bagay sa yo soti, se konsa yo enpute plis Semantics yo: 2373 01:57:38,790 --> 01:57:40,930 ak jam itilize li finalman long tèm. 2374 01:57:40,930 --> 01:57:43,490 Men, li la yon blòk bilding nan direksyon pwogram pi plis sofistike 2375 01:57:43,490 --> 01:57:45,600 ke nou ap kòmanse ekri anvan lontan ki 2376 01:57:45,600 --> 01:57:50,090 pèmèt nou gen vokabilè a ak ki ekri pi bon kòd. 2377 01:57:50,090 --> 01:57:52,920 Epi, tout bon, se pou yo wè si nou pa ka jeneralizasyon sa a pi lwen. 2378 01:57:52,920 --> 01:57:57,984 >> Li sanble yon ti kras moun k'ap bwete se mwen menm, prensipal yo, bezwen enkyete sou sa a reprize pou riban, 2379 01:57:57,984 --> 01:57:59,400 ak rele tous ankò e ankò. 2380 01:57:59,400 --> 01:58:03,050 Poukisa nou pa mwen ka jis di tous, tanpri touse twa fwa? 2381 01:58:03,050 --> 01:58:08,170 Nan lòt mo, poukisa yo pa kapab mwen jis bay opinyon yo touse ak fè sa? 2382 01:58:08,170 --> 01:58:11,270 >> Poukisa nou pa mwen ka jis di, nan tous prensipal twa fwa. 2383 01:58:11,270 --> 01:58:13,150 Epi, koulye a, sa a se kalite majik. 2384 01:58:13,150 --> 01:58:14,540 Li trè repete isit la. 2385 01:58:14,540 --> 01:58:15,940 Epitou, se, tout bon, yon etap ti bebe. 2386 01:58:15,940 --> 01:58:19,250 >> Men, jis kapasite nan di sou liy uit, touse twa fwa, 2387 01:58:19,250 --> 01:58:20,730 li nan jis pou pi plis lizib. 2388 01:58:20,730 --> 01:58:24,210 Epi, plis, mwen pa gen konnen oswa pran swen ki jan tous se aplike. 2389 01:58:24,210 --> 01:58:26,460 Epi, tout bon, pita nan la tèm ak pou pwojè final la, 2390 01:58:26,460 --> 01:58:29,150 si ou atake yon pwojè ak yon kondisip klas oswa de kamarad klas, 2391 01:58:29,150 --> 01:58:32,370 ou pral reyalize ke w ap ale nan gen, oswa ou ta renmen, divize travay la. 2392 01:58:32,370 --> 01:58:34,650 >> Apre sa, w ap ale nan vle deside nan avanse, ki moun ki k ap pase yo fè sa, 2393 01:58:34,650 --> 01:58:35,483 ak nan ki moso? 2394 01:58:35,483 --> 01:58:37,520 Li pa t 'li dwe nice si ou, pou egzanp, 2395 01:58:37,520 --> 01:58:40,100 pran chaj nan ekri prensipal yo, fè. 2396 01:58:40,100 --> 01:58:43,470 Apre sa, kolokasyon ou, oswa ou patnè plis jeneralman, 2397 01:58:43,470 --> 01:58:45,230 pran swen nan mete ann aplikasyon tous. 2398 01:58:45,230 --> 01:58:49,540 >> Ak divizyon sa a, sa yo mi nan distraksyon, 2399 01:58:49,540 --> 01:58:52,310 oswa kouch nan distraksyon si ou pral, yo se super pwisan, 2400 01:58:52,310 --> 01:58:55,480 paske espesyalman pou pi gwo, plis pwogram konplèks ak sistèm, 2401 01:58:55,480 --> 01:59:00,070 li pèmèt moun miltip yo bati bagay sa yo ansanm, epi finalman 2402 01:59:00,070 --> 01:59:02,680 stitched travay yo ansanm nan fason sa. 2403 01:59:02,680 --> 01:59:05,332 Men, nan kou, nou bezwen kounye a ranje tous. 2404 01:59:05,332 --> 01:59:07,290 Nou bezwen di tous sa, hey, ou konnen ki sa? 2405 01:59:07,290 --> 01:59:11,230 W ap ale nan bezwen pran yon input-- Se konsa, pa anile, men int ak kounye a. 2406 01:59:11,230 --> 01:59:15,170 Se pou nou ale pi devan epi mete nan touse int la. mwen vin zewo. 2407 01:59:15,170 --> 01:59:16,890 >> mwen se mwens pase konbyen fwa. 2408 01:59:16,890 --> 01:59:18,550 M 'te di twa anvan. 2409 01:59:18,550 --> 01:59:20,420 Men se pa sèlman sa m 'vle. 2410 01:59:20,420 --> 01:59:25,520 Mwen vle touse yo dwe jeneralize sipòte nenpòt ki kantite itérations. 2411 01:59:25,520 --> 01:59:28,800 >> Se konsa, tout bon, li nan n ke mwen vle, tou sa itilizatè a di m '. 2412 01:59:28,800 --> 01:59:31,620 Koulye a, mwen ka ale pi devan epi di ekri an lèt detache tous. 2413 01:59:31,620 --> 01:59:34,750 E pa gen pwoblèm ki nimewo itilizatè a pase nan, 2414 01:59:34,750 --> 01:59:36,890 Mwen pral repekte ke anpil fwa. 2415 01:59:36,890 --> 01:59:39,160 >> Se konsa, nan fen a nan jounen an, pwogram se idantik. 2416 01:59:39,160 --> 01:59:42,820 Men, remake tout bagay sa a te kapab menm gen nan yon lòt dosye-a. 2417 01:59:42,820 --> 01:59:45,620 Vreman vre, mwen pa konnen nan la moman ki jan printf se aplike. 2418 01:59:45,620 --> 01:59:47,980 >> Mwen pa konnen nan moman sa a ki jan jwenn fisèl, oswa pou w jwenn int, oswa pou w jwenn flote 2419 01:59:47,980 --> 01:59:48,646 yo nan faz egzekisyon. 2420 01:59:48,646 --> 01:59:50,930 Apre sa, mwen pa vle wè yo sou ekran m 'yo. 2421 01:59:50,930 --> 01:59:55,320 Kòm li se, mwen kòmanse yo konsantre sou pwogram m 'yo, pa sa yo fonksyon. 2422 01:59:55,320 --> 01:59:59,070 >> Se konsa, tout bon, le pli vit ke ou kòmanse faktè Kòd tankou sa a soti, 2423 01:59:59,070 --> 02:00:01,397 te kapab nou menm deplase tous nan yon dosye apa? 2424 02:00:01,397 --> 02:00:02,730 Yon lòt moun te kapab aplike li. 2425 02:00:02,730 --> 02:00:06,810 Epi ou ak pwogram ou vin an bèl anpil, ak anpil lizib, 2426 02:00:06,810 --> 02:00:10,830 joui, reyèlman kat liy pwogram la a. 2427 02:00:10,830 --> 02:00:13,510 >> Se konsa, kite yo ale pi devan kounye a , epi fè yon sèl plis chanjman. 2428 02:00:13,510 --> 02:00:16,180 Remake pwototip mwen te chanje moute tèt. 2429 02:00:16,180 --> 02:00:18,390 Se pou m 'ranje ke se konsa Mwen pa jwenn rele nan. 2430 02:00:18,390 --> 02:00:22,580 >> Fè tous, kite m 'kouri tous yon fwa plis, toujou ap fè menm bagay la. 2431 02:00:22,580 --> 02:00:26,010 Men koulye a,, remake nou gen yon engredyan pou yon vèsyon final la. 2432 02:00:26,010 --> 02:00:26,940 Ou konnen ki sa? 2433 02:00:26,940 --> 02:00:29,040 Mwen pa vle jis touse, nesesèman. 2434 02:00:29,040 --> 02:00:30,802 Mwen vle gen yon bagay ki pi jeneral. 2435 02:00:30,802 --> 02:00:31,510 Se konsa, ou konnen ki sa? 2436 02:00:31,510 --> 02:00:32,450 Mwen vle fè sa a. 2437 02:00:32,450 --> 02:00:37,140 Mwen vle gen, anpil tankou Grafouyen fè sa, yon blòk di, men se pa jis 2438 02:00:37,140 --> 02:00:38,680 di yon bagay kèk kantite fwa. 2439 02:00:38,680 --> 02:00:41,510 Mwen vle li vle di yon fisèl trè espesifik. 2440 02:00:41,510 --> 02:00:43,850 Epi, Se poutèt sa, mwen pa fè sa vle l 'bay jis di tous. 2441 02:00:43,850 --> 02:00:47,660 Mwen vle li yo di tou sa se fisèl te pase nan. 2442 02:00:47,660 --> 02:00:49,960 >> Se konsa, remake, mwen te jeneralize sa a pou ke kounye a 2443 02:00:49,960 --> 02:00:53,110 di santi l tankou yon bon repitasyon pou sa a, tankou grafouyen, 2444 02:00:53,110 --> 02:00:55,530 pran de agiman, kontrèman ak grafonyen moun. 2445 02:00:55,530 --> 02:00:56,570 Youn nan se yon kòd. 2446 02:00:56,570 --> 02:00:57,300 Youn nan se yon int. 2447 02:00:57,300 --> 02:00:58,130 >> Apre sa, mwen te kapab chanje yo. 2448 02:00:58,130 --> 02:01:00,713 Mwen jis kalite tankou lide a nan di fisèl la an premye, ak Lè sa a 2449 02:01:00,713 --> 02:01:01,940 konbyen fwa pita. 2450 02:01:01,940 --> 02:01:03,970 Anile vle di li toujou pa retounen anyen. 2451 02:01:03,970 --> 02:01:06,428 Sa yo se sèlman bò vizyèl efè, tankou ak [? Bò larivyè Jouden,?] 2452 02:01:06,428 --> 02:01:08,240 yon efè segondè vèbal nan tap rele ke. 2453 02:01:08,240 --> 02:01:12,630 Li toujou kontinye fè yon bagay n fwa, 0 jiska, men se pa egal a n. 2454 02:01:12,630 --> 02:01:14,540 Sa vle di n manm fwa. 2455 02:01:14,540 --> 02:01:16,540 Lè sa a, jis enprime soti kèlkeswa sa ki fisèl se. 2456 02:01:16,540 --> 02:01:19,060 Se konsa, mwen te reyèlman jeneralize liy sa a nan kòd. 2457 02:01:19,060 --> 02:01:22,460 Koulye a, ki jan mwen aplike fonksyon an tous? 2458 02:01:22,460 --> 02:01:25,520 >> Mwen kapab fè tous anile. 2459 02:01:25,520 --> 02:01:28,501 Apre sa, mwen ka toujou pran nan ki jan anpil fwa ou vle touse. 2460 02:01:28,501 --> 02:01:29,250 Men, ou konnen ki sa? 2461 02:01:29,250 --> 02:01:31,240 Mwen kapab kounye a bote vle di. 2462 02:01:31,240 --> 02:01:36,540 >> Mwen ka rele di ak nan mo tous, pase nan n. 2463 02:01:36,540 --> 02:01:40,410 Men, si mwen vle tou aplike, jis pou plezi, yon fonksyon etènye, 2464 02:01:40,410 --> 02:01:42,290 Mwen kapab etènye kèk kantite fwa. 2465 02:01:42,290 --> 02:01:47,300 Apre sa, mwen ka kenbe resèvi n, paske remake ke m nan kontèks sa a oswa sijè ki abòde 2466 02:01:47,300 --> 02:01:49,470 sèlman egziste nan sa a fonksyon. 2467 02:01:49,470 --> 02:01:52,767 >> Ak n nan yon kontèks sa a sèlman egziste nan sa a fonksyon isit la. 2468 02:01:52,767 --> 02:01:54,600 Se konsa, nou pral tounen nan vini pwoblèm sa yo nan sijè ki abòde. 2469 02:01:54,600 --> 02:02:01,160 Ak isit la, mwen jis pral di, achoo, ak Lè sa n fwa, semi-kolon. 2470 02:02:01,160 --> 02:02:04,340 >> Epi, koulye a, mwen jis bezwen prete sa yo fonksyon siyati moute isit la. 2471 02:02:04,340 --> 02:02:06,290 Se konsa, tous kòrèk. 2472 02:02:06,290 --> 02:02:10,090 Anile etènye ki kòrèk kounye a. 2473 02:02:10,090 --> 02:02:12,390 >> Apre sa, mwen toujou jis bezwen di. 2474 02:02:12,390 --> 02:02:18,990 Se konsa, mwen pral di, di fisèl la, int n, semi-kolon. 2475 02:02:18,990 --> 02:02:22,010 Se konsa, mwen te sou-Enjenieri nan èk soti nan pwogram sa a. 2476 02:02:22,010 --> 02:02:23,760 >> Lè sa a pa fè sa nesesèman vle di sa a se 2477 02:02:23,760 --> 02:02:26,343 sa ou ta dwe fè lè li ap ekri menm pi senp la pwogram yo. 2478 02:02:26,343 --> 02:02:29,280 Pran yon bagay ki nan evidamman vrèman senp, reyèlman ti bout tan, 2479 02:02:29,280 --> 02:02:31,800 ak re-aplike li lè l sèvi avèk fason twòp kòd. 2480 02:02:31,800 --> 02:02:34,560 Men, ou pral aktyèlman wè, ak nan tan tounen gade dèyè sou egzanp sa yo, 2481 02:02:34,560 --> 02:02:38,610 ak reyalize, o, sa yo se etap sa yo nou te pran yo aktyèlman jeneralizasyon, 2482 02:02:38,610 --> 02:02:40,797 dekonpoze an faktè yon bagay soti, jouk nan fen a nan jounen an 2483 02:02:40,797 --> 02:02:42,380 Kòd mwen an se aktyèlman trè rezonab. 2484 02:02:42,380 --> 02:02:45,960 Paske si mwen vle touse twa fwa Lè sa a, etènye twa fwa, 2485 02:02:45,960 --> 02:02:50,420 Mwen tou senpleman ale nan relance sa a, pwogram fè tous, epi kouri tous. 2486 02:02:50,420 --> 02:02:53,620 Apre sa, mwen gen twa touse ak twa estènye. 2487 02:02:53,620 --> 02:02:55,990 >> Se konsa, sa a se yon debaz paradigm, si ou pral, 2488 02:02:55,990 --> 02:03:00,110 pou konbyen nou ta ka ale sou aktyèlman mete ann aplikasyon yon pwogram. 2489 02:03:00,110 --> 02:03:03,220 Men, kite a jis wè kounye a sa li ye nou ve yo te fè tout tan sa a, 2490 02:03:03,220 --> 02:03:06,940 ak sa kèk nan moso yo final yo dèyè kòmandman sa a ki senp. 2491 02:03:06,940 --> 02:03:09,620 Nan fen jounen an, nou te te lè l sèvi avèk rezone kòm du nou an. 2492 02:03:09,620 --> 02:03:11,494 Nou te ap ekri sous Kòd, konvèti li 2493 02:03:11,494 --> 02:03:12,820 via rezone nan kòd machin. 2494 02:03:12,820 --> 02:03:15,540 >> Apre sa, nou ve yo te lè l sèvi avèk Fè jis fasilite frap nou yo 2495 02:03:15,540 --> 02:03:20,740 ke nou pa gen sonje moun enkantasyon nan rezone tèt li. 2496 02:03:20,740 --> 02:03:22,640 Men, sa ki fè aktyèlman ap fè? 2497 02:03:22,640 --> 02:03:24,750 Epi, nan vire, ki sa ki Rezone aktyèlman ap fè? 2498 02:03:24,750 --> 02:03:28,790 >> Li sanble, menm si nou te senplifye diskisyon jodi a lè li di, 2499 02:03:28,790 --> 02:03:33,090 ou pran kòd sous, pase li kòm D 'nan yon du, ki ba ou 2500 02:03:33,090 --> 02:03:35,750 pwodiksyon nan machin Kòd, vire soti gen nan 2501 02:03:35,750 --> 02:03:37,420 yon kèk etap diferan andedan la. 2502 02:03:37,420 --> 02:03:41,940 Ak konpile k ap pase yo parapli a tèm pou yon pakèt antye nan etap. 2503 02:03:41,940 --> 02:03:43,970 Men, kite a jis toumante sa a soti vrèman byen vit. 2504 02:03:43,970 --> 02:03:48,070 >> Li sanble ke nou ve yo te fè plis bagay chak fwa mwen kouri nan yon pwogram, 2505 02:03:48,070 --> 02:03:50,990 oswa chak fwa mwen konpile yon pwogram jodi a. 2506 02:03:50,990 --> 02:03:55,020 Se konsa, pretretman refere a sa a men anyen nan yon pwogram C, 2507 02:03:55,020 --> 02:03:58,720 kòm nou pral wè ankò e ankò, ki kòmanse ak sa a senbòl regle, 2508 02:03:58,720 --> 02:04:03,320 oswa senbòl la hashtag isit la, vle di li nan yon preproseseur direktiv. 2509 02:04:03,320 --> 02:04:07,330 Sa vle di, nan ka sa a, hey òdinatè, fè yon bagay ak sa a ranpli 2510 02:04:07,330 --> 02:04:09,430 anvan ou aktyèlman konpile kòd m 'pwòp. 2511 02:04:09,430 --> 02:04:15,220 >> Nan ka sa a, regle gen ladan se, se esansyèlman, fason C a nan li di: 2512 02:04:15,220 --> 02:04:19,325 hey òdinatè, ale jwenn sa ki nan CS50.h epi kole yo isit la. 2513 02:04:19,325 --> 02:04:22,170 Hey òdinatè, ale jwenn nan sa nan estanda io.h, 2514 02:04:22,170 --> 02:04:24,690 tout kote ki sou la kondwi difisil, kole li isit la. 2515 02:04:24,690 --> 02:04:27,390 Se konsa, bagay sa yo rive premye pandan pretretman. 2516 02:04:27,390 --> 02:04:28,880 >> Apre sa, rezone fè tout bagay sa yo pou nou. 2517 02:04:28,880 --> 02:04:30,510 Apre sa, li fè sa li tèlman reprize vit, ou pa fè sa menm 2518 02:04:30,510 --> 02:04:32,000 wè kat bagay distenk pase. 2519 02:04:32,000 --> 02:04:34,100 Men, sa a premye etap la sa yo. 2520 02:04:34,100 --> 02:04:35,560 >> Ki sa ki aktyèlman k ap pase answit? 2521 02:04:35,560 --> 02:04:38,320 Oke, ofisyèl nan pwochen te etap se konpile. 2522 02:04:38,320 --> 02:04:40,385 Epi li vire soti ki konpile yon pwogram 2523 02:04:40,385 --> 02:04:44,060 teknikman vle di pral soti nan sous kòd, bagay la nou te 2524 02:04:44,060 --> 02:04:47,890 te ekri jodi a, nan yon bagay rele kòd asanble, yon bagay 2525 02:04:47,890 --> 02:04:49,260 ki sanble yon ti kras diferan. 2526 02:04:49,260 --> 02:04:51,050 >> Epi, an reyalite, nou ka wè sa a reyèl vit. 2527 02:04:51,050 --> 02:04:53,890 Kite m 'aktyèlman ale nan IDE mwen. 2528 02:04:53,890 --> 02:04:58,050 Kite m 'ale pi devan epi louvri hello.c, ki se pwogram an trè premye ak ki nou 2529 02:04:58,050 --> 02:04:59,120 te kòmanse jodi a. 2530 02:04:59,120 --> 02:05:04,130 Ak kite m 'ale pi devan epi kouri rezone yon ti jan diferan, rezone-a, hello.c, 2531 02:05:04,130 --> 02:05:07,720 ki se aktyèlman ale nan ban m 'yon lòt hello.s dosye-a. 2532 02:05:07,720 --> 02:05:10,330 >> Apre sa, nou pral pwobableman pa janm ankò wè sa a kalite kòd. 2533 02:05:10,330 --> 02:05:13,030 Si ou pran yon pi ba nivo sistèm klas tankou CS61, 2534 02:05:13,030 --> 02:05:14,920 ou pral wè yon anpil plis nan sa a kalite kòd. 2535 02:05:14,920 --> 02:05:17,020 Men, sa a se lang natif asanble. 2536 02:05:17,020 --> 02:05:22,050 Sa a se x86 ak lang asanble ki CPU a ki kache 2537 02:05:22,050 --> 02:05:24,460 CS50 IDE aktyèlman konprann. 2538 02:05:24,460 --> 02:05:27,060 >> Apre sa, skre kòm li fè sa gade, li se yon bagay 2539 02:05:27,060 --> 02:05:29,180 òdinatè a konprann trè byen. 2540 02:05:29,180 --> 02:05:30,790 Sub q, sa a se yon soustraksyon. 2541 02:05:30,790 --> 02:05:31,660 Genyen mouvman yo. 2542 02:05:31,660 --> 02:05:35,730 >> Gen nan rele nan fonksyon isit la, x Oring, se yon mouvman, yon ajoute, se yon pòp, 2543 02:05:35,730 --> 02:05:36,430 yon retou. 2544 02:05:36,430 --> 02:05:38,850 Se konsa, gen nan kèk trè enstriksyon nivo ki ba 2545 02:05:38,850 --> 02:05:41,280 ki proseseur konprann ke Mwen mansyone pi bonè. 2546 02:05:41,280 --> 02:05:43,100 Se pou sa ke Intel Anndan. 2547 02:05:43,100 --> 02:05:45,030 >> Gen modèl nan zewo ak moun yo ki 2548 02:05:45,030 --> 02:05:51,800 kat jeyografik sa yo arcanely remak bwèf, men yon ti jan ki byen nonmen non li, enstriksyon, 2549 02:05:51,800 --> 02:05:52,780 se konsa pale. 2550 02:05:52,780 --> 02:05:54,780 Sa se sa ki pase lè ou konpile kòd ou a. 2551 02:05:54,780 --> 02:05:58,560 Ou jwenn tout pèp lang soti nan li, ki 2552 02:05:58,560 --> 02:06:04,680 vle di twazyèm etap la se yo rasanble ke kòd asanble nan, finalman, 2553 02:06:04,680 --> 02:06:09,080 machin zewo code-- ak sa yo, pa tèks ki nou jis te wè yon ti moman de sa. 2554 02:06:09,080 --> 02:06:13,370 >> Se konsa, pre-pwosesis ki jwenn epi ranplase pen ak kèk lòt bagay. 2555 02:06:13,370 --> 02:06:16,430 Konpile pran sous ou Kòd soti nan C, kòd sous 2556 02:06:16,430 --> 02:06:18,980 ke nou te ekri, nan reyinyon kòd ki nou jis regarda nan. 2557 02:06:18,980 --> 02:06:22,170 Rasanble pran ki asanble kòd nan zero ak moun yo 2558 02:06:22,170 --> 02:06:24,680 ki CPU a vrèman pral konprann nan fen a nan jounen an. 2559 02:06:24,680 --> 02:06:27,630 Apre sa, ki lye ak se etap ki sot pase a ki k ap pase pou nou ki ankò, 2560 02:06:27,630 --> 02:06:29,830 tèlman vit nou pa fè sa menm notice-- ki di, 2561 02:06:29,830 --> 02:06:32,460 hey òdinatè, pran tout zewo yo ak moun yo ki 2562 02:06:32,460 --> 02:06:36,750 lakòz soti nan konpile kòd David la, ak fonksyon prensipal li nan ka sa a. 2563 02:06:36,750 --> 02:06:39,160 >> Apre sa, hey òdinatè, ale jwenn tout nan zewo yo ak moun yo 2564 02:06:39,160 --> 02:06:42,180 ke anplwaye la CS50 te ekri andedan bibliyotèk la CS50. 2565 02:06:42,180 --> 02:06:43,440 Melanje sa yo ki nan ak David la. 2566 02:06:43,440 --> 02:06:46,648 Apre sa, hey òdinatè, ale jwenn tout zewo yo ak moun yo ke yon lòt moun te ekri ane 2567 02:06:46,648 --> 02:06:47,470 de sa pou printf. 2568 02:06:47,470 --> 02:06:49,880 Epi ajoute sa yo nan la tout bagay, se konsa ke nou te 2569 02:06:49,880 --> 02:06:52,870 te resevwa zewo mwen ak moun yo, nan zewo anplwaye CS50 nan ak moun yo, 2570 02:06:52,870 --> 02:06:55,370 zewo yo printf ak moun yo, ak tout lòt bagay nou ap lè l sèvi avèk. 2571 02:06:55,370 --> 02:07:00,410 >> Yo tout jwenn konbine ansanm nan yon sèl pwogram yo rele, nan ka sa a, hello. 2572 02:07:00,410 --> 02:07:03,141 Se konsa, koulye a, nou pral jis sèvi ak élaboration la mo. 2573 02:07:03,141 --> 02:07:06,390 E nou pral pran pou yo akòde ke lè nou di, konpile pwogram ou an, sa vle di, 2574 02:07:06,390 --> 02:07:08,849 hey fè pre-pwosesis la, rasanble, ak ki lye ak. 2575 02:07:08,849 --> 02:07:11,890 Men, gen nan aktyèlman kèk bagay juicy ale sou gen anba kapo a. 2576 02:07:11,890 --> 02:07:13,723 Apre sa, espesyalman si w jwenn kirye kèk tan, 2577 02:07:13,723 --> 02:07:15,900 ou ka kòmanse poking alantou nan pi ba nivo sa a. 2578 02:07:15,900 --> 02:07:19,660 Men, pou kounye a, reyalize ke nan mitan takeaways yo pou jodi a 2579 02:07:19,660 --> 02:07:23,420 yo se byen tou senpleman nan kòmanse nan yon pwosesis, 2580 02:07:23,420 --> 02:07:26,700 pou trape konfòtab ak yon bagay tankou mond hello. 2581 02:07:26,700 --> 02:07:29,575 Vreman vre, pi fò nan sa nou te fè jodi a sètènman pa pral koule nan Super vit. 2582 02:07:29,575 --> 02:07:31,491 Epi li pral pran kèk tan, ak kèk pratik. 2583 02:07:31,491 --> 02:07:33,864 Apre sa, chans yo se, ou pral sòt nan vle frape klavye ou 2584 02:07:33,864 --> 02:07:34,780 oswa rele nan ekran an. 2585 02:07:34,780 --> 02:07:35,880 Apre sa, tout nan sa a, se OK. 2586 02:07:35,880 --> 02:07:38,320 Menm si, petèt eseye pa fè l 'nan bibliyotèk la anpil. 2587 02:07:38,320 --> 02:07:40,820 >> Epi finalman, ou pral dwe kapab menm si, yo kòmanse 2588 02:07:40,820 --> 02:07:44,580 wè menm modèl yo, tou de nan bon Kòd ke ou te ekri ak nan erè 2589 02:07:44,580 --> 02:07:45,370 ke ou te fè fè yo. 2590 02:07:45,370 --> 02:07:48,965 Apre sa, anpil tankou pwosesis la nan vin tounen yon TF oswa yon CA, se tankou, 2591 02:07:48,965 --> 02:07:51,590 ou pral kòmanse jwenn pi bon ak pi bon nan wè modèl sa yo, 2592 02:07:51,590 --> 02:07:53,774 ak jis rezoud ou pwòp pwoblèm finalman. 2593 02:07:53,774 --> 02:07:56,940 Nan entre-temps la, pral gen anpil nan nou prete ou sipò, epi ou jwenn 2594 02:07:56,940 --> 02:07:57,481 nan sa a. 2595 02:07:57,481 --> 02:07:59,450 Ak nan ekri-UPS yo pou tout moun nan pwoblèm sa yo 2596 02:07:59,450 --> 02:08:01,366 pral fè ou dwe gide nan tout nan kòmandman yo 2597 02:08:01,366 --> 02:08:05,330 ke mwen sètènman konnen soti nan yon anpil nan pratik pa kounye a, 2598 02:08:05,330 --> 02:08:07,380 men ka gen vole sou tèt yon sèl la pou kounye a. 2599 02:08:07,380 --> 02:08:08,580 Epi sa a, totalman amann. 2600 02:08:08,580 --> 02:08:11,230 >> Men, finalman, w ap ale yo kòmanse yo wè modèl deyò. 2601 02:08:11,230 --> 02:08:14,260 E yon fwa ou jwenn sot pase tout nan a detay estipid, tankou parantèz, 2602 02:08:14,260 --> 02:08:16,710 ak aparèy òtopedik Curly, ak semi-kolon, ak lòt bagay la, franchman, 2603 02:08:16,710 --> 02:08:19,360 ki se pa nan tout entelektyèlman enteresan. 2604 02:08:19,360 --> 02:08:22,690 Epi li se pa objektif la nan pran nenpòt ki klas Entwodiksyon. 2605 02:08:22,690 --> 02:08:24,410 Li nan lide yo ke yo pral gen pwoblèm. 2606 02:08:24,410 --> 02:08:26,659 >> Li nan pasan yo, ak nan kondisyon, ak fonksyon yo, 2607 02:08:26,659 --> 02:08:30,552 ak plis ankò pwisan distraksyon an, ak faktè a nan kòd, 2608 02:08:30,552 --> 02:08:33,510 ak desen an bon, ak bon an style, epi finalman Correct nan 2609 02:08:33,510 --> 02:08:37,330 nan kòd ou, sa a, se finalman ale nan gen pwoblèm pi plis la. 2610 02:08:37,330 --> 02:08:40,925 Se konsa, nan semèn kap vini, nou pral pran sa yo lide ke nou te wè nan premye nan grafouyen 2611 02:08:40,925 --> 02:08:42,800 ak gen kounye a tradui C. Epitou, n ap kòmanse 2612 02:08:42,800 --> 02:08:45,740 prezante premye a nan la domèn mond reyèl kou a. 2613 02:08:45,740 --> 02:08:50,140 >> Nou pral konsantre sou mond lan nan sekirite, ak plis espesyalman chifreman, 2614 02:08:50,140 --> 02:08:51,980 atizay la nan eskalade enfòmasyon. 2615 02:08:51,980 --> 02:08:54,000 , Ak nan mitan premye a pwoblèm ou tèt ou 2616 02:08:54,000 --> 02:08:56,840 pral jwenn yo ekri pi lwen pase jwe ak kèk nan sentaks la 2617 02:08:56,840 --> 02:08:59,880 ak rezoud kèk lojik pwoblèm, finalman anvan lontan, 2618 02:08:59,880 --> 02:09:03,960 se yo aktyèlman goumen, oswa ankripte, epi finalman dechifre enfòmasyon. 2619 02:09:03,960 --> 02:09:06,470 Ak tout bagay nou te fè jodi a, pral san patipri ki ba 2620 02:09:06,470 --> 02:09:09,190 nivo, se jis ale nan pèmèt nou pran yon sèl, ak yon sèl, 2621 02:09:09,190 --> 02:09:13,550 ak yon sèl plis etap pi wo a nan direksyon ekri kòd ki pi enteresan ankò. 2622 02:09:13,550 --> 02:09:15,050 >> Se konsa, plis sou sa semèn pwochèn. 2623 02:09:15,050 --> 02:09:17,834 2624 02:09:17,834 --> 02:09:18,762 >> [VIDEO lèktur] 2625 02:09:18,762 --> 02:09:19,690 2626 02:09:19,690 --> 02:09:22,006 >> -Ki Ou ka di m 'sou dènye fwa ou wè l '? 2627 02:09:22,006 --> 02:09:26,041 2628 02:09:26,041 --> 02:09:27,040 -Ki Mwen kapab di, vrèman? 2629 02:09:27,040 --> 02:09:30,500 2630 02:09:30,500 --> 02:09:35,340 Mwen vle di, li te tankou nenpòt ki lòt pre-pwodiksyon repetisyon, 2631 02:09:35,340 --> 02:09:40,510 eksepte te gen yon bagay li te di nan fen la anpil ki kole avè m '. 2632 02:09:40,510 --> 02:09:44,810 2633 02:09:44,810 --> 02:09:46,640 >> -Sa A te CS50. 2634 02:09:46,640 --> 02:09:49,440 2635 02:09:49,440 --> 02:09:52,190 >> -Sa A yon tout moun koupe, bon travay sou repetisyon. 2636 02:09:52,190 --> 02:09:53,070 >> manje midi -Sa a? 2637 02:09:53,070 --> 02:09:54,986 >> -Yeah, Ou menm ak mwen kapab gen tan pwan yon sandwich nan yon ti jan. 2638 02:09:54,986 --> 02:09:58,380 Kite m 'jis enteroje ak David vrèman byen vit. 2639 02:09:58,380 --> 02:09:59,160 David li ye? 2640 02:09:59,160 --> 02:10:01,260 David li ye? 2641 02:10:01,260 --> 02:10:03,110 >> [FEN lèktur]