1 00:00:00,000 --> 00:00:02,742 2 00:00:02,742 --> 00:00:05,680 >> Oratè 1: Hi tout moun. 3 00:00:05,680 --> 00:00:07,530 Nou pral jwenn te kòmanse. 4 00:00:07,530 --> 00:00:09,330 Mwen panse ke moun yo toujou ale yo dwe filtraj nan. 5 00:00:09,330 --> 00:00:12,840 Men, nan enterè a nan tan, se konsa nou kapab jwenn ou nèg soti nan isit la sou tan, 6 00:00:12,840 --> 00:00:14,110 nou ap ale nan kòmanse. 7 00:00:14,110 --> 00:00:18,780 Se konsa, akeyi nan CS50 egzamen 0 revizyon an. 8 00:00:18,780 --> 00:00:23,020 Pou moun nan nou ki pa te reyalize ankò, ou gen yon kesyon nan Mèkredi. 9 00:00:23,020 --> 00:00:25,700 Woo-ou. 10 00:00:25,700 --> 00:00:29,780 >> Si ou pa gen te kòmanse etidye ankò oswa pa gen reyalize ke sa a egziste ankò, 11 00:00:29,780 --> 00:00:34,070 ti tès sot pase yo ak tout enfòmasyon sou egzamen ou an se sou cs50.net/quizzes. 12 00:00:34,070 --> 00:00:38,090 Genyen kèk bagay trè bon sou la, ti tès sot pase soti nan 10 dènye a 13 00:00:38,090 --> 00:00:43,760 ane kòm byen ke enfòmasyon sou egzamen sa a ak sijè 14 00:00:43,760 --> 00:00:46,250 ke yo pral kouvri. 15 00:00:46,250 --> 00:00:48,980 Se konsa, kite a jwenn te kòmanse. 16 00:00:48,980 --> 00:00:54,240 >> Se konsa, ou nèg ta ka sonje, premye a jou nan klas David te gen moun lanp sou. 17 00:00:54,240 --> 00:00:59,650 Se konsa, esansyèlman, tout bagay ki ale sou anba kapo machin lan nan yon òdinatè se 18 00:00:59,650 --> 00:01:00,860 fè nan binè. 19 00:01:00,860 --> 00:01:04,080 Binè vle di ki sa li son tankou, 0 a ak 1 a. 20 00:01:04,080 --> 00:01:09,290 Li te gen de valè ki kapab reprezante. 21 00:01:09,290 --> 00:01:14,675 >> Se konsa, jis tankou nan premye jou a nan seksyon Lè David vire sou yon limyè 22 00:01:14,675 --> 00:01:21,990 anpoul yo reprezante sou, oswa 1, konpitè nou an konprann binè kòm 0 a ak 23 00:01:21,990 --> 00:01:24,110 1 a, limen oubyen etenn. 24 00:01:24,110 --> 00:01:25,360 Prensip Fondamantal nan nan binè. 25 00:01:25,360 --> 00:01:29,440 26 00:01:29,440 --> 00:01:32,470 Chak plas reprezante nan baz de. 27 00:01:32,470 --> 00:01:36,260 Se konsa, ou ajoute 2 a 0 a nan 1 a la 2 tout wout la leve. 28 00:01:36,260 --> 00:01:41,970 >> Pou kalkile ki sa binè ou a se fè desimal, ou jis swiv ekwasyon sa a 29 00:01:41,970 --> 00:01:42,840 kalite bagay. 30 00:01:42,840 --> 00:01:49,510 Si ou gen yon 1 nan nenpòt nan kote sa yo, ou miltipliye li pa tou sa 31 00:01:49,510 --> 00:01:53,820 baz li nan nan, ajoute l 'kanpe, epi ou jwenn desimal a. 32 00:01:53,820 --> 00:01:57,930 Se konsa, sa a se ki jan ou konte a 5 nan binè. 33 00:01:57,930 --> 00:02:01,400 Jis tankou sa nou te fè sou la dènye glise, sa a se ki jan ou ta 34 00:02:01,400 --> 00:02:02,650 reprezante 1 jiska 5. 35 00:02:02,650 --> 00:02:05,320 36 00:02:05,320 --> 00:02:09,660 >> Menm jan an tou, jis tankou ou ka ajoute ak fè soustraksyon nan desimal oswa baz 10, oswa 37 00:02:09,660 --> 00:02:13,040 reyèlman nenpòt ki baz, sou kapab ajoute ak soustraksyon nan binè. 38 00:02:13,040 --> 00:02:18,400 Ekzakteman ki sa ou ta atann lè ou ajoute de moute a, si li egal pi gwo 39 00:02:18,400 --> 00:02:24,220 pase 1, ou pote yon 1, fè l 'yon 0, epi fè adisyon a nan fason sa a, jis 40 00:02:24,220 --> 00:02:29,910 tankou ou ta atann ak regilye desimal oswa nenpòt lòt baz. 41 00:02:29,910 --> 00:02:30,970 Fre. 42 00:02:30,970 --> 00:02:35,140 >> Se konsa, tankou mwen te di anvan, tout bagay ki ale sou anba kapo machin lan nan òdinatè nou an 43 00:02:35,140 --> 00:02:37,560 se fè nan 0 a ak 1 a, oswa binè. 44 00:02:37,560 --> 00:02:43,470 Se konsa, kouman nou eksprime, pou egzanp, lèt, oswa nimewo, oswa karaktè? 45 00:02:43,470 --> 00:02:45,560 Ak repons lan nan se ASCII. 46 00:02:45,560 --> 00:02:49,380 >> ASCII se yon kat ant pèsonaj ke nou ta nòmalman wè nan nan 47 00:02:49,380 --> 00:02:53,360 Lang angle tankou yon an, B a, C a, souliye, tirè, ak 48 00:02:53,360 --> 00:02:54,910 bagay tankou sa. 49 00:02:54,910 --> 00:02:57,260 Epi li kat ki nan yon valè ASCII. 50 00:02:57,260 --> 00:03:03,080 Yon valè ASCII se jis yon nimewo ki ka konprann pa òdinatè ou. 51 00:03:03,080 --> 00:03:07,430 Ak jis tankou ou ka fè adisyon ak soustraksyon ak nimewo, ou ka fè 52 00:03:07,430 --> 00:03:10,890 yo ak valè ASCII. 53 00:03:10,890 --> 00:03:14,050 >> Se konsa, nan egzanp sa a, sa ki sa a pral enprime soti? 54 00:03:14,050 --> 00:03:26,790 55 00:03:26,790 --> 00:03:35,480 Yeah, se konsa jis Yon espas B space space C D. Ki kote t 'sourit mwen an ale? 56 00:03:35,480 --> 00:03:39,200 57 00:03:39,200 --> 00:03:43,380 Avi ou ka defini yon int nan 65. 58 00:03:43,380 --> 00:03:47,080 Men, lè ou enprime ki soti lè l sèvi avèk pousan C, li pral entèprete sa kòm yon 59 00:03:47,080 --> 00:03:49,330 karaktè ak pral enprime soti A. 60 00:03:49,330 --> 00:03:52,800 >> Menm jan an tou, ou ka deklare li kòm yon Char. 61 00:03:52,800 --> 00:03:56,860 Men, lè ou enprime li lè l sèvi avèk pousan C, li pral entèprete sa kòm 62 00:03:56,860 --> 00:04:05,240 pousan D. Ak jis tankou ou ka ajoute yon Nimewo, ou ka ajoute karaktè yo 63 00:04:05,240 --> 00:04:06,878 Valè ASCII, nan ka sa a. 64 00:04:06,878 --> 00:04:11,370 65 00:04:11,370 --> 00:04:16,130 >> Se konsa, yon ti kras konsèy pou tout moun. 66 00:04:16,130 --> 00:04:19,610 5, kòm yon fisèl, pa fè sa aktyèlman egal 5. 67 00:04:19,610 --> 00:04:26,610 Se konsa, ki jan ta ka nou konvèti nan fisèl 5 a nonb antye relatif la 5? 68 00:04:26,610 --> 00:04:28,930 Nenpòt lide? 69 00:04:28,930 --> 00:04:31,630 Yeah. 70 00:04:31,630 --> 00:04:36,720 >> Se konsa, si nou gen 5 kòm yon fisèl, nou ka fè soustraksyon 0. 71 00:04:36,720 --> 00:04:37,820 Epi sa pral ban nou 5. 72 00:04:37,820 --> 00:04:41,670 Epi Menm jan an tou, si nou gen 5 kòm yon nonb antye relatif, ajoute ke yo fisèl la 0. 73 00:04:41,670 --> 00:04:43,112 Ak ki ba nou fisèl la 5. 74 00:04:43,112 --> 00:04:46,350 75 00:04:46,350 --> 00:04:48,350 Fre. 76 00:04:48,350 --> 00:04:52,940 >> Koulye a, sonje tounen nan konferans yon sèl kote nou te pale de algoritm. 77 00:04:52,940 --> 00:04:57,260 Se konsa, kouman nou aktyèlman vle yon òdinatè fè bagay sa yo enteresan? 78 00:04:57,260 --> 00:05:00,460 Ou konnen, jis ajoute ak soustraksyon nimewo ak bagay sa yo enprime soti se pa 79 00:05:00,460 --> 00:05:01,730 ki eksitan. 80 00:05:01,730 --> 00:05:04,620 Anjeneral, nou vle òdinatè nou yo fè kèk kalite algorithm. 81 00:05:04,620 --> 00:05:07,820 Yon bagay yon ti kras pi plis konplèks pase jis senp aritmetik. 82 00:05:07,820 --> 00:05:11,930 >> Yon algorithm se jis yon etap pa mete etap nan enstriksyon yo pou ki jan yo fè 83 00:05:11,930 --> 00:05:14,640 yon task-- sèten 84 00:05:14,640 --> 00:05:15,660 jis tankou yon resèt. 85 00:05:15,660 --> 00:05:19,990 Ou ta ka sonje premye jou a nan klas kote David te nou konte yon chanm 86 00:05:19,990 --> 00:05:22,550 nan moun ak konbyen moun ki te nan sal la. 87 00:05:22,550 --> 00:05:24,480 Ou ta ka dwe itilize yo konte youn pa youn. 88 00:05:24,480 --> 00:05:25,860 1, 2, 3, 4. 89 00:05:25,860 --> 00:05:28,010 Nan ka sa a, yon algorithm tan lineyè. 90 00:05:28,010 --> 00:05:31,710 >> Men, David prezante yon algorithm pou ou yo konte moun yo nan chanm nan 91 00:05:31,710 --> 00:05:37,340 kote tout moun kanpe leve, ou di ou Nimewo bay yon lòt moun, ajoute ke 92 00:05:37,340 --> 00:05:39,200 Nimewo moute, ak yon sèl moun chita atè. 93 00:05:39,200 --> 00:05:40,410 Epi ou repete sa. 94 00:05:40,410 --> 00:05:42,910 Sa a yon sèl di ki kalite algorithm. 95 00:05:42,910 --> 00:05:47,520 Nou ka analize ki jan efikas yon algorithm a baze sou li a kouri tan. 96 00:05:47,520 --> 00:05:49,680 Men, nou pral pale yon ti kras plis sou sa pita. 97 00:05:49,680 --> 00:05:52,740 98 00:05:52,740 --> 00:05:57,090 >> Se konsa, tout algoritm kapab tou dwe ekri nan pseudocode. 99 00:05:57,090 --> 00:06:01,120 Pseudocode se jis yon angle tankou sentaks itilize reprezante 100 00:06:01,120 --> 00:06:02,420 yon lang programmation. 101 00:06:02,420 --> 00:06:06,070 Pou egzanp, si nou te vle mande yon itilizatè devine nimewo pi renmen m ', nou 102 00:06:06,070 --> 00:06:08,390 ta ka gen pseudocode kòm sa yo. 103 00:06:08,390 --> 00:06:09,850 >> Jwenn yon itilizatè devine. 104 00:06:09,850 --> 00:06:13,570 Si devine nan ki kòrèk, di yo yo ap kòrèk, lòt moun di yo 105 00:06:13,570 --> 00:06:15,560 yo ap pa kòrèk. 106 00:06:15,560 --> 00:06:22,530 Epi pseudocode se yon fason pou fasil repwezantan yon lide oswa yon algorithm. 107 00:06:22,530 --> 00:06:26,910 Se konsa, kounye a nou ta ka vle aktyèlman ekri sa a nan lang la ke òdinatè a 108 00:06:26,910 --> 00:06:27,980 ta ka konprann. 109 00:06:27,980 --> 00:06:35,660 Se konsa, nou ta ka ekri pseudocode nou yo ak entèprete ki nan kòd sous. 110 00:06:35,660 --> 00:06:41,320 >> Se konsa, lwen, kòd sous dwe respekte nan yon sentaks sèten nan 111 00:06:41,320 --> 00:06:42,490 yon lang programmation. 112 00:06:42,490 --> 00:06:45,430 Se konsa, lwen, nan CS50, nou te lè l sèvi avèk sitou c. 113 00:06:45,430 --> 00:06:48,320 Se konsa, sa a ta kapab kòd sous pou c. 114 00:06:48,320 --> 00:06:51,440 Apre sa sou nan kou a, ou lannwit vini an kontak avèk lòt pwogram 115 00:06:51,440 --> 00:06:52,480 lang tankou PHP. 116 00:06:52,480 --> 00:06:57,540 Oswa si w menm pran lòt klas, ou ta ka fè Java, Piton, oswa menm OCML. 117 00:06:57,540 --> 00:07:01,570 Men, nan lang pwogram c nou an, sa a se ki jan nou ta ka ekri kòd la sous pou 118 00:07:01,570 --> 00:07:04,760 algorithm nan pseudocode ki Mwen jis dekri pi bonè. 119 00:07:04,760 --> 00:07:08,630 120 00:07:08,630 --> 00:07:11,430 >> Se konsa, kouman fè òdinatè w lan aktyèlman konprann sa? 121 00:07:11,430 --> 00:07:14,490 Tankou mwen te di anvan, li sèlman vrèman konprann zewo ak inite. 122 00:07:14,490 --> 00:07:17,880 Se konsa, kouman li jwenn soti nan sous la Kòd nan yon bagay ki ka 123 00:07:17,880 --> 00:07:18,960 konprann? 124 00:07:18,960 --> 00:07:22,920 Oke, nou gen yon bagay rele yon du. 125 00:07:22,920 --> 00:07:28,450 >> Si ou sonje tounen nan pi fò nan ou psets, ou te gen kèk kalite pwogram 126 00:07:28,450 --> 00:07:30,370 ekri nan yon dosye dot c. 127 00:07:30,370 --> 00:07:32,550 Lè sa a, ou ta tape fè. 128 00:07:32,550 --> 00:07:35,970 Se konsa, sa se fè ap fè? 129 00:07:35,970 --> 00:07:39,970 >> Ou ka tape fè yo konpile ou pwogram paske someone-- 130 00:07:39,970 --> 00:07:42,730 moun ki va ekri seri p ou; pwobableman David-- 131 00:07:42,730 --> 00:07:44,190 kreye yon dosye fè. 132 00:07:44,190 --> 00:07:51,320 Epi ki di fè yo konnen nan kouri ou du, ki rele rezone, ki volonte 133 00:07:51,320 --> 00:07:55,560 Lè sa a, konpile kòd sous ou fè objeksyon Kòd, ki se zewo ak moun yo 134 00:07:55,560 --> 00:07:57,720 ke òdinatè w lan konprann. 135 00:07:57,720 --> 00:08:01,610 Men, yon ti kras pita sou, nou pral ale plis nan pwofondè sou konpilateur. 136 00:08:01,610 --> 00:08:05,640 137 00:08:05,640 --> 00:08:10,800 >> Se konsa, sonje pset 0, where-- repons lan se wi, ou gen yon kesyon? 138 00:08:10,800 --> 00:08:11,620 >> ODYANS: [fèbl]? 139 00:08:11,620 --> 00:08:12,490 >> Oratè 1: Wi. 140 00:08:12,490 --> 00:08:14,960 Mwen panse ke yo aktyèlman yo ta dwe sou entènèt. 141 00:08:14,960 --> 00:08:15,120 Yeah. 142 00:08:15,120 --> 00:08:16,572 >> ODYANS li: Eske se tankou [fèbl]? 143 00:08:16,572 --> 00:08:19,476 144 00:08:19,476 --> 00:08:20,830 >> Oratè 1: Li se pa. 145 00:08:20,830 --> 00:08:25,810 Yo se la sou cs50.net/quizzes. 146 00:08:25,810 --> 00:08:32,900 >> ODYANS: ti tès koupe, koupe 2013, koupe 0, ak jis klike sou atravè 147 00:08:32,900 --> 00:08:35,956 ti tès 2013 ak egzamen 0, revize glisad seksyon. 148 00:08:35,956 --> 00:08:40,380 >> Oratè 1: Yeah, se konsa si ou nèg vle rale li leve ak gade nan l 'sou ou 149 00:08:40,380 --> 00:08:42,740 pwòp òdinatè, ki nan amann tou. 150 00:08:42,740 --> 00:08:43,130 Di sa ankò. 151 00:08:43,130 --> 00:08:44,546 >> ODYANS: [fèbl]. 152 00:08:44,546 --> 00:08:48,780 >> Oratè 1: Yeah, [fèbl] se varyab la egare. 153 00:08:48,780 --> 00:08:49,644 Oh, repons lan se wi? 154 00:08:49,644 --> 00:08:51,372 >> ODYANS: [fèbl]? 155 00:08:51,372 --> 00:08:54,300 >> Oratè 1: Non, grèv yo pa nan egzamen an. 156 00:08:54,300 --> 00:08:55,950 Padon, kesyon li te ye a, te grèv nan egzamen an. 157 00:08:55,950 --> 00:08:59,530 Epi li se pa. 158 00:08:59,530 --> 00:09:05,780 Se konsa, pset 0, ou nèg ta dwe gen tout aplike yon bagay sèvi ak grate. 159 00:09:05,780 --> 00:09:13,100 Apre sa, nou aprann kèk pwogram debaz blòk bilding lè l sèvi avèk grate. 160 00:09:13,100 --> 00:09:15,590 >> Se konsa, kite a pran yon gade nan kèk nan eleman debaz sa yo 161 00:09:15,590 --> 00:09:18,170 ki fè moute yon pwogram. 162 00:09:18,170 --> 00:09:20,570 Premye se ekspresyon Boolean. 163 00:09:20,570 --> 00:09:24,540 Ekspresyon Boolean yo se yo menm ak 0 a oswa nenpòt bagay ki gen 164 00:09:24,540 --> 00:09:25,700 de valè posib. 165 00:09:25,700 --> 00:09:30,320 Nan ka sa a, vre oubyen fo, limen oubyen etenn, ak repons lan se wi oswa ki pa gen. 166 00:09:30,320 --> 00:09:35,390 Yon egzanp sou yon senp, trè senp, pwogram ki itilize yon Boolean 167 00:09:35,390 --> 00:09:39,140 ekspresyon moute isit la. 168 00:09:39,140 --> 00:09:43,220 >> Se konsa, nan lòd pou ekspresyon Boolean kapab itil, nou gen operatè Boolean. 169 00:09:43,220 --> 00:09:48,920 Sa yo se operatè ki kapab itilize yo konpare sèten valè. 170 00:09:48,920 --> 00:09:52,820 Se konsa, nou gen ak ou pa egal a, mwens pase oswa egal a, pi gran pase oswa 171 00:09:52,820 --> 00:09:55,130 egal a, ak mwens pase oswa pi gran pase. 172 00:09:55,130 --> 00:09:59,060 Men, sa yo operatè yo pa trè itil sof si nou ka konbine yo nan 173 00:09:59,060 --> 00:10:00,320 kondisyon. 174 00:10:00,320 --> 00:10:04,370 >> Se konsa, ou nèg ta ka sonje nan grate ak soti nan p ou kouche ke nou 175 00:10:04,370 --> 00:10:05,400 te gen kondisyon. 176 00:10:05,400 --> 00:10:09,710 Yo se, esansyèlman, tankou fouchèt nan lojik nan pwogram ou an ki 177 00:10:09,710 --> 00:10:12,670 ègzekutra depann sou si wi ou non se yon kondisyon rankontre. 178 00:10:12,670 --> 00:10:18,150 Se konsa, youn nan kondisyon sa ke nou te gen itilize anpil fwa nan kou sa a se nan 179 00:10:18,150 --> 00:10:21,470 si, lòt moun, si, ak kondisyon lòt moun. 180 00:10:21,470 --> 00:10:24,060 >> Isit la nan yon egzanp sou kouman ou ta ka sèvi ak sa. 181 00:10:24,060 --> 00:10:28,430 nenpòt moun ki konnen diferans ki genyen ant jis lè l sèvi avèk si deklarasyon tout 182 00:10:28,430 --> 00:10:32,530 wout la desann vèsè si, lòt moun, si, e lòt bagay konbine? 183 00:10:32,530 --> 00:10:33,013 Wi? 184 00:10:33,013 --> 00:10:34,263 >> ODYANS: [fèbl]. 185 00:10:34,263 --> 00:10:40,741 186 00:10:40,741 --> 00:10:42,160 >> Oratè 1: Egzakteman. 187 00:10:42,160 --> 00:10:50,210 Se konsa, si mwen te gen si tout wout la desann sa a fason sa a, menm si kondisyon sa a retounen 188 00:10:50,210 --> 00:10:52,800 vre, li ap toujou kontinye tès de kap vini an. 189 00:10:52,800 --> 00:11:00,120 Lè nou konsidere ke, ak yon-si lòt moun, yon lòt moun deklarasyon, si yon sèl nan retounen vre, 190 00:11:00,120 --> 00:11:02,640 lòt moun yo pa fè tès. 191 00:11:02,640 --> 00:11:05,955 Nenpòt kesyon sou sa? 192 00:11:05,955 --> 00:11:06,890 Fre. 193 00:11:06,890 --> 00:11:12,240 >> Se konsa, ou sèvi ak yon lòt moun si-nan yon lòt bagay deklarasyon si ou konnen ke li kapab sèlman 194 00:11:12,240 --> 00:11:14,470 dwe youn nan ka sa yo. 195 00:11:14,470 --> 00:11:21,550 Se konsa, nou konnen si x se pi piti pase 0, li nan definitivman pa pral fè 196 00:11:21,550 --> 00:11:22,890 pi gran pase 0. 197 00:11:22,890 --> 00:11:26,940 198 00:11:26,940 --> 00:11:31,480 >> Next, yon lòt eleman debaz ki nou te aprann yo se pasan. 199 00:11:31,480 --> 00:11:33,310 Nou gen twa kalite pasan. 200 00:11:33,310 --> 00:11:35,830 Pou pasan, pandan y ap pasan, ak fè pandan y ap pasan. 201 00:11:35,830 --> 00:11:38,730 Epi jeneralman, lè ou chita ekri yon bagay, ou gen deside 202 00:11:38,730 --> 00:11:40,060 ki nan twa nan ou vle itilize. 203 00:11:40,060 --> 00:11:41,900 Se konsa, ki jan nou deside ki youn? 204 00:11:41,900 --> 00:11:44,920 205 00:11:44,920 --> 00:11:48,790 >> Nou jeneralman itilize yon riban pou si nou konnen konbyen fwa nou vle repekte 206 00:11:48,790 --> 00:11:53,650 atravè yon bagay oswa konbyen fwa nou vle fè yon travay. 207 00:11:53,650 --> 00:11:58,830 Nou itilize pandan y ap pasan si nou bezwen kèk kondisyon yo dwe vre kenbe kouri. 208 00:11:58,830 --> 00:12:03,730 Epi nou itilize fè pandan y ap trè menm jan ak pandan y ap, men nou vle Kòd nou yo kouri nan 209 00:12:03,730 --> 00:12:04,880 omwen yon sèl fwa. 210 00:12:04,880 --> 00:12:09,410 >> Se konsa, fè ti tan, tou sa se nan fè a pral toujou kouri omwen yon fwa. 211 00:12:09,410 --> 00:12:13,120 Lè nou konsidere ke, ak pandan y ap a, li pa ka kouri nan tout si la 212 00:12:13,120 --> 00:12:15,490 kondisyon pa satisfè. 213 00:12:15,490 --> 00:12:16,740 Nenpòt kesyon ak sa? 214 00:12:16,740 --> 00:12:20,480 215 00:12:20,480 --> 00:12:22,860 >> Se konsa, estrikti nan yon riban pou. 216 00:12:22,860 --> 00:12:23,620 Ou nèg te tout wè sa a. 217 00:12:23,620 --> 00:12:25,320 Ou inisyalize li. 218 00:12:25,320 --> 00:12:26,600 Ou gen kèk kalite kondisyon. 219 00:12:26,600 --> 00:12:32,340 Se konsa,, pou egzanp, nou ta ka inisyalize kòm pou mwen egal 0. 220 00:12:32,340 --> 00:12:34,040 mwen se mwens pase 10. 221 00:12:34,040 --> 00:12:35,442 Apre sa, mwen ++. 222 00:12:35,442 --> 00:12:39,010 Yon sèl trè senp ke nou te fè. 223 00:12:39,010 --> 00:12:42,210 >> Pou yon riban pandan y ap, menm jan an tou, ou gen gen kèk kalite inisyalizasyon, 224 00:12:42,210 --> 00:12:44,980 kèk kalite kondisyon, ak kèk kalite aktyalizasyon. 225 00:12:44,980 --> 00:12:51,990 Se konsa, nou ka aplike nou an pou riban tou kòm yon riban pandan y ap lè l sèvi avèk sa a. 226 00:12:51,990 --> 00:12:56,000 Epi Menm jan an tou ak yon fè pandan riban, nou ta ka gen kèk inisyalizasyon, 227 00:12:56,000 --> 00:12:58,640 egzekite yon bagay, mete li, ak Lè sa a, tcheke kondisyon an. 228 00:12:58,640 --> 00:13:03,500 229 00:13:03,500 --> 00:13:05,140 >> Se konsa, kounye fonksyon. 230 00:13:05,140 --> 00:13:06,460 Nou mete tout bagay ansanm. 231 00:13:06,460 --> 00:13:10,140 Nou ta ka vle ekri kèk kalite fonksyon. 232 00:13:10,140 --> 00:13:12,790 Komen fonksyon ki ou ta ka te wè deja se prensipal la. 233 00:13:12,790 --> 00:13:13,770 Prensipal la se yon fonksyon. 234 00:13:13,770 --> 00:13:16,160 Li te gen yon kalite retou, int. 235 00:13:16,160 --> 00:13:18,470 Li te gen yon non fonksyon, prensipal la. 236 00:13:18,470 --> 00:13:20,810 Epi li gen agiman, arg ak argv. 237 00:13:20,810 --> 00:13:24,040 Se konsa, prensipal la se jis yon fonksyon. 238 00:13:24,040 --> 00:13:27,230 >> Lòt fonksyon ou ta ka te itilize, printf printf se yon function-- 239 00:13:27,230 --> 00:13:29,330 GetInt, toupper. 240 00:13:29,330 --> 00:13:32,010 Men, sa yo rive yo te aplike pou nou pa 241 00:13:32,010 --> 00:13:33,270 kèk kalite bibliyotèk. 242 00:13:33,270 --> 00:13:37,400 Si ou nèg sonje ki gen ladan bibliyotèk sa a CS50.h oswa nan 243 00:13:37,400 --> 00:13:38,510 estanda I / O bibliyotèk. 244 00:13:38,510 --> 00:13:39,200 Wi, kesyon? 245 00:13:39,200 --> 00:13:41,610 >> ODYANS: Èske prensipal jis nannan nan c? 246 00:13:41,610 --> 00:13:44,740 Èske li jis kalite [fèbl]? 247 00:13:44,740 --> 00:13:47,370 >> Oratè 1: Kesyon an se si prensipal la se nannan nan c. 248 00:13:47,370 --> 00:13:51,460 E wi, tout fonksyon gen yon fonksyon prensipal. 249 00:13:51,460 --> 00:13:55,290 Li nan kalite ki nesesè pou òdinatè a pou konnen kote pou kòmanse 250 00:13:55,290 --> 00:13:55,993 kouri kòd la. 251 00:13:55,993 --> 00:13:58,108 >> ODYANS: Se konsa, ou pa t 'vle [fèbl]? 252 00:13:58,108 --> 00:13:59,480 >> Oratè 1: No 253 00:13:59,480 --> 00:14:00,760 Nenpòt lòt kesyon? 254 00:14:00,760 --> 00:14:03,430 255 00:14:03,430 --> 00:14:04,770 Fre. 256 00:14:04,770 --> 00:14:08,050 Se konsa, jis tankou ou ka sèvi ak yon fonksyon ki nan ekri pou ou, ou kapab tou 257 00:14:08,050 --> 00:14:10,380 ekri fonksyon pwòp ou yo. 258 00:14:10,380 --> 00:14:17,050 Sa a se yon fonksyon ke yon moun ta ka te ekri a kalkile volim nan 259 00:14:17,050 --> 00:14:18,395 nan yon q, pou egzanp. 260 00:14:18,395 --> 00:14:21,300 261 00:14:21,300 --> 00:14:29,500 Genyen yon kalite retounen isit la, nan ka sa a int, nou q Non fonksyon ak nou an 262 00:14:29,500 --> 00:14:31,360 lis paramèt. 263 00:14:31,360 --> 00:14:34,550 >> Epi sonje ke ou gen yo ekri done yo di ki kalite paramèt la ou vle 264 00:14:34,550 --> 00:14:38,660 itilize oswa lòt moun fonksyon an fè sa ki pa konnen ki kalite 265 00:14:38,660 --> 00:14:41,650 paramèt pou m 'ta aksepte. 266 00:14:41,650 --> 00:14:48,110 Se konsa, nan ka sa a, nou vle yon nonb antye relatif kòm opinyon nou an. 267 00:14:48,110 --> 00:14:50,390 Se konsa, poukisa nou ta ka vle itilize fonksyon? 268 00:14:50,390 --> 00:14:52,800 >> Premye a tout, gwo pou òganizasyon. 269 00:14:52,800 --> 00:14:56,350 Yo ede kraze moute Kòd ou a nan plis òganize fragman epi fè 270 00:14:56,350 --> 00:14:57,960 li pi fasil li. 271 00:14:57,960 --> 00:14:59,760 Senplifikasyon. 272 00:14:59,760 --> 00:15:01,740 Sa a se bon pou konsepsyon. 273 00:15:01,740 --> 00:15:04,570 Lè w ap li yon moso nan Kòd ak fonksyon prensipal la se vrèman, 274 00:15:04,570 --> 00:15:07,750 reyèlman long, li ta kapab pi rèd Rezon ki fè sou sa k ap pase sou. 275 00:15:07,750 --> 00:15:11,710 Se konsa, si ou kraze li desann nan fonksyon, li ta kapab pi fasil li. 276 00:15:11,710 --> 00:15:12,750 Epi jam itilize-kapasite. 277 00:15:12,750 --> 00:15:16,940 Si ou gen yon ti moso nan Kòd ki nan ke yo te rele oswa kouri plizyè fwa, 278 00:15:16,940 --> 00:15:20,690 olye pou yo reekri ke kòd 10 fwa nan fonksyon prensipal ou an, ou ta ka 279 00:15:20,690 --> 00:15:21,440 vle jam itilize li. 280 00:15:21,440 --> 00:15:25,740 Lè sa a, chak fwa ou bezwen sèvi ak ki moso nan Kòd, rele fonksyon an. 281 00:15:25,740 --> 00:15:30,550 282 00:15:30,550 --> 00:15:35,380 >> Se konsa, kounye a, si nou sonje tounen nan grafouyen, nou menm tou nou te pale osijè de yon konsèp kèk, 283 00:15:35,380 --> 00:15:37,680 youn nan ki se anfile. 284 00:15:37,680 --> 00:15:41,120 Thread se konsèp nan miltip sekans nan Kòd 285 00:15:41,120 --> 00:15:43,040 egzekite nan menm tan an. 286 00:15:43,040 --> 00:15:47,490 Se konsa, panse tounen nan jou yon sèl kote David te gen ou nèg konte koupe nimewo a nan 287 00:15:47,490 --> 00:15:48,440 moun ki nan sal la. 288 00:15:48,440 --> 00:15:50,550 >> Esansyèlman, sa ki te ale sou se tout nan ou nèg yo te 289 00:15:50,550 --> 00:15:52,370 kouri fil apa. 290 00:15:52,370 --> 00:15:55,540 Ak moun ki fil yo te vini ansanm yo ka resevwa kèk kalite repons. 291 00:15:55,540 --> 00:15:58,890 Menm jan tou, nan grafouyen, lè ou gen miltip sprites, ou ta ka 292 00:15:58,890 --> 00:16:01,070 gen yon chat ak yon chen. 293 00:16:01,070 --> 00:16:08,770 Apre sa, yo ta dwe an menm tan kouri Scripts pwòp yo. 294 00:16:08,770 --> 00:16:10,020 Sa se yon egzanp nan anfile. 295 00:16:10,020 --> 00:16:12,860 296 00:16:12,860 --> 00:16:18,000 >> Ak konsèp nan lòt ki te prezante nan grate te evènman yo. 297 00:16:18,000 --> 00:16:22,550 Ak evènman yo se lè miltip pati nan kòd ou kominike youn ak lòt. 298 00:16:22,550 --> 00:16:26,840 Nan grafouyen, sa a te lè ou te itilize nan difizyon kontwòl ak Lè an mwen 299 00:16:26,840 --> 00:16:29,500 Resevwa blòk. 300 00:16:29,500 --> 00:16:35,170 >> Epi tou, nan Set Pwoblèm 4, nou te wè yon ti kras nan evènman kòm byen. 301 00:16:35,170 --> 00:16:38,250 Ou nèg ta ka te itilize bibliyotèk la Gevent. 302 00:16:38,250 --> 00:16:42,450 Se konsa te gen yon fonksyon waitForClick nan ki ou te ap tann 303 00:16:42,450 --> 00:16:44,300 pou itilizatè a klike sou. 304 00:16:44,300 --> 00:16:47,870 Epi klike sou ou, nan ka sa a, ta dwe evènman an epi tann pou klike sou se ou 305 00:16:47,870 --> 00:16:49,120 evènman kap okipe. 306 00:16:49,120 --> 00:16:53,690 307 00:16:53,690 --> 00:16:58,630 >> Epi tou, pandan tout kouri psets ou ak ap travay sou psets ou, ou 308 00:16:58,630 --> 00:17:01,920 ta ka yo te vin an kontak avèk kèk nan kòmandman sa yo. 309 00:17:01,920 --> 00:17:05,579 Sa a se ki sa ou tape nan ou fenèt tèminal oswa kèlkeswa sa fenèt 310 00:17:05,579 --> 00:17:12,119 ki montre moute sou modifye g ou a, esansyèlman, navige òdinatè ou. 311 00:17:12,119 --> 00:17:19,440 >> Se konsa, pou egzanp, LS bay lis la sa nan yon anyè. 312 00:17:19,440 --> 00:17:22,510 Fè anyè kreye yon nouvo dosye. 313 00:17:22,510 --> 00:17:24,819 CD, chanjman anyè. 314 00:17:24,819 --> 00:17:28,400 RM, retire, supresyon yon dosye oswa kèk anyè. 315 00:17:28,400 --> 00:17:31,050 Lè sa a, retire anyè retire yon anyè. 316 00:17:31,050 --> 00:17:32,300 >> ODYANS: [fèbl]? 317 00:17:32,300 --> 00:17:36,978 318 00:17:36,978 --> 00:17:38,370 >> Oratè 1: Yeah, asire w. 319 00:17:38,370 --> 00:17:42,530 320 00:17:42,530 --> 00:17:46,040 Padon, kesyon an te si ou ta sijere mete sa a 321 00:17:46,040 --> 00:17:48,840 sou fèy la twonpe. 322 00:17:48,840 --> 00:17:49,440 Li ta kapab ede. 323 00:17:49,440 --> 00:17:51,490 Si ou gen chanm, ou ka mete l 'sou. 324 00:17:51,490 --> 00:17:56,170 Li la tou jis jeneralman bon ase yo sonje paske lè ou sèvi ak li 325 00:17:56,170 --> 00:17:59,060 ou ta ka vle jis genyen li memorize. 326 00:17:59,060 --> 00:18:02,750 Sa pral fè lavi ou yon anpil pi fasil. 327 00:18:02,750 --> 00:18:04,000 Èske mwen reponn kesyon ou a? 328 00:18:04,000 --> 00:18:10,528 329 00:18:10,528 --> 00:18:14,290 >> Se konsa, kounye a, nou te pale yon ti kras yon ti tan sou bibliyotèk yo. 330 00:18:14,290 --> 00:18:18,570 Men, de yo menm ki prensipal ke nou ve yo te lè l sèvi avèk byen lwen tèlman nan kou a yo se 331 00:18:18,570 --> 00:18:20,860 estanda I / O ak cs50. 332 00:18:20,860 --> 00:18:25,410 Ki kalite bagay sa yo yo enkli nan mwen / O bibliyotèk la estanda? 333 00:18:25,410 --> 00:18:28,410 >> Yeah, se konsa byen lwen nou te itilize printf. 334 00:18:28,410 --> 00:18:31,150 Nan cs50, nou te itilize GetInt ak GetString. 335 00:18:31,150 --> 00:18:37,200 Ak fisèl la kalite done tou k ap pase yo dwe deklare nan sa a bibliyotèk cs50. 336 00:18:37,200 --> 00:18:40,250 Nou pral pale yon ti kras plis an pwofondè sou ki jan bibliyotèk travay ak ki jan yo 337 00:18:40,250 --> 00:18:41,870 kominike avèk rès la nan kòd ou a. 338 00:18:41,870 --> 00:18:46,220 Men, moun yo se de yo menm ki prensipal ke nou te vin an kontak avèk byen lwen tèlman nan 339 00:18:46,220 --> 00:18:48,430 kou a. 340 00:18:48,430 --> 00:18:50,050 >> Kalite. 341 00:18:50,050 --> 00:18:58,120 Sa yo se bon sonje konbyen lajan se chak kalite reprezante pa oswa ki jan 342 00:18:58,120 --> 00:19:02,840 anpil bytes chak nan kalite requires-- 343 00:19:02,840 --> 00:19:04,990 int, 4 bytes; Char, 1 multiple. 344 00:19:04,990 --> 00:19:06,550 Flote se 4 bytes. 345 00:19:06,550 --> 00:19:07,782 Ki sa ki se yon doub? 346 00:19:07,782 --> 00:19:09,032 >> ODYANS: [fèbl]. 347 00:19:09,032 --> 00:19:11,398 348 00:19:11,398 --> 00:19:16,240 >> Oratè 1: Yeah, se konsa yon flote men double gwosè a. 349 00:19:16,240 --> 00:19:17,150 Ki sa ki sou yon long? 350 00:19:17,150 --> 00:19:18,400 >> ODYANS: [fèbl]. 351 00:19:18,400 --> 00:19:21,614 352 00:19:21,614 --> 00:19:24,680 >> Oratè 1: OK. 353 00:19:24,680 --> 00:19:25,410 Ki sa ki se yon long? 354 00:19:25,410 --> 00:19:26,660 >> ODYANS: [fèbl]. 355 00:19:26,660 --> 00:19:29,400 356 00:19:29,400 --> 00:19:31,450 >> Oratè 1: Yeah, double yon Int. 357 00:19:31,450 --> 00:19:34,240 358 00:19:34,240 --> 00:19:34,705 Wi. 359 00:19:34,705 --> 00:19:36,100 >> ODYANS: [fèbl]. 360 00:19:36,100 --> 00:19:38,030 >> Oratè 1: Long [fèbl]. 361 00:19:38,030 --> 00:19:41,860 Lè sa a, yon long lontan se doub sa. 362 00:19:41,860 --> 00:19:42,814 >> ODYANS: Non, pa gen okenn. 363 00:19:42,814 --> 00:19:47,107 Yon long se jis yon Int. 364 00:19:47,107 --> 00:19:50,910 Sa depann de ki achitekti a anvan [fèbl la] 365 00:19:50,910 --> 00:19:52,922 ak int gen gwosè nan menm. 366 00:19:52,922 --> 00:19:54,172 [Fèbl]. 367 00:19:54,172 --> 00:19:58,841 368 00:19:58,841 --> 00:20:00,920 >> Oratè 1: Se konsa, yon long ak yon int yo se menm bagay la. 369 00:20:00,920 --> 00:20:02,943 Lè sa a, yon long long se doub Int la. 370 00:20:02,943 --> 00:20:03,910 Fre. 371 00:20:03,910 --> 00:20:05,550 Lè sa a,, ki sa ki kalite nan sot pase a? 372 00:20:05,550 --> 00:20:06,510 >> ODYANS: konsèy. 373 00:20:06,510 --> 00:20:10,350 >> Oratè 1: Yeah, se konsa nou te aprann yon ti kras sou pwent. 374 00:20:10,350 --> 00:20:14,015 Ak kèlkeswa sa ki yon konsèy se lonje dwèt to-- li te kapab fè yon etwal Char 375 00:20:14,015 --> 00:20:15,880 oswa yon int star-- 376 00:20:15,880 --> 00:20:20,530 li la toujou 4 bytes pou yon konsèy. 377 00:20:20,530 --> 00:20:21,633 Kesyon sou sa? 378 00:20:21,633 --> 00:20:22,116 Wi? 379 00:20:22,116 --> 00:20:24,531 >> ODYANS: [fèbl]? 380 00:20:24,531 --> 00:20:29,530 >> Oratè 1: Se konsa, yon long ak yon int yo menm bagay la tou nan sa a aparèy cs50. 381 00:20:29,530 --> 00:20:32,302 >> ODYANS: aparèy nan yo konplètman ka ranplase. 382 00:20:32,302 --> 00:20:33,510 >> Oratè 1: Yeah. 383 00:20:33,510 --> 00:20:36,610 Se konsa, lè sa a yon se lontan lontan doub yon Int. 384 00:20:36,610 --> 00:20:39,250 >> ODYANS: Sa a se ti jan nan 32? 385 00:20:39,250 --> 00:20:40,620 >> Oratè 1: 32 ti jan, yeah. 386 00:20:40,620 --> 00:20:43,572 >> ODYANS: Se konsa [fèbl]? 387 00:20:43,572 --> 00:20:46,790 >> Oratè 1: Wi, si li pa fè sa klèman di, ou 388 00:20:46,790 --> 00:20:47,870 ta dwe asime yon ti jan 32. 389 00:20:47,870 --> 00:20:50,040 >> ODYANS: Li ta di yon bagay tankou asepte yon 390 00:20:50,040 --> 00:20:51,498 achitekti tankou aparèy la. 391 00:20:51,498 --> 00:20:58,800 392 00:20:58,800 --> 00:21:01,710 Pou 64 ti jan, bagay sa yo sèlman ki chanjman yo fin fou ak endikasyon. 393 00:21:01,710 --> 00:21:05,614 Yo tou de [fèbl]. 394 00:21:05,614 --> 00:21:06,590 >> Oratè 1: Wi? 395 00:21:06,590 --> 00:21:07,566 >> ODYANS: Kesyon. 396 00:21:07,566 --> 00:21:10,982 Se konsa, sou youn nan ti tès yo pratike, li mande sou yon Int siye. 397 00:21:10,982 --> 00:21:15,374 Se konsa, ki jan ta ki dwe detèmine soti nan yon int [fèbl]? 398 00:21:15,374 --> 00:21:18,140 >> Oratè 1: Yon siye nan se tou 4 bytes. 399 00:21:18,140 --> 00:21:21,172 Men, sa ki se diferan sou yon siyen int ak yon Int siye? 400 00:21:21,172 --> 00:21:22,422 >> ODYANS: [fèbl]. 401 00:21:22,422 --> 00:21:24,868 402 00:21:24,868 --> 00:21:25,630 >> Oratè 1: Dwa. 403 00:21:25,630 --> 00:21:27,570 Yon moun kapab reprezante valè negatif. 404 00:21:27,570 --> 00:21:28,580 Men, ki jan li fè sa? 405 00:21:28,580 --> 00:21:30,536 >> ODYANS: [fèbl]. 406 00:21:30,536 --> 00:21:36,370 >> Oratè 1: Yeah, l ap fè ekonomi 1 ti jan ki reprezante siy lan. 407 00:21:36,370 --> 00:21:40,910 408 00:21:40,910 --> 00:21:45,040 Siyen gen nan yon sèl ti jan ki reprezante siy lan. 409 00:21:45,040 --> 00:21:48,886 Ak siye jis se tout positifs. 410 00:21:48,886 --> 00:21:50,365 >> ODYANS: OK. 411 00:21:50,365 --> 00:21:54,230 Se konsa, ou di ke yon doub se de fwa gwosè a nan yon flote? 412 00:21:54,230 --> 00:21:58,202 >> Oratè 1: Double se de fwa gwosè a nan yon flote, wi. 413 00:21:58,202 --> 00:22:01,639 >> ODYANS: Kijan yon konsèy nan yon long lontan [fèbl]? 414 00:22:01,639 --> 00:22:06,058 415 00:22:06,058 --> 00:22:10,870 >> Oratè 1: Se konsa, kesyon an se ki jan fè konsèy la nan yon long-- long 416 00:22:10,870 --> 00:22:13,800 ki jan se ke se sèlman kat bytes lè yon long lontan bytes li yo 8. 417 00:22:13,800 --> 00:22:17,310 Se konsa, sonje sa ki se yon konsèy, esansyèlman, nan valè a anpil baz. 418 00:22:17,310 --> 00:22:19,046 >> ODYANS: [fèbl]. 419 00:22:19,046 --> 00:22:22,670 >> Oratè 1: Yeah, se konsa yon konsèy se jis yon kote memwa. 420 00:22:22,670 --> 00:22:28,040 Se konsa, li pa gen pwoblèm ki jan anpil espas ki konsèy ap montre yo. 421 00:22:28,040 --> 00:22:32,060 Li sèlman bezwen 4 bytes nan kenbe tras nan ki kote memwa. 422 00:22:32,060 --> 00:22:34,760 423 00:22:34,760 --> 00:22:36,010 Nenpòt lòt kesyon? 424 00:22:36,010 --> 00:22:39,800 425 00:22:39,800 --> 00:22:41,050 Fre. 426 00:22:41,050 --> 00:22:42,920 427 00:22:42,920 --> 00:22:47,460 >> Se konsa, bagay la pase mwen gen se estanda pwodiksyon. 428 00:22:47,460 --> 00:22:51,020 Ou ta dwe sèvi ak yo souvan ase ke ou ka sonje. 429 00:22:51,020 --> 00:22:54,800 Men, sa a se lè nou sèvi ak printf, pou egzanp. 430 00:22:54,800 --> 00:22:59,260 Epi nou gen placeholders sa yo ki te rele kòd fòma. 431 00:22:59,260 --> 00:23:03,910 >> Se konsa, pousan c Char, pousan mwen pou Int, epi nou ka tou itilize pousan d. 432 00:23:03,910 --> 00:23:05,130 Li nan menm bagay la. 433 00:23:05,130 --> 00:23:08,200 Men, jeneralman, nan CS50 nou eseye sèvi ak pousan mwen. 434 00:23:08,200 --> 00:23:09,860 Pousan f pou flote. 435 00:23:09,860 --> 00:23:15,620 Pousan LD pou lontan long ak pousan a pou fisèl. 436 00:23:15,620 --> 00:23:18,550 >> Menm jan tou, nou ve yo te lè l sèvi avèk yon kèk nan sekans chape sa yo. 437 00:23:18,550 --> 00:23:22,431 Pou egzanp, antislach n pou nouvo liy. 438 00:23:22,431 --> 00:23:26,910 Sa a se jis pou lè w ap fòma kòd ou a pou ekri an lèt detache f. 439 00:23:26,910 --> 00:23:27,260 Wi? 440 00:23:27,260 --> 00:23:28,906 >> ODYANS: Ki sa ki pousan d pou? 441 00:23:28,906 --> 00:23:31,850 >> Oratè 1: Se konsa, kesyon an se ki sa ki pousan d pou? 442 00:23:31,850 --> 00:23:33,270 Pousan d se pou antye. 443 00:23:33,270 --> 00:23:37,392 Pousan d ak pousan mwen yo se menm bagay la. 444 00:23:37,392 --> 00:23:41,130 >> ODYANS: Ki sa ki nan diferans ki genyen ant antislach n ak antislach r? 445 00:23:41,130 --> 00:23:45,300 >> Oratè 1: Se konsa, kesyon an se sa ki nan la diferans ki genyen ant repèkisyon n ak 446 00:23:45,300 --> 00:23:48,615 repèkisyon r? 447 00:23:48,615 --> 00:23:50,906 Mwen panse ke antislach r is-- 448 00:23:50,906 --> 00:23:54,340 >> ODYANS: Se konsa antislach r jis implique retounen nan nan konmansman an nan liy lan 449 00:23:54,340 --> 00:23:56,670 san yo pa aktyèlman ale nan yon liy nouvo. 450 00:23:56,670 --> 00:24:01,000 Se konsa, si ou enprime yon r antislach epi ou ale tounen nan kòmansman an nan liy lan 451 00:24:01,000 --> 00:24:04,005 Lè sa a, ou enprime plis bagay, ou recouvrir bagay la sa a, se deja sou 452 00:24:04,005 --> 00:24:04,390 [Fèbl]. 453 00:24:04,390 --> 00:24:06,725 Lè nou konsidere ke, n aktyèlman ale nan yon nouvo liy ak ale nan [fèbl]. 454 00:24:06,725 --> 00:24:10,525 455 00:24:10,525 --> 00:24:13,915 >> Oratè 1: Bon, nenpòt lòt kesyon? 456 00:24:13,915 --> 00:24:15,430 Tout dwa. 457 00:24:15,430 --> 00:24:18,617 Mwen pral lage li yo ale nan Dan ki ap kontinye. 458 00:24:18,617 --> 00:24:25,078 >> [Aplodisman] 459 00:24:25,078 --> 00:25:08,814 460 00:25:08,814 --> 00:25:09,720 >> DAN: Tout righty. 461 00:25:09,720 --> 00:25:18,590 Se konsa, mwen pral pale sou yon lòt lajè ran de lide nan klas la ki 462 00:25:18,590 --> 00:25:23,220 apeprè reprezantan nan semèn de ak kòmansman an nan semèn twa kòmanse koupe 463 00:25:23,220 --> 00:25:28,690 ak Distribisyon, ki se jis yon fason pou trete yon valè de yon kalite sèten kòm 464 00:25:28,690 --> 00:25:30,830 yon valè de yon kalite diferan. 465 00:25:30,830 --> 00:25:34,110 Se konsa, nou ka fè sa ak charaktèr antye, flote antye, ak 466 00:25:34,110 --> 00:25:35,360 fin fou lontan a doub. 467 00:25:35,360 --> 00:25:38,170 468 00:25:38,170 --> 00:25:44,500 >> Tout bagay sa yo kapab itilize yo kòm fason nan trete kèk nimerik valè 469 00:25:44,500 --> 00:25:48,370 Char mwens tankou kèk lòt nimerik valè. 470 00:25:48,370 --> 00:25:54,480 Se konsa, gen kèk pwoblèm ak sa a, nan kou, ki vini lè ou jete 471 00:25:54,480 --> 00:25:57,860 bagay sa yo tankou flote antye. 472 00:25:57,860 --> 00:26:00,500 Se konsa, sa a se yon ti kras etranj. 473 00:26:00,500 --> 00:26:03,170 Nou gen yon flote ki se 1.31. 474 00:26:03,170 --> 00:26:05,220 Nou miltipliye li pa 10,000. 475 00:26:05,220 --> 00:26:08,380 Lè sa a, nou enprime li kòm yon Int. 476 00:26:08,380 --> 00:26:09,630 Ki sa pwodiksyon sa a? 477 00:26:09,630 --> 00:26:11,600 478 00:26:11,600 --> 00:26:14,020 10,000 fwa 1.31. 479 00:26:14,020 --> 00:26:18,761 Se konsa, 13,000, se ke devine a? 480 00:26:18,761 --> 00:26:20,685 >> ODYANS: Mwen panse ke li nan 10,000. 481 00:26:20,685 --> 00:26:24,234 >> DAN: Se konsa, mwen miltipliye li pa 10,000 anvan mwen depoze li. 482 00:26:24,234 --> 00:26:25,202 >> ODYANS: Oh. 483 00:26:25,202 --> 00:26:27,622 Pa ta gen fè yon sèl 9 ak kèk 0 nimewo? 484 00:26:27,622 --> 00:26:29,270 >> DAN: Ou ta ka gen kèk chif etranj. 485 00:26:29,270 --> 00:26:32,410 486 00:26:32,410 --> 00:26:37,670 Se konsa, dwa, li nan 1.3 fwa 10,000. 487 00:26:37,670 --> 00:26:40,040 Se konsa, se 13,000. 488 00:26:40,040 --> 00:26:41,313 Lè sa a weird-- siplemantè 489 00:26:41,313 --> 00:26:42,160 >> ODYANS: 13.100. 490 00:26:42,160 --> 00:26:42,650 >> DAN: 13.100. 491 00:26:42,650 --> 00:26:44,910 Mèsi poutèt ou, Rob. 492 00:26:44,910 --> 00:26:46,610 Lè sa a weirdness-- siplemantè 493 00:26:46,610 --> 00:26:48,060 sa a 9,9-- 494 00:26:48,060 --> 00:26:53,860 se tou senpleman paske Distribisyon sa a te fini awondi desann kote 495 00:26:53,860 --> 00:26:55,394 li pa ta dwe gen. 496 00:26:55,394 --> 00:26:55,871 Yeah. 497 00:26:55,871 --> 00:26:58,256 >> ODYANS: Distribisyon nan k ap pase apre nenpòt lòt bagay? 498 00:26:58,256 --> 00:27:03,865 >> DAN: Se konsa, paske mwen gen sa a nan ekri ak lèt ​​detache, li fè miltiplikasyon sa a anvan li 499 00:27:03,865 --> 00:27:05,230 fè Distribisyon sa a. 500 00:27:05,230 --> 00:27:06,140 >> ODYANS: [fèbl]. 501 00:27:06,140 --> 00:27:11,350 >> DAN: Mwen panse ke li ta jete premye, yeah, ki ta dwe 10,000. 502 00:27:11,350 --> 00:27:12,610 Nenpòt lòt bagay? 503 00:27:12,610 --> 00:27:13,330 Fre. 504 00:27:13,330 --> 00:27:16,344 Se konsa, sa a se 13.099. 505 00:27:16,344 --> 00:27:17,840 Poukisa sa te rive? 506 00:27:17,840 --> 00:27:18,900 Enpresizyon. 507 00:27:18,900 --> 00:27:21,020 >> Flote yo pa pafè. 508 00:27:21,020 --> 00:27:27,550 Yo kapab sèlman reprezante nonb nan yon sèten kantite figi enpòtan. 509 00:27:27,550 --> 00:27:35,120 Se konsa, si nou enprime soti 8 sig fig frans sou flote sa a, nou jwenn yon kalite 510 00:27:35,120 --> 00:27:36,800 lèd Nimewo kap. 511 00:27:36,800 --> 00:27:45,580 Epi sa a, paske 1.31 pa kapab avèk presizyon dwe reprezante pa senp 512 00:27:45,580 --> 00:27:49,000 pouvwa nan de nan machin nan. 513 00:27:49,000 --> 00:27:53,530 Se konsa, li fini moute pran pi pre a devine, ki fini moute 514 00:27:53,530 --> 00:27:55,710 ke yo te yon ti kras ki ba. 515 00:27:55,710 --> 00:27:57,730 Fè sans? 516 00:27:57,730 --> 00:27:59,110 OK. 517 00:27:59,110 --> 00:28:05,840 >> Koulye a, chanje yo se yon fason diferan nan fè deklarasyon kondisyonèl kote tout 518 00:28:05,840 --> 00:28:09,900 nou pran swen sou se yon varyab sèl. 519 00:28:09,900 --> 00:28:16,570 Se konsa, nan egzanp sa a an patikilye, nou ap ap resevwa yon nonb antye relatif soti nan itilizatè a. 520 00:28:16,570 --> 00:28:21,070 Lè sa a, nou ap chèche a ki sa sa nonb antye relatif se. 521 00:28:21,070 --> 00:28:23,500 Assume, li nan nimewo ant youn ak kat. 522 00:28:23,500 --> 00:28:24,800 Sa a ki sa nou ap mande pou. 523 00:28:24,800 --> 00:28:28,450 >> Se konsa, ou fè yon switch nan non an varyab. 524 00:28:28,450 --> 00:28:34,290 Lè sa a, ou mete kanpe ka nan posib valè li te kapab. 525 00:28:34,290 --> 00:28:37,730 Se konsa, ka yon sèl, di li nan ba. 526 00:28:37,730 --> 00:28:41,080 Lè sa a, ou kase jwenn soti nan kondisyon an switch konsa 527 00:28:41,080 --> 00:28:43,270 ou pa kenbe prale. 528 00:28:43,270 --> 00:28:44,830 >> Nan case-- nan pwochen 529 00:28:44,830 --> 00:28:46,940 se konsa ka de ak ka three-- 530 00:28:46,940 --> 00:28:51,920 si li nan ka de li jis gout desann nan liy lan premye nan Kòd li wè menm jan ak 531 00:28:51,920 --> 00:28:55,400 Ka twa jiskaske li wè yon ti repo. 532 00:28:55,400 --> 00:29:00,430 Se konsa, rezon ki fè yo ou jwenn ka youn nan sèlman ekri an lèt detache ba se paske mwen 533 00:29:00,430 --> 00:29:01,890 gen sa a ti repo isit la. 534 00:29:01,890 --> 00:29:05,360 Si m ', di, inyore break-- sa a si mwen jete breakaway-- sa a 535 00:29:05,360 --> 00:29:09,740 li ta ekri ak lèt ​​detache ba, ak Lè sa a, li ta enprime mwayen, ak Lè sa a, li ta kraze. 536 00:29:09,740 --> 00:29:12,200 >> Se konsa, repo se yon pati enpòtan nan chanje kondisyon ak 537 00:29:12,200 --> 00:29:14,340 yo ta dwe gen. 538 00:29:14,340 --> 00:29:20,070 Nenpòt ka ki pa te deklare klèman yo okipe pa default a 539 00:29:20,070 --> 00:29:26,645 ta dwe ka nan switch la yo epi yo dwe jete. 540 00:29:26,645 --> 00:29:31,363 >> ODYANS: Se konsa 1, 2, 3, ak 4 ta dwe n? 541 00:29:31,363 --> 00:29:33,310 >> DAN: Valè ki n kapab. 542 00:29:33,310 --> 00:29:34,654 Wi. 543 00:29:34,654 --> 00:29:35,146 Yeah? 544 00:29:35,146 --> 00:29:37,606 >> ODYANS: Se konsa lè ou gen ki [fèbl]? 545 00:29:37,606 --> 00:29:44,002 546 00:29:44,002 --> 00:29:46,830 >> DAN: Ou ta enprime ba, ak Lè sa a, li ta ekri ak lèt ​​detache mwayen, ak 547 00:29:46,830 --> 00:29:47,400 Lè sa a, li ta kraze. 548 00:29:47,400 --> 00:29:50,244 >> ODYANS: Poukisa ta li enprime mitan si [fèbl]? 549 00:29:50,244 --> 00:29:54,036 550 00:29:54,036 --> 00:30:00,550 >> DAN: Se konsa, tout bagay anba yon ka anvan yon ti repo tonbe anba. 551 00:30:00,550 --> 00:30:09,390 Se konsa, ka yon sèl ekri an lèt detache se anba ka yon sèl kòm se enprime sa a anba la a. 552 00:30:09,390 --> 00:30:09,890 Yeah? 553 00:30:09,890 --> 00:30:11,140 >> ODYANS: [fèbl]? 554 00:30:11,140 --> 00:30:15,890 555 00:30:15,890 --> 00:30:22,170 >> DAN: Se konsa, nimewo sa a se jis yon patikilye valè varyab sa sa a 556 00:30:22,170 --> 00:30:23,420 ka pran, dwa? 557 00:30:23,420 --> 00:30:26,740 558 00:30:26,740 --> 00:30:28,490 ki fè sans? 559 00:30:28,490 --> 00:30:28,990 Yeah. 560 00:30:28,990 --> 00:30:31,490 >> ODYANS: [fèbl]? 561 00:30:31,490 --> 00:30:34,130 >> DAN: Wi, ka de ta enprime mwayen ak Lè sa a, kraze. 562 00:30:34,130 --> 00:30:35,380 >> ODYANS: [fèbl]? 563 00:30:35,380 --> 00:30:37,954 564 00:30:37,954 --> 00:30:40,050 >> DAN: Mwen panse ke nenpòt ki? 565 00:30:40,050 --> 00:30:43,855 Ki kalite done lòt ou ka chanje sou? 566 00:30:43,855 --> 00:30:46,320 >> ODYANS: Ou ka chanje sou nenpòt ki kalite done. 567 00:30:46,320 --> 00:30:50,905 Men, li sèlman vle di anyen sou char ak antye ak lòt bagay tankou sa, paske 568 00:30:50,905 --> 00:30:55,600 si w ap oblije chanje sou yon konsèy ki pa vrèman fè sans, 569 00:30:55,600 --> 00:30:59,555 oblije chanje sou charj, si li menm kite nan ou fè sa, paske nan pwen k ap flote 570 00:30:59,555 --> 00:31:02,840 nan presizyon, ou ta pa reyèlman vle fè sa de tout fason. 571 00:31:02,840 --> 00:31:07,320 Se konsa, bèl anpil, jis antye ak charaktèr ak lòt bagay tankou sa. 572 00:31:07,320 --> 00:31:12,360 >> DAN: Yeah, li nan lè ou gen eksplisit valè ke ou konnen, mwen panse, kapab 573 00:31:12,360 --> 00:31:14,250 ki yon switch se aktyèlman itil. 574 00:31:14,250 --> 00:31:17,094 575 00:31:17,094 --> 00:31:18,990 Bon? 576 00:31:18,990 --> 00:31:21,370 OK. 577 00:31:21,370 --> 00:31:26,180 >> Dimansyon se ranje a ke yon te deklare varyab fin. 578 00:31:26,180 --> 00:31:32,190 Se konsa, nan sa a ti moso ti kras nan Kòd mwen gen, li ta plen nan erè. 579 00:31:32,190 --> 00:31:41,450 Ak rezon an se mwen te deklare Int sa a mwen nan sijè ki abòde lan nan sa a pou riban. 580 00:31:41,450 --> 00:31:46,390 Lè sa a, mwen ap eseye referans ki mwen deyò nan ke pou sijè ki abòde bouk. 581 00:31:46,390 --> 00:31:50,330 >> Se konsa, fondamantalman, ou ka panse sou sijè ki abòde kòm nenpòt ki bagay ki ou deklare 582 00:31:50,330 --> 00:31:59,750 ak andedan yon seri aparèy òtopedik Curly sèlman egziste nan sa yo aparèy òtopedik Curly. 583 00:31:59,750 --> 00:32:04,990 Men, si ou eseye epi sèvi ak varyab sa deyò nan sa yo aparèy òtopedik Curly, ou pral 584 00:32:04,990 --> 00:32:08,356 jwenn yon erè soti nan du a. 585 00:32:08,356 --> 00:32:08,812 Yeah? 586 00:32:08,812 --> 00:32:09,724 >> ODYANS: Se konsa yon sèl sa a pa travay? 587 00:32:09,724 --> 00:32:11,790 >> DAN: Sa a pa travay, wi. 588 00:32:11,790 --> 00:32:17,190 589 00:32:17,190 --> 00:32:18,660 Strings. 590 00:32:18,660 --> 00:32:19,780 Fisèl yon * Char. 591 00:32:19,780 --> 00:32:22,250 Yo ap ekzakteman menm bagay la. 592 00:32:22,250 --> 00:32:25,540 Yo yo se jis endikasyon nan karaktè. 593 00:32:25,540 --> 00:32:33,000 Ak nenpòt ki strings ke ou gen ta dwe fini ak zewo antislach, ki se jis 594 00:32:33,000 --> 00:32:34,410 yon konvansyon c. 595 00:32:34,410 --> 00:32:36,680 >> Se sa yo rele Terminator a nil. 596 00:32:36,680 --> 00:32:39,050 Epi null-- 597 00:32:39,050 --> 00:32:41,670 kapital N, kapital U, kapital L, kapital L-- 598 00:32:41,670 --> 00:32:44,290 se pa menm bagay la kòm nan Nil Terminator. 599 00:32:44,290 --> 00:32:46,640 Sa a se yon konsèy. 600 00:32:46,640 --> 00:32:48,280 Sa a se yon karaktè. 601 00:32:48,280 --> 00:32:49,530 Yo se trè diferan. 602 00:32:49,530 --> 00:32:50,200 Sonje li. 603 00:32:50,200 --> 00:32:52,320 Li pral sou egzamen an, pwobableman. 604 00:32:52,320 --> 00:32:54,040 Mwen pa te wè egzamen an. 605 00:32:54,040 --> 00:32:57,880 606 00:32:57,880 --> 00:32:58,840 Yeah? 607 00:32:58,840 --> 00:33:01,232 >> ODYANS: Se konsa nil se, di, konsèy la? 608 00:33:01,232 --> 00:33:01,995 >> DAN: Wi. 609 00:33:01,995 --> 00:33:05,170 >> ODYANS: Ki sa [fèbl]? 610 00:33:05,170 --> 00:33:10,050 >> DAN: Si, di, malok yo rele lè ou pa gen ase memwa yo ka resevwa 611 00:33:10,050 --> 00:33:14,400 kèlkeswa gwosè ou ap mande pou, malok ap retounen nil. 612 00:33:14,400 --> 00:33:19,550 Li nan, fondamantalman, chak fwa yon fonksyon se sipoze retounen yon konsèy, ou 613 00:33:19,550 --> 00:33:22,600 bezwen yo tcheke kont nil paske Nil se yon good-- trè 614 00:33:22,600 --> 00:33:25,260 li a, sòt de, valè a fatra. 615 00:33:25,260 --> 00:33:27,050 Li se yon zewo osi lwen ke endikasyon ale. 616 00:33:27,050 --> 00:33:29,630 617 00:33:29,630 --> 00:33:32,250 >> Chak fwa ou rele yon fonksyon, ki retounen yon konsèy. 618 00:33:32,250 --> 00:33:35,960 W ap ale nan vle tcheke yo dwe asire w ke ki konsèy se pa nil 619 00:33:35,960 --> 00:33:37,760 paske nil se trè komen. 620 00:33:37,760 --> 00:33:40,160 Li nan sòt de yon retou fatra. 621 00:33:40,160 --> 00:33:44,902 Se konsa, si yon bagay pa t 'ale dwa, jis retounen nil pito. 622 00:33:44,902 --> 00:33:45,898 >> ODYANS: [fèbl]? 623 00:33:45,898 --> 00:33:48,922 >> DAN: Wi, epi ki nan sa a. 624 00:33:48,922 --> 00:33:51,750 >> ODYANS: [fèbl]? 625 00:33:51,750 --> 00:33:52,800 >> DAN: korektè li kòm sa a. 626 00:33:52,800 --> 00:33:54,150 Li nan Terminator a nil. 627 00:33:54,150 --> 00:33:56,560 Li nan miniskil N-U-L-L si w ap òtograf li. 628 00:33:56,560 --> 00:33:59,860 >> ODYANS: Apre sa, mwen jis te ale retounen lakay yo epi teste li. 629 00:33:59,860 --> 00:34:03,010 Men, si ou eseye mete yon pwen k ap flote valè nan yon switch, li pral rele nan ou 630 00:34:03,010 --> 00:34:05,916 li di, deklarasyon mande pou ekspresyon nan kalite nonb antye relatif. 631 00:34:05,916 --> 00:34:07,166 >> DAN: Gen ou ale. 632 00:34:07,166 --> 00:34:09,639 633 00:34:09,639 --> 00:34:12,246 Men, yeah, sa ki te kesyon an ankò? 634 00:34:12,246 --> 00:34:13,496 >> ODYANS: [fèbl]? 635 00:34:13,496 --> 00:34:16,150 636 00:34:16,150 --> 00:34:23,679 >> DAN: Se konsa, kapital N, kapital U, kapital L, kapital L se yon bagay c vrè. 637 00:34:23,679 --> 00:34:29,719 Li se konsèy la nil epi yo pral sèlman dwe trete kòm sa yo. 638 00:34:29,719 --> 00:34:33,530 Ou pa pral tout tan tout tan eseye ak eple a Karaktè nil epi wè nenpòt ki 639 00:34:33,530 --> 00:34:35,630 lòt fason pase sa. 640 00:34:35,630 --> 00:34:36,610 Yeah? 641 00:34:36,610 --> 00:34:42,490 >> ODYANS: Se konsa retounen nan Char max oswa yon bagay nan nòt yo, ta li 642 00:34:42,490 --> 00:34:43,960 enkòpore fonksyon an menm kòm [fèbl]? 643 00:34:43,960 --> 00:34:50,655 644 00:34:50,655 --> 00:34:54,949 >> ODYANS: Se konsa w'ap refere li a retounen Char max soti nan getchar, oswa 645 00:34:54,949 --> 00:34:55,444 tou sa li se? 646 00:34:55,444 --> 00:34:55,940 >> ODYANS: Yeah. 647 00:34:55,940 --> 00:34:58,620 >> ODYANS: Yeah, se konsa jeneral la tèm pou tout bagay sa yo 648 00:34:58,620 --> 00:34:59,920 yo Sentinel valè. 649 00:34:59,920 --> 00:35:03,640 Se konsa, tankou retounen Int max soti nan GetInt ak Char max soti nan getchar, li nan 650 00:35:03,640 --> 00:35:06,010 sipoze tankou, tout dwa, si bagay sa yo ap retounen nan nou, 651 00:35:06,010 --> 00:35:07,210 yon bagay ale mal. 652 00:35:07,210 --> 00:35:09,950 >> Pou endikasyon, nou jis rive gen valè Sentinel sa a ke tout moun 653 00:35:09,950 --> 00:35:10,750 dakò sou li. 654 00:35:10,750 --> 00:35:13,210 Lè sa a se bagay la ou retounen lè bagay sa yo ale mal. 655 00:35:13,210 --> 00:35:15,910 Se konsa, Char max se sa ki nou ap sèvi ak reprezante yon bagay 656 00:35:15,910 --> 00:35:18,100 tankou nil oswa getchar. 657 00:35:18,100 --> 00:35:23,420 >> ODYANS: Se konsa, si w ap fè tès getchar, te kapab ou jis mete nil? 658 00:35:23,420 --> 00:35:23,910 Ta ki fè yon diferans? 659 00:35:23,910 --> 00:35:25,400 >> DAN: Ou pa t 'kapab jis tcheke nil. 660 00:35:25,400 --> 00:35:30,130 Ou ta gen yo tcheke Char max paske nan valè retounen soti nan fonksyon an se 661 00:35:30,130 --> 00:35:35,416 yon karaktè pa yon konsèy. 662 00:35:35,416 --> 00:35:35,888 Yeah? 663 00:35:35,888 --> 00:35:38,248 >> ODYANS: Kesyon sa a mande pou longè a fisèl. 664 00:35:38,248 --> 00:35:40,136 Èske ki gen ladan yo pèsonaj la nil? 665 00:35:40,136 --> 00:35:41,000 >> DAN: No 666 00:35:41,000 --> 00:35:45,930 Epi sa a, aktyèlman ki jan longè fil konnen yo sispann paske li ale nan 667 00:35:45,930 --> 00:35:49,070 etalaj ou nan karaktè jiskaske li wè yon karaktè nil. 668 00:35:49,070 --> 00:35:51,030 Lè sa a, li la tankou, tout dwat, mwen fè. 669 00:35:51,030 --> 00:35:52,130 >> ODYANS: [fèbl] senk? 670 00:35:52,130 --> 00:35:53,990 >> DAN: Hello ta dwe senk. 671 00:35:53,990 --> 00:35:55,240 Oui. 672 00:35:55,240 --> 00:35:59,580 673 00:35:59,580 --> 00:36:02,880 Se konsa, ranje yo se kontinyèl blòk nan memwa. 674 00:36:02,880 --> 00:36:08,480 Yo gen aksè enstantane lè li di nan non nan etalaj la ak Lè sa a, nan Curly 675 00:36:08,480 --> 00:36:16,720 aparèy òtopedik, kèlkeswa sa endèks ou vle ale , yo ap Catalogue soti nan zewo a 676 00:36:16,720 --> 00:36:20,100 longè a nan etalaj la mwens 1. 677 00:36:20,100 --> 00:36:23,070 >> Apre sa, yo ap deklare pa kalite a nan la bagay ke ou ap estoke nan la 678 00:36:23,070 --> 00:36:29,750 etalaj, non an nan etalaj la, ak Lè sa a, tou sa gwosè a se nan ki etalaj. 679 00:36:29,750 --> 00:36:36,660 Se konsa, sa a se yon etalaj Char nan longè sis ki gen valè sa yo. 680 00:36:36,660 --> 00:36:42,050 681 00:36:42,050 --> 00:36:42,700 Yeah? 682 00:36:42,700 --> 00:36:43,950 >> ODYANS: [fèbl]? 683 00:36:43,950 --> 00:36:47,980 684 00:36:47,980 --> 00:36:48,460 >> DAN: Yeah. 685 00:36:48,460 --> 00:36:51,340 >> ODYANS: [fèbl]? 686 00:36:51,340 --> 00:36:56,700 >> DAN: Si ou gen ki sa ki pwal nan etalaj la deja fè fè yo. 687 00:36:56,700 --> 00:37:02,260 Se konsa, ou ta ka presize sa a olye ke, di, Char, kèlkeswa sa non an nan ou 688 00:37:02,260 --> 00:37:12,200 etalaj se, parantèz vid egal Curly mete sipò H vigil E vigil L vigil L vigil 689 00:37:12,200 --> 00:37:16,290 O vigil karaktè nil ak Curly atèl. 690 00:37:16,290 --> 00:37:18,180 Ki ta ka travay tou kòm yon deklarasyon. 691 00:37:18,180 --> 00:37:20,886 >> ODYANS: [fèbl]? 692 00:37:20,886 --> 00:37:23,110 >> DAN: Lè sa a, ou bezwen gen gwosè a deja fè fè yo. 693 00:37:23,110 --> 00:37:23,896 >> ODYANS: [fèbl]? 694 00:37:23,896 --> 00:37:25,146 >> DAN: Wi. 695 00:37:25,146 --> 00:37:30,114 696 00:37:30,114 --> 00:37:32,420 Tout righty. 697 00:37:32,420 --> 00:37:36,430 Agiman liy lòd yo se yon fason a ap resevwa enfòmasyon nan men gwoup itilizatè a kòm 698 00:37:36,430 --> 00:37:39,380 agiman prensipal la. 699 00:37:39,380 --> 00:37:40,600 Main pran de agiman. 700 00:37:40,600 --> 00:37:47,680 Nimewo a nan agiman ki se ke yo te pase sou liy lan bay lòd ak yon 701 00:37:47,680 --> 00:37:55,340 vektè fisèl oswa yon etalaj fisèl nan tout nan agiman yo. 702 00:37:55,340 --> 00:38:07,840 >> Se konsa, si mwen, di, rele yon fonksyon tankou yon dot soti 1 espas, 2 espas, twa, 703 00:38:07,840 --> 00:38:10,110 arg ta dwe 4. 704 00:38:10,110 --> 00:38:17,370 Ak argv 0 la ta dwe yon dot deyò. 705 00:38:17,370 --> 00:38:19,130 Argv1 ta dwe 1. 706 00:38:19,130 --> 00:38:23,030 argv2 ta dwe 2. argv3 ta dwe 3, nan ka sa a an patikilye. 707 00:38:23,030 --> 00:38:23,310 Yeah? 708 00:38:23,310 --> 00:38:25,400 >> ODYANS: [fèbl]? 709 00:38:25,400 --> 00:38:34,010 >> DAN: Se eleman ki sot pase a nan etalaj la paske etalaj la se longè arg plis 710 00:38:34,010 --> 00:38:41,050 youn nan argb, eleman ki sot pase a se konsèy la nil. 711 00:38:41,050 --> 00:38:42,580 Li se arg plis 1. 712 00:38:42,580 --> 00:38:46,210 713 00:38:46,210 --> 00:38:52,150 Se konsa, nan ka a ke mwen jis te di, li ta dwe argv 0 se yon dot deyò. 714 00:38:52,150 --> 00:38:56,330 argv 1 se 1. argv2 se 2. argv 3 se 3. 715 00:38:56,330 --> 00:39:03,490 argv 4, ki se youn pi gwo pase arg ta dwe nil. 716 00:39:03,490 --> 00:39:04,870 >> Epi sa a, konsèy la nil. 717 00:39:04,870 --> 00:39:06,590 Wi. 718 00:39:06,590 --> 00:39:11,250 Epi sa a, paske fisèl se yon etwal Char se yon konsèy. 719 00:39:11,250 --> 00:39:14,102 Se konsa, li te gen kalite a menm. 720 00:39:14,102 --> 00:39:14,595 Yeah? 721 00:39:14,595 --> 00:39:16,074 >> ODYANS: De kesyon. 722 00:39:16,074 --> 00:39:21,004 Se konsa, yon sèl, sa ki nan diferans ki genyen ant sa a epi GetString lòt pase yon sèl kalite 723 00:39:21,004 --> 00:39:22,483 nan motè a itilizatè? 724 00:39:22,483 --> 00:39:25,934 Ak de, se li ki estoke nan memwa ki sot pase ou a? 725 00:39:25,934 --> 00:39:28,399 Se konsa, tankou, GetString ta gen [fèbl]? 726 00:39:28,399 --> 00:39:31,357 727 00:39:31,357 --> 00:39:33,650 >> DAN: Ki kote li ki estoke? 728 00:39:33,650 --> 00:39:34,905 Mwen pa konnen ki kote li a ki estoke. 729 00:39:34,905 --> 00:39:40,000 >> ODYANS: Se konsa, aktyèlman, ou konnen ki jan nenpòt ki fonksyone ou rele li nan agiman 730 00:39:40,000 --> 00:39:42,170 yo estoke nan chemine a? 731 00:39:42,170 --> 00:39:46,610 Se konsa, arg ak argv yo se agiman prensipal ak yo sou chemine a, oswa reyèlman 732 00:39:46,610 --> 00:39:49,131 jis anwo a ki sa ou panse kòm nan kòmansman an nan chemine a. 733 00:39:49,131 --> 00:39:53,490 Ki sa ki te pati nan lòt nan kesyon an? 734 00:39:53,490 --> 00:39:56,821 >> ODYANS: Se konsa sa ki nan [fèbl la]? 735 00:39:56,821 --> 00:40:00,990 >> DAN: Yeah, li nan jis yon fason diferan nan ap resevwa enfòmasyon nan men gwoup itilizatè a. 736 00:40:00,990 --> 00:40:06,030 Sa a yon sèl nan yon ti kras pi efikas ak li nan handier pou Scripts paske ou 737 00:40:06,030 --> 00:40:10,070 ka jis pase agiman prensipal ou fonksyon olye ke gen yo rete tann 738 00:40:10,070 --> 00:40:13,400 pou itilizatè si ou pa gen okenn itilizatè. 739 00:40:13,400 --> 00:40:16,280 >> ODYANS: Lè yeah, jwenn strings ta dwe [fèbl]. 740 00:40:16,280 --> 00:40:17,922 Li ta magazen bagay la ou bezwen. 741 00:40:17,922 --> 00:40:18,834 >> DAN: Yeah? 742 00:40:18,834 --> 00:40:21,114 >> ODYANS: [fèbl]? 743 00:40:21,114 --> 00:40:27,545 >> DAN: Wi, argv 0 toujou gen ladan nan dot koupe nan apèl la fonksyon. 744 00:40:27,545 --> 00:40:28,042 Yeah? 745 00:40:28,042 --> 00:40:29,292 >> ODYANS: [fèbl]? 746 00:40:29,292 --> 00:40:33,509 747 00:40:33,509 --> 00:40:37,310 >> DAN: Wi, chak nan agiman yo se te fini nan karaktè nil paske yo 748 00:40:37,310 --> 00:40:38,310 yo strings. 749 00:40:38,310 --> 00:40:40,892 >> ODYANS: [fèbl]? 750 00:40:40,892 --> 00:40:44,116 >> DAN: Wi, argv arg se yon konsèy nil. 751 00:40:44,116 --> 00:40:45,112 >> ODYANS: [fèbl]? 752 00:40:45,112 --> 00:40:47,104 >> DAN: Oh yeah. 753 00:40:47,104 --> 00:40:48,100 Yeah, regrèt. 754 00:40:48,100 --> 00:40:49,594 >> ODYANS: Se konsa [fèbl]? 755 00:40:49,594 --> 00:41:08,518 756 00:41:08,518 --> 00:41:16,340 >> DAN: Se konsa, kesyon an se si ou te gen an liy lòd dot koupe yon dot soti 1, 2, 757 00:41:16,340 --> 00:41:20,410 ta ki kantite liy lòd agiman gen de oswa li ta dwe twa? 758 00:41:20,410 --> 00:41:24,420 759 00:41:24,420 --> 00:41:28,240 >> ODYANS: Mwen panse ke li fè sa ki pa reyèlman gen pwoblèm. 760 00:41:28,240 --> 00:41:31,370 Mwen gen tandans di, o, ou pa t 'pase nenpòt agiman liy lòd lè, 761 00:41:31,370 --> 00:41:32,730 evidamman, ou rele fonksyon an. 762 00:41:32,730 --> 00:41:37,950 Se konsa, mwen gen tandans yo awotvwa eskli nan fonksyon nan liy la lòd 763 00:41:37,950 --> 00:41:40,350 agiman menm si li nan enkli nan argv. 764 00:41:40,350 --> 00:41:42,600 >> DAN: Men, si li te sou test-- la 765 00:41:42,600 --> 00:41:46,550 yeah-- epi tou si ou di yon bagay tankou arg egal 3, 766 00:41:46,550 --> 00:41:48,512 w ap nan kanpe san danje. 767 00:41:48,512 --> 00:41:49,416 Yeah? 768 00:41:49,416 --> 00:41:50,666 >> ODYANS: [fèbl]? 769 00:41:50,666 --> 00:42:00,990 770 00:42:00,990 --> 00:42:09,510 >> DAN: Mwen panse ke si olye pou yo rele sa a nan arg ak fisèl parantèz argv 771 00:42:09,510 --> 00:42:14,350 men kenbe kalite yo menm ak jis rele yo yon bagay diferan tankou yon 772 00:42:14,350 --> 00:42:16,640 ak b, ta li toujou ap travay? 773 00:42:16,640 --> 00:42:18,790 Epi li ta toujou travay, ou ta just-- 774 00:42:18,790 --> 00:42:21,520 olye pou yo lè l sèvi avèk argc-- ou ta sèvi ak yon ak b. 775 00:42:21,520 --> 00:42:24,436 776 00:42:24,436 --> 00:42:25,408 Yeah? 777 00:42:25,408 --> 00:42:26,658 >> ODYANS: [fèbl]? 778 00:42:26,658 --> 00:42:34,642 779 00:42:34,642 --> 00:42:38,850 >> DAN: Se konsa, kesyon an se GetString se pral nan magazen memwa nan pil wòch la 780 00:42:38,850 --> 00:42:42,280 paske GetString se * Char. 781 00:42:42,280 --> 00:42:47,530 Li estoke memwa nan pil wòch la paske li rele kounye a malok ki nan aktyèl la 782 00:42:47,530 --> 00:42:49,258 aplikasyon nan GetString. 783 00:42:49,258 --> 00:42:53,210 784 00:42:53,210 --> 00:42:55,090 OK, deplase sou. 785 00:42:55,090 --> 00:42:55,950 >> Sekirite Sosyal. 786 00:42:55,950 --> 00:43:01,090 Se konsa, yo dwe vrèman an sekirite, ou konte sou pa gen okenn yon sèl ak ou pèmèt pa gen yon aksè a nenpòt ki 787 00:43:01,090 --> 00:43:04,540 nan enfòmasyon ou, ki se poukisa tout moun ap bati machin pwòp yo, 788 00:43:04,540 --> 00:43:09,580 pwòp sistèm fonksyònman yo, tout yo pwogram nan grate, e evidameman 789 00:43:09,580 --> 00:43:13,410 pa konekte nan nenpòt lòt machin atravè entènèt la. 790 00:43:13,410 --> 00:43:17,350 Se konsa, òdinatè yo sekirite. 791 00:43:17,350 --> 00:43:19,200 Yo te reyèlman yo ye. 792 00:43:19,200 --> 00:43:20,940 Nou gen gen konfyans nan lòt moun. 793 00:43:20,940 --> 00:43:26,500 >> Ak lide a nan sekirite se ke w ap ap eseye limite kantite lajan an nan 794 00:43:26,500 --> 00:43:27,540 konfyans ke ou bezwen. 795 00:43:27,540 --> 00:43:32,080 Ak youn nan vle di yo ou fè sa se nan chifreman. 796 00:43:32,080 --> 00:43:34,950 Chifreman se, esansyèlman, nou gen sekrè. 797 00:43:34,950 --> 00:43:38,880 >> Pafwa nou gen yo pase sekrè nou an ansanm nan, di, entènèt la oswa 798 00:43:38,880 --> 00:43:39,980 lòt bagay. 799 00:43:39,980 --> 00:43:43,180 Epi nou pa vle moun yo konnen sekrè sa yo. 800 00:43:43,180 --> 00:43:50,100 Se konsa, nou ankripte sekrè nou an, nan yon fason ke nou espere pesonn pa ka konnen. 801 00:43:50,100 --> 00:43:51,600 >> Se konsa, nou used-- 802 00:43:51,600 --> 00:43:54,340 nan kou a nan class-- sa a 803 00:43:54,340 --> 00:44:00,750 bagay sa yo tankou Seza tande kòz kalkile ak [Fèbl] yo, ki se tou de trè, trè 804 00:44:00,750 --> 00:44:03,200 fason anksyeu nan chifreman bagay sa yo. 805 00:44:03,200 --> 00:44:07,930 Yo ap fasil figi konnen kisa yo ye epi ki sa sekrè ou yo. 806 00:44:07,930 --> 00:44:12,130 Mond reyèl la sèvi ak pi plis konplike chifreman rapid. 807 00:44:12,130 --> 00:44:13,880 Epi nou pa pral jwenn nan pi plis pase sa. 808 00:44:13,880 --> 00:44:18,280 809 00:44:18,280 --> 00:44:19,430 >> Debogaj. 810 00:44:19,430 --> 00:44:20,785 Gdb ki pi bon an. 811 00:44:20,785 --> 00:44:24,014 812 00:44:24,014 --> 00:44:25,810 Mwen pral estrès sa a ankò. 813 00:44:25,810 --> 00:44:30,920 Sèvi ak gdb tout tan tout tan an chak tan ou gen yon pwoblèm. 814 00:44:30,920 --> 00:44:36,030 Kòmandman ki yo itil yo nan gdb yo kraze, kote ou pase swa yon liy 815 00:44:36,030 --> 00:44:41,330 nimewo, yon non fonksyon, esansyèlman ki kote nan kòd ou a ou vle yo sispann, 816 00:44:41,330 --> 00:44:45,600 epi yo dwe kapab pran kontwòl. 817 00:44:45,600 --> 00:44:54,140 >> Ekri an lèt detache pran yon varyab ak simagri soti kèlkeswa sa ki varyab se nan ki 818 00:44:54,140 --> 00:44:55,990 pwen nan ekzekisyon ou. 819 00:44:55,990 --> 00:45:00,130 Next deplase ekzekisyon ou ansanm yon sèl etap. 820 00:45:00,130 --> 00:45:05,050 Ak etap etap andedan yon fonksyon nan ekzekisyon ou. 821 00:45:05,050 --> 00:45:10,480 >> Lòt bagay yo ap kouri, ki se ki jan ou aktyèlman kouri kòd ou a. 822 00:45:10,480 --> 00:45:16,630 Kontinye pran tout etap ki nesesè pou li ale nan pwen an repo vini an. 823 00:45:16,630 --> 00:45:18,300 E gen anpil moun, anpil lòt moun. 824 00:45:18,300 --> 00:45:19,040 Gade yo moute. 825 00:45:19,040 --> 00:45:19,901 Yo ap gwo. 826 00:45:19,901 --> 00:45:20,863 Yeah? 827 00:45:20,863 --> 00:45:22,113 >> ODYANS: [fèbl]? 828 00:45:22,113 --> 00:45:26,635 829 00:45:26,635 --> 00:45:28,200 >> DAN: Wi, ki se yon debugjeur. 830 00:45:28,200 --> 00:45:34,230 Se konsa, yon debugjeur se yon pwogram ki pèmèt ou debug pwogram ou an. 831 00:45:34,230 --> 00:45:39,931 Li pa yon pwogram ki jwenn pinèz pou ou, menm si ke ta gen gwo pouvwa. 832 00:45:39,931 --> 00:45:43,020 833 00:45:43,020 --> 00:45:46,040 >> Ak dènye pou m 'se rechèch. 834 00:45:46,040 --> 00:45:51,470 Se konsa, ki kalite rechèch ke nou te pale sou nan klas sa a yo se rechèch lineyè, 835 00:45:51,470 --> 00:45:55,960 ki se jis ke ou gade nan chak eleman nan espas ki la rechèch, youn 836 00:45:55,960 --> 00:46:00,410 eleman nan yon moman, jiskaske ou jwenn sa w ap chèche pou oswa jiskaske ou rive nan 837 00:46:00,410 --> 00:46:03,350 nan fen espas rechèch ou an nan ki pwen ou di ke ou pa t 'kapab jwenn 838 00:46:03,350 --> 00:46:06,360 eleman nan ke ou te kap chèche. 839 00:46:06,360 --> 00:46:13,450 Lè sa a pran tan nan pi bon konstan, ki se 0 a 1 ak nan pi move lineyè 840 00:46:13,450 --> 00:46:16,070 tan, ki se 0 n. 841 00:46:16,070 --> 00:46:19,250 >> Rechèch binè, ki bezwen eleman miserable. 842 00:46:19,250 --> 00:46:24,230 Ou ale nan mitan an nan eleman ou, wè si eleman nan w ap chèche pou 843 00:46:24,230 --> 00:46:30,120 se pi gwo oswa pi piti pase eleman nan ke w ap nan mitan yo. 844 00:46:30,120 --> 00:46:36,510 Li li nan pi gwo, ou di ke anba a nan rechèch ou an espas se ou 845 00:46:36,510 --> 00:46:41,550 kote kounye a, mitan an, epi ou rekòmanse pwosesis la. 846 00:46:41,550 --> 00:46:46,150 Si li nan pi piti, ou gade di ki the-- yeah, sa ki nan moute? 847 00:46:46,150 --> 00:46:47,400 >> ODYANS: [fèbl]? 848 00:46:47,400 --> 00:46:51,000 849 00:46:51,000 --> 00:46:54,260 >> DAN: Wi. 850 00:46:54,260 --> 00:46:58,360 Nenpòt ki sòt de sòt sa a te anseye nan klas la se jis jwèt pou tès la. 851 00:46:58,360 --> 00:47:01,504 852 00:47:01,504 --> 00:47:04,920 >> [Ri] 853 00:47:04,920 --> 00:47:10,260 >> DAN: Ak lefèt ke ou pa te gen fè li pou yon seri pwoblèm, li nan jis 854 00:47:10,260 --> 00:47:12,420 jwèt pou tès la. 855 00:47:12,420 --> 00:47:15,186 >> ODYANS: Èske nou ka ale sou li ki jan to-- 856 00:47:15,186 --> 00:47:17,052 >> DAN: Li pral fè wout sou. 857 00:47:17,052 --> 00:47:20,496 >> Oratè 2: Kòd aktyèl la pou [Fèbl] se sou study.cs50.net. 858 00:47:20,496 --> 00:47:25,910 859 00:47:25,910 --> 00:47:32,680 Se konsa, si ou gade nan pwoblèm nan pratik nan paj la rantre sòt de 860 00:47:32,680 --> 00:47:35,880 study.cs50.net, gen se kòd la pou mete ann aplikasyon rantre sòt. 861 00:47:35,880 --> 00:47:38,550 Se konsa, ou pa bezwen aplike li tèt ou aswè a. 862 00:47:38,550 --> 00:47:42,090 Men, asire w ke ou konprann li olye pase jis memorize li. 863 00:47:42,090 --> 00:47:45,035 >> ODYANS: [fèbl]? 864 00:47:45,035 --> 00:47:49,720 >> Oratè 2: paj la rantre sòt sou study.cs50.net, gen se yon pratik 865 00:47:49,720 --> 00:47:53,570 pwoblèm ki, si ou klike sou atravè nan pwoblèm, nan fen a trè gen yon 866 00:47:53,570 --> 00:47:56,280 solisyon, ki se rantre nan sòt aplikasyon. 867 00:47:56,280 --> 00:47:58,510 Men, asire w ke ou konprann li olye ke sèlman memorize li 868 00:47:58,510 --> 00:47:59,760 oswa kopye li desann. 869 00:47:59,760 --> 00:48:02,870 870 00:48:02,870 --> 00:48:06,340 >> ODYANS: Ak yon parfe ki valab pwoblèm pou egzamen an ta dwe 871 00:48:06,340 --> 00:48:07,990 yon bagay tankou isit la nan yon lis. 872 00:48:07,990 --> 00:48:12,100 Ki lis sa a gade tankou apre yon sèl etap nan seleksyon sòt oswa 873 00:48:12,100 --> 00:48:13,330 sòt ensèsyon oswa kèlkeswa sa. 874 00:48:13,330 --> 00:48:14,940 Youn iteration plen nan lis la. 875 00:48:14,940 --> 00:48:18,530 Se konsa, menm si ou pa fini ki bezwen Kòd pou li, ou bezwen yo konprann li 876 00:48:18,530 --> 00:48:20,440 ase yo konnen ki jan li k ap pase yo dwe modifye sa a etalaj. 877 00:48:20,440 --> 00:48:24,144 878 00:48:24,144 --> 00:48:25,394 >> DAN: Sa a li pou mwen. 879 00:48:25,394 --> 00:48:30,604 880 00:48:30,604 --> 00:48:32,588 >> [Aplodisman] 881 00:48:32,588 --> 00:49:06,316 882 00:49:06,316 --> 00:49:07,410 >> LUCAS: Hey tout moun. 883 00:49:07,410 --> 00:49:08,390 Non mwen se Lucas. 884 00:49:08,390 --> 00:49:16,840 Mwen pral pale sou rkursyon, tout kalite sa yo ke nou te aprann, ak yon 885 00:49:16,840 --> 00:49:18,050 ti kras nan tout endikasyon. 886 00:49:18,050 --> 00:49:18,740 OK? 887 00:49:18,740 --> 00:49:20,340 Se konsa, premye nan tout, rkursyon. 888 00:49:20,340 --> 00:49:22,951 Kisa sa vle di yo di ke yon fonksyon se repetitif? 889 00:49:22,951 --> 00:49:24,675 >> ODYANS: apèl tèt li. 890 00:49:24,675 --> 00:49:26,500 >> LUCAS: OK, rele tèt li, yeah. 891 00:49:26,500 --> 00:49:27,700 Se konsa, tankou foto sa a, pou egzanp. 892 00:49:27,700 --> 00:49:30,280 Se tankou foto a andedan nan yon foto ak sou sa. 893 00:49:30,280 --> 00:49:35,740 Se konsa, pou egzanp, ou ka have-- kòm Dann ki te pale sou rechèch binè. 894 00:49:35,740 --> 00:49:41,840 Yon fason rechèch binè se repetitif se lefèt ke w ap 895 00:49:41,840 --> 00:49:43,130 ap eseye jwenn yon nimewo. 896 00:49:43,130 --> 00:49:44,250 Se konsa, ou ale nan mitan yo. 897 00:49:44,250 --> 00:49:47,130 Lè sa a, ou tcheke si nimewo yo gen nan bò gòch la ak nan bò dwat la. 898 00:49:47,130 --> 00:49:49,650 >> Lè sa a, si ou jwenn soti nimewo a se pral fè sou bò gòch la, li nan menm bagay la tou 899 00:49:49,650 --> 00:49:53,340 bagay tankou fè rechèch la ankò men jis sou bò gòch la nan lis la. 900 00:49:53,340 --> 00:49:57,350 Se konsa, lè sa a jan li son tankou li nan repetitif. 901 00:49:57,350 --> 00:50:01,870 Se konsa, Se poutèt sa ou nèg gen repetitif solisyon pou rantre sòt. 902 00:50:01,870 --> 00:50:04,270 >> OK, se konsa isit la nan yon egzanp. 903 00:50:04,270 --> 00:50:07,280 Se konsa, kite a di ke mwen vle yo chwazi tout nimewo yo nan 1 rive nan n. 904 00:50:07,280 --> 00:50:13,790 Mwen kapab reyalize ke sòm total la nan n nan Nimewo se n plis n mwens 1 jiska 1. 905 00:50:13,790 --> 00:50:17,810 Men, lè sa a, si mwen gade nan n mwens 1 plis n mwens 2 plis 1, sa a, se menm bagay la tou 906 00:50:17,810 --> 00:50:20,680 bagay tankou nimewo adisyon jiska n mwens 1. 907 00:50:20,680 --> 00:50:25,890 Se konsa, mwen ka di sòm total la nan yon sòm egal egal n plis sòm total la nan n mwens 1. 908 00:50:25,890 --> 00:50:28,010 ki fè sans? 909 00:50:28,010 --> 00:50:32,630 >> Apre sa, mwen tou ta gen yon lòt bagay rele ka a baz, ki se ke 910 00:50:32,630 --> 00:50:37,440 sòm total la nan nimewo yo moute a zewo ta dwe zewo. 911 00:50:37,440 --> 00:50:42,770 Se konsa, le pli vit ke mwen jwenn yo nimewo a zewo, mwen sispann konte. 912 00:50:42,770 --> 00:50:45,330 ki fè sans? 913 00:50:45,330 --> 00:50:48,120 >> Se konsa, isit la nan yon egzanp sou kouman Mwen ka aplike sa. 914 00:50:48,120 --> 00:50:49,860 Se konsa, mwen gen sa a fonksyon nan kèk. 915 00:50:49,860 --> 00:50:51,700 Ki pran yon n nonb antye relatif. 916 00:50:51,700 --> 00:50:56,300 Se konsa, isit la mwen premye tcheke si n se mwens oswa egal a zewo. 917 00:50:56,300 --> 00:51:00,310 Se konsa, si li nan mwens oswa egal a zewo, mwen retounen zewo, ki se ka baz nou an. 918 00:51:00,310 --> 00:51:05,690 Sinon, mwen ka jis retounen n plis sòm total la nan nimewo ki soti nan 919 00:51:05,690 --> 00:51:07,190 youn nan yon sèl n mwens. 920 00:51:07,190 --> 00:51:09,360 Fè sans? 921 00:51:09,360 --> 00:51:10,100 OK. 922 00:51:10,100 --> 00:51:11,610 >> Se konsa, isit la nan sa li sanble. 923 00:51:11,610 --> 00:51:15,260 Ou gen sòm nan 2 egal 2 plis sòm total la nan 1. 924 00:51:15,260 --> 00:51:18,930 Ak kèk nan 1 se 1 plis nan sòm de 0, ki se 0. 925 00:51:18,930 --> 00:51:20,216 Fè sans? 926 00:51:20,216 --> 00:51:25,342 Se konsa, si nou gade nan chemine a nan ou pwogram nan, sa a se sa li sanble. 927 00:51:25,342 --> 00:51:26,820 >> Premyèman, nou gen fonksyon prensipal la. 928 00:51:26,820 --> 00:51:30,320 Lè sa a, fonksyon prensipal rele sòm 2. 929 00:51:30,320 --> 00:51:36,690 Lè sa a, sòm 2 ki pral di, o, sòm 2 egal 2 plis sòm total la nan yon sèl. 930 00:51:36,690 --> 00:51:39,460 Se konsa, mwen ajoute sòm de 1 a chemine a. 931 00:51:39,460 --> 00:51:43,860 Ak sòm total la nan 1 ki pral rele sòm de 0, ki se tou ale nan dwe ajoute 932 00:51:43,860 --> 00:51:44,630 chemine a. 933 00:51:44,630 --> 00:51:49,240 Lè sa a, chak nan timoun sa yo ki sou tèt yon lòt gen retounen 934 00:51:49,240 --> 00:51:52,020 anvan yo menm ki lòt ka kenbe prale. 935 00:51:52,020 --> 00:51:56,240 >> Se konsa, pou egzanp, isit la, sòm total de 0, premye, ki pral retounen 0. 936 00:51:56,240 --> 00:51:58,320 Lè sa a, chwazi sòm nan 1. 937 00:51:58,320 --> 00:52:00,850 Lè sa a, sòm nan 1 ki pral retounen 1 sòm nan 2. 938 00:52:00,850 --> 00:52:03,900 Epi finalman, sòm de 2 ki pral retounen 3 a prensipal la. 939 00:52:03,900 --> 00:52:05,320 ki fè sans? 940 00:52:05,320 --> 00:52:09,496 >> Li nan reyèlman enpòtan ke ou konprann ki jan chemine a ap travay epi eseye 941 00:52:09,496 --> 00:52:11,980 wè si li fè sans. 942 00:52:11,980 --> 00:52:13,260 OK, se konsa klasman. 943 00:52:13,260 --> 00:52:16,170 Se konsa, poukisa se Fouye enpòtan, premye a tout? 944 00:52:16,170 --> 00:52:18,260 Poukisa nou ta dwe pran swen? 945 00:52:18,260 --> 00:52:20,310 Nenpòt moun ki? 946 00:52:20,310 --> 00:52:20,695 Ban m 'yon egzanp? 947 00:52:20,695 --> 00:52:21,040 Yeah? 948 00:52:21,040 --> 00:52:22,968 >> ODYANS: [fèbl]. 949 00:52:22,968 --> 00:52:24,700 >> LUCAS: Yeah, OK. 950 00:52:24,700 --> 00:52:26,090 Se konsa, ou kapab fè rechèch pi plis efikasite. 951 00:52:26,090 --> 00:52:28,580 Sa a se yon bon fason. 952 00:52:28,580 --> 00:52:32,462 Se konsa, pou egzanp, nou gen yon anpil nan bagay sa yo, aktyèlman, nan lavi nou ki 953 00:52:32,462 --> 00:52:32,920 yo Ranje. 954 00:52:32,920 --> 00:52:34,830 Pou egzanp, diksyonè. 955 00:52:34,830 --> 00:52:39,210 >> Li trè enpòtan ke ou gen nan tout mo nan kèk kalite lòd ke nou 956 00:52:39,210 --> 00:52:41,970 kapab jwenn aksè nan fasil. 957 00:52:41,970 --> 00:52:43,280 Se konsa, se sa l 'te di. 958 00:52:43,280 --> 00:52:45,530 Ou kapab fè rechèch pi plis efikasite. 959 00:52:45,530 --> 00:52:48,740 Panse a ki jan difisil li ta dwe gen yon diksyonè nan ki mo sa yo se nan 960 00:52:48,740 --> 00:52:49,500 lòd o aza. 961 00:52:49,500 --> 00:52:53,120 Ou ap gen fè yon gade nan, bèl anpil, chak mo sèl jiskaske ou jwenn nan 962 00:52:53,120 --> 00:52:54,720 mo ke w ap chèche pou. 963 00:52:54,720 --> 00:52:58,710 >> Si w ap sèvi ak Facebook tou, lè w ap chèche a zanmi ou, w ap 964 00:52:58,710 --> 00:53:03,540 ale nan wè ki Facebook mete ou pi pre zanmi nan sou tèt nan yo menm ki 965 00:53:03,540 --> 00:53:05,470 ke ou pa pale ak ki anpil. 966 00:53:05,470 --> 00:53:08,080 Si ou ale tout wout la nan pati anba a nan lis zanmi ou, w ap ale nan gade 967 00:53:08,080 --> 00:53:11,250 moun ki pwobableman ou pa fè sa menm sonje ke w ap zanmi avèk yo. 968 00:53:11,250 --> 00:53:14,590 Epi sa a, paske Facebook kalite zanmi ou ki baze sou ki jan 969 00:53:14,590 --> 00:53:16,472 fèmen ou se nan yo. 970 00:53:16,472 --> 00:53:17,930 >> Se konsa, òganize done. 971 00:53:17,930 --> 00:53:18,450 Epitou Pokemon. 972 00:53:18,450 --> 00:53:21,400 Se konsa, ou wè ke tout Pokemons gen nimewo. 973 00:53:21,400 --> 00:53:27,210 Epi sa a, tankou yon fasil fason pou gen aksè nan done. 974 00:53:27,210 --> 00:53:29,050 >> ODYANS: Antre nan Pokemon. 975 00:53:29,050 --> 00:53:29,890 >> LUCAS: Yeah. 976 00:53:29,890 --> 00:53:32,395 >> ODYANS: [fèbl]. 977 00:53:32,395 --> 00:53:33,460 >> LUCAS: Yèp. 978 00:53:33,460 --> 00:53:35,140 OK, se konsa sòt seleksyon an. 979 00:53:35,140 --> 00:53:41,610 Seleksyon sòt ki pral chwazi a pi piti valè triye nan yon lis chak 980 00:53:41,610 --> 00:53:43,300 tan nan chak iteration. 981 00:53:43,300 --> 00:53:46,800 Li nan kalite tankou sòt nan ke ou fè nan tèt ou lè w ap eseye 982 00:53:46,800 --> 00:53:48,430 sòt yon lis nan men ou. 983 00:53:48,430 --> 00:53:51,990 >> Fondamantalman, tout sa ou fè se ou gade pou yon nimewo pou ki pi piti a. 984 00:53:51,990 --> 00:53:54,280 Ou mete l 'nan lis la Ranje. 985 00:53:54,280 --> 00:53:56,230 Lè sa a, ou gade pou nan pwochen pi piti kantite. 986 00:53:56,230 --> 00:54:00,080 Lè sa a, ou kontinye ap fè ki ak sou sa. 987 00:54:00,080 --> 00:54:04,600 >> Se konsa, sòt seleksyon se fondamantalman ou chwazi chak fwa pi piti a 988 00:54:04,600 --> 00:54:05,750 triye valè. 989 00:54:05,750 --> 00:54:10,840 Mete nan fen Ranje a yon pati nan lis la. 990 00:54:10,840 --> 00:54:12,370 Epi kenbe fè sa. 991 00:54:12,370 --> 00:54:15,890 Se konsa, kite a byen vit wè sa ki sa a sanble. 992 00:54:15,890 --> 00:54:19,340 Se konsa, isit la nan Ranje a ak triye lis la. 993 00:54:19,340 --> 00:54:23,350 >> Se konsa, pou Ranje a nan lis, li a okòmansman vid. 994 00:54:23,350 --> 00:54:26,760 Lè sa a, mwen pral chwazi a pi piti nimewo isit la, ki se 2. 995 00:54:26,760 --> 00:54:30,650 Se konsa, mwen jwenn nimewo a 2 ak mwen mete nan devan la nan lis la. 996 00:54:30,650 --> 00:54:34,910 Lè sa a, mwen gade pou pi piti nan pwochen eleman, ki se 3. 997 00:54:34,910 --> 00:54:37,050 Se konsa, mwen mete l 'nan fen a nan lis la Ranje. 998 00:54:37,050 --> 00:54:38,140 Lè sa a, mwen kontinye ap fè sa. 999 00:54:38,140 --> 00:54:40,040 Mwen jwenn 4 li mete l 'nan fen an. 1000 00:54:40,040 --> 00:54:41,360 Jwenn 5 li mete l 'nan fen an. 1001 00:54:41,360 --> 00:54:44,830 >> Ak gade nan ki jan tout moun sa yo fwa ke M ap di mete l 'nan fen an se, 1002 00:54:44,830 --> 00:54:46,850 fondamantalman, échanjé de valè. 1003 00:54:46,850 --> 00:54:48,100 OK? 1004 00:54:48,100 --> 00:54:50,140 1005 00:54:50,140 --> 00:54:52,825 Lè sa a, dènye yon sèl la, ou jis gen yon sèl eleman pi plis. 1006 00:54:52,825 --> 00:54:55,870 Se konsa, li deja klase. 1007 00:54:55,870 --> 00:54:57,800 >> OK, se konsa sòt ensèsyon. 1008 00:54:57,800 --> 00:55:03,180 Sòt ensèsyon w ap ale nan yo te genyen tou ke bagay ki gen yon klase epi 1009 00:55:03,180 --> 00:55:04,690 yon lis triye. 1010 00:55:04,690 --> 00:55:14,540 Bagay la sèlman se ke chak fwa ke w ap ajoute yon eleman Ranje a 1011 00:55:14,540 --> 00:55:18,170 lis, ou jis chwazi eleman nan ki se nan devan lis la triye. 1012 00:55:18,170 --> 00:55:20,880 Lè sa a, w ap ale nan jwenn sa pozisyon li ta dwe nan Ranje a 1013 00:55:20,880 --> 00:55:22,300 yon pati nan lis la. 1014 00:55:22,300 --> 00:55:25,840 >> Ann wè sa ki sa a se konsa sa a fè sans pi plis. 1015 00:55:25,840 --> 00:55:29,360 Se konsa, okòmansman, pou egzanp, mwen ap eseye insert nimewo a twa nan nan 1016 00:55:29,360 --> 00:55:30,680 Ranje yon pati nan lis la. 1017 00:55:30,680 --> 00:55:31,800 Se konsa, lis la pa gen anyen. 1018 00:55:31,800 --> 00:55:34,160 Se konsa, mwen ka jis mete nimewo a 3. 1019 00:55:34,160 --> 00:55:37,480 >> Koulye a, mwen vle ajoute nimewo a 5 a pati nan Ranje nan lis la. 1020 00:55:37,480 --> 00:55:38,900 Se konsa, mwen gade nan nimewo a 5. 1021 00:55:38,900 --> 00:55:40,450 Mwen remake ke li nan pi gran pase 3. 1022 00:55:40,450 --> 00:55:41,980 Se konsa, mwen konnen ke li gen yo dwe apre 3. 1023 00:55:41,980 --> 00:55:44,100 Se konsa, mwen mete 3 ak 5. 1024 00:55:44,100 --> 00:55:45,940 >> Lè sa a, mwen vle insert nimewo 2 a. 1025 00:55:45,940 --> 00:55:51,630 Mwen remake ke nimewo 2 a se aktyèlman dire Lè sa a, tou de 3 ak 5. 1026 00:55:51,630 --> 00:55:54,580 Se konsa, mwen aktyèlman gen yo mete nan li tout fason nan konmansman an nan lis la. 1027 00:55:54,580 --> 00:55:59,030 Se konsa, mwen gen yo, kalite, chanjman nan tout eleman nan lis la Ranje pou m ka 1028 00:55:59,030 --> 00:56:01,970 fè plas pou nimewo 2 a. 1029 00:56:01,970 --> 00:56:03,160 >> Lè sa a, mwen wè nimewo a 6. 1030 00:56:03,160 --> 00:56:05,450 Mwen wè ke li ta dwe apre 5. 1031 00:56:05,450 --> 00:56:06,240 Se konsa, mwen mete l 'la. 1032 00:56:06,240 --> 00:56:07,965 Epi finalman, mwen gade nan nimewo a 4. 1033 00:56:07,965 --> 00:56:11,030 Apre sa, mwen remake li ta dwe gen ant 3 ak 5. 1034 00:56:11,030 --> 00:56:14,870 Lè sa a, mwen mete l 'gen ak chanjman tout lòt eleman yo. 1035 00:56:14,870 --> 00:56:16,120 Fè sans? 1036 00:56:16,120 --> 00:56:17,880 1037 00:56:17,880 --> 00:56:19,150 >> Jarèt Triye. 1038 00:56:19,150 --> 00:56:25,730 Se konsa, sòt jarèt se fondamantalman sa w ap ale nan do-- nou rele li ti wonn 1039 00:56:25,730 --> 00:56:30,113 sòt paske ou ale nan list-- la li la aktyèlman pi bon si mwen jis montre 1040 00:56:30,113 --> 00:56:32,300 ou renmen this-- 1041 00:56:32,300 --> 00:56:35,030 epi ou ap ale nan konpare nimewo adjasan. 1042 00:56:35,030 --> 00:56:38,410 Epi w ap ale nan swap yo pozisyon yo si yo pa ap 1043 00:56:38,410 --> 00:56:39,190 nan lòd ki dwat. 1044 00:56:39,190 --> 00:56:42,570 >> Se konsa, fondamantalman, ki sa ki pwal rive se isit la, pou egzanp, 1045 00:56:42,570 --> 00:56:44,160 ou gen 8 ak 6. 1046 00:56:44,160 --> 00:56:47,270 Ou konnen ke lòd la Ranje pral aktyèlman ap 6 ak 5, dwa? 1047 00:56:47,270 --> 00:56:49,540 Se konsa, w ap ale nan swap lòd yo. 1048 00:56:49,540 --> 00:56:51,370 Lè sa a, mwen wè 8 ak 4 isit la. 1049 00:56:51,370 --> 00:56:52,250 Apre sa, mwen fè menm bagay la. 1050 00:56:52,250 --> 00:56:53,400 Mwen swap ankò. 1051 00:56:53,400 --> 00:56:55,070 Epi finalman, 2 ak 8. 1052 00:56:55,070 --> 00:56:56,670 Mwen menm mwen te boukante yo. 1053 00:56:56,670 --> 00:57:01,690 >> Yo rele li jarèt Triye paske apre chak nan itérations sa yo, aktyèlman, 1054 00:57:01,690 --> 00:57:05,910 nimewo a pi gwo nan lis la vin tout wout la nan fen a nan lis la. 1055 00:57:05,910 --> 00:57:06,940 ki fè sans? 1056 00:57:06,940 --> 00:57:11,880 Paske li kenbe échanjé li ak deplase li nan bò dwat la. 1057 00:57:11,880 --> 00:57:14,440 >> OK, se konsa sa a se dezyèm iteration la. 1058 00:57:14,440 --> 00:57:17,200 Li ta menm bagay la. 1059 00:57:17,200 --> 00:57:20,190 Mwen pral fè yon sèl swap ak Lè sa a, yon sèl ki sot pase a. 1060 00:57:20,190 --> 00:57:23,290 Mwen ke pa gen okenn echanj epi li se lis la Ranje. 1061 00:57:23,290 --> 00:57:27,460 Se konsa, nan Triye jarèt, nou fondamantalman kenbe ale atravè tout lis la ak échanjé 1062 00:57:27,460 --> 00:57:32,310 bagay sa yo jouk tan mwen remake ke mwen pa t 'fè nenpòt ki echanj fè sa iteration, ki 1063 00:57:32,310 --> 00:57:34,270 vle di ke lis se deja klase. 1064 00:57:34,270 --> 00:57:35,520 Fè sans? 1065 00:57:35,520 --> 00:57:38,400 1066 00:57:38,400 --> 00:57:40,870 >> Se pou nou pale yon ti kras sou kouri tan. 1067 00:57:40,870 --> 00:57:45,165 Se konsa, ou nèg sonje Big O, Omega, ak Theta? 1068 00:57:45,165 --> 00:57:49,290 1069 00:57:49,290 --> 00:57:50,990 Yeah? 1070 00:57:50,990 --> 00:57:53,070 OK, ki sa ki Big O, premye nan tout? 1071 00:57:53,070 --> 00:57:54,315 >> ODYANS: [fèbl]. 1072 00:57:54,315 --> 00:57:59,070 >> LUCAS: Yeah, sa yo rele yon ka pi mal ègzekutabl, ki jis vle di ke li nan 1073 00:57:59,070 --> 00:58:03,470 konbyen lajan ou espere pwogram nan yo pran kouri. 1074 00:58:03,470 --> 00:58:04,910 Tankou, nan tèm of-- 1075 00:58:04,910 --> 00:58:06,660 nan sa a n case--. 1076 00:58:06,660 --> 00:58:09,150 Nimewo a nan eleman nan la lis nan ka ki pi mal la. 1077 00:58:09,150 --> 00:58:12,520 Tankou, nan pi move ka a posib. 1078 00:58:12,520 --> 00:58:17,100 >> Se konsa, pou Triye jarèt, pou egzanp, nou gen gwo O kare n. 1079 00:58:17,100 --> 00:58:20,580 Poukisa nou bezwen gen sa? 1080 00:58:20,580 --> 00:58:24,716 Poukisa se jarèt Triye Big kare O n? 1081 00:58:24,716 --> 00:58:27,614 >> ODYANS: [fèbl]. 1082 00:58:27,614 --> 00:58:35,670 >> LUCAS: Yeah, se konsa ka ki pi mal yo pral ke mwen pral oblije fè itérations n. 1083 00:58:35,670 --> 00:58:39,260 Se konsa, chak nan itérations yo ki pral pote eleman nan pi gwo nan fen a 1084 00:58:39,260 --> 00:58:40,290 nan lis la. 1085 00:58:40,290 --> 00:58:44,230 Se konsa, ka ki pi mal se ke mwen gen fè ke bagay n fwa. 1086 00:58:44,230 --> 00:58:48,550 Epi pou chak nan sa yo fwa, mwen gen fè echanj n paske mwen gen yo konpare 1087 00:58:48,550 --> 00:58:49,870 chak de eleman. 1088 00:58:49,870 --> 00:58:53,730 Se konsa, Se poutèt sa li an n okib paske li nan n fwa n. 1089 00:58:53,730 --> 00:59:00,120 >> Lè sa a, sòt seleksyon tou n kare se paske, pou chak iteration, mwen gen 1090 00:59:00,120 --> 00:59:02,650 gade nan chak eleman sèl nan lis la. 1091 00:59:02,650 --> 00:59:04,980 Lè sa a, jwenn pi piti a, ki vle di ke mwen gen yo 1092 00:59:04,980 --> 00:59:06,130 gade nan eleman n. 1093 00:59:06,130 --> 00:59:11,750 Apre sa, mwen dwe fè ke fwa n paske Mwen gen yo chwazi tout eleman ki n. 1094 00:59:11,750 --> 00:59:18,273 >> Yon sòt ensèsyon tou n kare se paske senaryo a ka pi move pral 1095 00:59:18,273 --> 00:59:20,950 dwe, youn, mwen gen insert nimewo n, dwa? 1096 00:59:20,950 --> 00:59:22,765 Se konsa, mwen deja konnen ke mwen pral gen itérations n. 1097 00:59:22,765 --> 00:59:25,466 1098 00:59:25,466 --> 00:59:29,840 Men, pou chak nan nimewo sa yo, si mwen te gen fè yon gade nan tout nan nimewo ki nan 1099 00:59:29,840 --> 00:59:34,380 lis la klase epi li mete l 'tout wout la nan devan an, ki pral n kare 1100 00:59:34,380 --> 00:59:36,230 paske li pral n fwa n ankò. 1101 00:59:36,230 --> 00:59:38,280 Fè sans? 1102 00:59:38,280 --> 00:59:41,512 Ki sa ki sou omega? 1103 00:59:41,512 --> 00:59:42,886 >> ODYANS: [fèbl]. 1104 00:59:42,886 --> 00:59:44,620 >> LUCAS: Se senaryo a ka pi byen. 1105 00:59:44,620 --> 00:59:48,810 Se konsa, li tankou, nan yon anpil nan fwa pou klasman, senaryo a ka pi bon se 1106 00:59:48,810 --> 00:59:50,660 lè se lis la deja klase. 1107 00:59:50,660 --> 00:59:52,670 Se konsa, ou pa vrèman gen fè anyen. 1108 00:59:52,670 --> 00:59:56,290 Triye jarèt gen pi bon an ka senaryo nan n. 1109 00:59:56,290 --> 00:59:58,820 ou nèg konnen poukisa? 1110 00:59:58,820 --> 01:00:00,620 >> ODYANS: [fèbl]. 1111 01:00:00,620 --> 01:00:05,640 >> LUCAS: Yeah, si ou kenbe tras nan si wi ou non done rasyon te gen nenpòt echanj oswa 1112 01:00:05,640 --> 01:00:10,533 pa, si ou gen yon bagay tankou mete nan vre si te gen yon iteration, si nan 1113 01:00:10,533 --> 01:00:15,140 Se lis deja klase, fondamantalman, sa k pral rive se mwen pral 1114 01:00:15,140 --> 01:00:17,890 eseye swap chak de eleman adjasan. 1115 01:00:17,890 --> 01:00:19,920 Mwen pral wè ke pa gen okenn echanj. 1116 01:00:19,920 --> 01:00:21,230 Apre sa, mwen jis retounen touswit. 1117 01:00:21,230 --> 01:00:24,240 >> Se konsa, li vle di ke mwen jis te gen nan ale nan lis yon sèl fwa a. 1118 01:00:24,240 --> 01:00:28,990 Se konsa, li n paske mwen gade nan n eleman. 1119 01:00:28,990 --> 01:00:30,930 Poukisa seleksyon sòt n kare? 1120 01:00:30,930 --> 01:00:35,150 1121 01:00:35,150 --> 01:00:45,520 >> Yeah, menm si se lis la Ranje, pou chak iterasyon nan sòt seleksyon, mwen 1122 01:00:45,520 --> 01:00:47,590 gen yo chwazi eleman nan minimòm. 1123 01:00:47,590 --> 01:00:49,980 Se konsa, sa vle di ke mwen gen soti nan gade nan tout eleman yo nan triye la 1124 01:00:49,980 --> 01:00:53,350 lis epi jwenn minimòm la pou chak iteration. 1125 01:00:53,350 --> 01:00:54,600 ki fè sans? 1126 01:00:54,600 --> 01:00:56,880 1127 01:00:56,880 --> 01:01:04,690 >> Ak nepe ensèsyon se n paske nan la ka sa a mwen ap eseye insert nan 1128 01:01:04,690 --> 01:01:09,320 nimewo ak tout nan nimewo ki, lè m ' eseye insert yo, mwen wè yo ke yo 1129 01:01:09,320 --> 01:01:10,510 se nan yon pozisyon dwat la. 1130 01:01:10,510 --> 01:01:15,120 Mwen pa gen yo ale tcheke lòt nan tout nimewo nan lis la triye. 1131 01:01:15,120 --> 01:01:17,170 Se konsa, Se poutèt sa li pral n. 1132 01:01:17,170 --> 01:01:19,480 Fè sans? 1133 01:01:19,480 --> 01:01:21,035 Ak sa ki Theta? 1134 01:01:21,035 --> 01:01:23,410 >> ODYANS: [fèbl]. 1135 01:01:23,410 --> 01:01:24,380 >> LUCAS: Ki sa, regrèt? 1136 01:01:24,380 --> 01:01:24,960 Di l 'ankò. 1137 01:01:24,960 --> 01:01:25,666 >> ODYANS: [fèbl]. 1138 01:01:25,666 --> 01:01:26,490 >> LUCAS: Egzakteman. 1139 01:01:26,490 --> 01:01:31,280 Se konsa, ou ka wè ke seleksyon sèlman ki estoke nan rantre sòt gen thetas. 1140 01:01:31,280 --> 01:01:39,920 Epi sa a, paske ou gen sèlman Theta si toude Big O ak Omega yo se menm bagay la. 1141 01:01:39,920 --> 01:01:41,520 OK. 1142 01:01:41,520 --> 01:01:44,210 Epi finalman, rantre sòt se nan boutèy demi lit n. 1143 01:01:44,210 --> 01:01:48,910 >> Lè sa a,, menm jan Dann te di, Rantre sòt se kalite tankou menm fason ke 1144 01:01:48,910 --> 01:01:50,320 ou fè rechèch binè. 1145 01:01:50,320 --> 01:01:53,530 Se konsa, ou jwenn lis la. 1146 01:01:53,530 --> 01:01:55,170 Epi w ap ale nan koupe an mwatye. 1147 01:01:55,170 --> 01:02:00,580 Lè sa a, ou koupe yo nan pi piti mwatye. 1148 01:02:00,580 --> 01:02:01,730 Lè sa a, ou rantre yo. 1149 01:02:01,730 --> 01:02:02,960 Ou nèg sonje ke, dwa? 1150 01:02:02,960 --> 01:02:04,960 OK, jan l 'te di. 1151 01:02:04,960 --> 01:02:08,330 >> OK, endikasyon. 1152 01:02:08,330 --> 01:02:11,078 Se konsa, sa se yon konsèy? 1153 01:02:11,078 --> 01:02:12,050 >> ODYANS: [fèbl]. 1154 01:02:12,050 --> 01:02:12,820 >> LUCAS: Yon adrès. 1155 01:02:12,820 --> 01:02:13,720 OK. 1156 01:02:13,720 --> 01:02:18,530 Mwen konnen ke David montre yon pakèt moun sou videyo nan binky ak bagay sa yo montre 1157 01:02:18,530 --> 01:02:19,080 youn ak lòt. 1158 01:02:19,080 --> 01:02:22,960 Men, mwen renmen panse a endikasyon kòm senpleman yon adrès. 1159 01:02:22,960 --> 01:02:26,110 Se konsa, li yon varyab ki pral nan magazen yon adrès. 1160 01:02:26,110 --> 01:02:31,940 >> Se konsa, li jis varyab espesyal sa a ki se kat bytes long. 1161 01:02:31,940 --> 01:02:36,550 Sonje, ki konsèy nan anyen se toujou kat bytes lontan pou 32-ti jan nou an 1162 01:02:36,550 --> 01:02:39,370 machin se konsa ka a ak aparèy la. 1163 01:02:39,370 --> 01:02:41,920 1164 01:02:41,920 --> 01:02:47,050 Epi li jis gen kote nan nan yon varyab andedan nan li. 1165 01:02:47,050 --> 01:02:50,240 >> OK, se konsa gen nan sa a memwa, fondamantalman. 1166 01:02:50,240 --> 01:02:57,420 Se konsa, chak blòk nan memwa aktyèlman gen yon mete etikèt sou, ki se adrès ki nan a 1167 01:02:57,420 --> 01:02:58,890 slotty memwa. 1168 01:02:58,890 --> 01:03:02,370 Se konsa, ki vle di ke mwen ka gen yon montre konsèy nan 1169 01:03:02,370 --> 01:03:03,380 nenpòt nan adrès sa yo. 1170 01:03:03,380 --> 01:03:09,930 Se konsa, rezon an pou kisa nou pral sèvi ak endikasyon se si mwen gen sonje kote a 1171 01:03:09,930 --> 01:03:12,300 ke yon varyab espesifik se yon memwa. 1172 01:03:12,300 --> 01:03:16,560 >> Epi ou nèg sonje ke youn nan moun ki ka te si mwen gen yon fonksyon 1173 01:03:16,560 --> 01:03:20,820 si mwen gen aktyèlman vle ou swap pou ril, mwen aktyèlman 1174 01:03:20,820 --> 01:03:22,110 gen voye yon konsèy. 1175 01:03:22,110 --> 01:03:23,460 Pa varyab la. 1176 01:03:23,460 --> 01:03:25,200 ou nèg sonje ke? 1177 01:03:25,200 --> 01:03:26,450 Between-- la diferans 1178 01:03:26,450 --> 01:03:33,350 1179 01:03:33,350 --> 01:03:34,120 ki sa ki non a? 1180 01:03:34,120 --> 01:03:36,010 Rele pa valè ak rele pa referans, dwa? 1181 01:03:36,010 --> 01:03:36,840 >> OK, yeah. 1182 01:03:36,840 --> 01:03:38,330 Se konsa, rele yo pa vo anyen. 1183 01:03:38,330 --> 01:03:43,570 Lè ou jis voye yon varyab fonksyone w ap sèlman voye yon valè. 1184 01:03:43,570 --> 01:03:45,610 Se konsa, w ap aktyèlman voye yon kopi nan varyab la. 1185 01:03:45,610 --> 01:03:49,720 Ak pwogram ou an pa t 'kapab pran swen mwens sou si varyab a menm aktyèlman 1186 01:03:49,720 --> 01:03:51,650 fè yon kopi. 1187 01:03:51,650 --> 01:03:56,330 >> Ak rele pa referans vle di ke Mwen aktyèlman voye yon kopi nan 1188 01:03:56,330 --> 01:03:57,550 konsèy nan varyab sa a. 1189 01:03:57,550 --> 01:04:00,970 Se konsa, sa vle di ke mwen ap voye a kote nan varyab sa a. 1190 01:04:00,970 --> 01:04:04,440 Se konsa, santi mwen gen kote adrès la nan la varyab, lè m 'rele fonksyon an 1191 01:04:04,440 --> 01:04:09,700 ak endikasyon, mwen kapab aktyèlman chanje done yo ki te nan prensipal la. 1192 01:04:09,700 --> 01:04:12,050 Fè sans? 1193 01:04:12,050 --> 01:04:17,560 >> Malgre ke, konsèy la se nan yon kopi, konsèy toujou gen adrès la reyèl nan 1194 01:04:17,560 --> 01:04:20,090 varyab la ke mwen vle chanje. 1195 01:04:20,090 --> 01:04:21,920 Fè sans? 1196 01:04:21,920 --> 01:04:24,290 >> Se konsa, kreye endikasyon. 1197 01:04:24,290 --> 01:04:28,410 Sonje byen, konsèy la toujou gen kalite a ke li nan montre 1198 01:04:28,410 --> 01:04:29,890 ak Lè sa a yon etwal. 1199 01:04:29,890 --> 01:04:31,030 Lè sa a, ou mete non yo. 1200 01:04:31,030 --> 01:04:35,765 Se konsa, sonje ke chak fwa ou gen kèlkeswa sa etwal, li la tankou yon konsèy nan 1201 01:04:35,765 --> 01:04:38,990 ke kèlkeswa sa varyab tape ke ou te gen. 1202 01:04:38,990 --> 01:04:42,850 >> Se konsa, isit la nan zetwal, pou egzanp, li nan yon konsèy ak yon antye relatif. 1203 01:04:42,850 --> 01:04:47,680 Lè sa a, zetwal Char se yon konsèy Char zetwal yo ak pou fè. 1204 01:04:47,680 --> 01:04:47,960 Yeah? 1205 01:04:47,960 --> 01:04:52,710 >> ODYANS: E si nou gen yon konsèy nan n nan zetwal x. 1206 01:04:52,710 --> 01:04:55,255 Mwen konnen ki ka kreye yon konsèy nan x. 1207 01:04:55,255 --> 01:04:59,432 li tou deklare x yon nonb antye relatif? 1208 01:04:59,432 --> 01:05:05,170 >> LUCAS: OK, Se konsa, lè ou di etwal n x, ou pa ap kreye yon konsèy nan yon 1209 01:05:05,170 --> 01:05:06,000 varyab x. 1210 01:05:06,000 --> 01:05:08,170 W ap kreye yon konsèy yo te rele x. 1211 01:05:08,170 --> 01:05:09,396 >> ODYANS: [fèbl]. 1212 01:05:09,396 --> 01:05:14,250 >> LUCAS: Se konsa, lè m 'di etwal n x, mwen se li di, hey, nan memwa, mwen pral 1213 01:05:14,250 --> 01:05:16,390 jwenn youn nan twa bwat sa yo. 1214 01:05:16,390 --> 01:05:20,750 Men, mwen pral yo di ke ki a pwal x, ki se 1215 01:05:20,750 --> 01:05:22,000 pral fè yon konsèy. 1216 01:05:22,000 --> 01:05:26,860 1217 01:05:26,860 --> 01:05:30,640 Ak yon bagay ki enteresan sou pwent se ke nou di yo ke yo gen 1218 01:05:30,640 --> 01:05:32,620 4 bytes pou yon machin 32-ti jan. 1219 01:05:32,620 --> 01:05:36,320 Ak rezon an pou ki se paske 4 bytes yo 32-Bits. 1220 01:05:36,320 --> 01:05:40,490 >> Ak machin ki 64 Bits aktyèlman gen endikasyon adrès 1221 01:05:40,490 --> 01:05:43,480 ki 64 Bits long. 1222 01:05:43,480 --> 01:05:49,820 Se konsa, li jis vle di ke gwosè a nan la adrès nan machin nan se diferan. 1223 01:05:49,820 --> 01:05:52,270 >> Se konsa, Indican ak Dereferencing. 1224 01:05:52,270 --> 01:05:54,310 Gen de operatè yo ki ou nèg ta dwe sonje. 1225 01:05:54,310 --> 01:05:55,450 Premye a se comercial. 1226 01:05:55,450 --> 01:05:56,810 Dezyèm nan se zetwal. 1227 01:05:56,810 --> 01:06:05,060 pa jwenn mele nan ki zetwal yo ak sa a etwal paske sonje ke, nan 1228 01:06:05,060 --> 01:06:06,950 ka sa a, ou gen zetwal n. 1229 01:06:06,950 --> 01:06:08,700 >> Se tankou yon bagay antye ansanm. 1230 01:06:08,700 --> 01:06:10,720 Gen nan pa gen etwal espas n. 1231 01:06:10,720 --> 01:06:12,070 Se konsa, sa vle di ke li nan kalite la. 1232 01:06:12,070 --> 01:06:14,870 Sonje byen, lè ou gen zetwal nan varyab, w ap 1233 01:06:14,870 --> 01:06:16,230 ap pale de kalite nan. 1234 01:06:16,230 --> 01:06:20,540 >> Lè ou gen jis zetwal yo ak Lè sa a, nan non varyab la, sa vle di ke 1235 01:06:20,540 --> 01:06:24,100 w ap dereferencing konsèy la, ki vle di ke w ap chèche a nan 1236 01:06:24,100 --> 01:06:28,290 konsèy, jwenn adrès la li a montre nan, ale nan adrès sa a, 1237 01:06:28,290 --> 01:06:30,850 ak gade nan nenpòt lè ou gen la. 1238 01:06:30,850 --> 01:06:34,310 Se konsa, mwen di elèv mwen ke lè ou gen etwal, ou ta dwe panse ke li nan 1239 01:06:34,310 --> 01:06:36,850 abrevyasyon nan kontni nan. 1240 01:06:36,850 --> 01:06:39,770 >> Se konsa, si ou gen yon konsèy epi ou fè zetwal konsèy, li la nan 1241 01:06:39,770 --> 01:06:41,720 kontni nan konsèy la. 1242 01:06:41,720 --> 01:06:44,580 Se konsa, ou ale nan tou sa li nan montre nan ak gade nan kontni an konstan. 1243 01:06:44,580 --> 01:06:47,730 Epi comercial a se menm bagay la tou bagay tankou adrès la. 1244 01:06:47,730 --> 01:06:52,560 >> Se konsa, si mwen gen yon varyab a-- tankou, kite la di ke mwen te fè int yon egal 3-- 1245 01:06:52,560 --> 01:06:56,900 si mwen vle jwenn adrès sa a nan varyab yon memwa, mwen ka jis fè 1246 01:06:56,900 --> 01:06:58,240 comercial a. 1247 01:06:58,240 --> 01:07:00,280 Se konsa, li nan yon adrès. 1248 01:07:00,280 --> 01:07:01,530 Fè sans? 1249 01:07:01,530 --> 01:07:03,790 1250 01:07:03,790 --> 01:07:05,040 >> Se konsa, isit la nan yon egzanp. 1251 01:07:05,040 --> 01:07:08,370 1252 01:07:08,370 --> 01:07:11,530 Sa a ki manke Int b ak int c. 1253 01:07:11,530 --> 01:07:16,520 Se konsa, int yon egal 3 vle di ke Mwen pral pou yo ale nan memwa. 1254 01:07:16,520 --> 01:07:19,870 Men, mwen pral jwenn yon plas epi li mete nimewo a 3 isit la. 1255 01:07:19,870 --> 01:07:22,200 >> Lè sa a, int b egal 4. 1256 01:07:22,200 --> 01:07:23,100 Mwen pral fè menm bagay la. 1257 01:07:23,100 --> 01:07:25,840 Ale nan memwa ak mete yon nimewo 4 nan youn nan bwat yo. 1258 01:07:25,840 --> 01:07:27,100 Epi Int egal 5. 1259 01:07:27,100 --> 01:07:29,740 Jwenn yon lòt bwat, li mete yon nimewo 5. 1260 01:07:29,740 --> 01:07:36,160 >> Se konsa, sa se liy sa a fè soti? zetwal n PA egal comercial a. 1261 01:07:36,160 --> 01:07:37,800 Se konsa, premye nan tout, n zetwal PA. 1262 01:07:37,800 --> 01:07:39,050 Ki sa li ap fè? 1263 01:07:39,050 --> 01:07:40,930 1264 01:07:40,930 --> 01:07:42,298 >> ODYANS: [fèbl]. 1265 01:07:42,298 --> 01:07:47,890 >> LUCAS: Yeah, se konsa n zetwal PA, an premye, deklare yon konsèy rele PA. 1266 01:07:47,890 --> 01:07:53,720 Lè sa a, li nan plase valè a nan ki konsèy yo dwe adrès la nan yon. 1267 01:07:53,720 --> 01:07:55,790 Se konsa, comercial a. 1268 01:07:55,790 --> 01:07:58,510 Lè sa a, si m 'fè zetwal pb, sa ki se yon pb zetwal? 1269 01:07:58,510 --> 01:08:02,418 1270 01:08:02,418 --> 01:08:03,150 >> Oh, regrèt. 1271 01:08:03,150 --> 01:08:06,330 Sa a se tou ki disparèt. n zetwal pb. 1272 01:08:06,330 --> 01:08:07,905 Mwen vle di zetwal PC. 1273 01:08:07,905 --> 01:08:11,200 Mwen se konsa regrèt. 1274 01:08:11,200 --> 01:08:11,940 Li nan menm bagay la. 1275 01:08:11,940 --> 01:08:16,408 Men koulye a, mwen se bon ar kreye yon konsèy b ak Lè sa a yon konsèy nan c. 1276 01:08:16,408 --> 01:08:16,886 Yeah? 1277 01:08:16,886 --> 01:08:18,136 >> ODYANS: [fèbl]? 1278 01:08:18,136 --> 01:08:25,490 1279 01:08:25,490 --> 01:08:26,670 >> LUCAS: Wi. 1280 01:08:26,670 --> 01:08:32,630 Se konsa, si ou ale nan memwa ak ou ale nan bwat la se sa ki Deziyasyon pou PA, 1281 01:08:32,630 --> 01:08:37,149 w ap aktyèlman ale nan wè yon adrès nan yon. 1282 01:08:37,149 --> 01:08:38,399 OK? 1283 01:08:38,399 --> 01:08:42,970 1284 01:08:42,970 --> 01:08:43,300 Yeah? 1285 01:08:43,300 --> 01:08:45,605 >> ODYANS: [fèbl]? 1286 01:08:45,605 --> 01:08:49,260 >> LUCAS: Yeah, konsèy se yon adrès. 1287 01:08:49,260 --> 01:08:50,120 Pa janm bliye sa. 1288 01:08:50,120 --> 01:08:52,800 Se tankou ki pi enpòtan an pati sou pwent. 1289 01:08:52,800 --> 01:08:56,180 Genyen estoke ak adrès nan kèk varyab. 1290 01:08:56,180 --> 01:08:56,890 Nenpòt lòt bagay? 1291 01:08:56,890 --> 01:08:58,370 Nenpòt lòt kesyon? 1292 01:08:58,370 --> 01:08:59,189 OK. 1293 01:08:59,189 --> 01:09:00,399 >> Se konsa, Endikasyon ak ranje. 1294 01:09:00,399 --> 01:09:08,189 Sonje ke lè m 'fè Int etalaj 3, fondamantalman, sa m ap fè se mwen se, kalite 1295 01:09:08,189 --> 01:09:12,779 nan, deklare nan yon konsèy. 1296 01:09:12,779 --> 01:09:18,960 Se konsa, etalaj se kalite tankou yon konsèy nan yon kote espesifik nan memwa nan ki mwen 1297 01:09:18,960 --> 01:09:21,999 resevwa lajan twa fant pou nonm antye relatif. 1298 01:09:21,999 --> 01:09:23,430 ki fè sans? 1299 01:09:23,430 --> 01:09:30,250 >> Se konsa, lè m 'fè int etalaj 3, ki sa mwen se fè, fondamantalman, se kreye twa 1300 01:09:30,250 --> 01:09:31,479 fant nan memwa. 1301 01:09:31,479 --> 01:09:33,899 Se konsa, mwen jis jwenn twa fant nan memwa. 1302 01:09:33,899 --> 01:09:38,810 Se konsa, si m 'fè, lè sa a, yon etalaj etwal, li fondamantalman vle di sa ki ekri nan etalaj, 1303 01:09:38,810 --> 01:09:46,180 ki vle di mwen efase konsèy la, m 'ale nan plas sa a ke li nan montre nan, 1304 01:09:46,180 --> 01:09:47,939 ak mwen mete nimewo a yon sèl. 1305 01:09:47,939 --> 01:09:53,729 >> Lè sa a,, si m 'fè zetwal etalaj plis 1, sa a, se menm bagay la kòm fè etalaj 1306 01:09:53,729 --> 01:09:59,690 parantèz yon sèl, ki jis vle di m 'ale nan plas la ke li nan montre nan. 1307 01:09:59,690 --> 01:10:03,000 Lè sa a, plis 1 la fè m 'chanjman yon sèl pozisyon. 1308 01:10:03,000 --> 01:10:06,510 Se konsa, m 'ale nan pozisyon sa a, aktyèlman, epi li mete nimewo a de. 1309 01:10:06,510 --> 01:10:10,900 >> Lè sa a,, finalman, lè m 'fè etalaj plis 2, m 'ale nan kote 1310 01:10:10,900 --> 01:10:11,825 montre etalaj la nan. 1311 01:10:11,825 --> 01:10:14,690 Lè sa a, mwen demenaje nan blòk memwa. 1312 01:10:14,690 --> 01:10:16,240 Lè sa a, mwen mete nimewo a twa isit la. 1313 01:10:16,240 --> 01:10:16,600 Yeah? 1314 01:10:16,600 --> 01:10:21,400 >> ODYANS: Se konsa zetwal etalaj se tou senpleman li di pwen an trè premye. 1315 01:10:21,400 --> 01:10:25,090 Epi ou ka ajoute 1, jis paske nou ap sèlman vrèman 1316 01:10:25,090 --> 01:10:27,295 indican ke premye adrès. 1317 01:10:27,295 --> 01:10:28,545 >> LUCAS: Yeah. 1318 01:10:28,545 --> 01:10:32,720 1319 01:10:32,720 --> 01:10:36,020 Poukisa nou, pou egzanp, di etalaj 0, etalaj 1, ak etalaj 2? 1320 01:10:36,020 --> 01:10:38,970 1321 01:10:38,970 --> 01:10:42,790 M ap di, poukisa ou fè 0, 1, 2, 3 olye pou yo 1, 2, 3? 1322 01:10:42,790 --> 01:10:46,550 Youn nan rezon ki se, yon sèl, òdinatè pwogramasyon prefere yo kòmanse 1323 01:10:46,550 --> 01:10:47,750 konte soti nan 0. 1324 01:10:47,750 --> 01:10:52,370 De se paske lè ou fè etalaj 0, li nan menm bagay la kòm fè etalaj 1325 01:10:52,370 --> 01:10:56,330 plis 0, ki vle di m 'ale nan pozisyon sa, epi mwen pa fè sa 1326 01:10:56,330 --> 01:10:59,320 sote nenpòt blòk memwa. 1327 01:10:59,320 --> 01:11:01,750 Se konsa, mwen pa deplase nenpòt ki blòk memwa. 1328 01:11:01,750 --> 01:11:02,015 Yeah? 1329 01:11:02,015 --> 01:11:03,265 >> ODYANS: [fèbl]? 1330 01:11:03,265 --> 01:11:05,928 1331 01:11:05,928 --> 01:11:12,670 >> LUCAS: Se konsa, li te mande ki sa ki diferans ki genyen ant fè 1332 01:11:12,670 --> 01:11:14,000 sa a oubyen w ap fè malok. 1333 01:11:14,000 --> 01:11:17,550 Youn nan diferans ki genyen se ke int etalaj 3 se kreye yon 1334 01:11:17,550 --> 01:11:19,260 etalaj sou pil la. 1335 01:11:19,260 --> 01:11:23,080 Epi lè m 'fè malok, li kreye sou pil la. 1336 01:11:23,080 --> 01:11:25,250 ki fè sans? 1337 01:11:25,250 --> 01:11:28,870 >> Se konsa, kouman malok aktyèlman ap travay? 1338 01:11:28,870 --> 01:11:32,245 Se konsa, poukisa nou menm bezwen sèvi ak malok? 1339 01:11:32,245 --> 01:11:35,730 1340 01:11:35,730 --> 01:11:39,700 Kalite du ou nan figi soti tout varyab yo ke ou te deklare. 1341 01:11:39,700 --> 01:11:44,040 Apre sa, li kreye espas pou tout nan yo nan chemine a. 1342 01:11:44,040 --> 01:11:47,180 Se konsa, tout nan varyab ou yo pral yo dwe yon kote nan chemine a. 1343 01:11:47,180 --> 01:11:49,460 Se konsa, isit la se varyab anviwònman yo. 1344 01:11:49,460 --> 01:11:53,850 >> Se konsa, fondamantalman, espas pou moun varyab nan memwa se atribye ba nan 1345 01:11:53,850 --> 01:11:55,080 konpile tan. 1346 01:11:55,080 --> 01:11:58,790 Se konsa, sa vle di ke òdinatè ou a gen konnen tout moun sa yo varyab 1347 01:11:58,790 --> 01:11:59,790 davans. 1348 01:11:59,790 --> 01:12:02,500 Li pa bezwen konnen ki sa valè w ap ale nan mete nan yo. 1349 01:12:02,500 --> 01:12:05,490 Men li bezwen yo konnen ki jan memwa anpil ou bezwen. 1350 01:12:05,490 --> 01:12:09,380 >> Men koulye a, kite a di ke, pou egzanp, w ap kreye yon etalaj oswa pran yon 1351 01:12:09,380 --> 01:12:13,430 fisèl ke w ap pran soti nan itilizatè a. 1352 01:12:13,430 --> 01:12:17,300 Ou pa konnen konbyen tan fisèl la a pwal, pou egzanp. 1353 01:12:17,300 --> 01:12:20,600 Se konsa, ou pa konnen egzakteman ki jan anpil blòk memwa ou asiyen, dwa? 1354 01:12:20,600 --> 01:12:24,120 >> Se konsa, li pa vrèman fè sans pou ou di mete 100 karaktè. 1355 01:12:24,120 --> 01:12:26,420 Lè sa a, sa ki si itilizatè a ekri 150? 1356 01:12:26,420 --> 01:12:27,670 W ap ale nan dwe vise. 1357 01:12:27,670 --> 01:12:30,160 1358 01:12:30,160 --> 01:12:34,620 >> Se konsa, fondamantalman, ou pa kapab asire w nan ki jan memwa anpil ou bezwen asiyen 1359 01:12:34,620 --> 01:12:35,960 lè ou konpile pwogram nan. 1360 01:12:35,960 --> 01:12:38,240 Ou jis konnen ke sou kouri tan. 1361 01:12:38,240 --> 01:12:39,950 Se konsa, Se poutèt sa ou gen pil wòch la. 1362 01:12:39,950 --> 01:12:47,610 Se konsa, pil wòch la ki pral gen memwa ke w ap allocation pandan la 1363 01:12:47,610 --> 01:12:50,810 dire nan kouri nan pwogram nan. 1364 01:12:50,810 --> 01:12:55,780 >> Se konsa, fondamantalman, lè ou fè malok, sa ki w ap fè se allocation memwa nan 1365 01:12:55,780 --> 01:13:00,160 ègzekutabl, ki vle di ke w ap n ap deside dwa nan moman sa a ke ou 1366 01:13:00,160 --> 01:13:02,670 ta dwe gen ke memwa. 1367 01:13:02,670 --> 01:13:04,210 Se konsa, se lè w ap allocation li. 1368 01:13:04,210 --> 01:13:06,430 ki fè sans? 1369 01:13:06,430 --> 01:13:11,690 >> Se konsa, sonje, chemine an gen varyab ke yo te kreye sou konpile tan. 1370 01:13:11,690 --> 01:13:14,560 Lè sa a, pil wòch la gen varyab ke yo te kreye menm jan ou ale 1371 01:13:14,560 --> 01:13:15,600 ak malok, pou egzanp. 1372 01:13:15,600 --> 01:13:16,850 >> ODYANS: [fèbl]? 1373 01:13:16,850 --> 01:13:19,179 1374 01:13:19,179 --> 01:13:24,340 >> LUCAS: Se konsa, GetString se ale nan rele malok. 1375 01:13:24,340 --> 01:13:26,710 Kite m 'pale sou malok, ak Mwen pral eksplike GetString. 1376 01:13:26,710 --> 01:13:32,000 Se konsa, malok se menm bagay la kòm alokasyon memwa. 1377 01:13:32,000 --> 01:13:34,600 Se konsa, li k ap pase yo asiyen memwa sou pil wòch la. 1378 01:13:34,600 --> 01:13:40,010 Epi li pral retounen yon konsèy nan kote yo te ki memwa resevwa lajan an. 1379 01:13:40,010 --> 01:13:43,090 >> Se konsa, lè ou do-- 1380 01:13:43,090 --> 01:13:44,910 isit la pou example-- 1381 01:13:44,910 --> 01:13:45,830 n zetwal konsèy. 1382 01:13:45,830 --> 01:13:50,520 Lè sa a, konsèy egal malok gwosè nan fwa pous 10. 1383 01:13:50,520 --> 01:13:52,110 Mwen kreye yon konsèy. 1384 01:13:52,110 --> 01:13:59,020 Lè sa a, mwen deside ke konsèy nan valè a nan konsèy la ki malok 1385 01:13:59,020 --> 01:13:59,680 an, ap ban m '. 1386 01:13:59,680 --> 01:14:04,150 >> Se konsa, mwen mande malok ou ka asiyen espas pou 10 nonm antye relatif. 1387 01:14:04,150 --> 01:14:05,390 Sa a ki sa li la di. 1388 01:14:05,390 --> 01:14:09,020 Epi malok ki ban m 'tounen yon konsèy nan kote sa a. 1389 01:14:09,020 --> 01:14:11,460 Fè sans? 1390 01:14:11,460 --> 01:14:12,270 OK. 1391 01:14:12,270 --> 01:14:17,940 Mwen Ak GetString se, fondamantalman, fè yon rele malok konsa ou ka asiyen 1392 01:14:17,940 --> 01:14:21,680 memwa pandan ègzekutabl. 1393 01:14:21,680 --> 01:14:26,460 >> Toujou sonje yo tcheke pou nil paske malok ki pral retounen nil 1394 01:14:26,460 --> 01:14:28,200 si li pa ka asiyen memwa. 1395 01:14:28,200 --> 01:14:31,660 Se pou nou di ke ou mande pou gen yon ridikil kantite lajan nan memwa. 1396 01:14:31,660 --> 01:14:33,950 Òdinatè w lan pa pral yo dwe kapab asiyen ki anpil. 1397 01:14:33,950 --> 01:14:36,410 >> Se konsa, malok se jis ale retounen nil. 1398 01:14:36,410 --> 01:14:42,210 Se konsa, toujou sonje yo tcheke si an konsèy ke ou te resevwa nan men malok se 1399 01:14:42,210 --> 01:14:45,640 nil oswa ou pa, paske, si li se, ou ta ka dwe dereferencing yon konsèy ak 1400 01:14:45,640 --> 01:14:48,340 sa ki lakòz fot bò. 1401 01:14:48,340 --> 01:14:50,930 Epi finalman, pa bliye memwa lib ou. 1402 01:14:50,930 --> 01:14:57,800 1403 01:14:57,800 --> 01:15:00,560 >> Malok se kreye memwa nan pil wòch la. 1404 01:15:00,560 --> 01:15:03,436 Epi ou gen yo libere memwa a anvan pwogram la fini. 1405 01:15:03,436 --> 01:15:05,370 OK, ki nan tout pou mwen. 1406 01:15:05,370 --> 01:15:07,900 Padon, Rob. 1407 01:15:07,900 --> 01:15:07,950 Mèsi. 1408 01:15:07,950 --> 01:15:09,878 >> [Aplodisman] 1409 01:15:09,878 --> 01:15:12,679 >> LUCAS: Nenpòt kesyon dènye anvan Rob vini? 1410 01:15:12,679 --> 01:15:13,138 Pa gen okenn? 1411 01:15:13,138 --> 01:15:13,597 Yeah? 1412 01:15:13,597 --> 01:15:15,892 >> ODYANS: Mwen pa t 'wè yon sèl sa a sou entènèt. 1413 01:15:15,892 --> 01:15:17,269 Eske ou Uploaded li ankò? 1414 01:15:17,269 --> 01:15:19,106 >> LUCAS: Mwen panse ke Dave se transfere li byento. 1415 01:15:19,106 --> 01:15:19,880 >> DAVE: Li pral afiche. 1416 01:15:19,880 --> 01:15:20,310 >> LUCAS: Li pral entènèt. 1417 01:15:20,310 --> 01:15:21,175 >> ODYANS: Li a jiska. 1418 01:15:21,175 --> 01:15:22,090 >> LUCAS: Li a jiska? 1419 01:15:22,090 --> 01:15:23,157 OK. 1420 01:15:23,157 --> 01:15:23,644 Yeah? 1421 01:15:23,644 --> 01:15:27,053 >> ODYANS: [fèbl]? 1422 01:15:27,053 --> 01:15:30,285 >> LUCAS: Wi, ou ta dwe libere tout la memwa ki se mete nan pil wòch la. 1423 01:15:30,285 --> 01:15:31,535 >> ODYANS: [fèbl]? 1424 01:15:31,535 --> 01:15:34,518 1425 01:15:34,518 --> 01:15:36,160 >> LUCAS: Wi. 1426 01:15:36,160 --> 01:15:39,980 Nenpòt ki lè ke ou gen yon malok kilti, ou ta dwe gen yon kilti gratis 1427 01:15:39,980 --> 01:15:42,640 apre ou sispann lè l sèvi avèk varyab sa a. 1428 01:15:42,640 --> 01:15:44,800 Se konsa, malok ak gratis yo toujou ansanm. 1429 01:15:44,800 --> 01:15:45,410 Pi bon zanmi yo. 1430 01:15:45,410 --> 01:15:46,720 Yeah. 1431 01:15:46,720 --> 01:15:47,970 Rob? 1432 01:15:47,970 --> 01:15:55,595 1433 01:15:55,595 --> 01:15:56,850 >> ROB: Mwen pral ale byen vit. 1434 01:15:56,850 --> 01:16:00,466 Epi tou, y ap videyo a dwe mete kanpe. 1435 01:16:00,466 --> 01:16:01,716 Mwen gen MIC la sou. 1436 01:16:01,716 --> 01:16:24,060 1437 01:16:24,060 --> 01:16:26,230 >> OK, se konsa semèn senk bagay. 1438 01:16:26,230 --> 01:16:27,970 Premye bagay nou genyen se chemine a. 1439 01:16:27,970 --> 01:16:33,390 Se konsa, sonje ke gen nan yon sèl pil ankadreman pou chak aktif apèl fonksyon. 1440 01:16:33,390 --> 01:16:34,710 Nou pral wè ke nan yon dezyèm fwa. 1441 01:16:34,710 --> 01:16:37,850 Epi tou li sonje sa ki aktyèlman ale nan chak ankadreman chemine yo pral yo dwe 1442 01:16:37,850 --> 01:16:41,880 varyab yo lokal yo nan fonksyon nou an, agiman yo ke yo te pase nan nou an 1443 01:16:41,880 --> 01:16:43,880 fonksyon, ansanm ak yon koup lòt bagay ou pa fè sa vrèman 1444 01:16:43,880 --> 01:16:45,260 bezwen enkyete sou. 1445 01:16:45,260 --> 01:16:50,950 >> Se konsa, isit la nan yon pwogram egzanp kote, avi, prensipal se printfing retounen nan 1446 01:16:50,950 --> 01:16:52,830 valè de foo 4. 1447 01:16:52,830 --> 01:16:57,930 foo se jis ale nan retounen nan valè de bar 4 vigil 6. 1448 01:16:57,930 --> 01:17:02,380 Ak bar ki pral mete kèk lokal n varyab egal a 4 fwa 6. 1449 01:17:02,380 --> 01:17:03,920 Lè sa a, retounen n. 1450 01:17:03,920 --> 01:17:09,130 >> Se konsa, kite pou yo gade nan chemine a nan tout iteration aktyèl la nan pwogram sa a. 1451 01:17:09,130 --> 01:17:10,500 Se konsa, gen nan pati anba a nan chemine nou an. 1452 01:17:10,500 --> 01:17:12,620 Sonje ke chemine a grandi. 1453 01:17:12,620 --> 01:17:15,370 Se konsa, nan pati anba a nan chemine nou an, nou gen yon ankadreman chemine pou prensipal la. 1454 01:17:15,370 --> 01:17:17,000 Lè pwogram lan kòmanse, prensipal se toujou pral yo dwe nan a 1455 01:17:17,000 --> 01:17:18,560 anba nan chemine nou an. 1456 01:17:18,560 --> 01:17:20,880 >> Ak sa ki andedan nan nou an chemine ankadreman pou prensipal yo? 1457 01:17:20,880 --> 01:17:23,810 Se konsa, menm si pa gen okenn lokal varyab prensipal la, tankou mwen te di anvan, 1458 01:17:23,810 --> 01:17:29,670 nou te arg ak rgv pran moute espas andedan nan prensipal ankadreman chemine. 1459 01:17:29,670 --> 01:17:33,260 Se konsa, prensipal se kounye a pral rele foo an fonksyon. 1460 01:17:33,260 --> 01:17:35,125 Lè sa vle di foo ki pral jwenn pwòp li yo ankadreman chemine. 1461 01:17:35,125 --> 01:17:36,970 >> Se konsa, kounye a nou ap andedan nan foo an fonksyon. 1462 01:17:36,970 --> 01:17:38,610 Ak sa ki bezwen ale nan chemine ankadreman foo a? 1463 01:17:38,610 --> 01:17:41,100 Oke, foo gen yon agiman n. 1464 01:17:41,100 --> 01:17:45,440 Ak n se egal a 4 depi se sa ki prensipal ap pase kòm agiman foo la. 1465 01:17:45,440 --> 01:17:48,490 >> Se konsa, kounye foo ki pral rele ba. 1466 01:17:48,490 --> 01:17:52,070 Ki sa ki ba pral gen anndan nan 'ankadreman chemine li yo? 1467 01:17:52,070 --> 01:17:55,610 Li te gen x egal a 4 y egal a sis. 1468 01:17:55,610 --> 01:17:58,540 Sa a pa tout sa ki nou ap ale nan gen nan ankadreman an pil paske ba 1469 01:17:58,540 --> 01:18:00,580 tou te gen yon n varyab lokal yo. 1470 01:18:00,580 --> 01:18:03,370 Ak n nou ap ale nan mete egal a 24. 1471 01:18:03,370 --> 01:18:05,750 >> Se konsa, kounye bar ki pral retounen n. 1472 01:18:05,750 --> 01:18:09,300 Se konsa, ba ki retounen 24 a foo nan chemine ankadreman. 1473 01:18:09,300 --> 01:18:12,560 Epi paske bar se kounye a retounen, ki vle di nou ap eklate ankadreman an pil 1474 01:18:12,560 --> 01:18:14,250 pou ba koupe nan chemine a. 1475 01:18:14,250 --> 01:18:18,430 Se konsa, tout memwa nan ki ba te lè l sèvi avèk se kounye a nan chemine a. 1476 01:18:18,430 --> 01:18:21,550 >> Koulye a, foo se tou ale retounen 24 a prensipal la. 1477 01:18:21,550 --> 01:18:25,470 Se konsa, kounye a ke foo se retounen, memwa a ki foo te lè l sèvi avèk nan 'li yo 1478 01:18:25,470 --> 01:18:27,550 se ankadreman chemine tou ale. 1479 01:18:27,550 --> 01:18:29,660 Epi, koulye a, prensipal ki pral rele printf. 1480 01:18:29,660 --> 01:18:31,660 Se konsa, printf se jis yon lòt fonksyon. 1481 01:18:31,660 --> 01:18:35,320 Lè nou rele printf, li pral yo dwe yon lòt ankadreman chemine pou printf la 1482 01:18:35,320 --> 01:18:36,470 fonksyon apèl. 1483 01:18:36,470 --> 01:18:37,990 >> Ki sa yo nou pase printf? 1484 01:18:37,990 --> 01:18:40,090 Sa a ki sa k ap pase ale sou ankadreman chemine li yo. 1485 01:18:40,090 --> 01:18:44,970 Omwen a anpil, nou ap pase ki pousan mwen antislach n ak 1486 01:18:44,970 --> 01:18:47,180 agiman an 24. 1487 01:18:47,180 --> 01:18:50,370 Li ta ka gen plis nan li nan chemine ankadreman si printf k ap pase yo dwe lè l sèvi avèk kèk 1488 01:18:50,370 --> 01:18:51,200 varyab lokal. 1489 01:18:51,200 --> 01:18:51,920 Nou pa konnen. 1490 01:18:51,920 --> 01:18:53,810 >> Men, tout sa ki ale nan printf a chemine ankadreman. 1491 01:18:53,810 --> 01:18:55,740 Li nan pral egzekite printf la. 1492 01:18:55,740 --> 01:18:56,830 Lè sa a, printf a fè. 1493 01:18:56,830 --> 01:18:57,820 Li pral retounen. 1494 01:18:57,820 --> 01:18:58,960 Finalman, prensipal se fè. 1495 01:18:58,960 --> 01:18:59,860 Main pral retounen. 1496 01:18:59,860 --> 01:19:02,020 Lè sa a, se pwogram nou an fè. 1497 01:19:02,020 --> 01:19:02,480 Yeah? 1498 01:19:02,480 --> 01:19:04,505 >> ODYANS: Èske ou wè [fèbl] 1499 01:19:04,505 --> 01:19:05,900 agiman [fèbl] 1500 01:19:05,900 --> 01:19:06,830 paramèt? 1501 01:19:06,830 --> 01:19:09,970 >> ROB: Se konsa, gen se yon diferans sibtil ant agiman ak paramèt. 1502 01:19:09,970 --> 01:19:14,400 E reyèlman, an komen pale, moun ki gen tandans nan jis melanje yo moute tout tan tout tan an. 1503 01:19:14,400 --> 01:19:17,550 Men, paramèt yo se fòmèl la non nan bagay sa yo. 1504 01:19:17,550 --> 01:19:20,180 >> Se konsa, arg ak argv yo nan paramèt prensipal la. 1505 01:19:20,180 --> 01:19:23,440 Agiman yo se ki sa ou aktyèlman pase nan kòm paramèt sa yo. 1506 01:19:23,440 --> 01:19:28,340 Se konsa, gen lè m'ap rele foo nan 4, 4 se agiman an mwen pase nan. 1507 01:19:28,340 --> 01:19:31,460 Ak n nan paramèt, andedan nan foo, pran sou valè nan 4 1508 01:19:31,460 --> 01:19:32,880 depi 4 te agiman an. 1509 01:19:32,880 --> 01:19:35,826 >> ODYANS: [fèbl]? 1510 01:19:35,826 --> 01:19:37,880 >> ROB: n se yon varyab lokal yo ba. 1511 01:19:37,880 --> 01:19:41,420 1512 01:19:41,420 --> 01:19:44,960 n se toujou lokal yo foo, men li nan yon paramèt foo. 1513 01:19:44,960 --> 01:19:48,190 Li pa yon varyab lokal yo. 1514 01:19:48,190 --> 01:19:48,546 Yeah? 1515 01:19:48,546 --> 01:19:51,180 >> ODYANS: [fèbl]? 1516 01:19:51,180 --> 01:19:55,400 >> ROB: foo se jis rele bar ak retounen tou sa ba retounen. 1517 01:19:55,400 --> 01:19:56,786 >> ODYANS: [fèbl]? 1518 01:19:56,786 --> 01:19:59,591 >> ROB: Yeah, jis yo wè miltip chemine ankadreman. 1519 01:19:59,591 --> 01:20:00,082 Yeah? 1520 01:20:00,082 --> 01:20:03,519 >> ODYANS: Poukisa foo te rele anvan printf? 1521 01:20:03,519 --> 01:20:05,920 >> ROB: Poukisa yo te foo rele anvan printf? 1522 01:20:05,920 --> 01:20:10,740 Se konsa, mwen te kapab gen, olye de sa, fè yon bagay tankou int x egal foo nan 4 1523 01:20:10,740 --> 01:20:12,980 ak Lè sa a enprime x. 1524 01:20:12,980 --> 01:20:17,900 Men, olye de sa, mwen konbine fonksyon an rele nan agiman an printf. 1525 01:20:17,900 --> 01:20:23,670 >> Men, remake ke nou pa ka aktyèlman egzekite apèl la printf jiskaske nou 1526 01:20:23,670 --> 01:20:25,610 konnen sa ki foo nan 4 se. 1527 01:20:25,610 --> 01:20:27,480 Se konsa, nou ap ale nan evalye sa a. 1528 01:20:27,480 --> 01:20:32,504 Ak sèlman yon fwa ki nan fè yo ale tounen vin ak evalye sa a. 1529 01:20:32,504 --> 01:20:32,990 Yeah? 1530 01:20:32,990 --> 01:20:37,364 >> ODYANS: Depi tou de ba [fèbl] 1531 01:20:37,364 --> 01:20:41,738 valè, poukisa nou pa jwenn okenn [fèbl]? 1532 01:20:41,738 --> 01:20:44,400 >> ROB: Yo totalman ta dwe Int. 1533 01:20:44,400 --> 01:20:46,260 Sa pa te kenbe sou miltip pass. 1534 01:20:46,260 --> 01:20:49,010 Se konsa, li ta dwe ba int ak int foo depi tou de nan sa yo 1535 01:20:49,010 --> 01:20:50,460 ap retounen nonm antye relatif. 1536 01:20:50,460 --> 01:20:54,214 Anile se sèlman si yo pa ap ale retounen valè vrè. 1537 01:20:54,214 --> 01:20:54,692 Yeah? 1538 01:20:54,692 --> 01:20:58,038 >> ODYANS: Si ou te gen yon liy pi wo a retounen nan, [fèbl]? 1539 01:20:58,038 --> 01:21:01,862 1540 01:21:01,862 --> 01:21:03,730 >> ROB: Yon liy pi wo a retounen nan? 1541 01:21:03,730 --> 01:21:04,410 >> ODYANS: Yeah. 1542 01:21:04,410 --> 01:21:10,780 Menm jan ak si ou te fè printf ak [fèbl], li ta ekri ak lèt ​​detache de fwa? 1543 01:21:10,780 --> 01:21:12,992 >> ROB: Se konsa andedan nan foo? 1544 01:21:12,992 --> 01:21:15,945 Si nou te gen yon printf dwa isit la? 1545 01:21:15,945 --> 01:21:16,750 >> ODYANS: Yeah. 1546 01:21:16,750 --> 01:21:19,510 >> ROB: Se konsa, si nou te gen yon dwa printf isit la, li ta ekri ak lèt ​​detache yon fwa. 1547 01:21:19,510 --> 01:21:23,400 Depi nou ap rele foo yon fwa dwa isit la, Lè sa a, nou pral frape printf la. 1548 01:21:23,400 --> 01:21:24,620 Lè sa a, nou pral rele ba. 1549 01:21:24,620 --> 01:21:25,710 Lè sa a, foo pral retounen. 1550 01:21:25,710 --> 01:21:26,275 Epi sa a, li. 1551 01:21:26,275 --> 01:21:30,985 Nou sèlman tout tan tout tan rankontre printf nan yon fwa. 1552 01:21:30,985 --> 01:21:31,482 Yeah? 1553 01:21:31,482 --> 01:21:32,973 >> ODYANS: [fèbl] 1554 01:21:32,973 --> 01:21:37,950 printf rele foo paske nou premye rele printf ak Lè sa a nou ap pase 1555 01:21:37,950 --> 01:21:38,580 agiman yo. 1556 01:21:38,580 --> 01:21:40,960 >> ROB: Se konsa, nan teyori, se pa printf rele foo? 1557 01:21:40,960 --> 01:21:42,220 Se konsa, pa gen okenn. 1558 01:21:42,220 --> 01:21:47,360 Jis lòd la ki c ki pral egzekite bagay sa yo se, anvan nou kapab 1559 01:21:47,360 --> 01:21:49,800 rele yon fonksyon, tout nan agiman yo nan fonksyon an gen 1560 01:21:49,800 --> 01:21:51,600 ap evalye nèt. 1561 01:21:51,600 --> 01:21:53,540 Se konsa, se sa a konplètman evalye? 1562 01:21:53,540 --> 01:21:54,610 Wi, li nan jis yon fisèl. 1563 01:21:54,610 --> 01:21:55,480 Se jis nan yon valè. 1564 01:21:55,480 --> 01:21:57,200 >> Lè sa a, nou gen konplètman evalye sa a. 1565 01:21:57,200 --> 01:21:59,720 Yon fwa sa a se fè, kounye a tout moun nan yo evalye agiman li yo. 1566 01:21:59,720 --> 01:22:01,982 Epi, koulye a nou ka fè an rele printf. 1567 01:22:01,982 --> 01:22:02,478 Yeah? 1568 01:22:02,478 --> 01:22:03,966 >> ODYANS: Yon kesyon. 1569 01:22:03,966 --> 01:22:06,942 Si ou gen yon fonksyon anile, yo dwe ou gen retounen virgules? 1570 01:22:06,942 --> 01:22:09,910 >> ROB: Ou pa fè sa yon virgules retounen si ou gen yon fonksyon anile. 1571 01:22:09,910 --> 01:22:13,370 1572 01:22:13,370 --> 01:22:14,780 OK. 1573 01:22:14,780 --> 01:22:15,830 Se konsa, kounye kèk bagay pil wòch. 1574 01:22:15,830 --> 01:22:19,640 Se konsa, pil wòch se ki jan nou pral fè fas ak jesyon memwa dinamik. 1575 01:22:19,640 --> 01:22:23,100 Lè sa a dirèkteman diferansye ak nan chemine ki nou ta ka rele otomatik 1576 01:22:23,100 --> 01:22:24,100 jesyon memwa. 1577 01:22:24,100 --> 01:22:27,140 >> Se konsa, sou chemine a, pa janm ou reyèlman gen fè fas ak ki jan varyab lokal yo 1578 01:22:27,140 --> 01:22:30,400 yo te pouse ak déja koupe tout sa yo ankadreman chemine ak tout sa ki bagay. 1579 01:22:30,400 --> 01:22:31,070 Ou pa bezwen enkyete sou li. 1580 01:22:31,070 --> 01:22:32,070 Li nan otomatik yo. 1581 01:22:32,070 --> 01:22:36,990 Se konsa, pil wòch la se manyèl. 1582 01:22:36,990 --> 01:22:38,070 Ak [fèbl la] 1583 01:22:38,070 --> 01:22:41,260 soti nan fonksyon sa yo malok ak gratis. 1584 01:22:41,260 --> 01:22:43,550 >> Se konsa, isit la nan yon lòt pwogram nan. 1585 01:22:43,550 --> 01:22:47,145 Tout sa nou ap fè se mallocing yon nonb antye relatif. 1586 01:22:47,145 --> 01:22:49,360 Nou ap estoke l 'nan zetwal x. 1587 01:22:49,360 --> 01:22:52,520 Natirèlman, nou gen yo tcheke yo wè si x se nil. 1588 01:22:52,520 --> 01:22:56,400 Lè sa a, nou ap ale nan jis mete sa x ap lonje dwèt nan 50. 1589 01:22:56,400 --> 01:23:00,350 1590 01:23:00,350 --> 01:23:03,260 Enprime sa x se lonje dwèt a, ekri ak lèt ​​detache x, ak Lè sa a gratis x. 1591 01:23:03,260 --> 01:23:08,920 >> Se konsa, kouman sa a se aktyèlman ale nan gade si nou gade nan chemine nou an ak pil wòch? 1592 01:23:08,920 --> 01:23:10,950 Se konsa, nou pral kòmanse ankò. 1593 01:23:10,950 --> 01:23:12,580 Anba a nan chemine nou an tankou anvan. 1594 01:23:12,580 --> 01:23:15,930 Sonje ke ou chalè dirèkteman opoze chemine a? 1595 01:23:15,930 --> 01:23:18,850 Se konsa, nou ap ale nan gen nan tèt nan pil wòch nou an moute a. 1596 01:23:18,850 --> 01:23:22,590 >> Se konsa, anba a nan chemine nou an, nou gen ankadreman chemine nou an pou prensipal la. 1597 01:23:22,590 --> 01:23:28,000 Li te gen espas ki la pou arg, argv, epi nou kounye a gen yon x varyab lokal yo, ki 1598 01:23:28,000 --> 01:23:30,030 se yon etwal Int. 1599 01:23:30,030 --> 01:23:32,240 Se konsa, nou ap ale nan repekte nan pwogram sa a. 1600 01:23:32,240 --> 01:23:34,420 Premye bagay nou genyen se yon rele nan malok. 1601 01:23:34,420 --> 01:23:36,250 >> Se konsa, nou ap fè yon apèl nan malok. 1602 01:23:36,250 --> 01:23:37,100 Malok se yon fonksyon. 1603 01:23:37,100 --> 01:23:38,770 Li k ap pase yo ka resevwa yon ankadreman chemine. 1604 01:23:38,770 --> 01:23:40,180 Ki sa yo nou pase nan malok? 1605 01:23:40,180 --> 01:23:41,610 Ki nan ale nan ale andedan nan ankadreman an chemine. 1606 01:23:41,610 --> 01:23:45,130 Nou ap pase gwosè nan n, ki se 4. 1607 01:23:45,130 --> 01:23:49,700 Se konsa, ki se pase bay malok. 1608 01:23:49,700 --> 01:23:50,910 >> Ki sa ki malok fè? 1609 01:23:50,910 --> 01:23:53,820 Li bèn nou kèk espas sou pil wòch la. 1610 01:23:53,820 --> 01:23:55,320 Se konsa, nou ap ale nan ale nan pil wòch la. 1611 01:23:55,320 --> 01:23:57,990 E nou pral gen tan pwan 4 bytes soti nan pil wòch la. 1612 01:23:57,990 --> 01:24:01,500 Se konsa, kite la jis bay ki yon adrès abitrè. 1613 01:24:01,500 --> 01:24:06,680 0x123 Jis pretann ke se yon adrès ki se sou pil la. 1614 01:24:06,680 --> 01:24:12,300 >> Se konsa, sa se aktyèlman andedan nan ki rejyon nan memwa nan adrès Ox123? 1615 01:24:12,300 --> 01:24:13,080 Fatra. 1616 01:24:13,080 --> 01:24:15,270 Se konsa, nou pa t 'ki estoke anyen nan li. 1617 01:24:15,270 --> 01:24:18,830 Se konsa, osi lwen ke nou konnen, li te kapab anyen. 1618 01:24:18,830 --> 01:24:20,560 Ou pa ta dwe asime li a zewo. 1619 01:24:20,560 --> 01:24:23,870 Li nan gen plis chans pa zewo. 1620 01:24:23,870 --> 01:24:26,260 >> Retounen Se konsa, kounye malok. 1621 01:24:26,260 --> 01:24:28,020 Ak ki sa nou fè lè malok retounen? 1622 01:24:28,020 --> 01:24:29,800 Nou mete sa li tounen lakay la. 1623 01:24:29,800 --> 01:24:32,290 Nou mete x egal a sa li se retounen. 1624 01:24:32,290 --> 01:24:33,690 Se konsa, sa se li retounen? 1625 01:24:33,690 --> 01:24:38,150 Li nan retounen 0x123 depi ke se nan adrès nan blòk la nan memwa ke li 1626 01:24:38,150 --> 01:24:40,850 jis resevwa lajan nan pil wòch la. 1627 01:24:40,850 --> 01:24:47,160 >> Se konsa, retounen 0x123 x se kounye a pral yo dwe mete egal a 0x123 ki, pictorially, 1628 01:24:47,160 --> 01:24:52,940 nou souvan trase kòm x gen yon vrè flèch montre nan ki blòk. 1629 01:24:52,940 --> 01:24:55,820 Men, x se jis estoke adrès sa. 1630 01:24:55,820 --> 01:24:58,670 Se konsa, kounye a nou gen yo tcheke si x se nil. 1631 01:24:58,670 --> 01:24:59,120 Li pa nil. 1632 01:24:59,120 --> 01:25:02,170 Nou kwe ke ki malok plas. 1633 01:25:02,170 --> 01:25:04,950 >> Se konsa, kounye zetwal x egal 50. 1634 01:25:04,950 --> 01:25:08,450 Se konsa, zetwal sonje li vle di ale nan adrès sa. 1635 01:25:08,450 --> 01:25:12,700 Se konsa, 0x123 Nou pwal ale nan adrès sa. 1636 01:25:12,700 --> 01:25:14,660 Se konsa, ki pote nou moute a. 1637 01:25:14,660 --> 01:25:16,310 Ki sa yo nou fè nan adrès sa? 1638 01:25:16,310 --> 01:25:19,020 Nou ap estoke 50. 1639 01:25:19,020 --> 01:25:22,500 >> Se konsa, apre liy sa a, ke se sa ki bagay yo ap mache yo gade tankou. 1640 01:25:22,500 --> 01:25:24,640 Se konsa, kounye a li nan pa gen okenn ankò fatra moute a. 1641 01:25:24,640 --> 01:25:28,910 Koulye a, nou konnen ke 50 se nan ki adrès patikilye paske 1642 01:25:28,910 --> 01:25:32,410 nou mete l 'nan sa. 1643 01:25:32,410 --> 01:25:32,790 OK? 1644 01:25:32,790 --> 01:25:34,370 Se konsa, kounye a nou ap ale nan enprime f. 1645 01:25:34,370 --> 01:25:38,490 >> Se konsa, premye nou ap ale nan enprime zetwal x. 1646 01:25:38,490 --> 01:25:39,640 Se konsa, sa se yon zetwal x? 1647 01:25:39,640 --> 01:25:44,300 Yon fwa ankò, zetwal x vle di ale nan nan bagay ki x ap montre yo. 1648 01:25:44,300 --> 01:25:47,140 Se konsa, x se estoke 0x123 Ale nan sa. 1649 01:25:47,140 --> 01:25:48,490 Nou jwenn 50. 1650 01:25:48,490 --> 01:25:50,540 Se konsa, enprime f sa. 1651 01:25:50,540 --> 01:25:54,900 Lè sa vle di li pral ekri ak lèt ​​detache 50. 1652 01:25:54,900 --> 01:25:56,850 Lè sa a, ki retounen. 1653 01:25:56,850 --> 01:25:58,340 >> Lè sa a, nou gen dezyèm printf la. 1654 01:25:58,340 --> 01:25:59,370 Nou kounye a pousan p. 1655 01:25:59,370 --> 01:26:01,680 Si ou pa te wè l ', sa a, se jis ki jan ou enprime yon konsèy. 1656 01:26:01,680 --> 01:26:04,960 Se konsa, nou gen pousan mwen, pousan f, ak tout moun sa yo deja. 1657 01:26:04,960 --> 01:26:07,160 Se konsa, pousan p, enprime yon konsèy. 1658 01:26:07,160 --> 01:26:08,920 >> Se konsa, x se yon konsèy. 1659 01:26:08,920 --> 01:26:13,440 Se konsa, si nou ap ale nan enprime x tèt li, nou ap enprime ki sa ki aktyèlman andedan 1660 01:26:13,440 --> 01:26:19,220 x, ki se 0x123 Se konsa, premye a ekri ak lèt ​​detache f ki pral enprime 50. 1661 01:26:19,220 --> 01:26:23,620 Dezyèm ekri an lèt detache f a ki pral ekri ak lèt ​​detache 0x123 Yeah? 1662 01:26:23,620 --> 01:26:27,460 >> ODYANS: Èske ou itilize pousan x ekri ak lèt ​​detache yon konsèy? 1663 01:26:27,460 --> 01:26:31,200 >> ROB: Se konsa, ou sèvi ak pousan x ekri ak lèt ​​detache yon konsèy? 1664 01:26:31,200 --> 01:26:38,350 Se konsa, ou kapab men pousan x se jis, jeneralman, pou tankou si ou gen kèk 1665 01:26:38,350 --> 01:26:40,325 nonb antye ki pè, epi ou vle ekri ak lèt ​​detache li kòm yon ekzadesimal. 1666 01:26:40,325 --> 01:26:43,250 1667 01:26:43,250 --> 01:26:44,880 Se jis ki jan ou fè sa. 1668 01:26:44,880 --> 01:26:47,160 >> Lè nou konsidere ke, pousan d ta enprime kòm desimal. 1669 01:26:47,160 --> 01:26:50,310 Sa a te nou jwenn pousan d. mwen se jis nonb antye relatif. 1670 01:26:50,310 --> 01:26:52,690 pousan p se espesyalman pou endikasyon. 1671 01:26:52,690 --> 01:26:54,060 >> Se konsa, x se yon konsèy. 1672 01:26:54,060 --> 01:26:56,360 Nou vle itilize pousan p. 1673 01:26:56,360 --> 01:26:57,937 Men, pousan x te kapab travay. 1674 01:26:57,937 --> 01:26:58,414 Yeah? 1675 01:26:58,414 --> 01:26:59,664 >> ODYANS: [fèbl]? 1676 01:26:59,664 --> 01:27:04,138 1677 01:27:04,138 --> 01:27:05,388 >> ROB: Yeah. 1678 01:27:05,388 --> 01:27:07,870 1679 01:27:07,870 --> 01:27:13,440 Omwen pou sa a call-- Se konsa, mwen pa t 'gen ladan li nan isit la. 1680 01:27:13,440 --> 01:27:19,850 Men, de agiman sa yo, se nesesèman andedan nan sa a ankadreman chemine 1681 01:27:19,850 --> 01:27:23,040 ansanm ak nenpòt varyab lokal printf k ap pase yo dwe itilize. 1682 01:27:23,040 --> 01:27:27,020 Lè sa a, rele nan pwochen nan printf kounye a andedan nan printf chemine ankadreman se 1683 01:27:27,020 --> 01:27:33,960 pousan p antislach n ak tou sa a valè x ki se, ki se 0x123. 1684 01:27:33,960 --> 01:27:34,425 Yeah? 1685 01:27:34,425 --> 01:27:35,675 >> ODYANS: [fèbl]? 1686 01:27:35,675 --> 01:27:38,145 1687 01:27:38,145 --> 01:27:40,880 >> ROB: Li pral enprime yon bagay ki sanble tankou sa a. 1688 01:27:40,880 --> 01:27:41,846 >> ODYANS: [fèbl]. 1689 01:27:41,846 --> 01:27:44,510 >> ROB: Se konsa li simagri li nan fòm adrès. 1690 01:27:44,510 --> 01:27:47,003 Li sanble ke yon adrès. 1691 01:27:47,003 --> 01:27:47,494 Yeah? 1692 01:27:47,494 --> 01:27:49,458 >> ODYANS: [fèbl]? 1693 01:27:49,458 --> 01:27:51,075 >> ROB: Poukisa se sa? 1694 01:27:51,075 --> 01:27:52,920 >> ODYANS: [fèbl]? 1695 01:27:52,920 --> 01:27:55,240 >> ROB: Poukisa se sa a konsèy 4 bytes? 1696 01:27:55,240 --> 01:27:58,500 Se konsa, gen yon pakèt antye nan 0 a nan devan sa a. 1697 01:27:58,500 --> 01:28:03,740 Se konsa, li vrèman 0x0000000123. 1698 01:28:03,740 --> 01:28:06,510 Sou yon sistèm 64-ti jan, ta gen yon pakèt antye nan plis zewo. 1699 01:28:06,510 --> 01:28:11,410 1700 01:28:11,410 --> 01:28:11,900 Yeah? 1701 01:28:11,900 --> 01:28:13,150 >> ODYANS: [fèbl]. 1702 01:28:13,150 --> 01:28:17,290 1703 01:28:17,290 --> 01:28:21,130 >> ROB: Se konsa, printf nan premye ki pral print-- 1704 01:28:21,130 --> 01:28:21,980 >> ODYANS: [fèbl]. 1705 01:28:21,980 --> 01:28:24,420 >> ROB: Wi, li k ap pase yo enprime sa x ap montre yo. 1706 01:28:24,420 --> 01:28:27,030 1707 01:28:27,030 --> 01:28:29,070 Star di ki sa ki sa a bagay lonje dwèt yo. 1708 01:28:29,070 --> 01:28:30,300 Gen tan pwan li. 1709 01:28:30,300 --> 01:28:31,455 Se konsa, sa se li lonje dwèt nan? 1710 01:28:31,455 --> 01:28:31,850 50. 1711 01:28:31,850 --> 01:28:32,410 Gen tan pwan li. 1712 01:28:32,410 --> 01:28:33,390 Sa a ki sa nou ap ale nan enprime. 1713 01:28:33,390 --> 01:28:37,020 Lè nou konsidere ke, youn nan pwochen, nou ap jis enprime x tèt li. 1714 01:28:37,020 --> 01:28:38,850 Ki sa ki andedan nan f? 1715 01:28:38,850 --> 01:28:43,710 0x123. 1716 01:28:43,710 --> 01:28:44,500 OK. 1717 01:28:44,500 --> 01:28:46,620 >> Lè sa a,, finalman, nou gen gratis la. 1718 01:28:46,620 --> 01:28:48,040 Ki sa yo nou pase yo gratis? 1719 01:28:48,040 --> 01:28:49,470 Nou ap pase x. 1720 01:28:49,470 --> 01:28:52,380 Tan sa a mwen aktyèlman parèt li nan ankadreman an pil. 1721 01:28:52,380 --> 01:28:56,370 >> Se konsa, nou ap pase valè a 0x123 yo gratis. 1722 01:28:56,370 --> 01:28:59,070 Se konsa, kounye a gratis konnen, tout dwa, Mwen gen yo ale jiska pil wòch la 1723 01:28:59,070 --> 01:29:00,050 ak gratis ki memwa. 1724 01:29:00,050 --> 01:29:03,920 Li nan pa gen okenn ankò lè l sèvi avèk sa ki se nan adrès 0x123. 1725 01:29:03,920 --> 01:29:07,010 >> Se konsa, gratis ki pral lage ki soti nan pil wòch la. 1726 01:29:07,010 --> 01:29:09,490 Koulye a, pil wòch nou an, se vid ankò. 1727 01:29:09,490 --> 01:29:11,120 Nou pa gen okenn fwit memwa. 1728 01:29:11,120 --> 01:29:12,940 Kounye a gratis pral retounen. 1729 01:29:12,940 --> 01:29:16,130 Remake x se toujou 0x123. 1730 01:29:16,130 --> 01:29:18,240 Men sa se kounye a pa memwa ki valid. 1731 01:29:18,240 --> 01:29:21,220 1732 01:29:21,220 --> 01:29:23,986 Nou ta dwe pa gen okenn ankò dèreferans x. 1733 01:29:23,986 --> 01:29:24,440 Yeah? 1734 01:29:24,440 --> 01:29:27,240 >> ODYANS: Èske retounen 0 redondants? 1735 01:29:27,240 --> 01:29:28,290 >> ROB: Èske returen 0 redondants? 1736 01:29:28,290 --> 01:29:31,110 Wi. 1737 01:29:31,110 --> 01:29:33,950 Nou jis mete sa la, paske nou gen yon retou youn pou lè. 1738 01:29:33,950 --> 01:29:36,830 Se konsa, li la tankou, yeah, pèmèt gen ladan yo retounen nan 0. 1739 01:29:36,830 --> 01:29:37,310 Yeah? 1740 01:29:37,310 --> 01:29:38,560 >> ODYANS: [fèbl]? 1741 01:29:38,560 --> 01:29:42,110 1742 01:29:42,110 --> 01:29:45,580 >> ROB: Se konsa, apre x gratis, ki sa k ap pase si nou eseye dèreferans konsèy la? 1743 01:29:45,580 --> 01:29:47,240 Li posib ke pa gen anyen ale mal. 1744 01:29:47,240 --> 01:29:49,330 Li posib ke nou pral toujou jwenn 50. 1745 01:29:49,330 --> 01:29:53,590 >> Li posib, tou, ki ki memwa se kounye a yo te itilize pou yon lòt bagay. 1746 01:29:53,590 --> 01:29:57,140 Se konsa, li konpòtman endefini. 1747 01:29:57,140 --> 01:30:00,772 Epi endefini vle di anyen ka rive. 1748 01:30:00,772 --> 01:30:01,250 Yeah? 1749 01:30:01,250 --> 01:30:02,500 >> ODYANS: [fèbl]? 1750 01:30:02,500 --> 01:30:07,942 1751 01:30:07,942 --> 01:30:10,830 >> ROB: Non, kidonk si w bay x yon lòt bagay. 1752 01:30:10,830 --> 01:30:15,870 Se konsa, si dwa isit la nou te di x egal malok yon bagay else-- 1753 01:30:15,870 --> 01:30:17,100 malok gwosè event-- 1754 01:30:17,100 --> 01:30:20,180 Lè sa a, ki blòk orijinal nan memwa se pa sa libere. 1755 01:30:20,180 --> 01:30:21,490 Epi nou te ofisyèlman pèdi li. 1756 01:30:21,490 --> 01:30:23,150 Sa se yon fwit memwa. 1757 01:30:23,150 --> 01:30:25,090 Nou te pèdi tout referans ak sa yo ki blòk nan memwa. 1758 01:30:25,090 --> 01:30:26,827 Se konsa, gen nan pa gen fason nou ka tout tan tout tan libere li. 1759 01:30:26,827 --> 01:30:32,074 1760 01:30:32,074 --> 01:30:36,630 OK, se konsa Lè sa a, retounen 0 vle di fè. 1761 01:30:36,630 --> 01:30:37,900 >> Tout dwa, kidonk pil debòde. 1762 01:30:37,900 --> 01:30:39,320 Ki sa ki nan lide nan isit la? 1763 01:30:39,320 --> 01:30:41,210 Se konsa, sonje, pil wòch ki pral desann. 1764 01:30:41,210 --> 01:30:43,480 Stack ap moute. 1765 01:30:43,480 --> 01:30:48,000 Se konsa, sa a te egzanp ki soti nan konferans, Mwen panse ke, kote prensipal se jis ale nan 1766 01:30:48,000 --> 01:30:51,380 rele sa a foo fonksyon, ki se ale yo rele tèt li recursive sou yo ak 1767 01:30:51,380 --> 01:30:52,320 sou ankò. 1768 01:30:52,320 --> 01:30:55,370 >> Se konsa, chemine ankadreman yo ale nan travay egzakteman menm bagay la. 1769 01:30:55,370 --> 01:30:58,130 Se konsa, nou ap ale nan kòmanse avèk prensipal kòm pati anba ankadreman an pil. 1770 01:30:58,130 --> 01:31:02,000 Lè sa a, prensipal ki pral rele foo, ki ki pral jwenn yon ankadreman chemine. 1771 01:31:02,000 --> 01:31:04,260 >> Lè sa a, foo ki pral rele foo ankò, ki se ale nan jwenn 1772 01:31:04,260 --> 01:31:05,500 yon lòt ankadreman chemine. 1773 01:31:05,500 --> 01:31:08,270 Lè sa a, ankò, e ankò, e ankò, e ankò jiskaske, evantyèlman, nou kouri 1774 01:31:08,270 --> 01:31:09,190 nan pil wòch la. 1775 01:31:09,190 --> 01:31:11,990 Se konsa, sa a se ki jan nou jwenn yon debòde chemine. 1776 01:31:11,990 --> 01:31:14,910 Ak nan pwen sa a, ou fòt segman. 1777 01:31:14,910 --> 01:31:17,335 Oswa ou ta reyèlman seg fòt anvan pwen sa a, men wi. 1778 01:31:17,335 --> 01:31:19,660 >> ODYANS: se nwayo pil fatra a menm jan fòt seg? 1779 01:31:19,660 --> 01:31:26,140 >> ROB: Se konsa ou pral wè segmentation nwayo fòt jete. 1780 01:31:26,140 --> 01:31:28,760 Ou jwenn yon pil fatra nwayo lè ou fòt segman. 1781 01:31:28,760 --> 01:31:32,580 Epi li a tankou yon pil fatra nan tout nan nan sa nan memwa ou ye kounye a se konsa 1782 01:31:32,580 --> 01:31:36,670 ke ou ka eseye epi idantifye poukisa ou seg rproche. 1783 01:31:36,670 --> 01:31:37,135 Yeah? 1784 01:31:37,135 --> 01:31:38,385 >> ODYANS: [fèbl]? 1785 01:31:38,385 --> 01:31:40,855 1786 01:31:40,855 --> 01:31:45,460 >> ROB: Se konsa, yon segmentation fòt vle di gen nan yon debòde chemine. 1787 01:31:45,460 --> 01:31:47,060 Se konsa, pa nesesèman. 1788 01:31:47,060 --> 01:31:49,880 Yon fay segmentation vle di ke w ap manyen memwa nan yon fason 1789 01:31:49,880 --> 01:31:50,880 ou pa ta dwe. 1790 01:31:50,880 --> 01:31:54,750 Se konsa, yon sèl fason pou ke kap pase se, lè ou chemine debòde, nou kòmanse manyen 1791 01:31:54,750 --> 01:31:58,736 memwa nan yon fason ke nou pa ta dwe. 1792 01:31:58,736 --> 01:31:59,208 Yeah? 1793 01:31:59,208 --> 01:32:00,458 >> ODYANS: [fèbl]? 1794 01:32:00,458 --> 01:32:03,456 1795 01:32:03,456 --> 01:32:05,830 >> ROB: Se konsa andedan nan yon riban enfini. 1796 01:32:05,830 --> 01:32:08,770 Tankou, sa a se tankou yon enfini repetitif bouk ak pou nou jwenn yon lòt 1797 01:32:08,770 --> 01:32:09,770 chemine ankadreman chak fwa. 1798 01:32:09,770 --> 01:32:13,540 Men, jis andedan nan yon regilye enfini pandan y ap one-- 1799 01:32:13,540 --> 01:32:16,390 byen, kite a pa menm enprime f-- 1800 01:32:16,390 --> 01:32:17,040 fè yon bagay. 1801 01:32:17,040 --> 01:32:18,390 Kèlkeswa sa. 1802 01:32:18,390 --> 01:32:20,610 >> Nou pa pwal yo dwe resevwa yon lòt ankadreman chemine. 1803 01:32:20,610 --> 01:32:22,530 Nou jis ap ale nan kenbe loupin sou enstriksyon sa a yon sèl. 1804 01:32:22,530 --> 01:32:23,920 Chemine a se pa ap grandi. 1805 01:32:23,920 --> 01:32:27,290 Li nan lefèt ke chak repetitif rele an, ap ban nou yon ankadreman chemine. 1806 01:32:27,290 --> 01:32:31,231 Se poutèt sa nou jwenn yon debòde chemine. 1807 01:32:31,231 --> 01:32:31,728 Yeah? 1808 01:32:31,728 --> 01:32:38,189 >> ODYANS: Se konsa, si ou te di yo ka resevwa nan pandan y ap riban ak Lè sa a [fèbl]? 1809 01:32:38,189 --> 01:32:42,000 >> ROB: Se konsa, si andedan nan riban an pandan y ap te gen yon printf, ou toujou ta 1810 01:32:42,000 --> 01:32:42,790 pa seg fay. 1811 01:32:42,790 --> 01:32:46,090 Mwen jis pa t 'vle konfonn bagay sa yo. 1812 01:32:46,090 --> 01:32:46,610 Li ta bouk. 1813 01:32:46,610 --> 01:32:48,225 Ou ta jwenn yon pil sèl ankadreman pou printf la. 1814 01:32:48,225 --> 01:32:49,580 >> Lè sa a, printf ta retounen. 1815 01:32:49,580 --> 01:32:50,280 Lè sa a, ou ta bouk ankò. 1816 01:32:50,280 --> 01:32:51,460 Ou ta jwenn yon pil sèl ankadreman pou printf la. 1817 01:32:51,460 --> 01:32:52,850 Li ta retounen. 1818 01:32:52,850 --> 01:32:54,060 Single chemine ankadreman. 1819 01:32:54,060 --> 01:33:00,215 Se konsa, ou pa ap vin enfini sa a anpile ankadreman chemine. 1820 01:33:00,215 --> 01:33:03,185 >> ODYANS: [fèbl]? 1821 01:33:03,185 --> 01:33:04,040 >> ROB: Wi. 1822 01:33:04,040 --> 01:33:09,360 Se konsa, sa debòde chemine k ap pase paske Pa gen yonn nan sa yo 1823 01:33:09,360 --> 01:33:11,600 rele nan zòrèy foo ap retounen. 1824 01:33:11,600 --> 01:33:15,250 Se konsa, si nou retounen, lè sa a nou ta kòmanse pèdi ankadreman chemine. 1825 01:33:15,250 --> 01:33:17,870 Lè sa a, nou pa ta chemine debòde. 1826 01:33:17,870 --> 01:33:20,070 Epi sa a, poukisa ou bezwen yon ka baz pou fonksyon pèsonèl ou. 1827 01:33:20,070 --> 01:33:22,992 1828 01:33:22,992 --> 01:33:23,479 Yeah? 1829 01:33:23,479 --> 01:33:27,375 >> ODYANS: Èske gwosè a potansyèl ak nan chemine pou pil wòch la menm bagay la pou 1830 01:33:27,375 --> 01:33:29,880 tout pwogram? 1831 01:33:29,880 --> 01:33:31,910 >> ROB: Apeprè. 1832 01:33:31,910 --> 01:33:35,090 Se gwosè a potansyèl nan chemine a ak pil wòch la menm bagay la tou pou tout pwogram? 1833 01:33:35,090 --> 01:33:37,180 Apeprè. 1834 01:33:37,180 --> 01:33:40,080 Gen kèk Metòd chans ki kote chemine a kòmanse ak 1835 01:33:40,080 --> 01:33:42,400 ki kote pil wòch la kòmanse. 1836 01:33:42,400 --> 01:33:45,870 Si ou rive gen yon lot antye nan varyab mondyal ak bagay sa yo, ou ta ka 1837 01:33:45,870 --> 01:33:49,520 pran lwen kèk espas pou pil wòch ou. 1838 01:33:49,520 --> 01:33:54,060 >> Sou yon sistèm 64-ti jan, ou nòmalman gen enfini memwa. 1839 01:33:54,060 --> 01:33:55,820 Genyen sèlman anpil. 1840 01:33:55,820 --> 01:33:59,250 Ant 32 Bits ak 64 Bits, ki yon diferans enpòtan. 1841 01:33:59,250 --> 01:34:02,350 >> W ap ale nan jwenn yon anpil antye plis chemine ak espas pil wòch sou yon 64-ti jan 1842 01:34:02,350 --> 01:34:05,810 sistèm paske gen nan jis plis adrese yo ke yo ka itilize. 1843 01:34:05,810 --> 01:34:09,360 Men, sou yon sistèm endividyèl, li pral gen apeprè menm kantite lajan an nan chemine 1844 01:34:09,360 --> 01:34:10,785 ak pil wòch espas. 1845 01:34:10,785 --> 01:34:13,635 1846 01:34:13,635 --> 01:34:15,530 Tout dwa. 1847 01:34:15,530 --> 01:34:18,220 >> Se konsa, bagay pase a se konpilasyon. 1848 01:34:18,220 --> 01:34:19,810 Se konsa, ou ta dwe konnen pwosesis sa a. 1849 01:34:19,810 --> 01:34:22,240 Genyen kat etap gwo. 1850 01:34:22,240 --> 01:34:24,400 Se konsa, youn nan premye yo ta dwe dwe fasil a sonje. 1851 01:34:24,400 --> 01:34:25,085 Pre-pwosesis. 1852 01:34:25,085 --> 01:34:28,390 Li te gen prefiks nan pre nan li. 1853 01:34:28,390 --> 01:34:32,080 Se konsa, li vini anvan tout lòt bagay. 1854 01:34:32,080 --> 01:34:34,000 >> Bagay la sonje se regle la. 1855 01:34:34,000 --> 01:34:37,250 Se konsa, regle defini ak regle an gen ladan nan tout sa yo. 1856 01:34:37,250 --> 01:34:39,560 Moun sa yo ki, yo tout pre-processeur direktiv. 1857 01:34:39,560 --> 01:34:42,030 Sa yo se bagay sa yo yo ki pre-processeur pran swen nan. 1858 01:34:42,030 --> 01:34:43,680 >> Se konsa, sa yon-processeur pre fè? 1859 01:34:43,680 --> 01:34:44,850 Li se yon bagay vrèman bèbè. 1860 01:34:44,850 --> 01:34:49,380 Tout li a kapab nan yo se tout moun sa yo kopi, e li te koupe, ak keratin operasyon yo. 1861 01:34:49,380 --> 01:34:51,790 >> Se konsa, regle an gen ladan estanda h i0 dot. 1862 01:34:51,790 --> 01:34:52,990 Ki sa ki se ke ap fè? 1863 01:34:52,990 --> 01:34:56,610 Li nan arachman estanda i0 dot h nan ranpli e kole l 'nan tèt la 1864 01:34:56,610 --> 01:34:58,960 tout kote li di regle an gen ladan estanda i0 dot h. 1865 01:34:58,960 --> 01:35:02,480 >> Ak nenpòt ki regle defini ki nou te wè, ki sa ki ki ap fè? 1866 01:35:02,480 --> 01:35:06,730 Li kopye valè a ki regle nan defini se defini kòm ak kole ki 1867 01:35:06,730 --> 01:35:08,500 tout kote w ap itilize valè an. 1868 01:35:08,500 --> 01:35:13,400 Se konsa, preproseseur la jis fè sa ki reyèlman tèks ki senp ki baze operasyon yo. 1869 01:35:13,400 --> 01:35:15,870 Li fè sa ki pa gen anyen entelijan. 1870 01:35:15,870 --> 01:35:18,920 Se konsa, tout lòt bagay se pi plis konplike. 1871 01:35:18,920 --> 01:35:22,970 >> Se konsa, kounye a ke preproseseur se fè, nou aktyèlman konpile. 1872 01:35:22,970 --> 01:35:24,320 Se konsa, sa konpile vle di? 1873 01:35:24,320 --> 01:35:27,310 Nou ap kounye a pral nan kòd c Kòd asanble. 1874 01:35:27,310 --> 01:35:27,570 Yeah? 1875 01:35:27,570 --> 01:35:28,820 >> ODYANS: [fèbl]? 1876 01:35:28,820 --> 01:35:32,390 1877 01:35:32,390 --> 01:35:34,220 >> ROB: Yeah, nou kenbe sa. 1878 01:35:34,220 --> 01:35:36,880 1879 01:35:36,880 --> 01:35:38,660 Se konsa, konpile. 1880 01:35:38,660 --> 01:35:40,310 Nou pwal soti nan C rive nan asanble. 1881 01:35:40,310 --> 01:35:42,470 Se konsa, sa a se yon chanjman lang vrè. 1882 01:35:42,470 --> 01:35:45,240 Konpile tèt li vle di pral soti nan yon pi wo nivo nan lang 1883 01:35:45,240 --> 01:35:47,340 yon pi ba lang nivo. 1884 01:35:47,340 --> 01:35:50,720 >> Epi c se yon lang wo nivo konpare ak asanble. 1885 01:35:50,720 --> 01:35:52,320 Ki sa ki se tout pèp? 1886 01:35:52,320 --> 01:35:56,440 Enstriksyon li yo ki, bèl anpil, te fè pou CPU ou. 1887 01:35:56,440 --> 01:35:59,130 Men, òdinatè w lan toujou fè pa konprann asanble. 1888 01:35:59,130 --> 01:36:01,570 Li sèlman konprann yo menm ak zewo. 1889 01:36:01,570 --> 01:36:06,160 Se konsa, pwochen etap la se rasanble, ki pote nou soti nan enstriksyon sa yo ki 1890 01:36:06,160 --> 01:36:08,760 CPU ou a konprann ak aktyèlman tradui yo, yo 1891 01:36:08,760 --> 01:36:10,820 yo menm ki ak zewo. 1892 01:36:10,820 --> 01:36:13,570 >> Se konsa, C rive nan asanble binè. 1893 01:36:13,570 --> 01:36:15,870 Men, mwen pa gen yon ègzèkutabl ankò. 1894 01:36:15,870 --> 01:36:19,550 Se konsa, panse nan bibliyotèk la cs50. 1895 01:36:19,550 --> 01:36:23,070 Nou te founi ou ak yon binè pou sa a bibliyotèk cs50, ki te gen GetString 1896 01:36:23,070 --> 01:36:24,400 ak GetInt ak tout sa ki. 1897 01:36:24,400 --> 01:36:25,700 >> Men, cs50 bibliyotèk la 1898 01:36:25,700 --> 01:36:27,650 nan ak tèt li se pa ègzèkutabl. 1899 01:36:27,650 --> 01:36:29,570 Li pa gen yon fonksyon prensipal. 1900 01:36:29,570 --> 01:36:32,230 Se jis yon pakèt moun sou binè ke ou ka itilize. 1901 01:36:32,230 --> 01:36:41,730 Se konsa, ki lye ak se ki jan nou pote ansanm tout nan sa yo diferan dosye binè 1902 01:36:41,730 --> 01:36:43,110 nan yon ègzèkutabl vrè. 1903 01:36:43,110 --> 01:36:45,900 Youn ki ou ka tape dot koupe yon dot deyò. 1904 01:36:45,900 --> 01:36:51,660 >> Se konsa, sa a se tankou dosye a ke ou te ekri, - kèlkeswa pwogram ou an is-- 1905 01:36:51,660 --> 01:36:53,620 Ceaser dot c. 1906 01:36:53,620 --> 01:36:55,100 Men koulye a, li a te konpile desann nan binè. 1907 01:36:55,100 --> 01:36:56,480 Se konsa, Ceaser dot o. 1908 01:36:56,480 --> 01:36:59,620 Lè sa a se cs50 nou an bibliyotèk binè. 1909 01:36:59,620 --> 01:37:02,284 Apre sa, yo se ke yo te konbine nan yon ègzèkutabl sèl. 1910 01:37:02,284 --> 01:37:02,758 Yeah? 1911 01:37:02,758 --> 01:37:04,008 >> ODYANS: [fèbl]? 1912 01:37:04,008 --> 01:37:08,800 1913 01:37:08,800 --> 01:37:12,710 >> ROB: Se konsa, premye enkli ladan yo, sonje, regle an gen ladan se aktyèlman yon 1914 01:37:12,710 --> 01:37:13,810 etap pre-processeur. 1915 01:37:13,810 --> 01:37:14,750 Men, sa a ki apa a. 1916 01:37:14,750 --> 01:37:20,730 Si ou pa ap lè l sèvi avèk nenpòt ki fonksyon ki yo deyò nan dosye sèl ou Lè sa a, 1917 01:37:20,730 --> 01:37:26,100 pa gen okenn, ou pa bezwen fè rapò ant anyen depi ou gen tout bagay. 1918 01:37:26,100 --> 01:37:30,310 >> Se Sa te di, printf ke yo te lye nan. 1919 01:37:30,310 --> 01:37:32,820 Si ou janm sèvi ak printf, ki nan yon bagay ki bezwen yo dwe lye nan 1920 01:37:32,820 --> 01:37:35,740 paske ou pa t 'ekri sa. 1921 01:37:35,740 --> 01:37:39,530 Epi, an reyalite, printf se otomatikman lye nan. 1922 01:37:39,530 --> 01:37:42,760 Ou konnen ki jan nan liy lan lòd oswa lè ou tape fè, ou wè li gen 1923 01:37:42,760 --> 01:37:46,690 priz l cs50, ki te gen lyen nan bibliyotèk la cs50? 1924 01:37:46,690 --> 01:37:49,070 Printf, ak lòt bagay tankou sa yo, ki pral yo dwe lye nan otomatikman. 1925 01:37:49,070 --> 01:37:51,730 1926 01:37:51,730 --> 01:37:53,930 Nenpòt lòt kesyon sou anyen? 1927 01:37:53,930 --> 01:37:56,280 >> ODYANS: [fèbl]? 1928 01:37:56,280 --> 01:37:58,300 >> ROB: Ki lye ak? 1929 01:37:58,300 --> 01:38:03,450 Nou gen yon pakèt antye nan diferan dosye binè. 1930 01:38:03,450 --> 01:38:06,410 Sa a se egzanp nan kanonyal ke nou itilize se bibliyotèk cs50. 1931 01:38:06,410 --> 01:38:09,960 Nou te konpile ak ba ou a binè pou sa a bibliyotèk cs50. 1932 01:38:09,960 --> 01:38:12,410 >> Ou vle sèvi ak GetString nan pwogram ou an. 1933 01:38:12,410 --> 01:38:14,750 Se konsa, ou ale epi sèvi ak GetString. 1934 01:38:14,750 --> 01:38:19,700 Men, san Kòd binè mwen an pou GetString, lè ou konpile kòd ou a 1935 01:38:19,700 --> 01:38:23,140 desann, ou pa ka aktyèlman kouri ou pwogram paske GetString chèn se 1936 01:38:23,140 --> 01:38:25,080 pa ankò konplètman defini. 1937 01:38:25,080 --> 01:38:29,220 >> Li nan sèlman lè ou konekte nan binè mwen ki gen GetString ke kounye a, tout 1938 01:38:29,220 --> 01:38:31,130 dwat, mwen ka aktyèlman egzekite GetString. 1939 01:38:31,130 --> 01:38:32,330 Dosye mwen an se konplè. 1940 01:38:32,330 --> 01:38:34,208 Apre sa, mwen ka kouri sa a. 1941 01:38:34,208 --> 01:38:34,697 Yeah? 1942 01:38:34,697 --> 01:38:37,631 >> ODYANS: Koneksyon konvèti binè a ègzèkutabl? 1943 01:38:37,631 --> 01:38:42,032 Se konsa, menm si ou pa gen lòt bibliyotèk, pa ta li toujou gen 1944 01:38:42,032 --> 01:38:44,477 nesesè yo tradui [fèbl la]? 1945 01:38:44,477 --> 01:38:48,640 >> ROB: Se konsa yon ègzèkutabl se toujou nan binè. 1946 01:38:48,640 --> 01:38:51,750 Li nan jis konbine yon antye pakèt moun sou binèr. 1947 01:38:51,750 --> 01:38:55,124 1948 01:38:55,124 --> 01:38:56,591 >> ODYANS: Mèsi anpil. 1949 01:38:56,591 --> 01:38:58,560 >> ROB: Pa gen pwoblèm. 1950 01:38:58,560 --> 01:38:59,540 Nenpòt lòt kesyon? 1951 01:38:59,540 --> 01:39:02,001 Sinon, nou tout ap mete. 1952 01:39:02,001 --> 01:39:02,690 Tout dwa. 1953 01:39:02,690 --> 01:39:02,990 Mèsi. 1954 01:39:02,990 --> 01:39:03,590 >> [Aplodisman] 1955 01:39:03,590 --> 01:39:04,490 >> ODYANS: Mèsi poutèt ou. 1956 01:39:04,490 --> 01:39:05,740 >> ROB: Yeah. 1957 01:39:05,740 --> 01:39:06,582