1 00:00:00,000 --> 00:00:09,572 2 00:00:09,572 --> 00:00:12,030 ROB BOWDEN: Hi, mwen se Rob Bowden, e kite yo pale sou quiz0. 3 00:00:12,030 --> 00:00:13,280 4 00:00:13,280 --> 00:00:14,545 >> Se konsa, premye kesyon an. 5 00:00:14,545 --> 00:00:17,750 Sa a se kesyon an kote ou te bezwen nan kòd nimewo a 6 00:00:17,750 --> 00:00:21,270 127 nan anpoul yo binè. 7 00:00:21,270 --> 00:00:23,550 Si ou te vle, ou te kapab fè konvèsyon an regilye 8 00:00:23,550 --> 00:00:25,950 soti nan bi-- oswa, ki soti nan desimal binè. 9 00:00:25,950 --> 00:00:28,300 Men, ki nan pwobableman pral yo pran yon anpil tan. 10 00:00:28,300 --> 00:00:31,750 Mwen vle di, ou ta ka figi konnen sa, OK, 1 se nan la, 2 a se nan la, 11 00:00:31,750 --> 00:00:33,650 4 se nan la, 8 se nan la. 12 00:00:33,650 --> 00:00:39,280 Pi fasil fason, 127 se 128 mwens yon sèl. 13 00:00:39,280 --> 00:00:42,013 Sa anpoul limyè leftmost se 128-ti jan an. 14 00:00:42,013 --> 00:00:43,490 15 00:00:43,490 --> 00:00:47,860 Se konsa, 127 se reyèlman jis tout nan anpoul yo limyè ak lòt, 16 00:00:47,860 --> 00:00:51,420 depi lè sa a leftmost a limyè lanp mwens 1. 17 00:00:51,420 --> 00:00:52,800 Sa a li pou kesyon an. 18 00:00:52,800 --> 00:00:54,060 >> Kesyon youn. 19 00:00:54,060 --> 00:00:56,710 Se konsa, avèk 3 Bits ou kapab reprezante 8 valè diferan. 20 00:00:56,710 --> 00:01:01,000 Poukisa, lè sa a, se 7 pi gwo ki pa negatif la nonb antye relatif desimal ou ka reprezante? 21 00:01:01,000 --> 00:01:04,050 Oke, si nou ka sèlman reprezante 8 valè distenk, 22 00:01:04,050 --> 00:01:07,430 Lè sa a, ki sa nou ap ale nan dwe repwezantan se 0 a 7. 23 00:01:07,430 --> 00:01:08,745 0 pran moute youn nan valè yo. 24 00:01:08,745 --> 00:01:09,980 25 00:01:09,980 --> 00:01:11,190 >> Kesyon de. 26 00:01:11,190 --> 00:01:14,610 Avèk Bits n, ki jan anpil distenk valè ou ka reprezante? 27 00:01:14,610 --> 00:01:19,080 Se konsa, avèk Bits n, ou gen 2 valè posib pou chak ti jan. 28 00:01:19,080 --> 00:01:22,300 Se konsa, nou gen 2 valè posib pou ti jan nan premye, 2 valè posib 29 00:01:22,300 --> 00:01:24,450 pou dezyèm lan, 2 posib pou twazyèm lan. 30 00:01:24,450 --> 00:01:28,730 Se konsa, sa a, se 2 fwa 2 fwa 2, ak finalman repons lan se 2 a n a. 31 00:01:28,730 --> 00:01:30,010 32 00:01:30,010 --> 00:01:31,100 >> Kesyon twa. 33 00:01:31,100 --> 00:01:33,450 Ki sa ki nan 0x50 nan binè? 34 00:01:33,450 --> 00:01:39,490 Se konsa, sonje ke ekzadesimal gen yon trè senp konvèsyon nan binè. 35 00:01:39,490 --> 00:01:43,180 Se konsa, isit la, nou jis bezwen fè yon gade nan 5 an ak 0 a poukont li. 36 00:01:43,180 --> 00:01:45,110 Se konsa, sa ki nan 5 nan binè? 37 00:01:45,110 --> 00:01:48,400 0101, ki nan ti jan a 1 ak 4 ti jan an. 38 00:01:48,400 --> 00:01:49,900 Ki sa ki nan 0 nan binè? 39 00:01:49,900 --> 00:01:50,520 Pa ekzamp. 40 00:01:50,520 --> 00:01:52,180 0000. 41 00:01:52,180 --> 00:01:54,970 Se konsa, jis mete yo ansanm, ak sa a, se nimewo a plen nan binè. 42 00:01:54,970 --> 00:01:57,640 01010000. 43 00:01:57,640 --> 00:02:00,439 Men, si ou te vle ou te kapab pou yo wete tout ki leftmost zewo. 44 00:02:00,439 --> 00:02:01,105 Li nan petinan. 45 00:02:01,105 --> 00:02:02,920 46 00:02:02,920 --> 00:02:05,733 >> Se konsa, Lè sa a, altènativman, ki sa ki 0x50 nan desimal? 47 00:02:05,733 --> 00:02:08,649 Si ou te vle, ou could-- si w ap pi alèz ak binè a, 48 00:02:08,649 --> 00:02:11,340 ou ta ka pran ki repons binè ak konvèti ki nan desimal. 49 00:02:11,340 --> 00:02:13,870 Oswa nou te ka jis sonje ki ekzadesimal. 50 00:02:13,870 --> 00:02:21,140 Se konsa, ki 0 se nan plas la 0-th, ak 5 a se nan 16 la nan plas la an premye. 51 00:02:21,140 --> 00:02:25,990 Se konsa, isit la, nou gen 5 fwa 16 a nan premye, plis 0 fwa 16 a zewo a, 52 00:02:25,990 --> 00:02:27,520 se 80. 53 00:02:27,520 --> 00:02:29,710 Men, si ou gade nan tit nan kesyon an, 54 00:02:29,710 --> 00:02:32,920 li te CS 80, ki te kalite yon allusion repons lan nan pwoblèm sa a. 55 00:02:32,920 --> 00:02:34,460 56 00:02:34,460 --> 00:02:35,420 >> Kesyon senk. 57 00:02:35,420 --> 00:02:40,320 Nou gen sa a script grafouyen, ki se repete 4 fwa manba jele. 58 00:02:40,320 --> 00:02:42,800 Se konsa, kouman fè nou koulye a kòd ki nan C? 59 00:02:42,800 --> 00:02:47,730 Oke, nou gen isit lan-- pati nan an karaktè fonse se yon pati nan sèlman ou te gen a aplike. 60 00:02:47,730 --> 00:02:51,950 Se konsa, nou gen yon riban 4 ki nan loupin 4 fwa, printf-ing manba manba ak konfiti, 61 00:02:51,950 --> 00:02:53,910 ak nouvo liy kòm pwoblèm nan mande pou. 62 00:02:53,910 --> 00:02:55,250 63 00:02:55,250 --> 00:02:57,490 >> Kesyon sis, yon lòt pwoblèm grafonyen moun. 64 00:02:57,490 --> 00:03:00,210 Nou wè ke nou se nan yon bouk pou tout tan. 65 00:03:00,210 --> 00:03:05,000 Nou ap di m nan varyab ak Lè sa a incrementing mwen pa 1. 66 00:03:05,000 --> 00:03:09,580 Koulye a, nou vle fè sa nan C. Gen plizyè fason nou te ka te fè sa a. 67 00:03:09,580 --> 00:03:12,840 Isit la nou te pase nan kòd la pou tout tan bouk kòm yon pandan y ap (vrè). 68 00:03:12,840 --> 00:03:16,600 Se konsa, nou deklare varyab la mwen, jis tankou nou te gen varyab mwen nan grafonyen moun. 69 00:03:16,600 --> 00:03:21,950 Esplike mwen an varyab, ak pou tout tan pandan y ap (vrè), nou di varyab la mwen. 70 00:03:21,950 --> 00:03:25,260 Se konsa, printf% i-- oswa ou ta ka te itilize% d. 71 00:03:25,260 --> 00:03:27,985 Nou di ke varyab, ak Lè sa a, kantite li, mwen ++. 72 00:03:27,985 --> 00:03:29,560 73 00:03:29,560 --> 00:03:30,830 >> Kesyon sèt. 74 00:03:30,830 --> 00:03:35,560 Koulye a, nou vle fè yon bagay trè menm jan Mario dot c soti nan pwoblèm mete yon sèl. 75 00:03:35,560 --> 00:03:39,110 Nou vle enprime hashtags sa yo, nou vle enprime yon senk 76 00:03:39,110 --> 00:03:40,700 pa twa rektang nan achaj sa yo. 77 00:03:40,700 --> 00:03:41,770 78 00:03:41,770 --> 00:03:43,162 Se konsa, kouman nou pral fè sa? 79 00:03:43,162 --> 00:03:45,370 Oke, nou ba ou yon antye pakèt moun sou kòd, epi ou jis 80 00:03:45,370 --> 00:03:47,560 oblije ranpli nan fonksyon an ekri an lèt detache kadriyaj. 81 00:03:47,560 --> 00:03:49,540 >> Se konsa, sa PrintGrid sanble? 82 00:03:49,540 --> 00:03:51,480 Oke ou se sot pase a lajè ak wotè an. 83 00:03:51,480 --> 00:03:53,520 Se konsa, nou gen yon deyò 4 riban, ki nan loupin 84 00:03:53,520 --> 00:03:57,650 sou tout nan ranje yo nan sa a kadriyaj ke nou vle enprime soti. 85 00:03:57,650 --> 00:04:01,250 Lè sa a, nou gen entè-enbrike 4 riban an, sa a, se enprime sou chak kolòn. 86 00:04:01,250 --> 00:04:06,210 Se konsa, pou chak ranje, nou enprime pou chak kolòn, yon regle sèl. 87 00:04:06,210 --> 00:04:10,045 Lè sa a, nan fen ranje a nou enprime yon sèl liy nouvo pou yo ale nan pwochen ranje a. 88 00:04:10,045 --> 00:04:11,420 Epi sa a, li pou griy la tout antye. 89 00:04:11,420 --> 00:04:12,810 90 00:04:12,810 --> 00:04:13,675 >> Kesyon uit. 91 00:04:13,675 --> 00:04:17,170 Yon fonksyon tankou PrintGrid di gen yon efè segondè, men se pa yon retou 92 00:04:17,170 --> 00:04:17,670 valè. 93 00:04:17,670 --> 00:04:19,209 Eksplike diferans la. 94 00:04:19,209 --> 00:04:23,080 Se konsa, sa depann sou ou sonje ki sa yon efè segondè se. 95 00:04:23,080 --> 00:04:25,180 Oke, yon retou value-- nou konnen PrintGrid pa fè sa 96 00:04:25,180 --> 00:04:28,180 gen valè retounen, depi dwa isit la li di anile. 97 00:04:28,180 --> 00:04:31,150 Se konsa, nenpòt ki bagay ki retounen anile pa reyèlman retounen anyen. 98 00:04:31,150 --> 00:04:32,200 99 00:04:32,200 --> 00:04:33,620 Se konsa, sa se efè a bò? 100 00:04:33,620 --> 00:04:36,620 Oke, yon efè segondè se nenpòt ki bagay ki sòt de ap pèsiste 101 00:04:36,620 --> 00:04:39,500 apre pwent yo fonksyon sa ki te pa jis tounen, 102 00:04:39,500 --> 00:04:41,340 epi li pa te jis soti nan entrain yo. 103 00:04:41,340 --> 00:04:44,970 >> Se konsa, pou egzanp, nou ta ka chanje yon varyab mondyal. 104 00:04:44,970 --> 00:04:46,590 Ki ta ka yon efè segondè. 105 00:04:46,590 --> 00:04:49,000 Nan ka sa a an patikilye, yon efè segondè trè enpòtan 106 00:04:49,000 --> 00:04:51,070 se enprime nan ekran an. 107 00:04:51,070 --> 00:04:53,110 Se konsa, ki se yon efè segondè ki PrintGrid te genyen an. 108 00:04:53,110 --> 00:04:54,980 Nou enprime bagay sa yo nan ekran an. 109 00:04:54,980 --> 00:04:56,370 Epi ou ka panse a ke kòm yon efè segondè, 110 00:04:56,370 --> 00:04:58,690 depi lè sa a yon bagay ki ap pèsiste apre fonksyon sa a fini. 111 00:04:58,690 --> 00:05:01,481 Sa se yon bagay deyò sijè ki abòde nan fonksyon sa a ki finalman 112 00:05:01,481 --> 00:05:03,380 se ke yo te chanje, la sa nan ekran an. 113 00:05:03,380 --> 00:05:05,200 114 00:05:05,200 --> 00:05:05,839 >> Kesyon nèf. 115 00:05:05,839 --> 00:05:07,880 Konsidere pwogram nan anba a, ki nimewo liy 116 00:05:07,880 --> 00:05:09,740 yo te ajoute pou dedomajman pou la nan diskisyon. 117 00:05:09,740 --> 00:05:13,480 Se konsa, nan pwogram sa a nou yo se jis rele GetString, estoke l ' 118 00:05:13,480 --> 00:05:16,220 nan sa a nan varyab, ak Lè sa a, enprime ki nan varyab. 119 00:05:16,220 --> 00:05:16,720 OK. 120 00:05:16,720 --> 00:05:19,090 Se konsa, eksplike poukisa liy yon sèl se prezan. 121 00:05:19,090 --> 00:05:20,920 # enkli cs50 dot h. 122 00:05:20,920 --> 00:05:23,820 Poukisa nou bezwen # enkli cs50 dot h? 123 00:05:23,820 --> 00:05:26,180 Oke nou ap rele nan GetString fonksyon, 124 00:05:26,180 --> 00:05:28,840 ak GetString se defini nan bibliyotèk la CS50. 125 00:05:28,840 --> 00:05:31,600 Se konsa, si nou pa t gen # enkli cs50 dot h, 126 00:05:31,600 --> 00:05:35,760 nou ta jwenn ke deklarasyon enplisit nan erè a fonksyon GetString 127 00:05:35,760 --> 00:05:36,840 soti nan du a. 128 00:05:36,840 --> 00:05:40,110 Se konsa, nou bezwen gen ladan bibliyotèk la nou bezwen gen ladan dosye a header, 129 00:05:40,110 --> 00:05:42,870 oswa lòt moun du a pa pral rekonèt ke GetString egziste. 130 00:05:42,870 --> 00:05:44,380 131 00:05:44,380 --> 00:05:46,140 >> Eksplike pou kisa liy de se prezan. 132 00:05:46,140 --> 00:05:47,890 Se konsa, estanda io dot h. 133 00:05:47,890 --> 00:05:50,430 Li nan ekzakteman menm bagay la kòm pwoblèm nan anvan, 134 00:05:50,430 --> 00:05:53,310 eksepte olye pou yo fè fas ak GetString, nou ap pale de printf. 135 00:05:53,310 --> 00:05:56,654 Se konsa, si nou pa t 'di nou bezwen genyen ladan yo estanda h io dot, 136 00:05:56,654 --> 00:05:58,820 lè sa a nou pa ta kapab yo sèvi ak fonksyon an printf, 137 00:05:58,820 --> 00:06:00,653 paske du a pa ta konnen sou li. 138 00:06:00,653 --> 00:06:01,750 139 00:06:01,750 --> 00:06:05,260 >> Why-- ki sa ki siyifikasyon an a anile nan liy kat? 140 00:06:05,260 --> 00:06:08,010 Se konsa, isit la nou gen int prensipal (san valè). 141 00:06:08,010 --> 00:06:10,600 Se jis di ke nou yo pa resevwa nenpòt ki lòd liy 142 00:06:10,600 --> 00:06:12,280 agiman prensipal la. 143 00:06:12,280 --> 00:06:17,390 Sonje ke nou te ka di Int prensipal Int arg fisèl argv parantèz. 144 00:06:17,390 --> 00:06:20,400 Se konsa, isit la nou jis di anile yo di nou yo inyore lòd liy agiman. 145 00:06:20,400 --> 00:06:21,840 146 00:06:21,840 --> 00:06:25,225 >> Eksplike, ki gen rapò ak memwa, egzakteman sa GetString nan liy sis retounen. 147 00:06:25,225 --> 00:06:27,040 148 00:06:27,040 --> 00:06:31,640 GetString ki retounen yon blòk nan memwa, yon etalaj de karaktè. 149 00:06:31,640 --> 00:06:34,870 Li nan reyèlman retounen yon konsèy nan pèsonaj la an premye. 150 00:06:34,870 --> 00:06:37,170 Sonje ke yon kòd se yon etwal Char. 151 00:06:37,170 --> 00:06:41,360 Se konsa, la se yon konsèy nan premye a karaktè nan tou sa fisèl la se 152 00:06:41,360 --> 00:06:43,510 ki itilizatè a antre nan klavye la. 153 00:06:43,510 --> 00:06:47,070 Epi sa k ap pase yo dwe memwa malloced, se konsa ke memwa se nan pil wòch la. 154 00:06:47,070 --> 00:06:49,080 155 00:06:49,080 --> 00:06:50,450 >> Kesyon 13. 156 00:06:50,450 --> 00:06:51,960 Konsidere pwogram ki anba a. 157 00:06:51,960 --> 00:06:55,579 Se konsa, tout pwogram sa a ap fè se printf-ing 1 divize pa 10. 158 00:06:55,579 --> 00:06:57,370 Se konsa, lè konpile ak egzekite, pwogram sa a 159 00:06:57,370 --> 00:07:01,170 sorti 0.0, menm si 1 divize pa 10 se 0.1. 160 00:07:01,170 --> 00:07:02,970 Se konsa, poukisa se li 0.0? 161 00:07:02,970 --> 00:07:05,510 Oke, sa a se paske nan divizyon nonb antye relatif. 162 00:07:05,510 --> 00:07:08,580 Se konsa, 1 se yon nonb antye relatif, 10 se yon nonb antye relatif. 163 00:07:08,580 --> 00:07:11,980 Se konsa, 1 divize pa 10, tout bagay se trete kòm nonm antye yo, 164 00:07:11,980 --> 00:07:16,380 ak nan C, lè nou fè divizyon nonb antye relatif, nou tronke nenpòt ki pwen desimal. 165 00:07:16,380 --> 00:07:19,590 Se konsa, 1 divize pa 10 se 0, ak Lè sa a nou ap eseye 166 00:07:19,590 --> 00:07:24,410 ekri ak lèt ​​detache ke kòm yon flote, se konsa zewo enprime kòm yon flote se 0.0. 167 00:07:24,410 --> 00:07:27,400 Ak Se poutèt sa nou jwenn 0.0. 168 00:07:27,400 --> 00:07:28,940 >> Konsidere pwogram ki anba a. 169 00:07:28,940 --> 00:07:31,280 Koulye a, nou ap enprime 0.1. 170 00:07:31,280 --> 00:07:34,280 Se konsa, pa gen okenn divizyon nonb antye relatif, nou ap jis enprime 0.1, 171 00:07:34,280 --> 00:07:37,100 men nou ap enprime li a 28 kote desimal. 172 00:07:37,100 --> 00:07:41,810 Apre sa, nou jwenn sa a 0,1000, yon pakèt antye nan zewo, 5 5 5, bla bla bla. 173 00:07:41,810 --> 00:07:45,495 Se konsa, kesyon an isit la se poukisa fè li ekri ak lèt ​​detache ki, olye pou yo egzakteman 0.1? 174 00:07:45,495 --> 00:07:46,620 175 00:07:46,620 --> 00:07:49,640 >> Se konsa, rezon ki fè yo isit la se kounye a pwen k ap flote enpresizyon. 176 00:07:49,640 --> 00:07:53,410 Sonje ke yon flote se sèlman 32 miyèt moso. 177 00:07:53,410 --> 00:07:57,540 Se konsa, nou ka sèlman reprezante yon nimewo fini nan k ap flote valè pwen ak sa yo 32 178 00:07:57,540 --> 00:07:58,560 miyèt moso. 179 00:07:58,560 --> 00:08:01,760 Oke gen nan finalman enfiniman anpil valè pwen k ap flote, 180 00:08:01,760 --> 00:08:04,940 ak gen nan enfiniman anpil k ap flote valè pwen nan ant 0 ak 1, 181 00:08:04,940 --> 00:08:07,860 epi nou ap evidamman kapab reprezante menm plis valè pase sa. 182 00:08:07,860 --> 00:08:13,230 Se konsa, nou gen fè bèt pou touye pou kapab reprezante pi valè. 183 00:08:13,230 --> 00:08:16,960 >> Se konsa, yon valè tankou 0.1, aparamman nou pa ka reprezante ki egzakteman. 184 00:08:16,960 --> 00:08:22,500 Se konsa, olye pou yo reprezante 0.1 nou fè a pi bon nou ka reprezante sa a 0.100000 5 5 185 00:08:22,500 --> 00:08:23,260 5. 186 00:08:23,260 --> 00:08:26,306 Epi sa a, bèl fèmen, men pou yon anpil nan aplikasyon pou 187 00:08:26,306 --> 00:08:28,430 ou gen enkyete sou pwen k ap flote enpresizyon, 188 00:08:28,430 --> 00:08:30,930 paske nou jis pa ka reprezante tout pwen k ap flote egzakteman. 189 00:08:30,930 --> 00:08:32,500 190 00:08:32,500 --> 00:08:33,380 >> Kesyon 15. 191 00:08:33,380 --> 00:08:34,679 Konsidere Kòd ki anba a. 192 00:08:34,679 --> 00:08:36,630 Nou jis ap enprime 1 plis 1. 193 00:08:36,630 --> 00:08:38,289 Se konsa, pa gen okenn Trick isit la. 194 00:08:38,289 --> 00:08:41,780 1 plis 1 evalye a 2, ak Lè sa a, nou ap enprime sa. 195 00:08:41,780 --> 00:08:42,789 Sa a jis simagri 2. 196 00:08:42,789 --> 00:08:43,850 197 00:08:43,850 --> 00:08:44,700 >> Kesyon 16. 198 00:08:44,700 --> 00:08:49,450 Koulye a, nou ap enprime pèsonaj la 1 plis pèsonaj la 1. 199 00:08:49,450 --> 00:08:52,110 Se konsa, poukisa sa a pa fè sa enprime menm bagay la? 200 00:08:52,110 --> 00:08:57,680 Oke pèsonaj la 1 plis pèsonaj la 1, pèsonaj la 1 gen ASCII valè 49. 201 00:08:57,680 --> 00:09:04,840 Se konsa, sa se reyèlman li di 49 plis 49, ak finalman sa a ki pral ekri ak lèt ​​detache 98. 202 00:09:04,840 --> 00:09:06,130 Se konsa, sa a pa enprime 2. 203 00:09:06,130 --> 00:09:08,070 204 00:09:08,070 --> 00:09:09,271 >> Kesyon 17. 205 00:09:09,271 --> 00:09:11,520 Ranpli aplikasyon an a enpè anba a nan yon fason 206 00:09:11,520 --> 00:09:14,615 ki fonksyon an retounen vre si n se yon nonm enpè ak fo si n se menm. 207 00:09:14,615 --> 00:09:16,710 208 00:09:16,710 --> 00:09:19,330 Sa se yon gwo rezon pou operatè a mod. 209 00:09:19,330 --> 00:09:24,530 Se konsa, nou pran agiman nou an n, si n mod 2 egal 1, byen 210 00:09:24,530 --> 00:09:28,030 sa vle di ke n divize pa 2 te gen yon rès. 211 00:09:28,030 --> 00:09:33,270 Si n divize pa 2 te gen yon rès, ki vle di ke n se yon nonm enpè, se konsa nou retounen vre. 212 00:09:33,270 --> 00:09:34,910 Lòt Bagay nou retounen fo. 213 00:09:34,910 --> 00:09:39,070 Ou menm tou te ka fè n Mod 2 egal zewo, retounen fo, lòt bagay retounen vre. 214 00:09:39,070 --> 00:09:41,600 215 00:09:41,600 --> 00:09:43,640 >> Konsidere fonksyon an repetitif pi ba a. 216 00:09:43,640 --> 00:09:46,920 Se konsa, si n se mwens pase oswa egal a 1, retounen 1, 217 00:09:46,920 --> 00:09:50,430 lòt retounen n fwa f nan n mwens 1. 218 00:09:50,430 --> 00:09:52,556 Se konsa, sa se fonksyon sa a? 219 00:09:52,556 --> 00:09:54,305 Oke, sa a se jis nan faktoryèl fonksyon. 220 00:09:54,305 --> 00:09:55,410 221 00:09:55,410 --> 00:09:57,405 Sa a se joliman reprezante kòm n faktoryèl. 222 00:09:57,405 --> 00:09:58,720 223 00:09:58,720 --> 00:10:02,310 >> Se konsa, kesyon 19 kounye a, nou vle pran fonksyon sa a repetitif. 224 00:10:02,310 --> 00:10:04,530 Nou vle fè li repete. 225 00:10:04,530 --> 00:10:05,874 Se konsa, kouman nou fè sa? 226 00:10:05,874 --> 00:10:07,790 Oke pou anplwaye a solisyon, epi ankò gen nan 227 00:10:07,790 --> 00:10:11,090 plizyè fason ou ta ka te fè sa, nou kòmanse ak sa a pwodwi Int 228 00:10:11,090 --> 00:10:11,812 egal 1. 229 00:10:11,812 --> 00:10:13,520 Ak nan tout sa a pou riban, nou ap ale 230 00:10:13,520 --> 00:10:17,590 yo dwe miltipliye pwodwi finalman fini ak faktoryèl la plen. 231 00:10:17,590 --> 00:10:21,870 Se konsa, pou int mwen egal 2, mwen se mwens pase oswa egal a n, mwen ++. 232 00:10:21,870 --> 00:10:24,130 >> Ou ka mande poukisa mwen egal 2. 233 00:10:24,130 --> 00:10:28,380 Oke, sonje ke isit la nou gen asire w ka baz nou an, se kòrèk. 234 00:10:28,380 --> 00:10:32,180 Se konsa, si n se mwens pase oswa egal a 1, nou ap jis retounen 1. 235 00:10:32,180 --> 00:10:34,830 Se konsa, sou isit la, nou kòmanse nan mwen egal 2. 236 00:10:34,830 --> 00:10:39,090 Oke si mwen te 1, lè sa a the-- oswa si n te 1, lè sa a la pou riban 237 00:10:39,090 --> 00:10:40,600 pa ta egzekite nan tout. 238 00:10:40,600 --> 00:10:43,190 Se konsa, nou ta jis retounen pwodwi, ki se 1. 239 00:10:43,190 --> 00:10:45,920 Menm jan tou, si n te anyen mwens pase 1-- 240 00:10:45,920 --> 00:10:49,290 si li te 0, negatif 1, kèlkeswa sa nou ta dwe toujou retounen 1, 241 00:10:49,290 --> 00:10:52,260 ki se ekzakteman ki sa a repetitif vèsyon ap fè. 242 00:10:52,260 --> 00:10:54,660 >> Koulye a, si n pi gran pase 1, Lè sa a, nou ap ale 243 00:10:54,660 --> 00:10:56,550 fè omwen yon iterasyon sa a riban. 244 00:10:56,550 --> 00:11:00,630 Se konsa nou di n se 5, Lè sa a, nou ap pral fè fwa pwodwi egal 2. 245 00:11:00,630 --> 00:11:02,165 Se konsa, kounye a se pwodwi 2. 246 00:11:02,165 --> 00:11:04,040 Koulye a, nou ap ale nan fè fwa pwodwi egal 3. 247 00:11:04,040 --> 00:11:04,690 Kounye a li nan 6. 248 00:11:04,690 --> 00:11:07,500 Pwodwi fwa egal 4, kounye a li nan 24. 249 00:11:07,500 --> 00:11:10,420 Pwodwi fwa egal 5, kounye a li nan 120. 250 00:11:10,420 --> 00:11:16,730 Se konsa, Lè sa a, finalman, n ap retounen 120, ki se kòrèkteman 5 faktoryèl. 251 00:11:16,730 --> 00:11:17,510 >> Kesyon 20. 252 00:11:17,510 --> 00:11:22,480 Sa a se youn nan kote ou oblije ranpli nan tablo sa a ak nenpòt algorithm bay yo, 253 00:11:22,480 --> 00:11:25,735 nenpòt ki bagay ki nou te wè, ki adapte sa yo kouri algoritmik 254 00:11:25,735 --> 00:11:28,060 fwa fwa kouri asenptotik sa yo. 255 00:11:28,060 --> 00:11:33,270 Se konsa, sa a se yon algorithm ki se Omega nan 1, men gwo O n? 256 00:11:33,270 --> 00:11:35,970 Se konsa, gen ta ka enfiniman anpil repons isit la. 257 00:11:35,970 --> 00:11:39,790 Youn nan ki nou te wè pwobableman pi souvan se jis rechèch lineyè. 258 00:11:39,790 --> 00:11:42,050 >> Se konsa, nan ka ki pi bon senaryo, atik la nou ap 259 00:11:42,050 --> 00:11:44,050 kap chèche se nan la kòmanse nan lis la 260 00:11:44,050 --> 00:11:47,400 e konsa nan omega nan 1 etap, premye bagay nou tcheke, 261 00:11:47,400 --> 00:11:49,740 nou jis imedyatman retounen ke nou jwenn atik la. 262 00:11:49,740 --> 00:11:52,189 Nan senaryo a ka pi mal la, atik la se nan fen a, 263 00:11:52,189 --> 00:11:53,730 oswa atik la se pa nan lis la nan tout. 264 00:11:53,730 --> 00:11:56,700 Se konsa, nou gen nan rechèch lis la tout antye, tout n 265 00:11:56,700 --> 00:11:58,480 eleman, ak Se poutèt sa li a o nan n. 266 00:11:58,480 --> 00:11:59,670 267 00:11:59,670 --> 00:12:04,880 >> Se konsa, kounye a li nan yon bagay ki nan tou de Omega nan boutèy demi lit n n, ak gwo O nan boutèy demi lit n n. 268 00:12:04,880 --> 00:12:08,650 Oke bagay ki pi enpòtan nou te wè isit la se rantre sòt. 269 00:12:08,650 --> 00:12:12,950 Se konsa, rantre sòt, sonje, se finalman Theta 270 00:12:12,950 --> 00:12:16,920 nan n boutèy demi lit n, kote Theta defini si toude Omega ak gwo O se menm bagay la. 271 00:12:16,920 --> 00:12:17,580 Tou de n boutèy demi lit n. 272 00:12:17,580 --> 00:12:18,690 273 00:12:18,690 --> 00:12:21,970 >> Ki sa ki nan yon bagay ki Omega nan n, ak O nan n okib? 274 00:12:21,970 --> 00:12:23,990 Bon, ankò gen nan miltip repons posib. 275 00:12:23,990 --> 00:12:26,440 Isit la nou rive yo di sòt jarèt. 276 00:12:26,440 --> 00:12:28,840 Sòt ensèsyon ta tou travay isit la. 277 00:12:28,840 --> 00:12:31,400 Sonje ke sòt jarèt gen ki optimize kote, 278 00:12:31,400 --> 00:12:34,630 si ou se kapab jwenn nan lis la tout antye 279 00:12:34,630 --> 00:12:37,402 san yo pa bezwen yo fè nenpòt ki echanj, lè sa a, byen, 280 00:12:37,402 --> 00:12:40,110 nou ka imedyatman retounen ki te lis la Ranje yo kòmanse avèk yo. 281 00:12:40,110 --> 00:12:43,185 Se konsa, nan senaryo a ka pi bon, li nan jis Omega n. 282 00:12:43,185 --> 00:12:45,960 Si li nan pa sèlman yon joliman Ranje lis yo kòmanse avèk yo, 283 00:12:45,960 --> 00:12:48,270 Lè sa a, nou gen O nan n okib echanj. 284 00:12:48,270 --> 00:12:49,330 285 00:12:49,330 --> 00:12:55,610 Epi finalman, nou gen sòt seleksyon pou n okib, tou de omega ak gwo O. 286 00:12:55,610 --> 00:12:56,850 >> Kesyon 21. 287 00:12:56,850 --> 00:12:58,870 Ki sa ki nan nonb antye relatif debòde? 288 00:12:58,870 --> 00:13:02,160 Oke ankò, menm jan ak pi bonè, nou sèlman gen fini anpil Bits 289 00:13:02,160 --> 00:13:04,255 ki reprezante yon nonb antye relatif, se konsa petèt 32 miyèt moso. 290 00:13:04,255 --> 00:13:06,300 291 00:13:06,300 --> 00:13:09,180 Se pou nou di nou gen yon nonb antye relatif siyen. 292 00:13:09,180 --> 00:13:12,800 Lè sa a, pi wo a finalman chif pozitif nou ka reprezante 293 00:13:12,800 --> 00:13:15,910 se 2 a 31 an mwens 1. 294 00:13:15,910 --> 00:13:19,370 Se konsa, sa k ap pase si nou eseye Lè sa a, kantite ki nonb antye relatif? 295 00:13:19,370 --> 00:13:25,320 Oke, nou ap ale nan ale soti nan 2 a 31 an mwens 1, tout wout la desann nan negatif 2 296 00:13:25,320 --> 00:13:26,490 a 31 an. 297 00:13:26,490 --> 00:13:29,470 Se konsa, sa debòde nonb antye relatif se lè ou kenbe incrementing, 298 00:13:29,470 --> 00:13:32,330 epi finalman ou pa kapab jwenn nenpòt ki pi wo epi li jis 299 00:13:32,330 --> 00:13:34,520 vlope tout wout la tounen otou nan yon valè negatif. 300 00:13:34,520 --> 00:13:35,850 301 00:13:35,850 --> 00:13:37,779 >> Ki sa ki sou yon debòde tanpon? 302 00:13:37,779 --> 00:13:39,820 Se konsa, yon tanpon overflow-- sonje sa yon zòn de defans se. 303 00:13:39,820 --> 00:13:41,000 Se jis nan yon ti moso nan memwa. 304 00:13:41,000 --> 00:13:43,350 Yon bagay tankou yon etalaj se yon tanpon. 305 00:13:43,350 --> 00:13:46,120 Se konsa, yon debòde tanpon se lè ou eseye jwenn aksè nan memwa 306 00:13:46,120 --> 00:13:47,880 pi lwen pase nan fen ki etalaj. 307 00:13:47,880 --> 00:13:50,410 Se konsa, si ou gen yon etalaj de gwosè 5 epi ou 308 00:13:50,410 --> 00:13:53,700 eseye jwenn aksè nan etalaj bracket 5 oswa 6 oswa bracket bracket 7, 309 00:13:53,700 --> 00:13:56,610 oswa nenpòt bagay pi lwen pase a fen, oswa menm anyen 310 00:13:56,610 --> 00:14:00,790 below-- bracket etalaj negatif 1-- tout moun sa yo yo se devèrswar tanpon. 311 00:14:00,790 --> 00:14:02,810 W ap manyen memwa nan move fason. 312 00:14:02,810 --> 00:14:04,090 313 00:14:04,090 --> 00:14:04,730 >> Kesyon 23. 314 00:14:04,730 --> 00:14:05,760 315 00:14:05,760 --> 00:14:09,100 Se konsa, nan yon sèl sa a ou bezwen aplike strlèn. 316 00:14:09,100 --> 00:14:11,630 Apre sa, nou di ou ke ou kapab asime a pa pral nil, 317 00:14:11,630 --> 00:14:13,790 se konsa ou pa bezwen fè nenpòt ki chèk pou nil. 318 00:14:13,790 --> 00:14:16,190 E gen plizyè fason ou ta ka te fè sa a. 319 00:14:16,190 --> 00:14:18,440 Isit la nou jis pran dwat la. 320 00:14:18,440 --> 00:14:21,780 Nou kòmanse ak yon vann san preskripsyon, n. n se konte konbyen karaktè gen. 321 00:14:21,780 --> 00:14:25,560 Se konsa, nou kòmanse nan 0, epi lè sa a nou repekte sou lis la tout antye. 322 00:14:25,560 --> 00:14:29,092 >> Èske nan bracket 0 egal a an nil pèsonaj Terminator? 323 00:14:29,092 --> 00:14:31,425 Sonje nou ap chèche pou pèsonaj la nil Terminator 324 00:14:31,425 --> 00:14:33,360 detèmine konbyen tan fisèl nou an, se. 325 00:14:33,360 --> 00:14:35,890 Sa ki pral mete fen nan nenpòt ki fisèl ki enpòtan. 326 00:14:35,890 --> 00:14:39,400 Se konsa, se nan bracket 0 egal Terminator a nil? 327 00:14:39,400 --> 00:14:42,850 Si li pa, lè sa a nou ap ale nan gade nan nan bracket 1, s bracket 2. 328 00:14:42,850 --> 00:14:45,050 Nou kenbe pral jiskaske nou jwenn Terminator a nil. 329 00:14:45,050 --> 00:14:48,580 Yon fwa nou te jwenn li, Lè sa a, n gen longè total fisèl la, 330 00:14:48,580 --> 00:14:49,942 epi nou ka jis retounen sa. 331 00:14:49,942 --> 00:14:51,180 332 00:14:51,180 --> 00:14:51,865 >> Kesyon 24. 333 00:14:51,865 --> 00:14:53,010 334 00:14:53,010 --> 00:14:56,050 Se konsa, sa a se youn nan kote ou gen fè komès la nan. 335 00:14:56,050 --> 00:14:59,810 Se konsa, yon sèl bagay se yon bon bagay nan yon sèl fason, men nan sa ki fason se li move? 336 00:14:59,810 --> 00:15:02,980 Se konsa, isit la, rantre sòt gen tandans fè dwe pi vit pase sòt jarèt. 337 00:15:02,980 --> 00:15:06,530 Apre li fin di that-- byen, gen yo se repons miltip isit la. 338 00:15:06,530 --> 00:15:12,930 Men, yon sèl prensipal la se ke sòt jarèt se Omega nan n pou yon lis Ranje. 339 00:15:12,930 --> 00:15:14,950 >> Sonje ke tab nou jis te wè pi bonè. 340 00:15:14,950 --> 00:15:17,600 Se konsa, ti wonn asòti Omega a n, senaryo a ka pi bon 341 00:15:17,600 --> 00:15:20,010 se li nan kapab jis ale sou lis la yon fwa, detèmine 342 00:15:20,010 --> 00:15:22,270 hey bagay sa a se deja Ranje, epi retounen. 343 00:15:22,270 --> 00:15:25,960 Rantre sòt, pa gen pwoblèm sa ou fè sa, se omega nan boutèy demi lit n n. 344 00:15:25,960 --> 00:15:29,200 Se konsa, pou lis Ranje, ti wonn sòt nan pral fè pi vit. 345 00:15:29,200 --> 00:15:30,870 346 00:15:30,870 --> 00:15:32,430 >> Koulye a, sa ki sou lye lis? 347 00:15:32,430 --> 00:15:36,070 Se konsa, yon lis lye ka grandi ak retresi nan anfòm kòm anpil eleman jan sa nesesè. 348 00:15:36,070 --> 00:15:38,489 Apre li fin di that-- konsa anjeneral konparezon an dirèk 349 00:15:38,489 --> 00:15:40,280 ki pral gen yon lye lis ak yon etalaj. 350 00:15:40,280 --> 00:15:41,600 351 00:15:41,600 --> 00:15:44,050 Se konsa, menm si ranje kapab fasil grandi ak retresi 352 00:15:44,050 --> 00:15:47,130 nan anfòm kòm anpil eleman jan sa nesesè, yon lis lye 353 00:15:47,130 --> 00:15:49,600 konpare ak yon yon array-- etalaj gen aksè o aza. 354 00:15:49,600 --> 00:15:52,960 Nou kapab endèks nan nenpòt ki eleman an patikilye nan etalaj la. 355 00:15:52,960 --> 00:15:56,430 >> Se konsa, pou yon lis lye, nou pa kapab jis ale nan eleman nan senkyèm, 356 00:15:56,430 --> 00:16:00,260 nou gen yo Traverse depi nan konmansman an jiskaske nou jwenn nan eleman nan senkyèm. 357 00:16:00,260 --> 00:16:03,990 Epi sa k ap pase yo anpeche nou soti nan fè yon bagay tankou rechèch binè. 358 00:16:03,990 --> 00:16:08,150 Pale de rechèch binè, binè rechèch gen tandans ka pi vit pase rechèch lineyè. 359 00:16:08,150 --> 00:16:11,120 Apre li fin di that-- se konsa, yon sèl bagay posib 360 00:16:11,120 --> 00:16:13,380 se ke ou pa ka fè binè rechèch sou lye lis, 361 00:16:13,380 --> 00:16:14,730 ou ka sèlman fè l 'sou ranje. 362 00:16:14,730 --> 00:16:18,030 Men, pwobableman plis enpòtan, ou pa kapab fè rechèch binè 363 00:16:18,030 --> 00:16:20,690 sou yon etalaj ki pa Ranje. 364 00:16:20,690 --> 00:16:23,990 Inicio ou ta ka bezwen sòt etalaj la, epi sèlman Lè sa kapab 365 00:16:23,990 --> 00:16:25,370 ou fè rechèch binè. 366 00:16:25,370 --> 00:16:27,660 Se konsa, si ou se pa bagay Ranje yo kòmanse avèk yo, 367 00:16:27,660 --> 00:16:29,250 Lè sa a, rechèch lineyè ta kapab pi vit. 368 00:16:29,250 --> 00:16:30,620 369 00:16:30,620 --> 00:16:31,740 >> Kesyon 27. 370 00:16:31,740 --> 00:16:34,770 Se konsa, konsidere pwogram lan anba a, ki pral nan pwochen glise la. 371 00:16:34,770 --> 00:16:37,790 Lè sa a se youn nan kote nou ap ale nan vle klèman endike 372 00:16:37,790 --> 00:16:39,980 valè yo pou plizyè varyab. 373 00:16:39,980 --> 00:16:41,990 Se konsa, kite pou yo gade nan sa. 374 00:16:41,990 --> 00:16:43,160 >> Se konsa, liy yon sèl. 375 00:16:43,160 --> 00:16:45,457 Nou gen int x egal 1. 376 00:16:45,457 --> 00:16:47,040 Sa a bagay la sèlman ki te pase a. 377 00:16:47,040 --> 00:16:50,440 Se konsa, nan liy yon sèl, nou wè nan nou an tab, ki y, a, b, ak tan, yo tout 378 00:16:50,440 --> 00:16:51,540 blacked deyò. 379 00:16:51,540 --> 00:16:52,280 Se konsa, sa a se x? 380 00:16:52,280 --> 00:16:53,860 Oke nou jis mete l 'egal a 1. 381 00:16:53,860 --> 00:16:55,020 382 00:16:55,020 --> 00:16:58,770 Lè sa a, liy de, byen, nou wè ke se y mete a 2, 383 00:16:58,770 --> 00:17:00,550 ak tab la se deja plen nan pou nou. 384 00:17:00,550 --> 00:17:03,040 Se konsa, x se 1 ak y se 2. 385 00:17:03,040 --> 00:17:05,890 >> Koulye a, liy twa, nou ap kounye a andedan fonksyon an swap. 386 00:17:05,890 --> 00:17:07,560 Nou sa nou te pase nan swap? 387 00:17:07,560 --> 00:17:11,609 Nou te pase comercial x pou yon, ak comercial y pou b. 388 00:17:11,609 --> 00:17:15,160 Ki kote pwoblèm nan pi bonè deklare ke adrès ki nan x 389 00:17:15,160 --> 00:17:17,520 se 0x10, ak adrès ki nan y se 0x14. 390 00:17:17,520 --> 00:17:18,970 391 00:17:18,970 --> 00:17:21,909 Se konsa, yon ak b se egal a 0x10 ak 0x14, respektivman. 392 00:17:21,909 --> 00:17:23,670 393 00:17:23,670 --> 00:17:26,250 >> Koulye a, nan liy twa, ki sa yo x ak y? 394 00:17:26,250 --> 00:17:28,554 Oke, pa gen anyen ki chanje sou x ak y nan pwen sa. 395 00:17:28,554 --> 00:17:30,470 Menm si yo ap andedan yon ankadreman chemine prensipal yo, 396 00:17:30,470 --> 00:17:32,469 yo toujou gen menm bagay la tou valè yo te fè anvan. 397 00:17:32,469 --> 00:17:34,030 Nou pa t 'modifye nenpòt memwa. 398 00:17:34,030 --> 00:17:35,710 Se konsa, x se 1, y se 2. 399 00:17:35,710 --> 00:17:36,550 400 00:17:36,550 --> 00:17:37,050 Tout dwa. 401 00:17:37,050 --> 00:17:40,300 Se konsa, kounye a nou te di Int tan egal a zetwal yon. 402 00:17:40,300 --> 00:17:44,410 Se konsa, nan liy kat, tout bagay se menm bagay la eksepte pou tan. 403 00:17:44,410 --> 00:17:47,130 Nou pa chanje nenpòt ki valè nan anyen eksepte pou tan. 404 00:17:47,130 --> 00:17:49,230 Nou ap mete tan egal a zetwal yon. 405 00:17:49,230 --> 00:17:50,620 Ki sa ki se yon zetwal yon? 406 00:17:50,620 --> 00:17:56,240 Oke, yon pwen nan x, Se konsa, zetwal yon ki pral egal x, ki se 1. 407 00:17:56,240 --> 00:18:00,080 Se konsa, tout bagay se kopye atè, li tan se mete 1. 408 00:18:00,080 --> 00:18:01,110 >> Koulye a, liy kap vini an. 409 00:18:01,110 --> 00:18:03,380 Star yon egal zetwal b. 410 00:18:03,380 --> 00:18:10,000 Se konsa, pa liy five-- byen ankò, tout bagay se menm bagay la eksepte tou sa etwal yon se. 411 00:18:10,000 --> 00:18:10,830 Ki sa ki se yon zetwal yon? 412 00:18:10,830 --> 00:18:13,720 Oke, nou jis di zetwal yon se x. 413 00:18:13,720 --> 00:18:16,400 Se konsa, nou ap chanje x nan zetwal egal b. 414 00:18:16,400 --> 00:18:18,960 Ki sa ki se yon zetwal b? y. b pwen y. 415 00:18:18,960 --> 00:18:21,030 Se konsa, zetwal b se y. 416 00:18:21,030 --> 00:18:25,140 Se konsa, nou ap mete x egal a y, ak tout lòt bagay se menm bagay la. 417 00:18:25,140 --> 00:18:29,130 Se konsa, nou wè nan pwochen ranje a ki x se kounye a 2, ak tout rès la yo se jis kopye desann. 418 00:18:29,130 --> 00:18:31,120 >> Koulye a, nan liy nan pwochen, zetwal b egal tan. 419 00:18:31,120 --> 00:18:34,740 Oke, nou jis di zetwal b se y, se konsa nou ap mete y egal a tan. 420 00:18:34,740 --> 00:18:37,450 Tout lòt bagay se menm bagay la, se konsa tout bagay vin kopye desann. 421 00:18:37,450 --> 00:18:42,050 Nou ap mete y egal a tan, ki se yon sèl, ak tout lòt bagay se menm bagay la. 422 00:18:42,050 --> 00:18:43,210 >> Koulye a, finalman, liy sèt. 423 00:18:43,210 --> 00:18:44,700 Nou ap tounen nan fonksyon prensipal la. 424 00:18:44,700 --> 00:18:46,350 Nou ap apre swap se fini. 425 00:18:46,350 --> 00:18:48,972 Nou te pèdi yon, b, ak tan, men finalman nou 426 00:18:48,972 --> 00:18:51,180 yo pa chanje nenpòt ki valè nan anyen nan pwen sa a, 427 00:18:51,180 --> 00:18:52,800 nou jis kopi x ak y desann. 428 00:18:52,800 --> 00:18:56,490 Apre sa, nou wè ke x ak y yo kounye a 2 ak 1 olye pou yo 1 ak 2. 429 00:18:56,490 --> 00:18:58,160 Te swap a avèk siksè egzekite. 430 00:18:58,160 --> 00:18:59,500 431 00:18:59,500 --> 00:19:00,105 >> Kesyon 28. 432 00:19:00,105 --> 00:19:01,226 433 00:19:01,226 --> 00:19:03,100 Sipoze ke ou rankontre mesaj yo erè 434 00:19:03,100 --> 00:19:06,790 anba a pandan lè biwo ane pwochèn kòm yon CA oswa TF. 435 00:19:06,790 --> 00:19:08,930 Konseye ki jan yo ranje chak nan erè sa yo. 436 00:19:08,930 --> 00:19:11,160 Se konsa, endefini referans nan GetString. 437 00:19:11,160 --> 00:19:12,540 Poukisa ou ta ka wè sa a? 438 00:19:12,540 --> 00:19:15,380 Bon, si yon elèv lè l sèvi avèk GetString nan kòd yo, 439 00:19:15,380 --> 00:19:20,310 yo te byen regle enkli cs50 dot h genyen ladan bibliyotèk la CS50. 440 00:19:20,310 --> 00:19:22,380 >> Oke, sa fè yo bezwen ranje erè sa a? 441 00:19:22,380 --> 00:19:26,810 Yo bezwen fè yon lcs50 priz nan la liy lòd yo lè yo ap konpile. 442 00:19:26,810 --> 00:19:29,501 Se konsa, si yo pa pase lcs50 priz rezone, yo ap 443 00:19:29,501 --> 00:19:32,000 pa ale nan gen aktyèl la Kòd ki aplike GetString. 444 00:19:32,000 --> 00:19:33,190 445 00:19:33,190 --> 00:19:34,170 >> Kesyon 29. 446 00:19:34,170 --> 00:19:36,190 Chal deklare fonksyon bibliyotèk strlèn. 447 00:19:36,190 --> 00:19:37,550 448 00:19:37,550 --> 00:19:40,360 Oke sa a kounye a, yo pa gen fè regle a apwopriye gen ladan yo. 449 00:19:40,360 --> 00:19:41,440 450 00:19:41,440 --> 00:19:45,410 Nan ka sa a an patikilye, dosye a header yo bezwen gen ladan se fisèl dot h, 451 00:19:45,410 --> 00:19:48,710 epi ki gen ladan fisèl dot h, kounye a student-- a kounye a du a 452 00:19:48,710 --> 00:19:51,750 gen aksè a nan deklarasyon nan strlèn, 453 00:19:51,750 --> 00:19:54,120 epi li konnen ke kòd ou a ap itilize ap itilize strlèn kòrèkteman. 454 00:19:54,120 --> 00:19:55,380 455 00:19:55,380 --> 00:19:56,580 >> Kesyon 30. 456 00:19:56,580 --> 00:20:00,240 Plis konvèsyon pousan pase done agiman. 457 00:20:00,240 --> 00:20:01,540 Se konsa, sa ki sa a? 458 00:20:01,540 --> 00:20:06,470 Oke sonje ke sa yo pousan signs-- ki jan yo ap ki gen rapò ak printf. 459 00:20:06,470 --> 00:20:08,890 Se konsa, nan printf nou ta ka percent-- nou ta ka enprime yon bagay 460 00:20:08,890 --> 00:20:11,380 tankou pousan mwen antislach n. 461 00:20:11,380 --> 00:20:15,310 Oswa nou ta ka ekri ak lèt ​​detache tankou pousan mwen, espas, mwen pousan, espas, pousan mwen. 462 00:20:15,310 --> 00:20:18,950 Se konsa, pou chak nan sa yo siy pousan, nou bezwen 463 00:20:18,950 --> 00:20:21,560 yo pase yon varyab nan fen printf. 464 00:20:21,560 --> 00:20:26,980 >> Se konsa, si nou di paren printf pousan mwen antislach paren n fèmen, 465 00:20:26,980 --> 00:20:30,270 byen, nou di ke nou ap pral enprime yon nonb antye relatif, 466 00:20:30,270 --> 00:20:33,970 men lè sa a nou pa pase printf yon nonb antye relatif ki aktyèlman enprime. 467 00:20:33,970 --> 00:20:37,182 Se konsa, isit plis pousan konvèsyon pase done agiman? 468 00:20:37,182 --> 00:20:39,390 Sa a ki di ke nou gen yon pakèt antye nan pousantaj, 469 00:20:39,390 --> 00:20:42,445 epi nou pa gen ase varyab yo aktyèlman ranpli nan sa yo pousantaj. 470 00:20:42,445 --> 00:20:44,850 471 00:20:44,850 --> 00:20:50,010 >> Lè sa a, definitivman, pou kesyon 31, definitivman pèdi 40 bytes nan yon sèl blòk. 472 00:20:50,010 --> 00:20:52,350 Se konsa, sa a se yon erè Valgrind. 473 00:20:52,350 --> 00:20:54,720 Sa a se ki di ke yon kote nan kòd ou a, 474 00:20:54,720 --> 00:20:59,010 ou gen yon alokasyon ki se 40 bytes gwo se konsa ou malloced 40 bytes, 475 00:20:59,010 --> 00:21:00,515 epi ou pa janm te libere li. 476 00:21:00,515 --> 00:21:02,480 477 00:21:02,480 --> 00:21:05,140 Pifò gen anpil chans ou jis bezwen jwenn kèk fwit memwa, 478 00:21:05,140 --> 00:21:07,650 epi jwenn ki kote ou bezwen libere sa a blòk nan memwa. 479 00:21:07,650 --> 00:21:08,780 480 00:21:08,780 --> 00:21:11,910 >> Epi kesyon 32, valab ekri nan gwosè 4. 481 00:21:11,910 --> 00:21:13,250 Yon fwa ankò sa a se yon erè Valgrind. 482 00:21:13,250 --> 00:21:15,440 Sa a pa bezwen fè ak fwit memwa kounye a. 483 00:21:15,440 --> 00:21:20,750 Sa a se, pi likely-- Mwen vle di, li nan kèk sòt de dwa memwa valab. 484 00:21:20,750 --> 00:21:23,270 Ak gen plis chans sa a se kèk sòt nan zòn de defans debòde. 485 00:21:23,270 --> 00:21:26,560 Ki kote ou gen yon etalaj, petèt yon etalaj nonb antye relatif, e kite yo 486 00:21:26,560 --> 00:21:30,115 di li nan nan gwosè 5, epi ou eseye manyen etalaj bracket 5. 487 00:21:30,115 --> 00:21:34,150 Se konsa, si ou eseye yo pou yo ekri ki valè, sa a pa yon moso nan memwa 488 00:21:34,150 --> 00:21:37,440 ke ou gen aktyèlman aksè a, ak se konsa w ap ale nan jwenn erè sa a, 489 00:21:37,440 --> 00:21:39,272 li di valab ekri nan gwosè 4. 490 00:21:39,272 --> 00:21:42,480 Valgrind ki pral rekonèt ou se ap eseye manyen memwa mal. 491 00:21:42,480 --> 00:21:43,980 >> Epi sa a, li pou quiz0. 492 00:21:43,980 --> 00:21:47,065 Mwen se Rob Bowden, e sa se CS50. 493 00:21:47,065 --> 00:21:51,104