1 00:00:07,420 --> 00:00:08,160 [Powered by Google Translate] DAVID J. Malan: zote haki. 2 00:00:08,160 --> 00:00:11,170 Hii ni CS50, na hii ni mwisho wa wiki mbili. 3 00:00:11,170 --> 00:00:14,650 Kama wewe wanatarajia kuwa na njaa kote wakati huu kesho, tunajua kwamba sisi ni kwenda 4 00:00:14,650 --> 00:00:18,920 kuitisha kama kesho kikundi kidogo, Alhamisi, 13:15. 5 00:00:18,920 --> 00:00:21,460 Kuna URL hii hapa kama wewe Ningependa RSVP. 6 00:00:21,460 --> 00:00:25,270 Nafasi ni mdogo, hivyo tafadhali kusamehe ikiwa fomu ya kujaa kwa muda 7 00:00:25,270 --> 00:00:26,680 kujaza hii nje. 8 00:00:26,680 --> 00:00:29,400 Mwingine URL ingawa ambayo inaweza kuwa ya riba ni hii. 9 00:00:29,400 --> 00:00:32,409 >> Hivyo katika tu kuhusu muda wa mwezi mmoja, bila shaka ni kwenda kuwa inapatikana 10 00:00:32,409 --> 00:00:36,090 wote kwa mapana zaidi kupitia edX, via ambayo folks kwenye mtandao itakuwa 11 00:00:36,090 --> 00:00:39,580 uwezo wa kufuata pamoja, kushiriki katika kozi kabisa kikamilifu, kwa kweli. 12 00:00:39,580 --> 00:00:43,070 Wao utakuwa kutumia Appliance CS50 na CS50 Diskutera na zaidi ya 13 00:00:43,070 --> 00:00:45,840 programu mbalimbali zana kwamba sisi tayari wamekuwa wakitumia huu muhula. 14 00:00:45,840 --> 00:00:49,030 Na moja ya mipango tunatarajia kuchukua kama majaribio mwaka huu 15 00:00:49,030 --> 00:00:53,120 ni kuona tu kiasi gani maudhui tunaweza kutafsiri katika nyingine amesema na 16 00:00:53,120 --> 00:00:54,110 imeandikwa lugha. 17 00:00:54,110 --> 00:00:58,000 Hivyo kama unaweza kuwa na maslahi katika kushiriki katika mradi huu, ambapo 18 00:00:58,000 --> 00:01:02,090 sisi kutoa nakala ya Kiingereza na subtitles kwa kozi ya 19 00:01:02,090 --> 00:01:05,190 mihadhara na kaptula na semina na sehemu na kama - 20 00:01:05,190 --> 00:01:08,700 kama wewe kusema fluently au kuandika fluently baadhi ya lugha nyingine, tunataka 21 00:01:08,700 --> 00:01:12,240 upendo kushiriki kwa mradi huu, ambapo wewe kuchukua moja au zaidi ya 22 00:01:12,240 --> 00:01:15,340 videos, kutafsiri yao katika lugha ya wewe kujua vizuri kabisa. 23 00:01:15,340 --> 00:01:19,050 Ili kukupa hisia ya interface, kuna hii ya mtandao msingi user interface 24 00:01:19,050 --> 00:01:22,330 kwamba tutaweza kutumia ambayo kujenga kimsingi UI kama hii. 25 00:01:22,330 --> 00:01:24,520 Hii ilikuwa yangu kufundisha baadhi Halloween iliyopita. 26 00:01:24,520 --> 00:01:27,710 Na juu ya upande wa kulia kuna katika nyeusi karibu na mihuri wakati hizi, 27 00:01:27,710 --> 00:01:31,300 utaona mambo mbalimbali waliotoka kinywa yangu kwamba siku. 28 00:01:31,300 --> 00:01:34,660 Na kisha chini yake, wewe utakuwa na uwezo wa kutafsiri katika lugha nyingine. 29 00:01:34,660 --> 00:01:37,840 Hasa nini ramani ni kati ya, katika kesi hii, Kiingereza 30 00:01:37,840 --> 00:01:38,660 na, kusema, Kihispania. 31 00:01:38,660 --> 00:01:40,480 Hivyo ni kweli sana user-kirafiki chombo. 32 00:01:40,480 --> 00:01:43,690 Unaweza Rewind na kufunga mbele sana kwa urahisi na keyboard shortcuts. 33 00:01:43,690 --> 00:01:46,710 Hivyo kama ungependa kushiriki katika jaribio hili na kuwa na maneno yako 34 00:01:46,710 --> 00:01:50,730 kuonekana na kusoma na maelfu uwezekano wa folks huko nje, tafadhali kufanya kujisikia 35 00:01:50,730 --> 00:01:51,960 bure kushiriki. 36 00:01:51,960 --> 00:01:56,940 >> Sasa neno moja kuhusu kitten kutoka Jumatatu, tusije nimemtuma overly 37 00:01:56,940 --> 00:01:58,120 inatisha ujumbe. 38 00:01:58,120 --> 00:02:02,130 Je, kutambua kwamba kama masaa ya ofisi na kupendekeza kama sehemu kupendekeza, 39 00:02:02,130 --> 00:02:05,110 kubuni bila shaka ni mengi sana kwa kuwa wanafunzi kushirikiana na 40 00:02:05,110 --> 00:02:09,250 kuzungumza na kazi kupitia seti tatizo na matatizo kwa pamoja. 41 00:02:09,250 --> 00:02:13,630 Na kweli mstari tu inakuja chini, tena, kazi wewe hatimaye 42 00:02:13,630 --> 00:02:16,420 wanapaswa kuwasilisha lazima yako mwenyewe. 43 00:02:16,420 --> 00:02:19,080 Na hivyo ni, uaminifu kabisa - katika masaa ya ofisi, ni kabisa kawaida - 44 00:02:19,080 --> 00:02:21,560 ni kabisa kutarajiwa, hata - kuwa chatting na baadhi 45 00:02:21,560 --> 00:02:22,370 rafiki karibu na wewe. 46 00:02:22,370 --> 00:02:25,240 Kama yeye au yeye ni ikikabiliwa na mada fulani, na wewe ni kama, oh, vizuri basi 47 00:02:25,240 --> 00:02:27,750 nikupe glimpse ya baadhi mstari wa kanuni kwamba mimi aliandika. 48 00:02:27,750 --> 00:02:28,290 Hiyo ni sawa. 49 00:02:28,290 --> 00:02:28,700 Kinachotokea. 50 00:02:28,700 --> 00:02:31,580 Na kwamba ni mazuri sana, nadhani, na mchakato wa kujifunza. 51 00:02:31,580 --> 00:02:35,270 Ambapo line, tena, anapata walivuka ni wakati kichwa ni aina ya tilted juu ya 52 00:02:35,270 --> 00:02:38,800 hapa kwa sekunde nyingi mno au dakika kwa kweli kwamba kuwa na tu 53 00:02:38,800 --> 00:02:41,250 imekuwa nafasi kumfungulia kwa rafiki yako. 54 00:02:41,250 --> 00:02:43,870 Na hakika, wakati mambo kupata kubadilishana kupitia barua pepe na na Dropbox 55 00:02:43,870 --> 00:02:45,350 kama, kuna pia ni mstari. 56 00:02:45,350 --> 00:02:48,940 Hivyo kwa njia zote, kujisikia vizuri na kujisikia moyo wa kuzungumza na marafiki 57 00:02:48,940 --> 00:02:51,270 na wanafunzi kuhusu psets na zaidi. 58 00:02:51,270 --> 00:02:54,680 Na tu kutambua kwamba yale hatimaye kuwasilisha lazima kweli kuwa 59 00:02:54,680 --> 00:02:57,780 bidhaa ya uumbaji wako na si mtu mwingine. 60 00:02:57,780 --> 00:03:01,010 >> Hivyo katika ven ya viumbe cuddly, waweza 61 00:03:01,010 --> 00:03:02,820 kujua ya guy hii hapa. 62 00:03:02,820 --> 00:03:06,180 Hivyo hii ni movie horrifically cheesy kutoka miaka iliyopita. 63 00:03:06,180 --> 00:03:08,680 Mtu yeyote hapa kuonekana Spaceballs? 64 00:03:08,680 --> 00:03:09,120 Wote haki. 65 00:03:09,120 --> 00:03:10,220 Hivyo idadi nzuri hapa. 66 00:03:10,220 --> 00:03:13,840 Hivyo hii ni njia yetu ya ajabu taaluma ya kuanzisha leo hatimaye 67 00:03:13,840 --> 00:03:15,130 dhana ya cryptography. 68 00:03:15,130 --> 00:03:19,010 Na hivyo moja ya matatizo maalum kwa ajili ya uwanja pset 2, ambayo atakuja 69 00:03:19,010 --> 00:03:22,770 nje usiku wa marehemu kesho, ni kupiga mbizi katika ulimwengu wa cryptography, ambayo 70 00:03:22,770 --> 00:03:26,380 ni sanaa ya encrypting au scrambling habari. 71 00:03:26,380 --> 00:03:30,160 Na hii inahusiana na hatimaye dunia ya usalama. 72 00:03:30,160 --> 00:03:34,440 >> Sasa usalama kwa ajili ya wengi yetu huja katika namna ya taratibu uungwana mundane. 73 00:03:34,440 --> 00:03:36,920 Sisi sote tuna usernames na password. 74 00:03:36,920 --> 00:03:41,350 Na sisi wote kuwa na majina ya watumiaji mbaya sana na nywila, uwezekano mkubwa. 75 00:03:41,350 --> 00:03:45,250 Kama nywila yako ni sawa kwenye tovuti nyingi, kwamba pengine si 76 00:03:45,250 --> 00:03:47,920 wazo bora, kama tutaweza kujadili kuelekea mwisho wa muhula. 77 00:03:47,920 --> 00:03:51,680 Kama nywila yako imeandikwa katika kumbuka nata - hakuna utani - juu yako 78 00:03:51,680 --> 00:03:55,130 kufuatilia, kwamba pia ni si lazima kubuni bora lakini kawaida kabisa 79 00:03:55,130 --> 00:03:56,140 uzushi. 80 00:03:56,140 --> 00:04:00,420 Na kama wewe si kutumia cryptography encrypt nywila yako, wao ni 81 00:04:00,420 --> 00:04:01,610 hasa katika mazingira magumu. 82 00:04:01,610 --> 00:04:04,670 Hivyo kama unafikiri wewe kuwa super wajanja kwa kuwa na Neno siri 83 00:04:04,670 --> 00:04:07,740 hati mahali fulani kwenye gari yako ngumu ambayo ina yote ya nywila yako lakini 84 00:04:07,740 --> 00:04:10,550 ni katika folder kwamba hakuna mtu kwenda kuangalia katika, kwamba pia ni si sana 85 00:04:10,550 --> 00:04:11,540 salama utaratibu. 86 00:04:11,540 --> 00:04:15,100 Na hivyo kile pset 2 utawaeleza ni sanaa hii ya cryptography na 87 00:04:15,100 --> 00:04:18,300 scrambling habari ili mambo kama Nywila 88 00:04:18,300 --> 00:04:19,500 wote salama zaidi. 89 00:04:19,500 --> 00:04:24,500 Hivyo kama kuwahamasisha na tatizo hili sana halisi ya dunia na sana zisizo za ulimwengu halisi 90 00:04:24,500 --> 00:04:28,740 mazingira, basi mimi kuanzisha wewe moja ya sehemu yetu favorite hapa kutoka hii 91 00:04:28,740 --> 00:04:29,895 movie, Spaceballs. 92 00:04:29,895 --> 00:04:30,565 >> [VIDEO avspelning] 93 00:04:30,565 --> 00:04:32,995 -Helmeti, wewe fiend, nini kinaendelea? 94 00:04:32,995 --> 00:04:34,730 Unafanya nini binti yangu? 95 00:04:34,730 --> 00:04:38,960 -Kibali yangu na kuanzisha kipaji vijana plastiki upasuaji, Dk Philip 96 00:04:38,960 --> 00:04:43,290 Schlotkin, kubwa pua kazi mtu mzima katika 97 00:04:43,290 --> 00:04:45,526 ulimwengu na Beverly Hills. 98 00:04:45,526 --> 00:04:46,450 -Wako ukuu. 99 00:04:46,450 --> 00:04:47,380 -Pua kazi? 100 00:04:47,380 --> 00:04:48,035 Mimi sielewi. 101 00:04:48,035 --> 00:04:49,480 Yeye tayari alikuwa na kazi ya pua. 102 00:04:49,480 --> 00:04:51,490 Ilikuwa tamu 16 sasa. 103 00:04:51,490 --> 00:04:53,090 -Hapana, si nini unafikiri. 104 00:04:53,090 --> 00:04:55,150 Ni mengi, mengi zaidi. 105 00:04:55,150 --> 00:04:59,860 Kama huna nipe mchanganyiko kwa ngao hewa, Dk Schlotkin mapenzi 106 00:04:59,860 --> 00:05:04,135 kutoa binti yako nyuma pua yake ya zamani. 107 00:05:04,135 --> 00:05:05,385 -Hakuna! 108 00:05:08,202 --> 00:05:10,186 Ulipata wapi hiyo? 109 00:05:10,186 --> 00:05:11,178 -All haki. 110 00:05:11,178 --> 00:05:11,674 Mimi nitakuambia. 111 00:05:11,674 --> 00:05:12,666 Mimi nitakuambia. 112 00:05:12,666 --> 00:05:14,154 -Hapana, daddy, hakuna. 113 00:05:14,154 --> 00:05:15,150 Inakubidi si. 114 00:05:15,150 --> 00:05:16,460 -You're haki, wapenzi wangu. 115 00:05:16,460 --> 00:05:18,450 Mimi itabidi miss ya pua yako mpya. 116 00:05:18,450 --> 00:05:21,550 Lakini mimi si kuwaambia mchanganyiko bila kujali. 117 00:05:21,550 --> 00:05:23,100 -Sana vizuri. 118 00:05:23,100 --> 00:05:25,510 Dr Schlotkin, kufanya mbaya wako. 119 00:05:25,510 --> 00:05:26,760 -My radhi. 120 00:05:30,560 --> 00:05:31,180 -Hakuna! 121 00:05:31,180 --> 00:05:33,450 Ngoja, ngoja. 122 00:05:33,450 --> 00:05:34,770 Mimi nitakuambia. 123 00:05:34,770 --> 00:05:36,400 Mimi nitakuambia. 124 00:05:36,400 --> 00:05:38,630 -I alijua ingekuwa kazi. 125 00:05:38,630 --> 00:05:42,040 Haki zote, unipe. 126 00:05:42,040 --> 00:05:46,890 -Macho ni moja. 127 00:05:46,890 --> 00:05:47,290 -Mmoja. 128 00:05:47,290 --> 00:05:48,183 -Mmoja. 129 00:05:48,183 --> 00:05:48,950 -Mbili. 130 00:05:48,950 --> 00:05:49,370 -Mbili. 131 00:05:49,370 --> 00:05:50,450 -Mbili. 132 00:05:50,450 --> 00:05:50,715 -Tatu 133 00:05:50,715 --> 00:05:51,380 -Tatu. 134 00:05:51,380 --> 00:05:52,390 -Tatu. 135 00:05:52,390 --> 00:05:53,200 -Nne. 136 00:05:53,200 --> 00:05:53,720 -Nne. 137 00:05:53,720 --> 00:05:55,830 -Nne. 138 00:05:55,830 --> 00:05:56,580 -Tano 139 00:05:56,580 --> 00:05:57,120 -Tano. 140 00:05:57,120 --> 00:05:58,560 -Tano. 141 00:05:58,560 --> 00:06:03,770 -Basi macho ni moja, mbili, tatu, nne, tano. 142 00:06:03,770 --> 00:06:06,745 Hiyo ni mchanganyiko stupidest mimi umewahi kusikia katika maisha yangu. 143 00:06:06,745 --> 00:06:09,290 Hiyo ni aina ya kitu idiot ingekuwa juu ya mizigo yake. 144 00:06:09,290 --> 00:06:11,540 -Asante, ukuu wako. 145 00:06:11,540 --> 00:06:12,940 -Ulifanya nini? 146 00:06:12,940 --> 00:06:14,230 -I akageuka mbali ukuta. 147 00:06:14,230 --> 00:06:14,630 -Hapana, wewe wala. 148 00:06:14,630 --> 00:06:15,430 Wewe akageuka mbali movie nzima. 149 00:06:15,430 --> 00:06:16,722 -Mimi lazima taabu kifungo vibaya. 150 00:06:16,722 --> 00:06:18,078 -Naam, kuiweka nyuma. 151 00:06:18,078 --> 00:06:18,805 Weka movie nyuma. 152 00:06:18,805 --> 00:06:19,080 -Ndiyo, bwana. 153 00:06:19,080 --> 00:06:19,270 Ndiyo, bwana. 154 00:06:19,270 --> 00:06:19,830 -Twende, Erna. 155 00:06:19,830 --> 00:06:20,270 Njoo, Gretchen. 156 00:06:20,270 --> 00:06:22,850 Bila shaka unajua mimi itabidi bado una bili wewe kwa hili. 157 00:06:27,400 --> 00:06:28,325 -Naam, hakuwa kazi? 158 00:06:28,325 --> 00:06:29,550 Wapi gate? 159 00:06:29,550 --> 00:06:29,910 -Ni kazi, Mheshimiwa. 160 00:06:29,910 --> 00:06:30,770 Tuna mchanganyiko. 161 00:06:30,770 --> 00:06:31,390 -Mkuu. 162 00:06:31,390 --> 00:06:35,630 Sasa tunaweza kuchukua kila pumzi ya mwisho ya hewa safi kutoka sayari Druidia. 163 00:06:35,630 --> 00:06:36,550 Nini mchanganyiko? 164 00:06:36,550 --> 00:06:38,805 -Moja, mbili, tatu, nne, tano. 165 00:06:38,805 --> 00:06:40,610 -Moja, mbili, tatu, nne, tano? 166 00:06:40,610 --> 00:06:41,070 -Ndiyo. 167 00:06:41,070 --> 00:06:41,760 -Kwamba ajabu. 168 00:06:41,760 --> 00:06:45,200 Mimi nimepata mchanganyiko huo kwenye mizigo yangu. 169 00:06:45,200 --> 00:06:47,800 Tayarisha Spaceball 1 kwa kuondoka haraka. 170 00:06:47,800 --> 00:06:48,536 -Ndiyo, bwana. 171 00:06:48,536 --> 00:06:52,350 -Na juu ya kubadilisha mchanganyiko mizigo yangu. 172 00:06:52,350 --> 00:06:53,250 -Asa! 173 00:06:53,250 --> 00:06:55,020 [Mwisho VIDEO avspelning] 174 00:06:55,020 --> 00:06:57,470 >> DAVID J. Malan: movie kushangaza unapaswa sasa wote kuona. 175 00:07:00,600 --> 00:07:06,540 Hivyo muktadha hapa ni kwamba pamoja na data zenye shida huja fursa 176 00:07:06,540 --> 00:07:07,790 encrypt yake na kwa kinyang'anyiro yake. 177 00:07:07,790 --> 00:07:11,060 Na hivyo hii, kwa mfano, ni mfano wa ujumbe ambao umefungiwa. 178 00:07:11,060 --> 00:07:12,980 Hii kwa kweli anasema kitu katika Kiingereza. 179 00:07:12,980 --> 00:07:14,750 Lakini ni wazi kabisa kabisa ni dhahiri. 180 00:07:14,750 --> 00:07:17,360 Na tutaweza kuja duara kamili leo tease mbali nini siri hii 181 00:07:17,360 --> 00:07:18,380 ujumbe hapa ni. 182 00:07:18,380 --> 00:07:22,370 Lakini katika ulimwengu halisi ya kompyuta, mambo si hata kuangalia kama wao ili 183 00:07:22,370 --> 00:07:23,440 kuwa Kiingereza misemo. 184 00:07:23,440 --> 00:07:27,500 Kwa mfano, hii ni nini unaweza kupata kwenye Linux au Mac au kiwango 185 00:07:27,500 --> 00:07:32,080 Unix kompyuta katika faili kwamba mara kwa mara juu ya muda kuitwa faili password. 186 00:07:32,080 --> 00:07:34,170 Siku hizi, ni kuwa wakiongozwa na maeneo mengine. 187 00:07:34,170 --> 00:07:38,660 Lakini kama wewe kuangalia katika mahali sahihi juu ya mfumo, utaona si tu yako 188 00:07:38,660 --> 00:07:41,430 Jina la mtumiaji au ule wa watu wengine juu ya mfumo, lakini utaona 189 00:07:41,430 --> 00:07:43,410 encrypted toleo la password yao. 190 00:07:43,410 --> 00:07:47,800 Hakika, kuna neno crypt unaonyesha kwamba mambo yafuatayo ni uliosimbwa. 191 00:07:47,800 --> 00:07:52,030 Na mfululizo huu wa barua inaonekana random na wahusika na idadi na 192 00:07:52,030 --> 00:07:56,370 kadhalika inaweza decrypted tu kwa ujumla kujua baadhi ya siri - 193 00:07:56,370 --> 00:07:58,600 neno siri, idadi ya siri. 194 00:07:58,600 --> 00:08:02,760 Na hivyo kweli kweli, sanaa ya cryptography majipu hatimaye chini kwa uaminifu wa baadhi 195 00:08:02,760 --> 00:08:05,700 aina na kujua kitu ambacho mtu mwingine hana. 196 00:08:05,700 --> 00:08:10,010 Tutaweza kuchunguza hili kwa undani zaidi kidogo leo na katika pset kuja. 197 00:08:10,010 --> 00:08:11,860 >> Na sasa neno juu ya kupita haitaisha /. 198 00:08:11,860 --> 00:08:15,250 Hivyo hasa, kama baadhi yenu dived katika pset 1, appliance, na 199 00:08:15,250 --> 00:08:18,390 dunia mpya sana kwa ajili yako mwenyewe, alitambua kwamba frustrations na 200 00:08:18,390 --> 00:08:21,340 fujo na tu kiufundi matatizo ni kuwa ilivyotarajiwa. 201 00:08:21,340 --> 00:08:24,410 Hasa na pset kwanza, ambapo kuna kiasi tu mpya, kupata tu 202 00:08:24,410 --> 00:08:28,830 ukoo na ls na cd na amri hizi zote arcane katika mazingira mapya. 203 00:08:28,830 --> 00:08:32,679 Na kwamba ni tofauti na nyenzo halisi na programu yenyewe. 204 00:08:32,679 --> 00:08:35,960 Hivyo kutambua, pia kwamba kuna shaka ni masaa ya ofisi ambazo zipo kama 205 00:08:35,960 --> 00:08:36,770 muundo msaada. 206 00:08:36,770 --> 00:08:38,620 Sehemu hii kuanza Jumapili ijayo. 207 00:08:38,620 --> 00:08:41,990 Lakini muhimu zaidi, kama wewe ni hisia tu kuwa hii si 208 00:08:41,990 --> 00:08:44,420 dunia kwa ajili yenu, kutambua kwamba ni kweli haina kuchukua muda tu. 209 00:08:44,420 --> 00:08:47,520 Na lau kuwa si kwa ajili ya nafasi hii miaka iliyopita kwa ajili yangu ya kuchukua darasa 210 00:08:47,520 --> 00:08:50,840 kupita / kushindwa, uaminifu, mimi kamwe ingekuwa hata kuweka mguu katika darasa. 211 00:08:50,840 --> 00:08:53,520 Na unaweza kubadilisha hili hadi, kusema, Jumatatu ya tano ya shaka. 212 00:08:53,520 --> 00:08:57,110 Hivyo kama wewe ni makali ya sasa, kutambua kwamba badala ya kichwa katika baadhi nyingine 213 00:08:57,110 --> 00:09:01,000 maji kabisa, je, hakika kufikiria tu kubadilisha kupita / kushindwa. 214 00:09:01,000 --> 00:09:03,750 Tena, kuna si kweli utamaduni huu hapa katika Harvard ya kuchukua mambo 215 00:09:03,750 --> 00:09:08,080 kupita / kushindwa tangu kila mtu kweli anataka kufikia au overachieve. 216 00:09:08,080 --> 00:09:11,470 Lakini kusema ukweli, hii ni njia ya ajabu ya kujaribu kitu nje kwamba ili si 217 00:09:11,470 --> 00:09:13,110 kuwa ukoo na wewe. 218 00:09:13,110 --> 00:09:17,090 Na kuishia kufanya katika kesi nyingi kabisa faini, labda 219 00:09:17,090 --> 00:09:18,040 mengi ya mshangao wako. 220 00:09:18,040 --> 00:09:20,850 Na katika suala thabiti zaidi, nini nadhani kupita / kushindwa ujumla gani, 221 00:09:20,850 --> 00:09:23,350 hasa kama unaweza kuwa na uzoefu na pset 0, ikiwa umeweka 222 00:09:23,350 --> 00:09:27,200 katika masaa 10, masaa 15, masaa 25 katika baadhi pset - na wewe tu banging 223 00:09:27,200 --> 00:09:28,180 kichwa yako dhidi ya ukuta, 224 00:09:28,180 --> 00:09:29,850 na ni kupata super marehemu wakati wa usiku, 225 00:09:29,850 --> 00:09:31,880 lakini umechukua pset kama 90% ya njia, 226 00:09:31,880 --> 00:09:33,780 unajua wewe tu hawezi kufikiri jambo moja - 227 00:09:33,780 --> 00:09:36,830 kupita / kushindwa kweli inachukua makali mbali ya darasa kama hii, ambapo unaweza aina 228 00:09:36,830 --> 00:09:39,150 ya furaha kusema okay, najua si kamilifu. 229 00:09:39,150 --> 00:09:40,470 Lakini mimi kazi punda wangu mbali juu ya hili. 230 00:09:40,470 --> 00:09:42,410 Mimi nina pretty furaha na ambapo ni kuishia. 231 00:09:42,410 --> 00:09:44,780 Na kwamba kukidhi matarajio kwa kupita / kushindwa. 232 00:09:44,780 --> 00:09:46,850 Hivyo kufanya kuendelea kuwa katika akili. 233 00:09:46,850 --> 00:09:47,140 >> Wote haki. 234 00:09:47,140 --> 00:09:50,980 Hivyo wale ambao Jihadi kwa kutumia Chuo Kikuu cha Harvard Wi-Fi kujua 235 00:09:50,980 --> 00:09:54,780 kwamba kuna SSID CS50, uhusiano Wi-Fi yaliyo karibu kwamba wewe 236 00:09:54,780 --> 00:09:56,520 wanaweza kuwa bora kwa bahati. 237 00:09:56,520 --> 00:09:59,430 Ni kejeli kidogo kwamba nywila kwa ajili ya hii - kama angependa kujaribu 238 00:09:59,430 --> 00:10:03,080 kuunganisha na hii kwa kasi bora na hebu kujua kama ni hakuna bora - 239 00:10:03,080 --> 00:10:09,240 ni moja, mbili, tatu, nne, tano, njia yote hadi nane kwa sababu ni nane 240 00:10:09,240 --> 00:10:10,270 salama zaidi kuliko tano. 241 00:10:10,270 --> 00:10:15,520 Hivyo kama unahitaji password Wi-Fi, kuungana na CS50 wirelessly hapa. 242 00:10:15,520 --> 00:10:16,950 Moja, mbili, tatu, nne, tano, sita, saba, nane. 243 00:10:16,950 --> 00:10:20,440 Na baada ya juu CS50 Jadili kama bado una masuala kuunganishwa vipindi 244 00:10:20,440 --> 00:10:24,880 na tutaweza basi mamlaka zilizopo kujua kwa nafasi hii. 245 00:10:24,880 --> 00:10:25,180 >> Wote haki. 246 00:10:25,180 --> 00:10:30,350 Hivyo teaser haraka, hasa kwa wale ambao ni shabiki wavulana au wasichana 247 00:10:30,350 --> 00:10:31,900 ya yote Apple mambo. 248 00:10:31,900 --> 00:10:37,566 Nini mimi kuchimbwa kutoka miaka michache nyuma ilikuwa faili hii hapa, ilock.c, tu 249 00:10:37,566 --> 00:10:40,930 aina ya kufanya zaidi ya saruji na ngumu zaidi baadhi ya C ya msingi zaidi 250 00:10:40,930 --> 00:10:42,350 mipango sisi tumekuwa kuandika. 251 00:10:42,350 --> 00:10:44,360 Basi, mimi kufunguliwa faili hii, ilock.c. 252 00:10:44,360 --> 00:10:46,830 Ni inapatikana katika ukurasa wa mihadhara kwa leo. 253 00:10:46,830 --> 00:10:49,470 Kwa upande wa mkono wa kushoto, unaweza kuona orodha ndefu ya kazi. 254 00:10:49,470 --> 00:10:51,860 Hivyo wenzao ambao aliandika hii aliandika juu sana ya utendaji, 255 00:10:51,860 --> 00:10:53,290 zaidi kuliko tu kuu. 256 00:10:53,290 --> 00:10:55,490 Alitumia rundo zima la maktaba hapa. 257 00:10:55,490 --> 00:11:00,450 Na kama sisi kuanza scrolling kupitia, nini hii kwa kweli ni ni sana 258 00:11:00,450 --> 00:11:04,670 kwanza, naamini, ufa kwa iPhone ya awali. 259 00:11:04,670 --> 00:11:08,000 Wakati alitaka jailbreak iPhone ya awali, ambayo ina maana untether 260 00:11:08,000 --> 00:11:11,800 ni kutoka AT & T na kweli kufunga programu maalum juu yake na kufanya mambo 261 00:11:11,800 --> 00:11:13,510 kwamba Apple hakutaka watu kufanya - 262 00:11:13,510 --> 00:11:17,020 vizuri, mtu alichukua muda wa kufikiri hasa jinsi gani wanaweza kutumia 263 00:11:17,020 --> 00:11:20,880 programu dosari, makosa, mende, katika programu Apple. 264 00:11:20,880 --> 00:11:22,650 Na hivyo alizaliwa ilock.c. 265 00:11:22,650 --> 00:11:26,670 Kwamba kama wewe compiled kwenye kompyuta na imewekwa kwenye iPhone kwamba 266 00:11:26,670 --> 00:11:29,810 kushikamana kwa kompyuta yako kupitia, kusema, USB cable, hii ingekuwa kukupa 267 00:11:29,810 --> 00:11:33,360 marupurupu ya utawala au mizizi ya iPhone yako na basi wewe kufanya pretty much 268 00:11:33,360 --> 00:11:34,170 chochote unataka. 269 00:11:34,170 --> 00:11:36,740 >> Na hivyo kuna kuwa hii paka kuvutia na mchezo wa panya kati ya Apple na 270 00:11:36,740 --> 00:11:39,920 wengine wa dunia hasa kama wao, kama makampuni mengi, kujaribu lock 271 00:11:39,920 --> 00:11:43,220 mambo yao chini hivyo kwamba unaweza tu kufanya na ni nini wanataka. 272 00:11:43,220 --> 00:11:46,620 Lakini, shukrani kwa watu kama hii na ufahamu wao wa ngazi ya chini 273 00:11:46,620 --> 00:11:50,580 maelezo na, katika kesi hii, C programu na mengi ya constructs familiar 274 00:11:50,580 --> 00:11:54,630 kwamba tumekuwa walianza kucheza na, wewe ni uwezo wa kweli kujiinua 275 00:11:54,630 --> 00:11:59,050 vifaa kwa namna unaweza kuona inafaa na si lazima baadhi chombo ushirika. 276 00:11:59,050 --> 00:12:01,360 Hivyo kwa mfano, mimi sielewi nini yote haya ni kufanya. 277 00:12:01,360 --> 00:12:03,220 Lakini GetVersion sauti pretty moja kwa moja. 278 00:12:03,220 --> 00:12:05,480 Na inaonekana kama hii ni kazi ambayo mtu huyu aliandika. 279 00:12:05,480 --> 00:12:09,240 Chukua baadhi ya aina ya integer kama hoja, haina kurudi chochote, lakini 280 00:12:09,240 --> 00:12:13,080 inaonekana kitanzi na kwa kitanzi hapa na kama hali, ikiwa hali, 281 00:12:13,080 --> 00:12:15,620 kuvunja, na kwa namna fulani inahusiana na idadi version. 282 00:12:15,620 --> 00:12:16,700 Kama sisi kitabu chini - 283 00:12:16,700 --> 00:12:19,570 ingawa mengi ya maneno haya ni kwenda kuwa mpya, na kuna 284 00:12:19,570 --> 00:12:22,590 zima mengi ya utendaji katika hapa sisi sijawahi kuona na wanaweza milele kuona zaidi 285 00:12:22,590 --> 00:12:23,830 kozi ya muhula - 286 00:12:23,830 --> 00:12:27,150 mwisho wa siku, ni sawa ifuatavyo sheria na mantiki kwamba sisi tumekuwa 287 00:12:27,150 --> 00:12:28,760 kucheza na hivi sasa. 288 00:12:28,760 --> 00:12:34,220 Hivyo hii ni mbali mzee sana ufa yako 3s iPhone au 4s au hivi karibuni 5s, siku hizi, 289 00:12:34,220 --> 00:12:37,320 lakini najua kwamba yote hayo sana inayotokana na dunia hii ambayo tumekuwa 290 00:12:37,320 --> 00:12:38,430 dived katika. 291 00:12:38,430 --> 00:12:41,900 >> Basi hebu tuangalie mfano kidogo zaidi rahisi. 292 00:12:41,900 --> 00:12:46,100 Hii moja, tu kupata moto juu na baadhi ya kisintaksia na pia baadhi ya data nyingine 293 00:12:46,100 --> 00:12:49,240 aina ambayo tumekuwa kuongelea lakini si kweli kuonekana katika C. Hivyo hii ni 294 00:12:49,240 --> 00:12:51,680 faili inayoitwa positive1.c. 295 00:12:51,680 --> 00:12:55,120 Na kwa maoni juu, hii tu madai kwamba mtumiaji kutoa 296 00:12:55,120 --> 00:12:55,960 chanya idadi. 297 00:12:55,960 --> 00:12:59,530 Hivyo ni mfano wa kitanzi do-wakati, ambayo ni nzuri kwa user-maingiliano 298 00:12:59,530 --> 00:13:01,980 programu ambapo unahitaji kuwaambia user kufanya kitu fulani. 299 00:13:01,980 --> 00:13:05,190 Na kama hawana kushirikiana, wewe yell saa yao au kukataa mchango wao. 300 00:13:05,190 --> 00:13:11,610 Uchunguzi katika kumweka, mimi nitaenda kufanya mistari 19 kupitia 24 ya muda mrefu kama mtumiaji ana 301 00:13:11,610 --> 00:13:14,310 si alinipa namba chanya. 302 00:13:14,310 --> 00:13:20,400 Sasa hii undani hapa kwenye mstari 18, kwa nini mimi kutangaza n juu ya hili zima 303 00:13:20,400 --> 00:13:24,490 looping kujenga kinyume na haki ya karibu na mstari 22 ambapo mimi 304 00:13:24,490 --> 00:13:26,880 kweli huduma ya kupata n? 305 00:13:26,880 --> 00:13:27,330 Yeah? 306 00:13:27,330 --> 00:13:27,780 [Inaudible] 307 00:13:27,780 --> 00:13:29,040 >> DAVID J. Malan: Yeah, hivyo suala hili la wigo. 308 00:13:29,040 --> 00:13:30,850 Na katika muda layman, nini wigo rejea? 309 00:13:34,690 --> 00:13:36,610 Yeah? 310 00:13:36,610 --> 00:13:37,860 [Inaudible] 311 00:13:40,040 --> 00:13:41,105 DAVID J. Malan: Je, unaweza kusema kidogo nguvu zaidi? 312 00:13:41,105 --> 00:13:43,450 SPIKA 1: wapi unaweza kupata variable fulani. 313 00:13:43,450 --> 00:13:45,170 DAVID J. Malan: Perfect. 314 00:13:45,170 --> 00:13:47,360 Ambapo unaweza kupata variable fulani. 315 00:13:47,360 --> 00:13:50,400 Na kwa ujumla, utawala wa thumb hivi sasa imekuwa kwamba wigo wa baadhi 316 00:13:50,400 --> 00:13:55,860 variable hufafanuliwa kwa braces hivi karibuni curly kwamba ve kuonekana. 317 00:13:55,860 --> 00:14:02,010 Na hivyo katika kesi hii, kama mimi alifanya makosa ya kutangaza n kwenye mstari 22, 318 00:14:02,010 --> 00:14:03,010 Mpya kwamba ingekuwa kazi. 319 00:14:03,010 --> 00:14:10,990 Ningependa kupata int, na napenda kuiweka katika n kwamba kutofautiana katika mstari 22. 320 00:14:10,990 --> 00:14:16,900 Lakini ambayo mstari wa kanuni ingekuwa sasa sielewi nini mimi kuzungumza kuhusu? 321 00:14:16,900 --> 00:14:22,650 Hivyo 25, na zinageuka 24, pia, kwa sababu katika kesi hii, yake huanguka nje 322 00:14:22,650 --> 00:14:23,610 ya braces curly. 323 00:14:23,610 --> 00:14:27,280 Hivyo tu kidogo ya kero lakini kwa urahisi sana kutatuliwa kwa kifupi kutangaza 324 00:14:27,280 --> 00:14:30,140 nje variable ya kazi yenyewe. 325 00:14:30,140 --> 00:14:32,600 >> Sasa tutaweza kuona baadaye leo, unaweza kwenda hatua moja zaidi. 326 00:14:32,600 --> 00:14:34,860 Na unaweza hata kupata kidogo wavivu - 327 00:14:34,860 --> 00:14:37,320 na hii si kwa kuwa ilipendekeza, kwa ujumla - 328 00:14:37,320 --> 00:14:42,260 lakini unaweza hata kupata wavivu na kuweka variable kimataifa, ili kuzungumza, si 329 00:14:42,260 --> 00:14:46,670 ndani ya kazi, si ndani ya kitanzi, lakini katika faili yenyewe, nje 330 00:14:46,670 --> 00:14:49,600 wa wote wa kazi ve imeandikwa, kama mimi hapa kwenye mstari 15. 331 00:14:49,600 --> 00:14:51,160 Lakini hii ni kwa ujumla kipaji juu. 332 00:14:51,160 --> 00:14:55,680 Lakini kutambua hili ni suluhisho wakati mwingine matatizo mengine, kama tutaweza 333 00:14:55,680 --> 00:14:56,620 hatimaye kuona. 334 00:14:56,620 --> 00:14:58,130 Hivyo kwa sasa, tutaweza kuondoka ni kama hii. 335 00:14:58,130 --> 00:15:01,030 Lakini hebu angalia kama tunaweza rewrite hii tu kuanza kuonyesha wenyewe 336 00:15:01,030 --> 00:15:01,990 tofauti kidogo. 337 00:15:01,990 --> 00:15:05,330 >> Hivyo mpango huu, tu kuwa wazi, ni positive1. 338 00:15:05,330 --> 00:15:11,810 Hebu kwenda mbele hapa na katika terminal dirisha yangu kufanya positive1, Ingiza. 339 00:15:11,810 --> 00:15:12,740 Inaandaa, okay. 340 00:15:12,740 --> 00:15:14,910 Mimi nina kwenda kukimbia positive1, hit Enter. 341 00:15:14,910 --> 00:15:16,820 Mimi kudai kwamba wewe nipe sifuri. 342 00:15:16,820 --> 00:15:18,260 Nitasema -1. 343 00:15:18,260 --> 00:15:18,910 Kwamba hawakuwa na kazi. 344 00:15:18,910 --> 00:15:22,150 0, 99, ambayo inaonekana kufanya kazi. 345 00:15:22,150 --> 00:15:23,570 Labda si mtihani ukali zaidi. 346 00:15:23,570 --> 00:15:26,480 Lakini angalau ni nzuri sanity hundi kuwa tuko katika njia sahihi. 347 00:15:26,480 --> 00:15:29,240 Hivyo sasa napenda kwenda mbele na kufungua version mbili ya hii. 348 00:15:29,240 --> 00:15:32,500 Na kile ambacho ni tofauti tayari? 349 00:15:32,500 --> 00:15:35,140 Ni kutekeleza jambo hilo. 350 00:15:35,140 --> 00:15:40,660 Lakini nini kama kuruka nje wakati wazi tofauti hii? 351 00:15:40,660 --> 00:15:42,560 Yeah, hivyo hii bool katika kijani. 352 00:15:42,560 --> 00:15:45,980 Gedit ina yalionyesha katika Keyword kijani hii inajulikana kama bool, 353 00:15:45,980 --> 00:15:47,000 ambayo ni aina data. 354 00:15:47,000 --> 00:15:51,080 Haina kuja kujengwa katika yote ya matoleo ya C. Unahitaji ni pamoja na 355 00:15:51,080 --> 00:15:52,010 maalum ya maktaba. 356 00:15:52,010 --> 00:15:54,770 Katika kesi yetu, mimi ni pamoja maktaba CS50 ili sisi 357 00:15:54,770 --> 00:15:56,460 kupata bool. 358 00:15:56,460 --> 00:15:59,810 Lakini katika mstari 18, sisi tunaonekana kuwa na thamani Boolean hapa aitwaye kushukuru. 359 00:15:59,810 --> 00:16:01,040 Hivyo mimi nilikuwa nimewaita hii kitu chochote. 360 00:16:01,040 --> 00:16:04,500 Lakini mimi kuitwa ni kushukuru tu aina ya kufikisha baadhi maana semantic. 361 00:16:04,500 --> 00:16:07,930 Hivyo awali kwenye mstari 18, mimi nina kushukuru kwa sababu inaonekana si 362 00:16:07,930 --> 00:16:12,150 Thamani Boolean kushukuru ni initialized na uongo katika mstari 18. 363 00:16:12,150 --> 00:16:16,890 Na basi inaonekana kile nimepata kufanyika hapa katika mistari 21 kupitia 23 ni nimekuwa tu 364 00:16:16,890 --> 00:16:18,610 aina ya rewritten mantiki yangu. 365 00:16:18,610 --> 00:16:21,020 Hivyo hakuna functionally tofauti. 366 00:16:21,020 --> 00:16:26,940 Lakini katika mstari 22 sasa, mimi kuangalia kama int mtumiaji imetoa ni mkubwa kuliko 367 00:16:26,940 --> 00:16:31,120 0, basi mimi kubadili tu thamani ya kushukuru kwa kweli. 368 00:16:31,120 --> 00:16:32,290 Na kwa nini mimi kufanya hivyo? 369 00:16:32,290 --> 00:16:35,600 Kwa sababu katika mstari 25, inaonekana, mimi nina kwenda kuangalia hali. 370 00:16:35,600 --> 00:16:39,380 Je, hii kitanzi wakati kushukuru ni uongo. 371 00:16:39,380 --> 00:16:43,610 >> Hivyo napendekeza hii kama njia mbadala ya toleo moja kwa sababu ni angalau 372 00:16:43,610 --> 00:16:45,130 kidogo Intuitive zaidi, labda. 373 00:16:45,130 --> 00:16:46,900 Ni kidogo zaidi msingi katika Kiingereza. 374 00:16:46,900 --> 00:16:51,710 Hivyo kufanya yafuatayo wakati wewe si kushukuru, au wakati kushukuru ni uongo. 375 00:16:51,710 --> 00:16:55,890 Na wakati huu, pia, mimi inaonekana hawajali kukumbuka kile mtumiaji typed 376 00:16:55,890 --> 00:16:57,730 katika taarifa kwa sababu hakuna n kutofautiana. 377 00:16:57,730 --> 00:16:58,650 Hivyo kwa kweli, mimi - 378 00:16:58,650 --> 00:17:00,080 nyeupe kidogo uongo huko. 379 00:17:00,080 --> 00:17:02,770 Functionally, mpango huo ni tofauti kidogo mara moja sisi kupata chini ya 380 00:17:02,770 --> 00:17:04,819 ni kwa sababu mimi si kukumbuka kile n ni. 381 00:17:04,819 --> 00:17:09,579 Lakini nilitaka kuonyesha hapa pia kwamba hata kama tumeona GetInt na 382 00:17:09,579 --> 00:17:13,920 GetString kuwa kutumika upande wa kulia wa ishara sawa hivi sasa ili 383 00:17:13,920 --> 00:17:17,160 tunakumbuka thamani, kitaalam, kwamba si madhubuti muhimu. 384 00:17:17,160 --> 00:17:20,950 Kama kwa sababu yoyote wewe tu hawajali kuokoa thamani, unataka tu 385 00:17:20,950 --> 00:17:25,710 kuangalia thamani, taarifa kwamba tunaweza tu kuandika hii kama GetInt wazi 386 00:17:25,710 --> 00:17:27,000 Paren, karibu Paren. 387 00:17:27,000 --> 00:17:30,460 Kwamba kazi ni kwenda na kurudi thamani, kama tumekuwa akisema. 388 00:17:30,460 --> 00:17:32,010 Ni kwenda kukupa nyuma int. 389 00:17:32,010 --> 00:17:36,450 Na hivyo kama wewe kiakili kufikiri ya kinachotokea hii, wakati ninapoandika katika 99, GetInt 390 00:17:36,450 --> 00:17:38,160 anarudi idadi 99. 391 00:17:38,160 --> 00:17:41,330 Na hivyo conceptually, ni kama ingawa code yangu walikuwa kweli hii. 392 00:17:41,330 --> 00:17:45,880 Hivyo kama kweli ni 99 zaidi kuliko 0, kisha kushukuru inakuwa kweli. 393 00:17:45,880 --> 00:17:50,420 Kisha mstari 25 anatambua ooh, sisi ni kosa kwa sababu mimi nina sasa kushukuru. 394 00:17:50,420 --> 00:17:54,590 Na katika mstari 26, sisi tu kusema, shukrani kwa integer chanya, lolote 395 00:17:54,590 --> 00:17:55,710 kilichotokea kuwa. 396 00:17:55,710 --> 00:17:58,900 >> Sasa hebu kufanya kidogo kisintaksia sukari hapa, hivyo kusema. 397 00:17:58,900 --> 00:18:02,990 Hebu tuone kama tunaweza kusafisha line hii ya 25 na ugomvi hii ya tatu na ya mwisho 398 00:18:02,990 --> 00:18:04,640 katika positive3. 399 00:18:04,640 --> 00:18:08,250 Hivyo taarifa tofauti tu sasa ni nini mstari wa kanuni? 400 00:18:11,930 --> 00:18:13,260 Yeah, hivyo 25. 401 00:18:13,260 --> 00:18:15,520 Na tumekuwa si kweli kuonekana hila hii bado tu. 402 00:18:15,520 --> 00:18:19,510 Lakini sisi tulikuwa kuona uhakika Moderators Jumatatu, ambayo inaashiria nini? 403 00:18:19,510 --> 00:18:20,970 Hivyo siyo, au kukanusha. 404 00:18:20,970 --> 00:18:23,460 Hivyo kuchukua thamani Boolean na flip thamani yake. 405 00:18:23,460 --> 00:18:24,390 Kweli inakuwa uongo. 406 00:18:24,390 --> 00:18:25,500 Uongo inakuwa kweli. 407 00:18:25,500 --> 00:18:28,910 Hivyo hii, napenda kupendekeza, ni hata kidogo Intuitive zaidi ya njia ya 408 00:18:28,910 --> 00:18:32,200 kuandika code kwa sababu mimi bado initialize kushukuru kwa uongo. 409 00:18:32,200 --> 00:18:33,530 Mimi bado kufanya yafuatayo. 410 00:18:33,530 --> 00:18:35,700 Mimi kuweka kushukuru kwa kweli wakati unakuja. 411 00:18:35,700 --> 00:18:40,690 Lakini sasa unaweza kweli tu kutafsiri kanuni hii kwa maneno kushoto na kulia, 412 00:18:40,690 --> 00:18:42,550 wakati si kushukuru. 413 00:18:42,550 --> 00:18:46,170 Kwa sababu bang, au kumweka Moderators, inaashiria dhana ya si, hivyo wakati 414 00:18:46,170 --> 00:18:47,010 si kushukuru. 415 00:18:47,010 --> 00:18:49,740 >> Hivyo tena, hatuna ilianzisha dhana yoyote mpya per se. 416 00:18:49,740 --> 00:18:53,230 Tumekuwa aliyesema kuhusu Booleans nyuma wakati sisi alicheza na Scratch. 417 00:18:53,230 --> 00:18:55,690 Lakini sasa tunaweza kutambua tu kuanza kuandika code yetu katika 418 00:18:55,690 --> 00:18:56,550 wengi katika njia mbalimbali. 419 00:18:56,550 --> 00:19:00,010 Hivyo hasa katika pset1, kama wewe ni aina ya wanajitahidi kufikiri njia ya 420 00:19:00,010 --> 00:19:03,400 kuandika baadhi ya mpango, tabia mbaya ni wewe ni katika bahati kwa sababu kuna kwenda kuwa yoyote 421 00:19:03,400 --> 00:19:05,780 idadi ya ufumbuzi ambao unaweza kutokea juu. 422 00:19:05,780 --> 00:19:09,850 Kwa mfano, hii ni tatu tu maana hata rahisi ya mipango. 423 00:19:09,850 --> 00:19:10,180 Wote haki. 424 00:19:10,180 --> 00:19:13,860 Na sasa wanakumbuka juu ya Jumatatu, sisi kushoto juu ya kumbuka hii na maadili kurudi. 425 00:19:13,860 --> 00:19:18,280 Hivyo kwa mara ya kwanza, sisi aliandika mpango kwamba si tu kuwa na kuu, 426 00:19:18,280 --> 00:19:22,240 pia ina desturi yake mwenyewe kazi kwamba mimi aliandika hapa. 427 00:19:22,240 --> 00:19:26,640 Hivyo katika mstari 31 kupitia 34, nimekuwa kutekelezwa kazi mchemraba. 428 00:19:26,640 --> 00:19:27,800 Ni si ngumu. 429 00:19:27,800 --> 00:19:29,830 Ni tu mara kwa mara, katika kesi hii. 430 00:19:29,830 --> 00:19:34,920 Lakini jambo muhimu juu yake ni kwamba mimi nina kuchukua pembejeo katika fomu ya na 431 00:19:34,920 --> 00:19:38,910 Mimi kurudi pato katika fomu ya mara kwa mara. 432 00:19:38,910 --> 00:19:43,940 >> Hivyo sasa nina uwezo, kiasi kama mimi kutumika kwa printf peke yake, kwa kuwaita 433 00:19:43,940 --> 00:19:47,120 kazi hii kwa wito kazi mchemraba. 434 00:19:47,120 --> 00:19:49,470 Na kazi mchemraba inachukua baadhi ya pembejeo. 435 00:19:49,470 --> 00:19:52,030 Na kazi mchemraba anarudi baadhi pato. 436 00:19:52,030 --> 00:19:56,660 Na hivyo kwa kulinganisha, printf tu alifanya kitu. 437 00:19:56,660 --> 00:19:59,490 Ni hakurudi chochote kwamba sisi kumjali kuhusu - hata ingawa, kama 438 00:19:59,490 --> 00:20:00,820 kando, ni gani kurejea thamani. 439 00:20:00,820 --> 00:20:02,650 Wewe tu ujumla kupuuza. 440 00:20:02,650 --> 00:20:04,000 Printf tu alifanya kitu. 441 00:20:04,000 --> 00:20:06,220 Ni alikuwa na athari upande wa uchapishaji kwa screen. 442 00:20:06,220 --> 00:20:09,480 Kwa kulinganisha hapa, tuna kazi mchemraba, ambayo 443 00:20:09,480 --> 00:20:11,400 kweli anarudi kitu. 444 00:20:11,400 --> 00:20:12,960 >> Hivyo hii ni kwa ujumla - 445 00:20:12,960 --> 00:20:15,260 kwa wale jamaa na hii, ni wazo haki moja kwa moja. 446 00:20:15,260 --> 00:20:18,460 Lakini kwa wale chini ya ukoo na hili wazo la kupita katika pembejeo na kupata 447 00:20:18,460 --> 00:20:21,700 matokeo ya nyuma, hebu jaribu tu kitu super rahisi. 448 00:20:21,700 --> 00:20:25,180 Kuna mtu yeyote starehe kuja juu ya hatua kwa ufupi? 449 00:20:25,180 --> 00:20:27,460 Wewe kuwa starehe na kamera juu yenu, kama vile. 450 00:20:27,460 --> 00:20:27,640 Yeah. 451 00:20:27,640 --> 00:20:28,610 Sawa, nini jina lako? 452 00:20:28,610 --> 00:20:29,020 KEN: Ken. 453 00:20:29,020 --> 00:20:29,420 DAVID J. Malan: Ken. 454 00:20:29,420 --> 00:20:29,810 Haki zote, Ken. 455 00:20:29,810 --> 00:20:31,060 Kuja juu juu. 456 00:20:31,060 --> 00:20:34,660 Hivyo Ken ni kwenda kuwa kazi ya aina hapa. 457 00:20:34,660 --> 00:20:35,760 Na hebu kwenda mbele na kufanya hili. 458 00:20:35,760 --> 00:20:38,790 Hebu kupata dhana kidogo. 459 00:20:38,790 --> 00:20:39,770 Nice kukutana na wewe. 460 00:20:39,770 --> 00:20:41,010 Karibu hatua katikati. 461 00:20:41,010 --> 00:20:41,980 Wote haki. 462 00:20:41,980 --> 00:20:45,590 Hebu hit button hii hapa. 463 00:20:45,590 --> 00:20:46,420 Wote haki. 464 00:20:46,420 --> 00:20:49,490 Hivyo hapa una ubao wa kisasa. 465 00:20:49,490 --> 00:20:53,050 Na kile Mimi ni kazi kuu, kwa mfano. 466 00:20:53,050 --> 00:20:55,990 Na mimi si kuwa na iPad katika mkono wangu. 467 00:20:55,990 --> 00:20:59,000 Mimi si kweli kumbuka jinsi - vizuri, kwa kweli, siwezi kusema kwamba. 468 00:20:59,000 --> 00:21:02,200 Mimi si kweli kuwa mwandiko mzuri. 469 00:21:02,200 --> 00:21:05,260 Na hivyo kwa hiyo, mimi nataka wewe magazeti kitu kwenye screen kwa ajili yangu. 470 00:21:05,260 --> 00:21:07,470 >> Kwa hiyo mimi ni kuwa mpango kuu. 471 00:21:07,470 --> 00:21:15,060 Na mimi naenda kuwa wewe kusema hili kwa kuandika katika kuku scratch yangu na 472 00:21:15,060 --> 00:21:16,600 kisha kupita wewe pembejeo. 473 00:21:16,600 --> 00:21:20,000 Hivyo kama silly ingawa zoezi hili ni, dhana ya kazi na wito 474 00:21:20,000 --> 00:21:22,260 kazi na kurudi kazi kweli majipu chini hii. 475 00:21:22,260 --> 00:21:23,120 Mimi ni kuu. 476 00:21:23,120 --> 00:21:26,270 Mimi tu imeandikwa printf ("kitu") kwenye screen. 477 00:21:26,270 --> 00:21:27,470 Mimi mbio mpango huu. 478 00:21:27,470 --> 00:21:30,900 Na haraka kama printf anapata kuitwa, inachukua moja hoja - au moja parameter, 479 00:21:30,900 --> 00:21:31,660 wakati mwingine - 480 00:21:31,660 --> 00:21:32,780 kati ya quotes mbili. 481 00:21:32,780 --> 00:21:33,960 Hapa ni hoja kuwa. 482 00:21:33,960 --> 00:21:35,740 Mimi nina kupita kwa Ken. 483 00:21:35,740 --> 00:21:39,390 Sasa yeye ni sanduku jeusi imeandikwa baadhi idadi ya miaka iliyopita kwamba inaonekana 484 00:21:39,390 --> 00:21:41,070 tu anajua jinsi ya magazeti mambo kwenye screen. 485 00:21:41,070 --> 00:21:42,320 >> Hivyo, nitafanya. 486 00:21:48,842 --> 00:21:49,900 Hiyo si mbaya. 487 00:21:49,900 --> 00:21:50,890 Hivyo, nzuri sana. 488 00:21:50,890 --> 00:21:52,900 Hivyo sasa Ken inafanywa utekelezaji. 489 00:21:52,900 --> 00:21:55,810 Je, yeye haja ya kumsaliti mimi kitu nyuma? 490 00:21:55,810 --> 00:21:57,240 Hivyo si kwamba tumekuwa kuonekana hivi sasa. 491 00:21:57,240 --> 00:21:59,230 Tena, printf haina kweli kurudi idadi. 492 00:21:59,230 --> 00:22:01,640 Lakini sisi ni kwenda kupuuza kwamba kwa sasa kwa sababu tumekuwa kamwe kutumika. 493 00:22:01,640 --> 00:22:03,400 Basi hiyo ni kwa ajili ya Ken. 494 00:22:03,400 --> 00:22:06,650 Na hivyo sasa kuu inakuja nyuma nitafanya - 495 00:22:06,650 --> 00:22:09,630 kuu inachukua zaidi ya udhibiti wa mpango tena kwa sababu ya kuwa mstari wa kanuni, 496 00:22:09,630 --> 00:22:11,010 printf, ni kosa utekelezaji. 497 00:22:11,010 --> 00:22:13,890 Na sisi kwenda juu ya njia yetu ya utekelezaji chochote mistari nyingine ni pale. 498 00:22:13,890 --> 00:22:14,130 >> Wote haki. 499 00:22:14,130 --> 00:22:17,080 Hivyo sasa hebu jaribu mfano tofauti kidogo. 500 00:22:17,080 --> 00:22:22,430 Na wakati huu hapa, hebu kwanza wazi screen hapa. 501 00:22:22,430 --> 00:22:24,670 Na wakati huu, tutaweza kufanya kazi cubing. 502 00:22:24,670 --> 00:22:27,350 Lakini wakati huu, mimi kutarajia thamani ya pato. 503 00:22:27,350 --> 00:22:28,630 Basi hebu kwenda mbele na kufanya hili. 504 00:22:28,630 --> 00:22:35,680 Hivyo sasa nina mstari wa kanuni kwamba anasema x = mchemraba (x). 505 00:22:35,680 --> 00:22:36,930 Hivyo kweli let's - 506 00:22:41,450 --> 00:22:43,940 mstari wa kanuni, wanakumbuka, inaonekana kama hii. 507 00:22:43,940 --> 00:22:45,960 x = mchemraba (x). 508 00:22:45,960 --> 00:22:48,100 Hivyo ni jinsi gani hii kwenda kufanya kazi? 509 00:22:48,100 --> 00:22:50,820 Basi hebu kwenda mbele na kukupa screen nyeupe tena. 510 00:22:50,820 --> 00:22:55,000 Na mimi naenda kuandika sasa chini ya thamani ya x, ambayo kwa wakati huu katika 511 00:22:55,000 --> 00:23:01,080 wakati hutokea kwa kuwa, hebu kusema, 2, kuitunza rahisi. 512 00:23:01,080 --> 00:23:04,890 Hivyo nimeandika kwenye kipande cha karatasi thamani ya 2, 513 00:23:04,890 --> 00:23:06,100 ambayo ni thamani yangu x. 514 00:23:06,100 --> 00:23:08,250 Mimi mkono kwa Ken. 515 00:23:08,250 --> 00:23:09,200 KEN: Na mimi tu kuandika jibu? 516 00:23:09,200 --> 00:23:12,660 DAVID J. Malan: Yeah, hebu tu kuandika jibu. 517 00:23:12,660 --> 00:23:13,030 Sawa. 518 00:23:13,030 --> 00:23:16,280 Na sasa yeye ana kurudi mimi kitu. 519 00:23:16,280 --> 00:23:17,560 Hivyo basi - 520 00:23:17,560 --> 00:23:18,170 kamilifu. 521 00:23:18,170 --> 00:23:18,840 Nice segue. 522 00:23:18,840 --> 00:23:21,970 >> Hivyo sasa hukabidhi mimi nyuma thamani ya 8, katika kesi hii. 523 00:23:21,970 --> 00:23:23,220 Na nini mimi kufanya na hayo? 524 00:23:23,220 --> 00:23:26,130 Naam, kweli, hebu angalia. 525 00:23:26,130 --> 00:23:26,640 Kupata haki hii. 526 00:23:26,640 --> 00:23:27,880 Je, Mimi naenda kufanya na hayo? 527 00:23:27,880 --> 00:23:31,900 Sasa mimi naenda kuchukua thamani hii na kwa kweli kuhifadhi katika wale 528 00:23:31,900 --> 00:23:33,400 sawa bits katika kumbukumbu. 529 00:23:33,400 --> 00:23:35,030 Lakini sikia, mimi nina aina ya wanajitahidi hapa. 530 00:23:35,030 --> 00:23:38,280 Mimi nina kuchanganyikiwa kidogo kwa sababu ambapo mimi kweli kuandika thamani ya x? 531 00:23:38,280 --> 00:23:41,840 Sababu kile nimekuwa tu kufanyika ni kimwili mkono Ken kipande cha karatasi 532 00:23:41,840 --> 00:23:44,400 kwamba alikuwa na thamani 2, ambayo ilikuwa x. 533 00:23:44,400 --> 00:23:46,300 Na kwa kweli, hilo ni just nini kinatokea. 534 00:23:46,300 --> 00:23:50,100 Hivyo ni zinageuka kuwa wakati wewe piga kazi, na wewe kupita katika hoja 535 00:23:50,100 --> 00:23:54,130 kama "hello dunia" au unaweza kupita katika hoja kama 2, kwa ujumla, wewe ni 536 00:23:54,130 --> 00:23:56,720 kupita katika nakala ya hoja hiyo. 537 00:23:56,720 --> 00:24:01,020 Na hivyo tu kama mimi aliandika chini ya idadi 2 hapa na kukabidhiwa kwa Ken; kwamba lazima 538 00:24:01,020 --> 00:24:04,760 maana kwamba mimi bado kuwa na nakala ya 2 thamani mahali fulani. 539 00:24:04,760 --> 00:24:08,140 Kwa sababu kwa kweli, sasa kwamba nimepata wamezipata nyuma thamani 8, mimi haja ya kwenda nyuma katika 540 00:24:08,140 --> 00:24:12,010 RAM na kweli kuandika 8 ambapo mimi mara moja alikuwa na idadi 2. 541 00:24:12,010 --> 00:24:15,720 >> Hivyo kuibua kumbuka wazo hili la kupita katika literally 542 00:24:15,720 --> 00:24:16,730 nakala ya thamani. 543 00:24:16,730 --> 00:24:19,570 Ken haina kitu wake, hukabidhi mimi nyuma kitu - katika kesi hii, 544 00:24:19,570 --> 00:24:20,820 thamani kama 8. 545 00:24:20,820 --> 00:24:22,660 Na kisha mimi kufanya kitu na thamani ya kwamba kama mimi 546 00:24:22,660 --> 00:24:24,880 wanataka kushika ni kuzunguka. 547 00:24:24,880 --> 00:24:29,470 Basi wote wa hii itakuwa wote pia familiar kabla ya muda mrefu. 548 00:24:29,470 --> 00:24:33,082 Asante sana kwa demo hii hapa, Ken. 549 00:24:33,082 --> 00:24:34,820 Wote haki. 550 00:24:34,820 --> 00:24:36,720 Vizuri sana kufanyika. 551 00:24:36,720 --> 00:24:40,610 Basi hebu angalia jinsi hatimaye inahusiana na baadhi ya kazi 552 00:24:40,610 --> 00:24:42,270 wito kwamba sisi tumekuwa kufanya hapa. 553 00:24:42,270 --> 00:24:47,610 Hivyo basi mimi kwenda mbele na kutuleta kwa mfano cubing hapa. 554 00:24:47,610 --> 00:24:53,080 Na taarifa kwamba kama tunataka kweli kuanza kuchukua hii zaidi, tunakwenda 555 00:24:53,080 --> 00:24:57,050 kuwa na kukumbuka ya ukweli kwamba x idadi hiyo ni kuwa alipita katika 556 00:24:57,050 --> 00:25:01,390 hapa ni tofauti na yale ya kweli kuwa alipita katika kazi. 557 00:25:01,390 --> 00:25:03,940 Hivyo tena, hii wanapita nakala inaenda kuwa kabisa 558 00:25:03,940 --> 00:25:05,620 germane katika muda tu. 559 00:25:05,620 --> 00:25:09,320 >> Basi hebu tuangalie kitu ambacho haina kabisa kazi ya haki bado. 560 00:25:09,320 --> 00:25:11,790 Mimi nina kwenda mbele na kufungua tatu Buggy mfano, ambayo 561 00:25:11,790 --> 00:25:13,560 ni kiujanja kwa asili. 562 00:25:13,560 --> 00:25:18,070 Na ni kuitwa buggy3, na ni kutekeleza kazi swapping. 563 00:25:18,070 --> 00:25:23,500 Hivyo hapa tuna kazi kuu ambayo ina x na y kiholela initialized kwa 564 00:25:23,500 --> 00:25:24,720 1 na 2, kwa mtiririko huo. 565 00:25:24,720 --> 00:25:27,590 Tunaweza kutumia GetInt, lakini sisi tu haja ya zoezi rahisi. 566 00:25:27,590 --> 00:25:29,680 Hivyo ni vigumu-coded kama 1 na 2. 567 00:25:29,680 --> 00:25:35,330 Katika mistari ya 21 na 22, sisi inaonekana magazeti nje x na y, moja kwa kila mstari. 568 00:25:35,330 --> 00:25:39,620 Kisha, kwenye mstari 23, mimi kudai Mimi swapping maadili haya, dot, dot, dot. 569 00:25:39,620 --> 00:25:43,030 Mimi inaonekana piga kazi katika mstari 24 kuitwa byta 570 00:25:43,030 --> 00:25:44,000 kwamba inachukua hoja mbili. 571 00:25:44,000 --> 00:25:46,430 Ni kabisa legit kwa ajili ya kazi ya kuchukua hoja mbili. 572 00:25:46,430 --> 00:25:48,220 Tumeona printf kufanya hivyo tayari. 573 00:25:48,220 --> 00:25:50,370 Hivyo byta inaonekana inachukua x na y. 574 00:25:50,370 --> 00:25:53,010 Na kama jina lake anapendekeza, napenda matumaini kwamba ni kwenda 575 00:25:53,010 --> 00:25:54,320 wabadilishane maadili haya mawili. 576 00:25:54,320 --> 00:25:57,560 Hivyo basi mimi kudai kwenye mstari 25, walibadilishana. 577 00:25:57,560 --> 00:26:01,570 Na mimi kikachapishwa x na y chini ya dhana kwamba 578 00:26:01,570 --> 00:26:02,830 wameweza kweli imekuwa swapped. 579 00:26:02,830 --> 00:26:04,370 Lakini kama mimi kwa kweli kuendesha mpango huu - 580 00:26:04,370 --> 00:26:06,060 napenda kufungua dirisha terminal. 581 00:26:06,060 --> 00:26:07,750 Hebu kufanya buggy3. 582 00:26:07,750 --> 00:26:09,970 Kama jina linavyosema, hii si kwenda mwisho vizuri. 583 00:26:09,970 --> 00:26:14,690 Kwa sababu wakati mimi hit Enter, taarifa kwamba ni x 1. 584 00:26:14,690 --> 00:26:15,720 y ni 2. 585 00:26:15,720 --> 00:26:19,160 Na bado katika mwisho wa mpango, bado, kwa kweli, sawa. 586 00:26:19,160 --> 00:26:22,760 >> Hivyo kwa kuzingatia maandamano tu sasa na Ken, nini hasa kinachoendelea? 587 00:26:22,760 --> 00:26:24,660 Naam, hebu kupiga mbizi katika kazi hii byta. 588 00:26:24,660 --> 00:26:25,800 Ni super mfupi. 589 00:26:25,800 --> 00:26:28,020 Ni tu mistari michache ya maadili ya muda mrefu. 590 00:26:28,020 --> 00:26:32,810 Lakini nini tatizo la msingi kuzingatia hadithi rahisi walipoambiwa 591 00:26:32,810 --> 00:26:34,270 hapa juu na Ken? 592 00:26:34,270 --> 00:26:36,115 Kwa nini byta kuvunjwa? 593 00:26:36,115 --> 00:26:37,365 [Inaudible] 594 00:26:39,840 --> 00:26:40,460 Hasa. 595 00:26:40,460 --> 00:26:43,610 Hivyo sisi ni hifadhi ya nakala, hazibadiliki yenyewe. 596 00:26:43,610 --> 00:26:46,810 Kwa maneno mengine, byta inaonekana inachukua hoja mbili, int. 597 00:26:46,810 --> 00:26:49,370 Na ni kiholela kuitwa b na. 598 00:26:49,370 --> 00:26:54,430 Na hapa, nimekuwa kupita katika x na y, ambayo ni mtiririko 1 na 2. 599 00:26:54,430 --> 00:26:56,580 Lakini nina si halisi kupita katika x. 600 00:26:56,580 --> 00:26:58,410 Mimi si halisi kupita katika y. 601 00:26:58,410 --> 00:27:01,230 Mimi nina kupita nakala ya x na nakala ya y. 602 00:27:01,230 --> 00:27:05,180 Ni kama karibu kama wewe ingawa kunakiliwa na pasted katika wabadilishane maadili ambayo 603 00:27:05,180 --> 00:27:07,440 unataka kwa kweli kuendesha. 604 00:27:07,440 --> 00:27:11,970 Hivyo kama hiyo kesi, wakati mimi, mpango, kuanza utekelezaji 605 00:27:11,970 --> 00:27:14,140 mstari 35, kisha 36 - 606 00:27:14,140 --> 00:27:17,740 wakati mimi kupata mstari 37, katika hatua hii ya hadithi, ni nini thamani ya? 607 00:27:20,740 --> 00:27:24,850 Katika hatua hii ya hadithi, line 37, ni nini thamani ya wakati huu? 608 00:27:24,850 --> 00:27:25,980 Hivyo ni lazima tu kuwa 1. 609 00:27:25,980 --> 00:27:26,170 Haki? 610 00:27:26,170 --> 00:27:29,100 Kwa sababu x ilipitishwa katika kama hoja ya kwanza. 611 00:27:29,100 --> 00:27:33,150 Na kazi hii tu kiholela ni wito hoja yake ya kwanza,. 612 00:27:33,150 --> 00:27:35,130 Vile vile ni y, hoja ya pili. 613 00:27:35,130 --> 00:27:37,930 Na ni tu kiholela wito pili hoja b. 614 00:27:37,930 --> 00:27:40,510 >> Sasa dichotomy hii ni kweli haki tu alielezea. 615 00:27:40,510 --> 00:27:40,880 Fikiria kuhusu hilo. 616 00:27:40,880 --> 00:27:42,980 Hakuna kati yetu na alikutana mtu ambaye aliandika printf. 617 00:27:42,980 --> 00:27:49,880 Hivyo hakika, yeye au yeye hana wazo nini vigezo wetu miaka 30 baadaye wanaenda 618 00:27:49,880 --> 00:27:50,710 kuitwa. 619 00:27:50,710 --> 00:27:55,110 Hivyo inabidi kuwe na tofauti kati ya nini wito vigezo katika 620 00:27:55,110 --> 00:27:59,960 kazi wewe kuandika na nini wito vigezo katika kazi wewe ni 621 00:27:59,960 --> 00:28:01,770 wito au kutumia. 622 00:28:01,770 --> 00:28:05,120 Hivyo kwa maneno mengine, nimeandika vigezo wangu kama x na y. 623 00:28:05,120 --> 00:28:08,060 Lakini kama mtu mwingine ameandika kazi byta, yeye au yeye kwa hakika 624 00:28:08,060 --> 00:28:10,480 bila kujua nini vigezo yangu ni kwenda kuitwa. 625 00:28:10,480 --> 00:28:13,850 Hivyo kutambua kwamba hii ni kwa nini una hii pande mbili za majina. 626 00:28:13,850 --> 00:28:16,800 Kitaalam, mimi naweza kufanya hivyo kwa bahati mbaya. 627 00:28:16,800 --> 00:28:19,750 Lakini bado wataendelea kuwa kupita katika kama nakala. 628 00:28:19,750 --> 00:28:22,940 Itakuwa bahati mbaya tu kuwa safi aesthetically ikiwa mtu huyo ambaye aliandika 629 00:28:22,940 --> 00:28:25,590 wabadilishane walitumia majina sawa. 630 00:28:25,590 --> 00:28:25,930 >> Wote haki. 631 00:28:25,930 --> 00:28:29,010 Hivyo katika hatua hii ya hadithi, line 37, ni 1. 632 00:28:29,010 --> 00:28:30,410 b ni 2. 633 00:28:30,410 --> 00:28:32,040 Na sasa mimi kuendelea wabadilishane yao. 634 00:28:32,040 --> 00:28:34,730 Naam kwanza ya yote, napenda kwa kweli kufanya hili zaidi tu. 635 00:28:34,730 --> 00:28:36,500 Sijui nini wale mistari mitatu ya code walikuwa wakifanya. 636 00:28:36,500 --> 00:28:37,370 Hebu tu kufanya hili. 637 00:28:37,370 --> 00:28:38,850 b anapata. 638 00:28:38,850 --> 00:28:40,170 b anapata. 639 00:28:40,170 --> 00:28:41,450 Done. 640 00:28:41,450 --> 00:28:43,540 Kwa nini hii ni kuvunjwa, mantiki? 641 00:28:46,980 --> 00:28:48,590 Ni aina ya kitu Intuitive, haki? 642 00:28:48,590 --> 00:28:50,640 Hivyo b inakuwa. 643 00:28:50,640 --> 00:28:52,450 Na b inakuwa. 644 00:28:52,450 --> 00:28:55,410 Lakini tatizo ni kwamba haraka kama mstari 37 executes, nini 645 00:28:55,410 --> 00:28:58,170 thamani ya na b? 646 00:28:58,170 --> 00:28:59,070 huo, 1. 647 00:28:59,070 --> 00:29:03,460 Kwa kuwa wewe clobbered, hivyo kusema, ve iliyopita b sawa. 648 00:29:03,460 --> 00:29:06,000 Hivyo mara mstari 37 ni kunyongwa, kwamba ni kubwa. 649 00:29:06,000 --> 00:29:09,940 Wewe sasa wana nakala mbili za ndani ya namba 1 ya kazi hii. 650 00:29:09,940 --> 00:29:14,720 Hivyo basi wakati wewe kusema katika mstari 38, anapata b, vizuri, wewe ni aina ya Star. 651 00:29:14,720 --> 00:29:17,370 Kwa sababu wewe ni tu assigning 1-1. 652 00:29:17,370 --> 00:29:20,400 Umefanikiwa aina ya kupoteza thamani wewe kumjali kuhusu. 653 00:29:20,400 --> 00:29:22,910 >> Hivyo katika toleo asili ya hili, taarifa nilivyopatenda. 654 00:29:22,910 --> 00:29:26,620 Mimi badala yake alikuwa mstari wa tatu wa kificho kwamba inaonekana kama hii. 655 00:29:26,620 --> 00:29:29,910 Mimi kutangaza variable muda - TMP ni jina la kawaida kabisa 656 00:29:29,910 --> 00:29:31,240 kwa variable muda. 657 00:29:31,240 --> 00:29:34,280 Ni int sababu ina mechi nini nataka kufanya nakala ya. 658 00:29:34,280 --> 00:29:39,720 Mimi kuhifadhi nakala ya ndani ya TMP. Hivyo mara mstari 37 ina kunyongwa, 659 00:29:39,720 --> 00:29:41,390 thamani ya ni - 660 00:29:41,390 --> 00:29:42,970 sanity haraka kuangalia - 661 00:29:42,970 --> 00:29:43,460 1. 662 00:29:43,460 --> 00:29:45,780 thamani ya b ni 2. 663 00:29:45,780 --> 00:29:48,470 Na thamani ya TMP pia ni 1. 664 00:29:48,470 --> 00:29:51,470 Hivyo sasa mimi nitafanya line 38. 665 00:29:51,470 --> 00:29:57,180 Hivyo mara mstari 38 executes, inachukua juu ya thamani ya b. 666 00:29:57,180 --> 00:29:58,510 Na b ilikuwa 2. 667 00:29:58,510 --> 00:30:00,500 Hivyo sasa ni 2. 668 00:30:00,500 --> 00:30:03,110 Hivyo katika hatua hii ya hadithi, ni 2, b ni 2, 669 00:30:03,110 --> 00:30:05,130 na TMP ni 1. 670 00:30:05,130 --> 00:30:09,330 Hivyo sasa kimantiki, tunaweza thamani tu plop TMP wa ndani ya b. 671 00:30:09,330 --> 00:30:10,690 Na sisi ni kosa. 672 00:30:10,690 --> 00:30:12,170 >> Hivyo tumekuwa kutatuliwa kuwa tatizo. 673 00:30:12,170 --> 00:30:16,040 Bahati mbaya, wakati mimi kukimbia programu hii katika fomu hii, haina kweli wabadilishane 674 00:30:16,040 --> 00:30:17,700 yoyote maadili. 675 00:30:17,700 --> 00:30:18,950 Lakini kwa kuwa wazi, kwa nini? 676 00:30:23,420 --> 00:30:26,310 Mimi fasta tatizo mantiki kutoka muda tu iliyopita. 677 00:30:26,310 --> 00:30:31,150 Lakini tena, ikiwa mimi kukimbia katika mpango huu, x na y haitabadilishwa na mwisho wa 678 00:30:31,150 --> 00:30:33,834 mpango wa utekelezaji. 679 00:30:33,834 --> 00:30:34,760 [Inaudible] 680 00:30:34,760 --> 00:30:36,030 DAVID J. Malan: Hivyo sisi si kurudi chochote. 681 00:30:36,030 --> 00:30:36,960 Basi hiyo ni kweli. 682 00:30:36,960 --> 00:30:39,880 Lakini zinageuka kuna kidogo ya tatizo hapa kwa sababu hivi sasa, 683 00:30:39,880 --> 00:30:42,460 tu kitu tumekuwa na uwezo wa kurudi ni kitu kimoja. 684 00:30:42,460 --> 00:30:46,540 Na hii ni kizuizi cha C. Unaweza tu kurudi kwa kweli moja ya thamani, 685 00:30:46,540 --> 00:30:48,970 katika kesi ambayo, mimi nina aina ya kukwama hapa 686 00:30:48,970 --> 00:30:51,805 kwa sababu mimi naweza kurudi thamani mpya ya x au mimi naweza kurudi 687 00:30:51,805 --> 00:30:53,160 mpya thamani ya y. 688 00:30:53,160 --> 00:30:54,330 Lakini nataka wote nyuma. 689 00:30:54,330 --> 00:30:58,010 Hivyo kurudi si ufumbuzi rahisi hapa. 690 00:30:58,010 --> 00:30:59,770 Lakini tatizo la msingi ni kwa nini? 691 00:30:59,770 --> 00:31:03,270 Nini sisi kweli swapped? 692 00:31:03,270 --> 00:31:04,010 na b. 693 00:31:04,010 --> 00:31:07,670 Lakini na b ni nakala za x na y, ambayo ina maana sisi tu alifanya yote haya 694 00:31:07,670 --> 00:31:10,080 kazi - sisi tu alitumia kama dakika tatu kuzungumza juu ya kubadilishana 695 00:31:10,080 --> 00:31:11,680 kazi na wote watatu wa vigezo hivi. 696 00:31:11,680 --> 00:31:15,090 Na kwamba ni kubwa, kikamilifu sahihi katika upweke. 697 00:31:15,090 --> 00:31:20,230 Lakini na upeo b tu ni katika mistari haya hapa. 698 00:31:20,230 --> 00:31:24,130 Hivyo tu kama kwa kitanzi, kama wewe kutangaza integer i ndani kwa ajili ya 699 00:31:24,130 --> 00:31:27,400 kitanzi - vile vile, kama wewe ni kutangaza na b ndani ya kazi ambayo 700 00:31:27,400 --> 00:31:30,550 ve imeandikwa, wao uko halali tu ndani ya kazi hiyo. 701 00:31:30,550 --> 00:31:35,020 Ambayo ina maana ya haraka kama byta inafanywa utekelezaji na sisi kwenda kutoka mstari 24 kwa 702 00:31:35,020 --> 00:31:38,380 mstari 25 x, y na haijabadilishwa wakati wote. 703 00:31:38,380 --> 00:31:42,580 Wewe tu kupita mengi yote ya wakati swapping nakala ya variables. 704 00:31:42,580 --> 00:31:46,490 >> Hivyo ni zinageuka kuwa ufumbuzi wa hili ni kweli zisizo dhahiri. 705 00:31:46,490 --> 00:31:49,210 Ni kabisa kutosha kurudi maadili kwa sababu tunaweza 706 00:31:49,210 --> 00:31:50,320 tu kurudi moja thamani. 707 00:31:50,320 --> 00:31:53,370 Na kwa kweli mimi nataka wabadilishane wote x na y kwa wakati mmoja. 708 00:31:53,370 --> 00:31:55,020 Hivyo sisi ni kwenda kurudi huu. 709 00:31:55,020 --> 00:31:58,770 Lakini kwa sasa, kutambua kwamba suala la msingi hupata kutoka ukweli 710 00:31:58,770 --> 00:32:00,660 kwamba na b ni nakala. 711 00:32:00,660 --> 00:32:03,450 Na wao ni katika upeo wao wenyewe. 712 00:32:03,450 --> 00:32:04,980 Naam, hebu jaribu kutatua hili katika baadhi ya njia. 713 00:32:04,980 --> 00:32:09,200 Hebu kweli kitabu nyuma hapa na kufungua, hebu sema, lahaja nne 714 00:32:09,200 --> 00:32:11,170 hii, buggy4. 715 00:32:11,170 --> 00:32:13,230 Na nini kuhusu hili? 716 00:32:13,230 --> 00:32:16,690 Hili ni tatizo sawa lakini rahisi kuangalia kabla ya sisi kuchukua kumchoma katika 717 00:32:16,690 --> 00:32:17,530 kulitatua. 718 00:32:17,530 --> 00:32:19,440 Mpango huu huitwa increment. 719 00:32:19,440 --> 00:32:24,320 Na inaonekana initializes integer x kwa 1 katika mstari 18. 720 00:32:24,320 --> 00:32:25,950 Mimi kisha kudai x ni 1. 721 00:32:25,950 --> 00:32:28,020 Mimi kisha wanadai incrementing, dot, dot, dot. 722 00:32:28,020 --> 00:32:29,460 Mimi kisha piga increment. 723 00:32:29,460 --> 00:32:33,480 Lakini basi katika mistari 22 na 23, mimi kudai ni kuwa incremented. 724 00:32:33,480 --> 00:32:37,780 Mimi kudai x ni sasa chochote ni, 2 ikatengeneza. 725 00:32:37,780 --> 00:32:39,770 >> Lakini mpango huu ni Buggy. 726 00:32:39,770 --> 00:32:41,020 Nini tatizo? 727 00:32:43,450 --> 00:32:44,418 Yeah? 728 00:32:44,418 --> 00:32:45,668 [Inaudible] 729 00:32:49,260 --> 00:32:49,850 DAVID J. Malan: Hasa. 730 00:32:49,850 --> 00:32:52,430 Hivyo x ametangazwa wazi juu ya mstari 18. 731 00:32:52,430 --> 00:32:54,410 Hiyo ni ndani ya braces kuu ya curly. 732 00:32:54,410 --> 00:32:58,470 Hivyo jibu rahisi hapa ni kwamba, vizuri, x ipo hapa. 733 00:32:58,470 --> 00:33:01,510 Ni haipo katika mstari 32. 734 00:33:01,510 --> 00:33:03,710 Hivyo mpango huu kwa kweli si hata kukusanya. 735 00:33:03,710 --> 00:33:07,910 compiler, wakati mimi kujaribu kuandaa kanuni hii, ni kwenda yell saa yangu 736 00:33:07,910 --> 00:33:13,190 kuhusu baadhi kitambulisho Undeclared au kitu na athari hiyo. 737 00:33:13,190 --> 00:33:13,870 Kwa kweli, hebu jaribu. 738 00:33:13,870 --> 00:33:15,235 Hii ni kufanya buggy4. 739 00:33:17,780 --> 00:33:18,190 Kuna ni. 740 00:33:18,190 --> 00:33:22,030 Matumizi ya x Undeclared kitambulisho katika mstari 32. 741 00:33:22,030 --> 00:33:25,700 Na kweli, hebu kuwa wazi zaidi hapa leo ili kwamba hii ni muhimu katika 742 00:33:25,700 --> 00:33:27,140 masaa ya ofisi na nyumbani. 743 00:33:27,140 --> 00:33:29,000 Ona kwamba ni kidogo isiyoeleweka kirahisi imeandikwa. 744 00:33:29,000 --> 00:33:31,560 Lakini ukweli kwamba Clang ina yelled saa yetu, akisema 745 00:33:31,560 --> 00:33:36,970 buggy4.c: 32:5, ni kweli muhimu. 746 00:33:36,970 --> 00:33:41,970 Ina maana kwamba kosa ni juu ya mstari 32 katika tabia nafasi tano. 747 00:33:41,970 --> 00:33:44,670 Hivyo moja, mbili, tatu, nne, tano. 748 00:33:44,670 --> 00:33:46,640 Hiyo, kwa kweli, ambapo tatizo ni. 749 00:33:46,640 --> 00:33:49,710 Na pia kukumbuka katika masaa ya ofisi na nyumbani, mimi nina bahati hapa. 750 00:33:49,710 --> 00:33:50,740 Nina moja kosa. 751 00:33:50,740 --> 00:33:52,660 Ni kwenda kuwa rahisi kurekebisha. 752 00:33:52,660 --> 00:33:56,220 Lakini kama wewe kupata screen nzima kamili ya ujumbe balaa kosa, tena, 753 00:33:56,220 --> 00:33:59,240 kutambua kwamba moja bottommost ili tu kuwa dalili ya 754 00:33:59,240 --> 00:34:00,320 ndio topmost. 755 00:34:00,320 --> 00:34:03,560 Hivyo baada ya daima chini mende wako kutoka chini juu. 756 00:34:03,560 --> 00:34:06,720 Kwa sababu kuna ili tu kuwa athari daisy-mnyororo kwamba ni kupendekeza wewe 757 00:34:06,720 --> 00:34:09,030 kuwa na matatizo ya njia zaidi ya wewe kweli kufanya. 758 00:34:09,030 --> 00:34:14,989 >> Hivyo ni jinsi gani tunaweza kurekebisha hii ikiwa lengo langu ni increment x? 759 00:34:14,989 --> 00:34:15,370 Nini hiyo? 760 00:34:15,370 --> 00:34:15,620 Sawa. 761 00:34:15,620 --> 00:34:16,679 Hivyo tunaweza kufanya x kimataifa. 762 00:34:16,679 --> 00:34:18,860 Hebu kuchukua njia ya mkato kwamba mimi alionya kuhusu mapema. 763 00:34:18,860 --> 00:34:20,550 Lakini heck, sisi tu haja ya kurekebisha haraka. 764 00:34:20,550 --> 00:34:23,949 Hivyo hebu sema tu x int hapa juu. 765 00:34:23,949 --> 00:34:25,600 Kwamba inafanya x kimataifa. 766 00:34:25,600 --> 00:34:28,460 Hivyo sasa kuu ina huduma hiyo. 767 00:34:28,460 --> 00:34:31,780 Na increment ina huduma hiyo. 768 00:34:31,780 --> 00:34:33,860 Na hivyo basi mimi kwenda mbele na kukusanya hii sasa. 769 00:34:33,860 --> 00:34:36,330 Matokeo buggy4, Ingiza. 770 00:34:36,330 --> 00:34:37,440 Inaonekana kukusanya sasa. 771 00:34:37,440 --> 00:34:40,949 Hebu kukimbia buggy4, na inaonekana kwa kweli kazi. 772 00:34:40,949 --> 00:34:42,780 Sasa hii ni moja ya mambo haya - 773 00:34:42,780 --> 00:34:45,870 kufanya kama mimi kusema, si kama mimi, kama nimekuwa tu kufanyika hapa. 774 00:34:45,870 --> 00:34:49,239 Kwa sababu kwa ujumla, mipango yetu ni kwenda kupata zaidi ya kuvutia na 775 00:34:49,239 --> 00:34:50,440 sana tena kuliko hii. 776 00:34:50,440 --> 00:34:53,199 Na kama ufumbuzi wako kwa matatizo ya maisha ni tu ah, kuweka yote 777 00:34:53,199 --> 00:34:57,550 vigezo kwa juu ya faili yako, haraka sana kufanya mipango kupata 778 00:34:57,550 --> 00:34:59,700 horrifically vigumu kusimamia. 779 00:34:59,700 --> 00:35:02,050 Ni anapata vigumu kufikiria juu majina mapya kutofautiana. 780 00:35:02,050 --> 00:35:05,240 Ni anapata vigumu kuelewa nini variable ni kufanya nini. 781 00:35:05,240 --> 00:35:08,250 >> Na hivyo kwa ujumla, hii si ufumbuzi mzuri. 782 00:35:08,250 --> 00:35:09,780 Basi hebu kufanya hili vizuri. 783 00:35:09,780 --> 00:35:11,920 Hatutaki kutumia variable kimataifa hapa. 784 00:35:11,920 --> 00:35:14,050 Mimi nataka increment x. 785 00:35:14,050 --> 00:35:16,050 Hivyo mimi nilikuwa wazi - 786 00:35:16,050 --> 00:35:18,450 mwisho wa siku, ni aina ya hadithi silly sababu sisi tu kufanya hili. 787 00:35:18,450 --> 00:35:22,050 Lakini kama sikujua kuhusu operator kwamba, au mimi sikuruhusiwa 788 00:35:22,050 --> 00:35:27,700 mabadiliko hayo katika kuu yenyewe, jinsi mwingine inaweza mimi kutekeleza Ken zaidi ya hapa, hii 789 00:35:27,700 --> 00:35:31,450 wakati si kwa mchemraba lakini kwa nyongeza ya? 790 00:35:31,450 --> 00:35:32,700 Ninawezaje kubadilisha jambo hili hapa? 791 00:35:32,700 --> 00:35:33,025 Yeah. 792 00:35:33,025 --> 00:35:34,275 [Inaudible] 793 00:35:37,430 --> 00:35:38,000 DAVID J. Malan: Okay, nzuri. 794 00:35:38,000 --> 00:35:40,490 Sasa kwa nini basi si mimi kupita katika x? 795 00:35:40,490 --> 00:35:44,390 Na kisha badala ya kurudi, kwa nini si mimi tu kufanya kurudi x + 1? 796 00:35:44,390 --> 00:35:46,370 Sasa, wanandoa zaidi mambo kuwa na mabadiliko ya hapa. 797 00:35:46,370 --> 00:35:47,530 Mimi nina juu ya kufuatilia haki. 798 00:35:47,530 --> 00:35:48,910 Ni kitu gani zaidi nahitaji tweak? 799 00:35:48,910 --> 00:35:49,470 Mtu mwingine. 800 00:35:49,470 --> 00:35:49,882 Yeah? 801 00:35:49,882 --> 00:35:51,530 [Inaudible] 802 00:35:51,530 --> 00:35:53,520 DAVID J. Malan: Mimi haja ya kubadili aina ya kurudi increment 803 00:35:53,520 --> 00:35:54,590 sababu siyo kulivunja. 804 00:35:54,590 --> 00:35:56,650 Tupu maana yoyote ni kuwa akarudi. 805 00:35:56,650 --> 00:35:57,600 Lakini ni wazi, sasa ni. 806 00:35:57,600 --> 00:36:01,280 Hivyo hii inahitaji kubadilika kwa int kuwa thabiti na chochote 807 00:36:01,280 --> 00:36:02,580 Mimi kwa kweli kurudi. 808 00:36:02,580 --> 00:36:04,580 >> Sasa kitu kingine ni bado Buggy hapa. 809 00:36:04,580 --> 00:36:04,982 Yeah? 810 00:36:04,982 --> 00:36:06,590 [Inaudible] 811 00:36:06,590 --> 00:36:07,630 DAVID J. Malan: Kwa hiyo mimi haja ya nyongeza ya x? 812 00:36:07,630 --> 00:36:10,336 [Inaudible] 813 00:36:10,336 --> 00:36:11,880 DAVID J. Malan: Ah, hivyo mimi haja ya kupita x. 814 00:36:11,880 --> 00:36:13,300 Kwa hiyo mimi haja ya kufanya hivyo hapa. 815 00:36:17,590 --> 00:36:19,690 Hivyo mfano, mimi kuwa na mabadiliko ya hii hapa. 816 00:36:19,690 --> 00:36:21,290 Hivyo hii ina kuwa int. 817 00:36:21,290 --> 00:36:22,820 Hii ina kuwa - 818 00:36:22,820 --> 00:36:23,670 hmm. 819 00:36:23,670 --> 00:36:24,710 Mimi kwa kweli kuwa na mdudu chini hapa. 820 00:36:24,710 --> 00:36:25,780 Hebu kurekebisha hii moja kwanza. 821 00:36:25,780 --> 00:36:27,990 Nini hii kweli kuwa? 822 00:36:27,990 --> 00:36:29,330 Hivyo ni got kuwa kitu int. 823 00:36:29,330 --> 00:36:30,340 Ni inaweza kuwa x. 824 00:36:30,340 --> 00:36:33,120 Lakini kusema ukweli, kama wewe kuanza wito yote ya x yako vigezo, ni kwenda kupata 825 00:36:33,120 --> 00:36:35,250 chini na chini ya wazi ambayo ni ambayo. 826 00:36:35,250 --> 00:36:38,210 Basi hebu tu kiholela kuchagua tofauti kumtaja mkataba kwa ajili yangu 827 00:36:38,210 --> 00:36:40,220 msaidizi kazi, kazi mimi nina maandishi. 828 00:36:40,220 --> 00:36:41,100 Tutaweza simu yake. 829 00:36:41,100 --> 00:36:44,500 Au tunaweza kuiita - wacha kuiita even_number kuwa hata zaidi ya wazi. 830 00:36:44,500 --> 00:36:47,610 Hivyo basi nina kurudi chochote idadi ni pamoja na 1. 831 00:36:47,610 --> 00:36:49,720 Na sasa mimi kuwa na mabadiliko ya mtu mwingine kitu hapa juu na moja 832 00:36:49,720 --> 00:36:50,700 nyingine kitu hapa. 833 00:36:50,700 --> 00:36:54,150 Nifanye kuwa na mabadiliko kwenye mstari 21 ya kwanza? 834 00:36:54,150 --> 00:36:55,390 Nina hawawajui kwa x. 835 00:36:55,390 --> 00:36:57,480 Hivyo siwezi kuwaita tu x increment. 836 00:36:57,480 --> 00:37:01,000 Mimi haja ya kukumbuka jibu kwa kubadilisha thamani ya x kwenye 837 00:37:01,000 --> 00:37:02,020 mkono wa kushoto upande. 838 00:37:02,020 --> 00:37:04,930 Na hata kama x ni sasa juu ya kushoto na kulia, hiyo ni kwa sababu kabisa faini 839 00:37:04,930 --> 00:37:08,370 upande wa kulia mkono anapata kwanza kunyongwa kisha anapata plopped ndani ya kushoto 840 00:37:08,370 --> 00:37:10,240 mkono kitu, x katika kesi hii. 841 00:37:10,240 --> 00:37:11,900 Na kisha mwisho, hii ni fix rahisi sasa. 842 00:37:11,900 --> 00:37:15,080 Hii lazima tu mechi nini chini chini. 843 00:37:15,080 --> 00:37:17,120 Int idadi. 844 00:37:17,120 --> 00:37:17,320 >> Wote haki. 845 00:37:17,320 --> 00:37:20,290 Hivyo rundo zima la mabadiliko kwa ajili ya kazi kweli wajinga. 846 00:37:20,290 --> 00:37:24,250 Lakini mwakilishi wa mambo kwamba tutaweza inazidi wanataka kufanya. 847 00:37:24,250 --> 00:37:25,490 Hivyo kufanya buggy4. 848 00:37:25,490 --> 00:37:26,485 Nimekuwa Star up mahali fulani. 849 00:37:26,485 --> 00:37:27,520 Oh, Mungu wangu. 850 00:37:27,520 --> 00:37:29,660 Tano makosa katika, kama, mpango sita-line. 851 00:37:29,660 --> 00:37:36,500 Basi nini vibaya juu ya mstari 18, tabia ya 5? 852 00:37:36,500 --> 00:37:36,970 Wote haki. 853 00:37:36,970 --> 00:37:39,330 Hivyo nina kutangaza hii int. 854 00:37:39,330 --> 00:37:39,630 Wote haki. 855 00:37:39,630 --> 00:37:41,790 Basi hebu angalia, rundo zima la makosa mengine. 856 00:37:41,790 --> 00:37:42,230 Oh mungu wangu. 857 00:37:42,230 --> 00:37:43,880 19, 18, 21. 858 00:37:43,880 --> 00:37:46,020 Lakini tena, hebu tu wazi screen - 859 00:37:46,020 --> 00:37:48,660 Document L hapa - na re-kukimbia Clang. 860 00:37:48,660 --> 00:37:51,340 Hivyo tano matatizo ni kweli tu kwamba moja. 861 00:37:51,340 --> 00:37:53,500 Hivyo sasa hebu kukimbia buggy4, Ingiza. 862 00:37:53,500 --> 00:37:54,150 Whew. 863 00:37:54,150 --> 00:37:57,434 x imekuwa incremented usahihi. 864 00:37:57,434 --> 00:37:58,420 >> Wote haki. 865 00:37:58,420 --> 00:38:01,700 Maswali yoyote juu ya jinsi ya increment namba? 866 00:38:01,700 --> 00:38:02,896 Yeah? 867 00:38:02,896 --> 00:38:06,864 SPIKA 2: Kwa nini ni kwamba unaweza kubadili tu x kwa idadi katika variable 868 00:38:06,864 --> 00:38:08,860 jina na kufahamu nini maana? 869 00:38:08,860 --> 00:38:09,600 DAVID J. Malan: Good swali. 870 00:38:09,600 --> 00:38:13,130 Jinsi ni kwamba naweza kubadili tu x kwa idadi na mpango watajua 871 00:38:13,130 --> 00:38:13,990 mara moja? 872 00:38:13,990 --> 00:38:16,120 Hivyo tena, unafikiri kama abstraction hii. 873 00:38:16,120 --> 00:38:20,110 Hivyo kama mimi ni kuu na Ken ni Unaozidi, kusema ukweli, mimi sijali 874 00:38:20,110 --> 00:38:21,540 nini Ken wito iPad wake. 875 00:38:21,540 --> 00:38:25,350 Mimi sijali kile anachokiita chochote kwamba ina nini na utekelezaji wake 876 00:38:25,350 --> 00:38:26,550 ya utendaji huu. 877 00:38:26,550 --> 00:38:32,130 Hivyo hii ni undani utekelezaji kuwa mimi, kuu, wala 878 00:38:32,130 --> 00:38:33,010 kuwa na huduma ya juu. 879 00:38:33,010 --> 00:38:37,440 Na hivyo tu kubadilisha mara kwa mara ndani ya kazi, idadi hapa 880 00:38:37,440 --> 00:38:41,340 na idadi hapa, ni yote inachukua muda mrefu kama mimi recompile. 881 00:38:41,340 --> 00:38:43,820 Ni aina ya kama kama unafikiri juu - wengi wetu, wale wa wewe kwa dereva 882 00:38:43,820 --> 00:38:46,590 leseni ambao wameweza inaendeshwa, au kama wameweza hata inaendeshwa katika gari - 883 00:38:46,590 --> 00:38:50,710 wengi wetu hawana wazo jinsi ya gari inafanya kazi chini ya Hood. 884 00:38:50,710 --> 00:38:54,710 Na literally, kama wewe kufungua Hood, wengi wetu - mimi mwenyewe pamoja - 885 00:38:54,710 --> 00:38:56,580 hawataenda kweli kujua nini sisi tunataka. 886 00:38:56,580 --> 00:38:58,850 Aina ya kama unaweza kuhisi pamoja na mambo kama haki hii sasa. 887 00:38:58,850 --> 00:39:01,380 Lakini sisi si kweli kuwa na huduma jinsi gari kazi. 888 00:39:01,380 --> 00:39:05,000 Hatuna kwa huduma nini yote ya viboko na pistons na nyaya ndani ya 889 00:39:05,000 --> 00:39:07,700 gari ni kweli kufanya. 890 00:39:07,700 --> 00:39:11,360 >> Hivyo kitu kama nini wito piston Haijalishi 891 00:39:11,360 --> 00:39:11,920 hapa katika kesi hii. 892 00:39:11,920 --> 00:39:12,490 Same wazo. 893 00:39:12,490 --> 00:39:12,670 Yeah? 894 00:39:12,670 --> 00:39:13,920 [Inaudible] 895 00:39:25,250 --> 00:39:29,530 DAVID J. Malan: Kama kulikuwa na zaidi matumizi ya sasa variable XA iliyopita, 896 00:39:29,530 --> 00:39:32,220 wewe, programu, unachoweza kubadilisha kila mahali. 897 00:39:32,220 --> 00:39:35,230 Au unaweza literally kufanya Picha, Menyu, na kisha Find / Replace, 898 00:39:35,230 --> 00:39:36,270 kitu kama hicho. 899 00:39:36,270 --> 00:39:40,110 Lakini wewe ni kwenda na kufanya wale mabadiliko mwenyewe. 900 00:39:40,110 --> 00:39:41,200 Wewe kuwa thabiti. 901 00:39:41,200 --> 00:39:42,450 [Inaudible] 902 00:39:47,200 --> 00:39:48,960 DAVID J. Malan: utaratibu maalum kama hapa? 903 00:39:48,960 --> 00:39:52,660 Kama hii ilikuwa int mwingine namba? 904 00:39:52,660 --> 00:39:52,940 Yeah. 905 00:39:52,940 --> 00:39:56,430 Hivyo ili mambo wakati wewe ni wito kazi. 906 00:39:56,430 --> 00:40:00,350 Hivyo kama mimi walikuwa wito increment hapa na kitu kitu comma, 907 00:40:00,350 --> 00:40:01,400 kuna ramani ya moja kwa moja. 908 00:40:01,400 --> 00:40:04,490 variable kwanza, chochote ni kuitwa, ni kufanywa nakala ya kwanza 909 00:40:04,490 --> 00:40:05,480 hoja zaidi ya hapa. 910 00:40:05,480 --> 00:40:07,280 Samahani, hii haipaswi kuwa mabano. 911 00:40:07,280 --> 00:40:09,300 pili hoja yanaendana na la pili. 912 00:40:09,300 --> 00:40:11,220 >> Hivyo ili, ndiyo, mambo. 913 00:40:11,220 --> 00:40:11,490 Wote haki. 914 00:40:11,490 --> 00:40:13,360 Samahani mimi alichukua muda mrefu njia ya kufika huko. 915 00:40:13,360 --> 00:40:14,610 Maswali mengine? 916 00:40:16,460 --> 00:40:16,850 Wote haki. 917 00:40:16,850 --> 00:40:20,300 Basi hebu angalia kama hatuwezi kuchora picha ya nini kweli kinachoendelea 918 00:40:20,300 --> 00:40:22,160 hapa chini ya Hood, hivyo kusema. 919 00:40:22,160 --> 00:40:26,310 Hivyo hii ni mstatili kwamba wanaweza kuwakilisha kumbukumbu ya kompyuta yako. 920 00:40:26,310 --> 00:40:31,240 Hivyo hata kama huna wazo jinsi kumbukumbu kazi au jinsi RAM kazi, angalau 921 00:40:31,240 --> 00:40:33,590 kudhani kwamba una mashada ya hiyo siku hizi. 922 00:40:33,590 --> 00:40:34,740 Nimepata megabaiti yake. 923 00:40:34,740 --> 00:40:35,760 Nimepata gigabytes yake. 924 00:40:35,760 --> 00:40:40,690 Na tunajua kutoka sifuri wiki kwamba Byte ni yale tu? 925 00:40:40,690 --> 00:40:41,280 8 bits. 926 00:40:41,280 --> 00:40:42,730 Haki, hivyo 8 zeroes na ndio. 927 00:40:42,730 --> 00:40:46,300 Hivyo kama kompyuta yako ina GIG ya RAM, wawili gigs ya RAM siku hizi, una 928 00:40:46,300 --> 00:40:54,450 bilioni au bilioni 2 ka ya kumbukumbu, au takriban bilioni 8 au 16 bilioni 929 00:40:54,450 --> 00:40:56,560 bits, ndani ya kompyuta yako. 930 00:40:56,560 --> 00:40:59,710 Sasa tofauti mfano kidogo Woolly Willy, siyo chembe magnetic 931 00:40:59,710 --> 00:41:00,560 kawaida tena. 932 00:41:00,560 --> 00:41:04,470 Kuongezeka, katika Laptops angalau, ni hali mango anatoa, SSDs, kwamba 933 00:41:04,470 --> 00:41:05,560 tu kuwa hakuna kuhamia sehemu. 934 00:41:05,560 --> 00:41:06,710 Ni wote elektroniki. 935 00:41:06,710 --> 00:41:08,070 Ni wote umeme msingi. 936 00:41:08,070 --> 00:41:12,360 Hivyo kufikiri, ingawa, ya Mstatili hii kama tu anayewakilisha moja au mbili 937 00:41:12,360 --> 00:41:13,930 gigabytes ya kumbukumbu kwamba wewe. 938 00:41:13,930 --> 00:41:15,500 >> Hivyo ni chunk ya kumbukumbu. 939 00:41:15,500 --> 00:41:20,460 Sasa ulimwengu wa sayansi ya kompyuta ina aina ya chunks partitioned mbali ya 940 00:41:20,460 --> 00:41:22,570 kumbukumbu ya kufanya mambo tofauti. 941 00:41:22,570 --> 00:41:25,930 Hivyo kwa mfano, kama hii ni RAM kompyuta yako - kama ilivyopendekezwa na 942 00:41:25,930 --> 00:41:30,400 Mstatili hapo - zinageuka kuwa na mkataba, juu ya RAM yako, hivyo 943 00:41:30,400 --> 00:41:33,170 kusema, kwa ujumla ni nini wito sehemu asilia. 944 00:41:33,170 --> 00:41:35,910 Wale ni zeroes na wale ambao una compiled. 945 00:41:35,910 --> 00:41:39,040 Hivyo wakati tumekuwa inaonekana chini ya kofia katika kile a.out ni, kila 946 00:41:39,040 --> 00:41:40,360 zeroes na wale - 947 00:41:40,360 --> 00:41:44,000 wakati kukimbia mpango, zeroes hizo na zile ni kubeba kutoka ngumu yako 948 00:41:44,000 --> 00:41:46,290 gari katika kitu kinachoitwa RAM. 949 00:41:46,290 --> 00:41:48,950 Na katika RAM, wao ni kuweka saa ya juu. 950 00:41:48,950 --> 00:41:50,330 Sasa wakati huo huo, una mambo mengine. 951 00:41:50,330 --> 00:41:53,060 Initialized data, uninitialized data. 952 00:41:53,060 --> 00:41:56,440 Wale wawili swaths ya kumbukumbu rejea vigezo kimataifa, ambayo 953 00:41:56,440 --> 00:41:57,530 wewe si mara nyingi kutumia. 954 00:41:57,530 --> 00:42:00,630 Lakini wakati mwingine kama wewe, wao kuishia huko pia. 955 00:42:00,630 --> 00:42:01,620 Kisha kuna baadhi ya mambo mengine. 956 00:42:01,620 --> 00:42:04,130 Mazingira vigezo, ambayo sisi si kutumia muda mwingi juu. 957 00:42:04,130 --> 00:42:06,120 Lakini basi mambo mawili muhimu ambayo itakuwa nyuma katika hii 958 00:42:06,120 --> 00:42:08,130 muhula, stack na lundo. 959 00:42:08,130 --> 00:42:12,280 >> Kwa hiyo wengi kumbukumbu ya kompyuta yako ni akiba wakati wa mbio mpango kwa ajili ya 960 00:42:12,280 --> 00:42:14,880 kitu kinachoitwa stack na kitu kinachoitwa lundo. 961 00:42:14,880 --> 00:42:16,940 Na sisi siyo kwenda kuzungumza kuhusu lundo leo, lakini sisi 962 00:42:16,940 --> 00:42:18,180 majadiliano juu ya stack. 963 00:42:18,180 --> 00:42:22,910 Na stack ni maana ya conjure up Visual ya ukumbi kama dining 964 00:42:22,910 --> 00:42:26,120 trays unga katika Mather House, au popote kutokea kwa kuwa, ambapo 965 00:42:26,120 --> 00:42:27,810 dining hall wafanyakazi safi yao kila siku. 966 00:42:27,810 --> 00:42:30,180 Wao stack yao juu kutoka ghorofa ya juu juu. 967 00:42:30,180 --> 00:42:33,800 Na vile vile katika kumbukumbu, kuna hili wazo la kuweka kitu juu ya 968 00:42:33,800 --> 00:42:36,740 stack, kuweka kitu juu ya stack, kuweka kitu juu ya stack. 969 00:42:36,740 --> 00:42:38,000 Na nini sisi maana kwa mfano huu? 970 00:42:38,000 --> 00:42:41,430 Naam, hebu kuvuta nusu tu ya chini ya picha hii, kompyuta yako 971 00:42:41,430 --> 00:42:43,990 RAM, kupendekeza yafuatayo. 972 00:42:43,990 --> 00:42:48,300 Ni zinageuka kuwa wakati kukimbia mpango kama a.out au hello, chochote 973 00:42:48,300 --> 00:42:49,920 mpango ni kwamba ve imeandikwa, 974 00:42:49,920 --> 00:42:53,030 tena, zeroes hizo na zile ni kubeba kutoka gari yako ngumu - ambayo ni 975 00:42:53,030 --> 00:42:56,190 muda mrefu kuhifadhi mrefu, anakaa huko hata wakati wewe vuta kuziba - 976 00:42:56,190 --> 00:42:57,220 kubeba katika RAM. 977 00:42:57,220 --> 00:42:59,020 RAM ni kasi kuliko anatoa ngumu. 978 00:42:59,020 --> 00:43:00,700 Ni ndogo kuliko anatoa ngumu. 979 00:43:00,700 --> 00:43:03,490 Lakini ni ambapo mipango kuishi wakati wewe mbio yao. 980 00:43:03,490 --> 00:43:06,380 >> Hivyo bonyeza mara mbili juu ya mpango Mac au PC - ni kubeba kutoka 981 00:43:06,380 --> 00:43:07,750 ngumu kuendesha ndani ya RAM. 982 00:43:07,750 --> 00:43:11,760 Haraka kama ni kubeba katika RAM, zeroes na wale kwenda juu ya njia, 983 00:43:11,760 --> 00:43:13,130 kinachojulikana Nakala sehemu. 984 00:43:13,130 --> 00:43:17,040 Lakini basi kwa haraka kama mpango wako kweli kuanza mbio, kuu 985 00:43:17,040 --> 00:43:18,140 kazi ni kuitwa. 986 00:43:18,140 --> 00:43:21,070 Na kuu, kama tumeona, mara nyingi ina vigezo mitaa. 987 00:43:21,070 --> 00:43:24,560 Na ina ints masharti na na chars na kama. 988 00:43:24,560 --> 00:43:28,300 Hivyo kama mpango wako kwamba umeandika au mpango kwamba una 989 00:43:28,300 --> 00:43:33,680 mbili clicked kutumika baadhi ya vigezo ndani ya kuu, wanaishia katika 990 00:43:33,680 --> 00:43:37,020 chini ya stack yako ya kumbukumbu, hivyo kusema. 991 00:43:37,020 --> 00:43:39,160 Sasa zaidi concretely, nini hii kwa kweli ina maana gani? 992 00:43:39,160 --> 00:43:44,080 Hii ina maana kwamba kama sisi walikuwa wanakwenda kuweka namba mambo - 993 00:43:44,080 --> 00:43:49,380 ikiwa tulipokuwa tunakwenda idadi bytes ya RAM katika kompyuta yako, taarifa kwamba 994 00:43:49,380 --> 00:43:51,650 hii inaweza kuwa Byte idadi sifuri. 995 00:43:51,650 --> 00:43:56,130 Hii inaweza kuwa Byte namba moja, mbili, tatu, nne, tano, sita, kila 996 00:43:56,130 --> 00:43:57,290 njia ya juu na kama - 997 00:43:57,290 --> 00:44:01,520 Bilioni 2 itakuwa njia yote hadi pale saa ya juu. 998 00:44:01,520 --> 00:44:05,960 Hivyo kwa maneno mengine, wakati sisi majadiliano kuhusu RAM au kumbukumbu katika suala la ka, ni 999 00:44:05,960 --> 00:44:09,680 tu ina maana kwamba mtu imeamua nini kuzihesabu kila 1000 00:44:09,680 --> 00:44:11,110 wale chunks ya kumbukumbu. 1001 00:44:11,110 --> 00:44:16,950 >> Hivyo wakati unahitaji 32 bits kwa int, au unahitaji 8 bits kwa Char, ambapo 1002 00:44:16,950 --> 00:44:18,320 je, wao kuishia katika kumbukumbu? 1003 00:44:18,320 --> 00:44:20,650 Naam conceptually, wao tu kuishia chini ya hii 1004 00:44:20,650 --> 00:44:21,780 jambo hujulikana stack. 1005 00:44:21,780 --> 00:44:25,670 Lakini nini kuvutia sasa ni wakati kuu wito kazi. 1006 00:44:25,670 --> 00:44:28,830 Tuseme kazi kuitwa foo, tu jina holela. 1007 00:44:28,830 --> 00:44:32,480 Kinachotokea ni kuu ni chini ya hii stack ya kumbukumbu. 1008 00:44:32,480 --> 00:44:35,630 Foo sasa ni kuweka juu ya kuu katika kumbukumbu. 1009 00:44:35,630 --> 00:44:40,020 Hivyo yoyote vigezo vya ndani kuwa foo ina kuishia aina ya conceptually juu 1010 00:44:40,020 --> 00:44:40,770 wale katika kuu. 1011 00:44:40,770 --> 00:44:46,920 Kama foo wito kazi nyingine iitwayo bar, wale vigezo kuishia hapa. 1012 00:44:46,920 --> 00:44:49,790 Kama bar wito kitu kingine, hapa, hapa, hapa. 1013 00:44:49,790 --> 00:44:53,900 Basi nini kuvutia kuhusu mbio mpango ni kwamba kama wewe piga kazi, 1014 00:44:53,900 --> 00:44:57,720 na kama wale majukumu piga kazi, na kama wale majukumu piga kazi, 1015 00:44:57,720 --> 00:45:00,980 wewe kujenga hii stack ya utendaji katika kumbukumbu. 1016 00:45:00,980 --> 00:45:06,740 Na mara moja tu anarudi kazi gani unaweza kuanza kupata kwamba kumbukumbu nyuma. 1017 00:45:06,740 --> 00:45:11,190 Hivyo moja ya njia rahisi ya kukimbia nje ya kumbukumbu katika programu ya kompyuta ni kwa 1018 00:45:11,190 --> 00:45:14,170 kuandika kazi ambayo kamwe kurudi. 1019 00:45:14,170 --> 00:45:16,650 >> Hivyo kwa mfano, hebu kuonyesha kama mengi na 1020 00:45:16,650 --> 00:45:18,460 kukusudia Buggy mpango. 1021 00:45:18,460 --> 00:45:24,690 Hebu kwenda mbele na kufanya # pamoja , int kuu (utupu). 1022 00:45:24,690 --> 00:45:31,270 Na mimi naenda kufanya wakati (2> 1), ambayo pengine si milele 1023 00:45:31,270 --> 00:45:33,370 kubadilisha juu yetu. 1024 00:45:33,370 --> 00:45:37,720 Na napenda kwenda mbele sasa na kufanya printf. 1025 00:45:37,720 --> 00:45:39,950 Kwa kweli, kwamba kinaendelea kuwa chini ya kuibua kuvutia. 1026 00:45:39,950 --> 00:45:40,460 Hebu kufanya hili. 1027 00:45:40,460 --> 00:45:44,840 Kwa int (i = 0; i> 0). 1028 00:45:44,840 --> 00:45:49,740 Hebu tufanye hili kosa, i + +. 1029 00:45:49,740 --> 00:45:51,150 Na hebu printf hapa. 1030 00:45:51,150 --> 00:45:52,550 Hebu mazoezi nini nilikuwa akihubiri. 1031 00:45:52,550 --> 00:45:54,090 Hebu kuwa na mbinu hapa. 1032 00:45:54,090 --> 00:46:00,860 Tupu chorus, na tutaweza kusema int i. 1033 00:46:00,860 --> 00:46:02,295 Na kisha mimi nina kwenda kusema, printf - 1034 00:46:04,871 --> 00:46:06,790 oh, wacha kufanya hii ya kuvutia zaidi. 1035 00:46:06,790 --> 00:46:08,350 Hebu kweli si magazeti chochote wakati wote. 1036 00:46:08,350 --> 00:46:10,530 Hebu tu kufanya hili. 1037 00:46:10,530 --> 00:46:11,780 Chorus (i). 1038 00:46:16,630 --> 00:46:17,000 >> Wote haki. 1039 00:46:17,000 --> 00:46:20,040 Hivyo hii ni kwa sababu Buggy kwa nini? 1040 00:46:20,040 --> 00:46:22,850 Mimi nina kufanya hili kama mimi kwenda kwa sababu haina mpango kwa kweli kufanya kitu chochote 1041 00:46:22,850 --> 00:46:23,420 ya riba. 1042 00:46:23,420 --> 00:46:24,670 Lakini hilo sio lengo. 1043 00:46:24,670 --> 00:46:30,440 Lengo ni kuandika mpango ambao kuu kazi anafanya nini, inaonekana? 1044 00:46:30,440 --> 00:46:31,370 Wito yenyewe. 1045 00:46:31,370 --> 00:46:32,600 Na kweli, hatuna haja ya kitanzi. 1046 00:46:32,600 --> 00:46:36,070 Hebu hata kurahisisha hii tu ili kama si kupoteza mbele ya kweli 1047 00:46:36,070 --> 00:46:37,310 msingi mdudu. 1048 00:46:37,310 --> 00:46:39,200 Wito Kuu chorus kuimba baadhi chorus. 1049 00:46:39,200 --> 00:46:41,760 Kisha mimi alifanya kitu kijinga, na nilikuwa na chorus wito chorus kwa sababu mimi kudhani 1050 00:46:41,760 --> 00:46:43,550 mtu mwingine alikuwa anaenda kutekeleza hilo labda. 1051 00:46:43,550 --> 00:46:45,960 Na sasa hii si kwenda kukusanya bado. 1052 00:46:45,960 --> 00:46:48,340 Mimi haja ya kufanya nini? 1053 00:46:48,340 --> 00:46:49,700 Nahitaji mfano, kumbuka. 1054 00:46:49,700 --> 00:46:55,520 Kwa hiyo mimi haja ya kuwa juu hapa utupu chorus (int i);. 1055 00:46:55,520 --> 00:46:57,470 >> Hivyo sasa, kama mimi kwenda chini hapa - 1056 00:46:57,470 --> 00:46:59,030 kweli, hebu kutumia dirisha kubwa. 1057 00:46:59,030 --> 00:47:01,670 Hebu kwenda mbele na kufanya chorus. 1058 00:47:01,670 --> 00:47:06,000 Hebu kwenda mbele na kufanya chorus. 1059 00:47:06,000 --> 00:47:08,302 Matumizi ya declarer wasiojulikana i. 1060 00:47:08,302 --> 00:47:09,860 Oh, kwamba ilikuwa ya kijinga. 1061 00:47:09,860 --> 00:47:11,020 Hatuna haja ya hoja. 1062 00:47:11,020 --> 00:47:13,680 Hebu tu kufanya hili. 1063 00:47:13,680 --> 00:47:14,550 Wish tungeanza njia hii. 1064 00:47:14,550 --> 00:47:16,160 Ingekuwa mpango rahisi sana kuandika. 1065 00:47:16,160 --> 00:47:20,100 Hivyo kuna. 1066 00:47:20,100 --> 00:47:23,870 Sasa hebu kwenda juu kwa dirisha terminal yangu, re-kukimbia Clang. 1067 00:47:23,870 --> 00:47:26,900 Na hapa sisi kwenda. 1068 00:47:26,900 --> 00:47:28,020 Hiyo ilikuwa kweli kasi. 1069 00:47:28,020 --> 00:47:30,690 Ni nini hasa ilitokea tu, ingawa? 1070 00:47:30,690 --> 00:47:33,430 Naam, sasa mimi itabidi kuongeza line magazeti, ili tuweze kuona. 1071 00:47:33,430 --> 00:47:41,330 Hivyo basi mimi kusema printf, hebu sema, mimi niko katika hapa. 1072 00:47:41,330 --> 00:47:43,470 Sawa, hakuna vigezo, tutaweza kuondoka ni kama hiyo. 1073 00:47:43,470 --> 00:47:44,860 Hebu kuendesha upya kufanya. 1074 00:47:44,860 --> 00:47:47,940 Hebu re-kukimbia chorus. 1075 00:47:47,940 --> 00:47:51,235 Na kuja juu. 1076 00:47:53,880 --> 00:47:55,130 Kuendelea. 1077 00:47:57,630 --> 00:47:59,750 Kama kando, kwa nini kuwa si kugonga bado? 1078 00:47:59,750 --> 00:48:02,050 kosa segmentation kilichotokea super kufunga kabla. 1079 00:48:02,050 --> 00:48:04,250 [Inaudible] 1080 00:48:04,250 --> 00:48:04,830 DAVID J. Malan: Hasa. 1081 00:48:04,830 --> 00:48:06,350 Hivyo inachukua muda na magazeti. 1082 00:48:06,350 --> 00:48:08,370 Ni tu inachukua zaidi ya kazi juu ya sehemu ya kompyuta. 1083 00:48:08,370 --> 00:48:09,550 Na huko ni. 1084 00:48:09,550 --> 00:48:10,620 Mkato wa kosa. 1085 00:48:10,620 --> 00:48:12,140 >> Hivyo taarifa tu jinsi mipango haraka kukimbia. 1086 00:48:12,140 --> 00:48:14,110 Kama wewe si kuchapa chochote, super haraka. 1087 00:48:14,110 --> 00:48:18,100 Lakini sisi bado got hii kosa segmentation kwa sababu kile kinachotokea? 1088 00:48:18,100 --> 00:48:21,310 Naam, kama unafikiri juu ya jinsi ya kumbukumbu ya kompyuta yako ni kuweka nje, hii 1089 00:48:21,310 --> 00:48:22,890 hutokea kwa kuwa kuu. 1090 00:48:22,890 --> 00:48:23,800 Lakini hapa - 1091 00:48:23,800 --> 00:48:28,670 hebu piga tu hii chorus, na hebu piga hii chorus. 1092 00:48:28,670 --> 00:48:33,420 Na sasa kama mimi kufanya aesthetics wangu wa kulia, hii ni kwenda tu kusema chorus, 1093 00:48:33,420 --> 00:48:38,060 chorus, chorus, chorus, chorus, chorus, chorus, ad nauseum. 1094 00:48:38,060 --> 00:48:39,920 Na hatimaye, nini kitatokea? 1095 00:48:39,920 --> 00:48:46,690 Kama picha kubwa literally ni hili, ni nini hutokea tu conceptually? 1096 00:48:46,690 --> 00:48:48,320 kuongezeka stack lundo. 1097 00:48:48,320 --> 00:48:52,400 Au mbaya zaidi, wewe tu overrun kila kitu, ikiwa ni pamoja na sehemu asilia, ambayo ni 1098 00:48:52,400 --> 00:48:54,530 zeroes na wale kuwakilisha programu yako. 1099 00:48:54,530 --> 00:48:56,690 Kwa kifupi, hii ni super, super mbaya. 1100 00:48:56,690 --> 00:48:56,860 Haki? 1101 00:48:56,860 --> 00:48:58,620 Mpango wako kuzidi kuwa mbaya nje ya kudhibiti. 1102 00:48:58,620 --> 00:49:02,840 Unatumia zaidi njia kumbukumbu kuliko wewe lengo wote kwa sababu ya kijinga 1103 00:49:02,840 --> 00:49:03,920 makosa, katika kesi hii. 1104 00:49:03,920 --> 00:49:08,160 Au katika kesi hii, kazi sana kwa makusudi kufanyika linalojiita. 1105 00:49:08,160 --> 00:49:09,210 Sasa hii si wote mbaya. 1106 00:49:09,210 --> 00:49:12,540 Kazi wito wenyewe kweli ina nguvu kubwa 1107 00:49:12,540 --> 00:49:13,700 wakati matumizi kwa usahihi. 1108 00:49:13,700 --> 00:49:15,650 Mimi si kutumika kwa usahihi hapa. 1109 00:49:15,650 --> 00:49:16,940 >> Hivyo hii si wote mbaya. 1110 00:49:16,940 --> 00:49:20,620 Lakini ukweli kwamba mimi kweli kamwe kuacha wito mwenyewe ni msingi 1111 00:49:20,620 --> 00:49:23,050 udhaifu hapa na mpango huu. 1112 00:49:23,050 --> 00:49:25,090 Hivyo ambapo ni sisi kwenda kwa yote haya? 1113 00:49:25,090 --> 00:49:26,230 Naam, ni nini kweli yanatokea? 1114 00:49:26,230 --> 00:49:30,010 Wakati mimi piga kazi increment, kama sisi walikuwa wakifanya katika mifano hizo, 1115 00:49:30,010 --> 00:49:33,290 Nina thamani kama 1 kwamba mimi kupita in 1116 00:49:33,290 --> 00:49:35,820 Mimi kupita katika nakala ya namba moja. 1117 00:49:35,820 --> 00:49:37,080 Hivyo zifuatazo kinachotokea. 1118 00:49:37,080 --> 00:49:40,390 Basi hebu kwenda katika mfano increment. 1119 00:49:40,390 --> 00:49:44,230 Na hii guy haki zaidi ya hapa. 1120 00:49:44,230 --> 00:49:46,800 Hivyo hapa ni nini kweli yanatokea. 1121 00:49:46,800 --> 00:49:50,770 Wakati mimi aitwaye increment, na mimi kupita katika x, pictorially nini 1122 00:49:50,770 --> 00:49:53,660 kinachoendelea hapa ni hii - 1123 00:49:53,660 --> 00:50:00,240 kama mimi kuwa thamani ya 1 kuhifadhiwa hapa, na mimi kwa kweli kuwaita increment, ambayo 1124 00:50:00,240 --> 00:50:02,680 sasa inaitwa chorus - 1125 00:50:02,680 --> 00:50:04,010 yeah, kwamba ni kutupa mimi mbali hapa. 1126 00:50:04,010 --> 00:50:06,750 Basi hebu piga hii increment. 1127 00:50:06,750 --> 00:50:09,420 Na sisi hawajui nini kazi hii ijayo kitakachokuwapo. 1128 00:50:09,420 --> 00:50:14,270 Basi nini hasa kinachotokea ni hapa mahali fulani katika kuu, nina chunk ya 1129 00:50:14,270 --> 00:50:16,670 kumbukumbu kwamba ni hifadhi ya namba 1. 1130 00:50:16,670 --> 00:50:19,730 Wakati mimi kuwaita increment, mimi nina kutumia mwingine chunk ya kumbukumbu, lakini sasa mimi 1131 00:50:19,730 --> 00:50:20,840 kuwa na nakala ya 1. 1132 00:50:20,840 --> 00:50:25,480 Wakati mimi increment kwamba thamani, hii inakuwa 2 - horribly yameandikwa juu ya 1133 00:50:25,480 --> 00:50:26,420 screen hapa. 1134 00:50:26,420 --> 00:50:30,550 Lakini basi, kile kinachotokea kwa haraka kama anarudi increment? 1135 00:50:30,550 --> 00:50:34,610 Kumbukumbu hii tu anapata mitupu nyuma mfumo wa uendeshaji, ambayo ina maana wote 1136 00:50:34,610 --> 00:50:37,470 umefanya kosa ni kitu muhimu. 1137 00:50:37,470 --> 00:50:43,460 moja kuwa awali ilikuwa zilizomo katika kuu ni kweli bado kuna. 1138 00:50:43,460 --> 00:50:44,650 >> Hivyo ambapo ni sisi kwenda na hili? 1139 00:50:44,650 --> 00:50:49,400 Naam, ni zinageuka kuwa katika kumbukumbu una nyuma hii kuunga mlolongo wa 1140 00:50:49,400 --> 00:50:50,940 ka kuwa unaweza kuweka mambo in 1141 00:50:50,940 --> 00:50:53,760 Na zinageuka kuwa tumekuwa tayari kuona kitu ambacho inahusisha kuweka 1142 00:50:53,760 --> 00:50:55,100 mambo nyuma kwa nyuma kwa nyuma kwa nyuma. 1143 00:50:55,100 --> 00:51:00,170 Je, ni kamba, kwa kuzingatia wiki moja na sasa wiki mbili? 1144 00:51:00,170 --> 00:51:01,840 Hivyo ni tu mkusanyiko wa wahusika. 1145 00:51:01,840 --> 00:51:05,290 Hivyo ni zamu nje, kama tu unaweza kuweka namba katika kumbukumbu, vile vile unaweza 1146 00:51:05,290 --> 00:51:06,900 kuweka wahusika katika kumbukumbu. 1147 00:51:06,900 --> 00:51:09,810 Na mara moja tunaanza wahusika kuweka katika kumbukumbu nyuma kwa nyuma kwa nyuma kwa 1148 00:51:09,810 --> 00:51:12,800 nyuma, ni zinageuka kuwa kutumia rahisi ya mambo kama kwa kitanzi au 1149 00:51:12,800 --> 00:51:14,510 kitanzi wakati, tunaweza iterate - 1150 00:51:14,510 --> 00:51:17,130 kutoka kushoto kwenda kulia juu ya wahusika katika string - 1151 00:51:17,130 --> 00:51:20,720 na kuanza massaging yao ndani ya wahusika tofauti kabisa. 1152 00:51:20,720 --> 00:51:25,550 inaweza kuwa B. B inaweza kuwa C. Hivyo kwamba hatimaye, tunaweza kuchukua 1153 00:51:25,550 --> 00:51:28,830 Kiingereza sentensi ambayo kwa kweli inafanya hisia na kubadilisha kila mmoja wa wale 1154 00:51:28,830 --> 00:51:32,440 barua moja kwa wakati mmoja kutembea kupitia kumbukumbu ya kompyuta wetu wa kushoto na 1155 00:51:32,440 --> 00:51:34,300 haki ya kweli encrypt. 1156 00:51:34,300 --> 00:51:36,590 >> Basi hebu kuchukua yetu dakika tano mapumziko hapa, na wakati sisi kuja nyuma, tutaweza 1157 00:51:36,590 --> 00:51:39,060 kuanza mchakato huu wa scrambling habari. 1158 00:51:41,640 --> 00:51:43,180 >> Wote haki. 1159 00:51:43,180 --> 00:51:48,440 Hivyo kabla ya sisi kupiga mbizi katika baadhi crypto na mambo haya kuitwa arrays, napenda 1160 00:51:48,440 --> 00:51:51,610 pause kwa maswali yoyote kwa sababu mimi najisikia kama kweli aina ya msonge baadhi ya 1161 00:51:51,610 --> 00:51:52,230 wale mada. 1162 00:51:52,230 --> 00:51:53,940 Basi hebu kurekebisha sasa kama tunaweza. 1163 00:51:53,940 --> 00:51:56,480 Hivyo sisi tu kuongelea maadili kurudi. 1164 00:51:56,480 --> 00:51:58,630 Kuongelea hoja. 1165 00:51:58,630 --> 00:52:02,330 Na kuongelea wazo hili, ambayo tutaweza kurudi katika wiki 1166 00:52:02,330 --> 00:52:07,140 kuja, ya kuangalia kumbukumbu kama rundo zima la hizi Stacked 1167 00:52:07,140 --> 00:52:08,540 trays, hivyo kusema. 1168 00:52:08,540 --> 00:52:13,460 Kutoka chini juu juu, vile kwamba kila tray kwamba anapata kuweka kwenye stack inawakilisha 1169 00:52:13,460 --> 00:52:15,160 kazi hiyo kwa sasa kuitwa. 1170 00:52:17,970 --> 00:52:20,300 Maswali yoyote? 1171 00:52:20,300 --> 00:52:22,890 Hivyo jinsi juu - basi mimi jaribu kuuliza swali. 1172 00:52:22,890 --> 00:52:25,520 Mimi kushika kuiaribu kwamba, lakini sasa it's - you've wote kuonekana uso wa kijana. 1173 00:52:25,520 --> 00:52:27,020 Hivyo tutaweza kuja nyuma na kwamba. 1174 00:52:27,020 --> 00:52:29,700 >> Hivyo basi mimi kuuliza swali hapa. 1175 00:52:29,700 --> 00:52:34,810 Hebu kurahisisha hii nyuma ilikuwa ni nini kabla ya baadhi ya Q & A. yetu mapema 1176 00:52:34,810 --> 00:52:41,730 Na ukweli kwamba increment ina mabano wazi, int idadi, imefungwa 1177 00:52:41,730 --> 00:52:42,260 mabano. 1178 00:52:42,260 --> 00:52:46,370 Je idadi int kuwakilisha? 1179 00:52:46,370 --> 00:52:47,250 [Inaudible] 1180 00:52:47,250 --> 00:52:47,870 DAVID J. Malan: hoja. 1181 00:52:47,870 --> 00:52:50,732 Sawa, lakini yale ya hoja? 1182 00:52:50,732 --> 00:52:51,620 [Inaudible] 1183 00:52:51,620 --> 00:52:52,500 DAVID J. Malan: Samahani, nini hiyo? 1184 00:52:52,500 --> 00:52:53,150 SPIKA 3: Kitu wewe kupita in 1185 00:52:53,150 --> 00:52:53,570 DAVID J. Malan: Okay. 1186 00:52:53,570 --> 00:52:54,780 Hivyo kitu ambacho wewe kupita in 1187 00:52:54,780 --> 00:52:56,560 Na kwa ujumla zaidi, ni tu pembejeo. 1188 00:52:56,560 --> 00:52:59,860 Kama wewe ni kuandika kazi na madhumuni kwamba kazi katika maisha ni kufanya 1189 00:52:59,860 --> 00:53:03,290 kitu kidogo tofauti kila wakati kuitumia, basi njia pekee kwa 1190 00:53:03,290 --> 00:53:07,710 kwamba kutokea kwa kweli inaweza kuonekana kuwa kutoa ni pamoja na pembejeo ili 1191 00:53:07,710 --> 00:53:10,180 wanaweza kufanya kitu tofauti na pembejeo kwamba kila wakati. 1192 00:53:10,180 --> 00:53:13,590 >> Hivyo haja ya kutaja mambo mawili wakati kazi inachukua pembejeo. 1193 00:53:13,590 --> 00:53:17,240 Unahitaji kubainisha jina kwamba unataka kutoa mchango kwamba, rena kwa 1194 00:53:17,240 --> 00:53:20,790 urahisi wako mwenyewe ili uweze rejea ni katika kazi kwamba wewe 1195 00:53:20,790 --> 00:53:23,610 mwenyewe ni kuandika, kama mimi hapa katika mstari 32. 1196 00:53:23,610 --> 00:53:27,840 Lakini pia unahitaji kwa kutaja aina yake kwa sababu C ni lugha ya programu 1197 00:53:27,840 --> 00:53:28,840 kwamba tu inahitaji 1198 00:53:28,840 --> 00:53:31,810 kwamba kama unataka variable, mniambie kompyuta nini 1199 00:53:31,810 --> 00:53:32,790 data aina hiyo ni, 1200 00:53:32,790 --> 00:53:35,540 katika sehemu kubwa hivyo kwamba anajua bits ngapi kwa 1201 00:53:35,540 --> 00:53:37,230 kutenga kwa variable kwamba. 1202 00:53:37,230 --> 00:53:38,600 Kwa sababu inaweza kuwa sita - 1203 00:53:38,600 --> 00:53:39,990 sorry, itakuwa si sita. 1204 00:53:39,990 --> 00:53:41,050 Inaweza kuwa 16. 1205 00:53:41,050 --> 00:53:41,630 Inaweza kuwa 8. 1206 00:53:41,630 --> 00:53:44,410 Inaweza kuwa 32, hata 64. 1207 00:53:44,410 --> 00:53:45,820 Lakini kompyuta mahitaji ya kujua. 1208 00:53:45,820 --> 00:53:49,110 Sasa int upande wa kushoto inawakilisha nini, kwa kulinganisha? 1209 00:53:52,825 --> 00:53:53,780 [Inaudible] 1210 00:53:53,780 --> 00:53:54,570 DAVID J. Malan: Nini hiyo? 1211 00:53:54,570 --> 00:53:55,390 [Inaudible] 1212 00:53:55,390 --> 00:53:57,920 DAVID J. Malan: aina ya kazi na, zaidi hasa, 1213 00:53:57,920 --> 00:53:59,755 aina ya pato lake. 1214 00:53:59,755 --> 00:54:00,220 Haki. 1215 00:54:00,220 --> 00:54:04,220 Hivyo wakati kitu katika mabano inawakilisha mchango wake, kama wapo, 1216 00:54:04,220 --> 00:54:06,640 kitu kwa upande wa kushoto inawakilisha matokeo yake. 1217 00:54:06,640 --> 00:54:10,560 Na katika kesi hii, inaonekana increment anarudi int. 1218 00:54:10,560 --> 00:54:14,590 Na hivyo int ni aina ya kurudi kwa kazi hii. 1219 00:54:14,590 --> 00:54:16,090 >> Nini maana ya kurudi? 1220 00:54:16,090 --> 00:54:19,810 Literally, wewe kutumia kurudi Keyword. 1221 00:54:19,810 --> 00:54:24,640 Na kisha kama nini wewe ni kurudi na haki ya Keyword ni 1222 00:54:24,640 --> 00:54:28,340 integer, basi hakika hivyo ni sambamba na kile sisi ahadi. 1223 00:54:28,340 --> 00:54:31,110 Unaweza si kufanya kitu kama hii - 1224 00:54:31,110 --> 00:54:32,280 hello, dunia - 1225 00:54:32,280 --> 00:54:33,500 sababu ni kamba. 1226 00:54:33,500 --> 00:54:35,440 Ni dhahiri kuwa si integer. 1227 00:54:35,440 --> 00:54:40,450 Hivyo katika muda mfupi, ni mzigo kweli juu yetu, programu, kwa kuwa maalum kama 1228 00:54:40,450 --> 00:54:44,730 kwa nini tuko kurudi na kisha kweli kwenda kuhusu kurudi yake. 1229 00:54:44,730 --> 00:54:49,030 Na kisha kufanya tad zaidi wazi muktadha - 1230 00:54:49,030 --> 00:54:50,080 huko yeye ni tena. 1231 00:54:50,080 --> 00:54:51,060 muktadha - 1232 00:54:51,060 --> 00:54:52,830 mshangao kubwa kuja muda tu. 1233 00:54:52,830 --> 00:54:57,720 muktadha hapa sasa ni kwamba kumbukumbu ya kompyuta yako ni, tena, 1234 00:54:57,720 --> 00:54:59,070 gigabyte, gigabytes mbili, chochote. 1235 00:54:59,070 --> 00:54:59,630 Labda ni zaidi. 1236 00:54:59,630 --> 00:55:00,540 Labda ni kidogo. 1237 00:55:00,540 --> 00:55:03,750 Lakini kompyuta maoni yake kama kuwa na sehemu mbalimbali. 1238 00:55:03,750 --> 00:55:04,860 Kitu huenda chini pale. 1239 00:55:04,860 --> 00:55:06,020 Kitu kingine huenda juu huko. 1240 00:55:06,020 --> 00:55:07,540 Mambo mbalimbali huenda katikati. 1241 00:55:07,540 --> 00:55:09,300 Na leo, sisi tu kuanza kuwaambia hadithi hii. 1242 00:55:09,300 --> 00:55:11,130 >> Lakini tutaweza kuja nyuma wakati huu zaidi. 1243 00:55:11,130 --> 00:55:15,000 Kwa sasa, kipande tu ya kumbukumbu sisi kweli huduma kuhusu ni sehemu asilia 1244 00:55:15,000 --> 00:55:17,160 kwa sababu tu kwamba inawakilisha zeroes na wale 1245 00:55:17,160 --> 00:55:18,460 kwamba Clang ina outputted. 1246 00:55:18,460 --> 00:55:21,570 Hivyo wakati wewe kukimbia amri katika keyboard kama a.out, au wewe mara mbili 1247 00:55:21,570 --> 00:55:25,350 bonyeza icon kwenye Mac OS au Windows, programu yako s kubeba kutoka ngumu yako 1248 00:55:25,350 --> 00:55:26,930 gari ndani ya RAM. 1249 00:55:26,930 --> 00:55:30,850 Na ni plopped wakati juu ya RAM ya kompyuta yako, hivyo kusema. 1250 00:55:30,850 --> 00:55:35,470 Sasa wakati huo huo, kama mpango wako na kuanza mbio kuu anapata kuitwa katika 1251 00:55:35,470 --> 00:55:39,240 mpango aliandika au Microsoft mpango au Apple aliandika, yoyote ya yake 1252 00:55:39,240 --> 00:55:42,930 vigezo mitaa kuishia chini huko chini ya kumbukumbu ya kompyuta yako. 1253 00:55:42,930 --> 00:55:46,490 Lakini kama kuu wito kazi nyingine ya kwamba yenyewe ina vigezo au 1254 00:55:46,490 --> 00:55:48,340 hoja, wanaishia hapo juu. 1255 00:55:48,340 --> 00:55:50,670 Na kama kazi kwamba wito kitu, wanaishia hapo juu, 1256 00:55:50,670 --> 00:55:51,840 juu yake, juu yake. 1257 00:55:51,840 --> 00:55:56,100 Na mara moja tu kazi inafanywa utekelezaji gani stack ya trays, hivyo 1258 00:55:56,100 --> 00:55:58,320 kuzungumza, kuanza kupata chini na chini. 1259 00:55:58,320 --> 00:56:03,370 Na hii ni nini basi, kwa kifupi, anaelezea kwa nini, wakati wewe piga Cube - 1260 00:56:03,370 --> 00:56:04,660 au wewe piga increment - 1261 00:56:04,660 --> 00:56:06,490 wewe ni kupita katika nakala ya thamani. 1262 00:56:06,490 --> 00:56:09,840 Na nini maana ya pictorially ni kwamba wewe ni literally kuandika 1263 00:56:09,840 --> 00:56:14,540 namba 1 katika sehemu nyingine ya kumbukumbu, kubadilisha kwamba 1-2, katika kesi ya 1264 00:56:14,540 --> 00:56:15,360 increment - 1265 00:56:15,360 --> 00:56:17,450 au 8, katika kesi ya mchemraba - 1266 00:56:17,450 --> 00:56:21,450 na kisha kutupa kwamba kumbukumbu mbali mara increment au mchemraba 1267 00:56:21,450 --> 00:56:23,410 kazi anarudi. 1268 00:56:23,410 --> 00:56:24,267 >> Swali. 1269 00:56:24,267 --> 00:56:25,517 [Inaudible] 1270 00:56:28,090 --> 00:56:29,970 DAVID J. Malan: wapi - vigezo kimataifa ni kuhifadhiwa katika nini 1271 00:56:29,970 --> 00:56:32,960 sasa inaitwa data initialized au data uninitialized. 1272 00:56:32,960 --> 00:56:35,900 tofauti kuwa, kama una variable kimataifa, na wewe ni hawawajui 1273 00:56:35,900 --> 00:56:39,530 mara moja kwa thamani sawa na saini, inaishia katika juu huko. 1274 00:56:39,530 --> 00:56:43,390 Na kama wewe tu kusema int x semicolon na thamani hakuna, ni mwisho juu kidogo 1275 00:56:43,390 --> 00:56:46,670 chini katika RAM tu kwa mkataba. 1276 00:56:46,670 --> 00:56:49,308 Maswali mengine. 1277 00:56:49,308 --> 00:56:49,750 Wote haki. 1278 00:56:49,750 --> 00:56:53,040 >> Hivyo picha hii kuja nyuma kama sisi kupata nguvu zaidi na nini tunaweza kufanya 1279 00:56:53,040 --> 00:56:53,830 na kompyuta. 1280 00:56:53,830 --> 00:56:58,790 Lakini kwa sasa, hebu kuwa intro mafupi kwa cryptography, aina maalum ya 1281 00:56:58,790 --> 00:57:01,910 cryptography kwamba haina kutatua matatizo yote ya duniani lakini haina kutatua 1282 00:57:01,910 --> 00:57:02,480 baadhi yao. 1283 00:57:02,480 --> 00:57:06,090 Katika kesi hii hapa, tuna kitu kinachoitwa siri muhimu cryptography. 1284 00:57:06,090 --> 00:57:10,430 Na ufunguo wa siri cryptography, kama jina linavyosema, hupata usalama wake 1285 00:57:10,430 --> 00:57:11,330 kutoka siri. 1286 00:57:11,330 --> 00:57:14,720 Hivyo kwa mfano, kama wewe uko nyuma katika shule ya daraja na wewe ni kupita 1287 00:57:14,720 --> 00:57:18,040 kidogo siri upendo barua kwa mvulana au msichana wewe ni juu ya kusagwa - kama wewe 1288 00:57:18,040 --> 00:57:20,820 alitaka kupita kwamba kwa njia ya watazamaji, wewe pengine bila kuandika 1289 00:57:20,820 --> 00:57:24,120 kumbuka vile katika Kiingereza au lugha yoyote yako ya asili ni, badala yake, ninyi 1290 00:57:24,120 --> 00:57:25,800 wapate encrypt yake. 1291 00:57:25,800 --> 00:57:27,820 Au unaweza kutuma tu ujumbe wa maandishi yao siku hizi. 1292 00:57:27,820 --> 00:57:30,310 Lakini wewe ili kweli kupita yao note katika darasa. 1293 00:57:30,310 --> 00:57:33,820 Na kwa kufanya hivyo kwa usalama, kwa namna kwamba rafiki yako na mwalimu 1294 00:57:33,820 --> 00:57:36,820 sijui nini wewe kuandika, unaweza kuja na haki rahisi 1295 00:57:36,820 --> 00:57:37,800 algorithm - 1296 00:57:37,800 --> 00:57:39,290 vijana ingawa unaweza kuwa - 1297 00:57:39,290 --> 00:57:40,780 tu kinyang'anyiro maneno. 1298 00:57:40,780 --> 00:57:44,390 Hivyo badala ya kuandika, unaweza kuandika B. Badala ya B, unaweza kuandika 1299 00:57:44,390 --> 00:57:46,670 C. Badala ya C, unaweza kuandika D, na kadhalika. 1300 00:57:46,670 --> 00:57:50,020 Au unaweza kuja na tafsiri ya kisasa zaidi ya barua 1301 00:57:50,020 --> 00:57:51,300 kwa barua tofauti. 1302 00:57:51,300 --> 00:57:55,440 Lakini catch ni mvulana au msichana ambaye wewe ni kutuma kumbuka hii inahitaji 1303 00:57:55,440 --> 00:57:56,850 kujua kitu. 1304 00:57:56,850 --> 00:57:59,620 Ambayo ni nini, ni wazi? 1305 00:57:59,620 --> 00:58:01,400 Kama, nini siri yako ni. 1306 00:58:01,400 --> 00:58:04,620 Kama, nini ni kwamba kati ya ramani Kama na Bs na Cs na Ds? 1307 00:58:04,620 --> 00:58:08,780 Je, ni kuongeza tu moja, ili kuzungumza, kwa kila mmoja wa barua kwenda kutoka 1308 00:58:08,780 --> 00:58:09,730 A na B, B na C? 1309 00:58:09,730 --> 00:58:11,350 Je, ni ngumu zaidi kuliko hiyo? 1310 00:58:11,350 --> 00:58:16,450 Hivyo wewe na kuponda yako haja ya kuwa na habari hii kwa siri. 1311 00:58:16,450 --> 00:58:18,170 Lakini kuna aina ya samaki wanaovuliwa-22 hapa. 1312 00:58:18,170 --> 00:58:20,760 Kama hii ni mara ya kwanza wewe ni kutuma barua hii upendo kwa njia ya 1313 00:58:20,760 --> 00:58:25,590 darasa, ni jinsi gani kwamba kijana au msichana kwenda kujua nini siri hata ni? 1314 00:58:25,590 --> 00:58:28,450 Hivyo ufunguo wa siri crypto haina kutatua matatizo yote ya dunia. 1315 00:58:28,450 --> 00:58:30,490 Na kuna uhusiano kweli kwamba tutaweza kurudi kuelekea 1316 00:58:30,490 --> 00:58:31,370 muhula wa mwisho. 1317 00:58:31,370 --> 00:58:35,970 >> Vile vile, na hakuna hata mmoja wetu pengine milele alimtuma - 1318 00:58:35,970 --> 00:58:39,453 vile vile, je, wengi wetu si kujua kwamba mtu anafanya kazi, kwa mfano, katika 1319 00:58:39,453 --> 00:58:40,300 Amazon.com. 1320 00:58:40,300 --> 00:58:43,130 Na bado, wengi wetu pengine kununuliwa stuff saa Amazon.com. 1321 00:58:43,130 --> 00:58:45,670 Na tumekuwa kufundishwa kwa kudhani kwamba hawa e-biashara 1322 00:58:45,670 --> 00:58:47,060 mashirikiano ni salama. 1323 00:58:47,060 --> 00:58:47,210 Haki? 1324 00:58:47,210 --> 00:58:49,310 URL pengine anasema https. 1325 00:58:49,310 --> 00:58:51,590 Kuna labda silly kidogo kufuli icon mahali fulani. 1326 00:58:51,590 --> 00:58:54,680 Kuna baadhi ya aina ya cryptography kupata kadi yako ya habari 1327 00:58:54,680 --> 00:58:56,980 kati ya wewe na Amazon.com. 1328 00:58:56,980 --> 00:59:00,410 Na bado, kama cryptography inahusisha kujua baadhi ya siri, na bado mimi si 1329 00:59:00,410 --> 00:59:03,330 kujua mtu yeyote katika Amazon, na nimekuwa hakika si mpangilio wa aina yoyote 1330 00:59:03,330 --> 00:59:07,350 siri kwa mtu saa Amazon, ni jinsi gani kompyuta yangu au browser yangu kufanya hili? 1331 00:59:07,350 --> 00:59:10,100 Naam, zinageuka kuna aina nyingine ya cryptography kabisa kwamba kutatua 1332 00:59:10,100 --> 00:59:10,740 kwamba tatizo. 1333 00:59:10,740 --> 00:59:13,610 Lakini kwa leo, tutaweza kuzingatia moja rahisi, ambapo unaweza kupanga katika 1334 00:59:13,610 --> 00:59:18,480 mapema ili kujua baadhi ya siri, kama plus 1 au baadhi ya ramani kati Kama na Bs. 1335 00:59:18,480 --> 00:59:20,710 >> Na mchakato wa cryptography ujumla unahusisha hii. 1336 00:59:20,710 --> 00:59:23,550 Una baadhi Nakala wazi, taswira ya hapa upande wa kushoto. 1337 00:59:23,550 --> 00:59:26,260 Wewe kukimbia kwa njia ya aina fulani ya algorithm au utaratibu 1338 00:59:26,260 --> 00:59:27,670 kwa encrypting yake. 1339 00:59:27,670 --> 00:59:31,390 Labda hiyo tu inakuwa B, B inakuwa C. Na kisha kuishia na 1340 00:59:31,390 --> 00:59:32,260 cipher maandishi. 1341 00:59:32,260 --> 00:59:36,450 Wakati huo huo, mara kuponda yako inapata kumbuka siri, yeye au yeye ana kisha 1342 00:59:36,450 --> 00:59:39,950 kuisimbua kwa ujumla kupunguza kwamba algorithm ili kupata 1343 00:59:39,950 --> 00:59:41,640 nyuma Nakala wazi. 1344 00:59:41,640 --> 00:59:43,860 Sasa kuna incarnations ya kimwili ya hili. 1345 00:59:43,860 --> 00:59:46,720 Kwa mfano, hii ni kidogo siri avkodare pete. 1346 00:59:46,720 --> 00:59:50,060 Na hii ni pete katika maana ya kwamba kuna wawili dials hapa. 1347 00:59:50,060 --> 00:59:53,630 On pembezoni nje ya jambo hili, kuna barua kupitia Z, 1348 00:59:53,630 --> 00:59:55,110 ingawa wao ni ili random. 1349 00:59:55,110 --> 00:59:58,410 Na juu ya ndani, kuna baadhi ya kweli idadi, kwamba vile na hii 1350 00:59:58,410 --> 01:00:02,940 pete, unaweza aina ya kugeuka nje lakini si ndani ili yaendane 1351 01:00:02,940 --> 01:00:04,110 idadi na barua. 1352 01:00:04,110 --> 01:00:08,290 Na katika video uko juu ya kuona - baadhi ya ambayo unaweza tumeona 24/7 1353 01:00:08,290 --> 01:00:11,120 karibu msimu wa Krismasi kutoka movie inayoitwa Story Krismasi. 1354 01:00:11,120 --> 01:00:16,050 Utaona kwamba Ralphie mdogo alikuwa na shauku kubwa kufikiri kile kidogo yatima 1355 01:00:16,050 --> 01:00:19,810 Annie ujumbe wa siri ilikuwa yeye alikuwa aliwasiliana, nadhani, katika 1356 01:00:19,810 --> 01:00:22,810 kuunda ya ujumbe numeric juu ya sanduku Serial. 1357 01:00:22,810 --> 01:00:26,760 Na wewe alikuwa na kujilimbikiza kadi zote kidogo kwamba alikuja 1358 01:00:26,760 --> 01:00:27,480 katika sanduku ya nafaka. 1359 01:00:27,480 --> 01:00:28,320 Ilikupasa mail wasitoke 1360 01:00:28,320 --> 01:00:31,060 You alikuwa kupata nyuma siri avkodare pete, hivyo kwamba unaweza hatimaye takwimu 1361 01:00:31,060 --> 01:00:34,190 nje nini ramani ni kati ya herufi na namba, 1362 01:00:34,190 --> 01:00:35,420 au barua na barua. 1363 01:00:35,420 --> 01:00:39,790 Basi, mimi kukupa hii clip fupi kutoka Story Krismasi kuwahamasisha pset 2 na 1364 01:00:39,790 --> 01:00:42,340 mjadala wetu, katika wakati huu, ya arrays. 1365 01:00:42,340 --> 01:00:43,773 Hivyo hapa tuna Ralphie. 1366 01:00:43,773 --> 01:00:44,126 >> [VIDEO avspelning] 1367 01:00:44,126 --> 01:00:47,470 -Ijulikane kwa wote na sundry kwamba Parker Ralph inatolewa kuteuliwa 1368 01:00:47,470 --> 01:00:50,690 mwanachama wa Little Circle Yatima Annie Secret na ni haki ya wote 1369 01:00:50,690 --> 01:00:53,500 heshima na faida zinazotokea lazimishwa. 1370 01:00:53,500 --> 01:00:56,040 -Imesainiwa, Little Yatima Annie. 1371 01:00:56,040 --> 01:00:58,730 Countersigned, Pierre Andre! 1372 01:00:58,730 --> 01:01:00,150 Katika wino! 1373 01:01:00,150 --> 01:01:02,910 Heshima na faida, tayari katika umri wa miaka tisa. 1374 01:01:09,970 --> 01:01:10,730 Haya, hebu kupata tarehe na hayo. 1375 01:01:10,730 --> 01:01:15,000 Sihitaji jazz kwamba wote kuhusu smugglers na maharamia. 1376 01:01:15,000 --> 01:01:17,624 -Sikiliza kesho usiku kwa adventure kuhitimisha ya Black 1377 01:01:17,624 --> 01:01:19,710 Pirate meli. 1378 01:01:19,710 --> 01:01:23,380 Sasa ni wakati kwa ajili ya ujumbe wa siri Annie kwa wewe wanachama 1379 01:01:23,380 --> 01:01:25,670 ya Circle Secret. 1380 01:01:25,670 --> 01:01:30,260 Kumbuka, watoto, wanachama tu wa Circle Annie ya siri unaweza Decode 1381 01:01:30,260 --> 01:01:31,660 Annie ya siri ya ujumbe. 1382 01:01:31,660 --> 01:01:36,230 Kumbuka, Annie ni kutegemea wewe. 1383 01:01:36,230 --> 01:01:38,720 Kuweka pini wako B2. 1384 01:01:38,720 --> 01:01:41,040 Hapa ni ujumbe. 1385 01:01:41,040 --> 01:01:42,470 12, 11 - 1386 01:01:42,470 --> 01:01:46,000 -I am katika mkutano wangu kwanza siri. 1387 01:01:46,000 --> 01:01:49,440 -14, 11, 18, 16 - 1388 01:01:49,440 --> 01:01:51,700 -Pierre ilikuwa katika usiku wa leo kubwa sauti. 1389 01:01:51,700 --> 01:01:54,890 Mimi naweza kukuambia kwamba ujumbe usiku huu ilikuwa kweli ni muhimu. 1390 01:01:54,890 --> 01:01:56,750 -3, 25. 1391 01:01:56,750 --> 01:01:58,590 Hiyo ni ujumbe kutoka Annie mwenyewe. 1392 01:01:58,590 --> 01:01:59,840 Kumbuka, usimwambie mtu yeyote. 1393 01:02:04,570 --> 01:02:08,750 -90 Seconds baadaye, mimi niko katika chumba tu katika nyumba ambapo kijana wa tisa 1394 01:02:08,750 --> 01:02:12,980 wanaweza kukaa katika faragha na Decode. 1395 01:02:12,980 --> 01:02:17,130 Aha, B. nilikwenda ijayo. 1396 01:02:17,130 --> 01:02:20,330 E. neno la kwanza ni kuwa. 1397 01:02:20,330 --> 01:02:22,670 S. Ni rahisi alikuwa anakuja sasa. 1398 01:02:22,670 --> 01:02:24,590 U. 1399 01:02:24,590 --> 01:02:26,510 -Oh, kuja juu, Ralphie. 1400 01:02:26,510 --> 01:02:28,430 I got kwenda. 1401 01:02:28,430 --> 01:02:30,350 -I'll kuwa na haki chini, ma. 1402 01:02:30,350 --> 01:02:33,720 -Gee whiz. 1403 01:02:33,720 --> 01:02:38,270 -T, O. Kuwa na uhakika wa. 1404 01:02:38,270 --> 01:02:40,000 Kuwa na uhakika wa nini? 1405 01:02:40,000 --> 01:02:42,105 Nini ilikuwa Little Yatima Annie anajaribu kusema nini? 1406 01:02:42,105 --> 01:02:43,095 Kuwa na uhakika wa nini? 1407 01:02:43,095 --> 01:02:43,590 -Ralphie! 1408 01:02:43,590 --> 01:02:44,580 Randy ina got kwenda. 1409 01:02:44,580 --> 01:02:45,570 Je, tafadhali kuja nje? 1410 01:02:45,570 --> 01:02:46,560 -All haki, ma. 1411 01:02:46,560 --> 01:02:48,540 Nitakuwa haki ya nje. 1412 01:02:48,540 --> 01:02:50,580 -Mimi nilikuwa kupata karibu sasa. 1413 01:02:50,580 --> 01:02:52,550 mvutano ilikuwa ya kutisha. 1414 01:02:52,550 --> 01:02:53,355 Ni ipi? 1415 01:02:53,355 --> 01:02:56,315 hatima ya sayari inaweza hutegemea katika mizani. 1416 01:02:56,315 --> 01:02:56,790 -Ralphie! 1417 01:02:56,790 --> 01:02:59,165 Randy got kwenda. 1418 01:02:59,165 --> 01:03:02,310 -I'll kuwa haki ya nje, kwa kelele kubwa. 1419 01:03:02,310 --> 01:03:04,000 -Gee, karibu huko. 1420 01:03:04,000 --> 01:03:05,180 Vidole yangu akaruka. 1421 01:03:05,180 --> 01:03:07,150 Akili yangu ilikuwa mtego chuma. 1422 01:03:07,150 --> 01:03:08,790 Pore ​​kila vibrated. 1423 01:03:08,790 --> 01:03:10,040 Ilikuwa karibu wazi. 1424 01:03:10,040 --> 01:03:13,400 Ndiyo, ndiyo, ndiyo, ndiyo. 1425 01:03:13,400 --> 01:03:18,960 -Kuwa na uhakika na kunywa Ovaltine yako. 1426 01:03:18,960 --> 01:03:20,210 Ovaltine? 1427 01:03:24,010 --> 01:03:25,260 kibiashara crummy? 1428 01:03:28,200 --> 01:03:29,640 Mwana wa bitch. 1429 01:03:29,640 --> 01:03:33,340 [Mwisho VIDEO avspelning] 1430 01:03:33,340 --> 01:03:36,040 >> DAVID J. Malan: Hivyo kuna tuna cryptography. 1431 01:03:36,040 --> 01:03:39,670 Hivyo ni jinsi katika kompyuta tunaweza kwenda kuhusu kutekeleza au 1432 01:03:39,670 --> 01:03:40,950 anayewakilisha mambo kama haya? 1433 01:03:40,950 --> 01:03:44,430 Naam, tunahitaji njia ya kuonyesha wenyewe kidogo zaidi kuliko smidigt 1434 01:03:44,430 --> 01:03:46,420 vigezo yetu hivi sasa na kuruhusiwa. 1435 01:03:46,420 --> 01:03:47,370 Tulikuwa ints. 1436 01:03:47,370 --> 01:03:48,380 Tulikuwa chars. 1437 01:03:48,380 --> 01:03:50,790 Tulikuwa ikifungwa DOUBLES na na wengine wachache. 1438 01:03:50,790 --> 01:03:55,050 Lakini hayo ni vipande binafsi ya kumbukumbu kwamba si kweli kuruhusu sisi 1439 01:03:55,050 --> 01:03:58,010 kueleza mambo kama maneno na sentensi na misemo. 1440 01:03:58,010 --> 01:04:00,200 Hakika, tumekuwa aitwaye mambo kama hayo masharti. 1441 01:04:00,200 --> 01:04:03,650 Lakini sisi aliahidi kwamba hii ni kweli tu kurahisishwa CS50 1442 01:04:03,650 --> 01:04:07,020 maktaba kwamba sisi ni wanaotaka peel nyuma. 1443 01:04:07,020 --> 01:04:08,970 >> Na hivyo hebu kuanza kufanya hivyo hapa. 1444 01:04:08,970 --> 01:04:11,130 Hebu kwenda mbele na kufungua faili - 1445 01:04:11,130 --> 01:04:13,770 wote wa files hizi zinapatikana online kama kawaida - 1446 01:04:13,770 --> 01:04:19,120 kuitwa array.c kutatua tatizo lisilohusiana na masharti lakini kwamba inatengeneza 1447 01:04:19,120 --> 01:04:23,040 picha hapa ya jinsi sisi inaweza kutumia kitu kinachoitwa safu. 1448 01:04:23,040 --> 01:04:25,530 safu ni aina data. 1449 01:04:25,530 --> 01:04:31,320 Ni aina ya kutofautiana, wa aina, ambayo ina aina nyingi data ndogo 1450 01:04:31,320 --> 01:04:34,150 ndani yake nyuma kwa nyuma kwa nyuma kwa nyuma. 1451 01:04:34,150 --> 01:04:37,700 Hivyo kwa mfano, kama tunataka kuandika mpango kidogo kwamba anatoa yako 1452 01:04:37,700 --> 01:04:42,110 Quiz wastani kwa ajili ya kozi kama 50 ambayo ina mbili Quizzes, unaweza kwa urahisi sana 1453 01:04:42,110 --> 01:04:45,170 kuandika mpango huu - msingi hata kwenye baadhi ya nyenzo ya wiki iliyopita - 1454 01:04:45,170 --> 01:04:47,770 kwa kutumia GetInt na michache ya vigezo. 1455 01:04:47,770 --> 01:04:51,920 Int quiz1, int quiz2, na ni pretty moja kwa moja. 1456 01:04:51,920 --> 01:04:55,930 Ni labda 10, 20 mistari ya kificho, max, kutekeleza programu akiwauliza 1457 01:04:55,930 --> 01:05:01,170 mtumiaji kwa alama Jaribio mbili na kisha computes wastani yao kwa kuziongeza 1458 01:05:01,170 --> 01:05:03,850 pamoja, kugawa na mbili, na kisha kuchapisha matokeo. 1459 01:05:03,850 --> 01:05:06,380 Sisi inaweza pengine kufanya hivyo pretty urahisi sasa baada ya 1460 01:05:06,380 --> 01:05:07,510 baadhi idadi ya dakika. 1461 01:05:07,510 --> 01:05:11,005 >> Lakini tatizo ni kwamba tuseme kwamba alikuwa na 50 tatu Quizzes au nne. 1462 01:05:11,005 --> 01:05:13,510 Tuseme kwamba ulitaka kutumia mpango huo kwa ajili ya darasa kwamba alikuwa na 1463 01:05:13,510 --> 01:05:14,850 kila wiki Quizzes. 1464 01:05:14,850 --> 01:05:16,610 Fikiria juu ya darasa kwamba ina kila wiki Quizzes. 1465 01:05:16,610 --> 01:05:20,610 Kama kuna kama wiki 16 au hivyo katika muhula, sasa una vigezo 16 - 1466 01:05:20,610 --> 01:05:24,270 int quiz1, int quiz2, int quiz3, int quiz4. 1467 01:05:24,270 --> 01:05:27,560 Haraka kama wewe kuanza kuona hii redundancy, hii kuiga na pasting 1468 01:05:27,560 --> 01:05:31,390 ya maadili, ni lazima kuanza kufanya unataka kulikuwa njia bora zaidi. 1469 01:05:31,390 --> 01:05:33,930 Na nashiriki, kwa sababu ya arrays, kuna. 1470 01:05:33,930 --> 01:05:34,980 Basi hebu kufanya hili. 1471 01:05:34,980 --> 01:05:38,430 Kwanza, napenda kuanzisha kitu rahisi sana kwamba tumekuwa si kutumika hivi sasa, 1472 01:05:38,430 --> 01:05:40,140 lakini utaona ni mara kwa mara katika code. 1473 01:05:40,140 --> 01:05:42,360 Hii ni nini ujumla huitwa mara kwa mara. 1474 01:05:42,360 --> 01:05:45,790 Hivyo ni mara kwa mara katika maana ya kwamba thamani hii kamwe mabadiliko. 1475 01:05:45,790 --> 01:05:49,210 mkataba wa binadamu wakati wa kujenga mara kwa mara ni kutumia wote mtaji 1476 01:05:49,210 --> 01:05:51,940 barua, ili tu kwamba ni kweli anasimama nje katika code yako. 1477 01:05:51,940 --> 01:05:55,960 Na Keyword maalum kwamba matumizi katika C ni # define. 1478 01:05:55,960 --> 01:06:00,250 Hivyo kama wewe kusema # define, basi nafasi, basi neno kwamba unataka kutumia kwa 1479 01:06:00,250 --> 01:06:03,260 jina mara kwa mara, na kisha thamani ya mara kwa mara. 1480 01:06:03,260 --> 01:06:06,180 Hivyo taarifa, hii ni tofauti na assigning kitu kutofautiana. 1481 01:06:06,180 --> 01:06:07,020 Hakuna alama ya usawa. 1482 01:06:07,020 --> 01:06:08,240 Kuna semicolon hakuna. 1483 01:06:08,240 --> 01:06:11,410 Hii ni nini ujumla inayojulikana kama agizo preprocessor, lakini zaidi juu ya 1484 01:06:11,410 --> 01:06:12,210 kwamba wakati mwingine. 1485 01:06:12,210 --> 01:06:18,540 >> Kwa sasa, hii inajenga thamani isiyobadilika kuitwa Quizzes ambaye halisi 1486 01:06:18,540 --> 01:06:19,940 thamani numeric ni 2. 1487 01:06:19,940 --> 01:06:24,020 Hivyo unaweza kuona mahali popote Quizzes, Quizzes, Quizzes katika faili hii, hiyo ni 1488 01:06:24,020 --> 01:06:25,410 idadi tu 2. 1489 01:06:25,410 --> 01:06:28,100 Sasa, kama mimi kuangalia kuu sasa, hebu angalia jinsi hii matendo. 1490 01:06:28,100 --> 01:06:29,500 Mara ya kwanza, inaonekana kidogo cryptic. 1491 01:06:29,500 --> 01:06:31,340 Lakini zote stuff kutoka wiki moja. 1492 01:06:31,340 --> 01:06:32,710 Uliza mtumiaji kwa ajili ya darasa. 1493 01:06:32,710 --> 01:06:33,630 Tutafanyaje hili? 1494 01:06:33,630 --> 01:06:35,470 Naam, katika mstari 22 - 1495 01:06:35,470 --> 01:06:37,210 hii ni kweli sehemu Juicy - 1496 01:06:37,210 --> 01:06:40,960 Mimi kutangaza kuelea, lakini si tu kuelea moja. 1497 01:06:40,960 --> 01:06:44,620 Mimi kutangaza, badala yake, safu ya maadili yaliyo uhakika. 1498 01:06:44,620 --> 01:06:49,100 Hiyo variable ni kwenda kuitwa darasa, kama alisema hapa. 1499 01:06:49,100 --> 01:06:53,080 Lakini kipande tu ya syntax mpya basi ni haya mabano mraba, ukweli 1500 01:06:53,080 --> 01:06:59,350 kwamba nilivyosema darasa kuelea na kisha bracket wazi na kisha nambari. 1501 01:06:59,350 --> 01:07:02,460 Ilani, kama hii ni mara kwa mara, hii ni kama sisi alifanya hivyo. 1502 01:07:02,460 --> 01:07:06,890 Hii ina maana hey kompyuta, nipe ikifungwa mbili, na hebu pamoja kuwaita 1503 01:07:06,890 --> 01:07:08,220 nao darasa. 1504 01:07:08,220 --> 01:07:11,920 Hii ni tofauti na mchakato mengi zaidi tedious kama hii. 1505 01:07:11,920 --> 01:07:15,850 Kuelea grade1, kuelea grade2, na kadhalika. 1506 01:07:15,850 --> 01:07:20,010 Hivyo safu inaruhusu sisi kutekeleza wazo hili lakini kiasi kidogo messily, katika 1507 01:07:20,010 --> 01:07:24,630 namna ambayo tunaweza kuandika moja mstari wa kanuni badala ya, kusema, 16 kwa 16 1508 01:07:24,630 --> 01:07:25,740 wiki muhula. 1509 01:07:25,740 --> 01:07:29,950 Kwa hiyo mimi sitaki ngumu-code 2 kwa sababu kama wewe kufikiri juu ya hili sasa 1510 01:07:29,950 --> 01:07:34,160 mantiki - tuseme mwaka ujao CS50 mabadiliko ya 3 Quizzes badala yake. 1511 01:07:34,160 --> 01:07:35,510 Na mimi alikuwa na idadi 2 hapa. 1512 01:07:35,510 --> 01:07:36,600 Mimi nilikuwa na idadi 2 hapa. 1513 01:07:36,600 --> 01:07:37,580 Mimi nilikuwa na idadi 2 hapa. 1514 01:07:37,580 --> 01:07:38,560 Mimi nilikuwa na idadi 2 hapa. 1515 01:07:38,560 --> 01:07:43,180 Inakuwa tedious sana na rahisi sana screw up na ajali kubadili 1516 01:07:43,180 --> 01:07:47,690 moja thamani ya 3 na miss baadhi thamani nyingine ya 2. 1517 01:07:47,690 --> 01:07:52,460 Hivyo nina kwenda kwa badala abstract hii mbali na kutumia hii mara kwa mara kwamba, kama yake 1518 01:07:52,460 --> 01:07:54,120 jina linavyosema, mabadiliko kamwe. 1519 01:07:54,120 --> 01:07:57,710 Na sasa, bila kujali kama tuna tofauti Quizzes mwaka huu au ujao, mimi 1520 01:07:57,710 --> 01:08:01,210 tu kuwa na mabadiliko hayo katika sehemu moja, hapa juu kwa juu. 1521 01:08:01,210 --> 01:08:02,720 >> Basi hiyo ni wote mara kwa mara ni. 1522 01:08:02,720 --> 01:08:08,680 Wakati huo huo, kipengele mpya conceptual ni ile ya safu. 1523 01:08:08,680 --> 01:08:14,660 Hivyo mabano mraba nipe ikifungwa hii wengi na lets mimi pamoja 1524 01:08:14,660 --> 01:08:16,630 kuwaita darasa hapa. 1525 01:08:16,630 --> 01:08:17,990 Hivyo sasa hebu angalia nini mimi kwenda kufanya. 1526 01:08:17,990 --> 01:08:20,359 Hapa katika mstari 24 ni mwanzo wa kwa kitanzi. 1527 01:08:20,359 --> 01:08:22,260 Hii ni kitu kweli dhana. 1528 01:08:22,260 --> 01:08:25,060 Ni tu kwa kutumia Quizzes badala ya idadi ngumu-coded. 1529 01:08:25,060 --> 01:08:27,790 Lakini kuna kitu kielimu tofauti huko kutoka wiki iliyopita. 1530 01:08:27,790 --> 01:08:29,040 Hii ni printf. 1531 01:08:29,040 --> 01:08:35,490 Hivyo printf ("chemsha bongo% idadi d ya% d") kwa sababu mimi nataka tu magazeti nje nipe Quiz 1532 01:08:35,490 --> 01:08:38,050 namba moja wa mbili na kisha mbili wa mbili. 1533 01:08:38,050 --> 01:08:39,850 Hivyo hii ni rena kitu aesthetic. 1534 01:08:39,850 --> 01:08:42,500 Lakini sehemu ya kuvutia sasa ni katika mstari wa 27. 1535 01:08:42,500 --> 01:08:48,310 Ili kujaza katika moja ya placeholders mbili na floating-kumweka 1536 01:08:48,310 --> 01:08:51,029 thamani, wewe tena kutumia mabano mraba. 1537 01:08:51,029 --> 01:08:55,620 Katika kesi hiyo, mimi nina kutumia i kwa sababu hii kwa kitanzi imeanza na i sawa na 1538 01:08:55,620 --> 01:08:57,560 thamani gani, inaonekana? 1539 01:08:57,560 --> 01:08:58,279 0. 1540 01:08:58,279 --> 01:09:01,350 >> Kadhalika iteration kwanza ya kitanzi hii, ni kama kwamba mimi 1541 01:09:01,350 --> 01:09:02,689 aliandika hii katika code. 1542 01:09:02,689 --> 01:09:05,580 Lakini juu ya iteration pili ya kitanzi hii, ni kama kwamba mimi 1543 01:09:05,580 --> 01:09:07,750 aliandika hii katika code yangu. 1544 01:09:07,750 --> 01:09:10,750 Lakini ukweli kwamba mimi nina kutumia kutofautiana ni kamili kwa sababu, kama jina 1545 01:09:10,750 --> 01:09:14,300 anapendekeza, ni tofauti na thamani yake juu ya kila iteration. 1546 01:09:14,300 --> 01:09:17,370 Hivyo nina kujaza hii safu moja doa kwa wakati. 1547 01:09:17,370 --> 01:09:18,910 Je safu hii kuangalia kama? 1548 01:09:18,910 --> 01:09:21,430 Naam, sababu nilitoa hii super rahisi Mstatili juu ya screen hapa 1549 01:09:21,430 --> 01:09:23,350 kabla ilikuwa kwa sababu hiyo. 1550 01:09:23,350 --> 01:09:27,279 safu ni tu chunk ya kumbukumbu na kufuatiwa na mwingine chunk ya kumbukumbu, 1551 01:09:27,279 --> 01:09:30,109 kufuatiwa na mwingine chunk ya kumbukumbu, na kadhalika. 1552 01:09:30,109 --> 01:09:35,260 Hivyo kama safu yangu ni ya kawaida 2, katika kesi hii hapa, wote mimi itakuwa kufanya kwa 1553 01:09:35,260 --> 01:09:37,590 kuandika katika alama yangu quiz, kama hapa. 1554 01:09:37,590 --> 01:09:39,430 I got 100 juu ya hili. 1555 01:09:39,430 --> 01:09:42,020 Na kisha mimi got 99 juu ya hili. 1556 01:09:42,020 --> 01:09:46,040 Kisha kumbukumbu hii inaweza hata kutumika kwa sababu nimekuwa tu aliuliza 1557 01:09:46,040 --> 01:09:48,689 kompyuta kwa ajili ya safu ya ukubwa 2. 1558 01:09:48,689 --> 01:09:50,180 Wale mraba bado kuna. 1559 01:09:50,180 --> 01:09:50,340 Haki? 1560 01:09:50,340 --> 01:09:52,500 Bado una mbili gigabytes ya RAM, hata kama wewe tu 1561 01:09:52,500 --> 01:09:53,979 kuuliza kwa ikifungwa mbili. 1562 01:09:53,979 --> 01:09:58,710 Hivyo wazo nyuma ya arrays ni kwamba kompyuta tu huchukua chunk ya kumbukumbu 1563 01:09:58,710 --> 01:10:03,230 na kisha apportions vipande vidogo nyuma kwa nyuma kwa nyuma kwa nyuma. 1564 01:10:03,230 --> 01:10:04,740 Na hivyo ndiyo safu yote ni. 1565 01:10:04,740 --> 01:10:09,080 Ni chunk contiguous ya kumbukumbu, ndani ya ambayo unaweza kuweka mambo. 1566 01:10:09,080 --> 01:10:12,400 >> Sasa hii hutokea na kisha kufanya baadhi tu arithmetic boring. 1567 01:10:12,400 --> 01:10:16,170 Kama mimi kitabu chini hapa, hii ni pale ambapo mimi basi iterate juu ya safu. 1568 01:10:16,170 --> 01:10:19,410 Mimi kuja na summation wa maadili yote katika safu. 1569 01:10:19,410 --> 01:10:22,390 Na kisha mimi kutumia kazi pande zote hapa kwa kweli kufanya 1570 01:10:22,390 --> 01:10:23,940 sum kugawanywa na Quizzes. 1571 01:10:23,940 --> 01:10:27,450 Lakini ngoja kupitisha mkono wangu kwamba kama aina ya hesabu za kutosha kwa sasa. 1572 01:10:27,450 --> 01:10:30,010 Lakini yote anafanya kwa ajili yangu hatimaye ni kompyuta wastani. 1573 01:10:30,010 --> 01:10:33,640 Hivyo kwanza Jaribio plus jaribio la pili, kugawanywa na 2, na kisha kuchapisha 1574 01:10:33,640 --> 01:10:34,700 ni nje kama int. 1575 01:10:34,700 --> 01:10:39,030 >> Lakini hebu sasa ya mpito kwa mfano tofauti inayoitwa string1, 1576 01:10:39,030 --> 01:10:42,370 ambayo inajenga picha sawa lakini masharti ya kutumia. 1577 01:10:42,370 --> 01:10:45,550 Hebu kwenda mbele na kurahisisha hii kwa muda tu. 1578 01:10:45,550 --> 01:10:48,340 Na umsamehe indentation kwa sasa. 1579 01:10:48,340 --> 01:10:52,280 Tangazo katika mstari 19 ya mfano huu, mimi kupata kamba kutoka kwa mtumiaji. 1580 01:10:52,280 --> 01:10:55,780 Lakini taarifa nini mimi ijayo kufanya katika mistari 22 na kuendelea. 1581 01:10:55,780 --> 01:11:00,260 Mimi kwa kweli iterating kutoka i hadi - na hii ni hila mpya - 1582 01:11:00,260 --> 01:11:02,730 strlen, kamba urefu. 1583 01:11:02,730 --> 01:11:07,010 Hii ni kazi ambayo inakuja na C kwamba kama wewe kupita kamba, inavyo 1584 01:11:07,010 --> 01:11:08,950 jinsi wengi wahusika ni katika kamba hiyo. 1585 01:11:08,950 --> 01:11:09,440 Hayo ni yote. 1586 01:11:09,440 --> 01:11:12,520 ukweli kwamba ni strlen badala ya urefu wa kamba ni kwa sababu tu ni 1587 01:11:12,520 --> 01:11:13,040 zaidi succinct. 1588 01:11:13,040 --> 01:11:17,100 Miaka 30 iliyopita, watu walipenda kuandika mambo kama succinctly iwezekanavyo. 1589 01:11:17,100 --> 01:11:19,080 Hivyo tumekuwa agizo hilo mkataba hapa. 1590 01:11:19,080 --> 01:11:21,730 i + + tu ina maana increment i katika kila iteration. 1591 01:11:21,730 --> 01:11:24,310 Na sasa taarifa hii, ambayo ni kweli kuvutia. 1592 01:11:24,310 --> 01:11:28,730 Hivyo katika mstari 24, nasema kompyuta, nipe tabia, nane 1593 01:11:28,730 --> 01:11:30,770 bits, na simu yake c. 1594 01:11:30,770 --> 01:11:35,370 Lakini ni nini hii juu ya upande wa kulia akisema? 1595 01:11:35,370 --> 01:11:38,150 Kwa Kiingereza, ni nini kwamba kuwakilisha? 1596 01:11:38,150 --> 01:11:40,070 [Inaudible] 1597 01:11:40,070 --> 01:11:40,490 DAVID J. Malan: Hasa. 1598 01:11:40,490 --> 01:11:42,390 Nipe tabia ya kwanza katika safu. 1599 01:11:42,390 --> 01:11:45,400 Au zaidi kwa ujumla, nipe tabia i-th katika safu. 1600 01:11:45,400 --> 01:11:48,230 Na kutambua ni muhimu sasa kwamba kama wanasayansi wa kompyuta, sisi ni kweli 1601 01:11:48,230 --> 01:11:49,330 kuhesabu toka 0. 1602 01:11:49,330 --> 01:11:51,290 Huna busara sasa kuanza kufanya hili. 1603 01:11:51,290 --> 01:11:54,580 Sasa una kuishi kwa mujibu wa matarajio ya kompyuta na 1604 01:11:54,580 --> 01:11:58,010 kuhesabu kutoka sifuri kwa sababu [0] ni kwenda kuwa ya kwanza 1605 01:11:58,010 --> 01:11:59,670 tabia katika kamba. 1606 01:11:59,670 --> 01:12:01,320 [1] ni kwenda kuwa ya pili. 1607 01:12:01,320 --> 01:12:03,610 [2] ni kwenda kuwa ya tatu, na kadhalika. 1608 01:12:03,610 --> 01:12:08,840 Hivyo mpango huu, ikiwa mimi kukusanya yake - hii ni mara ya pili, string1. 1609 01:12:08,840 --> 01:12:11,040 >> Hivyo kufanya string1. 1610 01:12:11,040 --> 01:12:16,730 Na sasa mimi kukimbia string1 katika terminal dirisha yangu. 1611 01:12:16,730 --> 01:12:19,180 Ni kusubiri kwa ajili ya pembejeo, hivyo mimi nina kwenda aina katika, sema, Daudi. 1612 01:12:19,180 --> 01:12:20,080 Kuingia. 1613 01:12:20,080 --> 01:12:23,350 Na sasa ni Prints DAVID wote juu ya mistari tofauti kwa sababu 1614 01:12:23,350 --> 01:12:24,430 taarifa nini mimi kufanya. 1615 01:12:24,430 --> 01:12:27,510 Mimi nina uchapishaji moja tabia kwa wakati. 1616 01:12:27,510 --> 01:12:29,100 Sasa sisi si kuingia kwa undani juu ya leo hii. 1617 01:12:29,100 --> 01:12:31,610 Lakini mimi ilifutwa wakati iliyopita hundi hii hapa. 1618 01:12:31,610 --> 01:12:36,310 Ni zinageuka kuwa kama mtumiaji ni misbehaving, adversarial, au tu 1619 01:12:36,310 --> 01:12:41,780 kuchanganyikiwa, unaweza kweli kushindwa kutoa kamba ya urefu fulani. 1620 01:12:41,780 --> 01:12:43,640 Kama hit muhimu vibaya kwenye keyboard, unaweza kutoa 1621 01:12:43,640 --> 01:12:44,390 hakuna kamba wakati wote. 1622 01:12:44,390 --> 01:12:47,790 Au kama wewe ni malicious, unaweza kujaribu kuweka katika thamani ya gigabyte ya 1623 01:12:47,790 --> 01:12:49,380 insha kujaza hii kamba. 1624 01:12:49,380 --> 01:12:52,060 Na kama kompyuta anaendesha nje ya kumbukumbu, zinageuka kuwa tunakwenda 1625 01:12:52,060 --> 01:12:54,310 kupata nyuma thamani hii maalum iitwayo null. 1626 01:12:54,310 --> 01:12:57,550 Hivyo kwa sasa, tu kujua kwamba kuna thamani hii maalum iitwayo null kwamba 1627 01:12:57,550 --> 01:13:01,000 itaruhusu sisi kuangalia wakati tuko nje ya kumbukumbu, miongoni mwa mambo mengine. 1628 01:13:01,000 --> 01:13:07,330 >> Lakini kama mimi kufungua sasa string2, taarifa moja tofauti hapa. 1629 01:13:07,330 --> 01:13:09,760 Notice moja tofauti hapa na string2. 1630 01:13:09,760 --> 01:13:13,260 Kwa string2, hii kwa kitanzi ni tofauti kidogo. 1631 01:13:13,260 --> 01:13:16,350 Hebu kufuta nulls ili tuweze kuzungumza kuhusu wale wakati mwingine. 1632 01:13:16,350 --> 01:13:18,460 Lakini nini tofauti kuhusu kwa kitanzi wakati huu? 1633 01:13:21,580 --> 01:13:23,160 Na siwezi kurejea mfano uliopita. 1634 01:13:23,160 --> 01:13:24,800 Basi hiyo ni toleo mbili. 1635 01:13:24,800 --> 01:13:27,020 Hili ni toleo moja. 1636 01:13:27,020 --> 01:13:31,935 Moja, mbili, moja mbili. 1637 01:13:35,030 --> 01:13:38,240 Hivyo wito strlen ni wapi? 1638 01:13:38,240 --> 01:13:40,420 Ni katika sehemu ya kwanza ya kwa kitanzi. 1639 01:13:40,420 --> 01:13:43,060 Mawazo yoyote kama kwa nini mimi kufanya hili? 1640 01:13:43,060 --> 01:13:43,690 Yeah. 1641 01:13:43,690 --> 01:13:46,010 [Inaudible] 1642 01:13:46,010 --> 01:13:47,630 DAVID J. Malan: Hivyo sisi wala kuwaita kazi kila wakati. 1643 01:13:47,630 --> 01:13:48,040 Hasa. 1644 01:13:48,040 --> 01:13:50,350 Kumbuka kutoka kwa matanzi kwamba wao ni super rahisi mara moja aina ya 1645 01:13:50,350 --> 01:13:52,180 kuelewa kwamba hii ni initialization, 1646 01:13:52,180 --> 01:13:53,330 hali, na update. 1647 01:13:53,330 --> 01:13:55,430 Tatizo ni kwamba hali hufanyika kwenye kila 1648 01:13:55,430 --> 01:13:56,600 iteration ya kitanzi. 1649 01:13:56,600 --> 01:13:59,930 Na hivyo katika mfano huu hapa, ni nini mbaya kuhusu ukweli 1650 01:13:59,930 --> 01:14:03,500 kwamba hii ni hali yangu? 1651 01:14:03,500 --> 01:14:05,920 Wewe ni wito strlen tena na tena na tena. 1652 01:14:05,920 --> 01:14:08,990 Lakini mara nimekuwa typed katika DAVID, urefu wa kamba kwamba ni tano. 1653 01:14:08,990 --> 01:14:11,560 Na si kwenda na mabadiliko juu ya kila iteration ya kitanzi kwa sababu 1654 01:14:11,560 --> 01:14:15,560 kamba bado ni D-A-V-I-D. Hivyo hii ni ladha katika nini kinaendelea kuwa 1655 01:14:15,560 --> 01:14:19,650 inazidi muhimu wazo inayojulikana kama uamuzi wa kubuni, ambapo - si tu 1656 01:14:19,650 --> 01:14:21,640 kufanya kompyuta kufanya kazi ya lazima. 1657 01:14:21,640 --> 01:14:25,630 >> Sasa tu kama sneak preview ya pset 2, pset 2 katika toleo la kawaida ni 1658 01:14:25,630 --> 01:14:28,850 kwenda changamoto kweli kutekeleza baadhi ya idadi ya ciphers, baadhi 1659 01:14:28,850 --> 01:14:32,650 idadi ya algorithms kuficha, ili uweze wote Simba na decrypt 1660 01:14:32,650 --> 01:14:35,530 siri ujumbe, kiasi kama Ralphie moja huko Decoded. 1661 01:14:35,530 --> 01:14:38,720 Katika toleo la hacker ya pset 2, tunakwenda kwenda kidogo zaidi. 1662 01:14:38,720 --> 01:14:42,010 Sisi ni kwenda mkono wewe faili kutoka mfumo halisi ya kompyuta ambayo ina 1663 01:14:42,010 --> 01:14:45,690 zima rundo la usernames na halisi nywila encrypted, na changamoto 1664 01:14:45,690 --> 01:14:49,110 kwa ajili ya toleo hacker ni kwenda kuwa kwa kuvunja nywila hizo na takwimu 1665 01:14:49,110 --> 01:14:53,060 nje nini cryptography au nini siri ilitumika kwa kweli 1666 01:14:53,060 --> 01:14:55,080 kuzalisha nywila hizo. 1667 01:14:55,080 --> 01:14:58,360 Na sisi ni kwenda kufanya hivyo kwa kutumia kipengele mpya hapa ya C kwamba nita kupa 1668 01:14:58,360 --> 01:15:02,200 wewe tu demo ya, unaojulikana kama hoja amri-line. 1669 01:15:02,200 --> 01:15:05,930 >> Hivyo ni zamu nje, kama baadhi ya unaweza tumeona katika sehemu au katika vitabu, 1670 01:15:05,930 --> 01:15:09,850 kuu haina daima kuwa utupu katika mabano. 1671 01:15:09,850 --> 01:15:14,060 Ni zinageuka kuwa kuu pia inaweza kuandikwa kama hii, kwa hoja mbili, 1672 01:15:14,060 --> 01:15:19,690 argc na argv, ambapo argc ni idadi ya maneno ambayo unapoandika baada ya 1673 01:15:19,690 --> 01:15:21,940 jina mpango juu ya mstari amri yako. 1674 01:15:21,940 --> 01:15:24,550 Na argv ni maneno halisi. 1675 01:15:24,550 --> 01:15:29,470 Na kama mabano mraba kuna kupendekeza, argv ni inaonekana safu. 1676 01:15:29,470 --> 01:15:33,720 Ni kwenda kuwa string baada ya kamba baada ya kamba katika kumbukumbu. 1677 01:15:33,720 --> 01:15:36,170 Basi nini tunakwenda kuwa na uwezo wa kufanya, kwa kuanzia na pset 2, ni 1678 01:15:36,170 --> 01:15:37,310 kitu kama hiki. 1679 01:15:37,310 --> 01:15:42,450 Kama mimi kufanya argv1, ambayo ni mfano tutaweza kurudi Jumatatu, na kukimbia 1680 01:15:42,450 --> 01:15:45,180 hiyo, taarifa kwamba haionekani kufanya chochote bado. 1681 01:15:45,180 --> 01:15:47,050 Ni tu Prints nje ya jina lake mwenyewe. 1682 01:15:47,050 --> 01:15:53,220 Lakini kama mimi kusema kwaheri darasa, taarifa kwamba mpango huu inaonekana iterates 1683 01:15:53,220 --> 01:15:57,030 juu ya kila moja ya maneno kwamba walikuwa typed katika haraka. 1684 01:15:57,030 --> 01:16:02,050 Na njia ambayo sisi kupata maneno kwamba mtumiaji ana 1685 01:16:02,050 --> 01:16:06,780 typed katika haraka ni kwa kubadilisha kuu, kuanzia mwishoni mwa wiki hii, kutoka int 1686 01:16:06,780 --> 01:16:10,710 kuu (utupu) kwa int kuu (argc, argv). 1687 01:16:10,710 --> 01:16:13,700 Na hivyo kuzaliwa hoja mstari amri. 1688 01:16:13,700 --> 01:16:17,210 Na mara moja kupata kweli kisasa katika hili, wewe utakuwa na uwezo wa kuandika 1689 01:16:17,210 --> 01:16:21,370 kweli trippy programu, kama vile hii moja hapa, ambayo inakwenda juu na zaidi ya 1690 01:16:21,370 --> 01:16:25,520 baadhi ya utendaji tumefanya hivi sasa lakini yote kabisa nguvu. 1691 01:16:25,520 --> 01:16:27,330 >> Hivyo tutaweza kuondoka na hii kwenye screen. 1692 01:16:27,330 --> 01:16:29,160 Na sisi kuona juu ya Jumatatu.