1 00:00:00,000 --> 00:00:10,940 2 00:00:10,940 --> 00:00:13,060 >> DAVID J Malan: zote haki, hivyo hii ni CS50. 3 00:00:13,060 --> 00:00:15,040 Na hii ni wazi siku ya Ijumaa. 4 00:00:15,040 --> 00:00:16,850 Na hii ni mwisho wa wiki moja. 5 00:00:16,850 --> 00:00:21,020 Hivyo unaweza kukumbuka kuwa sisi kushoto mbali, Mara ya mwisho, na cliffhanger ya kila aina. 6 00:00:21,020 --> 00:00:25,020 Ambapo sisi kuweka wazi uongo huu, kwamba hakuna jambo gani tumekuwa kufundishwa kuongezeka 7 00:00:25,020 --> 00:00:31,610 up, 1 kugawanywa na 10 ni siyo, katika kweli, 0.1 au 0.100 au 0.10000. 8 00:00:31,610 --> 00:00:35,270 Kwa kweli, kama sisi kukusanya hii mpango, kama tulivyofanya jana, na, 9 00:00:35,270 --> 00:00:39,770 kufanya kutokuwa sahihi, na kisha kufanya dot, kufyeka, kutokuwa sahihi, 10 00:00:39,770 --> 00:00:43,600 tuligundua kwamba hii ni nini 1 kugawanywa na 10 kweli ni. 11 00:00:43,600 --> 00:00:46,140 Hivyo hiyo ni kweli si kesi kabisa. 12 00:00:46,140 --> 00:00:49,014 Lakini hii haina ladha katika baadhi msingi kiwango cha juu ya kompyuta. 13 00:00:49,014 --> 00:00:50,930 Na hakika, miongoni mwa mambo tunakwenda kufanya 14 00:00:50,930 --> 00:00:55,130 leo ni kuangalia nini hii ina kilichotokea, ni nini maana ya hii ina, 15 00:00:55,130 --> 00:00:58,430 jinsi ya ubinadamu imeshindwa kufahamu hii katika baadhi sana 16 00:00:58,430 --> 00:01:00,410 situations-- kubwa matokeo yake ni kwamba 17 00:01:00,410 --> 00:01:03,141 imekuwa ya kutisha kabisa na expensive-- na pia 18 00:01:03,141 --> 00:01:04,849 kuangalia jinsi sisi kweli anaweza kutetea 19 00:01:04,849 --> 00:01:06,530 dhidi ya aina hii ya mapungufu. 20 00:01:06,530 --> 00:01:10,940 Hivyo intuitively, labda, nini 1 kugawanywa na 10, 21 00:01:10,940 --> 00:01:15,480 kwa mujibu wa kompyuta yangu hapa, si tu 10/1, 0.10? 22 00:01:15,480 --> 00:01:15,980 Naam. 23 00:01:15,980 --> 00:01:16,530 Je, unafikiri? 24 00:01:16,530 --> 00:01:17,860 >> Watazamaji MEMBER: radix ni tofauti? 25 00:01:17,860 --> 00:01:18,550 >> DAVID J Malan: ni nini? 26 00:01:18,550 --> 00:01:19,730 Loo, radix ni tofauti? 27 00:01:19,730 --> 00:01:20,720 Hivyo si kabisa. 28 00:01:20,720 --> 00:01:23,200 Ni kweli zaidi msingi kwa vifaa. 29 00:01:23,200 --> 00:01:23,980 Mawazo mengine? 30 00:01:23,980 --> 00:01:24,584 Naam. 31 00:01:24,584 --> 00:01:26,750 Watazamaji MEMBER: Wao kuwakilisha idadi tofauti? 32 00:01:26,750 --> 00:01:27,880 DAVID J Malan: Hivyo they-- Haki. 33 00:01:27,880 --> 00:01:29,338 Wao kuwakilisha idadi tofauti. 34 00:01:29,338 --> 00:01:30,700 Inaccurately, inaonekana. 35 00:01:30,700 --> 00:01:33,190 Ili is-- Naam, tofauti na nini? 36 00:01:33,190 --> 00:01:34,490 Au kutoka kwa nani? 37 00:01:34,490 --> 00:01:35,050 Kutoka kwetu? 38 00:01:35,050 --> 00:01:35,966 Watazamaji MEMBER: Naam. 39 00:01:35,966 --> 00:01:38,930 Hawana matumizi alisema mfumo wa [inaudible]. 40 00:01:38,930 --> 00:01:39,680 DAVID J Malan: Sawa. 41 00:01:39,680 --> 00:01:41,560 Hivyo kwa mantiki, hawana kutumia mfumo alisema. 42 00:01:41,560 --> 00:01:43,720 Chini ya Hood, kila kitu ni kweli, mapacha, 43 00:01:43,720 --> 00:01:45,510 na kwamba kuhusiana, kwa kweli. 44 00:01:45,510 --> 00:01:48,135 Lakini ni rahisi hata maelezo ya hapo. 45 00:01:48,135 --> 00:01:48,635 Naam. 46 00:01:48,635 --> 00:01:49,970 >> Watazamaji MEMBER: Wao tu na vipande wengi. 47 00:01:49,970 --> 00:01:52,370 Wanaweza tu kuhifadhi hadi fulani kiasi, kama na decimals. 48 00:01:52,370 --> 00:01:52,780 >> DAVID J Malan: Yeah. 49 00:01:52,780 --> 00:01:54,420 Hii ni nini kweli kupata saa yake. 50 00:01:54,420 --> 00:01:57,180 Ni zinageuka kuwa kompyuta kawaida, daima tu 51 00:01:57,180 --> 00:01:59,690 kutumia kiasi kidogo cha habari kuiwakilisha kitu. 52 00:01:59,690 --> 00:01:59,870 Sawa? 53 00:01:59,870 --> 00:02:02,110 Baada ya yote, sisi tu fasta kiasi cha nafasi ngumu disk. 54 00:02:02,110 --> 00:02:04,210 Sisi tu kuwa na kiasi fasta ya RAM, au kumbukumbu ya kompyuta. 55 00:02:04,210 --> 00:02:06,251 Na kama wewe tu fasta kiasi ya kitu, 56 00:02:06,251 --> 00:02:09,611 Hakika huwezi kweli kuhesabu hadi infinity au idadi yoyote unataka. 57 00:02:09,611 --> 00:02:11,610 Wewe, aina ya, na kuchukua na kuchagua kile mbalimbali 58 00:02:11,610 --> 00:02:13,220 ya maadili wewe ni kwenda kusaidia. 59 00:02:13,220 --> 00:02:18,100 >> Na hivyo kwa mfano, wiki moja au mbili iliyopita, wakati kuongelea ASCII, 60 00:02:18,100 --> 00:02:21,610 na kuongelea 8 bits, au Byte, hivyo kusema, 61 00:02:21,610 --> 00:02:26,360 idadi kubwa tunaweza kuwakilisha na 8 bits ilikuwa nini? 62 00:02:26,360 --> 00:02:28,350 255. 63 00:02:28,350 --> 00:02:31,850 Na tunaweza kuwakilisha maadili 256 jumla lakini si kama sisi kutumia mmoja wao 64 00:02:31,850 --> 00:02:34,190 juu ya 0-- Naam, lakini kama sisi kutumia mmoja wao juu ya 0, 65 00:02:34,190 --> 00:02:36,830 basi idadi kubwa Ni, bila shaka, 255. 66 00:02:36,830 --> 00:02:39,410 >> Hivyo ni zamu nje, kwamba hii ni kesi pia, katika mazingira haya. 67 00:02:39,410 --> 00:02:42,350 Sisi kuanza kuzungumza, mara ya mwisho, kuhusu idadi floating-kumweka, ambayo 68 00:02:42,350 --> 00:02:44,640 ni tofauti na integers, katika kwamba wana uhakika decimal 69 00:02:44,640 --> 00:02:47,056 na, hopefully, baadhi idadi baada ya kuwa, lakini wao ni pia. 70 00:02:47,056 --> 00:02:51,730 Kompyuta ni tu kawaida kwenda kutumia bits 32, labda 64 bits 71 00:02:51,730 --> 00:02:53,497 kuiwakilisha floating kumweka thamani. 72 00:02:53,497 --> 00:02:56,080 Hivyo hata kama tumekuwa mzima kujifunza hisabati na kujua 73 00:02:56,080 --> 00:02:58,750 uweze kabisa kuwa idadi ya usio wa namba za 74 00:02:58,750 --> 00:03:01,650 baada ya uhakika decimal, si kama una mahususi kumbukumbu. 75 00:03:01,650 --> 00:03:03,930 Wewe, aina ya, na kwa pande zote, au kuchukua na kuchagua ambayo 76 00:03:03,930 --> 00:03:05,346 idadi wewe ni kwenda kuwakilisha. 77 00:03:05,346 --> 00:03:08,710 Na hivyo unaweza kufikiria, kwa maana, hili kuwa kompyuta wa karibu 78 00:03:08,710 --> 00:03:14,050 makadirio ya thamani 1/10 kwamba inaweza kupata, na bits 32 tu au hivyo. 79 00:03:14,050 --> 00:03:15,300 Na si 1/10 tu. 80 00:03:15,300 --> 00:03:19,820 >> Kwa mfano, kama mimi kubadili hali hii kwa 1/3, ambayo tunafikiri ni hata rahisi. 81 00:03:19,820 --> 00:03:21,300 Hivyo 1 kugawanywa na 3. 82 00:03:21,300 --> 00:03:22,355 Hebu kuokoa faili. 83 00:03:22,355 --> 00:03:24,680 Hebu kwenda mbele na recompile yake. 84 00:03:24,680 --> 00:03:25,820 Na napenda re-kukimbia nayo. 85 00:03:25,820 --> 00:03:30,000 Hapa pia, inaonekana, 1/3 siyo 0.3 na kisha idadi ya usio wa 3 wa 86 00:03:30,000 --> 00:03:30,770 baada ya hapo. 87 00:03:30,770 --> 00:03:32,540 Una kutokuwa sahihi hii mwishoni. 88 00:03:32,540 --> 00:03:35,544 Hivyo sisi wanadamu ni sahihi, na kile wewe kujifunza ni, kwa kweli, sahihi, 89 00:03:35,544 --> 00:03:37,460 lakini sisi ni bumping up dhidi ya baadhi ya mapungufu. 90 00:03:37,460 --> 00:03:39,420 >> Na nini Nilidhani tunatarajia kufanya leo, ni kuanza 91 00:03:39,420 --> 00:03:42,190 kwa kuangalia, kusema ukweli, matokeo ya kutisha ya hii 92 00:03:42,190 --> 00:03:45,490 wakati mwingine, wakati mwanadamu haina kabisa kutekeleza 93 00:03:45,490 --> 00:03:48,460 kwa ukweli huu na mapungufu hayo. 94 00:03:48,460 --> 00:03:52,360 Na tutaweza kuona mfululizo wa vignettes kutoka Channel Historia kwamba inachukua 95 00:03:52,360 --> 00:03:53,950 kuangalia jinsi mambo wamekwenda vibaya. 96 00:03:53,950 --> 00:03:56,340 Ni kuhusu 8 dakika ya muda mrefu, na tutaweza kurudi baada ya hii 97 00:03:56,340 --> 00:03:59,439 na tuangalie hasa kile kingine yanaweza kwenda vibaya. 98 00:03:59,439 --> 00:04:00,605 Kama tunaweza dim lights-- 99 00:04:00,605 --> 00:04:02,350 >> [VIDEO avspelning] 100 00:04:02,350 --> 00:04:06,310 >> -Computers, Tumekuwa wote watakuwa wanakubali matatizo mara nyingi frustrating kwamba 101 00:04:06,310 --> 00:04:07,750 kwenda pamoja nao. 102 00:04:07,750 --> 00:04:11,370 Mende, virusi, na programu glitches ni bei ndogo 103 00:04:11,370 --> 00:04:13,230 kulipa kwa urahisi. 104 00:04:13,230 --> 00:04:17,519 Lakini katika high-tech na yenye kasi kijeshi na mpango nafasi maombi, 105 00:04:17,519 --> 00:04:22,130 ndogo tatizo Unaweza litukuzwe katika janga. 106 00:04:22,130 --> 00:04:27,750 Juni 4, 1996, wanasayansi tayari kuzindua unmanned Ariane 5 roketi. 107 00:04:27,750 --> 00:04:29,890 Ilikuwa ni kufanya kisayansi satellite iliyoundwa 108 00:04:29,890 --> 00:04:33,030 kujua kwa usahihi jinsi Shamba interacts magnetic Dunia 109 00:04:33,030 --> 00:04:35,600 na upepo wa jua. 110 00:04:35,600 --> 00:04:37,930 Roketi ilijengwa kwa Nafasi Shirika la Ulaya 111 00:04:37,930 --> 00:04:41,620 na lile mbali kutoka kituo yake katika pwani ya Kifaransa. 112 00:04:41,620 --> 00:04:44,924 >> -Na Sekunde 30 katika ndege, kwanza 113 00:04:44,924 --> 00:04:46,340 niliona kitu kinachoendelea vibaya. 114 00:04:46,340 --> 00:04:49,280 Hiyo nozzles swiveling walikuwa katika njia ya wao kweli hawapaswi. 115 00:04:49,280 --> 00:04:53,042 Karibu sekunde 40 ndani ya ndege, wazi gari ilikuwa katika matatizo, 116 00:04:53,042 --> 00:04:55,250 na kwamba wakati walifanya uamuzi kuiharibu. 117 00:04:55,250 --> 00:04:58,970 Mbalimbali Usalama Afisa pamoja guts kubwa taabu kifungo, 118 00:04:58,970 --> 00:05:03,940 akapiga juu ya roketi kabla inaweza kuwa hatari kwa usalama wa umma. 119 00:05:03,940 --> 00:05:06,600 >> -Hii Ilikuwa msichana safari ya Ariane 5, 120 00:05:06,600 --> 00:05:09,270 na uharibifu wake alichukua mahali kwa sababu ya kasoro 121 00:05:09,270 --> 00:05:10,992 iliyoingia katika programu roketi. 122 00:05:10,992 --> 00:05:12,700 -The Tatizo juu ya Ariane ilikuwa kwamba kuna 123 00:05:12,700 --> 00:05:15,370 Ilikuwa idadi hiyo inahitajika 64 bits kueleza, 124 00:05:15,370 --> 00:05:18,150 na alitaka kubadilisha kwa 16 kidogo idadi. 125 00:05:18,150 --> 00:05:21,160 Wao kudhani kuwa idadi ilikuwa kamwe kwenda kuwa kubwa sana, 126 00:05:21,160 --> 00:05:25,020 kwamba wengi wa wale waliopo tarakimu 64 kidogo idadi walikuwa 0 ya. 127 00:05:25,020 --> 00:05:26,310 Walikosea. 128 00:05:26,310 --> 00:05:28,680 >> -The Kutokuwa na uwezo wa moja programu ya kompyuta kukubali 129 00:05:28,680 --> 00:05:32,820 aina ya idadi yanayotokana na mwingine ulikuwa ndio mzizi wa kushindwa. 130 00:05:32,820 --> 00:05:37,190 Programu ya maendeleo ambacho kimekuwa sehemu ya gharama kubwa sana ya teknolojia mpya. 131 00:05:37,190 --> 00:05:40,760 Ariane 4 roketi alikuwa sana mafanikio, hivyo mengi ya programu 132 00:05:40,760 --> 00:05:43,990 umba kwa sababu ilikuwa pia kutumika kwenye Ariane 5. 133 00:05:43,990 --> 00:05:49,750 >> Tatizo -The msingi ilikuwa kwamba Ariane 5 mara kwa kasi, kasi kwa kasi zaidi. 134 00:05:49,750 --> 00:05:53,000 Na programu alikuwa si waliendelea kwa hilo. 135 00:05:53,000 --> 00:05:56,330 >> -The Uharibifu wa roketi ilikuwa kubwa kifedha maafa, 136 00:05:56,330 --> 00:05:59,670 wote kutokana na programu dakika makosa. 137 00:05:59,670 --> 00:06:01,990 Lakini hii haikuwa kwanza wakati data uongofu matatizo 138 00:06:01,990 --> 00:06:05,310 alikuwa wanakumbana kisasa roketi teknolojia. 139 00:06:05,310 --> 00:06:08,300 >> -Katika 1991, na kuanza Vita ya kwanza ya Ghuba, 140 00:06:08,300 --> 00:06:10,650 Patriot kombora uzoefu aina hiyo 141 00:06:10,650 --> 00:06:12,650 tatizo idadi kubadilika. 142 00:06:12,650 --> 00:06:15,620 Matokeo yake, watu 28, Askari 28 wa Marekani 143 00:06:15,620 --> 00:06:18,440 waliuawa na kuhusu 100 wengine kujeruhiwa, 144 00:06:18,440 --> 00:06:21,900 wakati Patriot, ambayo ilitakiwa kulinda dhidi ya Scuds zinazoingia, 145 00:06:21,900 --> 00:06:24,630 alishindwa kwa moto kombora. 146 00:06:24,630 --> 00:06:29,440 >> -Wakati Iraq walivamia Kuwait na Marekani ilizindua Jangwa dhoruba katika mapema 1991, 147 00:06:29,440 --> 00:06:33,800 Patriot kombora betri walikuwa uliotumika kulinda Saudi Arabia na Israeli 148 00:06:33,800 --> 00:06:37,000 kutoka Iraq Scud kombora mashambulizi. 149 00:06:37,000 --> 00:06:40,610 Patriot ni Marekani, kati-mbalimbali uso-kwa-hewa mfumo 150 00:06:40,610 --> 00:06:43,010 viwandani na kampuni Raytheon. 151 00:06:43,010 --> 00:06:49,080 >> -The Ukubwa wa Patriot interceptor, yenyewe, ni kuhusu, miguu takribani 20 kwa muda mrefu. 152 00:06:49,080 --> 00:06:51,250 Na ni kizito kuhusu £ 2,000. 153 00:06:51,250 --> 00:06:55,195 Na hubeba warhead ya about-- Nadhani ni takribani paundi 150. 154 00:06:55,195 --> 00:06:59,500 Na warhead, yenyewe, ni kulipuka juu, 155 00:06:59,500 --> 00:07:02,570 ambayo ina vipande kuzunguka. 156 00:07:02,570 --> 00:07:06,890 Casing ya warhead ni iliyoundwa na kutenda kama buckshot. 157 00:07:06,890 --> 00:07:09,130 >> Makombora -The ni kufanyika, 4 kwa chombo, 158 00:07:09,130 --> 00:07:12,080 na ni kusafirishwa kwa Trailer nusu. 159 00:07:12,080 --> 00:07:19,100 >> -The Patriot mfumo wa kupambana na kombora inakwenda nyuma angalau miaka 20 sasa. 160 00:07:19,100 --> 00:07:22,320 Ni awali ilikuwa iliyoundwa kama hewa ulinzi kombora 161 00:07:22,320 --> 00:07:24,180 risasi chini ndege ya adui. 162 00:07:24,180 --> 00:07:27,860 Katika Vita ya Kwanza ya Ghuba, wakati vita kwamba alikuja pamoja, 163 00:07:27,860 --> 00:07:32,745 Jeshi alitaka kuitumia risasi chini Scuds, si ndege. 164 00:07:32,745 --> 00:07:36,150 Jeshi la Iraq haikuwa sana ya tatizo, 165 00:07:36,150 --> 00:07:39,110 lakini Jeshi alikuwa na wasiwasi kuhusu Scuds. 166 00:07:39,110 --> 00:07:42,340 Na hivyo walijaribu kuboresha Patriot. 167 00:07:42,340 --> 00:07:44,760 >> -Intercepting Adui kombora kusafiri saa tano mach 168 00:07:44,760 --> 00:07:47,250 alikuwa anaenda kuwa changamoto ya kutosha. 169 00:07:47,250 --> 00:07:50,000 Lakini wakati Patriot alikimbizwa katika huduma, 170 00:07:50,000 --> 00:07:54,030 Jeshi hakuwa na ufahamu wa Muundo wa Iraq kwamba alifanya 171 00:07:54,030 --> 00:07:56,840 Scuds yao karibu haiwezekani kugonga. 172 00:07:56,840 --> 00:08:01,020 >> -Nini Kilichotokea, ni Scuds kwamba wanakuja katika, walikuwa imara, 173 00:08:01,020 --> 00:08:02,310 walikuwa tikisika. 174 00:08:02,310 --> 00:08:05,140 Sababu hii, ilikuwa Iraq, ili 175 00:08:05,140 --> 00:08:09,450 kupata 600 kilomita nje ya 300 kilomita mbalimbali kombora, 176 00:08:09,450 --> 00:08:12,930 alichukua uzito nje ya warhead mbele na alifanya warhead nyepesi. 177 00:08:12,930 --> 00:08:17,710 Hivyo sasa, Patriot ya kujaribu kuja katika scud, na zaidi ya muda, 178 00:08:17,710 --> 00:08:21,700 idadi kubwa ya muda, ingekuwa tu kuruka kwa scud. 179 00:08:21,700 --> 00:08:25,700 >> -Baada Patriot mfumo waendeshaji barabara Patriot amekosa lengo lake, 180 00:08:25,700 --> 00:08:29,790 wao detonated warhead Patriot wa, kuepuka majeruhi iwezekanavyo kama 181 00:08:29,790 --> 00:08:32,380 aliruhusiwa kuanguka chini. 182 00:08:32,380 --> 00:08:36,340 >> -yaani Ilikuwa nini watu wengi aliona, wale fireballs kubwa katika anga, 183 00:08:36,340 --> 00:08:41,289 na kutoeleweka kama intercepts ya warheads Scud. 184 00:08:41,289 --> 00:08:43,590 Ingawa katika usiku anga, Patriots alionekana 185 00:08:43,590 --> 00:08:47,020 kuwa mafanikio kuharibu Scuds, saa Dhahran, 186 00:08:47,020 --> 00:08:49,730 kuna inaweza kuwa hakuna kosa kuhusu utendaji wake. 187 00:08:49,730 --> 00:08:53,990 Huko, rada Patriot mfumo wa waliopotea wimbo wa Scud zinazoingia, 188 00:08:53,990 --> 00:08:56,650 na kamwe ilizindua, kutokana na programu kasoro. 189 00:08:56,650 --> 00:08:59,650 190 00:08:59,650 --> 00:09:04,100 Ilikuwa Israel ambao kwanza aligundua kwamba tena mfumo ilikuwa juu, 191 00:09:04,100 --> 00:09:07,510 zaidi wakati tofauti akawa, kutokana na saa iliyoingia 192 00:09:07,510 --> 00:09:09,490 katika mfumo wa kompyuta ya. 193 00:09:09,490 --> 00:09:12,670 >> -About Wiki 2 kabla janga katika Dhahran, 194 00:09:12,670 --> 00:09:15,010 Israel kuripotiwa kwa Wizara ya Ulinzi, 195 00:09:15,010 --> 00:09:17,940 kwamba mfumo alikuwa kupoteza muda, kwamba baada ya kuhusu masaa 8 ya kukimbia, 196 00:09:17,940 --> 00:09:21,410 waligundua kuwa mfumo ilikuwa kuwa noticeably chini sahihi. 197 00:09:21,410 --> 00:09:25,290 Wizara ya Ulinzi alijibu kwa kuwaambia yote ya betri Patriot 198 00:09:25,290 --> 00:09:28,070 kwa kuwaacha mifumo kwa muda mrefu. 199 00:09:28,070 --> 00:09:29,960 Wao kamwe alisema nini muda mrefu alikuwa. 200 00:09:29,960 --> 00:09:30,460 8 masaa? 201 00:09:30,460 --> 00:09:30,960 Masaa 10? 202 00:09:30,960 --> 00:09:31,870 Masaa 1000? 203 00:09:31,870 --> 00:09:33,734 Hakuna aliyejua. 204 00:09:33,734 --> 00:09:35,650 -The Betri Patriot stationed katika kambi 205 00:09:35,650 --> 00:09:40,410 katika Dhahran, na kiujanja yake ya ndani saa, alikuwa juu zaidi ya saa 100 206 00:09:40,410 --> 00:09:43,041 usiku wa Februari 25. 207 00:09:43,041 --> 00:09:47,416 >> -Ni Kupatikana muda wa usahihi kutokana na 1/10 ya pili. 208 00:09:47,416 --> 00:09:49,290 Sasa 1/10 wa pili ni idadi ya kuvutia 209 00:09:49,290 --> 00:09:52,700 kwa sababu haiwezi kuwa walionyesha katika binary, hasa. 210 00:09:52,700 --> 00:09:54,820 Maana yake, haiwezi kuwa walionyesha, hasa, 211 00:09:54,820 --> 00:09:57,420 katika yoyote kisasa ya digital kompyuta. 212 00:09:57,420 --> 00:10:01,460 Ni vigumu kuamini, lakini kutumia hii kama mfano. 213 00:10:01,460 --> 00:10:03,520 Hebu kuchukua idadi, 1/3. 214 00:10:03,520 --> 00:10:07,110 1/3 hawezi kuwa walionyesha katika alisema, hasa. 215 00:10:07,110 --> 00:10:11,490 1/3 ni 0.333 kinachoendelea kwa infinity. 216 00:10:11,490 --> 00:10:15,486 Hakuna njia ya kufanya hivyo, pamoja na usahihi kabisa, katika alisema. 217 00:10:15,486 --> 00:10:18,360 Hiyo hasa aina hiyo ya tatizo kwamba kilichotokea katika Patriot. 218 00:10:18,360 --> 00:10:22,510 Tena mfumo mbio, mbaya kosa wakati akawa. 219 00:10:22,510 --> 00:10:28,420 >> -Baada Masaa 100 ya operesheni, hitilafu muda tu kuhusu 1/3 ya pili. 220 00:10:28,420 --> 00:10:31,830 Lakini katika suala la kulenga kombora kusafiri saa mach 5, 221 00:10:31,830 --> 00:10:35,890 ni matokeo ya kufuatilia makosa ya zaidi ya 600 mita. 222 00:10:35,890 --> 00:10:38,970 Itakuwa kosa mbaya kwa askari katika Dhahran. 223 00:10:38,970 --> 00:10:45,035 >> -Nini Kilichotokea, ni uzinduzi Scud alikuwa wanaona na mapema-onyo satelaiti, 224 00:10:45,035 --> 00:10:48,930 na wao mpya The kwamba Scud alikuwa kuja katika mwelekeo wao kwa ujumla. 225 00:10:48,930 --> 00:10:51,170 Hawakujua ambapo alikuwa anakuja. 226 00:10:51,170 --> 00:10:53,990 >> -Ni Mara sasa hadi rada sehemu ya mfumo wa Patriot, 227 00:10:53,990 --> 00:10:58,520 kutetea Dhahran, kuwapata na kuweka wimbo wa zinazoingia kombora adui. 228 00:10:58,520 --> 00:10:59,690 >> -The Rada ilikuwa smart sana. 229 00:10:59,690 --> 00:11:01,710 Ingekuwa kweli kufuatilia nafasi ya Scud 230 00:11:01,710 --> 00:11:04,040 na kisha kutabiri ambapo pengine itakuwa, 231 00:11:04,040 --> 00:11:06,140 wakati mwingine, rada alimtuma Pulse nje. 232 00:11:06,140 --> 00:11:07,660 Aliyeitwa lango mbalimbali. 233 00:11:07,660 --> 00:11:11,870 >> -Then, Mara moja Patriot anaamua muda wa kutosha ina 234 00:11:11,870 --> 00:11:16,280 kupita kwenda nyuma na kuangalia ijayo eneo kwa hii kitu wanaona, 235 00:11:16,280 --> 00:11:17,280 unaendelea nyuma. 236 00:11:17,280 --> 00:11:21,690 Hivyo wakati akarudi vibaya mahali, basi anaona hakuna kitu 237 00:11:21,690 --> 00:11:25,230 na anaamua kwamba kulikuwa hakuna kitu, ilikuwa kugundua uongo, 238 00:11:25,230 --> 00:11:26,650 na matone kufuatilia. 239 00:11:26,650 --> 00:11:29,690 Scud zinazoingia kutoweka kutoka screen rada, 240 00:11:29,690 --> 00:11:32,670 na sekunde baadaye, slammed ndani ya ngome. 241 00:11:32,670 --> 00:11:38,100 Scud kuuawa 28 na mara ya mwisho moja fired wakati wa vita vya Ghuba ya kwanza. 242 00:11:38,100 --> 00:11:43,460 Kusikitisha, programu updated aliwasili katika Dhahran siku iliyofuata. 243 00:11:43,460 --> 00:11:46,150 Programu kasoro alikuwa wamekuwa fasta, kufunga 244 00:11:46,150 --> 00:11:48,940 sura ya kwanza katika wasiwasi historia ya Patriot kombora. 245 00:11:48,940 --> 00:11:50,220 >> [Mwisho avspelning] 246 00:11:50,220 --> 00:11:54,340 >> DAVID J Malan: Hivyo tutaweza kuchukua kuangalia baadhi ya mapungufu hayo katika kidogo tu. 247 00:11:54,340 --> 00:11:58,470 Lakini kwanza, hebu mpito kwa wachache FYI ni. 248 00:11:58,470 --> 00:12:01,575 Hivyo one-- mwishoni mwa wiki hii, kuna itakuwa sehemu super, 249 00:12:01,575 --> 00:12:04,200 ambayo ni maana ya supplant sehemu mara kwa mara kufanyika, ambayo 250 00:12:04,200 --> 00:12:05,460 itaanza up wiki hivyo. 251 00:12:05,460 --> 00:12:08,204 Kuangalia tovuti CS50 kwa habari zaidi juu hizo. 252 00:12:08,204 --> 00:12:11,120 Wao pia kuwa zingine na streamed kuishi kwa wale ambao wanashindwa kuhudhuria. 253 00:12:11,120 --> 00:12:12,980 Tatizo kuweka 1 ni juu ya tovuti kozi ya tayari, 254 00:12:12,980 --> 00:12:15,105 na tutaweza kuchukua kuangalia kwamba katika kidogo tu. 255 00:12:15,105 --> 00:12:18,350 Na masaa ya ofisi pia, itachukua mahali hii Jumatatu hadi Alhamisi. 256 00:12:18,350 --> 00:12:20,960 >> Hivyo hii ilikuwa kisheria zaidi Mpango sisi inaonekana katika wakati wa mwisho. 257 00:12:20,960 --> 00:12:23,590 Ni kama rahisi Mpango unaweza kuandika katika C, 258 00:12:23,590 --> 00:12:25,250 na hata hiyo ni kidogo ya madai ujasiri. 259 00:12:25,250 --> 00:12:25,750 Sawa? 260 00:12:25,750 --> 00:12:28,070 Kwa sababu kuna mengi ya Wanajidai utata wa jambo hili. 261 00:12:28,070 --> 00:12:30,445 Basi hebu tuangalie kwa haraka katika nini baadhi ya mambo haya 262 00:12:30,445 --> 00:12:33,080 walikuwa na kisha kujaribu kutoa mfano wa akili kwa jinsi 263 00:12:33,080 --> 00:12:35,710 hizi rahisi ya mipango kazi, na kisha tutaweza kuanza 264 00:12:35,710 --> 00:12:38,050 kuangalia mambo magumu milele zaidi. 265 00:12:38,050 --> 00:12:41,280 Hivyo mstari huu hapa, yalionyesha sasa, katika njano, nini sisi kusema, mara ya mwisho, 266 00:12:41,280 --> 00:12:43,200 kwamba hii haina kwa ajili yetu? 267 00:12:43,200 --> 00:12:45,220 Nini madhumuni ni mtumishi? 268 00:12:45,220 --> 00:12:46,984 Mtu yeyote kutoka mbali nyuma? 269 00:12:46,984 --> 00:12:47,483 Naam. 270 00:12:47,483 --> 00:12:48,649 >> Watazamaji MEMBER: [inaudible] 271 00:12:48,649 --> 00:12:50,871 272 00:12:50,871 --> 00:12:51,704 DAVID J Malan: Mwema. 273 00:12:51,704 --> 00:12:53,537 Hivyo ni anatoa huduma kwa amri, au hebu 274 00:12:53,537 --> 00:12:56,750 kuwaita kazi, kwamba mtu mwingine aliandika, kwamba ni kutangazwa, 275 00:12:56,750 --> 00:12:58,350 hivyo kusema, katika baadhi ya faili nyingine. 276 00:12:58,350 --> 00:13:02,370 Hivyo tutaweza kuona nini hasa faili h ni dhidi c file, hatimaye. 277 00:13:02,370 --> 00:13:04,710 Lakini kwa sasa, tu kujua kwamba printf, kwa mfano, 278 00:13:04,710 --> 00:13:08,370 ni miongoni mwa kazi ambayo yamekuwa alitangaza katika baadhi ya faili nyingine, mahali fulani 279 00:13:08,370 --> 00:13:12,930 kingine juu ya wingu ngumu kuendesha kwamba inaruhusu sisi kupata printf na kuitumia 280 00:13:12,930 --> 00:13:15,240 bila ya kuwa na kuibuka kwamba gurudumu wenyewe. 281 00:13:15,240 --> 00:13:16,930 Wakati huo huo, kuu. 282 00:13:16,930 --> 00:13:19,690 Ilikuwa Analog ya kuu, wiki iliyopita ni nini? 283 00:13:19,690 --> 00:13:20,190 Naam. 284 00:13:20,190 --> 00:13:21,460 >> Watazamaji MEMBER: Green bendera ni clicked. 285 00:13:21,460 --> 00:13:21,740 >> DAVID J Malan: Yeah. 286 00:13:21,740 --> 00:13:23,490 Mwanzo wa, wakati kijani bendera clicked. 287 00:13:23,490 --> 00:13:25,560 Ni kama puzzle kipande kwamba mateke mambo mbali. 288 00:13:25,560 --> 00:13:28,306 Na hivyo vile vile, walivyofanya dunia aliamua baadhi ya miaka iliyopita kwamba katika C, 289 00:13:28,306 --> 00:13:30,930 na kundi la lugha nyingine, kama unataka kuandika mpango, 290 00:13:30,930 --> 00:13:33,410 kazi yako ya kwanza ina kuitwa, kuu. 291 00:13:33,410 --> 00:13:34,641 Na ina kuangalia kama hii. 292 00:13:34,641 --> 00:13:36,640 Lakini tutaweza kurudi, wakati mwingine, kwa nini, int, 293 00:13:36,640 --> 00:13:38,690 na, batili, maana katika mazingira. 294 00:13:38,690 --> 00:13:42,860 Kwa sasa, braces curly ni aina ya kama puzzle kipande sura Scratch ya 295 00:13:42,860 --> 00:13:45,080 kwamba encapsulates baadhi idadi ya mistari. 296 00:13:45,080 --> 00:13:47,070 Na miongoni mwa juu ya mistari hapa, ni hii moja hapa. 297 00:13:47,070 --> 00:13:51,610 printf ni kazi ambao lengo katika maisha ni magazeti kamba mpangilio. 298 00:13:51,610 --> 00:13:55,010 Na kwa mpangilio, I mean wewe unaweza kuziba katika maadili placeholder, 299 00:13:55,010 --> 00:13:58,360 na unaweza kutaja alisema wangapi pointi, jinsi wengi idadi ya magazeti 300 00:13:58,360 --> 00:14:00,040 baada ya uhakika decimal na kadhalika. 301 00:14:00,040 --> 00:14:05,040 Na printf, bila shaka, inachukua moja au hoja au vigezo zaidi, 302 00:14:05,040 --> 00:14:06,770 inayojulikana, zaidi tu, kama pembejeo. 303 00:14:06,770 --> 00:14:09,230 >> Hivyo printf, kama mengi ya kazi, inachukua pembejeo. 304 00:14:09,230 --> 00:14:12,730 Na pembejeo hizo kuvutiwa na mabano mbili hapa. 305 00:14:12,730 --> 00:14:15,180 Na ndani ya wale ni pembejeo moja. 306 00:14:15,180 --> 00:14:18,600 Ni kamba, kama tumekuwa kuitwa kuwa, ambayo ni haki mlolongo wa wahusika, 307 00:14:18,600 --> 00:14:22,310 kama neno, au maneno, au zima insha hata, katika kati ya quotes mbili. 308 00:14:22,310 --> 00:14:25,712 Na kwamba ni nini kinaendelea kushawishi tabia ya printf kwa sababu, bila shaka, 309 00:14:25,712 --> 00:14:27,170 ni tu kurefusha maisha magazeti kazi. 310 00:14:27,170 --> 00:14:29,600 Ni si kwenda kujua nini magazeti, isipokuwa wewe kuwaambia yake. 311 00:14:29,600 --> 00:14:31,000 Na kisha, baadhi minutiae. 312 00:14:31,000 --> 00:14:34,056 Nini sisi kusema hii weird mlolongo wa ishara ni? 313 00:14:34,056 --> 00:14:34,556 Naam. 314 00:14:34,556 --> 00:14:35,410 >> Watazamaji MEMBER: New line. 315 00:14:35,410 --> 00:14:35,990 >> DAVID J Malan: New line. 316 00:14:35,990 --> 00:14:39,340 Hivyo ni zamu nje, huwezi kugonga, kuingia, wakati wewe ni kuandika mpango. 317 00:14:39,340 --> 00:14:42,590 Kwa ujumla, compiler ni kwenda kupata kuchanganyikiwa kidogo kama kwa nini. 318 00:14:42,590 --> 00:14:45,340 Badala yake, una halisi kusema, nipe mstari mpya hapa. 319 00:14:45,340 --> 00:14:49,506 Na hivyo / n ni nini sisi ujumla piga tabia kutoroka. 320 00:14:49,506 --> 00:14:50,870 Hivyo n, kwa mstari mpya. 321 00:14:50,870 --> 00:14:53,810 Na mkusanyaji anajua kwamba wakati anaona / n, 322 00:14:53,810 --> 00:14:57,420 ni lazima kweli kushawishi kompyuta, hatimaye, au printf, katika kesi hii, 323 00:14:57,420 --> 00:15:00,260 magazeti nje mpya halisi line, kama kupiga, kuingia, 324 00:15:00,260 --> 00:15:01,480 muhimu kwenye keyboard yako. 325 00:15:01,480 --> 00:15:05,620 Na Mwisho, nini alifanya tunasema kipande cha syntax ni kwa? 326 00:15:05,620 --> 00:15:06,591 Ni nini kuwakilisha? 327 00:15:06,591 --> 00:15:07,090 Naam. 328 00:15:07,090 --> 00:15:07,490 >> Watazamaji MEMBER: [inaudible] 329 00:15:07,490 --> 00:15:08,660 >> DAVID J Malan: Ni tu mwisho wa mstari. 330 00:15:08,660 --> 00:15:09,909 Ni mwisho wa taarifa yake. 331 00:15:09,909 --> 00:15:11,890 Na kutambua kwamba hatufanyi kuziweka kila mahali. 332 00:15:11,890 --> 00:15:13,900 Sisi hakika si kuziweka katika ncha ya kila mstari. 333 00:15:13,900 --> 00:15:16,680 Kwa mfano, kuna hakuna juu ya mstari wa kwanza, kuna hakuna kwenye mstari 334 00:15:16,680 --> 00:15:18,680 pamoja, kuu, kuna hakuna baada ya braces curly, 335 00:15:18,680 --> 00:15:21,740 lakini itabidi kuanza kuona na kupata ukoo na ambapo ni kuitwa kwa. 336 00:15:21,740 --> 00:15:26,014 Na ni karibu kila mara baada ya kazi simu au kauli, baadhi ya hatua 337 00:15:26,014 --> 00:15:27,180 kwamba wewe ni kweli kuchukua. 338 00:15:27,180 --> 00:15:29,520 >> Na kujua sasa, hasa kama miongoni mwa wale chini ya starehe, 339 00:15:29,520 --> 00:15:32,540 hizi ni aina ya mambo ya kijinga kwamba utasikia kuishia ajali banging 340 00:15:32,540 --> 00:15:33,873 kichwa yako dhidi ya ukuta juu. 341 00:15:33,873 --> 00:15:36,107 Kwa sababu wewe utakuwa na mantiki ujasiri katika baadhi ya tatizo 342 00:15:36,107 --> 00:15:38,440 umefanya kutatuliwa kwa tatizo kuweka, na kitu damn tu 343 00:15:38,440 --> 00:15:40,187 si kukusanya au hata kukimbia. 344 00:15:40,187 --> 00:15:43,270 Na hivyo mara nyingi, mapema, ni kwenda kuwa kwa sababu amekosa mabano, 345 00:15:43,270 --> 00:15:44,455 au amekosa semicolon. 346 00:15:44,455 --> 00:15:46,547 Na hivyo tu kukumbuka ya aina hii ya mambo, 347 00:15:46,547 --> 00:15:49,380 na jaribu kupata imechanganyikiwa kutokana na yao kwa sababu kwa haraka sana hana huu 348 00:15:49,380 --> 00:15:50,640 kuwa kofia ya zamani. 349 00:15:50,640 --> 00:15:53,910 Lakini ni rahisi sana kupata kuchanganyikiwa mapema, matokeo yake. 350 00:15:53,910 --> 00:15:57,020 >> Hivyo sasa, hebu tuangalie jinsi mstari huu ni kweli kazi 351 00:15:57,020 --> 00:15:59,170 na kisha kuangalia kidogo ngumu zaidi moja. 352 00:15:59,170 --> 00:16:02,017 Hivyo tuna zaidi ya hapa, uwezo wa kuchora juu ya screen hii. 353 00:16:02,017 --> 00:16:04,100 Na hebu tuseme kwamba hii ni kompyuta screen yangu, 354 00:16:04,100 --> 00:16:08,589 lakini mimi kuandika, hodi mpango, na mimi si kutekelezwa, printf. 355 00:16:08,589 --> 00:16:10,130 Mtu mwingine imetekeleza, printf. 356 00:16:10,130 --> 00:16:12,420 Ambao wangependa wanadai kutekelezwa, printf? 357 00:16:12,420 --> 00:16:12,920 Kama tunaweza? 358 00:16:12,920 --> 00:16:13,830 Haki wote, nini jina lako? 359 00:16:13,830 --> 00:16:14,155 >> STUDENT 1: [? Copal. ?] 360 00:16:14,155 --> 00:16:15,529 >> DAVID J Malan: Copal, kuja juu juu. 361 00:16:15,529 --> 00:16:16,430 Kuja juu juu. 362 00:16:16,430 --> 00:16:17,070 Wote haki. 363 00:16:17,070 --> 00:16:22,260 Hivyo tuna, hapa, baadhi ya vitambulisho jina, tangu tutaweza kufanya mchezo kidogo ya hii. 364 00:16:22,260 --> 00:16:26,270 Na sisi nitakuita, printf. 365 00:16:26,270 --> 00:16:30,170 Na kama unataka kuja hapa, nini nimekuwa inayotolewa tu kwenye screen, 366 00:16:30,170 --> 00:16:32,340 ni rahisi kabisa, kuna Kwangu mimi, hii. 367 00:16:32,340 --> 00:16:35,550 >> Haki wote, hivyo, hello jina langu ni, printf, kama Ningependa kuweka kwamba katika. 368 00:16:35,550 --> 00:16:35,740 Wote haki. 369 00:16:35,740 --> 00:16:37,360 Na kama unaweza kwenda kusimama na screen ya kompyuta 370 00:16:37,360 --> 00:16:39,730 kana kwamba ni kazi ambayo alikuja na mfumo huu wa kompyuta. 371 00:16:39,730 --> 00:16:42,063 Na madhumuni yako katika maisha ni kwa kweli magazeti kitu. 372 00:16:42,063 --> 00:16:44,560 Lakini kiasi kama mpango sisi tu alikuwa kwenye screen, hapa, 373 00:16:44,560 --> 00:16:47,060 tunakwenda kuwa na kweli kukupa baadhi ya pembejeo. 374 00:16:47,060 --> 00:16:51,810 >> Na hivyo, kama pembejeo yangu, hapa, ni inaonekana, nini ni kupita kwa printf, 375 00:16:51,810 --> 00:16:53,730 hebu aina ya maskhara it up kama hii. 376 00:16:53,730 --> 00:16:58,720 Mimi nina kwenda literally kuandika kwenye kipande cha karatasi, "hello, dunia," 377 00:16:58,720 --> 00:17:03,020 backslash N. Na kwa kuwa wazi, nini Nimekuwa inayotolewa tu juu ya kipande cha karatasi, 378 00:17:03,020 --> 00:17:04,020 inaonekana kama hii. 379 00:17:04,020 --> 00:17:08,730 Hivyo wakati mimi kuendesha mpango huu, na hii njano mstari wa kanuni anapata kunyongwa, 380 00:17:08,730 --> 00:17:12,970 ni kana kwamba, mpango hello, ni kuwapatia baadhi ya pembejeo mbali na kazi 381 00:17:12,970 --> 00:17:13,970 kwamba mtu mwingine aliandika. 382 00:17:13,970 --> 00:17:16,595 >> Na kama wewe, kidole, naweza kweli, kidole, 383 00:17:16,595 --> 00:17:21,520 kuteka juu ya screen chochote ni wewe wamekuwa mitupu, 384 00:17:21,520 --> 00:17:27,465 athari, hatimaye, ni kwa kuona hasa kwamba, kwenye screen. 385 00:17:27,465 --> 00:17:29,140 Na kidogo kona kesi hapa. 386 00:17:29,140 --> 00:17:31,540 Na nzuri, sisi asipate , mstari wa mwezi, katika hatua hii. 387 00:17:31,540 --> 00:17:33,900 Itakuwa sahihi kwa wewe kupanga kuteka newline. 388 00:17:33,900 --> 00:17:36,810 Lakini kama sisi kuendelea kuandika maneno kwenye screen, wangeweza kuishia chini hiyo. 389 00:17:36,810 --> 00:17:39,560 >> Hivyo asante sana, lakini fimbo karibu hapa kwa muda mmoja tu. 390 00:17:39,560 --> 00:17:42,860 Kwa sasa tunataka mtu mwingine kujitolea, kama tunaweza, 391 00:17:42,860 --> 00:17:46,830 hiyo ni kwenda haja ya kuwa na jukumu of-- Ni watu tu katika orchestra 392 00:17:46,830 --> 00:17:47,355 hivi sasa. 393 00:17:47,355 --> 00:17:47,980 Jinsi about-- sawa. 394 00:17:47,980 --> 00:17:48,480 Hapa hapa. 395 00:17:48,480 --> 00:17:49,180 Kuja juu juu. 396 00:17:49,180 --> 00:17:49,955 Nini jina lako? 397 00:17:49,955 --> 00:17:50,922 >> STUDENT 2: [? Ivay. ?] 398 00:17:50,922 --> 00:17:51,796 DAVID J Malan: Samahani? 399 00:17:51,796 --> 00:17:52,990 STUDENT 2: [? Ivay. ?] 400 00:17:52,990 --> 00:17:55,320 DAVID J Malan: Ethani, kuja juu juu. 401 00:17:55,320 --> 00:17:55,820 Hakuna? 402 00:17:55,820 --> 00:17:58,390 Je, mimi kupata vibaya kwamba, hata baada ya wewe alisema ni mara mbili? 403 00:17:58,390 --> 00:17:58,890 Kuja juu juu. 404 00:17:58,890 --> 00:18:00,030 Ni vigumu kusikia hapa. 405 00:18:00,030 --> 00:18:05,240 406 00:18:05,240 --> 00:18:05,740 Sawa. 407 00:18:05,740 --> 00:18:07,190 Na mimi nina sorry, nini jina lako? 408 00:18:07,190 --> 00:18:07,680 >> STUDENT 2: [? Ivay. ?] 409 00:18:07,680 --> 00:18:08,790 >> [? DAVID J Malan: Ivay. ?] Sawa. 410 00:18:08,790 --> 00:18:10,430 Kwa sasa, kama huna akili, wewe ni GetString. 411 00:18:10,430 --> 00:18:11,013 >> STUDENT 2: Sawa. 412 00:18:11,013 --> 00:18:11,797 Baridi. 413 00:18:11,797 --> 00:18:14,630 DAVID J Malan: Hivyo kama ungependa kusimama hapa kwa muda tu, 414 00:18:14,630 --> 00:18:17,100 hebu tuangalie kidogo zaidi tata mpango, kwamba 415 00:18:17,100 --> 00:18:18,670 sasa ina mistari mitatu ya kificho. 416 00:18:18,670 --> 00:18:24,080 Hivyo tuna, moja, hali jina lako kwa kutumia printf; mbili, wito kwa GetString, 417 00:18:24,080 --> 00:18:28,060 ikifuatiwa na zoezi kwa kutofautiana kuitwa, kamba s, au kuitwa s; 418 00:18:28,060 --> 00:18:31,260 na kisha mwingine wito kwa, printf, lakini wakati huu na pembejeo mbili. 419 00:18:31,260 --> 00:18:33,646 >> Hivyo tumekuwa tayari amefanya hali jina lako, au tuseme, tumekuwa 420 00:18:33,646 --> 00:18:34,770 tayari amefanya printf simu. 421 00:18:34,770 --> 00:18:38,960 Hivyo nina kwenda kuandika, majina zako. 422 00:18:38,960 --> 00:18:42,089 Na hivyo, nini mimi kwenda kwa kupita, printf, katika muda tu, 423 00:18:42,089 --> 00:18:43,005 ni rahisi kabisa, huu. 424 00:18:43,005 --> 00:18:47,760 Hivyo kama unataka kwenda mbele na kuteka hii juu ya screen, hiyo ni mchango wako sasa. 425 00:18:47,760 --> 00:18:48,260 Wote haki. 426 00:18:48,260 --> 00:18:51,160 Na kusahau kamba, sasa tuna line yetu wenyewe ya kificho hapa. 427 00:18:51,160 --> 00:18:54,470 Hivyo katika, GetString, tunahitaji kwa kweli kuwaita, GetString. 428 00:18:54,470 --> 00:18:57,920 Hivyo madhumuni yako katika maisha ni kutembea tu nje katika orchestra, kama unaweza, 429 00:18:57,920 --> 00:18:58,980 na kupata jina la mtu. 430 00:18:58,980 --> 00:19:00,860 Lakini hebu kukupa kitu cha kuweka kwenye. 431 00:19:00,860 --> 00:19:02,908 Kama unataka, go mbele na kupata kamba, 432 00:19:02,908 --> 00:19:05,241 kupata jina la mtu juu ya kwamba kipande cha karatasi, kama unaweza. 433 00:19:05,241 --> 00:19:12,940 434 00:19:12,940 --> 00:19:13,530 >> Wote haki. 435 00:19:13,530 --> 00:19:15,250 Na tutaweza kuona, katika muda tu, jina lake sisi ni kupata. 436 00:19:15,250 --> 00:19:17,630 Wakati huo huo, kile nitakacho kuwa tayari, ni tupu kipande 437 00:19:17,630 --> 00:19:21,340 cha karatasi, ambayo, mimi nina kwenda kuhifadhi chochote thamani yake 438 00:19:21,340 --> 00:19:25,752 ni kwamba GetString ni kurudi kwangu, Mimi, kuwa kamba kutofautiana kuitwa, s. 439 00:19:25,752 --> 00:19:26,252 Wote haki. 440 00:19:26,252 --> 00:19:27,293 Basi je, wewe hapa? 441 00:19:27,293 --> 00:19:27,950 Nik. 442 00:19:27,950 --> 00:19:28,450 Wote haki. 443 00:19:28,450 --> 00:19:30,910 Hivyo tuna jina Nik hapa. 444 00:19:30,910 --> 00:19:33,750 Hivyo hii ni nini literally imekuwa akarudi 445 00:19:33,750 --> 00:19:35,810 kwangu, ili kuzungumza, na GetString. 446 00:19:35,810 --> 00:19:38,720 >> Mimi, sasa, naenda kutekeleza upande wa kushoto mkono 447 00:19:38,720 --> 00:19:43,440 ya kwamba kujieleza, ambapo mimi tu nakala chini, kwa madhumuni ya leo, Nik. 448 00:19:43,440 --> 00:19:46,470 Hivyo sasa, nina kutofautiana kuitwa, s, kuhifadhi jina Nik ya. 449 00:19:46,470 --> 00:19:49,520 Nimekuwa tayari kukabidhiwa kwa printf, hoja uliopita. 450 00:19:49,520 --> 00:19:52,800 Lakini katika mstari wetu tatu na ya mwisho ya kanuni, mimi kwa kweli kuwa na mkono printf 451 00:19:52,800 --> 00:19:58,500 kitu kidogo different-- "hello,% s," backslash n. 452 00:19:58,500 --> 00:20:01,510 >> Na hivyo mstari wa mwisho mimi nina kwenda kwa send-- jambo la mwisho mimi nina 453 00:20:01,510 --> 00:20:03,060 kwenda kuandika sasa, ni hii. 454 00:20:03,060 --> 00:20:06,310 Hivyo mistari miwili ya kificho, au badala mstari wa mwisho wa kanuni, 455 00:20:06,310 --> 00:20:10,690 wito kwa ajili ya mbili inputs-- moja, hii, na wawili, huu. 456 00:20:10,690 --> 00:20:13,330 Hivyo kama printf yetu kufanya kazi sasa wanaweza kuchukua hizi kama pembejeo, 457 00:20:13,330 --> 00:20:16,000 napenda wazi screen kwa ajili yenu. 458 00:20:16,000 --> 00:20:17,250 Kwa kweli hakuna, unaweza kwenda mbele. 459 00:20:17,250 --> 00:20:19,333 Tutaweza kuondoka it up, tangu ni juu ya mpango huo. 460 00:20:19,333 --> 00:20:21,760 461 00:20:21,760 --> 00:20:27,380 Tunapaswa kuona, hello, Nik. 462 00:20:27,380 --> 00:20:27,880 Wote haki. 463 00:20:27,880 --> 00:20:29,670 Hivyo hii ilikuwa chache kabisa hoops kuruka kupitia, tu 464 00:20:29,670 --> 00:20:31,620 kuandika, hali yako jina, na, hello, Nik. 465 00:20:31,620 --> 00:20:37,210 Lakini wazo hili rahisi la ujumbe kupita, ya pembejeo kupita na pato kupokea, 466 00:20:37,210 --> 00:20:40,430 ni hasa mfano tunakwenda na kwa maana hata kazi ngumu zaidi. 467 00:20:40,430 --> 00:20:41,804 Hivyo asante sana kwa ninyi wawili. 468 00:20:41,804 --> 00:20:43,730 Tuna matatizo nzuri mpira hapa kwa ajili yenu. 469 00:20:43,730 --> 00:20:48,890 Na kuwashukuru kwa GetString yetu na kujitolea printf sawa. 470 00:20:48,890 --> 00:20:49,551 Asante. 471 00:20:49,551 --> 00:20:50,050 Wote haki. 472 00:20:50,050 --> 00:20:50,966 Asante kwa ninyi wawili. 473 00:20:50,966 --> 00:20:56,640 474 00:20:56,640 --> 00:21:00,430 >> Hivyo tumekuwa kuzungumza juu ya hivi sasa, wengi wao wakiwa kuhusu masharti. 475 00:21:00,430 --> 00:21:06,550 Na zinageuka kuwa C wanaweza kweli kuelewa aina kadhaa tofauti data. 476 00:21:06,550 --> 00:21:08,860 Kwa kweli, hebu kuchukua a tuangalie hizi hapa. 477 00:21:08,860 --> 00:21:12,490 Hivyo C, na mengi ya lugha, kuelewa mambo kuitwa chars. 478 00:21:12,490 --> 00:21:16,852 Char ujumla Byte moja tu, au bits nane. 479 00:21:16,852 --> 00:21:19,810 Na inawakilisha tabia moja, kama barua A, au mji mkuu 480 00:21:19,810 --> 00:21:21,990 barua A, au barua lowercase , Au mshangao uhakika, 481 00:21:21,990 --> 00:21:25,440 au tabia yoyote kwamba unaweza aina katika keyboard yako, na wakati mwingine hata zaidi. 482 00:21:25,440 --> 00:21:26,795 Sisi pia kutokea kwa kuona ikifungwa. 483 00:21:26,795 --> 00:21:31,160 Kuelea ni, kwa ujumla, 32-bit thamani, au ka nne 484 00:21:31,160 --> 00:21:33,660 kwa sababu tena, byte moja ni bits nane. 485 00:21:33,660 --> 00:21:36,675 >> Hivyo kuelea ni floating kumweka thamani, kitu kwa uhakika decimal. 486 00:21:36,675 --> 00:21:38,550 Na hakika, hilo ndilo movie alikuwa akizungumza 487 00:21:38,550 --> 00:21:42,240 kuhusu wakati wao alizungumza kuhusu yaliyo maadili uhakika, baadhi idadi maalum ya bits 488 00:21:42,240 --> 00:21:43,940 inatumiwa kuwakilisha idadi halisi. 489 00:21:43,940 --> 00:21:45,740 Lakini pia kuna mambo kuitwa mara mbili. 490 00:21:45,740 --> 00:21:47,860 Hizi zipo katika Java, kama wameweza kuchukuliwa APCS, 491 00:21:47,860 --> 00:21:51,540 na mara mbili, kama jina nashiriki unaonyesha, ni mara mbili kubwa kama kuelea. 492 00:21:51,540 --> 00:21:54,540 Bado idadi halisi, ni tu ana vipande zaidi 493 00:21:54,540 --> 00:21:58,390 na ambayo kwa kuwa milele sahihi zaidi, au kuhifadhi idadi hata kubwa. 494 00:21:58,390 --> 00:21:58,890 int ni rahisi. 495 00:21:58,890 --> 00:22:00,181 Kuongelea huo jana. 496 00:22:00,181 --> 00:22:01,160 Ni tu integer. 497 00:22:01,160 --> 00:22:03,980 Na ni kwa ujumla 32 bits, au ka nne. 498 00:22:03,980 --> 00:22:07,850 >> Na hivyo, kama una, hebu angalia sasa, 32 bits-- na sisi alifanya hivyo katika wiki 0, 499 00:22:07,850 --> 00:22:10,820 milele hivyo briefly-- kama una 32 bits, nini kubwa 500 00:22:10,820 --> 00:22:13,580 Idadi unaweza kuwakilisha kama integer? 501 00:22:13,580 --> 00:22:16,080 Kutoa au kuchukua? 502 00:22:16,080 --> 00:22:18,380 Ni kama bilioni 4, na kwamba tu kama tuko 503 00:22:18,380 --> 00:22:20,690 anayewakilisha idadi chanya tu. 504 00:22:20,690 --> 00:22:23,930 Kama una bits 32, na unataka kuwakilisha idadi hasi pia, 505 00:22:23,930 --> 00:22:27,100 mbalimbali wako ni, kimsingi, hasi Bilioni 2 kwa chanya bilioni 2. 506 00:22:27,100 --> 00:22:29,250 Lakini kwa ujumla, tutaweza kuanza saa 0 kwenda hadi bilioni 4. 507 00:22:29,250 --> 00:22:32,400 >> Huna kujua just, lakini tunaweza kuona hii, kwa kweli, kama mimi tu 508 00:22:32,400 --> 00:22:36,400 kufungua calculator kidogo, hapa. 509 00:22:36,400 --> 00:22:41,070 Siwezi kufanya 2 32, na hiyo ni hasa jinsi kubwa, 510 00:22:41,070 --> 00:22:43,190 jinsi wengi unaweza maadili kuwakilisha, kwa 32 bits. 511 00:22:43,190 --> 00:22:44,442 Na ni takribani bilioni 4. 512 00:22:44,442 --> 00:22:46,900 Hivyo tutaweza kushika kuona idadi hiyo katika maeneo kadhaa tofauti. 513 00:22:46,900 --> 00:22:48,890 Lakini kama unahitaji tena nambari ya hapo, 514 00:22:48,890 --> 00:22:51,670 zinageuka kuna ya kitu kinachoitwa kwa muda mrefu kwa muda mrefu. 515 00:22:51,670 --> 00:22:54,005 Na kwa muda mrefu kwa muda mrefu ni ujumla 64 bits, ambayo 516 00:22:54,005 --> 00:22:56,380 ina maana ni amri ya kiwango hata kubwa kuliko int. 517 00:22:56,380 --> 00:22:59,510 >> Hivyo siwezi hata kutamka kubwa idadi hiyo unaweza kuwakilisha, 518 00:22:59,510 --> 00:23:01,340 lakini ni kikubwa kubwa. 519 00:23:01,340 --> 00:23:05,190 Sasa kama kando, kihistoria, kama int ni 32 bits, 520 00:23:05,190 --> 00:23:12,780 na kwa muda mrefu kwa muda mrefu ni 64 bits, jinsi kubwa ni kwa muda mrefu, si muda mrefu kwa muda mrefu? 521 00:23:12,780 --> 00:23:16,500 522 00:23:16,500 --> 00:23:20,330 Wewe d nadhani ni muda mrefu zaidi int lakini labda chini ya muda mrefu kuliko muda mrefu, 523 00:23:20,330 --> 00:23:21,400 lakini ni kweli inategemea. 524 00:23:21,400 --> 00:23:23,400 >> Na hivyo ni zamu nje moja Matatizo ya pia, 525 00:23:23,400 --> 00:23:26,830 na kuandika kanuni juu ya mifumo fulani, ni kwamba si wote wa aina hizi data 526 00:23:26,830 --> 00:23:28,440 na kabla ya kuamua maadili. 527 00:23:28,440 --> 00:23:29,771 Wakati mwingine ni bits hii wengi. 528 00:23:29,771 --> 00:23:31,020 Wakati mwingine ni kwamba bits wengi. 529 00:23:31,020 --> 00:23:32,750 Hivyo kweli kuwa kujua, wakati mwingine, nini vifaa 530 00:23:32,750 --> 00:23:34,083 wewe ni mbio programu yako kwenye. 531 00:23:34,083 --> 00:23:36,960 Shukrani nyingi, lugha nyingine na aina nyingine takwimu ambazo sasa zipo, 532 00:23:36,960 --> 00:23:38,400 kuruhusu kuwa sahihi zaidi. 533 00:23:38,400 --> 00:23:41,220 Naam, tuliona kamba, na tuliona bool, pia, 534 00:23:41,220 --> 00:23:43,960 lakini zinageuka wale kuja tu kwa maktaba CS50. 535 00:23:43,960 --> 00:23:46,240 Hivyo wale si kujengwa ndani ya C. Wale badala yake, 536 00:23:46,240 --> 00:23:49,340 kuja katika kuwa faili inayoitwa CS50.h, kwamba tutaweza hatimaye 537 00:23:49,340 --> 00:23:51,831 peel nyuma tabaka la. 538 00:23:51,831 --> 00:23:53,830 Lakini kwa sasa, wao ni tu ziada data aina. 539 00:23:53,830 --> 00:23:57,060 Bool ni kweli au uongo, na a kamba ni mlolongo wa wahusika, 540 00:23:57,060 --> 00:23:57,970 kama neno. 541 00:23:57,970 --> 00:24:01,690 Sasa printf, tumeona, ina placeholders,% s ni moja. 542 00:24:01,690 --> 00:24:05,430 Na unaweza kuwa na uwezo, kwa sasa, kudai kutokana na mifano hiyo mengine, jinsi 543 00:24:05,430 --> 00:24:07,720 unaweza kuwa na placeholder kwa aina tofauti ya data. 544 00:24:07,720 --> 00:24:11,150 Kwa mfano, kuchukua nadhani, kama wewe alitaka magazeti nje Char moja kutumia 545 00:24:11,150 --> 00:24:15,270 printf, placeholder pengine% c. 546 00:24:15,270 --> 00:24:19,650 Na kama unataka magazeti nje integer na placeholder,% i. 547 00:24:19,650 --> 00:24:25,150 % lld ni muda mrefu thamani alisema, lakini kwa muda mrefu kwa muda mrefu, hivyo kwamba ramani na ile. 548 00:24:25,150 --> 00:24:28,640 Na% kisha f kwa yaliyo hatua thamani au kwa mara mbili, 549 00:24:28,640 --> 00:24:31,270 hivyo wakati mwingine wao ni re-kutumika katika mazingira tofauti. 550 00:24:31,270 --> 00:24:33,350 Hivyo tutaweza kuona na kutumia Baadhi ya watu baada ya muda. 551 00:24:33,350 --> 00:24:36,420 Na printf na kazi nyingine pia msaada wa wengine kutoroka Utaratibu, 552 00:24:36,420 --> 00:24:38,080 na wakati mwingine, hizi ni muhimu. 553 00:24:38,080 --> 00:24:39,770 Hivyo backslash n ni mstari mpya. 554 00:24:39,770 --> 00:24:42,886 Backslash t, je mtu yeyote wanataka kuchukua kumchoma? 555 00:24:42,886 --> 00:24:43,760 Watazamaji MEMBER: Tab. 556 00:24:43,760 --> 00:24:44,551 DAVID J Malan: Tab. 557 00:24:44,551 --> 00:24:46,810 Hivyo kama kweli wanataka magazeti nje tabo, si 558 00:24:46,810 --> 00:24:49,940 idadi maalum ya maeneo ya halisi lakini tab tabia, huna hit yako, 559 00:24:49,940 --> 00:24:53,490 tab, muhimu kwenye keyboard, kwa ujumla, wewe kweli kufanya backslash t. 560 00:24:53,490 --> 00:24:57,750 Backslash mbili kunukuu, kwa nini mimi milele wanataka hivyo? 561 00:24:57,750 --> 00:24:58,250 Sawa? 562 00:24:58,250 --> 00:25:00,417 Kwa nini siwezi tu aina mara mbili kunukuu kwenye keyboard yangu? 563 00:25:00,417 --> 00:25:02,124 Watazamaji MEMBER: Kwa sababu, vinginevyo, ni 564 00:25:02,124 --> 00:25:04,830 kwenda nadhani ni mwisho ya kama magazeti yako [? maandishi. ?] 565 00:25:04,830 --> 00:25:05,420 >> DAVID J Malan: Hasa. 566 00:25:05,420 --> 00:25:07,211 Kumbuka, na yetu mifano printf, wakati sisi 567 00:25:07,211 --> 00:25:10,075 walikuwa kupita kwa printf katika pembejeo, upande wa kushoto wa kamba kwamba pembejeo 568 00:25:10,075 --> 00:25:12,950 na juu ya haki ya pembejeo kwamba spring, bila shaka, alikuwa kunukuu mara mbili. 569 00:25:12,950 --> 00:25:16,270 Kama mchango wako mwenyewe ana mara mbili kunukuu katikati ya kwamba, 570 00:25:16,270 --> 00:25:18,920 kompyuta nguvu uwezekano kupata kuchanganyikiwa, kama kwa, 571 00:25:18,920 --> 00:25:20,760 anafanya kunukuu hii mara mbili mali katikati? 572 00:25:20,760 --> 00:25:22,150 Je, ni mali na mmoja wa kushoto? 573 00:25:22,150 --> 00:25:23,566 Je, ni mali na haki ya mmoja? 574 00:25:23,566 --> 00:25:26,780 Na hivyo, kama unataka kufanya hivyo super wazi, huna backslash mbili kunukuu, 575 00:25:26,780 --> 00:25:30,480 hivyo kwamba ni alitoroka, ili kuzungumza, na siyo alikataa kwa kitu kingine. 576 00:25:30,480 --> 00:25:34,400 Na kuna wengine wachache hapa, backslash r, quotes moja, 0, 577 00:25:34,400 --> 00:25:36,510 ili tuone baada ya muda, kama vile. 578 00:25:36,510 --> 00:25:37,760 Na sasa, vipi kuhusu kazi? 579 00:25:37,760 --> 00:25:41,630 >> Hivyo hatua ambazo tunaweza kuchukua hivi sasa katika lugha hii, C, vizuri, tumeona, 580 00:25:41,630 --> 00:25:44,320 printf, bila shaka, na wote wengine juu ya screen, 581 00:25:44,320 --> 00:25:47,140 hapa, kwamba tutaweza kutumia kwa kwanza wiki chache tu kozi, 582 00:25:47,140 --> 00:25:48,485 kuja wakati maktaba CS50. 583 00:25:48,485 --> 00:25:51,850 Nao kufanya ni rahisi sana, katika C, kwa kweli kupata pembejeo mtumiaji. 584 00:25:51,850 --> 00:25:54,200 Ni zinageuka kuwa katika C, na kusema ukweli katika lugha kadhaa, 585 00:25:54,200 --> 00:25:57,450 ni maumivu ya kweli katika shingo kufanya kitu rahisi, kama haraka mtumiaji 586 00:25:57,450 --> 00:26:01,310 kwa keyboard, kwa pembejeo yake. 587 00:26:01,310 --> 00:26:03,240 Na hivyo kazi hizi iwe rahisi. 588 00:26:03,240 --> 00:26:05,472 >> Na pia ina makosa kuangalia kote, 589 00:26:05,472 --> 00:26:07,180 hivyo kwamba, wakati kukumbuka siku ya Jumatano, sisi 590 00:26:07,180 --> 00:26:09,740 nikaona, jaribu tena, onyo, wakati sikuweza kushirikiana, 591 00:26:09,740 --> 00:26:11,700 na mimi niliandika neno, badala ya namba? 592 00:26:11,700 --> 00:26:15,402 Tumefanya kuondoa nzito mapema juu ya kuhakikisha user inashirikiana. 593 00:26:15,402 --> 00:26:17,860 Lakini haya ni mafunzo tu magurudumu kwamba sisi hatimaye, 594 00:26:17,860 --> 00:26:19,640 na kwa haraka, kuchukua mbali. 595 00:26:19,640 --> 00:26:22,630 >> Hivyo kwa kurejea, basi, hebu tuangalie kwa haraka, 596 00:26:22,630 --> 00:26:26,620 kiasi kama tulivyofanya kwa Scratch, katika baadhi constructs kisheria katika C. 597 00:26:26,620 --> 00:26:28,580 Hii ni maana ya, aina ya, kuwa ziara ya kimbunga, 598 00:26:28,580 --> 00:26:30,990 hivyo tu kwamba una kumbukumbu na kwamba wameweza kuona mambo kwa mara ya kwanza. 599 00:26:30,990 --> 00:26:34,100 Lakini basi tutaangalia coding halisi kutumia baadhi ya vipengele hivi. 600 00:26:34,100 --> 00:26:36,710 Sana kama katika Scratch, wakati tulikuwa kauli kama, 601 00:26:36,710 --> 00:26:41,570 kusema au, ngoja, katika C, hatuwezi kuwa na kazi pamoja, kama printf. 602 00:26:41,570 --> 00:26:45,350 >> Kama tunataka kueleza hali katika C, ni sawa, katika roho, 603 00:26:45,350 --> 00:26:47,840 kwa kuwa puzzle kipande kwamba inaonekana kama hii katika Scratch. 604 00:26:47,840 --> 00:26:49,850 Lakini badala yake, sisi literally tu kuandika, ikiwa. 605 00:26:49,850 --> 00:26:51,830 Na kisha, katika mabano, sisi kuweka hali, 606 00:26:51,830 --> 00:26:54,807 ambapo hali hiyo ndiyo tutaweza piga, tena, kujieleza bulin. 607 00:26:54,807 --> 00:26:56,390 Na tena, hii ni aina ya pseudocode. 608 00:26:56,390 --> 00:26:58,830 Na, kwa kweli, // ni maoni. 609 00:26:58,830 --> 00:27:00,550 Ni maneno tu Kiingereza kwa mwenyewe. 610 00:27:00,550 --> 00:27:03,000 Lakini hii ni kwa ujumla muundo wa, kama, hali hiyo. 611 00:27:03,000 --> 00:27:05,220 Lakini tutaweza kuona halisi mifano katika muda tu. 612 00:27:05,220 --> 00:27:07,960 >> Kama unataka kuwa na njia mbili uma katika barabara, 613 00:27:07,960 --> 00:27:11,740 kiasi kama tulivyofanya kwa kujitolea yetu juu ya Jumatano, unaweza kuwa, mwingine kama. 614 00:27:11,740 --> 00:27:16,020 Na kama unataka kuwa na tatu na hali ya mwisho, au hali ya msingi, 615 00:27:16,020 --> 00:27:19,006 unaweza kuwa tu mwingine kuzuia, huko. 616 00:27:19,006 --> 00:27:21,880 Na vile vile, kwa maneno ya bulin, unaweza, na, pamoja. 617 00:27:21,880 --> 00:27:24,296 Na tuliona juu ya Jumatano, kwamba siyo ampersand moja, 618 00:27:24,296 --> 00:27:28,220 ni mbili, kwa sababu ngazi ya chini kuwa tutaweza hatimaye kuona na kucheza na. 619 00:27:28,220 --> 00:27:30,410 Au-ing mambo pamoja ni 2 wima baa. 620 00:27:30,410 --> 00:27:32,240 On Marekani keyboard, hii kwa ujumla ni muhimu 621 00:27:32,240 --> 00:27:35,730 kwa Shift muhimu juu Kuingia yako muhimu au Rudisha muhimu. 622 00:27:35,730 --> 00:27:38,620 >> Kisha kuna vitu hivi kwamba tutaweza kutumia labda mara moja au mbili. 623 00:27:38,620 --> 00:27:42,570 Wao ni functionally sawa na nini unaweza kufanya na, kama, mwingine kama, 624 00:27:42,570 --> 00:27:44,950 kingine kama mwingine, kujenga, lakini wao ni kuitwa kubadili. 625 00:27:44,950 --> 00:27:48,020 Wao kuangalia tofauti sana, lakini tutaweza ona katika baadhi ya usambazaji kanuni zetu, 626 00:27:48,020 --> 00:27:51,890 kwa ajili ya baadaye kuweka tatizo, uwezekano mkubwa, kuwa ni wakati mwingine tu prettier 627 00:27:51,890 --> 00:27:54,060 njia ya kuonyesha nzima rundo la masharti, 628 00:27:54,060 --> 00:27:57,590 bila ya kuwa mengi ya braces curly na mengi ya mabano na indentation. 629 00:27:57,590 --> 00:28:01,910 Lakini wao kutupatia tena nguvu kuliko sisi tayari. 630 00:28:01,910 --> 00:28:02,550 Na sasa loops. 631 00:28:02,550 --> 00:28:05,020 Na hii moja, tutaangalia katika kidogo polepole zaidi. 632 00:28:05,020 --> 00:28:08,470 Lakini basi, tutaweza kuanza kutumia hizi, hasa kwa wale ambao tayari ukoo. 633 00:28:08,470 --> 00:28:13,830 Hii ni njia kisheria, ikiwa incredibly arcane njia, kuandika kitanzi katika C. 634 00:28:13,830 --> 00:28:15,896 >> Sasa kitanzi katika Scratch ilikuwa pretty moja kwa moja. 635 00:28:15,896 --> 00:28:17,020 Una, milele, kuzuia. 636 00:28:17,020 --> 00:28:19,760 Una, kurudia, kuzuia na idadi tu una aina katika. 637 00:28:19,760 --> 00:28:22,220 Na kwa, kwa kitanzi, unaweza kutekeleza wote wawili wa mawazo hayo, 638 00:28:22,220 --> 00:28:23,595 lakini ni kidogo zaidi ya kiufundi. 639 00:28:23,595 --> 00:28:25,994 Lakini kusema ukweli, pia ni rahisi. 640 00:28:25,994 --> 00:28:28,160 Mara unajua utaratibu wa shughuli, wewe literally 641 00:28:28,160 --> 00:28:30,910 ni kwenda tu kuziba katika maadili na kuwaambia kompyuta nini cha kufanya. 642 00:28:30,910 --> 00:28:32,800 Hivyo hapa ni mfano. 643 00:28:32,800 --> 00:28:38,040 Hii ni kitanzi kwamba, kabisa tu, makosa kutoka namba moja hadi 644 00:28:38,040 --> 00:28:40,187 kupitia mwingine. 645 00:28:40,187 --> 00:28:42,020 Na tu na glancing saa hiyo, hata kama una 646 00:28:42,020 --> 00:28:44,660 hawana uzoefu kabla na lugha hii, nini idadi 647 00:28:44,660 --> 00:28:46,920 je, ni pengine kuanza kuhesabu katika? 648 00:28:46,920 --> 00:28:47,730 OK, 0. 649 00:28:47,730 --> 00:28:50,240 Na mimi nina guessing hiyo ni kwa sababu wewe kuona kwamba kuna int na i, 650 00:28:50,240 --> 00:28:51,073 ambayo ni kutofautiana. 651 00:28:51,073 --> 00:28:52,390 Ni initialized kwa 0. 652 00:28:52,390 --> 00:28:55,670 >> Na kisha baadaye, inaonekana kama sisi ni kupita printf, thamani. 653 00:28:55,670 --> 00:28:58,000 Na, kwa kweli, nilifanya typo kidogo hapa. 654 00:28:58,000 --> 00:28:59,850 Lakini hiyo ni kwa urahisi fasta. 655 00:28:59,850 --> 00:29:02,390 Napenda kuongeza katika, i hapa. 656 00:29:02,390 --> 00:29:06,150 Kwa sasa tuna printf kuwa kupita kwamba thamani placeholder. 657 00:29:06,150 --> 00:29:08,299 Na nini kinaendelea kuhesabu juu kupitia? 658 00:29:08,299 --> 00:29:08,840 Watazamaji: 50. 659 00:29:08,840 --> 00:29:09,340 50. 660 00:29:09,340 --> 00:29:10,160 49. 661 00:29:10,160 --> 00:29:10,910 DAVID J Malan: 49. 662 00:29:10,910 --> 00:29:13,340 Hivyo 50, katika mtazamo wa kwanza, inaonekana haki. 663 00:29:13,340 --> 00:29:16,990 Lakini hiyo, ni zamu nje, ni kwenda kuwa hali yetu kwamba sisi kuendelea kuangalia. 664 00:29:16,990 --> 00:29:21,740 Na tunakwenda kuacha mara moja i ni tena chini ya 50. 665 00:29:21,740 --> 00:29:24,920 Hivyo kitanzi hii, kinyume chake, lazima kutekeleza, hivyo muda mrefu kama i ni chini ya 50. 666 00:29:24,920 --> 00:29:28,891 Lakini kwa haraka kama inakuwa 50, au 51, au mbaya, ni lazima kuacha moja kwa moja. 667 00:29:28,891 --> 00:29:29,390 Wote haki. 668 00:29:29,390 --> 00:29:31,200 >> Hivyo nini hasa kinatokea hapa? 669 00:29:31,200 --> 00:29:33,160 Hivyo hii ni amri ya shughuli kwa kitanzi. 670 00:29:33,160 --> 00:29:35,440 Moja, una kinachojulikana initialization. 671 00:29:35,440 --> 00:29:38,264 Hii njano yalionyesha chunk wa kanuni ni kunyongwa kwanza, 672 00:29:38,264 --> 00:29:40,930 na ina athari kwamba, kwa Jumatano, pengine kufikiria. 673 00:29:40,930 --> 00:29:45,500 Ni inajenga variable kuitwa i na ni Maduka kwa kuwa kutofautiana thamani 0. 674 00:29:45,500 --> 00:29:47,560 Hivyo i ni 0 katika hatua hii katika hadithi. 675 00:29:47,560 --> 00:29:49,680 >> Jambo la pili kwamba hutokea katika kujenga huu, 676 00:29:49,680 --> 00:29:51,540 ni kwamba hali anapata checked. 677 00:29:51,540 --> 00:29:54,325 Hivyo mimi kuangalia mara moja, ni i chini ya 50? 678 00:29:54,325 --> 00:29:57,700 Na bila shaka, jibu kwa sasa ni, bila shaka, ndiyo. 679 00:29:57,700 --> 00:30:00,710 Ndiyo, kwa sababu i ni 0, na hiyo ni hakika chini ya 50. 680 00:30:00,710 --> 00:30:03,866 Kisha nini kinatokea, ni kwamba hii mstari wa kanuni anapata kunyongwa. 681 00:30:03,866 --> 00:30:06,740 Na kwa kweli, kama kuna nyingi mstari wa kanuni katika braces wale curly, 682 00:30:06,740 --> 00:30:09,020 wote kupata kuuawa mmoja baada ya mwingine. 683 00:30:09,020 --> 00:30:11,450 >> Na katika athari hapa, ni inaonekana, magazeti nje 684 00:30:11,450 --> 00:30:15,365 idadi i, ambayo ni kwenda 0, na kisha 1, na kisha 2. 685 00:30:15,365 --> 00:30:15,865 Lakini kwa nini? 686 00:30:15,865 --> 00:30:17,410 Kwa nini ni kupata incremented? 687 00:30:17,410 --> 00:30:20,680 Naam, jambo la nne kwamba kinachotokea ni kwamba syntax hii 688 00:30:20,680 --> 00:30:22,610 anapata kunyongwa, baada ya semicolon. 689 00:30:22,610 --> 00:30:27,506 i ++ ni njia shorthand ya kusema; kuchukua thamani ya i, na kuongeza 1 kwa hivyo; 690 00:30:27,506 --> 00:30:30,380 na kisha mara ya pili karibu, kuongeza 1 kwa hilo, na wakati mwingine kote, 691 00:30:30,380 --> 00:30:31,330 kuongeza 1 na hiyo. 692 00:30:31,330 --> 00:30:33,640 >> Hivyo kama sisi kuendelea na safari, nini kitatokea 693 00:30:33,640 --> 00:30:35,890 pili ni Sitakuja kwa initialize i milele tena. 694 00:30:35,890 --> 00:30:38,290 Kama mimi naendelea initializing i 0, mfano huu 695 00:30:38,290 --> 00:30:41,110 yasingeli kwisha kwa sababu i itakuwa kukwama katika 0. 696 00:30:41,110 --> 00:30:43,870 Lakini nini kinaenda kutokea ni kwamba hali kuchunguzwa, 697 00:30:43,870 --> 00:30:54,280 mstari wa kanuni kupata kunyongwa, i itakuwa incremented, 698 00:30:54,280 --> 00:30:56,970 hali kuchunguzwa, kificho kupata kunyongwa. 699 00:30:56,970 --> 00:30:59,790 Na naendelea baiskeli tena, na tena, na tena, 700 00:30:59,790 --> 00:31:03,340 mpaka i ++ induces thamani ya 50. 701 00:31:03,340 --> 00:31:05,870 >> Hali kisha anasema, ni 50 chini ya 50? 702 00:31:05,870 --> 00:31:09,360 Jibu, bila shaka, hakuna, na hivyo kificho zima haachi utekelezaji. 703 00:31:09,360 --> 00:31:13,020 Na kama una kificho zaidi juu ya screen chini chini, kwamba ni nini kinatokea ijayo. 704 00:31:13,020 --> 00:31:17,530 Pops nje ya hizi braces curly na inaendelea na magazeti zaidi baada ya hapo. 705 00:31:17,530 --> 00:31:20,470 >> Hivyo utani sasa, kutokana na Foxtrot, kwamba wewe utakuwa labda sasa kuelewa. 706 00:31:20,470 --> 00:31:30,810 707 00:31:30,810 --> 00:31:31,560 Ni siku zote funny. 708 00:31:31,560 --> 00:31:34,110 Ni kama chuckles aina ya percolate, 709 00:31:34,110 --> 00:31:38,370 na kisha wewe kutambua hawapaswi kuwa laughing katika ucheshi kama hii. 710 00:31:38,370 --> 00:31:41,160 Lakini kuna baadhi takeaway hapa, pedagogically, pia. 711 00:31:41,160 --> 00:31:43,577 Hivyo ni zamu nje kwamba mimi nina kukosa kipande cha syntax, 712 00:31:43,577 --> 00:31:45,410 au Foxtrot ya kukosa kipande cha syntax hapa. 713 00:31:45,410 --> 00:31:48,076 Kinachokosekana, kwamba tulikuwa na katika kila mfano mwingine, hivi sasa? 714 00:31:48,076 --> 00:31:51,599 715 00:31:51,599 --> 00:31:53,390 Kwa upande wake, ni pale, hivyo hiyo ni kitu kingine, 716 00:31:53,390 --> 00:31:54,440 kwamba tutaweza kurudi kwa kabla ya muda mrefu. 717 00:31:54,440 --> 00:31:55,398 Kinachokosekana, ingawa? 718 00:31:55,398 --> 00:31:55,908 Naam. 719 00:31:55,908 --> 00:31:58,150 >> Watazamaji MEMBER: initialization ya [inaudible]. 720 00:31:58,150 --> 00:31:58,470 >> DAVID J Malan: Sawa. 721 00:31:58,470 --> 00:31:58,980 Hivyo yeah. 722 00:31:58,980 --> 00:32:03,210 Hivyo kweli, hii is-- Naam, na kuhesabu ni initialized 723 00:32:03,210 --> 00:32:05,470 up hapo juu, au tuseme, alitangaza juu juu. 724 00:32:05,470 --> 00:32:06,960 Hivyo hii ni njia nyingine ya kufanya hivyo. 725 00:32:06,960 --> 00:32:08,685 Lakini si katika mstari mmoja ni halali ingawa. 726 00:32:08,685 --> 00:32:09,310 Vipi kuhusu hapa? 727 00:32:09,310 --> 00:32:10,196 >> Watazamaji MEMBER: Je, ni braces curly? 728 00:32:10,196 --> 00:32:10,640 >> DAVID J Malan: Yeah. 729 00:32:10,640 --> 00:32:12,080 Hivyo braces curly ni kukosa. 730 00:32:12,080 --> 00:32:15,495 Lakini kanuni hii, I mean, kwa mikopo yao, ni kweli, syntactically halali. 731 00:32:15,495 --> 00:32:17,610 Zinageuka, huna haja braces curly 732 00:32:17,610 --> 00:32:21,691 kama wewe tu na mstari mmoja wa kificho kwamba unataka kutekeleza ndani ya kitanzi. 733 00:32:21,691 --> 00:32:24,190 Sasa sisi siku zote, katika darasa na katika wote wa usambazaji kanuni zetu, 734 00:32:24,190 --> 00:32:26,730 pamoja na braces curly anyway, tu kwa ajili ufafanuzi wa. 735 00:32:26,730 --> 00:32:29,010 Lakini kutambua kwamba katika vitabu vya kiada na mifano online, 736 00:32:29,010 --> 00:32:31,300 unaweza vizuri sana angalia curly inakabiliwa na kukosa muda fulani. 737 00:32:31,300 --> 00:32:34,850 Na hiyo ni sawa, ikiwa nyinyi kuwa indented na lengo 738 00:32:34,850 --> 00:32:38,650 ni tu line moja ya kanuni, na si mistari mingi ya kificho, uwezekano. 739 00:32:38,650 --> 00:32:39,150 Wote haki. 740 00:32:39,150 --> 00:32:44,500 Hivyo kuhusiana na suala la kutokuwa sahihi, ni suala la kufurika, 741 00:32:44,500 --> 00:32:48,560 kwa maana kwamba, vile vile, Je, integers na mipaka kwao 742 00:32:48,560 --> 00:32:49,970 kama yaliyo maadili uhakika? 743 00:32:49,970 --> 00:32:53,120 Katika dunia hatua yaliyo maadili, tunaweza tu kuwa hivyo sahihi, 744 00:32:53,120 --> 00:32:55,710 baada ya hapo, wakati mwingine mambo mabaya yanaweza kutokea, 745 00:32:55,710 --> 00:32:57,760 na mipango yetu inaweza kuwa buggy na makosa. 746 00:32:57,760 --> 00:33:00,050 Sasa hata kwa integers, unaweza kukimbia katika matatizo. 747 00:33:00,050 --> 00:33:03,820 Sasa integer hana uhakika decimal au namba baada yake. 748 00:33:03,820 --> 00:33:07,130 Ni tu idadi ya asili, kawaida. 749 00:33:07,130 --> 00:33:09,430 Basi nini inaweza kwenda vibaya na int? 750 00:33:09,430 --> 00:33:12,210 Kama mimi nina kutumia int kwa kuhesabu, nini inaweza kwenda vibaya? 751 00:33:12,210 --> 00:33:13,230 Inaonekana rahisi sana. 752 00:33:13,230 --> 00:33:13,873 Naam. 753 00:33:13,873 --> 00:33:16,240 >> Watazamaji MEMBER: Kama idadi anapata [inaudible] 754 00:33:16,240 --> 00:33:17,073 >> DAVID J Malan: Yeah. 755 00:33:17,073 --> 00:33:20,820 Nini kama wewe kuhesabu juu, kwamba wewe hawezi kueleza kwamba idadi kubwa kweli kweli. 756 00:33:20,820 --> 00:33:21,320 Sawa? 757 00:33:21,320 --> 00:33:23,910 Katika hatua nyingine, wewe ni kwenda kisichozidi mipaka 758 00:33:23,910 --> 00:33:27,077 ya 32-bit thamani au thamani ya 64-bit. 759 00:33:27,077 --> 00:33:29,410 Sasa tena, mimi nina uhakika jinsi kutamka thamani ya 64-bit, 760 00:33:29,410 --> 00:33:32,230 lakini najua kwa 32-bit integer, kubwa thamani inaweza kuwa, 761 00:33:32,230 --> 00:33:35,490 ikiwa ni chanya tu maadili, ni takribani bilioni 4. 762 00:33:35,490 --> 00:33:39,000 Hivyo kama mimi kujaribu kuhesabu hadi bilioni 5, kitu ambacho kinaenda kutokea. 763 00:33:39,000 --> 00:33:41,050 Lakini hebu angalia nini, kwa kweli, yanaweza kutokea. 764 00:33:41,050 --> 00:33:44,570 Katika ulimwengu wa integer kufurika, ambapo, kwa maana, 765 00:33:44,570 --> 00:33:48,270 kufurika uwezo wa integer, nini kinaweza kutokea? 766 00:33:48,270 --> 00:33:51,190 >> Hivyo hapa ni idadi binary, ni throwback kwa 0. 767 00:33:51,190 --> 00:33:54,630 Ni wote wa 1, na placeholders huko, ni nguvu za 2, 768 00:33:54,630 --> 00:33:55,980 hivyo hii ni mapacha. 769 00:33:55,980 --> 00:33:59,416 Basi hizi ni 8, 1 bits kwenye screen. 770 00:33:59,416 --> 00:34:01,290 Na kama unakumbuka au wewe haraka kufanya hesabu, 771 00:34:01,290 --> 00:34:06,074 thamani kile ni kuwa kuwakilishwa hapa na haya nane 1 bits? 772 00:34:06,074 --> 00:34:06,950 255. 773 00:34:06,950 --> 00:34:09,260 Na hata kama hawakuwa na uhakika kabisa ya hisabati, unaweza kufanya hivyo nje. 774 00:34:09,260 --> 00:34:10,550 Au unaweza tu aina ya sababu kwa njia hiyo, 775 00:34:10,550 --> 00:34:12,633 kusubiri dakika, kama mimi nina anayewakilisha thamani 8 kidogo, 776 00:34:12,633 --> 00:34:17,750 na mimi nimepata maadili 256 iwezekanavyo, lakini kwanza ambayo ni 0, 777 00:34:17,750 --> 00:34:19,909 Mimi tu kujua kwamba kubwa ni kwenda kuwa 255, 778 00:34:19,909 --> 00:34:21,510 na hilo ndilo huu mtu anaweza kuwa. 779 00:34:21,510 --> 00:34:26,060 >> Hivyo nadhani kujaribu kuongeza 1 kwa thamani hiyo. 780 00:34:26,060 --> 00:34:28,750 Je utafanya nini katika daraja shule wakati akiongeza 1, na ni 781 00:34:28,750 --> 00:34:31,139 kweli haina fit kwa sababu una kubeba 1? 782 00:34:31,139 --> 00:34:34,380 Ni nini idadi hii kwenda kuwa wakati kuongeza 1? 783 00:34:34,380 --> 00:34:37,030 Ni kwenda kuwa 0. 784 00:34:37,030 --> 00:34:37,530 Sawa? 785 00:34:37,530 --> 00:34:41,139 Kwa sababu kama alikuwa na zaidi bits-- na mimi itabidi kujaribu, aina ya, aina yake nje here-- 786 00:34:41,139 --> 00:34:44,710 kama tulikuwa na bits zaidi, nini sisi anaweza kufanya hapa ni kuongeza 1, 787 00:34:44,710 --> 00:34:47,370 na kisha tunatarajia kupata hii. 788 00:34:47,370 --> 00:34:48,739 Whoops. 789 00:34:48,739 --> 00:34:52,250 Tunatarajia kuwa 1 bit njia yote juu hapa. 790 00:34:52,250 --> 00:34:55,530 >> Lakini kama hii ni mahususi thamani, ni bits 8 tu, 791 00:34:55,530 --> 00:34:57,480 na kwamba kabla ya kuamua na kompyuta, 792 00:34:57,480 --> 00:34:59,370 kuwa 1 ni ufanisi si huko. 793 00:34:59,370 --> 00:35:00,980 Ni aina tu ya maporomoko mbali Cliff. 794 00:35:00,980 --> 00:35:05,480 Na hivyo kama wewe kuongeza 1 kwa 255, nini thamani do you inaonekana kupata? 795 00:35:05,480 --> 00:35:06,180 0. 796 00:35:06,180 --> 00:35:09,700 Na hivyo idadi ajali, na pengine, bila kukusudia, 797 00:35:09,700 --> 00:35:12,040 kuishia wrapping karibu kama hii. 798 00:35:12,040 --> 00:35:14,079 Sasa ni nini kinaweza kuwa maana ya hii? 799 00:35:14,079 --> 00:35:15,620 Naam, kuna mambo kadhaa tofauti. 800 00:35:15,620 --> 00:35:18,751 Hivyo moja, haina kuishia kuangalia kama 0, bila kukusudia, 801 00:35:18,751 --> 00:35:20,750 lakini unaweza aina ya kuona, hata katika ulimwengu wa kweli, 802 00:35:20,750 --> 00:35:23,416 kwa bora au mbaya, maonyesho ya wazo hili la kikomo. 803 00:35:23,416 --> 00:35:26,630 Kwa mfano, mtu yeyote kati yenu ambaye wamewahi kucheza Lego Star Wars, 804 00:35:26,630 --> 00:35:28,880 haina mtu yeyote kutokea kwa kujua upeo wa idadi ya sarafu 805 00:35:28,880 --> 00:35:32,032 unaweza kukusanya katika Lego Star Wars? 806 00:35:32,032 --> 00:35:35,640 Kuchukua nadhani kulingana na maswali ya leo kuongoza. 807 00:35:35,640 --> 00:35:39,140 Ni kubwa kuliko 256 au 255. 808 00:35:39,140 --> 00:35:40,330 Ni bilioni 4. 809 00:35:40,330 --> 00:35:42,080 Hivyo ni zamu nje, na kuna baadhi people-- 810 00:35:42,080 --> 00:35:46,080 baadhi googling alithibitisha jana night-- waliopata bilioni 4 dhahabu sarafu, 811 00:35:46,080 --> 00:35:47,730 au whatnot, katika Lego Star Wars. 812 00:35:47,730 --> 00:35:49,860 Ingawa inaonekana, kuna njia ya hila mchezo, 813 00:35:49,860 --> 00:35:53,222 kuna mdudu au kipengele, ambayo inakuwezesha tu inaingia kura na kura ya pointi. 814 00:35:53,222 --> 00:35:54,930 Lakini kubwa iwezekanavyo thamani, kwa mujibu 815 00:35:54,930 --> 00:35:58,360 screen hii risasi ya mtu mimi kupatikana online, ni kweli, bilioni 4. 816 00:35:58,360 --> 00:35:59,240 >> Sasa kwa nini ni kwamba? 817 00:35:59,240 --> 00:36:03,040 Ni just bilioni 4, pengine kwa sababu mtu aliamua, 818 00:36:03,040 --> 00:36:05,500 ambao alikuwa anaandika mchezo huu, waweze kufanya bilioni 4, 819 00:36:05,500 --> 00:36:07,340 kitu, kitu, kitu, kama mimi kuweka thamani 820 00:36:07,340 --> 00:36:10,256 na calculator awali, lakini ni tu safi kidogo kwa ajili ya binadamu 821 00:36:10,256 --> 00:36:12,610 kusema upeo wa idadi ya coins-- au studs, 822 00:36:12,610 --> 00:36:14,860 kwani simu them-- kwamba unaweza kukusanya ni bilioni 4. 823 00:36:14,860 --> 00:36:16,290 Na hivyo, kwa nini hii? 824 00:36:16,290 --> 00:36:20,310 Jinsi ni mchezo LEGO utekelezaji wa kukabiliana na 825 00:36:20,310 --> 00:36:23,420 hiyo ni kuweka wimbo wa idadi ya sarafu una? 826 00:36:23,420 --> 00:36:24,266 Wao ni kutumia nini? 827 00:36:24,266 --> 00:36:26,390 Watazamaji MEMBER: Ni ataacha kuhesabu baada ya bilioni 4. 828 00:36:26,390 --> 00:36:27,720 DAVID J Malan: Ni ataacha kuhesabu baada ya bilioni 4, 829 00:36:27,720 --> 00:36:29,525 ambayo ina maana unaweza kudai, kama programu, 830 00:36:29,525 --> 00:36:31,960 kwamba wao ni pengine kutumia 32 kidogo integer. 831 00:36:31,960 --> 00:36:35,380 Kama programu literally tu typed, int, katika kanuni zake, 832 00:36:35,380 --> 00:36:39,620 na kwamba aina ya kutofautiana kwamba wao ni kutumia kuhifadhi kificho mtu. 833 00:36:39,620 --> 00:36:42,230 Hivyo kuna dalili zingine wa aina hii ya mipaka. 834 00:36:42,230 --> 00:36:45,063 >> Hivyo mimi si kucheza game-- hii na mimi nilikuwa kusoma juu ya historia 835 00:36:45,063 --> 00:36:48,470 kuthibitisha kama much-- lakini katika toleo la awali la Ustaarabu, ambapo 836 00:36:48,470 --> 00:36:53,240 wewe inaonekana kuingiliana na kila wengine na wanaweza kupigana vita au amani, 837 00:36:53,240 --> 00:36:56,590 Gandhi ilitakiwa kuwa moja ya wahusika zaidi ya amani, kama mimi 838 00:36:56,590 --> 00:36:59,280 kuelewa, katika kwanza toleo la Civilization. 839 00:36:59,280 --> 00:37:03,250 Na kwa kweli, juu ya kipimo cha 1 mpaka 10, uchokozi wake mara tu 1. 840 00:37:03,250 --> 00:37:05,620 Hivyo milele hivyo kwa upole fujo, inaonekana. 841 00:37:05,620 --> 00:37:11,590 >> Lakini wakati fulani, unaweza dhahiri kufunga demokrasia nchini Jiografia yako. 842 00:37:11,590 --> 00:37:14,900 Na kama wewe kufunga demokrasia ndani ya toleo yako ya mchezo, 843 00:37:14,900 --> 00:37:17,320 kisha uchokozi wako ngazi inakwenda chini. 844 00:37:17,320 --> 00:37:18,460 Ni jambo zuri. 845 00:37:18,460 --> 00:37:20,890 Watu ni zaidi utulivu inaonekana, katika hali hiyo. 846 00:37:20,890 --> 00:37:23,190 Lakini inaonekana, mtu alifanya na kitu, ikiwa, hali 847 00:37:23,190 --> 00:37:24,780 katika toleo asili ya kificho. 848 00:37:24,780 --> 00:37:30,650 >> Hivyo Gandhi uchokozi cha akaenda kutoka chanya 1, bala 2, kwa hasi 1, 849 00:37:30,650 --> 00:37:33,840 lakini mchezo hana kuelewa idadi hasi. 850 00:37:33,840 --> 00:37:38,680 Kwa hiyo kile kilichotokea ilikuwa uchokozi Gandhi kiwango cha akaenda kutoka 1, 0, kwa hasi 1, 851 00:37:38,680 --> 00:37:40,900 ambayo ilikuwa na athari ya wrapping karibu na kuwa 852 00:37:40,900 --> 00:37:44,690 tabia fujo zaidi katika mchezo, wakati thamani ya 255, 853 00:37:44,690 --> 00:37:46,630 juu ya kipimo cha 1 mpaka 10. 854 00:37:46,630 --> 00:37:49,887 Na tangu wakati huo, kumekuwa na incarnations zaidi ya mchezo huu, 855 00:37:49,887 --> 00:37:51,720 na wameweza agizo hilo kama aina ya Pasaka mayai, 856 00:37:51,720 --> 00:37:53,870 kwamba Gandhi ni inaonekana hivyo sana fujo. 857 00:37:53,870 --> 00:37:56,740 Lakini ilikuwa ni matokeo ya Programu makosa rahisi sana 858 00:37:56,740 --> 00:37:58,630 katika kwamba toleo mapema sana ya mchezo. 859 00:37:58,630 --> 00:38:02,860 >> Sasa zaidi disturbingly, zaidi Hivi karibuni, Boeing 787 860 00:38:02,860 --> 00:38:05,720 ilikuwa kumbukumbu kama kuwa mdudu, si aina ya kifaa 861 00:38:05,720 --> 00:38:07,340 wewe hasa nataka kuwa na mdudu. 862 00:38:07,340 --> 00:38:10,130 Na dalili kwamba nita kusoma hapa, kutoka makala online, 863 00:38:10,130 --> 00:38:13,840 ilikuwa hii, mfano ndege 787 ambayo imekuwa inaendeshwa kuendelea 864 00:38:13,840 --> 00:38:18,030 kwa muda wa siku 248 wanaweza kupoteza wote mchanganyiko wa sasa, AC, 865 00:38:18,030 --> 00:38:20,850 nguvu za umeme, kutokana na vitengo vya kudhibiti jenereta, 866 00:38:20,850 --> 00:38:23,330 GCUs, wakati huo huo kwenda katika mkao wa tahadhari. 867 00:38:23,330 --> 00:38:26,790 Hivyo hii ilikuwa onyo iliyotolewa wakati tatizo hili iligundulika. 868 00:38:26,790 --> 00:38:28,750 Hali hii inasababishwa na programu ya kukabiliana, 869 00:38:28,750 --> 00:38:32,230 ndani ya GCUs, hivyo integer au kutofautiana, 870 00:38:32,230 --> 00:38:36,850 kwamba mapenzi kufurika baada 248 siku ya madaraka kuendelea. 871 00:38:36,850 --> 00:38:40,350 Boeing iko katika mchakato wa kuendeleza GCU programu ya kuboresha kwamba 872 00:38:40,350 --> 00:38:42,350 itakuwa kukabiliana na hali salama. 873 00:38:42,350 --> 00:38:44,226 >> Sana kama kombora mazingira, eti 874 00:38:44,226 --> 00:38:46,850 walikuwa na aina fulani ya kutofautiana kwamba alikuwa kuhesabu, na kuhesabu, 875 00:38:46,850 --> 00:38:50,720 na kuhesabu, lakini hatua kwa hatua imejazwa mipaka ya uwezo wake, 876 00:38:50,720 --> 00:38:54,890 vile vile alivyofanya ndege damn na kufurika kutofautiana 877 00:38:54,890 --> 00:38:56,410 baada ya muda wa kutosha wa mbio. 878 00:38:56,410 --> 00:38:59,240 Na hivyo ulimi-katika-shavu njia ya kufanya kazi kwa karibu suala hili 879 00:38:59,240 --> 00:39:04,400 ni kwa kweli, reboot, ndege yako kila Siku 247, ili kumbukumbu anapata kufutika 880 00:39:04,400 --> 00:39:06,100 na kutofautiana anarejea 0. 881 00:39:06,100 --> 00:39:09,410 Lakini kutambua, hii ni sana mwili kubwa ya programu, 882 00:39:09,410 --> 00:39:14,070 lakini hasa kama sisi kusikia kuhusu Apple mifumo ya uendeshaji kwenda katika magari, 883 00:39:14,070 --> 00:39:18,030 na kujitegemea kuendesha magari kutoka Google, na idadi yoyote ya incarnations ya programu 884 00:39:18,030 --> 00:39:21,000 katika maisha ya kila siku yetu, TV na kuona, na zaidi, 885 00:39:21,000 --> 00:39:24,950 kutambua walikuwa kuzungukwa na programu, yote ambayo imeandikwa na sisi binadamu. 886 00:39:24,950 --> 00:39:28,150 >> Na kama tutaweza wote karibuni kugundua, ni rahisi sana na kawaida sana 887 00:39:28,150 --> 00:39:30,250 kufanya makosa wakati wa kuandika programu. 888 00:39:30,250 --> 00:39:32,745 Na kama huna kuwakamata, baadhi ya mambo mabaya yanaweza kutokea. 889 00:39:32,745 --> 00:39:35,400 Sasa wakati mwingine, baadhi mambo funny yanaweza kutokea, 890 00:39:35,400 --> 00:39:38,280 au angalau wakati mwingine sisi kujua cha kutarajia baadhi ubaya. 891 00:39:38,280 --> 00:39:41,550 Hivyo 0 kugawanywa na 0, kutoka daraja shule, kwa ujumla ni jambo baya. 892 00:39:41,550 --> 00:39:43,050 Ni kisichojulikana. 893 00:39:43,050 --> 00:39:46,440 Na ni zamu nje na hebu angalia kama mic yangu anaweza kuchukua hii up-- kwamba Apple 894 00:39:46,440 --> 00:39:47,790 alikuwa na baadhi ya furaha na hii hivi karibuni. 895 00:39:47,790 --> 00:39:48,850 Hivyo nina iPhone hapa. 896 00:39:48,850 --> 00:39:54,160 Mimi nina kwenda kuzungumza na Siri na kuuliza yake kunipa jibu la 0 kugawanywa na 0. 897 00:39:54,160 --> 00:39:55,850 Kile ni 0 kugawanywa na 0? 898 00:39:55,850 --> 00:39:59,350 899 00:39:59,350 --> 00:40:02,230 >> Siri: Fikiria kuwa una 0 biskuti, na wewe kupasuliwa yao sawasawa 900 00:40:02,230 --> 00:40:03,540 miongoni mwa 0 marafiki. 901 00:40:03,540 --> 00:40:05,810 Jinsi kuki wengi haina kila mtu kupata? 902 00:40:05,810 --> 00:40:06,350 Kuona kitu gani? 903 00:40:06,350 --> 00:40:07,660 Ni haina mantiki. 904 00:40:07,660 --> 00:40:10,540 Na Cookie Monster Inasikitisha kuwa hakuna biskuti. 905 00:40:10,540 --> 00:40:13,987 Na wewe ni huzuni kwamba wewe huna marafiki. 906 00:40:13,987 --> 00:40:15,570 DAVID J Malan: Ni aina ya obnoxious. 907 00:40:15,570 --> 00:40:17,550 Hivyo hii ni nini mara tu alisema kuna. 908 00:40:17,550 --> 00:40:21,380 Ni indeterminate, siyo inavyoelezwa, na kwa kweli, lugha nyingi programu 909 00:40:21,380 --> 00:40:24,950 au, kwa kweli, compilers mapenzi kuchunguza wakati wewe, katika mpango, 910 00:40:24,950 --> 00:40:27,050 kujaribu kugawanya 0 na 0. 911 00:40:27,050 --> 00:40:29,830 Furaha zaidi kuliko ingawa hii, ni kwamba inaonekana, Cookie Monster 912 00:40:29,830 --> 00:40:31,270 ni juu ya Twitter siku hizi. 913 00:40:31,270 --> 00:40:37,610 Naye akajibu kwa hii, na hii, ambayo ni adorable kabisa. 914 00:40:37,610 --> 00:40:40,110 Lakini hebu tuangalie kwa haraka katika michache ya constructs mengine, 915 00:40:40,110 --> 00:40:43,459 na kisha kuweka baadhi ya hii kificho kwa matumizi, kwa njia nzuri. 916 00:40:43,459 --> 00:40:45,250 Hivyo ni zamu nje, badala ya kwa mizunguko, kuna 917 00:40:45,250 --> 00:40:49,174 kitu kinachoitwa kitanzi wakati, kwamba inaonekana tofauti na unatekelezwa 918 00:40:49,174 --> 00:40:51,590 differently-- kidogo na tutaweza hatimaye kuona examples-- 919 00:40:51,590 --> 00:40:53,500 lakini katika baadhi ya hisia, ni rahisi kwa sababu ni 920 00:40:53,500 --> 00:40:56,670 haina kuruhusu initialize na update ndani ya mipaka ya kitanzi. 921 00:40:56,670 --> 00:40:57,794 Bado unaweza kutekeleza. 922 00:40:57,794 --> 00:41:01,219 Hivyo unaweza kufanya halisi mambo sawa kwa kitanzi wakati, kama ilivyo kwa ajili ya kitanzi, 923 00:41:01,219 --> 00:41:03,260 lakini syntax yako, ultimately-- kama tutaweza hatimaye 924 00:41:03,260 --> 00:41:04,551 see-- ni kwenda kuwa tofauti. 925 00:41:04,551 --> 00:41:07,450 Kuna hata kufanya wakati kitanzi, ambayo ni kweli tofauti kidogo, 926 00:41:07,450 --> 00:41:09,640 kwa kuwa wakati kwa kitanzi na kitanzi wakati daima 927 00:41:09,640 --> 00:41:13,005 kuangalia hali yao ya kwanza, kama kusoma hii juu Jambo hadi chini, 928 00:41:13,005 --> 00:41:16,440 ni aina ya inaonekana kama ni kwenda kuangalia ni ya hali ya mwisho kwa sababu ni 929 00:41:16,440 --> 00:41:17,910 kweli mstari wa mwisho wa kanuni. 930 00:41:17,910 --> 00:41:20,580 Na hakika, hiyo ni kwenda kuwa na manufaa katika mipango fulani kwamba sisi kuandika, 931 00:41:20,580 --> 00:41:23,746 kama unataka tu upofu kufanya kitu na hatimaye kuangalia hali. 932 00:41:23,746 --> 00:41:25,205 Hiyo ni si lazima kitu mbaya. 933 00:41:25,205 --> 00:41:27,912 Kama tunataka vigezo, tunaweza kufanya hivyo katika michache ya njia tofauti. 934 00:41:27,912 --> 00:41:30,290 Na tuliona katika Foxtrot cartoon, njia moja ya kufanya hivyo, 935 00:41:30,290 --> 00:41:33,400 ambapo kutangaza kutofautiana yako, kama int kukabiliana semicolon, 936 00:41:33,400 --> 00:41:36,570 na kisha later-- labda ijayo line, labda mistari 10 later-- 937 00:41:36,570 --> 00:41:37,800 wewe kweli initialize. 938 00:41:37,800 --> 00:41:42,230 Basi hizi mistari 2 ya maadili kutangaza kutofautiana wa aina int 939 00:41:42,230 --> 00:41:44,930 na kuiita kukabiliana, hivyo ni inatoa mimi bits kutosha kushikilia int. 940 00:41:44,930 --> 00:41:48,230 Na kisha hatimaye, unaweka thamani 0 ndani ya kwamba kutofautiana. 941 00:41:48,230 --> 00:41:51,250 Ni anapanga 0 na 1 katika mfano, kwa kuwa tunajua kutoka wiki iliyopita, 942 00:41:51,250 --> 00:41:53,260 inawakilisha idadi tunajua kama 0. 943 00:41:53,260 --> 00:41:56,920 Au kusema ukweli, unaweza kufanya kiasi hiki zaidi ufupi, tu kama hii. 944 00:41:56,920 --> 00:41:59,390 >> Sasa sisi pia kuwa uwezo wa kupiga kazi. 945 00:41:59,390 --> 00:42:03,070 Na kwa kweli, hapa ni 2 line mpango, au Excerpt vyake, 946 00:42:03,070 --> 00:42:06,157 ambayo inaruhusu sisi kweli kuandika baadhi kificho kwamba 947 00:42:06,157 --> 00:42:08,990 anapata kamba kutoka user-- sana kama kujitolea yetu sasa ago-- 948 00:42:08,990 --> 00:42:11,320 kuhifadhi matokeo katika kutofautiana kuitwa jina, 949 00:42:11,320 --> 00:42:15,470 na then-- kiasi kama kwa kujitolea wetu na printf-- prints nje maadili hayo 950 00:42:15,470 --> 00:42:19,180 kwa kupita katika hoja mbili, kamba, ikifuatiwa na kutofautiana 951 00:42:19,180 --> 00:42:20,781 kuitwa, jina, yenyewe. 952 00:42:20,781 --> 00:42:23,155 Hivyo hebu tuangalie, kabla sisi kuja huko nyuma Mario, 953 00:42:23,155 --> 00:42:26,010 katika michache ya sasa, mifano ya hili. 954 00:42:26,010 --> 00:42:30,537 >> Mimi nina kwenda kwenda mbele na kufungua up, hebu sema, kazi-0.c. 955 00:42:30,537 --> 00:42:33,120 Na kama siku zote, kanuni na hii ni inapatikana kwenye tovuti kozi ya, 956 00:42:33,120 --> 00:42:35,660 hivyo unaweza kucheza pamoja katika nyumbani na kuangalia ni baadaye. 957 00:42:35,660 --> 00:42:40,400 Lakini hapa ni mpango katika ni Kimsingi, kutokana na mstari 17 na 22. 958 00:42:40,400 --> 00:42:43,270 Mpango kuu ni wapi mpango ni daima kwenda kuanza. 959 00:42:43,270 --> 00:42:46,980 Mpango huu, inaonekana, ni kwenda magazeti nje jina lako, matumbo. 960 00:42:46,980 --> 00:42:50,320 Ni kisha kwenda kuwaita GetString, kama tulivyofanya kwa kujitolea yetu. 961 00:42:50,320 --> 00:42:53,365 Na kisha, hii ni ya kuvutia, ni kwenda kuwaita PrintName. 962 00:42:53,365 --> 00:42:56,490 Zinageuka, muda wote huu, kuna Inaonekana kuwa kazi kuitwa PrintName. 963 00:42:56,490 --> 00:42:57,614 Kwamba Prints jina la mtu. 964 00:42:57,614 --> 00:43:01,210 Sisi hakuwa na haja ya kutumia printf kutoka yesteryear, kuna PrintName. 965 00:43:01,210 --> 00:43:03,500 >> Lakini hiyo ni kupotosha kwa sababu PrintName hana 966 00:43:03,500 --> 00:43:06,760 kuja na C. Watu hakuwa mzulia ni baadhi 40 au miaka 50 iliyopita, 967 00:43:06,760 --> 00:43:07,990 Mimi, badala yake. 968 00:43:07,990 --> 00:43:10,330 Na kwa kweli, kama mimi kitabu chini zaidi, ilani 969 00:43:10,330 --> 00:43:14,200 jinsi gani naweza kuandika yangu mwenyewe kazi katika C. Sisi itabidi hatimaye 970 00:43:14,200 --> 00:43:16,319 kueleza kwa nini sisi kuendelea kusema, batili, katika maeneo machache, 971 00:43:16,319 --> 00:43:18,110 lakini kwa leo, hebu tu kuangalia jina. 972 00:43:18,110 --> 00:43:20,905 >> On line 24, kama unataka kujenga kazi yako mwenyewe, 973 00:43:20,905 --> 00:43:22,780 wewe literally kuandika jina la kazi. 974 00:43:22,780 --> 00:43:24,340 Nilichagua PrintName. 975 00:43:24,340 --> 00:43:26,159 Katika mabano, wewe kisha kutaja ni aina gani 976 00:43:26,159 --> 00:43:28,450 wa pembejeo, na jinsi wengi wanataka kazi hii kwa kuchukua. 977 00:43:28,450 --> 00:43:31,906 Katika kesi hiyo, nataka kuchukua 1 kutofautiana kuitwa, jina, 978 00:43:31,906 --> 00:43:34,030 nayo itakuja kuwa ya aina, kamba, hivyo ni kwenda 979 00:43:34,030 --> 00:43:35,780 kuwa baadhi mlolongo wa wahusika. 980 00:43:35,780 --> 00:43:39,170 Na kisha, hii program-- kiasi kama katika Scratch, 981 00:43:39,170 --> 00:43:42,590 unaweza kuwa na desturi puzzle pieces-- ni kwenda na tabia hii desturi. 982 00:43:42,590 --> 00:43:46,760 Ni kwenda kuwaita printf kupita katika, hodi, placeholder, 983 00:43:46,760 --> 00:43:49,110 na basi ni kwenda kuziba katika chochote mtumiaji kuitwa. 984 00:43:49,110 --> 00:43:51,450 >> Hivyo hii ni mfano wa nini mwanasayansi kompyuta ingekuwa 985 00:43:51,450 --> 00:43:55,090 wito uchukuaji au kazi mtengano, ambayo ni haki 986 00:43:55,090 --> 00:43:58,110 njia dhana ya saying-- Je, ikiwa wewe kama hii wazo kiwango cha juu, 987 00:43:58,110 --> 00:44:01,569 kama nataka utendaji kwamba Prints jina la mtu, kabisa wewe 988 00:44:01,569 --> 00:44:04,360 unaweza literally kuandika printf na kisha kupita katika hoja unataka, 989 00:44:04,360 --> 00:44:07,340 na mpango wa kazi, kama yalivyokuwa tangu Jumatano. 990 00:44:07,340 --> 00:44:10,510 Lakini unaweza kuanza kwa abstract mbali dhana ya uchapishaji jina. 991 00:44:10,510 --> 00:44:13,270 Unaweza kuwapa jina, kama PrintName, na hii 992 00:44:13,270 --> 00:44:15,280 ni wazo hili la layering kutoka wiki 0. 993 00:44:15,280 --> 00:44:19,910 >> Tangu sasa, mimi na wewe huna kujua au huduma jinsi PrintName ni kutekelezwa. 994 00:44:19,910 --> 00:44:22,470 Ndiyo anatumia printf, labda ni hana, ambaye anajua nini anatumia? 995 00:44:22,470 --> 00:44:23,410 Nani anayejali? 996 00:44:23,410 --> 00:44:26,034 Sasa mimi kuzungumza juu hapa, badala ya chini hapa. 997 00:44:26,034 --> 00:44:28,700 Na hakika, kama mipango yetu kupata zaidi ya juu na kisasa, 998 00:44:28,700 --> 00:44:32,550 tunakwenda kuweka kuchukua kwa nafasi kuwa chini ya vipande puzzle cha kuwepo. 999 00:44:32,550 --> 00:44:34,780 Kwa sababu sisi aliandika yao au mtu mwingine ye yote, ili 1000 00:44:34,780 --> 00:44:36,910 tuweze kisha kujenga juu yao. 1001 00:44:36,910 --> 00:44:39,430 Hebu tuangalie hii lahaja, kazi moja. 1002 00:44:39,430 --> 00:44:41,780 >> Hivyo hii moja kidogo zaidi juu, lakini zinageuka 1003 00:44:41,780 --> 00:44:44,570 kwamba katika maktaba CS50, kuna tu GetInt kazi. 1004 00:44:44,570 --> 00:44:47,720 Sisi hakufikiri, miaka iliyopita, kwa kutekeleza kazi GetPositiveInt. 1005 00:44:47,720 --> 00:44:50,970 Na hiyo ndiyo kidogo annoying kwa sababu kama nyie ni kuandika mpango eti 1006 00:44:50,970 --> 00:44:53,325 unataka kupata chanya integer kutoka kwa mtumiaji, 1007 00:44:53,325 --> 00:44:55,010 unaweza kabisa kutumia GetInt. 1008 00:44:55,010 --> 00:44:57,840 Na unaweza kabisa kuangalia kwa hali na labda kitanzi 1009 00:44:57,840 --> 00:45:00,320 kama kwamba int ni mkubwa kuliko 0 na kelele mtumiaji 1010 00:45:00,320 --> 00:45:02,699 kama yeye au yeye haitoi wewe idadi chanya. 1011 00:45:02,699 --> 00:45:04,740 Lakini hebu kujenga hii jengo kuzuia wenyewe,, 1012 00:45:04,740 --> 00:45:06,555 desturi Scratch kipande, kama wewe. 1013 00:45:06,555 --> 00:45:08,680 Mimi nina kwenda kuwa na mpango hapa kwamba hatimaye, mimi 1014 00:45:08,680 --> 00:45:11,780 wanataka kuwa na uwezo wa kuwaita GetPositiveInt, na mimi nataka kuwa 1015 00:45:11,780 --> 00:45:14,200 uwezo wa magazeti nje chochote kile int ni. 1016 00:45:14,200 --> 00:45:16,240 Lakini hii ni sehemu ya makala mbali sasa. 1017 00:45:16,240 --> 00:45:19,050 Ni tu amepewa kiwango cha juu jina kwamba anasema kile yake, 1018 00:45:19,050 --> 00:45:21,780 ambayo ni ya ajabu kwa sababu ni Intuitive sana sasa kusoma. 1019 00:45:21,780 --> 00:45:24,710 Na kama mimi kufanya huduma nini chini kofia, basi mimi kitabu chini. 1020 00:45:24,710 --> 00:45:27,140 Na ni kidogo vitisho mara ya kwanza, hasa 1021 00:45:27,140 --> 00:45:29,470 kama hii ni mpango wako wa kwanza, lakini hebu tuangalie. 1022 00:45:29,470 --> 00:45:32,860 >> Mimi tena akisema, batili, kwa sababu ni zamu nje kazi, 1023 00:45:32,860 --> 00:45:34,777 kiasi kama GetString, unaweza kurudi thamani kwangu. 1024 00:45:34,777 --> 00:45:36,610 Hawana tu na magazeti kwa screen, 1025 00:45:36,610 --> 00:45:38,410 kwa kweli unaweza mkono mimi kitu nyuma. 1026 00:45:38,410 --> 00:45:41,535 Na ambapo kabla PrintName, Mimi hakuwa na haja ya kitu chochote nyuma. 1027 00:45:41,535 --> 00:45:44,160 Mimi zinahitajika athari upande wa kitu kuonyesha juu kwenye screen, 1028 00:45:44,160 --> 00:45:46,570 lakini mimi hakuwa na haja ya binadamu kwa mkono mimi kitu nyuma. 1029 00:45:46,570 --> 00:45:48,840 Hapa, kwa GetPositiveInt, kama na GetInt, 1030 00:45:48,840 --> 00:45:50,640 Nataka kuwa mitupu kitu nyuma. 1031 00:45:50,640 --> 00:45:53,220 Hivyo mimi kusema hivyo, batili, kwenye mstari 23, lakini int, 1032 00:45:53,220 --> 00:45:55,570 inayosema, kazi hii kwamba mimi kuandika, 1033 00:45:55,570 --> 00:45:58,860 aitwaye GetPositiveInt ni kwenda mkono yangu nyuma integer, si kitu, 1034 00:45:58,860 --> 00:45:59,890 si batili. 1035 00:45:59,890 --> 00:46:03,280 >> Wakati huo huo, ni kwenda kuchukua hakuna pembejeo, hivyo nimekuwa, aina ya, kuachwa yake. 1036 00:46:03,280 --> 00:46:08,280 Mimi si kutoa GetPositiveInt yoyote pembejeo, mimi nataka unipe matokeo yake. 1037 00:46:08,280 --> 00:46:09,800 Na kisha nini kinatokea sasa? 1038 00:46:09,800 --> 00:46:11,640 Hivyo hapa ni jinsi gani naweza kutangaza kutofautiana. 1039 00:46:11,640 --> 00:46:15,090 Mimi tumefanya ni nje ya kitanzi, kwa sababu tutaweza hatimaye kuona, 1040 00:46:15,090 --> 00:46:17,700 lakini hii inatoa tu mimi 32 bits kuitwa, n, 1041 00:46:17,700 --> 00:46:20,952 na nimekuwa awali kuamua nao kuhifadhi integer. 1042 00:46:20,952 --> 00:46:23,660 Na hapa ni kwamba, je, wakati kujenga, na hii ni kwa nini ni muhimu. 1043 00:46:23,660 --> 00:46:26,700 Halisi kufanya hivyo, wakati n ni chini ya 1. 1044 00:46:26,700 --> 00:46:28,030 Basi hebu angalia nini kinatokea. 1045 00:46:28,030 --> 00:46:30,760 Mimi magazeti nje, tafadhali nipe chanya int. 1046 00:46:30,760 --> 00:46:34,300 Mimi kisha kupata int, kwa kutumia CS50 kazi na kuhifadhiwa katika n. 1047 00:46:34,300 --> 00:46:38,990 >> Na kisha, nini mstari wa kanuni pengine anapata kunyongwa ijayo, mantiki? 1048 00:46:38,990 --> 00:46:41,890 Ambayo mstari namba? 1049 00:46:41,890 --> 00:46:42,571 Yeah, hivyo 31. 1050 00:46:42,571 --> 00:46:45,320 Bila kujua hii mpaka wameweza wameambiwa au aina ya kudai jambo hilo, 1051 00:46:45,320 --> 00:46:45,986 lakini hiyo ni kweli. 1052 00:46:45,986 --> 00:46:48,280 Ni inakwenda juu hadi chini na kisha anaendelea kurudia. 1053 00:46:48,280 --> 00:46:55,840 Hivyo kama mimi typed katika kusema, idadi hasi 1, ni n chini ya hasi 1? 1054 00:46:55,840 --> 00:46:56,340 Naam. 1055 00:46:56,340 --> 00:46:58,470 Kwa sababu hasi 1 ni chini ya 1. 1056 00:46:58,470 --> 00:46:59,510 Hivyo kile lazima kutokea? 1057 00:46:59,510 --> 00:47:03,260 Mimi nina kwenda kufanya hivi wakati n ni chini ya 1, 1058 00:47:03,260 --> 00:47:05,760 hivyo mimi nina kwenda nyuma ya mstari 28. 1059 00:47:05,760 --> 00:47:09,530 >> Na kila time-- na hebu kukimbia Haya kufanya kazi kwa 1 kukusanya ni, 1060 00:47:09,530 --> 00:47:11,340 na sasa dot slash kazi 1. 1061 00:47:11,340 --> 00:47:14,280 Kama mimi aina hasi 1, ni kwenda kuweka yelling saa yangu 1062 00:47:14,280 --> 00:47:17,530 mpaka mimi kushirikiana kwa sababu kila wa pembejeo yangu ni chini ya 1 1063 00:47:17,530 --> 00:47:20,070 na kama ni wakati chini ya 1, Mimi nina kwenda kuendelea kufanya hivyo. 1064 00:47:20,070 --> 00:47:24,240 Kama mimi hatimaye kuwapa idadi kama 50, nashiriki, inasema, shukrani kwa ajili ya 50. 1065 00:47:24,240 --> 00:47:24,970 Kwa nini? 1066 00:47:24,970 --> 00:47:30,640 Kwa sababu kwa haraka kama n ni si chini ya 1, mimi kuacha kupata kukwama katika kitanzi hii, 1067 00:47:30,640 --> 00:47:33,840 na keyword hii mpya leo, Kwa upande wake, literally anafanya hivyo. 1068 00:47:33,840 --> 00:47:36,800 Hivyo nimekuwa tu kutekelezwa, katika maana, sawa na GetString, 1069 00:47:36,800 --> 00:47:40,590 ambapo mimi nina kuwapatia nyuma mwenye kutumia yangu, baadhi ya thamani. 1070 00:47:40,590 --> 00:47:42,820 Haina kuwa kamba, ni int. 1071 00:47:42,820 --> 00:47:44,990 Hivyo rahisi, haraka mfano, lakini tutaweza karibuni 1072 00:47:44,990 --> 00:47:47,930 kuona baadhi ya kisasa zaidi matoleo bado. 1073 00:47:47,930 --> 00:47:53,882 Kwa kweli, hebu tuangalie numeric moja, iitwayo return.c. 1074 00:47:53,882 --> 00:47:55,590 Na hii moja kweli kidogo rahisi. 1075 00:47:55,590 --> 00:47:59,010 Hivyo madhumuni ya mpango huu katika life-- hebu kukusanya na kukimbia nayo, 1076 00:47:59,010 --> 00:48:03,090 hivyo kufanya kurudi, dot kufyeka, return-- taarifa 1077 00:48:03,090 --> 00:48:05,530 Mpango tu cubes thamani 2. 1078 00:48:05,530 --> 00:48:08,410 Ni pretty kijinga, ni vigumu kanuni, haina kuchukua pembejeo yoyote, 1079 00:48:08,410 --> 00:48:12,220 lakini haina kuonyesha mwingine kazi ambayo nimekuwa imeandikwa mwenyewe. 1080 00:48:12,220 --> 00:48:15,760 Hivyo hapa, nimekuwa alitangaza kutofautiana, iitwayo x, ya aina int, 1081 00:48:15,760 --> 00:48:17,840 sawa na idadi 2, kabisa holela. 1082 00:48:17,840 --> 00:48:19,530 Hii ni baadhi tu ya uchapishaji fluffy. 1083 00:48:19,530 --> 00:48:23,070 Inasema x ni sasa, kama na vile, cubing nukta nukta nukta. 1084 00:48:23,070 --> 00:48:26,390 Na uchawi ni dhahiri katika mstari 21. 1085 00:48:26,390 --> 00:48:30,120 Mimi nina wito kazi kuitwa, mchemraba, Mimi kuikabidhi karatasi 1086 00:48:30,120 --> 00:48:32,890 kwa idadi 2 yameandikwa juu yake, na kile thamani, hesabu, 1087 00:48:32,890 --> 00:48:34,860 Je, mimi wanataka kupata nje ya hayo? 1088 00:48:34,860 --> 00:48:36,570 Kama vile sanity hundi? 1089 00:48:36,570 --> 00:48:37,070 8. 1090 00:48:37,070 --> 00:48:37,570 Sawa? 1091 00:48:37,570 --> 00:48:40,160 Mimi nataka 2 cubed nyuma, 2 kwa nguvu ya 3, hivyo 8 nyuma. 1092 00:48:40,160 --> 00:48:42,570 >> Hivyo ambapo ni mchemraba kutekelezwa? 1093 00:48:42,570 --> 00:48:44,349 Naam, ilani ni kutekelezwa chini hapa. 1094 00:48:44,349 --> 00:48:47,140 Na kama kabla, kifikra, hata kama syntax pengine ni 1095 00:48:47,140 --> 00:48:49,320 mpya sana kwa wengi wenu, Nataka kazi hii 1096 00:48:49,320 --> 00:48:51,780 mkono yangu nyuma karatasi ya karatasi na int juu yake. 1097 00:48:51,780 --> 00:48:53,990 Hivyo nina int, jina ni kiholela, 1098 00:48:53,990 --> 00:48:55,530 lakini kwa urahisi aitwaye mchemraba. 1099 00:48:55,530 --> 00:48:58,430 Pembejeo kwa hiyo, ni n ya aina integer, hivyo hiyo ni 1100 00:48:58,430 --> 00:49:00,800 jinsi siwezi kupita katika idadi 2 katika karatasi. 1101 00:49:00,800 --> 00:49:03,910 Na kisha zinageuka C inasaidia hisabati, hivyo huna x kwa mara, 1102 00:49:03,910 --> 00:49:06,680 wewe tu kutumia asteriski kwa kuzidisha. 1103 00:49:06,680 --> 00:49:11,070 Na hii anarudi mara n n mara n, ambayo ni tu thamani cubed. 1104 00:49:11,070 --> 00:49:12,840 >> Hivyo ambapo ni sisi kwenda kwa yote haya? 1105 00:49:12,840 --> 00:49:14,570 Hii ni dhahiri ziara ya kimbunga, wengine uhakika, 1106 00:49:14,570 --> 00:49:16,410 kwamba katika sehemu super na katika tatizo kuweka 1, 1107 00:49:16,410 --> 00:49:18,368 wewe utakuwa kutembea kwa njia ya yote haya ni mengi mno. 1108 00:49:18,368 --> 00:49:22,490 Na katika tatizo kuweka 1, tutaweza mpito kutoka dunia graphical ya Scratch 1109 00:49:22,490 --> 00:49:25,640 na kitu zaidi ya mstari amri katika C. Lakini tutaweza kuteka msukumo 1110 00:49:25,640 --> 00:49:27,680 kutoka mchezo huu hapa kutoka yesteryear, eti 1111 00:49:27,680 --> 00:49:31,591 kutumia C na toleo la kawaida la p kuweka wewe utakuwa kutekeleza Mario ya piramidi. 1112 00:49:31,591 --> 00:49:34,340 Na katika toleo hacker ya p kuweka, kama hivyo kuchagua kumchagua, 1113 00:49:34,340 --> 00:49:38,280 utakuwa kutekeleza kidogo zaidi changamoto piramidi na peaks mbili. 1114 00:49:38,280 --> 00:49:41,239 Itabidi pia kutekeleza algorithm, algorithm tamaa. 1115 00:49:41,239 --> 00:49:43,030 Ni zinageuka kuna ya baadhi mantiki ya kuvutia 1116 00:49:43,030 --> 00:49:45,640 nyuma ya mchakato wa mbio Kituo cha cashier ya 1117 00:49:45,640 --> 00:49:47,410 na kwa kweli kuwapatia mtu mabadiliko nyuma. 1118 00:49:47,410 --> 00:49:50,410 Kuna algorithm hiyo ni haki moja kwa moja, kwamba waweza hata 1119 00:49:50,410 --> 00:49:53,576 kufahamu shirikishi wakati wa kwanza kusoma it-- kutambua kwamba kile nimekuwa daima 1120 00:49:53,576 --> 00:49:57,110 amefanya wakati wowote Nimekupa mtu baadhi fedha back-- kwamba utapata daima 1121 00:49:57,110 --> 00:50:00,679 kupunguza idadi ya maelezo karatasi au chuma sarafu 1122 00:50:00,679 --> 00:50:02,220 kuwa wewe ni kuwapatia nyuma kwa mtumiaji. 1123 00:50:02,220 --> 00:50:04,610 Na hii, bila shaka, ni kulazimisha kwa sababu kama wewe kwenda CVS au whatnot, 1124 00:50:04,610 --> 00:50:06,430 hawataki kuwa mitupu rundo zima la watoto 1125 00:50:06,430 --> 00:50:07,596 au kundi zima la pennies. 1126 00:50:07,596 --> 00:50:10,120 Unataka fewest sarafu, pengine, iwezekanavyo. 1127 00:50:10,120 --> 00:50:13,070 >> Hatimaye, utapata pia kuwa changamoto dabble katika ulimwengu wa maji 1128 00:50:13,070 --> 00:50:17,220 na kweli kupata shukrani kwa ramani kati ya viwango vya kati yake, 1129 00:50:17,220 --> 00:50:19,890 ya kama, maji katika oga, ni kiasi gani maji ni kutumika. 1130 00:50:19,890 --> 00:50:22,640 Na dokezo humo, itakuwa kipande cha hii hapa, 1131 00:50:22,640 --> 00:50:24,840 ambayo tutaweza kuishia juu ya kwa sekunde 60 tu, kwamba 1132 00:50:24,840 --> 00:50:29,070 inajenga picha ya chini kati yake oga vichwa. 1133 00:50:29,070 --> 00:50:30,886 >> [VIDEO avspelning] 1134 00:50:30,886 --> 00:50:31,385 -All Haki. 1135 00:50:31,385 --> 00:50:32,774 I got kila kitu hapa. 1136 00:50:32,774 --> 00:50:35,800 I got Kimbunga F Series, Hydra, Jetflow, Stockholms 1137 00:50:35,800 --> 00:50:37,660 Supersteam, wewe jina hilo. 1138 00:50:37,660 --> 00:50:39,265 >> -Na Je, wewe kupendekeza? 1139 00:50:39,265 --> 00:50:40,460 >> -Nini Ni wewe kuangalia kwa? 1140 00:50:40,460 --> 00:50:41,300 >> -Power Mtu. 1141 00:50:41,300 --> 00:50:42,285 Madaraka. 1142 00:50:42,285 --> 00:50:42,910 -kama Silkwood. 1143 00:50:42,910 --> 00:50:44,520 -yaani Ni kwa mionzi. 1144 00:50:44,520 --> 00:50:46,335 -yaani Ni haki. 1145 00:50:46,335 --> 00:50:48,275 -Sasa Ni kitu gani? 1146 00:50:48,275 --> 00:50:49,704 -yaani Ni commando 450. 1147 00:50:49,704 --> 00:50:50,620 Siuzi kwamba moja. 1148 00:50:50,620 --> 00:50:51,700 >> -Lakini Kwamba ni nini tunataka. 1149 00:50:51,700 --> 00:50:52,680 Ni kikomandoo 450. 1150 00:50:52,680 --> 00:50:53,882 >> -Hakuna Amini kwangu. 1151 00:50:53,882 --> 00:50:55,090 Ni tu kutumika katika circus. 1152 00:50:55,090 --> 00:50:56,512 Ni kwa tembo. 1153 00:50:56,512 --> 00:50:59,356 >> -I'll Kulipa chochote. 1154 00:50:59,356 --> 00:51:01,252 >> -Nini Kuhusu Jerry? 1155 00:51:01,252 --> 00:51:02,760 >> Hapo hakuweza kushughulikia jambo hilo. 1156 00:51:02,760 --> 00:51:04,910 Yeye ni tete. 1157 00:51:04,910 --> 00:51:05,750 Oh yeah. 1158 00:51:05,750 --> 00:51:36,737 1159 00:51:36,737 --> 00:51:37,320 [Mwisho avspelning] 1160 00:51:37,320 --> 00:51:37,700 DAVID J Malan: zote haki. 1161 00:51:37,700 --> 00:51:38,820 Hiyo ni kama kwa CS50. 1162 00:51:38,820 --> 00:51:40,050 Tutaweza kuona wewe wiki ijayo. 1163 00:51:40,050 --> 00:51:45,910 1164 00:51:45,910 --> 00:51:49,029 >> SPIKA 1: [? Scully?], [? Ian,?] mbali kama mradi huu Outro, 1165 00:51:49,029 --> 00:51:50,362 una nini guys kuja na? 1166 00:51:50,362 --> 00:51:51,990 >> SPIKA 2: Naam, tumekuwa aliyopewa ni aina ya mawazo, 1167 00:51:51,990 --> 00:51:53,250 na tunadhani kwamba njia bora to-- 1168 00:51:53,250 --> 00:51:53,660 >> SPIKA 3: Mei mimi? 1169 00:51:53,660 --> 00:51:54,326 >> SPIKA 2: Naam. 1170 00:51:54,326 --> 00:51:56,360 Kwa njia zote, kwa kweli. 1171 00:51:56,360 --> 00:51:59,425 >> SPIKA 3: Hivyo nadhani tunaweza kuhitimisha wazo yetu 1172 00:51:59,425 --> 00:52:05,450 kwa outros kwa moja word-- chochote. 1173 00:52:05,450 --> 00:52:08,950 1174 00:52:08,950 --> 00:52:10,409 >> DAVID J Malan: Hakuna? 1175 00:52:10,409 --> 00:52:11,200 SPIKA 3: Kitu. 1176 00:52:11,200 --> 00:52:12,990 DAVID J Malan: Hiyo ina maana gani? 1177 00:52:12,990 --> 00:52:16,260 SPIKA 3: outros ni kuhusu chochote. 1178 00:52:16,260 --> 00:52:21,720 SPIKA 2: Naam, I mean, katika falsafa, I mean, hakuna kitu ni daima kitu. 1179 00:52:21,720 --> 00:52:24,200 SPIKA 1: Hivyo what's-- nini dhana? 1180 00:52:24,200 --> 00:52:25,720 SPIKA 3: Hivyo ni kama maisha. 1181 00:52:25,720 --> 00:52:26,680 Sawa. 1182 00:52:26,680 --> 00:52:28,294 Mlifanya nini leo? 1183 00:52:28,294 --> 00:52:31,811 >> DAVID J Malan: Mimi aliamka, alikuwa kifungua kinywa, na alikuja kufanya kazi. 1184 00:52:31,811 --> 00:52:34,056 >> SPIKA 3: Hiyo ni OUTRO. 1185 00:52:34,056 --> 00:52:36,806 SPIKA 2: Lakini, I mean, hawapaswi kitu kutokea kwake juu ya the-- 1186 00:52:36,806 --> 00:52:37,889 SPIKA 3: Hapana, hapana, hapana, hapana. 1187 00:52:37,889 --> 00:52:40,220 Hakuna kinachotokea. 1188 00:52:40,220 --> 00:52:42,910 >> SPIKA 1: Hivyo kwa nini sisi kuangalia? 1189 00:52:42,910 --> 00:52:46,956 >> SPIKA 3: Kwa sababu ni OUTRO kwa CS50. 1190 00:52:46,956 --> 00:52:48,652 >> DAVID J Malan: Bado. 1191 00:52:48,652 --> 00:52:49,151