1 00:00:00,000 --> 00:00:12,510 2 00:00:12,510 --> 00:00:13,870 >> Rob: All wa kulia. 3 00:00:13,870 --> 00:00:16,770 Karibu sehemu ya kwanza. 4 00:00:16,770 --> 00:00:17,480 Mimi nina Rob. 5 00:00:17,480 --> 00:00:18,806 >> JOSEPH: mimi nina Joseph. 6 00:00:18,806 --> 00:00:21,540 >> Rob: Hivyo tutaweza kupiga mbizi haki in 7 00:00:21,540 --> 00:00:23,420 Jambo la kwanza majadiliano juu ya ni appliance. 8 00:00:23,420 --> 00:00:27,150 Hivyo hopefully zaidi ya wewe na kupakuliwa tayari. 9 00:00:27,150 --> 00:00:37,180 Lakini unaweza kuona maelekezo katika cs50.net/appliance. 10 00:00:37,180 --> 00:00:38,430 Oh mungu, sasa mimi nina binafsi fahamu. 11 00:00:38,430 --> 00:00:44,590 12 00:00:44,590 --> 00:00:45,430 Mimi bado kusikia. 13 00:00:45,430 --> 00:00:47,232 >> JOSEPH: Wow, inaonekana kama ni disoriented. 14 00:00:47,232 --> 00:00:52,460 >> Rob: Kwa hiyo baadhi ya watu wamekuwa kuwa masuala na hayo, hivyo si kusubiri hadi 15 00:00:52,460 --> 00:00:54,940 dakika ya mwisho ya kuweka tatizo kwa kujaribu na kutatua Appliance na 16 00:00:54,940 --> 00:00:56,320 kutafuta kwamba siyo kazi. 17 00:00:56,320 --> 00:00:59,010 >> JOSEPH: Na kama kitu si kazi na unahitaji msaada, unaweza kwenda 18 00:00:59,010 --> 00:01:03,390 cs50.net/discussion ambapo sisi na jukwaa ambapo 19 00:01:03,390 --> 00:01:04,110 unaweza kutuma maswali yako. 20 00:01:04,110 --> 00:01:06,655 Na tutaweza kupata yao hatimaye. 21 00:01:06,655 --> 00:01:07,490 >> Rob: All wa kulia. 22 00:01:07,490 --> 00:01:12,180 Hivyo hii ni nini Appliance inaonekana kama. 23 00:01:12,180 --> 00:01:15,480 Tena, ni tu kabisa tofauti mfumo wa uendeshaji kukimbia ndani ya 24 00:01:15,480 --> 00:01:19,440 chochote mfumo wa uendeshaji ninyi ni mbio juu ya mbali. 25 00:01:19,440 --> 00:01:24,450 Na mambo kuu itabidi kutumia ni gedit. 26 00:01:24,450 --> 00:01:28,050 Hivyo hopefully hii ina tayari kuwa tovuti ukoo. 27 00:01:28,050 --> 00:01:29,470 terminal. 28 00:01:29,470 --> 00:01:31,890 >> Na unaweza pia kukimbia Chrome ndani ya appliance. 29 00:01:31,890 --> 00:01:33,860 Kumekuwa na michache ya watu ambao wana taarifa internet 30 00:01:33,860 --> 00:01:35,390 si kazi katika appliance. 31 00:01:35,390 --> 00:01:38,090 Na baadhi yao tu kudhani kuwa kuna hawatakiwi kuwa na 32 00:01:38,090 --> 00:01:39,190 internet katika appliance. 33 00:01:39,190 --> 00:01:40,750 Lakini ndiyo, kuna zinatakiwa kuwa internet. 34 00:01:40,750 --> 00:01:44,000 35 00:01:44,000 --> 00:01:46,410 >> Mimi itabidi kusema sasa hivi, lakini haina kweli maana ya kitu chochote. 36 00:01:46,410 --> 00:01:50,680 Kama internet si kazi, hii ni nini huwa na haja 37 00:01:50,680 --> 00:01:52,180 kuendesha kurekebisha. 38 00:01:52,180 --> 00:01:55,602 Kama wewe ni kuwa masuala ya biashara, wala kukumbuka, tu baada ya juu 39 00:01:55,602 --> 00:01:57,560 Kujadili, na tutaweza kusema, kukimbia hiyo. 40 00:01:57,560 --> 00:02:00,420 Lakini internet lazima kufanya kazi. 41 00:02:00,420 --> 00:02:06,650 >> Hivyo tu kitu kingine - yeah, hakuna kitu mwingine ni kweli husika. 42 00:02:06,650 --> 00:02:08,979 Lakini mimi nilitaka uhakika kwamba - 43 00:02:08,979 --> 00:02:13,290 kuona katika hii chini kulia kona. 44 00:02:13,290 --> 00:02:16,530 Hivyo kila mmoja Vifaa yako lazima na anwani ya IP. 45 00:02:16,530 --> 00:02:22,350 Na baadaye katika muhula, hii IP anwani itakuwa muhimu zaidi wakati 46 00:02:22,350 --> 00:02:27,230 wewe ni kufanya kazi kwenye mtandao p-set, kwa sababu wewe utakuwa na uwezo wa kupata 47 00:02:27,230 --> 00:02:32,310 tovuti wewe ni kazi ya kutoka yako Chrome ndani kwa kutumia anwani ya IP hii. 48 00:02:32,310 --> 00:02:35,400 >> Lakini kile Mimi kama kutumia anwani ya IP kwa - na huna kwa kufanya hivyo, mimi 49 00:02:35,400 --> 00:02:37,460 nataka tu kwa uhakika ni nje - 50 00:02:37,460 --> 00:02:39,540 ni hapa. 51 00:02:39,540 --> 00:02:42,910 Hivyo hii ni dirisha terminal juu ya Mac yangu, hii si katika 52 00:02:42,910 --> 00:02:44,580 Appliance wakati wote. 53 00:02:44,580 --> 00:02:47,190 Na unaweza kuangalia juu ya nini amri hii gani. 54 00:02:47,190 --> 00:02:51,855 Lakini mimi nina kwenda SSH moja kwa moja kwa Appliance yangu. 55 00:02:51,855 --> 00:02:53,410 Mimi sijui nini IP ni. 56 00:02:53,410 --> 00:02:54,300 >> JOSEPH: 168 - 57 00:02:54,300 --> 00:02:56,080 >> 168.224.1.0. 58 00:02:56,080 --> 00:02:59,950 >> Rob: Kwa hiyo mara moja mimi nina done na hii, kuingia ndani 59 00:02:59,950 --> 00:03:05,450 Sasa, kimsingi, hii ni sawa na terminal dirisha ndani ya Appliance yangu. 60 00:03:05,450 --> 00:03:10,280 Basi, mimi pretty much kwa kweli kamwe kazi kutoka ndani ya Appliance yenyewe. 61 00:03:10,280 --> 00:03:12,550 I just daima kuwa ni mbio katika background kupunguzwa 62 00:03:12,550 --> 00:03:15,890 na SSHed ndani yake. 63 00:03:15,890 --> 00:03:24,270 >> suala hilo na hii ni wewe si kwenda kuwa na uwezo wa kutumia gedit kwa urahisi 64 00:03:24,270 --> 00:03:25,600 moja kwa moja kutokana na hili. 65 00:03:25,600 --> 00:03:31,500 Lakini kama unataka kuwa baridi halisi hacker, basi unapaswa kupata kutumika kwa 66 00:03:31,500 --> 00:03:34,220 amri line mhariri wa maandishi anyway. 67 00:03:34,220 --> 00:03:39,620 Hivyo VIM na Emacs na Nano, yote haya ni njia mbadala mbalimbali. 68 00:03:39,620 --> 00:03:41,560 Nano huelekea kuwa rahisi. 69 00:03:41,560 --> 00:03:45,006 Na nadhani hana syntax mwangaza. 70 00:03:45,006 --> 00:03:47,620 Oh, hapana, ni kabisa gani. 71 00:03:47,620 --> 00:03:49,870 Hivyo unaweza kutumia Nano, kwa sababu kwamba moja rahisi sana. 72 00:03:49,870 --> 00:03:52,000 >> Unaweza kuona amri zote hizi chini. 73 00:03:52,000 --> 00:03:54,750 Hii kidogo karoti mfano. 74 00:03:54,750 --> 00:03:57,620 Kama hawajaona hivyo kabla, itabidi pengine kuona ni mengi sasa. 75 00:03:57,620 --> 00:04:02,350 Ni kwa ujumla maana yake kudhibiti karoti, kama chini kushoto ya keyboard yako 76 00:04:02,350 --> 00:04:04,130 kudhibiti tabia. 77 00:04:04,130 --> 00:04:07,260 Hivyo hapa ni kuwaambia yangu chini hapa - 78 00:04:07,260 --> 00:04:08,710 oh, siyo kukatwa kama mimi zoom in 79 00:04:08,710 --> 00:04:11,040 Hivyo Kudhibiti, X ni jinsi Mimi nina kwenda exit. 80 00:04:11,040 --> 00:04:14,710 Na inasema naweza kugonga Y kwa Ndiyo, kwa ajili ya kuokoa, N kwa Hapana 81 00:04:14,710 --> 00:04:17,190 Hivyo kwamba ni Nano. 82 00:04:17,190 --> 00:04:22,860 >> VIM na Emacs huwa na kuwa kidogo zaidi ngumu na balaa. 83 00:04:22,860 --> 00:04:28,840 Lakini unaweza kupata kutumika kwa hiyo, na kisha utasikia kupenda. 84 00:04:28,840 --> 00:04:30,590 Hivyo hiyo ni kwamba. 85 00:04:30,590 --> 00:04:31,720 >> JOSEPH: Hakuna haja ya kufanya hivyo. 86 00:04:31,720 --> 00:04:31,840 >> Rob: Yeah. 87 00:04:31,840 --> 00:04:37,510 Wewe ni huru kutumia gedit kwa salio ya muhula. 88 00:04:37,510 --> 00:04:40,630 Hivyo yoyote appliance-kuhusiana maswali? 89 00:04:40,630 --> 00:04:42,820 Au je, una mawazo yoyote juu ya kile kingine mahitaji ya kuwa amesema kuhusu kuhusu 90 00:04:42,820 --> 00:04:43,610 appliance? 91 00:04:43,610 --> 00:04:43,996 Ndiyo. 92 00:04:43,996 --> 00:04:47,720 >> SPIKA 1: Wakati SSHed ndani yako kitu, alikuwa password Crimson? 93 00:04:47,720 --> 00:04:48,390 >> Rob: Yeah. 94 00:04:48,390 --> 00:04:50,170 password kwa kila kitu pretty much katika Appliance ni kwenda 95 00:04:50,170 --> 00:04:52,473 kuwa Crimson. 96 00:04:52,473 --> 00:04:56,517 >> SPIKA 2: kufunga kama IDE halisi juu ya appliance, kazi? 97 00:04:56,517 --> 00:04:59,200 98 00:04:59,200 --> 00:05:07,290 >> Rob: Mimi kufikiria Eclipse gani kuwa na Fedora version, katika kesi ambayo, ndiyo, 99 00:05:07,290 --> 00:05:08,420 unaweza kufanya hivyo. 100 00:05:08,420 --> 00:05:10,875 Ni pengine si kweli thamani yake. 101 00:05:10,875 --> 00:05:11,742 >> SPIKA 2: OK. 102 00:05:11,742 --> 00:05:15,924 Hivyo pengine rahisi kama nilitaka kutumia Eclipse, tu kutumia asili na 103 00:05:15,924 --> 00:05:17,646 kisha upload - 104 00:05:17,646 --> 00:05:21,090 >> Rob: Oh, kwamba ni pia pengine rahisi. 105 00:05:21,090 --> 00:05:24,046 Lakini unaweza kupata kazi ndani ya appliance. 106 00:05:24,046 --> 00:05:27,740 >> JOSEPH: Na kwa kamera, swali mara, unaweza kufunga mwingine 107 00:05:27,740 --> 00:05:29,490 IDE ndani ya Appliance? 108 00:05:29,490 --> 00:05:31,520 >> Rob: Eclipse kuwa mfano wa IDE. 109 00:05:31,520 --> 00:05:34,800 110 00:05:34,800 --> 00:05:36,050 Nyingine yoyote maswali Appliance? 111 00:05:36,050 --> 00:05:38,250 112 00:05:38,250 --> 00:05:38,680 Sawa. 113 00:05:38,680 --> 00:05:44,920 >> Hivyo tutakuwa na sasa hoja juu ya mstari amri interface yanayohusiana na mambo, hivyo CLI. 114 00:05:44,920 --> 00:05:47,990 Na tena, Mimi tu kwenda kufanya kazi katika hapa, kwa sababu hii ni sawa na 115 00:05:47,990 --> 00:05:52,780 kufanya kazi ndani ya dirisha terminal ndani ya appliance. 116 00:05:52,780 --> 00:05:54,160 Vipi kwamba font kuangalia? 117 00:05:54,160 --> 00:05:55,970 Ni kwamba kubwa ya kutosha? 118 00:05:55,970 --> 00:05:57,000 Sawa. 119 00:05:57,000 --> 00:06:02,480 >> Hivyo kuna mengi ya amri hiyo unapaswa kupata pretty kutumika 120 00:06:02,480 --> 00:06:04,490 katika muhula. 121 00:06:04,490 --> 00:06:09,480 kubwa mbili kwa punde ni ls, orodha files katika orodha hii; na 122 00:06:09,480 --> 00:06:11,380 cd, hivyo kubadili directory. 123 00:06:11,380 --> 00:06:18,390 Hivyo siwezi mabadiliko ya desktop na kisha mfano ya kawaida sana ni cd kwa 124 00:06:18,390 --> 00:06:22,550 directory na mara moja ls nini katika directory. 125 00:06:22,550 --> 00:06:25,540 >> Watu pia wakati mwingine hawana kutambua kuwa kukamilika kwa Tab ni kitu. 126 00:06:25,540 --> 00:06:28,370 Hivyo kama cd, VH, na kisha mimi kugonga Tab. 127 00:06:28,370 --> 00:06:30,790 Mimi karibu kamwe aina nje jambo nzima. 128 00:06:30,790 --> 00:06:32,920 Na kisha kama mimi kuweka kupiga Tab tena, itabidi moja kwa moja 129 00:06:32,920 --> 00:06:33,670 kuanza listing kwa ajili yangu. 130 00:06:33,670 --> 00:06:37,000 Ili niweze cd vhosts, mwenyeji wa ndani. 131 00:06:37,000 --> 00:06:39,880 Na kwamba itakuja tu - 132 00:06:39,880 --> 00:06:43,380 katika kesi wewe si habari mrefu kabla, directory ni neno lingine 133 00:06:43,380 --> 00:06:45,170 kwa folder. 134 00:06:45,170 --> 00:06:49,930 Hivyo sasa kama unaweza kuona - 135 00:06:49,930 --> 00:06:51,810 hebu kuleta kwamba juu. 136 00:06:51,810 --> 00:06:55,380 >> Hivyo sasa kama unaweza kuona katika mabano, wewe kuona kidogo tilde, kufyeka, vhost, 137 00:06:55,380 --> 00:06:56,810 kufyeka, jeshi ndani. 138 00:06:56,810 --> 00:07:00,040 Hivyo tilde, kwamba inahusu nyumbani directory yangu. 139 00:07:00,040 --> 00:07:03,090 Ni directory uko katika wakati SSH in 140 00:07:03,090 --> 00:07:05,660 Ni directory uko katika wakati wewe kufungua terminal. 141 00:07:05,660 --> 00:07:08,650 Ni wapi kuanza. 142 00:07:08,650 --> 00:07:13,110 Na hivyo mimi nina ndani ya nyumba directory yangu, na mimi nina ndani ya vhost 143 00:07:13,110 --> 00:07:14,475 directory ndani ya nyumba directory yangu. 144 00:07:14,475 --> 00:07:19,670 Na kisha mimi nina ndani ya mitaa mwenyeji wa directory ndani ya hiyo. 145 00:07:19,670 --> 00:07:23,740 >> Kwa hiyo baadhi ya mambo mengine muhimu kwa cd - 146 00:07:23,740 --> 00:07:29,220 au vizuri, kwa ujumla, hivyo dot daima inahusu saraka ya sasa. 147 00:07:29,220 --> 00:07:31,130 Cd, dot ni amri pretty hauna maana. 148 00:07:31,130 --> 00:07:35,150 Lakini hiyo ni kubadilika kwa saraka ya sasa. 149 00:07:35,150 --> 00:07:38,230 moja muhimu zaidi katika suala la cd ni dot, dot, ambayo ni 150 00:07:38,230 --> 00:07:40,220 tu kwenda juu directory moja. 151 00:07:40,220 --> 00:07:43,360 >> Na kutambua kwamba hizi - 152 00:07:43,360 --> 00:07:48,610 Nataka kusema Majina bandia, lakini haya alama, dot, na dot, dot, wale kazi 153 00:07:48,610 --> 00:07:51,740 kwa pretty much amri yoyote wewe ni kwenda kuwa na mawazo ya mbio. 154 00:07:51,740 --> 00:07:55,370 Hivyo kama cd ni pengine ambapo wewe utakuwa na kutumia zaidi, lakini haya si 155 00:07:55,370 --> 00:07:56,780 mambo ambayo tu cd anaelewa. 156 00:07:56,780 --> 00:07:59,980 Ni pretty much kitu mzima yako amri line anaelewa. 157 00:07:59,980 --> 00:08:01,932 mengi ya mipango ya kuelewa dot na dot, nukta. 158 00:08:01,932 --> 00:08:04,830 159 00:08:04,830 --> 00:08:09,090 >> Hivyo nyingine muhimu wale - cd, dash. 160 00:08:09,090 --> 00:08:13,460 Hivyo kwamba ni kwenda kuleta mimi directory mwisho kwamba nilikuwa in 161 00:08:13,460 --> 00:08:15,980 Hivyo wakati mwingine mimi itabidi kufanya kitu kama, oh, mimi nina kazi katika hapa. 162 00:08:15,980 --> 00:08:21,110 Na mimi kuona baadhi kosa na kitu, na Nitakwenda kuchunguza ni kwa kwenda 163 00:08:21,110 --> 00:08:24,020 baadhi directory random mahali fulani. 164 00:08:24,020 --> 00:08:25,260 Na mimi sijui kama kutakuwa na napenda huko. 165 00:08:25,260 --> 00:08:25,720 Ni mapenzi. 166 00:08:25,720 --> 00:08:27,615 Hivyo basi mimi kufanya chochote mimi nataka katika saraka hii. 167 00:08:27,615 --> 00:08:28,950 Blah, blah, blah, blah, blah. 168 00:08:28,950 --> 00:08:31,770 Na mimi nilikuwa kama, sawa, nataka kurudi nyuma ambapo mimi nilikuwa. 169 00:08:31,770 --> 00:08:34,490 cd, dash, na huleta haki yangu nyuma. 170 00:08:34,490 --> 00:08:39,970 >> Hivyo nina kwenda kutupa mengi haya wewe leo. 171 00:08:39,970 --> 00:08:43,730 Mimi si wanatarajia kukariri wao wote. 172 00:08:43,730 --> 00:08:46,170 Ni aina ya tu kujua kwamba zipo. 173 00:08:46,170 --> 00:08:48,690 Na kisha baadaye wakati uko kama, hmm, nataka kwenda nyuma ya 174 00:08:48,690 --> 00:08:51,870 directory kwamba nilikuwa tu katika, oh, kusubiri, kitu kama hicho lipo. 175 00:08:51,870 --> 00:08:53,980 Huwezi kuwa na aina tu katika directory nzima tena. 176 00:08:53,980 --> 00:08:56,090 >> JOSEPH: Na hatimaye wewe tu matumizi yao tena na tena, na 177 00:08:56,090 --> 00:08:57,830 kutakuwa na kuwa misuli kumbukumbu. 178 00:08:57,830 --> 00:09:00,090 >> Rob: Yeah. 179 00:09:00,090 --> 00:09:02,930 Hivyo ni jinsi nilivyosema hapo kabla, kwamba tilde ni nyumbani saraka yako. 180 00:09:02,930 --> 00:09:04,820 Ili niweze cd, tilde. 181 00:09:04,820 --> 00:09:07,280 Lakini mimi si hata kuwa na kufanya hivyo kama mimi tu - 182 00:09:07,280 --> 00:09:09,760 Nitakwenda nyuma directory hivyo si mfano pointless. 183 00:09:09,760 --> 00:09:14,560 Lakini kama mimi tu kufanya cd, hilo pia ni sawa, kwenda nyumbani directory yangu. 184 00:09:14,560 --> 00:09:18,380 185 00:09:18,380 --> 00:09:19,880 Mimi amri, K. 186 00:09:19,880 --> 00:09:24,015 >> JOSEPH: Unaweza pia aina ya wazi, neno, na ni lazima wazi ni. 187 00:09:24,015 --> 00:09:28,650 >> Rob: Na nadhani pia Kudhibiti, L pia hufanya. 188 00:09:28,650 --> 00:09:29,690 Hivyo kura ya njia tofauti. 189 00:09:29,690 --> 00:09:34,070 Nadhani kuna baadhi ya tofauti ambapo wazi na Kudhibiti, L mapenzi tu 190 00:09:34,070 --> 00:09:37,280 kweli kuiondoa juu na Mimi bado unaweza kitabu nyuma. 191 00:09:37,280 --> 00:09:40,580 Amri, K literally kuharibu kila kitu, na 192 00:09:40,580 --> 00:09:42,960 hawezi kitabu nyuma juu. 193 00:09:42,960 --> 00:09:45,530 Kwa uchache sana, kwamba jinsi kazi katika iTerm2. 194 00:09:45,530 --> 00:09:48,690 Sijui jinsi mambo mengine - 195 00:09:48,690 --> 00:09:49,360 oh. 196 00:09:49,360 --> 00:09:55,450 >> Pamoja na SSHing, hivyo kama wewe ni juu ya Windows, wewe ni kwenda na kushusha putty 197 00:09:55,450 --> 00:10:02,360 ili SSH tangu Windows haina na kama kujengwa katika SSH chombo. 198 00:10:02,360 --> 00:10:06,150 Kutoka Macs, unaweza tu SSH moja kwa moja kutoka dirisha terminal. 199 00:10:06,150 --> 00:10:08,755 200 00:10:08,755 --> 00:10:09,690 OK. 201 00:10:09,690 --> 00:10:11,840 Maswali? 202 00:10:11,840 --> 00:10:19,260 >> Pamoja na ls, hivyo kitu kuzoea na zaidi ya amri hizi ni - 203 00:10:19,260 --> 00:10:20,060 vizuri, mimi itabidi kufanya moja. 204 00:10:20,060 --> 00:10:21,310 Ls, dash, l. 205 00:10:21,310 --> 00:10:26,330 Hivyo dash, l ni nini tunakwenda kuwaita bendera ya ls. 206 00:10:26,330 --> 00:10:30,770 Na mengi ya amri hizi na bendera kuwa unaweza kupita kwao. 207 00:10:30,770 --> 00:10:35,020 Hivyo katika kesi hii, dash, l ni bendera kwamba anasema ni kunipa full 208 00:10:35,020 --> 00:10:37,850 orodha ya habari zote ya files haya. 209 00:10:37,850 --> 00:10:44,790 >> Hivyo tunaona hapa kwamba desktop mara tarehe Julai 30 saa 00:54. 210 00:10:44,790 --> 00:10:47,160 Mkono mara iliyopita katika Septemba 6. 211 00:10:47,160 --> 00:10:52,350 Hizi ni ukubwa wa sasa na ka ya directories haya. 212 00:10:52,350 --> 00:10:54,412 Huna kuelewa haya yote. 213 00:10:54,412 --> 00:11:00,380 >> Mambo haya upande wa kushoto, haya ya drwx, kwamba itakuwa zaidi husika 214 00:11:00,380 --> 00:11:02,290 baadaye wakati una kukabiliana na - 215 00:11:02,290 --> 00:11:05,900 kwamba ina nini na nani ana ruhusa kuangalia files haya. 216 00:11:05,900 --> 00:11:09,880 Na hivyo kama wewe walikuwa si user tu juu ya kompyuta hii, itakuwa na uwezo wa 217 00:11:09,880 --> 00:11:13,345 kusema, OK, mimi inapaswa kuwa moja tu kuruhusiwa kuangalia faili hili au mimi nina 218 00:11:13,345 --> 00:11:14,870 kwenda kuruhusu kila mtu kuangalia faili hii. 219 00:11:14,870 --> 00:11:17,710 Hivyo mtu mwingine kwenye kompyuta yangu unaweza kuangalia faili hii. 220 00:11:17,710 --> 00:11:22,190 221 00:11:22,190 --> 00:11:25,600 Mimi wala hata kujua jambo hili - nini hii nini? 222 00:11:25,600 --> 00:11:26,840 >> JOSEPH: Mimi nina uhakika kabisa, kwa kweli. 223 00:11:26,840 --> 00:11:27,705 >> Rob: No wazo. 224 00:11:27,705 --> 00:11:30,530 >> JOSEPH: Lakini kama hamjui, kuna amri ya kusaidia ambayo unaweza kutumia 225 00:11:30,530 --> 00:11:31,680 kuwaambia nini pato maana yake. 226 00:11:31,680 --> 00:11:33,780 Na kama aina katika mtu kabla ya amri - 227 00:11:33,780 --> 00:11:35,000 hivyo M-A-N. Rob: Man. 228 00:11:35,000 --> 00:11:37,690 Hivyo mtu ni mtu mwingine kwamba ni muhimu sana. 229 00:11:37,690 --> 00:11:39,540 Na mtu, ls. 230 00:11:39,540 --> 00:11:47,320 Hivyo kurasa mtu, na wote amri kwamba wewe ni kwenda kutumia 231 00:11:47,320 --> 00:11:50,330 katika mstari amri, na pia kuwa na kazi ambayo itakuwa husika 232 00:11:50,330 --> 00:11:52,530 na C. Hivyo unaweza mwanadamu - 233 00:11:52,530 --> 00:11:53,720 na mimi kupuuzwa 3. 234 00:11:53,720 --> 00:11:57,410 Lakini man 3 printf ni kwenda kuleta up C toleo la printf. 235 00:11:57,410 --> 00:12:01,030 Lakini kama mimi tu kufanya mtu printf, hii ni kwenda kuleta up amri printf 236 00:12:01,030 --> 00:12:03,540 kinachotokea katika mstari amri. 237 00:12:03,540 --> 00:12:05,730 >> Hivyo mtu, ls. 238 00:12:05,730 --> 00:12:09,030 kurasa mtu anaweza kuwa na pretty balaa. 239 00:12:09,030 --> 00:12:12,770 Hapa, ingawa, utaona orodha hii wa wote wa bendera haya ls 240 00:12:12,770 --> 00:12:14,300 anaelewa. 241 00:12:14,300 --> 00:12:17,876 Hivyo kama sisi kwenda dash, l, na - 242 00:12:17,876 --> 00:12:19,300 Mimi tu kwenda kwa kutupa hii saa wewe. 243 00:12:19,300 --> 00:12:23,050 Lakini ili kutafuta, unataka kwa kwanza kugonga swali 244 00:12:23,050 --> 00:12:24,780 alama au kufyeka kifungo. 245 00:12:24,780 --> 00:12:26,040 Hivyo kufyeka. 246 00:12:26,040 --> 00:12:29,000 >> Na kisha naweza kutafuta kwa chochote mimi nataka. 247 00:12:29,000 --> 00:12:33,780 Hivyo nina kwenda kwa kufyeka kwa dash, l. 248 00:12:33,780 --> 00:12:35,110 Na kuna ilikuwa. 249 00:12:35,110 --> 00:12:37,450 Hivyo kutumia muda mrefu orodha format. 250 00:12:37,450 --> 00:12:40,060 Kwamba haina msaada me kufikiri nini safu husika maana, lakini mimi 251 00:12:40,060 --> 00:12:44,480 kudhani mahali fulani katika hapa itakuwa kueleza kwamba. 252 00:12:44,480 --> 00:12:48,740 Hivyo matumizi mtu kurasa kwa ajili ya amri yoyote kwamba si mara moja kuelewa. 253 00:12:48,740 --> 00:12:51,080 >> Mimi nina uhakika pretty unaweza hata mtu, mtu. 254 00:12:51,080 --> 00:12:53,070 interface kwa online vyombo kumbukumbu. 255 00:12:53,070 --> 00:12:57,700 256 00:12:57,700 --> 00:13:03,570 Oh, moja ya mwisho moja kwamba labda kidogo husika ni ls, dash. 257 00:13:03,570 --> 00:13:08,490 Hivyo taarifa kama mimi tu kufanya ls, Mimi kupata files haya matano. 258 00:13:08,490 --> 00:13:11,480 Kama mimi kufanya ls, dash,, mimi kupata files mengi zaidi. 259 00:13:11,480 --> 00:13:15,350 Kwa hiyo, jambo katika kawaida kati ya haya yote files mpya ni dot kabla. 260 00:13:15,350 --> 00:13:21,220 >> Hivyo mkataba ni kwamba faili kwamba huanza na dot ni siri. 261 00:13:21,220 --> 00:13:25,300 Hivyo huna wanataka kuona faili kwamba, wewe hawataki kuwa ni fujo na 262 00:13:25,300 --> 00:13:26,750 directory yako ya nyimbo. 263 00:13:26,750 --> 00:13:30,020 Ni tu wakati wewe wazi kuuliza, haki ya wote, ls, dash, unionyeshe. 264 00:13:30,020 --> 00:13:32,830 a anasimama kwa mafaili yote, pamoja na wale siri. 265 00:13:32,830 --> 00:13:37,260 266 00:13:37,260 --> 00:13:39,270 Kwa hiyo baadhi ya amri nyingine. 267 00:13:39,270 --> 00:13:41,323 Oh, maswali katika hatua hiyo? 268 00:13:41,323 --> 00:13:41,746 Ndiyo. 269 00:13:41,746 --> 00:13:45,914 >> SPIKA 3: Wakati wa kufanya ls, a, nini dot, dot? 270 00:13:45,914 --> 00:13:46,870 >> Rob: Oh. 271 00:13:46,870 --> 00:13:48,780 Hivyo hii ni nini nilikuwa kuzungumza juu. 272 00:13:48,780 --> 00:13:50,890 Ni kitu kimoja ambapo Naweza kama cd, dot, dot. 273 00:13:50,890 --> 00:13:56,790 Basi kitaalam, dot na dot, dot ni files ambazo zipo katika kila moja 274 00:13:56,790 --> 00:14:03,620 directory ambapo dot file inahusu kwa saraka ya sasa. 275 00:14:03,620 --> 00:14:06,930 Basi, ikiwa mimi cd, dot, mimi nina kwenda tu kukaa katika directory. 276 00:14:06,930 --> 00:14:10,870 Na dot, dot siku zote ni uliopita directory moja ngazi ya juu. 277 00:14:10,870 --> 00:14:18,200 Basi, ikiwa mimi kwenda katika magogo na ls, dash, al, Mimi utaona dot, dot. cd dot, dot 278 00:14:18,200 --> 00:14:20,390 huleta mimi directory uliopita. 279 00:14:20,390 --> 00:14:24,530 280 00:14:24,530 --> 00:14:25,780 Yeah. 281 00:14:25,780 --> 00:14:27,160 282 00:14:27,160 --> 00:14:28,110 OK. 283 00:14:28,110 --> 00:14:33,070 >> Hivyo mwingine pretty muhimu amri ni rm. 284 00:14:33,070 --> 00:14:35,650 Hivyo kwamba ni nini tunakwenda kutumia kuondoa. 285 00:14:35,650 --> 00:14:38,100 Na napenda kwa kweli kufanya mwingine amri ya kwanza. 286 00:14:38,100 --> 00:14:39,610 Hivyo mkdir. 287 00:14:39,610 --> 00:14:42,770 Mkdir ni jinsi gani unaweza kujenga directories. 288 00:14:42,770 --> 00:14:47,530 Na mimi itabidi kuunda saraka la muda na kwenda katika directory kwamba muda. 289 00:14:47,530 --> 00:14:49,590 Na kama ilivyotarajiwa, ni tupu. 290 00:14:49,590 --> 00:14:53,680 Lakini kama mimi ls, dash,, mimi bado kuwa dot na dot, dot, kwa sababu dot inahusu 291 00:14:53,680 --> 00:14:54,480 saraka ya sasa. 292 00:14:54,480 --> 00:14:56,170 Na dot, dot inahusu directory uliopita. 293 00:14:56,170 --> 00:14:58,700 Na hizo zote zipo bila kujali directory wewe ni in 294 00:14:58,700 --> 00:15:01,910 295 00:15:01,910 --> 00:15:09,010 >> Na hii ni lazima kabisa amri, lakini kugusa. 296 00:15:09,010 --> 00:15:11,880 Mimi tu kutumia, kwa sababu ni njia rahisi kujenga files. 297 00:15:11,880 --> 00:15:16,180 Hivyo kugusa, kugusa b, c kugusa ni kwenda kujenga files tatu kuitwa, 298 00:15:16,180 --> 00:15:17,845 b, na c kwamba ni tupu kabisa. 299 00:15:17,845 --> 00:15:20,450 300 00:15:20,450 --> 00:15:24,980 Hivyo hatua ya mimi kujenga wale walio katika nafasi ya kwanza ni hivyo tu kwamba rm ni 301 00:15:24,980 --> 00:15:26,250 jinsi gani tunaweza kuondoa yao. 302 00:15:26,250 --> 00:15:27,850 Hivyo rm. 303 00:15:27,850 --> 00:15:30,960 Ni kwenda kuuliza mimi, kuondoa mara kwa mara tupu file a? 304 00:15:30,960 --> 00:15:33,170 Na basi mimi itabidi kusema Ndiyo. 305 00:15:33,170 --> 00:15:39,090 >> Basi, ikiwa mimi kujua kwa uhakika kwamba nataka kufuta faili kwamba bila ya kuwa na kuwa na 306 00:15:39,090 --> 00:15:44,500 ilisababisha, kuondoa mara kwa mara file tupu?, kisha rm, dash, f ni kwenda kuwa 307 00:15:44,500 --> 00:15:48,230 bendera kwamba anasema, nguvu kuondoa bila hata kusababisha yangu, oh, ni wewe 308 00:15:48,230 --> 00:15:49,710 uhakika unataka kufuta faili? 309 00:15:49,710 --> 00:15:50,810 Ndiyo, mimi nina uhakika. 310 00:15:50,810 --> 00:15:56,050 Hivyo rm, dash, fb mapenzi tu kufanya hivyo bila kuuliza. 311 00:15:56,050 --> 00:15:57,950 >> Basi hebu kufanya baadhi directories zaidi. 312 00:15:57,950 --> 00:16:03,670 mkdir, tmp2, cd, tmp2, kugusa, kugusa b. 313 00:16:03,670 --> 00:16:04,300 OK. 314 00:16:04,300 --> 00:16:08,180 Basi sasa mimi unataka kuondoa tmp2 kama directory. 315 00:16:08,180 --> 00:16:10,316 Hivyo rm tmp2. 316 00:16:10,316 --> 00:16:12,920 Huwezi kuondoa tmp2, ni directory. 317 00:16:12,920 --> 00:16:21,370 Hivyo suala hapa ni kwamba rm haina mara moja kazi ya directories. 318 00:16:21,370 --> 00:16:26,530 Ni tu maana kwa files kama files mashirika yasiyo ya directory. 319 00:16:26,530 --> 00:16:30,800 >> Na hivyo nini tunaweza kufanya hapa ni rm, dash, r. 320 00:16:30,800 --> 00:16:35,160 Kwamba anasimama kwa ajili recursively, ambayo inaweza maana yoyote kwa wewe bado. 321 00:16:35,160 --> 00:16:38,280 Lakini wakati kupata kujirudia, kutakuwa na maana zaidi. 322 00:16:38,280 --> 00:16:43,540 Hivyo rm, dash, r, tmp2 ni kwenda recursively kwenda katika directory hiyo. 323 00:16:43,540 --> 00:16:45,540 Hivyo kushuka katika saraka ya tmp2? 324 00:16:45,540 --> 00:16:47,330 Ndiyo, hebu kwenda katika hiyo. 325 00:16:47,330 --> 00:16:49,360 Je, tunataka kuondoa tmp2 /? 326 00:16:49,360 --> 00:16:49,745 Ndiyo. 327 00:16:49,745 --> 00:16:51,830 Je, tunataka kuondoa tmp2 / b? 328 00:16:51,830 --> 00:16:52,840 Ndiyo. 329 00:16:52,840 --> 00:16:55,170 Sasa tunataka kuondoa directory tmp2? 330 00:16:55,170 --> 00:16:56,040 Ndiyo. 331 00:16:56,040 --> 00:16:58,410 Na hivyo sasa directory na kila kitu ndani ya 332 00:16:58,410 --> 00:16:59,660 yake imekuwa kuondolewa. 333 00:16:59,660 --> 00:17:02,850 334 00:17:02,850 --> 00:17:07,250 >> Kuna kitaalam amri rmdir kwamba unaweza kutumia ili kuondoa 335 00:17:07,250 --> 00:17:11,670 directories, lakini kazi tu juu ya directories tupu anyway. 336 00:17:11,670 --> 00:17:14,109 Na kuona kwamba, hebu tu kufanya mkdir, tmp2 tena. 337 00:17:14,109 --> 00:17:15,940 Tmp2, kugusa. 338 00:17:15,940 --> 00:17:16,800 OK. 339 00:17:16,800 --> 00:17:22,770 Basi, ikiwa mimi kujaribu kuondoa dirtmp2, kutakuwa na kusema, directory si tupu. 340 00:17:22,770 --> 00:17:29,540 Basi, mimi pretty much kamwe kutumia kuondoa dir amri anyway, kwa sababu rm, dash, 341 00:17:29,540 --> 00:17:35,140 r kazi ya directories tupu na mashirika yasiyo ya tupu directories. 342 00:17:35,140 --> 00:17:37,760 >> Na pia, ikiwa mimi si unataka kuwa na kwenda kwa kuwa mchakato mzima wa 343 00:17:37,760 --> 00:17:40,720 kushuka katika directory na kuondoa kila faili ya mtu binafsi, rm, 344 00:17:40,720 --> 00:17:44,190 dash, rf, tmp2. 345 00:17:44,190 --> 00:17:45,670 Na sasa ni gone. 346 00:17:45,670 --> 00:17:51,220 >> Kitu kuwa makini kuhusu ni rm, dash, rf. 347 00:17:51,220 --> 00:17:53,660 Na kukutisha mimi hata aina yake, kwa sababu kama mimi ajali 348 00:17:53,660 --> 00:17:55,090 hit Enter au kitu. 349 00:17:55,090 --> 00:18:02,735 Hivyo rm, dash, rf, tilde ingekuwa, bila kusababisha yangu, f haina haraka 350 00:18:02,735 --> 00:18:05,670 yangu, itakuwa moja kwa moja kuondoa nyumba yangu nzima directory na 351 00:18:05,670 --> 00:18:06,780 kila kitu ndani yake. 352 00:18:06,780 --> 00:18:11,460 Hivyo unaweza kufikiri kwamba kitu kijinga kufanya. 353 00:18:11,460 --> 00:18:12,830 Na vizuri, ni. 354 00:18:12,830 --> 00:18:18,600 >> Lakini inaweza kutokea kwa urahisi sana na ajali kama, kusema, nilitaka kuondoa 355 00:18:18,600 --> 00:18:21,640 slash yangu, vhost directory. 356 00:18:21,640 --> 00:18:26,610 Na tu katika kuandika haraka, Mimi ajali ya kufanya hivyo. 357 00:18:26,610 --> 00:18:31,880 Hiyo kuondoa recursively wote yangu nyumbani directory na vhost directory 358 00:18:31,880 --> 00:18:35,450 katika saraka hii hasa kwamba tu hutokea kwa haipo hivi sasa. 359 00:18:35,450 --> 00:18:39,520 Lakini hii bado ingekuwa kuondoa nyumba yangu nzima directory. 360 00:18:39,520 --> 00:18:43,090 Angalau kwa kutokuwa na f, itakuwa haraka mimi kwanza. 361 00:18:43,090 --> 00:18:45,670 Na ningependa kuwa kama, oh, hakuna, mimi hawataki kufanya hivyo. 362 00:18:45,670 --> 00:18:50,570 Lakini watu, kufyeka, ikiwa ni pamoja na mimi huwa na kupata ndani ya 363 00:18:50,570 --> 00:18:53,090 tabia ya daima rf-ing. 364 00:18:53,090 --> 00:18:58,713 Hata files mara kwa mara kwamba naweza tu rm, c, mimi huwa tu rm, dash, rf, c. 365 00:18:58,713 --> 00:19:01,330 Tu kuwa makini wakati uko rf-ing. 366 00:19:01,330 --> 00:19:03,160 >> SPIKA 4: Je, C nini? 367 00:19:03,160 --> 00:19:11,570 >> Rob: C ni mimi nina kuzungumza juu ya kwamba C file katika saraka hii, kwamba rm, c. 368 00:19:11,570 --> 00:19:15,730 >> JOSEPH: Na zaidi hatari, kama matumizi ya nyota, lina maana ya kila kitu katika 369 00:19:15,730 --> 00:19:16,450 directory. 370 00:19:16,450 --> 00:19:20,040 Basi nini mimi kawaida huwa na kufanya ni mimi kwenda katika directory na mimi nataka 371 00:19:20,040 --> 00:19:21,510 kuondoa mafaili yote huko. 372 00:19:21,510 --> 00:19:23,640 Hivyo rm, dash, rf, Nyota. 373 00:19:23,640 --> 00:19:25,700 >> Rob: Yeah. 374 00:19:25,700 --> 00:19:26,780 Rm, dash, rf, Nyota. 375 00:19:26,780 --> 00:19:29,530 >> JOSEPH: Na kama wewe si makini nini directory uko katika - 376 00:19:29,530 --> 00:19:33,340 Mimi si katika temp, lakini mimi nilikuwa ajali katika nyumba directory yangu, 377 00:19:33,340 --> 00:19:35,450 basi mimi itabidi kuondoa kila kitu katika nyumba directory yangu. 378 00:19:35,450 --> 00:19:39,095 Na nimekuwa kweli amefanya kwamba kabla, na Nadhani umefanya kosa hii kabla au 379 00:19:39,095 --> 00:19:40,640 Jay amefanya hiyo kabla. 380 00:19:40,640 --> 00:19:42,480 >> Rob: Nimekuwa ajali kuondolewa - 381 00:19:42,480 --> 00:19:44,480 hivyo kupuuza amri hiyo kwa kidogo. 382 00:19:44,480 --> 00:19:45,800 >> JOSEPH: Si furaha. 383 00:19:45,800 --> 00:19:52,650 >> Rob: Kwa hiyo katika slash bin directory ni kundi la binary files ambapo kutakuwa 384 00:19:52,650 --> 00:19:54,840 kuwa ndio ukoo kama Clang. 385 00:19:54,840 --> 00:20:00,740 Naam, Clang na kimsingi yote haya mambo ambayo mimi nina mbio katika amri 386 00:20:00,740 --> 00:20:02,060 line ni katika hii slash bin directory. 387 00:20:02,060 --> 00:20:03,090 >> JOSEPH: Kama ls ni katika hapa. 388 00:20:03,090 --> 00:20:06,285 >> Rob: Kwa hiyo nukta, kufyeka, ls bila orodha saraka hii. 389 00:20:06,285 --> 00:20:08,120 >> JOSEPH: Rm ni pia katika saraka hii. 390 00:20:08,120 --> 00:20:12,770 >> Rob: Mimi ajali rm, rf-ed bin, ambayo kuondolewa amri yoyote mimi naweza 391 00:20:12,770 --> 00:20:14,380 uwezekano wa milele wanataka. 392 00:20:14,380 --> 00:20:18,085 Basi mimi tu reinstall Appliance mpya katika hatua hiyo. 393 00:20:18,085 --> 00:20:20,170 >> JOSEPH: Hivyo kuwa makini sana wakati matumizi ya amri hii. 394 00:20:20,170 --> 00:20:21,120 >> Watazamaji: [inaudible]? 395 00:20:21,120 --> 00:20:22,640 >> Rob: Ndiyo. 396 00:20:22,640 --> 00:20:24,135 Hiyo pia tabia mbaya kupata ndani. 397 00:20:24,135 --> 00:20:27,920 398 00:20:27,920 --> 00:20:30,170 Kama taarifa, mimi nina sasa - 399 00:20:30,170 --> 00:20:33,580 vizuri, unaweza taarifa, lakini yangu zoom-katika labda unaweza. 400 00:20:33,580 --> 00:20:35,360 Hivyo mimi nina sasa mzizi @ appliance. 401 00:20:35,360 --> 00:20:39,790 Hivyo jharvard ni user tunataka wewe daima kutumia. 402 00:20:39,790 --> 00:20:43,820 Mzizi ni user ambayo ina ruhusa kufanya kabisa kitu chochote. 403 00:20:43,820 --> 00:20:50,260 >> Hivyo taarifa wakati mimi nina jharvard, kama mimi kujaribu cd - 404 00:20:50,260 --> 00:20:52,461 nini directory hiyo? 405 00:20:52,461 --> 00:20:53,980 Oh, mzizi ni mfano mzuri. 406 00:20:53,980 --> 00:20:54,950 Hivyo cd, mizizi. 407 00:20:54,950 --> 00:20:56,030 Ruhusa kukataliwa. 408 00:20:56,030 --> 00:21:00,060 Kwa sababu kama sisi kuangalia orodha hii - 409 00:21:00,060 --> 00:21:02,410 na tena, huna kwa kabisa kuelewa hili. 410 00:21:02,410 --> 00:21:09,210 Lakini dashes hawa watatu akisema kwamba si basi nyingine yoyote 411 00:21:09,210 --> 00:21:11,120 user katika saraka hii. 412 00:21:11,120 --> 00:21:14,540 Na directory hutokea kwa kumilikiwa na user mizizi. 413 00:21:14,540 --> 00:21:20,310 >> Hivyo ukweli kwamba mimi ni jharvard na hakuna mtu ambaye si mizizi kuruhusiwa kuingia katika 414 00:21:20,310 --> 00:21:23,490 saraka hii, hiyo ina maana kwamba mimi nina kwenda kupata ruhusa alikanusha wakati mimi 415 00:21:23,490 --> 00:21:25,160 kujaribu cd ndani yake. 416 00:21:25,160 --> 00:21:31,370 Hivyo wakati mimi mizizi, nina ruhusa ya kufanya kabisa kitu chochote, ikiwa ni pamoja na 417 00:21:31,370 --> 00:21:34,660 kufuta muhimu kwa Appliance na 418 00:21:34,660 --> 00:21:36,640 kuharibu jambo nzima. 419 00:21:36,640 --> 00:21:41,240 >> Hivyo ni tabia mbaya ya kupata katika tu waliopotea karibu yako 420 00:21:41,240 --> 00:21:43,650 mfumo wa uendeshaji kama mizizi. 421 00:21:43,650 --> 00:21:46,520 Mimi kufanya hivyo anyway. 422 00:21:46,520 --> 00:21:48,710 Maswali? 423 00:21:48,710 --> 00:21:52,230 Na mimi itabidi exit mzizi, kukaa kama jharvard. 424 00:21:52,230 --> 00:21:54,510 OK. 425 00:21:54,510 --> 00:21:55,820 >> Amri zaidi husika. 426 00:21:55,820 --> 00:22:03,975 Hivyo kwenda nyuma katika temp yetu, mv amri anasimama kwa hoja. 427 00:22:03,975 --> 00:22:05,450 Unaweza hoja. 428 00:22:05,450 --> 00:22:07,610 Sasa tunataka kuiita b, hivyo sasa ni kuitwa b. 429 00:22:07,610 --> 00:22:10,650 Au labda tunataka hoja b up directory moja. 430 00:22:10,650 --> 00:22:12,730 Hivyo sasa directory hii tupu. 431 00:22:12,730 --> 00:22:15,410 Mimi itabidi kurudi nyumbani directory yangu, na tunaona kwamba b ni katika hapa, kwa sababu 432 00:22:15,410 --> 00:22:19,230 nyumbani directory mara moja directory kutoka directory kwamba b alikuwa in 433 00:22:19,230 --> 00:22:24,710 434 00:22:24,710 --> 00:22:26,580 >> Kuna pia linganisha. 435 00:22:26,580 --> 00:22:33,210 Hivyo cp ni nakala sehemu super, dot, maandishi. 436 00:22:33,210 --> 00:22:35,750 Naweza kuwaita ni s, dot, maandishi. 437 00:22:35,750 --> 00:22:39,780 Sasa tuna wote sehemu super, dot, Nakala; na s, dot, maandishi. 438 00:22:39,780 --> 00:22:41,340 Hii pia kazi juu ya directories. 439 00:22:41,340 --> 00:22:44,040 440 00:22:44,040 --> 00:22:46,560 Mimi RF-ed faili moja. 441 00:22:46,560 --> 00:22:48,200 Hivyo cp - 442 00:22:48,200 --> 00:22:51,710 vizuri, kwanza hebu jaribu cp, TMP, tmp2. 443 00:22:51,710 --> 00:22:53,220 Hivyo omitting directory TMP. 444 00:22:53,220 --> 00:22:57,440 Hivyo sawa na RM, tabia default ni kwa si kazi ya directories. 445 00:22:57,440 --> 00:23:01,570 >> Na tena, sawa na RM, default tabia - vizuri, kupata ni kufanya kazi 446 00:23:01,570 --> 00:23:04,230 na directories ni, dash-r mbali. 447 00:23:04,230 --> 00:23:09,240 Hivyo nakala recursively temp directory katika tmp2. 448 00:23:09,240 --> 00:23:13,700 Na hivyo sasa tuna wote TMP na tmp2, na kwamba si kwamba msaada tangu TMP 449 00:23:13,700 --> 00:23:16,814 ilikuwa tupu katika nafasi ya kwanza. 450 00:23:16,814 --> 00:23:18,660 Tmp2. 451 00:23:18,660 --> 00:23:22,680 >> Sasa hebu nakala TMP katika tmp2. 452 00:23:22,680 --> 00:23:27,900 Na sisi kuona kwamba tmp2 pia ina faili a, kwa sababu directory na 453 00:23:27,900 --> 00:23:32,220 kila kitu ndani ya kwamba directory ilipelekwa. 454 00:23:32,220 --> 00:23:36,000 Na kwamba wanaweza kuwa fulani na manufaa kama, wanasema wewe ni kufanya kazi 455 00:23:36,000 --> 00:23:38,860 juu ya tatizo kuweka moja - 456 00:23:38,860 --> 00:23:41,320 au kweli, baadaye seti tatizo ni muhimu zaidi, kwa sababu kuna 457 00:23:41,320 --> 00:23:43,660 itakuwa rundo zima ya files na mambo. 458 00:23:43,660 --> 00:23:47,010 >> Lakini unataka tu, kwa ajili ya kupasuliwa pili, wewe ni kama, sawa, mimi nina 459 00:23:47,010 --> 00:23:50,210 kwenda kujaribu kitu tofauti. 460 00:23:50,210 --> 00:23:57,860 Napenda tu nakala pset1 yangu yote directory katika pset1 Backup ili kwamba kama 461 00:23:57,860 --> 00:24:01,490 Mimi kuishia screwing mambo up, siwezi kurudi nyuma katika directory yangu ziada. 462 00:24:01,490 --> 00:24:07,340 Kuna njia sahihi zaidi ya versioning inaunga mkono juu code yako, lakini 463 00:24:07,340 --> 00:24:10,610 hii ni mara njia ya haraka tu kufanya kuhakikisha kuwa nakala ya kitu 464 00:24:10,610 --> 00:24:11,860 kwamba wewe ni kuhusu kurekebisha. 465 00:24:11,860 --> 00:24:16,974 466 00:24:16,974 --> 00:24:27,090 >> Hivyo echo ni pia amri moja-off kwamba aina ya sillily tu magazeti kwa 467 00:24:27,090 --> 00:24:31,540 amri line nini hasa alitaka kurudia. 468 00:24:31,540 --> 00:24:32,680 Hivyo echo hi. 469 00:24:32,680 --> 00:24:35,420 Tutaweza tu magazeti hi. 470 00:24:35,420 --> 00:24:38,030 Echo hujambo dunia. 471 00:24:38,030 --> 00:24:39,800 Tutaweza magazeti hujambo dunia. 472 00:24:39,800 --> 00:24:44,350 Kuja katika matumizi ya wakati kuanza kuchanganya amri. 473 00:24:44,350 --> 00:24:48,300 >> Na tena, wala kutarajia wewe kabisa kuelewa hili bado, lakini ni 474 00:24:48,300 --> 00:24:49,910 kitu kuona. 475 00:24:49,910 --> 00:24:52,470 Na kisha kama wewe ni googling kwa mifano au wewe kutambua unataka kufanya 476 00:24:52,470 --> 00:24:55,030 kitu, inaweza kuwa na manufaa. 477 00:24:55,030 --> 00:24:59,020 Hivyo basi, kama mfano, hivyo ls, dash, l. 478 00:24:59,020 --> 00:25:01,160 Hivyo hapa naona pato ya ls, dash, l. 479 00:25:01,160 --> 00:25:06,560 Na mimi kusema, OK, nataka kuhifadhi kwamba katika faili. 480 00:25:06,560 --> 00:25:11,620 Yote ya pato hii hapa, nataka kuweka katika faili tofauti. 481 00:25:11,620 --> 00:25:16,080 >> Hivyo hii kidogo zaidi ya ishara ni nini tunakwenda kwa simu. 482 00:25:16,080 --> 00:25:18,570 Sisi ni imetuma pato katika faili. 483 00:25:18,570 --> 00:25:21,680 Hebu piga file blah, kwa sababu hiyo nini mimi huwa daima simu yake. 484 00:25:21,680 --> 00:25:26,430 Hivyo sasa tunaona tuna faili blah hapa. 485 00:25:26,430 --> 00:25:30,270 Na kama mimi kufungua it up, mimi utaona ni hasa pato na amri 486 00:25:30,270 --> 00:25:31,990 kwamba mimi tu mbio. 487 00:25:31,990 --> 00:25:36,020 Na vile vile, unaweza - 488 00:25:36,020 --> 00:25:41,260 kama hii ilikuwa pato faili, hii ni kupata mawazo kutoka kwa file. 489 00:25:41,260 --> 00:25:45,790 490 00:25:45,790 --> 00:25:47,050 Ni nini amri hiyo I - 491 00:25:47,050 --> 00:25:49,620 >> JOSEPH: Nadhani unaweza kutumia kidogo au zaidi, pengine. 492 00:25:49,620 --> 00:25:53,031 >> Rob: Lakini vipi kuhusu tu chini blah? 493 00:25:53,031 --> 00:25:53,930 Mimi sijui. 494 00:25:53,930 --> 00:25:57,870 Kama wewe kuja katika hali hii, kama kuna psets kwamba ni muhimu kwa ajili ya. 495 00:25:57,870 --> 00:25:59,950 >> JOSEPH: Unaweza bomba ndani echo. 496 00:25:59,950 --> 00:26:02,920 Bomba file katika echo kuona. 497 00:26:02,920 --> 00:26:04,060 >> Rob: Ni bomba. 498 00:26:04,060 --> 00:26:04,860 >> JOSEPH: Sorry. 499 00:26:04,860 --> 00:26:06,190 >> Rob: All wa kulia. 500 00:26:06,190 --> 00:26:12,720 Hivyo hii ni pato kwa file. 501 00:26:12,720 --> 00:26:18,700 Hii ni kupata Nakala kutoka faili na mkono ni juu ya mpango huo. 502 00:26:18,700 --> 00:26:20,560 Na utapata pia kuona guy hii. 503 00:26:20,560 --> 00:26:24,410 Hivyo hii ni aina ya kufanya wote kwa mara moja. 504 00:26:24,410 --> 00:26:28,310 Na kwa kweli, mimi itabidi kuanzisha mbili mpya amri tu kufanya matumizi yake. 505 00:26:28,310 --> 00:26:33,060 >> Historia ni amri Handy kwamba ni kwenda magazeti nje orodha ya 506 00:26:33,060 --> 00:26:34,940 kitu chochote nimekuwa milele kukimbia amri line. 507 00:26:34,940 --> 00:26:38,290 Hivyo tunaona hapa kila kitu nina mbio muda wote huu. 508 00:26:38,290 --> 00:26:39,540 Kura ya ls ya. 509 00:26:39,540 --> 00:26:41,570 510 00:26:41,570 --> 00:26:48,470 >> Na amri nyingine muhimu ni Grep kwamba lengo lake ni kutafuta juu ya 511 00:26:48,470 --> 00:26:52,060 Nakala kutafuta sampuli, vizuri, kuangalia kwa lolote 512 00:26:52,060 --> 00:26:53,310 unataka kuangalia. 513 00:26:53,310 --> 00:26:59,770 Na hivyo matumizi Handy hapa ni, kusema tunataka kunyakua historia. 514 00:26:59,770 --> 00:27:03,860 Na mimi nataka kuangalia kwa amri ambapo mimi - nini 515 00:27:03,860 --> 00:27:05,000 muhimu moja kwa kuangalia? 516 00:27:05,000 --> 00:27:06,898 >> JOSEPH: [inaudible]? 517 00:27:06,898 --> 00:27:09,710 >> Rob: Au hebu tu kuangalia kwa wote kugusa, kwa sababu yoyote. 518 00:27:09,710 --> 00:27:13,850 Hivyo hii ni nini itakuwa kuangalia kama. 519 00:27:13,850 --> 00:27:15,560 Na huna kabisa kuelewa kwamba. 520 00:27:15,560 --> 00:27:20,570 Lakini wazo ni hapa, historia ni kutoa pato sawa ilivyokuwa hapa 521 00:27:20,570 --> 00:27:25,030 ambapo ni uchapishaji nje nzima historia ya kila kitu nimekuwa milele kukimbia. 522 00:27:25,030 --> 00:27:27,030 Sisi ni kisha kupita kwamba - 523 00:27:27,030 --> 00:27:30,230 hivyo badala ya uchapishaji ni kwa screen, tunataka kupita kwamba kwa 524 00:27:30,230 --> 00:27:34,640 amri Grep ambayo ni kuangalia kwa matukio yote ya neno kugusa. 525 00:27:34,640 --> 00:27:40,280 >> Na hivyo kwa kutumia mchanganyiko wa historia zana na Grep, naona, OK, 526 00:27:40,280 --> 00:27:44,820 hapa ni amri zote za nimekuwa milele kukimbia, na hapa ni moja kwa kiasi fulani ya kawaida. 527 00:27:44,820 --> 00:27:45,510 Sisi ni chini. 528 00:27:45,510 --> 00:27:47,930 Na ni pia kunipa amri I just mbio kwamba alikuwa 529 00:27:47,930 --> 00:27:51,240 neno kugusa ndani yake. 530 00:27:51,240 --> 00:27:58,500 Lakini bomba ni kitu pretty muhimu kwa kuchanganya programu mbalimbali. 531 00:27:58,500 --> 00:28:04,670 Na kwa kweli, ni njia ya mkato kwa let me pato historia ya faili blah, na 532 00:28:04,670 --> 00:28:10,190 napenda Grep kutumia faili blah kama nini nataka kuangalia juu. 533 00:28:10,190 --> 00:28:13,460 Hivyo bomba ni njia ya mkato kwa amri hizo mbili. 534 00:28:13,460 --> 00:28:13,950 Ndiyo. 535 00:28:13,950 --> 00:28:15,306 >> SPIKA 4: [inaudible]? 536 00:28:15,306 --> 00:28:16,556 >> Rob: Ndiyo. 537 00:28:16,556 --> 00:28:20,142 538 00:28:20,142 --> 00:28:21,110 Je, ni - 539 00:28:21,110 --> 00:28:21,858 Oh. 540 00:28:21,858 --> 00:28:24,820 Hebu mtihani. 541 00:28:24,820 --> 00:28:29,170 Hivyo paka, mbwa, samaki. 542 00:28:29,170 --> 00:28:33,770 Hivyo nataka Grep. 543 00:28:33,770 --> 00:28:37,680 Dash, r, tena, ni kwenda kuwa recursively, hivyo nataka kuteremka chini ya 544 00:28:37,680 --> 00:28:38,870 wote directories. 545 00:28:38,870 --> 00:28:43,210 Nataka recursively Grep kwa wote - na napenda muda kupata 546 00:28:43,210 --> 00:28:44,460 hii nje ya njia. 547 00:28:44,460 --> 00:28:48,650 548 00:28:48,650 --> 00:28:50,740 Kupuuza mimi. 549 00:28:50,740 --> 00:28:51,360 OK. 550 00:28:51,360 --> 00:28:56,740 >> Hivyo nataka muda Grep kwa matukio yote ya neno samaki. 551 00:28:56,740 --> 00:29:00,510 Na hivyo hapa nini mimi kufanya ni grepping recursively kwa neno samaki. 552 00:29:00,510 --> 00:29:05,410 Na nyota ina maana ya hayo yote, files katika saraka hii. 553 00:29:05,410 --> 00:29:08,930 Na hivyo alinipa Ruhusa imekataliwa, kwa sababu hairuhusiwi kusoma kwamba 554 00:29:08,930 --> 00:29:10,060 hasa file. 555 00:29:10,060 --> 00:29:14,040 Lakini ni kupatikana samaki katika faili, mtihani. 556 00:29:14,040 --> 00:29:18,450 >> Mimi naweza pia kusema, hasa, mimi tu wanataka kuangalia katika file blah, katika 557 00:29:18,450 --> 00:29:19,580 kesi ambayo itakuwa si kupata kitu chochote. 558 00:29:19,580 --> 00:29:20,990 Mimi nataka tu kuangalia katika faili, mtihani. 559 00:29:20,990 --> 00:29:22,240 Ni mtapata samaki. 560 00:29:22,240 --> 00:29:25,980 561 00:29:25,980 --> 00:29:29,260 Hiyo ni amri pretty muhimu kujua kwa ujumla. 562 00:29:29,260 --> 00:29:31,640 Kuna baadhi ya njia mbadala kwa Grep kwamba wanatakiwa kuwa zaidi 563 00:29:31,640 --> 00:29:36,780 programu ya kirafiki, lakini mimi huwa bado kuanguka nyuma Grep. 564 00:29:36,780 --> 00:29:38,030 Maswali? 565 00:29:38,030 --> 00:29:39,965 566 00:29:39,965 --> 00:29:40,919 OK. 567 00:29:40,919 --> 00:29:42,520 >> Je, kuna amri nyingine? 568 00:29:42,520 --> 00:29:45,270 Oh. 569 00:29:45,270 --> 00:29:48,370 Moja tu-off moja kwamba mimi daima kupata kuwa na furaha ni cal. 570 00:29:48,370 --> 00:29:55,610 Hivyo taarifa wakati mimi niko katika hii nzuri full-screen mode, mimi sina juu kama 571 00:29:55,610 --> 00:29:56,720 toolbar au kitu chochote. 572 00:29:56,720 --> 00:29:59,530 Hivyo cal tu anatoa me nzuri kidogo kalenda hiyo ni haki 573 00:29:59,530 --> 00:30:02,380 sasa kukatwa, mimi kudhani. 574 00:30:02,380 --> 00:30:04,770 Lakini nzuri amri kidogo. 575 00:30:04,770 --> 00:30:06,540 >> JOSEPH: Ni [inaudible]. 576 00:30:06,540 --> 00:30:09,170 Amri nyingine ambayo unaweza kuwa kuonekana ni pamoja na Clang na kufanya. 577 00:30:09,170 --> 00:30:11,180 Tutaweza kwenda juu yao katika undani zaidi baadaye. 578 00:30:11,180 --> 00:30:13,400 Lakini kama wewe tumekuwa kazi Pset, unapaswa kuwa na 579 00:30:13,400 --> 00:30:15,160 ukoo na hayo. 580 00:30:15,160 --> 00:30:16,640 >> Rob: All wa kulia. 581 00:30:16,640 --> 00:30:18,520 Maswali juu ya mstari amri mambo? 582 00:30:18,520 --> 00:30:22,450 583 00:30:22,450 --> 00:30:23,260 Sawa. 584 00:30:23,260 --> 00:30:27,416 Hivyo basi hoja juu ya baadhi C-kuhusiana mambo ya ajabu. 585 00:30:27,416 --> 00:30:28,666 Vigezo math. 586 00:30:28,666 --> 00:30:39,078 587 00:30:39,078 --> 00:30:40,060 OK. 588 00:30:40,060 --> 00:30:45,230 Hivyo tu kama sisi tulikuwa na math katika Scratch, unaweza pia kutumia math katika C. 589 00:30:45,230 --> 00:30:49,270 >> Kabla ya sisi kupata kwamba kabisa, hivyo vigezo. 590 00:30:49,270 --> 00:30:53,920 Kumbuka kwamba wakati wowote kutangaza variable kama int x au kuelea y, wewe 591 00:30:53,920 --> 00:30:56,710 na kuwapa aina kabla ya jina kutofautiana. 592 00:30:56,710 --> 00:31:03,020 Hivyo aina tumeona hadi sasa ni int, kuelea, mara mbili, kwa muda mrefu muda mrefu, ambayo mimi 593 00:31:03,020 --> 00:31:06,150 si kweli kujua kama tumekuwa kuonekana kwamba hadi sasa. 594 00:31:06,150 --> 00:31:07,700 >> Kuna baadhi ya wale wengine. 595 00:31:07,700 --> 00:31:09,990 Tumekuwa kuona char. 596 00:31:09,990 --> 00:31:13,920 Kuna fupi, ambayo ni kama ni kinyume cha muda mrefu kwa muda mrefu ambapo ni 597 00:31:13,920 --> 00:31:16,650 ndogo kuliko integer. 598 00:31:16,650 --> 00:31:18,580 Sisi pia kuonekana kamba. 599 00:31:18,580 --> 00:31:23,070 Kwa hiyo kile ni maalum kuhusu kamba? 600 00:31:23,070 --> 00:31:25,350 Kwa nini mimi kusema ni si kabisa kama int? 601 00:31:25,350 --> 00:31:27,030 >> SPIKA 4: Ni kweli haina kuwepo. 602 00:31:27,030 --> 00:31:27,990 >> Rob: Yeah. 603 00:31:27,990 --> 00:31:31,820 Hivyo sababu tu tuna string ni kwa sababu wakati wa kufanya 604 00:31:31,820 --> 00:31:33,215 hash, ni pamoja na cs50.h. 605 00:31:33,215 --> 00:31:36,530 606 00:31:36,530 --> 00:31:42,670 Na tutaweza kuona mifano ya hili baadaye - oh, hiyo haina kushughulikia kwamba vizuri - 607 00:31:42,670 --> 00:31:46,160 ambapo cs50.h ni kufanya kitu pamoja na mistari ya aina 608 00:31:46,160 --> 00:31:49,230 def, char nyota, kamba. 609 00:31:49,230 --> 00:31:53,280 >> Na ili kusema kwamba sisi kufanya hata kujua nini nyota char ni bado. 610 00:31:53,280 --> 00:31:56,770 Lakini hii ni kusema tunataka kamba. 611 00:31:56,770 --> 00:32:00,250 Sehemu yoyote tumekuwa kutumia kamba, wewe wangeweza kutumia char nyota, 612 00:32:00,250 --> 00:32:04,670 ambayo kwa kweli ni aina hiyo ipo katika C lugha. 613 00:32:04,670 --> 00:32:06,680 Lakini tutaweza kupata hiyo. 614 00:32:06,680 --> 00:32:07,860 Oh, na huenda haki ya nyuma. 615 00:32:07,860 --> 00:32:10,170 Nadhifu. 616 00:32:10,170 --> 00:32:15,370 >> Kitu hivyo sawa na bool ambapo kweli na uongo. 617 00:32:15,370 --> 00:32:22,510 Hiyo ni kweli kujengwa katika aina katika C. Badala yake, ni tu, je, hii na 618 00:32:22,510 --> 00:32:23,740 thamani zero? 619 00:32:23,740 --> 00:32:26,200 Kisha tutaweza tu kufikiria kuwa ni ya uongo. 620 00:32:26,200 --> 00:32:27,350 Je hii kuwa thamani - 621 00:32:27,350 --> 00:32:30,530 vizuri, je, hii na yoyote thamani ya kwamba ni si sifuri? 622 00:32:30,530 --> 00:32:32,200 Kisha tutaweza kufikiria kuwa ni kweli. 623 00:32:32,200 --> 00:32:35,940 Hivyo moja ni kweli, wawili ni kweli, kitu chochote nonzero ni kweli. 624 00:32:35,940 --> 00:32:38,710 625 00:32:38,710 --> 00:32:42,790 Basi hizo hizo. 626 00:32:42,790 --> 00:32:47,624 Maswali juu ya kutangaza vigezo na aina kutofautiana na yote hayo? 627 00:32:47,624 --> 00:32:48,100 Yeah. 628 00:32:48,100 --> 00:32:52,384 >> SPIKA 4: Kwa muda mrefu kwa muda mrefu, katika kitabu, alisema alikuwa na kuwa kwa muda mrefu kwa muda mrefu int. 629 00:32:52,384 --> 00:32:54,288 Lakini tu kwa muda mrefu kwa muda mrefu kazi? 630 00:32:54,288 --> 00:32:58,210 631 00:32:58,210 --> 00:33:01,470 >> Rob: Kwa hiyo modifiers aina hizi. 632 00:33:01,470 --> 00:33:04,170 Hivyo int x. 633 00:33:04,170 --> 00:33:07,710 Ili tuweze pia kusema unsigned int x. 634 00:33:07,710 --> 00:33:09,640 Tunaweza kusema short int x. 635 00:33:09,640 --> 00:33:12,570 Tunaweza kusema kwa muda mrefu kwa muda mrefu int x. 636 00:33:12,570 --> 00:33:17,250 Lakini pretty much yeyote mambo hayo mimi tu alisema, unsigned int, short int, 637 00:33:17,250 --> 00:33:21,480 muda mrefu muda mrefu int, unaweza kujikwamua ya int na itakuwa tu kudhani 638 00:33:21,480 --> 00:33:22,510 kwamba maana int. 639 00:33:22,510 --> 00:33:26,045 Hivyo unsigned x, ambayo ina maana ya - 640 00:33:26,045 --> 00:33:29,400 unajua jinsi ya kawaida na int, unaweza kusema x sawa na hasi 3? 641 00:33:29,400 --> 00:33:31,636 Pamoja na unsigned int, huwezi. 642 00:33:31,636 --> 00:33:34,480 >> JOSEPH: Na tena, kwa kamera, Swali ni kuwa, nini tofauti 643 00:33:34,480 --> 00:33:37,796 kati ya muda mrefu muda mrefu int na tu muda mrefu? 644 00:33:37,796 --> 00:33:38,410 >> Rob: Yeah. 645 00:33:38,410 --> 00:33:42,850 Hivyo mimi karibu kamwe kuandika muda mrefu muda mrefu int. 646 00:33:42,850 --> 00:33:44,100 Nitaandika muda mrefu kwa muda mrefu. 647 00:33:44,100 --> 00:33:47,770 648 00:33:47,770 --> 00:33:50,636 >> JOSEPH: maswali yoyote? 649 00:33:50,636 --> 00:33:51,886 >> Rob: OK. 650 00:33:51,886 --> 00:33:56,180 651 00:33:56,180 --> 00:34:02,390 Hivyo silly kidogo kumbukumbu ya kwamba ni jinsi gani sisi kutangaza kutofautiana na initialize 652 00:34:02,390 --> 00:34:04,450 kutofautiana na kutangaza mwingine kutofautiana na initialize 653 00:34:04,450 --> 00:34:05,870 yote katika hatua moja. 654 00:34:05,870 --> 00:34:09,370 Hivyo tamko la kutofautiana na initialization variable hawana 655 00:34:09,370 --> 00:34:11,120 kwa lakini inaweza kuwa juu ya mstari huo. 656 00:34:11,120 --> 00:34:15,409 657 00:34:15,409 --> 00:34:20,060 >> Hivyo tuna kiwango operators math kwamba wewe ni kutumika kwa - 658 00:34:20,060 --> 00:34:22,199 plus, minus, kugawanya, mara kwa mara. 659 00:34:22,199 --> 00:34:24,389 Kuna pia modulo, ambayo tutaweza kuona. 660 00:34:24,389 --> 00:34:29,060 Kuna si, angalau katika C, kujengwa kwa nguvu 661 00:34:29,060 --> 00:34:31,765 exponentiation kareti operator. 662 00:34:31,765 --> 00:34:33,770 Naam, kuna kareti operator, lakini siyo nguvu. 663 00:34:33,770 --> 00:34:34,239 >> JOSEPH: Lakini si exponentiation, ndiyo. 664 00:34:34,239 --> 00:34:36,210 >> Rob: Je, si kutumia kareti kudhani kwamba maana yake ni 665 00:34:36,210 --> 00:34:39,980 kama squared au chochote. 666 00:34:39,980 --> 00:34:42,289 Hivyo baadhi ya mambo ya kuweka katika akili juu ya mgawanyiko. 667 00:34:42,289 --> 00:34:46,282 668 00:34:46,282 --> 00:34:48,880 Mimi itabidi kusimama. 669 00:34:48,880 --> 00:34:51,315 Hivyo alitangaza initialize jibu. 670 00:34:51,315 --> 00:34:54,670 Hivyo sisi ni kusema kuelea jibu sawa na 1 kugawanywa na 10. 671 00:34:54,670 --> 00:34:57,500 Magazeti jibu kwa maeneo mawili decimal. 672 00:34:57,500 --> 00:35:02,180 >> Na hii ni aina ya kitu ambayo mimi ingekuwa mtu printf kufikiri kwamba 673 00:35:02,180 --> 00:35:05,110 nini heck haina%, dot, 2f maana yake nini? 674 00:35:05,110 --> 00:35:07,930 Na kwamba tu ina maana, vizuri, kupuuza 0.2. 675 00:35:07,930 --> 00:35:10,420 Na%, f ni nini sisi kutumia magazeti kwa kuelea. 676 00:35:10,420 --> 00:35:15,370 0.2 ni kusema, magazeti kwamba kuelea kwa maeneo mawili decimal. 677 00:35:15,370 --> 00:35:19,600 Hivyo mpango huu mdudu, na unaweza tumeona hii kabla ya katika baadhi 678 00:35:19,600 --> 00:35:20,870 CS kabla ya kozi. 679 00:35:20,870 --> 00:35:22,170 Lakini ni nini kwamba mdudu? 680 00:35:22,170 --> 00:35:23,050 >> SPIKA 5: Zero. 681 00:35:23,050 --> 00:35:24,130 >> Rob: Yeah. 682 00:35:24,130 --> 00:35:29,630 Hivyo wakati sisi kusema, jibu ni sawa na 1 kugawanywa na 10, tunataka 683 00:35:29,630 --> 00:35:31,610 kujibu kuwa 0.1. 684 00:35:31,610 --> 00:35:37,450 Lakini 1 kugawanywa na 10, 1 ni integer, 10 ni integer. 685 00:35:37,450 --> 00:35:41,060 Na hivyo wakati sisi kufanya integer kugawanywa na integer, tunakwenda kupata nyuma 686 00:35:41,060 --> 00:35:42,190 integer. 687 00:35:42,190 --> 00:35:43,660 Hivyo 1 kugawanywa na 10 ni 0.1. 688 00:35:43,660 --> 00:35:46,760 >> Tangu inahitaji kutupa integer, ni tu kwenda kutupa kwamba 689 00:35:46,760 --> 00:35:49,410 mahali decimal na kusema kwamba jibu ni 0. 690 00:35:49,410 --> 00:35:55,314 Na hivyo wakati sisi magazeti kujibu hapa, ni kwenda magazeti 0.00. 691 00:35:55,314 --> 00:35:58,430 >> JOSEPH: Na kama note, ni kweli kumtupia mbali nini baada ya 692 00:35:58,430 --> 00:35:59,390 decimal uhakika. 693 00:35:59,390 --> 00:36:03,180 Hivyo kama wewe badala yake alikuwa 6 kugawanywa na 10, unaweza kufikiri kwamba ingekuwa kukupa 694 00:36:03,180 --> 00:36:05,200 0.6 na basi ingekuwa pande zote hadi 1. 695 00:36:05,200 --> 00:36:10,520 Lakini kwa kweli, kile kinachotokea wakati ni aina kazi yake ni kwamba matone ni nini 696 00:36:10,520 --> 00:36:11,470 baada ya uhakika decimal. 697 00:36:11,470 --> 00:36:13,020 Hivyo 0.6 gani kuwa 0. 698 00:36:13,020 --> 00:36:13,370 >> Rob: Yeah. 699 00:36:13,370 --> 00:36:15,160 Na tutaweza kusema Truncate kwa ajili hiyo. 700 00:36:15,160 --> 00:36:21,760 Hivyo wakati wowote kutupwa int, decimal ni truncated. 701 00:36:21,760 --> 00:36:23,980 Hivyo fix kwa kuwa - kuna kweli mbili. 702 00:36:23,980 --> 00:36:27,890 Na mimi nina kwenda kufanya hivyo pili, kwa sababu hii ni moja ya kurekebisha rahisi sana. 703 00:36:27,890 --> 00:36:32,670 >> Hivyo fix moja ni kutumia ikifungwa katika mgawanyiko. 704 00:36:32,670 --> 00:36:34,720 Na kwa kweli, wewe tu na kufanya mmoja wao kuelea. 705 00:36:34,720 --> 00:36:37,400 Lakini ni kiasi fulani wazi tu kufanya wote wawili ikifungwa. 706 00:36:37,400 --> 00:36:41,170 Hivyo 1.0 kugawanywa na 10.0 ni kugawa ikifungwa mbili. 707 00:36:41,170 --> 00:36:43,970 Hivyo jibu kuishia kuwa kuelea, na hivyo utakuwa 708 00:36:43,970 --> 00:36:48,050 usahihi magazeti 0.10 hapa. 709 00:36:48,050 --> 00:36:52,220 >> Kitu ambacho si kazi vizuri kuhusu, yaani, vizuri, hakika, ilikuwa ni rahisi 710 00:36:52,220 --> 00:36:56,240 kutosha kubadilisha 1 kwa kuelea kwa kufanya hivyo 1.0. 711 00:36:56,240 --> 00:37:02,180 Lakini nini kama badala tulikuwa integers mbili kama int x sawa na 1 na int y 712 00:37:02,180 --> 00:37:05,660 sawa na 10, na kisha tulitaka ya kufanya x kugawanywa na y? 713 00:37:05,660 --> 00:37:10,420 Hivyo si rahisi tu kufanya x.0 au kitu. 714 00:37:10,420 --> 00:37:12,790 >> Hivyo fix kwa kuwa ni akitoa. 715 00:37:12,790 --> 00:37:19,780 Hivyo akitoa ni njia C kubadili kutoka kwa mmoja variable ya aina nyingine. 716 00:37:19,780 --> 00:37:22,320 Hivyo hapa, 1 ni integer. 717 00:37:22,320 --> 00:37:27,050 Na kwa kuweka kuelea hii mbele ya yake, sisi ni akitoa 1 kwa kuelea. 718 00:37:27,050 --> 00:37:30,350 Na hivyo hii itakuwa kubadilisha 1-1.0. 719 00:37:30,350 --> 00:37:33,380 Na hii kubadilisha 10-10.0. 720 00:37:33,380 --> 00:37:36,790 >> Na kisha mambo kuishi vile vile kwa toleo la awali sisi tu ilionyesha 721 00:37:36,790 --> 00:37:42,190 ambapo, kama ilivyotarajiwa, sisi kupata 0.10 na kutakuwa na magazeti kwamba. 722 00:37:42,190 --> 00:37:44,120 Na tunaweza kufanya hivyo kwa vigezo, pia. 723 00:37:44,120 --> 00:37:47,376 Kwa hiyo tunaweza kusema, kuelea x kugawanywa na kuelea y. 724 00:37:47,376 --> 00:37:48,626 >> JOSEPH: maswali yoyote? 725 00:37:48,626 --> 00:37:54,182 726 00:37:54,182 --> 00:38:00,090 >> Rob: Hivyo tu kama katika math mara kwa mara, tuna operator kuendelezwa. 727 00:38:00,090 --> 00:38:06,960 Hivyo katika math darasani, wewe ni zaidi uwezekano kuiita utaratibu wa shughuli. 728 00:38:06,960 --> 00:38:09,890 Hapa, rasmi mrefu ni operator kuendelezwa. 729 00:38:09,890 --> 00:38:15,230 Lakini operator precedence, au zaidi operators, ni kama ungependa kutarajia. 730 00:38:15,230 --> 00:38:22,660 >> Hivyo tu kama katika math, mara 2 10 ni kwenda kuwa makundi karibu zaidi kuliko 731 00:38:22,660 --> 00:38:25,410 hii 10 kugawanywa na 2 na kisha 2. 732 00:38:25,410 --> 00:38:29,745 utaratibu wa shughuli, itakuwa kufanya 2 mara 10, 10 kugawanywa na 2, na kisha 733 00:38:29,745 --> 00:38:32,720 kutakuwa na kufanya 20 plus 5 plus 2. 734 00:38:32,720 --> 00:38:37,020 Hivyo ni kama ilivyotarajiwa, na unaweza kutumia mabano kwa maneno kikundi. 735 00:38:37,020 --> 00:38:41,063 Huwezi kutumia mabano mraba kwa maneno kikundi. 736 00:38:41,063 --> 00:38:41,544 Yeah? 737 00:38:41,544 --> 00:38:43,468 >> SPIKA 5: Je, unaweza kweli tu kwenda nyuma pili moja? 738 00:38:43,468 --> 00:38:47,316 Je, unaweza kutupwa int kwa kamba? 739 00:38:47,316 --> 00:38:53,330 >> Rob: Kwa hiyo katika C, unaweza kutupwa kitu chochote unataka kitu chochote unataka. 740 00:38:53,330 --> 00:38:55,600 Hiyo haina maana ni jambo zuri la kufanya. 741 00:38:55,600 --> 00:38:59,760 Hivyo wakati wewe kutupwa int kwa kamba, hiyo ina maana - 742 00:38:59,760 --> 00:39:03,240 na tutaweza kupata katika hili zaidi kabisa - 743 00:39:03,240 --> 00:39:03,720 >> JOSEPH: Mengi baadaye. 744 00:39:03,720 --> 00:39:06,840 >> Rob: Mimi hakutaka kusema mengi baadaye, hivyo mimi alijaribu kubadili uamuzi wangu. 745 00:39:06,840 --> 00:39:13,370 Tutaweza kupata ndani yake mengi vizuri zaidi baadaye ambapo kweli wakati una 746 00:39:13,370 --> 00:39:14,810 kamba kutofautiana - 747 00:39:14,810 --> 00:39:17,160 hivyo kamba inaweza kuwa kiholela muda mrefu, sawa? 748 00:39:17,160 --> 00:39:21,850 Na tumekuwa kusema kwamba int ni ka nne na muda mrefu muda mrefu ni nane 749 00:39:21,850 --> 00:39:23,620 ka na kuelea ni ka nne. 750 00:39:23,620 --> 00:39:29,520 Hivyo kamba, kama int, ina tu idadi fulani ya ka yake. 751 00:39:29,520 --> 00:39:31,800 Na kwamba itakuwa ka nne. 752 00:39:31,800 --> 00:39:34,750 >> Lakini kamba inaweza kuwa pretty kiholela kwa muda mrefu, sawa? 753 00:39:34,750 --> 00:39:40,190 Hivyo hujambo dunia tayari, kama kwamba ni 10 wahusika au chochote, kwamba tayari 754 00:39:40,190 --> 00:39:42,670 kwenda kuwa juu ya 4 ka Mimi inaweza kufaa katika kamba. 755 00:39:42,670 --> 00:39:51,140 Na hivyo ni jinsi gani masharti kweli kazi ni kwamba wao ni ambapo katika kumbukumbu kamba kwamba 756 00:39:51,140 --> 00:39:52,380 ni kuwa naendelea. 757 00:39:52,380 --> 00:39:57,290 >> Na hivyo zaidi ya hapa, wakati mimi kusema string x sawa na hujambo dunia, ndani ya x ni 758 00:39:57,290 --> 00:40:01,840 kusema tu, oh, hello dunia ni kuhifadhiwa katika eneo hili hasa katika kumbukumbu. 759 00:40:01,840 --> 00:40:07,060 Hivyo kama sisi kujaribu kutupwa integer kwa kamba, kisha sisi ni kujaribu kutafsiri 760 00:40:07,060 --> 00:40:10,500 baadhi ya sehemu random ya kumbukumbu kama kamba. 761 00:40:10,500 --> 00:40:14,465 Na kwamba karibu kila mara mapumziko mambo. 762 00:40:14,465 --> 00:40:17,040 >> JOSEPH: Lakini kama confuses wewe, tutaweza kuwa na kufunika 763 00:40:17,040 --> 00:40:17,550 zaidi katika kina baadaye. 764 00:40:17,550 --> 00:40:17,850 >> Rob: Yeah. 765 00:40:17,850 --> 00:40:20,540 Hii ni wapi utaenda kupata katika kuyatumia. 766 00:40:20,540 --> 00:40:25,485 Na kwamba ni chunk kubwa ya wiki mbili ya kozi hii. 767 00:40:25,485 --> 00:40:28,275 >> SPIKA 6: Je, ni kazi kama vitu katika lugha nyingine au si kweli? 768 00:40:28,275 --> 00:40:34,050 >> Rob: Kwa hiyo katika lugha nyingine, vitu itakuwa kuwakilishwa kwa kutumia kuyatumia. 769 00:40:34,050 --> 00:40:37,070 770 00:40:37,070 --> 00:40:38,793 Ni si kitu kimoja, ingawa. 771 00:40:38,793 --> 00:40:42,110 772 00:40:42,110 --> 00:40:42,910 Mawazo yoyote? 773 00:40:42,910 --> 00:40:43,760 >> JOSEPH: Hapana 774 00:40:43,760 --> 00:40:44,185 No mawazo. 775 00:40:44,185 --> 00:40:44,980 >> Rob: OK. 776 00:40:44,980 --> 00:40:46,994 >> JOSEPH: Next. 777 00:40:46,994 --> 00:40:48,255 >> Rob: Tu kwenda na kwamba. 778 00:40:48,255 --> 00:40:48,670 Sawa. 779 00:40:48,670 --> 00:40:51,120 Hivyo modulo. 780 00:40:51,120 --> 00:40:53,900 Tu kama sisi na plus, minus, kugawanya, na kuzidisha. 781 00:40:53,900 --> 00:40:56,720 Hivyo modulo ni moja unaweza kuwa na kuona mbele. 782 00:40:56,720 --> 00:40:59,540 Na tu anasema, kutoa mimi salio ya. 783 00:40:59,540 --> 00:41:02,850 Hivyo 55% 10. 784 00:41:02,850 --> 00:41:06,840 salio ya kufanya 55 kugawanywa na 10 itakuwa 5. 785 00:41:06,840 --> 00:41:09,630 Hivyo 55% 10 ni 5. 786 00:41:09,630 --> 00:41:12,260 Na 3% 5 itakuwa 3. 787 00:41:12,260 --> 00:41:14,180 8% 8 itakuwa 0. 788 00:41:14,180 --> 00:41:15,903 16% 15 itakuwa 1. 789 00:41:15,903 --> 00:41:20,670 >> JOSEPH: Jambo moja kukumbuka na hii, pia, ni wanaweza kufanya kazi kama ilivyotarajiwa 790 00:41:20,670 --> 00:41:22,700 kama wewe kutumia namba hasi. 791 00:41:22,700 --> 00:41:26,215 Hasi 5% 4, baadhi ya watu kufikiri kwamba ni - 792 00:41:26,215 --> 00:41:28,890 793 00:41:28,890 --> 00:41:33,808 gani unafikiri hasi 5% 4 itakuwa? 794 00:41:33,808 --> 00:41:34,792 >> SPIKA 5: One. 795 00:41:34,792 --> 00:41:37,920 >> JOSEPH: Kwa hiyo baadhi ya watu wanasema moja, baadhi ya watu wanasema hasi moja. 796 00:41:37,920 --> 00:41:38,450 Lakini ni nini - 797 00:41:38,450 --> 00:41:40,820 >> Rob: Mimi bila hata kuwa alisema mmoja wa wale. 798 00:41:40,820 --> 00:41:42,370 >> JOSEPH: Two, sorry. 799 00:41:42,370 --> 00:41:43,240 Baadhi ya watu wanasema - 800 00:41:43,240 --> 00:41:43,450 >> Rob: Tatu. 801 00:41:43,450 --> 00:41:43,800 >> JOSEPH: Tatu? 802 00:41:43,800 --> 00:41:44,890 >> Rob: Negative - 803 00:41:44,890 --> 00:41:45,950 nini - hasi tano - 804 00:41:45,950 --> 00:41:47,100 >> JOSEPH: Tatu, tatu, tatu. 805 00:41:47,100 --> 00:41:48,450 Sorry. 806 00:41:48,450 --> 00:41:51,910 Kwa sababu modulo, kwa ujumla, wakati wameweza kuonekana mahali pengine, ni kawaida maana 807 00:41:51,910 --> 00:41:54,000 kurudi idadi chanya, sawa? 808 00:41:54,000 --> 00:42:01,160 >> Rob: Hivyo wakati sisi kusema katika math, 10% ya, wao huwa na nataka kukupa - 809 00:42:01,160 --> 00:42:05,980 kama sisi Mod na 10, basi tunatarajia kupata idadi kati ya 0 na 9. 810 00:42:05,980 --> 00:42:09,860 Katika hapa, kwamba si kesi hiyo kupata idadi hasi akarudi. 811 00:42:09,860 --> 00:42:15,898 >> JOSEPH: Kwa hiyo hasi 5% 4 itakuwa mbaya 1. 812 00:42:15,898 --> 00:42:19,325 >> Rob: Lakini ni nadra kuwa wewe ni mod-ing idadi hasi kwa kuanzia. 813 00:42:19,325 --> 00:42:25,490 814 00:42:25,490 --> 00:42:25,970 Ruka hii. 815 00:42:25,970 --> 00:42:27,314 >> JOSEPH: Yeah. 816 00:42:27,314 --> 00:42:29,420 >> Rob: Meh. 817 00:42:29,420 --> 00:42:29,990 OK. 818 00:42:29,990 --> 00:42:36,400 Hivyo jambo moja mwisho kwa uhakika kuhusu ikifungwa ni ni tabia hatari, 819 00:42:36,400 --> 00:42:39,850 lakini ikifungwa ni si halisi uwakilishi. 820 00:42:39,850 --> 00:42:46,190 Hivyo kurejea ka tena, kumbuka kwamba int ni daima ka nne na a 821 00:42:46,190 --> 00:42:47,830 kuelea ni daima ka nne. 822 00:42:47,830 --> 00:42:51,340 Basi mfano Lucas ni nzuri. 823 00:42:51,340 --> 00:42:55,730 >> Hivyo kufikiri ya 1 kugawanywa na 3. 824 00:42:55,730 --> 00:42:57,800 Hivyo 0.3333333. 825 00:42:57,800 --> 00:43:03,540 Kama mimi tu na bits 32, jinsi gani Mimi kuhifadhi 0.33333 hasa? 826 00:43:03,540 --> 00:43:07,250 Na labda, kwa sababu yoyote, unaweza kusema, yote ya haki, vizuri, hebu sema tu 827 00:43:07,250 --> 00:43:13,210 kwamba hii hasa 1011001, hebu tu kusema kwamba lazima 0.333333. 828 00:43:13,210 --> 00:43:16,960 Naam, una idadi mahususi ya bits hizo, hivyo ni vigumu 829 00:43:16,960 --> 00:43:22,550 kuwakilisha kila moja hatua floating thamani kutokana na bits 32 tu. 830 00:43:22,550 --> 00:43:25,580 >> Naam, ni vigumu kuwakilisha yoyote thamani yaliyo hatua kutokana na usio - 831 00:43:25,580 --> 00:43:28,480 vizuri, kutokana na idadi yoyote mahususi ya bits. 832 00:43:28,480 --> 00:43:38,265 Hivyo suala hapa ni vizuri, wakati sisi kutumika magazeti kwa maeneo mawili decimal, 833 00:43:38,265 --> 00:43:42,000 hatukuwa usahihi kupata jibu 0.10. 834 00:43:42,000 --> 00:43:47,510 Lakini chini ya Hood, ni kweli kuwa kuhifadhiwa karibu kama inawezekana kwa 835 00:43:47,510 --> 00:43:51,790 0.10 kama bits wale wanaweza kuwakilisha. 836 00:43:51,790 --> 00:43:53,200 Je, hii ni juu ya slide ijayo? 837 00:43:53,200 --> 00:43:53,830 Au siyo? 838 00:43:53,830 --> 00:43:54,660 >> JOSEPH: Yeah, ni kwamba. 839 00:43:54,660 --> 00:43:55,750 >> Rob: Blegh, blegh. 840 00:43:55,750 --> 00:43:57,760 >> JOSEPH: Yeah, unaweza tu kuvuta maelezo juu kidogo. 841 00:43:57,760 --> 00:43:59,700 >> Rob: Mimi tu kwenda kuvuta katika siku ya mwisho juu ya hilo. 842 00:43:59,700 --> 00:44:00,950 Oh gosh wangu, kwamba [inaudible]. 843 00:44:00,950 --> 00:44:06,089 844 00:44:06,089 --> 00:44:08,300 Hivyo idadi hiyo. 845 00:44:08,300 --> 00:44:12,300 Hiyo ni nini itakuwa kuchapishwa kama sisi kukimbia mpango huo. 846 00:44:12,300 --> 00:44:20,340 Na taarifa kwamba si kweli mpango mkubwa kama sisi ni tu kujali juu ya kama 847 00:44:20,340 --> 00:44:21,920 2:58 maeneo decimal. 848 00:44:21,920 --> 00:44:26,700 Kama sisi tu awali kuchapishwa 0.10, na kwamba ni kwa nini tuliona kitu kibaya. 849 00:44:26,700 --> 00:44:31,380 Lakini mara sisi kuanza kupata katika halisi, idadi halisi kwamba ni 850 00:44:31,380 --> 00:44:35,660 anayewakilisha, tunaona kwamba hawawezi hasa kuwakilisha 0.1. 851 00:44:35,660 --> 00:44:40,900 >> Na sehemu ya tatizo hapa ni kama, yote ya haki, kwamba ni sawa, lakini, vizuri, 852 00:44:40,900 --> 00:44:46,120 kwanza, nini kama sisi alivyojaribu kufanya jibu ni sawa na ni sawa na 0.1? 853 00:44:46,120 --> 00:44:49,200 Ni kwamba kwenda na kurudi kweli au uongo? 854 00:44:49,200 --> 00:44:51,850 Na hivyo ni vigumu kusema. 855 00:44:51,850 --> 00:44:53,330 Nadhani ni kweli ili kurudi kweli. 856 00:44:53,330 --> 00:44:55,265 Je, ni ya kwanza - 857 00:44:55,265 --> 00:44:56,180 Mimi sijui. 858 00:44:56,180 --> 00:45:00,090 jibu ni mara moja kuanza kushughulika na maadili ya hatua floating, wewe pretty 859 00:45:00,090 --> 00:45:05,150 sana haipaswi kutumia usawa kwa sababu ya kutokuwa sahihi hii. 860 00:45:05,150 --> 00:45:09,470 >> Na kwa wote mnajua, ni mia mahali decimal kwamba 861 00:45:09,470 --> 00:45:13,670 yaliyo hatua hakuwa na uwezo kwa usahihi kushughulikia. 862 00:45:13,670 --> 00:45:18,180 Na hivyo usawa tu kushindwa hata ingawa idadi - kama ungalikuwa 863 00:45:18,180 --> 00:45:24,450 kutumia idadi kamili, idadi lazima wamekuwa sawa. 864 00:45:24,450 --> 00:45:27,790 Ni katika kipindi cha kama 50 mahesabu ya kutumia hizi yaliyo 865 00:45:27,790 --> 00:45:30,270 maadili uhakika, makosa unaweza kujenga juu na juu na juu, na 866 00:45:30,270 --> 00:45:31,125 mambo tu kupata vibaya. 867 00:45:31,125 --> 00:45:33,870 >> JOSEPH: Na kumekuwa na kweli mifano maarufu ya kinachotokea hii. 868 00:45:33,870 --> 00:45:37,190 Kama NASA wahandisi waliopata hii makosa, na kusababisha makombora kulipuka katika 869 00:45:37,190 --> 00:45:38,665 hewa baada ya wao tumekuwa ilizindua. 870 00:45:38,665 --> 00:45:41,490 Na kura ya masuala kama hayo. 871 00:45:41,490 --> 00:45:41,956 Hivyo yeah. 872 00:45:41,956 --> 00:45:45,218 >> SPIKA 6: Baada ya kusema 0.3 f, gani butu ya yale mengine? 873 00:45:45,218 --> 00:45:46,468 Au gani pande zote juu au chini? 874 00:45:46,468 --> 00:45:48,800 875 00:45:48,800 --> 00:45:50,200 >> Rob: Je printf pande zote ni? 876 00:45:50,200 --> 00:45:52,180 >> JOSEPH: Nadhani truncates printf. 877 00:45:52,180 --> 00:45:52,640 >> Rob: OK. 878 00:45:52,640 --> 00:45:59,890 Ili tuweze vile vile kwenda katika kinyume mwelekeo wa hii ambapo, katika kesi hii, 879 00:45:59,890 --> 00:46:03,320 karibu inaweza kuwakilisha 0.1 alikuwa pamoja na idadi hii. 880 00:46:03,320 --> 00:46:06,820 karibu ni kuwa na uwezo wa kuwakilisha 0.2 ni katika kinyume 881 00:46:06,820 --> 00:46:11,420 mwelekeo, .199999996356 au kitu. 882 00:46:11,420 --> 00:46:17,480 Hivyo kama sisi akaenda katika mwelekeo wa mambo, basi printf 0.3 f atarudi 883 00:46:17,480 --> 00:46:20,866 1.99 badala ya 2.00. 884 00:46:20,866 --> 00:46:22,960 >> JOSEPH: Na mimi nina kabisa uhakika juu ya hilo. 885 00:46:22,960 --> 00:46:25,430 Unaweza kutaka kuandika kidogo, kidogo mpango wa kuangalia tu. 886 00:46:25,430 --> 00:46:29,370 >> Rob: Ingawa, sisi ni uhakika wa nini ni kwamba kama walijaribu kuwafukuza kwamba 887 00:46:29,370 --> 00:46:33,660 int, na akitoa kwa int ni kwenda kusababisha kwa butu decimal, kama 888 00:46:33,660 --> 00:46:38,140 wewe kujaribu kutupwa 1.9999999 kwa int, utapata 1. 889 00:46:38,140 --> 00:46:41,440 Na hivyo unapaswa ujumla kutumia kazi pande zote katika maktaba math. 890 00:46:41,440 --> 00:46:44,190 891 00:46:44,190 --> 00:46:45,440 Maswali? 892 00:46:45,440 --> 00:46:47,660 893 00:46:47,660 --> 00:46:48,982 OK. 894 00:46:48,982 --> 00:46:54,000 >> JOSEPH: Kwa hiyo kuhamia kwenye hali ya na maneno Boolean. 895 00:46:54,000 --> 00:46:58,120 Hivyo kuwa na hizi kuona mbele. 896 00:46:58,120 --> 00:47:07,420 Na kwa kweli, basi mimi kuhakikisha yangu kompyuta ni katika format hapa. 897 00:47:07,420 --> 00:47:08,670 Nafasi. 898 00:47:08,670 --> 00:47:10,630 899 00:47:10,630 --> 00:47:13,870 Sorry, tunakwenda kuwa na kushughulika kidogo na cutoff pembezoni. 900 00:47:13,870 --> 00:47:15,830 >> Lakini yeah, you guys tumeona hii kabla ya katika Scratch. 901 00:47:15,830 --> 00:47:19,930 Hivyo haki hii hapa ni kujieleza ambayo hutumiwa katika 902 00:47:19,930 --> 00:47:21,250 taarifa masharti. 903 00:47:21,250 --> 00:47:23,930 Hivyo kujibu zaidi ya sifuri mapenzi nawaambia kweli au uongo. 904 00:47:23,930 --> 00:47:26,530 Na hawa ni kweli ni muhimu, kwa sababu wao kuruhusu sisi kuanzisha 905 00:47:26,530 --> 00:47:28,670 mantiki katika kanuni yetu. 906 00:47:28,670 --> 00:47:32,820 >> Hivyo kwa mfano, hii ni programu ya Imeandikwa katika Scratch kwamba anauliza user 907 00:47:32,820 --> 00:47:36,980 kwa integer na anawaambia kama integer kwamba wao hakuwapeni 908 00:47:36,980 --> 00:47:38,690 chanya au hasi idadi. 909 00:47:38,690 --> 00:47:42,980 Na kubadilika juu ya hapa kuona ni wewe kwanza magazeti nje taarifa, 910 00:47:42,980 --> 00:47:43,870 nipe integer. 911 00:47:43,870 --> 00:47:45,980 Na kisha waombe kwa ajili ya integer. 912 00:47:45,980 --> 00:47:49,870 >> Na kisha kutumia mantiki masharti juu ya hapa kuangalia kama idadi hiyo 913 00:47:49,870 --> 00:47:52,030 ilikuwa kwa kweli ni kubwa kuliko sufuri au la. 914 00:47:52,030 --> 00:47:58,960 Kwa hiyo hapa tuna kujieleza Boolean ndani ya masharti Kama taarifa. 915 00:47:58,960 --> 00:48:00,660 Je, kuna maswali yoyote? 916 00:48:00,660 --> 00:48:03,030 Je, kuna maswali yoyote kuhusu hilo? 917 00:48:03,030 --> 00:48:03,950 OK. 918 00:48:03,950 --> 00:48:06,140 >> Hivyo kuna zaidi ya zaidi ya, bila shaka. 919 00:48:06,140 --> 00:48:10,385 Unaweza kujenga maneno Boolean kutumia zaidi ya aina ya mambo 920 00:48:10,385 --> 00:48:11,150 kudhani ya katika math. 921 00:48:11,150 --> 00:48:12,370 Hivyo zaidi ya. 922 00:48:12,370 --> 00:48:13,740 Kwamba lazima kuwa chini ya. 923 00:48:13,740 --> 00:48:14,990 Sorry. 924 00:48:14,990 --> 00:48:18,520 925 00:48:18,520 --> 00:48:19,760 Na nafasi. 926 00:48:19,760 --> 00:48:22,971 >> Rob: Hasha wewe kuondoka. 927 00:48:22,971 --> 00:48:23,620 >> JOSEPH: All wa kulia. 928 00:48:23,620 --> 00:48:25,950 Hivyo zaidi ya, chini ya, zaidi ya kuliko au sawa na, chini ya 929 00:48:25,950 --> 00:48:27,070 kuliko au sawa na. 930 00:48:27,070 --> 00:48:31,980 Sisi kutumia usawa mara mbili kwa kuangalia kwa usawa, kwa sababu moja ni sawa na njia 931 00:48:31,980 --> 00:48:32,810 kazi, haki? 932 00:48:32,810 --> 00:48:33,140 Ndiyo. 933 00:48:33,140 --> 00:48:37,130 Na kisha tunaweza pia si sawa na kutumia Moderators chapa, sawa. 934 00:48:37,130 --> 00:48:41,530 >> Na alama hii mshangao alama unaweza pia inaweza kupanuliwa ili kama unataka 935 00:48:41,530 --> 00:48:44,050 Geuza aina yoyote ya Boolean kujieleza, unaweza kufanya hivyo. 936 00:48:44,050 --> 00:48:48,530 Hivyo hii itakuwa kutathmini kwa kweli tu kama jibu ni chini ya 937 00:48:48,530 --> 00:48:51,240 zaidi kuliko au sawa na sifuri. 938 00:48:51,240 --> 00:48:53,950 Maswali yoyote juu ya hilo? 939 00:48:53,950 --> 00:48:55,180 OK. 940 00:48:55,180 --> 00:48:58,840 >> Hivyo unaweza pia kuchanganya haya maneno kwa kutumia mantiki Na na 941 00:48:58,840 --> 00:48:59,790 mantiki Or. 942 00:48:59,790 --> 00:49:03,530 Hivyo hii ni haki na ishara, ambayo inapaswa kuwa Shift, 7. 943 00:49:03,530 --> 00:49:07,720 Na hii ni bomba ishara, ambayo ni si kesi ya chini L. Ni moja 944 00:49:07,720 --> 00:49:09,440 hiyo ni haki juu ya Enter muhimu yako. 945 00:49:09,440 --> 00:49:12,870 Hivyo kutumia wawili hawa kwa mfano mantiki na mantiki Or. 946 00:49:12,870 --> 00:49:18,180 >> Hivyo hii itakuwa tu kurudi kweli kama jibu ni moja, mbili, tatu, au minne. 947 00:49:18,180 --> 00:49:23,030 Na hii tu kurudi kweli kama jibu ni zaidi ya hapo kila upande. 948 00:49:23,030 --> 00:49:26,190 Hivyo si moja, mbili, tatu, au minne. 949 00:49:26,190 --> 00:49:28,385 Na namna gani kutumia kwamba katika kujieleza - 950 00:49:28,385 --> 00:49:29,990 >> Rob: Au zero au tano. 951 00:49:29,990 --> 00:49:32,200 >> JOSEPH: Zero au tano. 952 00:49:32,200 --> 00:49:32,380 Sorry. 953 00:49:32,380 --> 00:49:33,320 Ndiyo, ndiyo, ndiyo. 954 00:49:33,320 --> 00:49:34,180 OK. 955 00:49:34,180 --> 00:49:38,980 Na juu ya hapa sasa, njia hiyo hiyo bila kutumia maneno hayo, ndogo 956 00:49:38,980 --> 00:49:42,000 upande usemi wa Kama masharti taarifa, ungekuwa pia kutumia 957 00:49:42,000 --> 00:49:47,800 njia sawa na tu kuweka ndani ya mabano ya taarifa Kama. 958 00:49:47,800 --> 00:49:54,020 Hivyo printf hii tu moto kama jibu ni moja, mbili, tatu, au minne. 959 00:49:54,020 --> 00:49:56,002 Maswali yoyote juu ya kuchanganya maneno? 960 00:49:56,002 --> 00:50:00,450 961 00:50:00,450 --> 00:50:04,240 >> Hivyo kuna mwingine masharti kujenga sisi kuwaita Kama / Else. 962 00:50:04,240 --> 00:50:08,120 Hivyo kimsingi, hii sasa ina maana, OK, Kama kitu nilitaka kuangalia hakuwa 963 00:50:08,120 --> 00:50:11,600 kweli, basi kwenda Else na kufanya kwamba hatua nyingine. 964 00:50:11,600 --> 00:50:15,570 Hivyo katika kesi hii, nilimuuliza user kwa integer. 965 00:50:15,570 --> 00:50:17,790 Ni integer zaidi zero? 966 00:50:17,790 --> 00:50:18,310 Ndiyo? 967 00:50:18,310 --> 00:50:20,100 Vizuri, basi ilichukua idadi chanya. 968 00:50:20,100 --> 00:50:22,320 Kama siyo, basi ni lazima kuwa na wamekuwa hasi au sifuri. 969 00:50:22,320 --> 00:50:27,530 Hivyo ilichukua namba hasi au sifuri katika kesi hii. 970 00:50:27,530 --> 00:50:29,235 Ndiyo. 971 00:50:29,235 --> 00:50:30,485 Au sifuri. 972 00:50:30,485 --> 00:50:36,320 973 00:50:36,320 --> 00:50:39,300 >> Na kisha sisi pia kuwa Kama / Mwingine, Kama na mwingine. 974 00:50:39,300 --> 00:50:45,640 Hivyo hii unatuwezesha kutekeleza mlolongo wa mambo tu kama ndio kwanza kushindwa. 975 00:50:45,640 --> 00:50:49,540 Hivyo katika kesi hii, sasa sisi ni kufanya moja mwisho pick sifuri. 976 00:50:49,540 --> 00:50:53,080 Hivyo kama wao wala ilichukua chanya wala namba hasi, basi ni lazima 977 00:50:53,080 --> 00:50:53,640 yamechukua sifuri. 978 00:50:53,640 --> 00:50:56,720 Hivyo tu inakwenda chini mlolongo kama hii. 979 00:50:56,720 --> 00:50:59,960 >> Hivyo mfano wa jinsi Kama ni tofauti na - 980 00:50:59,960 --> 00:51:02,590 Kama / Else ni tofauti na tu mlolongo wa ikiwa. 981 00:51:02,590 --> 00:51:07,680 Na hii ni swali la kawaida kwamba watu kuuliza ni vizuri, kama kupata kama 982 00:51:07,680 --> 00:51:11,265 95 katika CS50, itakuwaje hii mpango kukuambia? 983 00:51:11,265 --> 00:51:12,600 >> SPIKA 5: You got A. 984 00:51:12,600 --> 00:51:13,490 >> JOSEPH: Ndiyo. 985 00:51:13,490 --> 00:51:14,960 You got kila moja mmoja wa wale haki. 986 00:51:14,960 --> 00:51:17,130 You got A, wewe got B, wewe got C na D, sawa? 987 00:51:17,130 --> 00:51:19,770 Hivyo yote haya kupata tathmini katika utaratibu. 988 00:51:19,770 --> 00:51:23,570 Hivyo wakati 95 ni zaidi ya 90, ni pia zaidi ya 80, pia ni 989 00:51:23,570 --> 00:51:25,790 zaidi ya 70, na ni pia zaidi ya 60. 990 00:51:25,790 --> 00:51:27,620 Hivyo got wale wote darasa. 991 00:51:27,620 --> 00:51:31,630 Na mimi kudhani wewe ungekuwa tu wanataka A. 992 00:51:31,630 --> 00:51:34,060 >> njia ya kurekebisha kwamba ni kuchukua nafasi ya wale walio na Else / Kama 's. 993 00:51:34,060 --> 00:51:37,540 Hivyo katika hali hii, anaona kwamba 95 ni zaidi ya 90, na kisha ni gani 994 00:51:37,540 --> 00:51:38,885 kutathmini wengine wa taarifa. 995 00:51:38,885 --> 00:51:41,900 996 00:51:41,900 --> 00:51:43,150 Maswali yoyote kuhusu hilo? 997 00:51:43,150 --> 00:51:48,580 998 00:51:48,580 --> 00:51:52,470 >> Hivyo kuna aina nyingine masharti ya muundo kwamba sisi hapa ambayo sisi 999 00:51:52,470 --> 00:51:53,390 kuwaita taarifa kubadili. 1000 00:51:53,390 --> 00:51:57,390 Hivyo hii utapata kimsingi kuangalia nini thamani ya idadi ya kuweka 1001 00:51:57,390 --> 00:51:59,000 katika taarifa kubadili ni. 1002 00:51:59,000 --> 00:52:03,200 Hivyo katika hali hii, sisi ni byte juu ya n, na sisi ni kusema, oh, kama n ni 1003 00:52:03,200 --> 00:52:04,710 moja, kisha magazeti taarifa hiyo. 1004 00:52:04,710 --> 00:52:07,910 Na kisha kuvunja, ambayo ina maana exit nje ya taarifa kubadili. 1005 00:52:07,910 --> 00:52:12,670 >> Kama siyo moja, basi, vizuri, hatimaye kuangalia yote ya kesi hizo. 1006 00:52:12,670 --> 00:52:16,280 Na hivyo hundi kama ni moja au mbili au tatu, na prints ipasavyo. 1007 00:52:16,280 --> 00:52:19,780 Na nini keyword hii default hapa chini njia ni kama hawakuwa kuingia yoyote 1008 00:52:19,780 --> 00:52:21,690 ya hizo, basi sema batili. 1009 00:52:21,690 --> 00:52:25,910 Basi hebu kusema naomba kwa ajili ya n na user anitiaye nne. 1010 00:52:25,910 --> 00:52:29,470 Naam, ni mechi hakuna kesi hizo, hivyo itakuwa magazeti nini katika 1011 00:52:29,470 --> 00:52:30,540 sehemu default. 1012 00:52:30,540 --> 00:52:31,180 Ndiyo, swali? 1013 00:52:31,180 --> 00:52:32,614 >> SPIKA 5: Je, unaweza kutumia Boolean maneno badala ya 1014 00:52:32,614 --> 00:52:33,570 moja, mbili, au tatu? 1015 00:52:33,570 --> 00:52:36,940 >> JOSEPH: Kwa hiyo swali ni je, unaweza kutumia Maneno Boolean badala ya moja, 1016 00:52:36,940 --> 00:52:37,940 mbili, na tatu? 1017 00:52:37,940 --> 00:52:40,520 Na katika C, naamini hawezi kufanya hivyo. 1018 00:52:40,520 --> 00:52:44,320 Lakini katika lugha nyingine, ambayo unaweza kukutana mwishoni mwa 1019 00:52:44,320 --> 00:52:46,460 muhula kama JavaScript, unaweza. 1020 00:52:46,460 --> 00:52:50,050 Naam, ingekuwa compute kwanza kwamba thamani na kisha kutumia katika 1021 00:52:50,050 --> 00:52:50,650 kubadili kauli. 1022 00:52:50,650 --> 00:52:50,930 Yeah? 1023 00:52:50,930 --> 00:52:54,760 >> Rob: Kwa hiyo sehemu ya faida ya kubadili kauli ni kufikiria kama alifanya hivyo 1024 00:52:54,760 --> 00:52:58,680 kama Kama / Else, hivyo kama ikiwa n sawa na sawa na moja au chochote. 1025 00:52:58,680 --> 00:53:00,300 Mwingine / Kama n sawa na sawa na mbili, chochote. 1026 00:53:00,300 --> 00:53:01,960 Mwingine / Kama n sawa na sawa na tatu. 1027 00:53:01,960 --> 00:53:05,930 Hivyo njia mpango huo kukimbia ni itakuwa sequentially kwenda chini orodha hiyo 1028 00:53:05,930 --> 00:53:07,500 na kuangalia, ni n moja? 1029 00:53:07,500 --> 00:53:08,040 Nope. 1030 00:53:08,040 --> 00:53:09,070 Ni n mbili? 1031 00:53:09,070 --> 00:53:09,490 Nope. 1032 00:53:09,490 --> 00:53:10,940 Ni n tatu? 1033 00:53:10,940 --> 00:53:11,710 Yeah. 1034 00:53:11,710 --> 00:53:12,610 Kufanya hivyo. 1035 00:53:12,610 --> 00:53:15,270 >> Ambapo pamoja na kauli kubadili, ni kweli na uwezo wa kukusanya kuwa ni 1036 00:53:15,270 --> 00:53:16,360 kweli haraka. 1037 00:53:16,360 --> 00:53:19,550 Na kwa haraka kama ni anasema kubadili, ni anasema, wote haki, n ni mbili, mimi 1038 00:53:19,550 --> 00:53:23,060 mara moja kwenda Rukia ambapo Mimi zinatakiwa kuanza utekelezaji. 1039 00:53:23,060 --> 00:53:26,080 Mimi si kwenda kuangalia kwanza, ni n moja, ni n mbili? 1040 00:53:26,080 --> 00:53:28,860 Ni anaweza kwa mara moja kuanza kufanya nini ni zinatakiwa kufanya. 1041 00:53:28,860 --> 00:53:33,830 >> Na kwa sababu hiyo, haiwezi kuchukua hali ya Boolean. 1042 00:53:33,830 --> 00:53:36,480 Au pengine itakuwa ni kufanya mtiririko, kama, sawa, ni n 1043 00:53:36,480 --> 00:53:37,820 zaidi ya sifuri? 1044 00:53:37,820 --> 00:53:41,140 Mwingine ni n zaidi ya 10 au chochote. 1045 00:53:41,140 --> 00:53:44,780 >> JOSEPH: Katika kesi hiyo, kama wewe kutumika Kama / Mwingine, Kama, basi kubadili ingekuwa 1046 00:53:44,780 --> 00:53:47,792 kukimbia takriban mara tatu kwa kasi zaidi kuliko Kama / Mwingine, Kama. 1047 00:53:47,792 --> 00:53:53,060 1048 00:53:53,060 --> 00:53:56,040 Tunaweza kuandaa kubadili kwa vile njia kwamba hatuna kuvunja 1049 00:53:56,040 --> 00:53:57,520 baada ya kila moja ya matukio. 1050 00:53:57,520 --> 00:54:00,960 Hivyo katika kesi hii, mimi nina partitioning idadi ambayo sisi kuchagua katika moja na 1051 00:54:00,960 --> 00:54:04,250 wawili kuwa si idadi kubwa na tatu kuwa idadi kubwa. 1052 00:54:04,250 --> 00:54:08,290 >> Hivyo katika kesi hii, kama n ni moja au mbili, hit kesi na basi itakuwa 1053 00:54:08,290 --> 00:54:10,640 kuanguka kwa sababu hakuna mapumziko. 1054 00:54:10,640 --> 00:54:11,610 Na itakuwa kuishia hapa. 1055 00:54:11,610 --> 00:54:15,360 Hivyo kama sisi kuchukua moja, itakuwa kufanya printf na kisha kuvunja hivyo kwamba hakuna 1056 00:54:15,360 --> 00:54:17,610 hii ni kunyongwa. 1057 00:54:17,610 --> 00:54:21,870 Na bila shaka, kama wanaingia katika tatu au kitu kingine, basi itakuwa ruka 1058 00:54:21,870 --> 00:54:25,320 wale na si kwenda huko, na ni nitafanya badala 1059 00:54:25,320 --> 00:54:27,490 sambamba line. 1060 00:54:27,490 --> 00:54:29,390 Je, kuna maswali yoyote kuhusu hilo? 1061 00:54:29,390 --> 00:54:29,780 Ndiyo? 1062 00:54:29,780 --> 00:54:32,642 >> SPIKA 4: Je, wewe kupata kosa kama wewe alikuwa na mapumziko baada ya kesi moja lakini 1063 00:54:32,642 --> 00:54:34,550 hawakuwa na kitu kwa ajili yake nini? 1064 00:54:34,550 --> 00:54:37,820 >> JOSEPH: Kwa hiyo swali ni gani unaweza kupata kosa kama una mapumziko baada ya 1065 00:54:37,820 --> 00:54:39,730 kesi moja lakini kuna kitu cha kufanya? 1066 00:54:39,730 --> 00:54:41,520 Na jibu ni hapana. 1067 00:54:41,520 --> 00:54:43,172 Wewe si kweli kupata makosa. 1068 00:54:43,172 --> 00:54:44,590 Yeah, mm hmm. 1069 00:54:44,590 --> 00:54:54,540 >> Hivyo kama aina ya mabadiliko kidogo hapa, Mimi naenda kuweka printf hapa. 1070 00:54:54,540 --> 00:54:55,790 Whoops. 1071 00:54:55,790 --> 00:55:00,994 1072 00:55:00,994 --> 00:55:04,880 Hivyo gani hii magazeti kama Mimi kuweka moja katika kama pembejeo? 1073 00:55:04,880 --> 00:55:07,530 1074 00:55:07,530 --> 00:55:07,770 Yeah. 1075 00:55:07,770 --> 00:55:10,360 Ni waliniambia hakuwa na kuchukua idadi kubwa mara mbili, sawa? 1076 00:55:10,360 --> 00:55:13,500 Kwa sababu itakuwa hit kwamba kesi ya kwanza, itakuwa si kuvunja, na ingekuwa kuanguka 1077 00:55:13,500 --> 00:55:15,730 kwa njia ya kesi ya pili. 1078 00:55:15,730 --> 00:55:16,950 Maswali yoyote kuhusu hilo? 1079 00:55:16,950 --> 00:55:18,280 >> Rob: Je, una swali jingine? 1080 00:55:18,280 --> 00:55:20,840 >> JOSEPH: OK, baridi. 1081 00:55:20,840 --> 00:55:22,400 Sawa. 1082 00:55:22,400 --> 00:55:25,780 Kwa hiyo, kuna kitu kingine sisi kuwaita ternary operator ambayo kimsingi ni 1083 00:55:25,780 --> 00:55:29,010 mbadala syntax kwa kufanya Kama na kisha mwingine. 1084 00:55:29,010 --> 00:55:30,470 Na inakuwezesha kufanya hayo yote juu ya mstari mmoja. 1085 00:55:30,470 --> 00:55:34,110 Hivyo katika mpango huu, hasa Mimi nina kuuliza user kwa n. 1086 00:55:34,110 --> 00:55:37,190 Na kama n ni zaidi ya 100, nawaambia nao ilichukua idadi kubwa. 1087 00:55:37,190 --> 00:55:39,560 Mwingine mimi kuwaambia wao ilichukua idadi ndogo. 1088 00:55:39,560 --> 00:55:43,030 >> Ili tuweze kutumia hii syntax kweli kwa muda mrefu, kamba, S, na kisha kuangalia kama n ni 1089 00:55:43,030 --> 00:55:45,260 zaidi ya 100 na kuwapa yake ipasavyo. 1090 00:55:45,260 --> 00:55:49,450 Lakini tunaweza kufanya hii zaidi mafupi kwa kutumia hii ternary operator syntax 1091 00:55:49,450 --> 00:55:52,090 ambayo inahusisha swali alama na koloni. 1092 00:55:52,090 --> 00:55:55,070 Hivyo swali ni kimsingi kuuliza swali, sawa? 1093 00:55:55,070 --> 00:55:56,625 >> Rob: Labda kuvuta juu ya hilo. 1094 00:55:56,625 --> 00:55:57,372 >> JOSEPH: Ndiyo. 1095 00:55:57,372 --> 00:56:00,210 Nzuri uhakika. 1096 00:56:00,210 --> 00:56:02,550 Hivyo hii ni operator ternary. 1097 00:56:02,550 --> 00:56:06,100 Mimi kwanza kuuliza swali, ni n zaidi ya 100? 1098 00:56:06,100 --> 00:56:09,770 Kama ni, basi mimi nitafanya kwanza sehemu kabla ya koloni. 1099 00:56:09,770 --> 00:56:13,360 Kama siyo, basi mimi nitafanya sehemu ya pili baada ya koloni. 1100 00:56:13,360 --> 00:56:16,640 Hivyo kama n ni zaidi ya 100, kisha ni tar juu na unaweka 1101 00:56:16,640 --> 00:56:18,360 kwamba katika kamba s. 1102 00:56:18,360 --> 00:56:22,170 Kama n ni chini ya 100, ni tar chini na kisha unaweka kwamba katika kamba s. 1103 00:56:22,170 --> 00:56:30,186 Hivyo kwamba condense chunk hii kubwa chini katika tu kwamba mstari mmoja. 1104 00:56:30,186 --> 00:56:32,010 >> SPIKA 5: Je, kuwa maarufu? 1105 00:56:32,010 --> 00:56:36,070 >> JOSEPH: Ndiyo, ni maarufu kabisa kwa mambo ambapo kimsingi unataka 1106 00:56:36,070 --> 00:56:38,700 wala zoezi msingi aina fulani ya hali hiyo. 1107 00:56:38,700 --> 00:56:43,110 Na katika kesi hii, sisi kujaribu hawawajui thamani kwa kamba s. 1108 00:56:43,110 --> 00:56:44,840 Siyo hivyo - 1109 00:56:44,840 --> 00:56:47,670 Mimi nadhani si kweli wanapendelea katika kesi nyingine. 1110 00:56:47,670 --> 00:56:49,390 Lakini ni muhimu hasa kwa ajili ya zoezi hili. 1111 00:56:49,390 --> 00:56:54,490 >> Rob: Hiyo ni mfano pretty kawaida ambapo una baadhi variable kwamba 1112 00:56:54,490 --> 00:56:58,200 wewe ni kwenda kusema, kama kitu, kuweka variable hii thamani moja; mwingine, kuweka 1113 00:56:58,200 --> 00:56:59,810 variable hii thamani mwingine. 1114 00:56:59,810 --> 00:57:03,360 Na kwamba ni mazingira ambapo kutumia ternary. 1115 00:57:03,360 --> 00:57:05,220 >> JOSEPH: Na wewe kuokoa kura ya mistari, sawa? 1116 00:57:05,220 --> 00:57:08,090 Na tu hufanya code yako arguably kidogo zaidi someka. 1117 00:57:08,090 --> 00:57:08,635 Ndiyo, swali? 1118 00:57:08,635 --> 00:57:12,384 >> SPIKA 6: Kwa ternary, unaweza kwenda, kamba s usawa s, alama swali? 1119 00:57:12,384 --> 00:57:15,280 Na kisha unaweza kuwa na kusema, chaguzi tano tofauti. 1120 00:57:15,280 --> 00:57:18,310 Na kulingana na nini idadi ya n mara, unaweza kuchagua mmoja wa wale? 1121 00:57:18,310 --> 00:57:22,210 >> JOSEPH: Kwa hiyo swali ni, kuna aina ya syntax ambapo unaweza kufanya string 1122 00:57:22,210 --> 00:57:25,910 s ni sawa na n, na kisha kuwa na zaidi ya miaka miwili chaguzi baada ya kwamba alama swali? 1123 00:57:25,910 --> 00:57:29,740 Na jibu rahisi ni hapana, kuna si kweli njia nzuri ya kufanya hivyo isipokuwa 1124 00:57:29,740 --> 00:57:33,850 unataka kiota nyingi ternary operators ndani ya kila mmoja. 1125 00:57:33,850 --> 00:57:38,050 >> Unaweza kufanya kama n zaidi ya 100, swali, na kisha mwingine 1126 00:57:38,050 --> 00:57:41,850 ternary operator, n zaidi ya 50, swali alama, na kiota njia hiyo. 1127 00:57:41,850 --> 00:57:45,240 Lakini katika mazingira, kanuni yako ni kupata aina ya unreadable na messy, 1128 00:57:45,240 --> 00:57:47,920 na inaweza kuwa bora tu kwenda kwa Taarifa Kama / Else katika hatua hiyo. 1129 00:57:47,920 --> 00:57:54,530 >> Rob: Na pia, kama upande note, PHP kimakosa kutekeleza ternary 1130 00:57:54,530 --> 00:57:58,053 operator kama kwamba ternaries Furushi hawana hata kazi kama ni lazima. 1131 00:57:58,053 --> 00:57:58,840 >> JOSEPH: Yeah. 1132 00:57:58,840 --> 00:58:01,170 Hivyo anapata kidogo utata, hasa wakati wa kwenda 1133 00:58:01,170 --> 00:58:02,145 kwa lugha mbalimbali. 1134 00:58:02,145 --> 00:58:04,810 >> Rob: Ni utata wa kutosha kwamba lugha ni makosa juu yake. 1135 00:58:04,810 --> 00:58:08,030 1136 00:58:08,030 --> 00:58:11,510 >> JOSEPH: Hivyo kweli, tu kufafanua, haina kila mtu kujua kwamba 1137 00:58:11,510 --> 00:58:13,900 % S gani juu ya hapa? 1138 00:58:13,900 --> 00:58:15,650 Maswali yoyote kuhusu hilo? 1139 00:58:15,650 --> 00:58:19,760 Nadhani tu kwa ajili ya kamera,% s kimsingi unatuwezesha kuweka placeholder 1140 00:58:19,760 --> 00:58:20,790 kwa kamba. 1141 00:58:20,790 --> 00:58:23,920 Na kisha mwishoni, sisi bayana kwamba variable tunataka kuweka ndani ya hii 1142 00:58:23,920 --> 00:58:25,500 mmiliki mahali ni s. 1143 00:58:25,500 --> 00:58:27,730 Hivyo kwamba kimsingi inachukua s na kuiweka katika hapa. 1144 00:58:27,730 --> 00:58:32,130 Na kisha itakuwa magazeti nje, ilichukua juu au ilichukua idadi ndogo. 1145 00:58:32,130 --> 00:58:33,770 OK. 1146 00:58:33,770 --> 00:58:36,970 >> Hivyo loops kuruhusu kufanya mambo katika mwendo mviringo, sawa? 1147 00:58:36,970 --> 00:58:40,300 Unaweza kuwa wamekutana hii katika Scratch katika mfumo wa milele matanzi 1148 00:58:40,300 --> 00:58:45,650 au kurudia mpaka au Rudia hasa idadi ya nyakati. 1149 00:58:45,650 --> 00:58:47,540 Hivyo hii ni kwa nini ni nzuri kwa ajili yetu? 1150 00:58:47,540 --> 00:58:51,500 Naam, katika C, hebu sema tuna hii wimbo kutekelezwa katika Scratch kwamba 1151 00:58:51,500 --> 00:58:53,450 kuimba, hii ni wimbo kwamba hauna mwisho. 1152 00:58:53,450 --> 00:58:55,710 Ni tu unaendelea na kuendelea na juu ya milele na milele. 1153 00:58:55,710 --> 00:58:59,395 Naam, unaweza si kweli kufanya mpango ambayo ina idadi ya usio wa printf 1154 00:58:59,395 --> 00:59:00,850 kauli katika yake, sawa? 1155 00:59:00,850 --> 00:59:04,900 >> Hivyo katika hali hii hasa, kwa njia moja kwamba unaweza kufanya kazi hii na 1156 00:59:04,900 --> 00:59:09,330 kufanya hivyo magazeti milele ni kwa badala yake kutumia Wakati kitanzi. 1157 00:59:09,330 --> 00:59:13,640 Hivyo Wakati kitanzi nitafanya nini katika mwili wa braces mawili ambayo 1158 00:59:13,640 --> 00:59:17,250 ni yake kulingana na kile hali ni. 1159 00:59:17,250 --> 00:59:21,170 Hivyo katika mfano huu fulani kabla ya, kama tunataka magazeti hii milele, nini 1160 00:59:21,170 --> 00:59:23,590 Tunaweza kufanya? 1161 00:59:23,590 --> 00:59:25,190 Naam, hakika, right? 1162 00:59:25,190 --> 00:59:32,290 >> Hivyo hii aina ya unachanganya wazo baadhi ya kujieleza Boolean 1163 00:59:32,290 --> 00:59:33,610 pamoja na kitanzi. 1164 00:59:33,610 --> 00:59:35,780 Na sisi kujifunza kuhusu Boolean maneno mapema. 1165 00:59:35,780 --> 00:59:39,650 Hivyo wakati wowote hali ndani ya kwamba Wakati bado kweli, kitanzi hii 1166 00:59:39,650 --> 00:59:41,480 nitafanya juu na juu tena na tena. 1167 00:59:41,480 --> 00:59:44,640 Na katika kesi hii, kama sisi tu ugavi kwa kweli, hii husababisha usio 1168 00:59:44,640 --> 00:59:49,310 kitanzi ambayo Prints wimbo na juu na juu ya kama sisi taka kabla ya bila 1169 00:59:49,310 --> 00:59:52,410 kuwa na mpango ambayo ina usio idadi ya kauli printf, ambayo ni 1170 00:59:52,410 --> 00:59:55,220 haiwezekani. 1171 00:59:55,220 --> 00:59:57,810 >> Hivyo zaidi compellingly, ingawa, unaweza kutumia kwa 1172 00:59:57,810 --> 00:59:59,710 kutofautiana na hali hiyo. 1173 00:59:59,710 --> 01:00:04,420 Basi hebu kusema tunataka kurudia maneno, kabisa loopy, mara 10. 1174 01:00:04,420 --> 01:00:08,380 Basi nini unaweza kufanya na Wakati kitanzi ni unaweza kwanza initialize kukabiliana na 1175 01:00:08,380 --> 01:00:10,860 variable nje ya Wakati kitanzi hadi 10. 1176 01:00:10,860 --> 01:00:14,360 Na kisha kimsingi, kila wakati unaweza kwenda kupitia Wakati kitanzi, magazeti nje 1177 01:00:14,360 --> 01:00:19,090 taarifa na kisha kupunguza kukabiliana na kutofautiana mpaka mwisho, 1178 01:00:19,090 --> 01:00:23,020 wakati fulani, mara moja sisi Ondoa mimi kutosha mara kwa mara, 1 kutoka mimi mara ya kutosha - 1179 01:00:23,020 --> 01:00:27,290 na tu kufafanua, mimi minus minus maana mimi ni sawa na mimi minus 1. 1180 01:00:27,290 --> 01:00:31,280 >> Hiyo kimsingi kuleta mimi chini ya mahali ambapo mara moja mimi kugonga zero, hii 1181 01:00:31,280 --> 01:00:35,260 hali ni kweli tena na hivyo exits nje ya kitanzi. 1182 01:00:35,260 --> 01:00:37,045 Hivyo kabisa loopy tu Prints mara 10. 1183 01:00:37,045 --> 01:00:39,550 1184 01:00:39,550 --> 01:00:41,080 Maswali yoyote kuhusu Wakati kitanzi? 1185 01:00:41,080 --> 01:00:44,580 1186 01:00:44,580 --> 01:00:46,790 OK. 1187 01:00:46,790 --> 01:00:50,550 >> Kwa hiyo, kuna njia hiyo tunaweza kufanya nini sisi tu alivyofanya katika namna zaidi mafupi na 1188 01:00:50,550 --> 01:00:51,715 kile tunachokiita Kwa kitanzi. 1189 01:00:51,715 --> 01:00:55,750 Hivyo kitanzi Kwa lina initialization, hali, na 1190 01:00:55,750 --> 01:00:58,950 update, kama tulikuwa kabla ya katika kitanzi hii Wakati. 1191 01:00:58,950 --> 01:00:59,890 Hivyo basi tuangalie. 1192 01:00:59,890 --> 01:01:02,900 Katika hili kitanzi Wakati, tulikuwa na initialization, wakati huo tulikuwa na 1193 01:01:02,900 --> 01:01:04,260 sharti kwamba sisi checked. 1194 01:01:04,260 --> 01:01:06,450 Na wakati huo tulikuwa na update hatua ya juu. 1195 01:01:06,450 --> 01:01:10,060 >> Na kitanzi Kwa maana, hii kimsingi inachukua mambo haya matatu na unabadilika ni 1196 01:01:10,060 --> 01:01:11,370 chini katika mstari mmoja. 1197 01:01:11,370 --> 01:01:15,130 Hivyo jambo la kwanza kwamba hana katika Kwa kitanzi ni initialization. 1198 01:01:15,130 --> 01:01:19,090 Na kisha kufanya semicolon, na kisha kufanya hali, ambayo ni mimi 1199 01:01:19,090 --> 01:01:22,200 zaidi ya zero huenda zaidi ya hapo, na kisha update hatua. 1200 01:01:22,200 --> 01:01:26,470 Hivyo hii anapata kutumbuiza katika mwisho kabisa ya kitanzi mwili. 1201 01:01:26,470 --> 01:01:28,790 Hivyo programu hizi mbili ni kimsingi sawa. 1202 01:01:28,790 --> 01:01:31,960 1203 01:01:31,960 --> 01:01:33,870 >> Maswali yoyote? 1204 01:01:33,870 --> 01:01:37,000 Kwa hiyo kile ni tofauti moja kati ya hizi mbili? 1205 01:01:37,000 --> 01:01:38,000 Je, mtu yeyote uhakika ni nje? 1206 01:01:38,000 --> 01:01:40,480 Ni inaweza kuwa kidogo hila. 1207 01:01:40,480 --> 01:01:41,930 Ni tu tofauti ndogo sana. 1208 01:01:41,930 --> 01:01:42,330 Ndiyo? 1209 01:01:42,330 --> 01:01:49,008 >> SPIKA 5: Wewe bila kuwa na uwezo wa kutumia Mimi variable nje ya Kwa kitanzi 1210 01:01:49,008 --> 01:01:49,962 [Inaudible]? 1211 01:01:49,962 --> 01:01:50,900 >> JOSEPH: Hasa. 1212 01:01:50,900 --> 01:01:53,550 Hivyo hii ni kitu tutaweza kupata baadaye kuitwa wigo kutofautiana. 1213 01:01:53,550 --> 01:01:56,610 Lakini kimsingi, hii int mimi maisha nje ya kitanzi hii Wakati. 1214 01:01:56,610 --> 01:01:59,800 Hivyo mara hii kitanzi Wakati ni kufanyika utekelezaji, mimi utakuwa na uwezo wa kutumia Mimi baadaye 1215 01:01:59,800 --> 01:02:00,880 juu ya katika mpango. 1216 01:02:00,880 --> 01:02:05,430 >> Ambapo pamoja na hii kwa kitanzi, hii mimi int ni scoped ndani ya hii Kwa kitanzi. 1217 01:02:05,430 --> 01:02:10,240 Na kwa sababu ni ndani ya sehemu hii ya kitanzi Kwa maana, kwamba kuanza 1218 01:02:10,240 --> 01:02:13,200 katika mabano na mwisho kwa brace curly zaidi ya hapo. 1219 01:02:13,200 --> 01:02:16,120 Jambo lolote la alitangaza ndani ya hapa haiwezi kutumiwa nje. 1220 01:02:16,120 --> 01:02:20,420 Basi, ikiwa mimi kujaribu kutumia mimi nje, itabidi niambie, ishara undeclared. 1221 01:02:20,420 --> 01:02:22,420 Na kimsingi, napenda kuwa na uwezo wa matumizi yake. 1222 01:02:22,420 --> 01:02:28,460 >> Rob: Na pia, miaka 10 iliyopita, katika literally kesi zote, braces curly ni 1223 01:02:28,460 --> 01:02:31,140 nini kutumiwa kuamua wigo wa kutofautiana. 1224 01:02:31,140 --> 01:02:37,240 Hivyo huko, int mimi ni sawa na 10 ni alitangaza ndani ya hii 1225 01:02:37,240 --> 01:02:38,520 seti ya braces curly. 1226 01:02:38,520 --> 01:02:42,530 Na hivyo basi muda mrefu kama wewe kujaribu kutumia mimi kabla ya brace hii curly, ni nzuri. 1227 01:02:42,530 --> 01:02:47,090 1228 01:02:47,090 --> 01:02:51,460 Unaweza kuona pale unapoandika kufanya, wewe kuona dash, dash, magonjwa ya zinaa, sawa, c99. 1229 01:02:51,460 --> 01:02:57,100 >> Hivyo, ambayo ni toleo ya baadaye ya C kwamba GCC imetekeleza kwamba pia inatoa 1230 01:02:57,100 --> 01:02:58,740 njia ya mkato hii. 1231 01:02:58,740 --> 01:03:03,505 Hivyo hii kutumika si kuruhusiwa katika C. Na unaweza kuona kwa nini, kwa sababu hii int 1232 01:03:03,505 --> 01:03:07,600 Mimi ni nje ya brace hii curly lakini ni bado inaonekana kuwa katika 1233 01:03:07,600 --> 01:03:09,750 wigo wa braces haya curly. 1234 01:03:09,750 --> 01:03:14,120 Lakini hili ni jambo rahisi sana, na hivyo ni ugani nzuri. 1235 01:03:14,120 --> 01:03:15,370 >> JOSEPH: maswali yoyote? 1236 01:03:15,370 --> 01:03:17,550 1237 01:03:17,550 --> 01:03:19,260 OK. 1238 01:03:19,260 --> 01:03:22,820 Basi nini muhimu zaidi ni kwamba wakati mwingine unataka aina ya mabadiliko katika 1239 01:03:22,820 --> 01:03:23,410 kitanzi yako, sawa? 1240 01:03:23,410 --> 01:03:26,350 Hawataki tu lazima magazeti kabisa loopy wakati wote, wewe 1241 01:03:26,350 --> 01:03:28,650 wanataka kuhesabu chini kutoka 10 au kitu. 1242 01:03:28,650 --> 01:03:32,010 Na hivyo unaweza kutumia kukabiliana na variable ndani ya kitanzi kama vizuri. 1243 01:03:32,010 --> 01:03:35,530 Na katika kesi hii, mpango huu tu makosa chini kutoka 10 njia yote chini. 1244 01:03:35,530 --> 01:03:39,260 Na ni nini si magazeti? 1245 01:03:39,260 --> 01:03:42,790 Haina magazeti sifuri, haki, kwa sababu wakati - 1246 01:03:42,790 --> 01:03:45,460 Ndiyo, pia haina magazeti 11. 1247 01:03:45,460 --> 01:03:49,200 >> Hivyo hana magazeti zero, kwa sababu wakati Mimi ni sifuri, kumbuka, kutathmini 1248 01:03:49,200 --> 01:03:52,170 hali ya kabla ya unaendelea kutekeleza kitanzi mwili. 1249 01:03:52,170 --> 01:03:56,820 Na wakati mimi ni zero, hii ni uongo, hivyo haina magazeti nje kuhesabu chini 1250 01:03:56,820 --> 01:04:00,200 zero, ni tu Prints nje kuhesabu chini ya 10 njia yote chini ya 1. 1251 01:04:00,200 --> 01:04:03,420 Kama sisi kweli alitaka magazeti sifuri, kisha tunataka kuweka ishara sawa 1252 01:04:03,420 --> 01:04:04,750 baada ya hii zaidi ya ishara. 1253 01:04:04,750 --> 01:04:09,400 1254 01:04:09,400 --> 01:04:10,130 OK. 1255 01:04:10,130 --> 01:04:16,410 >> Hivyo njia moja ya kufanya mchango uthibitisho, ambayo ni wakati kuuliza user kufanya 1256 01:04:16,410 --> 01:04:18,620 kitu, unataka kuhakikisha kuwa kufuata maelekezo yako, ni kutumia 1257 01:04:18,620 --> 01:04:19,400 Wakati kitanzi, sawa? 1258 01:04:19,400 --> 01:04:22,990 Hivyo katika kesi hii, mimi nina kuuliza kwa idadi chanya na basi mimi nina 1259 01:04:22,990 --> 01:04:23,810 kusubiri kwa ajili ya pembejeo. 1260 01:04:23,810 --> 01:04:28,210 >> Na kisha I checked Wakati pembejeo ni chini ya sifuri, kuendelea kuuliza yao. 1261 01:04:28,210 --> 01:04:32,100 Hivyo muda mrefu kama wao nipe namba kwamba ni si chanya, kuendelea kuuliza, 1262 01:04:32,100 --> 01:04:33,600 kuendelea kuuliza, kuendelea kuuliza. 1263 01:04:33,600 --> 01:04:35,860 Lakini ni nini aina ya weird kuhusu hili? 1264 01:04:35,860 --> 01:04:38,570 Au nini haionekani mojawapo kuhusu muundo huu hapa hapa? 1265 01:04:38,570 --> 01:04:44,282 1266 01:04:44,282 --> 01:04:44,758 Mtu yeyote? 1267 01:04:44,758 --> 01:04:45,234 Ndiyo? 1268 01:04:45,234 --> 01:04:47,614 >> SPIKA 6: Wewe ni kurudia maelekezo ya mara mbili. 1269 01:04:47,614 --> 01:04:48,100 >> JOSEPH: Haki. 1270 01:04:48,100 --> 01:04:50,090 Hivyo tuna kauli mbili printf hapa, sawa? 1271 01:04:50,090 --> 01:04:53,440 Kwa hiyo, kuna njia tunaweza kupata hii tu chini ya moja ambayo ingeweza kufanya yetu 1272 01:04:53,440 --> 01:04:57,170 code rahisi kusoma na a kidogo zaidi safi. 1273 01:04:57,170 --> 01:05:00,180 Na kisha sisi bila kuwa na kuwa Kupata katika mara mbili kama vizuri. 1274 01:05:00,180 --> 01:05:03,740 Na njia moja unaweza kufanya hivyo ni kwa kutumia Do-Wakati kitanzi. 1275 01:05:03,740 --> 01:05:07,670 >> Na Do-Wakati kitanzi kimsingi ni aina mbalimbali za Wakati kitanzi ambapo 1276 01:05:07,670 --> 01:05:11,460 chochote ni ndani ya braces curly anapata kunyongwa angalau mara moja. 1277 01:05:11,460 --> 01:05:14,840 Hivyo katika hapa, mimi kutangaza, int pembejeo, nje ya kwanza. 1278 01:05:14,840 --> 01:05:18,100 Na kisha mimi tu kusema, kufanya hivyo maelekezo wakati pembejeo 1279 01:05:18,100 --> 01:05:19,140 ni chini ya sifuri. 1280 01:05:19,140 --> 01:05:20,530 Hivyo hits Je kwanza. 1281 01:05:20,530 --> 01:05:24,190 Ni siku zote kutekeleza hii angalau mara moja, hivyo daima kuuliza user 1282 01:05:24,190 --> 01:05:25,960 kwa ajili ya pembejeo angalau mara moja. 1283 01:05:25,960 --> 01:05:29,390 Na kisha kutathmini pembejeo kwamba, na unaendelea katika mduara. 1284 01:05:29,390 --> 01:05:30,135 Ndiyo, swali? 1285 01:05:30,135 --> 01:05:32,602 >> SPIKA 6: Je, kuna njia ya kufanya hivyo [Inaudible] aina, kama kama wewe kusema, 1286 01:05:32,602 --> 01:05:34,268 GetString, na mtu [inaudible] 1287 01:05:34,268 --> 01:05:35,220 kuna njia ya [inaudible] 1288 01:05:35,220 --> 01:05:40,060 >> JOSEPH: Kwa hiyo swali ni, kuna njia ya kufanya mchango uthibitisho kama mtumiaji 1289 01:05:40,060 --> 01:05:41,850 haina kuweka katika haki aina ya kutofautiana? 1290 01:05:41,850 --> 01:05:44,460 Hivyo kama sisi kuomba kwa ajili ya int na wao kutupa kamba badala yake. 1291 01:05:44,460 --> 01:05:49,110 Na katika kazi ambayo sisi kutekeleza kwa ajili yenu, GetInt, GetString katika yote ya 1292 01:05:49,110 --> 01:05:52,680 kazi hizo, kwa kweli tayari kufanya aina ya msingi ya aina pembejeo 1293 01:05:52,680 --> 01:05:54,120 uthibitisho chini ya kofia. 1294 01:05:54,120 --> 01:05:57,390 Hivyo kama wewe ni kutumia kazi kwamba sisi alitoa wewe, si kweli kuwa kwa. 1295 01:05:57,390 --> 01:06:01,380 >> Lakini kama unataka kuangalia zaidi katika jinsi unaweza kweli kufanya hivyo, unaweza kuangalia 1296 01:06:01,380 --> 01:06:03,360 chini ya kofia faili I/O-- 1297 01:06:03,360 --> 01:06:07,990 faili, kiwango I / O kazi kama kusoma kutoka pembejeo kiwango na 1298 01:06:07,990 --> 01:06:08,580 kiwango pato. 1299 01:06:08,580 --> 01:06:10,630 Na unaweza kupata hali nzuri zaidi jinsi unavyoweza kufanya hivyo. 1300 01:06:10,630 --> 01:06:13,670 >> Rob: One suala hilo, ingawa, ni hasa kwa mfano wewe 1301 01:06:13,670 --> 01:06:17,070 akasema, unatarajia string na mimi kuingia int. 1302 01:06:17,070 --> 01:06:20,110 Jinsi gani unaweza kuwaambia tofauti kati ya makusudi kutaka 1303 01:06:20,110 --> 01:06:23,130 kamba 123 dhidi ya kutaka int 123? 1304 01:06:23,130 --> 01:06:29,230 Hivyo kamba, ni pretty much hakuna uthibitisho, ni tu chochote 1305 01:06:29,230 --> 01:06:31,600 aliingia utakuwa kutafsiri kama kamba. 1306 01:06:31,600 --> 01:06:35,790 >> Int ni rahisi, kwa sababu hakuna jambo pembejeo kuchukua kutoka kwa mtumiaji, wewe ni 1307 01:06:35,790 --> 01:06:37,470 daima kuchukua kamba. 1308 01:06:37,470 --> 01:06:40,650 Na hivyo string kwamba unaweza kisha kuangalia, ni yote haya 1309 01:06:40,650 --> 01:06:44,218 kweli numeric tarakimu? 1310 01:06:44,218 --> 01:06:45,170 >> JOSEPH: OK. 1311 01:06:45,170 --> 01:06:46,420 Maswali yoyote kuhusu Do-Wakati kitanzi? 1312 01:06:46,420 --> 01:06:49,170 >> Rob: Oh, na hii pia ni - 1313 01:06:49,170 --> 01:06:55,130 kurejea wigo, kwa kiasi fulani ya kawaida makosa ni kujaribu kutumia baadhi ya mitaa 1314 01:06:55,130 --> 01:06:59,540 variable kutoka ndani ya hii Do-Wakati kitanzi ndani ya hali hii. 1315 01:06:59,540 --> 01:07:02,850 Na kwa kweli, kama sisi tu got kuondoa hii na kusema, int pembejeo ni sawa na 1316 01:07:02,850 --> 01:07:06,990 GetInt, kisha compiler itakuwa kelele katika yetu, kwa sababu pembejeo haipo 1317 01:07:06,990 --> 01:07:08,900 nje ya wigo wa haya braces curly. 1318 01:07:08,900 --> 01:07:10,792 >> JOSEPH: Na hii ndiyo maana sisi haja lineup hii hapa. 1319 01:07:10,792 --> 01:07:13,620 1320 01:07:13,620 --> 01:07:14,630 OK. 1321 01:07:14,630 --> 01:07:17,530 Hivyo unaweza pia kuvunja nje ya kitanzi mapema kama unataka. 1322 01:07:17,530 --> 01:07:21,240 Hivyo hii ni njia tofauti ya kutekeleza kile ambacho sisi tu kutekelezwa. 1323 01:07:21,240 --> 01:07:24,340 Na badala ya kutumia hali ndani ya mabano, sisi ni kutumia 1324 01:07:24,340 --> 01:07:26,920 Kama taarifa ndani ya mwili ya Do-Wakati kitanzi. 1325 01:07:26,920 --> 01:07:30,000 >> Na kimsingi, wakati pembejeo ni hatimaye zaidi ya sifuri, sisi 1326 01:07:30,000 --> 01:07:31,000 kuvunja nje ya kitanzi. 1327 01:07:31,000 --> 01:07:33,420 Na hivyo tutakuwa kwenda wote njia ya chini hapa. 1328 01:07:33,420 --> 01:07:37,920 Na unaweza kuona kwamba hii ingekuwa pengine kuliko katika hii 1329 01:07:37,920 --> 01:07:39,870 mazingira, kwa sababu ni kidogo kidogo safi na kidogo 1330 01:07:39,870 --> 01:07:41,380 kidogo rahisi kusoma. 1331 01:07:41,380 --> 01:07:45,210 Wakati huu, aina ya na mistari ya ziada katika hiyo. 1332 01:07:45,210 --> 01:07:47,890 Ni kidogo tu uglier, Nadhani, kwa maana. 1333 01:07:47,890 --> 01:07:48,530 Ndiyo, swali? 1334 01:07:48,530 --> 01:07:52,178 >> SPIKA 4: Je, kuvunja tu kupata wewe nje ya seti moja ya braces? 1335 01:07:52,178 --> 01:07:53,080 >> JOSEPH: Haki. 1336 01:07:53,080 --> 01:07:58,100 Hivyo, swali ni kuvunja tu kupata nje ya kitanzi moja? 1337 01:07:58,100 --> 01:07:59,280 Na jibu ni ndiyo. 1338 01:07:59,280 --> 01:08:04,290 Hivyo kama una Furushi Kwa tanzi, kwa mfano, kama mimi na Kwa int mimi ni sawa na 0 1339 01:08:04,290 --> 01:08:09,040 mpaka 10 na kisha Kwa int J sawa na 0 mpaka 10, kama mimi kuvunja nje ya ndani 1340 01:08:09,040 --> 01:08:12,310 kitanzi, mimi bado kwenda kwa kitanzi nje. 1341 01:08:12,310 --> 01:08:15,760 Hivyo itabidi kuweka kufanya shughuli nje. 1342 01:08:15,760 --> 01:08:17,640 Maswali yoyote kuhusu hilo? 1343 01:08:17,640 --> 01:08:18,000 Ndiyo? 1344 01:08:18,000 --> 01:08:21,760 >> SPIKA 5: Lakini kuvunja kazi tu kwa braces curly, si kwa ajili ya wengine 1345 01:08:21,760 --> 01:08:22,230 kauli? 1346 01:08:22,230 --> 01:08:22,700 [Inaudible] 1347 01:08:22,700 --> 01:08:27,620 >> JOSEPH: Kwa hiyo swali ni kuvunja kazi tu kwa loops kinyume na 1348 01:08:27,620 --> 01:08:29,014 taarifa nyingine kama Kama? 1349 01:08:29,014 --> 01:08:32,950 Na ndiyo, kwamba ni kesi, kwa sababu wewe ni kuvunja nje ya kitanzi, haki, 1350 01:08:32,950 --> 01:08:33,630 katika akili. 1351 01:08:33,630 --> 01:08:37,215 >> Rob: Katika idadi kubwa ya kesi, ni hii ni aina ya Kama kitu, 1352 01:08:37,215 --> 01:08:37,660 kisha kuvunja. 1353 01:08:37,660 --> 01:08:41,580 Hivyo huna kuvunja kuomba Kama kwamba ni Kumalizika kwa mpango kuzunguka. 1354 01:08:41,580 --> 01:08:45,250 Na pia, hii si mengi ya kitanzi, lakini kumbuka kwamba swichi ni pia 1355 01:08:45,250 --> 01:08:46,340 kuvunjwa nje ya na mapumziko. 1356 01:08:46,340 --> 01:08:48,390 Tuliona mapumziko zinatumika na swichi kabla ya. 1357 01:08:48,390 --> 01:08:52,189 >> JOSEPH: Na unaweza pia matumizi yao katika Wakati loops na Kwa matanzi. 1358 01:08:52,189 --> 01:08:54,560 Maswali yoyote? 1359 01:08:54,560 --> 01:08:55,830 OK. 1360 01:08:55,830 --> 01:08:57,779 Hivyo up ya pili ni kazi. 1361 01:08:57,779 --> 01:09:01,500 Basi unaweza kutumika mmoja wa hawa BYOB vitalu katika Scratch mradi wako. 1362 01:09:01,500 --> 01:09:04,569 Na hii kimsingi inaruhusu kufafanua seti ya 1363 01:09:04,569 --> 01:09:05,680 maelekezo ya kufuatwa. 1364 01:09:05,680 --> 01:09:09,569 >> Na nini maana na kwamba ni hebu fikiria nyuma math, haki, algebra. 1365 01:09:09,569 --> 01:09:13,370 Una nini sisi kuwaita kazi ya x, baadhi variable, na hebu sema hii 1366 01:09:13,370 --> 01:09:16,080 kazi ni f ya x sawa na x pamoja na 5. 1367 01:09:16,080 --> 01:09:20,410 Hivyo unaweza kufikiria f ya x kama hii nyeusi sanduku kwamba inachukua 15 na kisha 1368 01:09:20,410 --> 01:09:22,590 inazalisha 20. 1369 01:09:22,590 --> 01:09:26,630 >> Hivyo zaidi kwa ujumla, kazi ni kitu kwamba inachukua baadhi ya pembejeo na 1370 01:09:26,630 --> 01:09:27,880 kisha hutoa baadhi mazao. 1371 01:09:27,880 --> 01:09:31,920 1372 01:09:31,920 --> 01:09:32,960 Na kwa nini ni kazi nzuri? 1373 01:09:32,960 --> 01:09:35,189 Wao ni nzuri kwa sababu idadi ya. 1374 01:09:35,189 --> 01:09:40,470 Hivyo gani mtu unataka kuchukua kumchoma nini shirika inamaanisha nini? 1375 01:09:40,470 --> 01:09:42,630 Katika suala la kwa nini kazi ni msaada? 1376 01:09:42,630 --> 01:09:43,090 Ndiyo? 1377 01:09:43,090 --> 01:09:44,735 >> SPIKA 4: Ni inafanya yako code zaidi someka. 1378 01:09:44,735 --> 01:09:45,399 >> JOSEPH: Haki. 1379 01:09:45,399 --> 01:09:47,670 Hivyo moja ya mambo ni inafanya code yako zaidi someka, sawa? 1380 01:09:47,670 --> 01:09:53,710 Badala ya kuwa na kama int x sawa na x mara x mara x, naweza kuwa na mchemraba wa x, 1381 01:09:53,710 --> 01:09:57,190 ambayo ni zaidi someka na zaidi kueleweka kwa msomaji. 1382 01:09:57,190 --> 01:10:01,150 >> Shirika ni pia katika suala la kugawanyika up code yako katika manageable 1383 01:10:01,150 --> 01:10:05,610 sehemu, ili badala ya kujaribu kutekeleza yote haya katika moja ya muda mrefu sehemu 1384 01:10:05,610 --> 01:10:09,070 katika kuu, unaweza aina ya mgawanyiko it up ndani ya kama, OK, hebu kuandika kazi 1385 01:10:09,070 --> 01:10:11,910 hadi utengenezaji wa mchemraba kitu, hebu kuandika kazi ya mraba kitu. 1386 01:10:11,910 --> 01:10:15,950 Kwa njia hiyo unaweza kupasuliwa juu katika vidogo, sehemu kidogo kwamba unaweza kukabiliana na 1387 01:10:15,950 --> 01:10:18,944 kinyume na kujaribu kukabiliana na tatizo kubwa wote mara moja. 1388 01:10:18,944 --> 01:10:21,806 >> Rob: Au hata kidogo, sehemu kidogo kwamba wewe na mpenzi unaweza kukabiliana na. 1389 01:10:21,806 --> 01:10:22,283 >> JOSEPH: Yeah. 1390 01:10:22,283 --> 01:10:23,855 >> Rob: Kwa hiyo badala ya wote wewe ni kujaribu implant moja 1391 01:10:23,855 --> 01:10:27,170 kazi kwa wakati mmoja. 1392 01:10:27,170 --> 01:10:28,800 >> JOSEPH: Kurahisisha. 1393 01:10:28,800 --> 01:10:30,050 Mtu unataka kuchukua nadhani? 1394 01:10:30,050 --> 01:10:33,080 1395 01:10:33,080 --> 01:10:33,410 Ndiyo? 1396 01:10:33,410 --> 01:10:34,675 >> SPIKA 5: Zaidi marudio. 1397 01:10:34,675 --> 01:10:35,260 >> JOSEPH: Haki. 1398 01:10:35,260 --> 01:10:39,210 Hivyo suala moja ambalo unaweza kufanya na kurahisisha ni kwamba ni aina ya juu ya 1399 01:10:39,210 --> 01:10:42,520 mistari hiyo kama re-usability ni kwamba mara moja mimi kuandika cube kazi, naweza 1400 01:10:42,520 --> 01:10:45,410 kutumia tu kwamba tena na tena na tena tena katika mpango wangu badala ya kuandika 1401 01:10:45,410 --> 01:10:49,610 x mara x mara x juu ya na tena na tena. 1402 01:10:49,610 --> 01:10:52,980 Na kurahisisha hapa pia tu maana inafanya code aina yako ya 1403 01:10:52,980 --> 01:10:55,900 rahisi Debug mara moja kupasuliwa up huu katika kazi. 1404 01:10:55,900 --> 01:10:58,250 Kwa sababu kisha unaweza localize ambapo matatizo yako aina ya ni. 1405 01:10:58,250 --> 01:11:00,910 1406 01:11:00,910 --> 01:11:02,160 Maswali yoyote? 1407 01:11:02,160 --> 01:11:04,200 1408 01:11:04,200 --> 01:11:06,540 >> Hivyo wazo mwingine ni uchukuaji, sawa? 1409 01:11:06,540 --> 01:11:07,390 Hii nyeusi sanduku. 1410 01:11:07,390 --> 01:11:11,360 Kama unajua nini GetInt gani kupokea pembejeo kutoka kwa mtumiaji? 1411 01:11:11,360 --> 01:11:12,510 Sisi si kweli niliwaambia, sawa? 1412 01:11:12,510 --> 01:11:15,670 Wote tumekuwa kuambia ni GetInt gani hasa nini anasema ni gani. 1413 01:11:15,670 --> 01:11:18,440 Hivyo hata kama hatuna kukuambia jinsi kazi, bado kujua. 1414 01:11:18,440 --> 01:11:21,670 >> Hivyo katika kesi hii Hasa, hii ni kazi quadruple ambayo haina 1415 01:11:21,670 --> 01:11:24,520 mambo mbalimbali ya pembejeo kuzalisha pato. 1416 01:11:24,520 --> 01:11:28,050 Na unaweza mara nne idadi kwa kuzidisha ni na watu wanne. 1417 01:11:28,050 --> 01:11:30,790 Au unaweza kile tunachokiita kidogo kuhama ni na mbili. 1418 01:11:30,790 --> 01:11:32,960 Na tutaweza cover hii kidogo baadaye. 1419 01:11:32,960 --> 01:11:36,570 Na hakuna haja ya kujua jinsi hii kazi kweli kazi kwa muda mrefu kama 1420 01:11:36,570 --> 01:11:37,640 kazi kama ilivyoelezwa. 1421 01:11:37,640 --> 01:11:40,740 >> Hivyo chini ya kofia, mimi inaweza kuwa kama, kurudi mara pembejeo 1422 01:11:40,740 --> 01:11:41,690 nane kugawanywa na mbili. 1423 01:11:41,690 --> 01:11:42,510 Na bila kujua, sawa? 1424 01:11:42,510 --> 01:11:44,970 Wote unahitaji kujua ni haina nini anasema. 1425 01:11:44,970 --> 01:11:48,070 Hivyo kwamba ni jambo muhimu kuhusu kufikirika tu. 1426 01:11:48,070 --> 01:11:52,910 >> Na kitu kingine ni aina ya wazo hili ya localizing code yako moja 1427 01:11:52,910 --> 01:11:54,280 sehemu fulani. 1428 01:11:54,280 --> 01:11:57,450 Hivyo kama una tatizo, unaweza kufanya si na kwenda wote juu ya kanuni yako kujaribu 1429 01:11:57,450 --> 01:11:58,730 kurekebisha ambapo tatizo ni. 1430 01:11:58,730 --> 01:12:00,990 Hivyo katika kesi hii, mimi kutekelezwa mchemraba makosa. 1431 01:12:00,990 --> 01:12:02,820 Nilidhani cube ilikuwa kuzidisha na tatu. 1432 01:12:02,820 --> 01:12:05,760 >> Hivyo katika kesi hii, hii ni programu ya moja kwamba tu ina kuzidisha na tatu 1433 01:12:05,760 --> 01:12:06,750 kila mahali. 1434 01:12:06,750 --> 01:12:10,910 Na kuna mpango mwingine ambayo ina factored cube nje katika kazi. 1435 01:12:10,910 --> 01:12:14,040 Na hivyo sasa kama nataka kurekebisha makosa yangu hapa, nina kurekebisha kila line moja 1436 01:12:14,040 --> 01:12:15,620 wa kanuni katika mpango huu. 1437 01:12:15,620 --> 01:12:19,190 Wakati kwa upande mwingine, kama mimi kutumia kazi, mimi tu haja ya kubadili 1438 01:12:19,190 --> 01:12:20,650 nini ilikuwa na makosa katika sehemu moja. 1439 01:12:20,650 --> 01:12:25,330 1440 01:12:25,330 --> 01:12:28,730 >> Hivyo katika sayansi ya kompyuta, sisi kuwaita pembejeo na mazao. 1441 01:12:28,730 --> 01:12:31,640 Pembejeo walioitwa vigezo au hoja, na matokeo walioitwa 1442 01:12:31,640 --> 01:12:32,950 kurudi maadili. 1443 01:12:32,950 --> 01:12:39,000 Na tutaona jinsi hii inatusaidia aina ya kufafanua kazi katika pili. 1444 01:12:39,000 --> 01:12:41,430 Hivyo hii ni ufafanuzi kazi kwa cubing. 1445 01:12:41,430 --> 01:12:45,110 Hivyo inachukua pembejeo, na kisha kuirudisha kwamba wakati idadi 1446 01:12:45,110 --> 01:12:47,020 yenyewe mara tatu. 1447 01:12:47,020 --> 01:12:48,020 Basi hebu kuvunja hii. 1448 01:12:48,020 --> 01:12:53,090 >> Hivyo tuna kazi header, ambayo kimsingi lina mambo matatu. 1449 01:12:53,090 --> 01:12:56,050 Hivyo tuna vigezo, ambayo ni, kama nilivyosema hapo kabla, 1450 01:12:56,050 --> 01:12:57,680 pembejeo katika kazi hii. 1451 01:12:57,680 --> 01:12:59,300 Na basi sisi kutoa kazi jina. 1452 01:12:59,300 --> 01:13:00,740 Katika kesi hiyo, ni wito mraba. 1453 01:13:00,740 --> 01:13:03,860 Na kisha sisi bayana ni aina gani ya thamani ya kurudi ni. 1454 01:13:03,860 --> 01:13:06,760 >> Hivyo katika kesi hii, mchemraba yangu kazi inachukua katika integer na pia 1455 01:13:06,760 --> 01:13:07,890 anarudi integer. 1456 01:13:07,890 --> 01:13:11,510 Basi, ikiwa mimi kupita katika mbili, mbili ni integer, kuirudisha nane kwangu, ambayo 1457 01:13:11,510 --> 01:13:13,250 ni integer. 1458 01:13:13,250 --> 01:13:15,420 Hivyo kurudi jina aina vigezo. 1459 01:13:15,420 --> 01:13:16,670 Maswali kuhusu hilo? 1460 01:13:16,670 --> 01:13:19,440 1461 01:13:19,440 --> 01:13:24,230 >> Na kisha kurudi thamani ni kweli fulani mwishoni mwa kwa kusema kurudi 1462 01:13:24,230 --> 01:13:27,540 na kisha kurudi chochote ina thamani ya kurudi. 1463 01:13:27,540 --> 01:13:30,940 Hivyo katika kesi hii, kama sisi kuweka yote pamoja, kazi inachukua katika 1464 01:13:30,940 --> 01:13:35,100 vigezo, ni wito kitu, na kuirudisha kitu ambacho ni aina 1465 01:13:35,100 --> 01:13:36,350 kwamba tunasema ni kwenda kuwa. 1466 01:13:36,350 --> 01:13:39,830 1467 01:13:39,830 --> 01:13:41,080 Maswali yoyote? 1468 01:13:41,080 --> 01:13:43,710 1469 01:13:43,710 --> 01:13:45,080 >> Hivyo ni jinsi gani sisi kutumia kazi? 1470 01:13:45,080 --> 01:13:49,230 Naam, sisi kuandika kazi na kisha sisi kutumia katika mpango wetu, sawa? 1471 01:13:49,230 --> 01:13:51,565 Basi, mimi kuitwa kuwa ni mchemraba, na kisha naweza kutumia mraba. 1472 01:13:51,565 --> 01:13:54,200 >> Lakini ni nini muhimu kutambua ni kwamba mambo utaratibu. 1473 01:13:54,200 --> 01:13:58,100 Kama mimi na mchemraba chini kuu, ni kwenda kukimbia katika mchemraba. 1474 01:13:58,100 --> 01:14:00,360 Na katika hatua hii, kuna kitu aitwaye cube katika mpango, na ni 1475 01:14:00,360 --> 01:14:02,550 tu kwenda kuwa kama mimi na sijui nini mchemraba ni. 1476 01:14:02,550 --> 01:14:05,060 >> Hivyo atakuambia, thabiti tamko la kazi. 1477 01:14:05,060 --> 01:14:06,690 Hiyo ni hitilafu ambayo inaonyesha up. 1478 01:14:06,690 --> 01:14:10,230 Na hivyo katika kesi hii, mchemraba ni chini ya kuu, hivyo si kwenda 1479 01:14:10,230 --> 01:14:12,006 kujua kuhusu hilo. 1480 01:14:12,006 --> 01:14:14,724 >> SPIKA 5: Hivyo kuu ni kawaida kazi mwisho defined? 1481 01:14:14,724 --> 01:14:17,290 >> JOSEPH: Kwa hiyo swali ni, ni kuu kawaida mwisho 1482 01:14:17,290 --> 01:14:18,170 kitu kwamba Ningependa kufafanua? 1483 01:14:18,170 --> 01:14:19,730 Na hakuna. 1484 01:14:19,730 --> 01:14:22,280 Ni kwa sababu sisi kawaida kama kuu kwa kuwa saa ya juu, right? 1485 01:14:22,280 --> 01:14:24,640 Kwa sababu hiyo jambo la kwanza unataka programu ya kufungua 1486 01:14:24,640 --> 01:14:25,640 mpango wa kuona. 1487 01:14:25,640 --> 01:14:29,950 Na hivyo ni jinsi gani sisi kutatua suala hili la sisi wanataka kuu kwa kuwa saa ya juu, lakini 1488 01:14:29,950 --> 01:14:33,750 kazi kwamba tunataka, tunataka yao kuwa chini ya kuu bado kuwa na uwezo wa kutumia 1489 01:14:33,750 --> 01:14:34,930 yao ndani ya kuu? 1490 01:14:34,930 --> 01:14:36,870 >> Naam, sisi kutumia kile tunachokiita kazi mfano. 1491 01:14:36,870 --> 01:14:40,830 Basi nini kazi mfano kimsingi ni ni ni ya kwanza inachukua nini 1492 01:14:40,830 --> 01:14:45,060 sahihi au kazi header ya nini tunataka kutekeleza chini 1493 01:14:45,060 --> 01:14:47,420 hapa, na sisi kuiweka katika juu ya mpango huo. 1494 01:14:47,420 --> 01:14:51,400 >> Hivyo katika kesi hii, tunasema kwamba, vizuri, baadaye katika mpango wetu, tunakwenda 1495 01:14:51,400 --> 01:14:55,010 kufanya ahadi ya kutekeleza mpango huu kazi kuitwa int mchemraba, ambayo inachukua 1496 01:14:55,010 --> 01:14:56,260 integer pembejeo. 1497 01:14:56,260 --> 01:15:00,870 Basi sasa, kwa sababu ni juu ya kuu, kuu, ni kwenda kusema, oh, vizuri, 1498 01:15:00,870 --> 01:15:03,910 baadaye katika mpango, kwamba kinaendelea kuwa huko ili niweze rejea, hivyo mimi itabidi 1499 01:15:03,910 --> 01:15:05,230 tu basi ni kwenda kupitia kwa sasa. 1500 01:15:05,230 --> 01:15:07,660 >> Na kisha chini, sisi kutekeleza mraba. 1501 01:15:07,660 --> 01:15:11,180 Na kisha kuu tu kusema, vizuri, itakuwa aina ya kiungo 1502 01:15:11,180 --> 01:15:12,250 haya alama mbili pamoja. 1503 01:15:12,250 --> 01:15:14,320 Na tutaweza cover yale ambayo maana baadaye. 1504 01:15:14,320 --> 01:15:17,090 Na hivyo utakuwa kujua kwamba hii ni cube kazi ambayo ni lazima kutumia. 1505 01:15:17,090 --> 01:15:19,630 1506 01:15:19,630 --> 01:15:23,383 >> Rob: [inaudible] kuhusu kutaka kuu kwa chini au 1507 01:15:23,383 --> 01:15:24,880 juu, nimeona zote mbili. 1508 01:15:24,880 --> 01:15:28,630 Kuna mambo ambayo tu kama kuweka kuu chini. 1509 01:15:28,630 --> 01:15:32,520 Lakini mara moja mradi anapata hasa kubwa, kwa kawaida kuu ni katika 1510 01:15:32,520 --> 01:15:34,290 faili yote peke yake. 1511 01:15:34,290 --> 01:15:38,170 Na katika hatua hiyo, kama int cube line ingekuwa - 1512 01:15:38,170 --> 01:15:42,460 ndani ya stdio.h ni rundo ya mistari kama hiyo int 1513 01:15:42,460 --> 01:15:44,010 cube int pembejeo line. 1514 01:15:44,010 --> 01:15:50,170 >> Na hivyo wale prototypes ni mambo huwa na kuweka katika header files, katika 1515 01:15:50,170 --> 01:15:52,140 ambayo uhakika, haijalishi. 1516 01:15:52,140 --> 01:15:54,700 Naam, haijalishi. 1517 01:15:54,700 --> 01:15:56,070 Wale daima kwenda juu. 1518 01:15:56,070 --> 01:15:59,490 Na kama kuu ni si file yote yake mwenyewe, huna na wasiwasi juu ya kuweka 1519 01:15:59,490 --> 01:16:02,360 kazi ya mtu binafsi prototypes katika faili. 1520 01:16:02,360 --> 01:16:05,370 >> JOSEPH: Na tutaweza kupata kidogo kidogo baadaye wakati Rob kuanza kuzungumza 1521 01:16:05,370 --> 01:16:06,380 kuhusu kuandaa. 1522 01:16:06,380 --> 01:16:09,480 Na hivyo kuna pia tofauti kati ya parameter na hoja. 1523 01:16:09,480 --> 01:16:12,500 Na parameter ni yale tu sisi kuwaita pembejeo hizi wakati 1524 01:16:12,500 --> 01:16:13,820 sisi kufafanua kazi. 1525 01:16:13,820 --> 01:16:16,950 Na sisi kuiita hoja wakati sisi kweli kupita katika kazi. 1526 01:16:16,950 --> 01:16:19,600 >> Hivyo katika kesi hii, ni parameter, kama sisi alisema kabla. 1527 01:16:19,600 --> 01:16:24,130 Na wakati sisi kweli matumizi yake zaidi ya hapo, mchemraba wa x, kisha x yenyewe ni 1528 01:16:24,130 --> 01:16:25,910 kile tunachokiita hoja kufanya kazi mchemraba. 1529 01:16:25,910 --> 01:16:28,150 >> Rob: Kwa hiyo hoja parameter ni - 1530 01:16:28,150 --> 01:16:33,270 kuna tofauti hii, sana kuchanganyikiwa kwa kubadilishana. 1531 01:16:33,270 --> 01:16:37,090 Katika hatua hii, mimi, ni kama moja ya maneno hayo kwamba wakati mimi kuona nje katika 1532 01:16:37,090 --> 01:16:41,190 pori, siwezi kusaidia lakini mara swali kama wao ni kutumia katika 1533 01:16:41,190 --> 01:16:44,120 mazingira sahihi, kwa sababu tofauti ni hila kutosha kwamba tu 1534 01:16:44,120 --> 01:16:45,500 kila mtu huelekea - 1535 01:16:45,500 --> 01:16:48,530 Mimi karibu daima kusema hoja bila kujali nini maana. 1536 01:16:48,530 --> 01:16:51,230 1537 01:16:51,230 --> 01:16:54,630 >> JOSEPH: Na kazi pia ni muhimu kwa nini sisi kuwaita madhara. 1538 01:16:54,630 --> 01:16:59,230 Hivyo kazi inaweza kuchukua hakuna pembejeo, na inaweza pia kuzalisha hakuna matokeo. 1539 01:16:59,230 --> 01:17:03,280 Hivyo katika kesi fulani, mimi ni kufafanua subroutine kwamba hana 1540 01:17:03,280 --> 01:17:03,970 kurudi thamani. 1541 01:17:03,970 --> 01:17:07,730 Na ili bayana kwamba, sisi kutumia kile tunachokiita utupu zaidi ya hapa. 1542 01:17:07,730 --> 01:17:10,890 Na hivyo upande wa athari za kazi hii ni kwamba tu Prints mambo 1543 01:17:10,890 --> 01:17:11,920 nje kwa ukurasa. 1544 01:17:11,920 --> 01:17:13,840 Haina kweli kuchukua yoyote pembejeo, na haina 1545 01:17:13,840 --> 01:17:15,360 kweli kuzalisha matokeo yoyote. 1546 01:17:15,360 --> 01:17:18,230 >> Lakini hali hii inaweza kuwa na manufaa kwa maana kama unataka, kwa mfano, utatuzi 1547 01:17:18,230 --> 01:17:21,530 kitu katika mpango wako, kama unataka kuandika subroutine kidogo kwamba 1548 01:17:21,530 --> 01:17:25,160 Prints nje, hebu sema, yaliyomo ya kumbukumbu au kitu. 1549 01:17:25,160 --> 01:17:29,800 Na hivyo madhara haya ni wakati mwingine muhimu nje ya mazingira ya 1550 01:17:29,800 --> 01:17:33,010 ya tu kama pembejeo na mazao. 1551 01:17:33,010 --> 01:17:34,260 Maswali yoyote? 1552 01:17:34,260 --> 01:17:37,270 1553 01:17:37,270 --> 01:17:44,240 >> Na kukomesha sehemu fulani, gani mpango huu nini? 1554 01:17:44,240 --> 01:17:47,420 Mimi nitakupa guys michache ya sekunde ya kusoma kwa njia hiyo. 1555 01:17:47,420 --> 01:17:52,720 1556 01:17:52,720 --> 01:17:56,880 Katika ngazi ya msingi sana, nini tunataka kusema ni kwamba swaps x na y, sawa? 1557 01:17:56,880 --> 01:18:00,090 >> Hivyo ni jinsi wengi wenu kwa kweli nadhani hii kubadilishana x na y? 1558 01:18:00,090 --> 01:18:02,160 Kuongeza mkono wako. 1559 01:18:02,160 --> 01:18:02,760 Hakuna mtu yeyote. 1560 01:18:02,760 --> 01:18:03,070 OK. 1561 01:18:03,070 --> 01:18:06,720 Ambaye anadhani kwamba itakuwa si kubadilishana x na y? 1562 01:18:06,720 --> 01:18:09,120 Na jumla ya kwamba alikuwa si chumba chote. 1563 01:18:09,120 --> 01:18:10,440 Kwa hiyo baadhi ya watu ni uhakika. 1564 01:18:10,440 --> 01:18:10,920 OK. 1565 01:18:10,920 --> 01:18:11,630 Hiyo ni nafuu. 1566 01:18:11,630 --> 01:18:16,450 >> Basi hebu kwenda kwa njia ya kile kinachotokea wakati kweli kuwaita kazi kwanza katika 1567 01:18:16,450 --> 01:18:18,320 Ili kujibu swali hili. 1568 01:18:18,320 --> 01:18:21,430 Hivyo hii ni nini kumbukumbu aina ya inaonekana kama. 1569 01:18:21,430 --> 01:18:23,860 Hii ni aina ya kama mfano wa kuigwa rahisi ya kile kumbukumbu inaonekana kama wakati 1570 01:18:23,860 --> 01:18:24,800 wewe kuendesha programu. 1571 01:18:24,800 --> 01:18:27,270 Hivyo kuna kitu kinachoitwa stack hapa chini na 1572 01:18:27,270 --> 01:18:28,330 kitu kinachoitwa chungu. 1573 01:18:28,330 --> 01:18:30,950 Na hizi kukua kwa katikati ya kumbukumbu. 1574 01:18:30,950 --> 01:18:33,860 >> Hivyo katika kesi fulani, wakati wewe piga kazi, ni 1575 01:18:33,860 --> 01:18:35,680 anapata kuweka kwenye stack. 1576 01:18:35,680 --> 01:18:38,900 Na kisha chochote zilizomo katika kazi anakaa katika kile sisi wito kwamba 1577 01:18:38,900 --> 01:18:40,550 kazi ya stack frame. 1578 01:18:40,550 --> 01:18:44,500 Na hivyo kupata nzuri taswira ya hii, let's - kwa mfano, tulikuwa na 1579 01:18:44,500 --> 01:18:45,960 mpango kuu mapema. 1580 01:18:45,960 --> 01:18:47,820 Na ndani ya kuu, sisi kuitwa mraba. 1581 01:18:47,820 --> 01:18:50,650 Hivyo kuu bila kwanza kwenda kwenye stack sura, kwa sababu ni kazi ya kwanza 1582 01:18:50,650 --> 01:18:51,640 hiyo kuitwa. 1583 01:18:51,640 --> 01:18:55,740 >> Na kisha wakati kipande inaitwa ndani ya kuu, anapata kuweka juu ya kuu 1584 01:18:55,740 --> 01:18:57,790 ndani ya kumbukumbu. 1585 01:18:57,790 --> 01:19:02,090 Basi nini wewe utakuwa taarifa hapa ni kwamba mchemraba ina vigezo yake mwenyewe na yake 1586 01:19:02,090 --> 01:19:02,950 mwenyewe na wananchi. 1587 01:19:02,950 --> 01:19:06,720 Hivyo wakati wewe kweli kupita kitu kazi, vigezo kwamba 1588 01:19:06,720 --> 01:19:09,910 anapata ni nakala ya nini kupita katika kutoka kuu. 1589 01:19:09,910 --> 01:19:14,140 >> Na kwa aina ya kueleza hii, hebu kutembea kwa njia ya mpango huo. 1590 01:19:14,140 --> 01:19:16,960 Hivyo tuna stack, hii ni tu stack sehemu. 1591 01:19:16,960 --> 01:19:21,240 Na nini cha kufanya ni sisi kwanza initialize x na y kwa moja na mbili. 1592 01:19:21,240 --> 01:19:22,400 Hivyo tuna haya masanduku kidogo. 1593 01:19:22,400 --> 01:19:25,310 Wao wamekaa katika stack kuu ya sura juu ya stack. 1594 01:19:25,310 --> 01:19:26,580 Wao vyenye moja na mbili. 1595 01:19:26,580 --> 01:19:28,820 >> Sasa sisi kuwaita wabadilishane. 1596 01:19:28,820 --> 01:19:33,940 Nini kinatokea ni sisi kupita x na y ndani ya wabadilishane, na kubadilishana inajenga nakala yake mwenyewe 1597 01:19:33,940 --> 01:19:36,520 ya vigezo wale kutumia ndani ya ya sura yake stack. 1598 01:19:36,520 --> 01:19:39,920 Hivyo sasa zaidi ya hapo, tuna, ambayo ina thamani kwamba x nayo; na b, 1599 01:19:39,920 --> 01:19:41,620 ambayo ina thamani kwamba y alikuwa. 1600 01:19:41,620 --> 01:19:42,670 Hivyo moja, mbili. 1601 01:19:42,670 --> 01:19:47,130 >> Na wewe utakuwa taarifa kwamba hii ni tofauti kutoka x na y ndani ya kuu. 1602 01:19:47,130 --> 01:19:51,390 Hivyo sisi sasa kujenga muda kutofautiana kwa vyenye. 1603 01:19:51,390 --> 01:19:56,100 Sisi kuweka sawa b, hivyo mabadiliko kutoka mmoja hadi miwili. 1604 01:19:56,100 --> 01:19:59,340 Na kisha sisi kuweka b sawa kwa temp, ambayo ni moja. 1605 01:19:59,340 --> 01:20:01,640 >> Na kisha sasa sisi exit nje wa kazi hii. 1606 01:20:01,640 --> 01:20:04,310 1607 01:20:04,310 --> 01:20:07,410 Wakati exit nje ya kazi, stack frame anapata popped mbali stack. 1608 01:20:07,410 --> 01:20:08,270 Tunasema kushinikiza. 1609 01:20:08,270 --> 01:20:12,750 Kushinikiza frame stack kwenye stack na pop kama off stack. 1610 01:20:12,750 --> 01:20:16,080 Na hivyo kile kinachotokea ni kwamba kila kitu ilikuwa katika stack frame aina ya tu 1611 01:20:16,080 --> 01:20:17,280 huenda juu katika moto. 1612 01:20:17,280 --> 01:20:19,180 Na ili haipo tena. 1613 01:20:19,180 --> 01:20:20,470 >> Lakini je, sisi taarifa? 1614 01:20:20,470 --> 01:20:23,690 Sisi kamwe kweli iliyopita maadili ya x na y, sawa? 1615 01:20:23,690 --> 01:20:26,530 Hivyo wale walikaa ndani kuu. 1616 01:20:26,530 --> 01:20:29,900 Na kwa kupita mambo katika wabadilishane, sisi kweli kamwe iliyopita maadili hayo. 1617 01:20:29,900 --> 01:20:31,260 Na nini sisi wito huu? 1618 01:20:31,260 --> 01:20:33,040 Tunatoa wito kupita hii kwa thamani. 1619 01:20:33,040 --> 01:20:36,860 >> Hivyo katika C, wakati kupita mambo katika kazi, hupita yao kwa thamani na 1620 01:20:36,860 --> 01:20:40,160 hufanya nakala yao kwa ajili ya kazi kwa kutumia. 1621 01:20:40,160 --> 01:20:43,980 Na tutaweza kujifunza kuhusu kitu kinachoitwa akipita ya kumbukumbu baadaye, lakini hiyo ni 1622 01:20:43,980 --> 01:20:45,390 Kwa njia hiyo unaweza kutatua tatizo hili. 1623 01:20:45,390 --> 01:20:47,080 Lakini sisi si na wasiwasi juu ya kwamba mpaka baadaye. 1624 01:20:47,080 --> 01:20:52,200 >> Rob: Na kwa kweli, kwamba mrefu, kupita kwa kumbukumbu, hivyo C haina hata 1625 01:20:52,200 --> 01:20:54,270 akipita inayozungumzia. 1626 01:20:54,270 --> 01:20:56,760 C peke ina akipita thamani. 1627 01:20:56,760 --> 01:20:59,630 Hakuna jambo gani wewe, wewe ni daima kupita nakala ya kitu fulani. 1628 01:20:59,630 --> 01:21:03,395 Ni kwamba tu, kama mimi aina ya zilizotajwa kwamba kabla ya kuyatumia kwa 1629 01:21:03,395 --> 01:21:07,690 na kwamba string ni kweli tu nne ka akizungumzia mahala fulani katika kumbukumbu. 1630 01:21:07,690 --> 01:21:11,890 >> Naam, kama mimi na kamba hii na ni akiniambia kwamba ni ambapo kamba - 1631 01:21:11,890 --> 01:21:15,470 vizuri, kama mimi na pointer hii hii mahali katika kumbukumbu, kisha siwezi kupita 1632 01:21:15,470 --> 01:21:19,160 nakala ya pointer kwa kazi, na kazi ambayo bado anajua ambapo katika 1633 01:21:19,160 --> 01:21:19,780 kumbukumbu ni. 1634 01:21:19,780 --> 01:21:22,950 Hivyo wote ya kuyatumia haya ni akizungumzia sehemu moja katika kumbukumbu, na 1635 01:21:22,950 --> 01:21:26,460 kwamba ni jinsi gani tunakwenda kuwa na uwezo kurekebisha mambo zaidi ya 1636 01:21:26,460 --> 01:21:29,852 sasa stack frame. 1637 01:21:29,852 --> 01:21:31,040 >> JOSEPH: Je, unataka kufanya kuandaa? 1638 01:21:31,040 --> 01:21:31,820 >> Rob: Hapana, ni 5:30. 1639 01:21:31,820 --> 01:21:32,910 >> JOSEPH: OK. 1640 01:21:32,910 --> 01:21:35,040 Ni 5:30. 1641 01:21:35,040 --> 01:21:35,360 OK. 1642 01:21:35,360 --> 01:21:39,280 Hivyo sisi itafikia kuandaa mimi nadhani katika sehemu ya pili, au sehemu yako 1643 01:21:39,280 --> 01:21:42,795 kiongozi katika hatua hiyo. 1644 01:21:42,795 --> 01:21:43,272 Na - 1645 01:21:43,272 --> 01:21:44,630 >> Rob: maswali yoyote? 1646 01:21:44,630 --> 01:21:46,760 >> JOSEPH: maswali yoyote? 1647 01:21:46,760 --> 01:21:47,150 Ndiyo? 1648 01:21:47,150 --> 01:21:52,469 >> SPIKA 5: Matumizi ya masharti kutoka CS50, yoyote kazi ambayo tunataka kutumia kwa 1649 01:21:52,469 --> 01:21:53,880 hizo, utakuwa kama kazi C. 1650 01:21:53,880 --> 01:21:59,050 CS50 hana wamekwenda katika na alifanya yoyote ya ziada. 1651 01:21:59,050 --> 01:22:01,850 >> Rob: Sahihi. 1652 01:22:01,850 --> 01:22:08,155 Yoyote ya C kama [inaudible], wewe atatumia wale juu ya masharti yetu. 1653 01:22:08,155 --> 01:22:12,400 >> JOSEPH: Na jambo moja la mwisho nataka kutaja ni kwamba tuna style mwongozo 1654 01:22:12,400 --> 01:22:13,130 kwa darasa hili. 1655 01:22:13,130 --> 01:22:13,360 >> Rob: Oh, yeah. 1656 01:22:13,360 --> 01:22:15,270 >> JOSEPH: Hivyo kama umefanya kuja kutoka programu background kabla, 1657 01:22:15,270 --> 01:22:17,750 kuwa na mikataba fulani wakati wewe ni kuandika code kama kuweka 1658 01:22:17,750 --> 01:22:20,950 braces juu ya mstari huo au fulani njia ya indenting 1659 01:22:20,950 --> 01:22:22,240 au kutaja vigezo yako. 1660 01:22:22,240 --> 01:22:26,870 Katika darasa hili, tunataka kufuata style mwongozo maalum kwa sababu tu, 1661 01:22:26,870 --> 01:22:31,100 vizuri, kama kwenda nje na kufanya kazi katika viwanda, wewe kwenda kutarajiwa 1662 01:22:31,100 --> 01:22:34,780 kwa kufuata mtindo kiongozi wa kampuni ya saa ambayo kwenda. 1663 01:22:34,780 --> 01:22:38,040 >> Kama kwa mfano, Facebook nadhani ina aina fulani ya kutaja 1664 01:22:38,040 --> 01:22:38,760 mkataba. 1665 01:22:38,760 --> 01:22:42,570 Na kuna tofauti kati ya ngamia casing vigezo na tu kama 1666 01:22:42,570 --> 01:22:44,610 kujitenga kwao na underscores. 1667 01:22:44,610 --> 01:22:52,170 Na pia, nadhani suala muhimu zaidi, kama kwa mfano, indentation, sawa? 1668 01:22:52,170 --> 01:22:56,440 >> Sisi braces curly kuanza ambapo hali ni, na wao 1669 01:22:56,440 --> 01:22:57,730 ni juu ya mstari wa pili. 1670 01:22:57,730 --> 01:23:01,230 Na sisi pia kuweka braces curly katika hata kama ni line moja tu. 1671 01:23:01,230 --> 01:23:06,100 Na mara nyingi, kuna njia ya kufanya ni wapi unaweza kuondoka braces haya 1672 01:23:06,100 --> 01:23:08,380 mbali kama ni line moja tu chini ya kauli Kama. 1673 01:23:08,380 --> 01:23:12,070 Lakini katika darasa hili, tunataka kufuata style mwongozo maalum tu ili kupata 1674 01:23:12,070 --> 01:23:13,550 kutumika kwa kuwa aina ya kitu. 1675 01:23:13,550 --> 01:23:16,410 >> Rob: Yeah, na Sinema 50 ni kwenda kutekeleza mwongozo mtindo huu, na sisi ni 1676 01:23:16,410 --> 01:23:18,080 kwenda kutumia Sinema 50 kwa daraja code yako. 1677 01:23:18,080 --> 01:23:25,150 Hivyo hufanya mambo rahisi kwa sisi na hopefully haipaswi kufanya mambo ambayo 1678 01:23:25,150 --> 01:23:30,120 mbaya zaidi kwa ajili yenu kutokana na style sanifu haipaswi kuwa 1679 01:23:30,120 --> 01:23:31,460 unrealistic. 1680 01:23:31,460 --> 01:23:36,000 >> JOSEPH: Na hatimaye, ili kupata style mwongozo, kwenda manual.cs50.net/style. 1681 01:23:36,000 --> 01:23:37,725 Na yeah. 1682 01:23:37,725 --> 01:23:40,575 >> SPIKA 4: Je, wewe kwenda kutekeleza wahusika yoyote kwa line? 1683 01:23:40,575 --> 01:23:42,480 >> Rob: Ndiyo. 1684 01:23:42,480 --> 01:23:45,405 >> JOSEPH: Sorry, guys. 1685 01:23:45,405 --> 01:23:47,680 >> Rob: Hiyo ni kama mmoja wa wale tu. 1686 01:23:47,680 --> 01:23:50,420 Katika hatua hii, mimi sawa na 120. 1687 01:23:50,420 --> 01:23:52,460 Mimi nina OK na kusema 120 wahusika kwa kila mstari. 1688 01:23:52,460 --> 01:23:53,830 Naelewa kuna kuwa baadhi ya kikomo. 1689 01:23:53,830 --> 01:23:57,130 Nadhani 80 ni ndogo sana, lakini sisi ni kutekeleza hilo. 1690 01:23:57,130 --> 01:24:00,260 >> JOSEPH: Binafsi, nadhani kwa C, wahusika 80 ni zaidi OK. 1691 01:24:00,260 --> 01:24:04,160 Mara baada ya kuanza kupata nyingine lugha kama JavaScript na PHP, si 1692 01:24:04,160 --> 01:24:08,860 hivyo busara na kikomo tu kwa wahusika 80. 1693 01:24:08,860 --> 01:24:09,260 OK. 1694 01:24:09,260 --> 01:24:12,780 Naam, hilo ndilo sehemu super. 1695 01:24:12,780 --> 01:24:14,750 Je, mtu yeyote wanataka pipi? 1696 01:24:14,750 --> 01:24:16,000 >> SPIKA 4: Ndiyo. 1697 01:24:16,000 --> 01:24:18,667