1 00:00:08,119 --> 00:00:11,630 [Powered by Google Translate] DAVID J. Malan: Allt í lagi, þetta er CS50, og þetta er 2 00:00:11,630 --> 00:00:14,790 byrjun viku tvö. 3 00:00:14,790 --> 00:00:16,300 Þakka þér. 4 00:00:16,300 --> 00:00:19,000 Leyfðu okkur að byrja hér með að hringja. 5 00:00:19,000 --> 00:00:30,005 Ég er að fara að hringja í 617-galla-CS50. 6 00:00:30,005 --> 00:00:31,230 CS50: Þetta er CS50. 7 00:00:31,230 --> 00:00:33,930 Fyrir Boy Shuttle, ýtir á 1. 8 00:00:33,930 --> 00:00:36,660 Til að byrja á, Ýttu á 9. 9 00:00:36,660 --> 00:00:38,180 DAVID J. Malan: Svo sagði hann að Boy Shuttle, ýta á 1. 10 00:00:38,180 --> 00:00:41,560 Þannig að við erum að fara að ýta á 1. 11 00:00:41,560 --> 00:00:43,230 CS50: Hver er uppruni þinn? 12 00:00:43,230 --> 00:00:45,340 Fyrir quad, ýta á 1. 13 00:00:45,340 --> 00:00:47,080 Mather, ýta á 2. 14 00:00:47,080 --> 00:00:49,240 Boylston Ýttu á 3. 15 00:00:49,240 --> 00:00:51,280 Lamont, stutt 4. 16 00:00:51,280 --> 00:00:53,210 Mem Hall, Ýttu á 5. 17 00:00:53,210 --> 00:00:55,660 Til að byrja á, á 0. 18 00:00:55,660 --> 00:00:59,590 DAVID J. Malan: Við munum ýta á 1 fyrir quad. 19 00:00:59,590 --> 00:01:03,610 CS50: Næsta skutla skilur þetta mjög á mínútu 1:10 og 20 00:01:03,610 --> 00:01:09,820 þá á 1:20 PM, 01:30, 01:40. 21 00:01:09,820 --> 00:01:12,030 Þetta er CS50. 22 00:01:12,030 --> 00:01:15,570 >> DAVID J. Malan: Þannig að þetta er rödd CS50 er. 23 00:01:15,570 --> 00:01:18,030 Og það er dæmi um tegund af lokaverkefni til 24 00:01:18,030 --> 00:01:19,500 dæmis er hægt að bíta burt til 25 00:01:19,500 --> 00:01:20,600 í lok annar. 26 00:01:20,600 --> 00:01:23,840 Til dæmis, að shuttleboy.cs50.net til - 27 00:01:23,840 --> 00:01:28,200 reyndar verkefni sem ég skrifaði fyrst eftir að CS51 28 00:01:28,200 --> 00:01:29,740 til baka þegar ég var grunn. 29 00:01:29,740 --> 00:01:32,250 Og innblástur hér var þá, allt sem þeir höfðu var 30 00:01:32,250 --> 00:01:34,320 prentað skutla strætó báta, og það var ekki 31 00:01:34,320 --> 00:01:35,970 hugmynd að leita það upp á netinu. 32 00:01:35,970 --> 00:01:38,730 Og svo ég tegund af dúfu á einni helgi, hellt í gegnum 33 00:01:38,730 --> 00:01:41,460 prentuð áætlun, og flutt það til tölvuforriti. 34 00:01:41,460 --> 00:01:43,790 Á þeim tíma er tölvuforrit varð að skrifa 35 00:01:43,790 --> 00:01:47,110 í C. Og þú hleypur í raun það með því að slá Shuttle Boy á a 36 00:01:47,110 --> 00:01:48,600 blikkandi hvetja eins og við höfum verið að gera hingað til. 37 00:01:48,600 --> 00:01:50,450 En í gegnum árin, er það þróast í augnablik 38 00:01:50,450 --> 00:01:51,390 skilaboð láni. 39 00:01:51,390 --> 00:01:53,970 Það þróast nýlega í þessum vef, inn í 40 00:01:53,970 --> 00:01:57,720 SMS-undirstaða tól, sem og í þessari rödd sem byggir á tól. 41 00:01:57,720 --> 00:02:00,170 Og þetta er að vísbending á konar hlutum sem þú getur 42 00:02:00,170 --> 00:02:02,380 gert fyrir þig í lok hverrar annar. 43 00:02:02,380 --> 00:02:05,490 >> Til dæmis þarna, SMS útgáfa af Boy Shuttle gerist 44 00:02:05,490 --> 00:02:06,510 að starfa sem hér segir. 45 00:02:06,510 --> 00:02:10,880 Ef, á farsímanum þínum, senda þér textaskilaboð til 41411 og 46 00:02:10,880 --> 00:02:14,300 þá senda sérstaka tákn sboy fyrir Boy ferðir 47 00:02:14,300 --> 00:02:18,350 eftir A og B, þar sem A er uppruna og B er 48 00:02:18,350 --> 00:02:19,070 áfangastað - 49 00:02:19,070 --> 00:02:21,030 til dæmis, Boylston Space Quad - 50 00:02:21,030 --> 00:02:23,330 hvað þú ættir að fá til baka innan nokkurra sekúndna er texti 51 00:02:23,330 --> 00:02:25,820 skilaboð frá Boy Shuttle segja þér nákvæmlega þegar 52 00:02:25,820 --> 00:02:28,990 Næstu shuttles eru frá þeim punkti A fara að 53 00:02:28,990 --> 00:02:29,640 lið B. 54 00:02:29,640 --> 00:02:32,510 Og þetta er meira almenn dæmi um það sem er þekkt sem 55 00:02:32,510 --> 00:02:33,920 nota API. 56 00:02:33,920 --> 00:02:36,930 >> Svo til dæmis, þetta hér er bara shuttleboy.cs50.net að 57 00:02:36,930 --> 00:02:39,300 raunverulegur vefur byggir holdgun af þessu. 58 00:02:39,300 --> 00:02:42,480 En gögn sem undirstrikar þetta og önnur forrit sem CS50 59 00:02:42,480 --> 00:02:45,560 hefur þróað eru allir verða fyrir alla hér í formi 60 00:02:45,560 --> 00:02:49,340 API, umsókn forritun tengi. 61 00:02:49,340 --> 00:02:52,220 Og það er bara fínt leið til að segja að fólk eins og við á 62 00:02:52,220 --> 00:02:56,010 Netið og aðrir hafa eytt nokkrum tíma að búa 63 00:02:56,010 --> 00:02:59,970 hugbúnaður sem þú getur notað til að grípa gögn frá okkur og 64 00:02:59,970 --> 00:03:02,510 þá byggja eigin umsókn þína á toppur 65 00:03:02,510 --> 00:03:03,840 þess gögnum. 66 00:03:03,840 --> 00:03:06,610 Svo til dæmis, þessi drengur Shuttle API síðu hér, sem 67 00:03:06,610 --> 00:03:09,390 verður að vera í CS50 handbók í raun skjöl 68 00:03:09,390 --> 00:03:13,080 hvernig þú getur farið um að biðja CS50 netþjóna fyrir gögn. 69 00:03:13,080 --> 00:03:16,240 Fyrir dæmi, ef þú ert kunnuglegur með CSV skrár, kommu 70 00:03:16,240 --> 00:03:18,940 aðskilin gildi, þetta eru bara svona fljótur og óhreinum 71 00:03:18,940 --> 00:03:20,310 Excel-eins skrá. 72 00:03:20,310 --> 00:03:23,110 Svo er hægt að spyrja Shuttle Boy fyrir öll gögn á öllum 73 00:03:23,110 --> 00:03:25,090 hús og GPS hnit þeirra, og þú munt fá 74 00:03:25,090 --> 00:03:27,300 aftur, í raun, töflureiknir svona sem 75 00:03:27,300 --> 00:03:30,820 þú getur þá lesa inn í kerfið á eigin spýtur og þá 76 00:03:30,820 --> 00:03:33,250 skila árangri, eins og Boy Shuttle sig 77 00:03:33,250 --> 00:03:34,160 gerist að vera að gera. 78 00:03:34,160 --> 00:03:37,030 Fyrir þá fleiri kunnugleg, fleiri nútíma gögn framsetning 79 00:03:37,030 --> 00:03:39,420 fela JSON, JavaScript Object Ritháttur. 80 00:03:39,420 --> 00:03:40,620 Eitthvað mun koma aftur til þín til 81 00:03:40,620 --> 00:03:41,720 í lok annar. 82 00:03:41,720 --> 00:03:45,440 >> En aftur, þetta er bara einn af nokkrum eigin API CS50 er. 83 00:03:45,440 --> 00:03:48,320 Og spennandi hlutur er nú, þessa dagana, Facebook og 84 00:03:48,320 --> 00:03:51,110 Twitter og Google og nánast hvert vinsæll website út 85 00:03:51,110 --> 00:03:54,130 Það er einhvers konar API, sem þýðir að ef þú lest 86 00:03:54,130 --> 00:03:56,620 gögn á heimasíðu þeirra, skrá þig upp fyrir 87 00:03:56,620 --> 00:03:59,980 reikning, getur þú þá byrja að skrifa hugbúnað ofan á 88 00:03:59,980 --> 00:04:03,680 hvað tæki eða gögn sem fyrirtæki það veitir. 89 00:04:03,680 --> 00:04:06,210 Og svo einn af eigin kennslu okkar félögum nokkur ár aftur 90 00:04:06,210 --> 00:04:07,620 skrifaði Mac útgáfa af þessu. 91 00:04:07,620 --> 00:04:10,990 Svo á tengilinn sem heitir Mac hér efst til vinstri, getur þú í raun 92 00:04:10,990 --> 00:04:13,940 sækja Mac OS búnaður sem keyrir á eigin Mac til að gera slíkt hið 93 00:04:13,940 --> 00:04:15,040 sams konar hlutum. 94 00:04:15,040 --> 00:04:17,970 Svo það er allt um að byggja ofan á gagnagrunna eins og þessir. 95 00:04:17,970 --> 00:04:21,839 En meira um það undir lok misseris. 96 00:04:21,839 --> 00:04:25,780 >> Svo við skulum kafa í alvöru fljótur að galla, bara til að svona fá 97 00:04:25,780 --> 00:04:27,990 það hlýja upp í dag, held og aftur á nokkrum af 98 00:04:27,990 --> 00:04:29,660 Það sem við skoðuðum í síðustu viku. 99 00:04:29,660 --> 00:04:32,840 Einkum láta mig fara á undan og draga upp, segja, 100 00:04:32,840 --> 00:04:34,080 þetta dæmi hérna. 101 00:04:34,080 --> 00:04:37,500 Buggy1.c, þetta er að finna á heimasíðu Auðvitað, ef þú vilt að 102 00:04:37,500 --> 00:04:40,250 eins og til að sækja hann og pota í kringum þig. 103 00:04:40,250 --> 00:04:43,520 En við skulum súmma inn hér á þessu tiltölulega stutt, og bara 104 00:04:43,520 --> 00:04:46,550 a frábær-fljótur ágrip af sumir af the undirstöðu kubbar sem 105 00:04:46,550 --> 00:04:48,880 við raunverulega erum að fara bara að byrja að taka sem sjálfsögðum hlut. 106 00:04:48,880 --> 00:04:51,860 >> Svo bláa efni, í línum 1 til 9 eru bara 107 00:04:51,860 --> 00:04:53,670 Mjúkbolti spurningar. 108 00:04:53,670 --> 00:04:54,590 Svo eru þetta bara athugasemdir. 109 00:04:54,590 --> 00:04:56,230 Þeir hafa enga hagnýtur merkingu. 110 00:04:56,230 --> 00:04:58,460 En þeir eru athugasemdir í þeim skilningi að þeir eru bendir á að 111 00:04:58,460 --> 00:05:02,010 Ég, mannlegur, gerði við sjálfa mig þannig að í fyrirlestri og eftir 112 00:05:02,010 --> 00:05:04,340 fyrirlestur, get ég í raun man hvað þetta forrit 113 00:05:04,340 --> 00:05:07,120 er án þess að þurfa að lesa í gegnum það línu fyrir línu og 114 00:05:07,120 --> 00:05:08,990 endurskapa sögu í huga mínum. 115 00:05:08,990 --> 00:05:11,000 Þar að auki, ef ég væri þetta forrit til að einhver annar eins og 116 00:05:11,000 --> 00:05:14,420 þú, það er miklu skýrari til þín, vegna athugasemda eins og þetta, 117 00:05:14,420 --> 00:05:16,680 hvað forrit er í raun að gera, eða að minnsta kosti hvað 118 00:05:16,680 --> 00:05:18,210 program er ætlað að vera að gera. 119 00:05:18,210 --> 00:05:20,760 Hvort það er rétt er annað mál að öllu leyti. 120 00:05:20,760 --> 00:05:25,040 Nú, í C, með multi-lína athugasemdir, muna að á línu 121 00:05:25,040 --> 00:05:27,880 einn hér er galdur tákn, / *. 122 00:05:27,880 --> 00:05:30,380 Það þýðir að hér kemur upphaf athugasemd. 123 00:05:30,380 --> 00:05:34,560 Og ekkert annað skiptir máli þar til þú komast á Ljúka, 124 00:05:34,560 --> 00:05:36,700 sem er * /, hið gagnstæða. 125 00:05:36,700 --> 00:05:39,120 Svo sú staðreynd að ég hef 80-sumir stakur stjörnur hér frá 126 00:05:39,120 --> 00:05:41,550 vinstri til hægri er í raun bara fagurfræði smáatriði. 127 00:05:41,550 --> 00:05:43,370 Það hefur enga virkni merkingu. 128 00:05:43,370 --> 00:05:44,490 >> Nú hvernig óður í línu 11? 129 00:05:44,490 --> 00:05:46,940 Hvað hefur þetta að gera í skilmálum leikmaður er? 130 00:05:51,560 --> 00:05:52,540 Hvað er það? 131 00:05:52,540 --> 00:05:54,280 Áhorfendur: Includes staðall. 132 00:05:54,280 --> 00:05:54,740 DAVID J. Malan: OK, gott. 133 00:05:54,740 --> 00:05:57,500 Svo nær það stdio.h bókasafn. 134 00:05:57,500 --> 00:05:58,230 Svo hvað þýðir það? 135 00:05:58,230 --> 00:06:01,570 Jæja, inn að skrá, stdio.h, eru allt fullt af 136 00:06:01,570 --> 00:06:03,320 virka yfirlýsingar - 137 00:06:03,320 --> 00:06:05,290 það er númer sem einhver annar skrifaði. 138 00:06:05,290 --> 00:06:08,160 Og fullkomið dæmi um fall sem er lýst í 139 00:06:08,160 --> 00:06:10,250 stdio.h er - 140 00:06:10,250 --> 00:06:11,980 sem uppáhalds með núna? 141 00:06:11,980 --> 00:06:14,300 Svo printf, einn af algengustu sjálfur að nota, örugglega 142 00:06:14,300 --> 00:06:15,840 snemma á, frá því bókasafni er. 143 00:06:15,840 --> 00:06:19,290 Ef ég útiloka þessi lína af kóða, Clang er að fara að æpa 144 00:06:19,290 --> 00:06:22,550 á mig eitthvað um að nota undeclared tákn. 145 00:06:22,550 --> 00:06:24,930 Eitthvað óskilgreinda er líklega leitarorð, vegna þess að 146 00:06:24,930 --> 00:06:27,770 höfum ekki tilkynnt þýðanda hvað printf útlit 147 00:06:27,770 --> 00:06:29,230 eins nema við eru þessi lína. 148 00:06:29,230 --> 00:06:31,830 Og meira niður til jarðar, í raun, hvað þessi lína er að segja er 149 00:06:31,830 --> 00:06:34,890 opna að skrá, stdio.h, hvar sem það er á miðlara 150 00:06:34,890 --> 00:06:38,200 harður ökuferð eða harður ökuferð tækið, og afrita líma það 151 00:06:38,200 --> 00:06:40,240 rétt þar í minn skrá, án þess að minn 152 00:06:40,240 --> 00:06:41,730 að þurfa að gera það handvirkt. 153 00:06:41,730 --> 00:06:44,420 >> Nú, þegar við komumst niður á helstu, áður en langt við munum byrja 154 00:06:44,420 --> 00:06:46,900 vondir í sundur hvað int og það ógilt er. 155 00:06:46,900 --> 00:06:48,430 En nú skulum við líta á þremur línum 156 00:06:48,430 --> 00:06:50,350 innan 15 til 17. 157 00:06:50,350 --> 00:06:52,250 Þetta hér er ég eignað kerrunni. 158 00:06:52,250 --> 00:06:54,900 Line 7 í athugasemdum mínum segir "Ætti prenta 10 159 00:06:54,900 --> 00:06:59,410 Stars en ekki. "Af hverju er þetta prenta ekki, í raun, 160 00:06:59,410 --> 00:07:01,097 10 slíkar stjörnur? 161 00:07:01,097 --> 00:07:02,347 Áhorfendur: [inaudible]. 162 00:07:05,210 --> 00:07:05,800 DAVID J. Malan: Einmitt. 163 00:07:05,800 --> 00:07:08,720 Svo eftir að við erum farin að telja frá 0. 164 00:07:08,720 --> 00:07:10,780 Og þetta er í raun samningur á forritun og 165 00:07:10,780 --> 00:07:13,230 Tölvunarfræði meira almennt, að byrja að telja 166 00:07:13,230 --> 00:07:14,610 frá 0 í stað 1. 167 00:07:14,610 --> 00:07:16,690 Og þetta virkilega fær bara frá því að fyrir 168 00:07:16,690 --> 00:07:18,940 td, þegar við höfðum átta manns upp á sviðinu, þegar 169 00:07:18,940 --> 00:07:20,680 enginn var að hækka hönd þeirra, voru þeir 170 00:07:20,680 --> 00:07:22,340 allar áhrifaríkan núll. 171 00:07:22,340 --> 00:07:24,260 Og svo er það bara svona tölvu samninginn þannig, 172 00:07:24,260 --> 00:07:26,030 því að byrja að telja frá 0. 173 00:07:26,030 --> 00:07:29,130 Ef það er lægsta númerið sem þú getur táknað í tvöfaldur. 174 00:07:29,130 --> 00:07:32,270 >> Svo hér við farin Frumstilli i í 0. 175 00:07:32,270 --> 00:07:34,230 Við höfum sett i jöfn 0. 176 00:07:34,230 --> 00:07:37,780 En svo gerði ég þetta mistök hér, að segja að ég er minna en eða 177 00:07:37,780 --> 00:07:38,820 jafnt og 10. 178 00:07:38,820 --> 00:07:41,700 En ef þú heldur að með, ef ég byrja á 0 og þá er ég að fara 179 00:07:41,700 --> 00:07:46,410 allt að 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ég er reyndar að fara að 180 00:07:46,410 --> 00:07:49,980 prenta út 11 stjörnur á skjáinn, því ég hef farið upp 181 00:07:49,980 --> 00:07:52,410 að og jafnt og 10. 182 00:07:52,410 --> 00:07:55,090 Svo er auðvelt að festa hér hvað þá? 183 00:07:55,090 --> 00:07:56,070 Áhorfendur: [inaudible]. 184 00:07:56,070 --> 00:07:57,350 DAVID J. Malan: Bara breyta því í minna en. 185 00:07:57,350 --> 00:07:59,700 Ef þú vilt í raun, þú gætir gert það. 186 00:07:59,700 --> 00:08:01,370 En almennt, sem er hleypa brúnum við. 187 00:08:01,370 --> 00:08:04,020 Og svo byrja að telja frá 0 er bara eitthvað sem þú ættir 188 00:08:04,020 --> 00:08:05,510 venjulega venjast. 189 00:08:05,510 --> 00:08:07,810 Nú, hvað um þetta allt byggingarinnar í sjálfu sér? 190 00:08:07,810 --> 00:08:10,640 Þessi lína 15 demarks a for lykkju. 191 00:08:10,640 --> 00:08:12,510 Svo er til ekki virka. 192 00:08:12,510 --> 00:08:13,640 Það er bara yfirlýsing. 193 00:08:13,640 --> 00:08:16,180 Það er lykkja fyrirbæri, eins og við sáum í grunni. 194 00:08:16,180 --> 00:08:17,600 Og það er í þremur hlutum. 195 00:08:17,600 --> 00:08:19,740 Takið eftir að það er fyrsti hluti að 196 00:08:19,740 --> 00:08:21,350 vinstri á semíkommu. 197 00:08:21,350 --> 00:08:24,200 Það er miðja hluti á milli semikommum. 198 00:08:24,200 --> 00:08:26,250 Og þá er það hægri hluti til hægri 199 00:08:26,250 --> 00:08:27,640 annars semíkommu. 200 00:08:27,640 --> 00:08:31,822 Nú, fyrsta af þessum á sér hvað? 201 00:08:31,822 --> 00:08:33,679 Áhorfendur: [inaudible]. 202 00:08:33,679 --> 00:08:34,270 DAVID J. Malan: þangað aftur? 203 00:08:34,270 --> 00:08:34,816 Já? 204 00:08:34,816 --> 00:08:35,980 Áhorfendur: Frumstilling. 205 00:08:35,980 --> 00:08:36,850 >> DAVID J. Malan: Frumstilling. 206 00:08:36,850 --> 00:08:37,840 Svo hvað þýðir þetta? 207 00:08:37,840 --> 00:08:40,690 Við höfum lýst því yfir breytu sem heitir i. 208 00:08:40,690 --> 00:08:43,840 Það er int, vegna þess að ég hef tilgreint int i. 209 00:08:43,840 --> 00:08:46,470 Og ég er Frumstilli i að verðmæti 0. 210 00:08:46,470 --> 00:08:47,730 Svo er það þetta að segja í raun? 211 00:08:47,730 --> 00:08:50,680 Það er í raun að segja við tölvuna hey, gefa mér nóg 212 00:08:50,680 --> 00:08:53,660 minni, nóg RAM, til að passa að tala, og þá setja 213 00:08:53,660 --> 00:08:56,130 númer 0 í þeim klumpur af vinnsluminni. 214 00:08:56,130 --> 00:08:59,100 Og sem innskot, hversu stór er int venjulega, amk inni 215 00:08:59,100 --> 00:09:00,280 tækisins? 216 00:09:00,280 --> 00:09:01,000 Áhorfendur: 32 bita. 217 00:09:01,000 --> 00:09:01,670 DAVID J. Malan: 32 bits. 218 00:09:01,670 --> 00:09:04,890 Svo þýðir að gefa mér 32 bita, annars þekkt sem 4 bæti, 219 00:09:04,890 --> 00:09:07,250 og setja gildið 0 í honum sem er frekar auðvelt því 220 00:09:07,250 --> 00:09:09,110 það þýðir bara að setja alla bita 0. 221 00:09:09,110 --> 00:09:11,690 >> Svo nú, seinni hluti hér er ástand. 222 00:09:11,690 --> 00:09:14,590 Og ástand, eins og nafnið gefur til kynna, er það sem er merkt 223 00:09:14,590 --> 00:09:18,100 aftur og aftur og aftur hvort sem það er satt eða ósatt. 224 00:09:18,100 --> 00:09:21,410 Þannig að þetta er bara að segja að gera eftirfarandi línur af kóða - 225 00:09:21,410 --> 00:09:23,950 þ.e. línu 16, vegna þess að það er aðeins einn indented 226 00:09:23,950 --> 00:09:24,820 undir - 227 00:09:24,820 --> 00:09:26,980 svo lengi sem ég er minna en 10. 228 00:09:26,980 --> 00:09:30,520 Og eftir hverja ítrun með þessari lykkju, gera 229 00:09:30,520 --> 00:09:33,840 incrementation, sem í þessu tilfelli er ég + +. 230 00:09:33,840 --> 00:09:35,580 Nú, er það ekki að vera i + +. 231 00:09:35,580 --> 00:09:37,610 Það gæti verið i -. 232 00:09:37,610 --> 00:09:39,860 En ef ég gerði þetta, það er hegðun fara 233 00:09:39,860 --> 00:09:41,370 að vera þetta forrit? 234 00:09:41,370 --> 00:09:42,290 Áhorfendur: Það er að fara að vera óendanlegur lykkja. 235 00:09:42,290 --> 00:09:44,060 DAVID J. Malan: Það er að fara að vera einhvers konar óendanlega lykkju, 236 00:09:44,060 --> 00:09:47,720 nema við heppinn eftir neikvæðum 2 milljarða eða svo. 237 00:09:47,720 --> 00:09:51,320 Kannski það mun vefja í kring, bara með eðli tímabundið 238 00:09:51,320 --> 00:09:53,930 fjöldi bita sem við höfum úthlutað fyrir INT. 239 00:09:53,930 --> 00:09:56,270 En það er vissulega að fara að iterate mun meira en 10 og 240 00:09:56,270 --> 00:09:58,630 örugglega meira en 11 sinnum hér. 241 00:09:58,630 --> 00:10:02,240 >> Og nú, eins og innskot, grein fyrir því að ég + + og ég - 242 00:10:02,240 --> 00:10:04,420 eru í raun bara syntactic sykur. 243 00:10:04,420 --> 00:10:07,210 Það er bara skammstöfun fyrir það sem er lítið meira 244 00:10:07,210 --> 00:10:08,720 sérstaklega skrifað þannig: 245 00:10:08,720 --> 00:10:11,200 i = i + 1. 246 00:10:11,200 --> 00:10:13,460 Það er eins og i + +. 247 00:10:13,460 --> 00:10:15,860 Það bara lítur svona fallegri að segja i + +. 248 00:10:15,860 --> 00:10:17,490 Það er meira gagnorðar, læsilegri. 249 00:10:17,490 --> 00:10:19,030 Og svo að flestir gera það í staðinn. 250 00:10:19,030 --> 00:10:21,840 En þetta er eins og virkni í 251 00:10:21,840 --> 00:10:22,900 það sem við sáum rétt. 252 00:10:22,900 --> 00:10:27,770 Svo í stuttu máli, fljótur festa hér er bara að segja iterate i 253 00:10:27,770 --> 00:10:30,690 frá 0 og alla leið upp í minna en 10. 254 00:10:30,690 --> 00:10:32,700 Og þá munum við örugglega fá 10 stjörnur. 255 00:10:32,700 --> 00:10:33,430 >> Svo skulum reyna þetta. 256 00:10:33,430 --> 00:10:35,310 Leyfðu mér að opna flugstöðina neðst. 257 00:10:35,310 --> 00:10:37,420 Leyfðu mér að fara í möppu sem er inn 258 00:10:37,420 --> 00:10:40,030 Og ég ætla að þýða það handvirkt með Clang fyrir nú. 259 00:10:40,030 --> 00:10:44,880 Og ég ætla að taka saman það sem buggy1.c, Enter. 260 00:10:44,880 --> 00:10:50,280 Og nú buggy1, hvers vegna er engin slík skrá eða möppu 261 00:10:50,280 --> 00:10:52,026 kallast buggy1? 262 00:10:52,026 --> 00:10:53,850 Áhorfendur: [inaudible]. 263 00:10:53,850 --> 00:10:54,240 DAVID J. Malan: Já. 264 00:10:54,240 --> 00:10:55,420 Svo það er í raun heitir a.out. 265 00:10:55,420 --> 00:10:57,480 Svo muna ef þú keyrir bara Clang þar Clang er 266 00:10:57,480 --> 00:11:00,420 þýðandi, og þú tilgreinir ekki nafn sem þú vilt 267 00:11:00,420 --> 00:11:03,550 gefa program, það er að fara að sjálfgefið að a.out. 268 00:11:03,550 --> 00:11:05,030 Svo reyndar ef ég LS - 269 00:11:05,030 --> 00:11:05,510 úbbs. 270 00:11:05,510 --> 00:11:07,680 Og ég didn't - á svart-hvíta útgáfu sum 271 00:11:07,680 --> 00:11:08,840 þú frammi hefur verið lagað. 272 00:11:08,840 --> 00:11:10,670 En láta mig gera þetta. 273 00:11:10,670 --> 00:11:14,570 Þar höfum við a.out á vinstra megin. 274 00:11:14,570 --> 00:11:17,360 Þannig að við verðum að keyra a.out stað buggy1. 275 00:11:17,360 --> 00:11:19,140 >> Svo láta mig fara á undan og gera það. 276 00:11:19,140 --> 00:11:22,840 . / A.out, Enter. 277 00:11:22,840 --> 00:11:26,160 Og ég virðist ekki gera það? 278 00:11:26,160 --> 00:11:26,620 Áhorfendur: Vista. 279 00:11:26,620 --> 00:11:27,390 DAVID J. Malan: Vista skrá mína. 280 00:11:27,390 --> 00:11:31,520 Svo er auðvelt að leysa með því að hitting Control S, eða að fara að 281 00:11:31,520 --> 00:11:33,450 File, Vista, eins og í flestum forritum. 282 00:11:33,450 --> 00:11:36,360 Leyfðu mér að fara niður, hreinsa skjáinn keyra það aftur. 283 00:11:36,360 --> 00:11:37,960 Og það er enn a padda. 284 00:11:37,960 --> 00:11:41,618 Svo hvað er að gerast - 285 00:11:41,618 --> 00:11:42,980 Áhorfendur: Þú varst ekki saman. 286 00:11:42,980 --> 00:11:44,040 DAVID J. Malan: Ah, gott. 287 00:11:44,040 --> 00:11:45,010 Ég vissi ekki að þýða það. 288 00:11:45,010 --> 00:11:47,250 Eins og hálfviti, ég er að horfa á númer til að sjá hvað er rangt. 289 00:11:47,250 --> 00:11:51,275 Svo clang buggy1.c, nú a.out. 290 00:11:51,275 --> 00:11:52,640 Og Phew, spara. 291 00:11:52,640 --> 00:11:55,090 >> Svo lítur það svolítið ljótur af því að það er engin ný lína 292 00:11:55,090 --> 00:11:55,970 hvar sem er í kerfinu. 293 00:11:55,970 --> 00:11:57,390 En aftur, það er bara fagurfræði smáatriði. 294 00:11:57,390 --> 00:11:59,430 Og að minnsta kosti ef við teljum þá út, ættum við 295 00:11:59,430 --> 00:12:01,160 nú sjá 10 slíkar stjörnur. 296 00:12:01,160 --> 00:12:03,260 Jæja, hvað um seinni upphitun td? 297 00:12:03,260 --> 00:12:07,750 Svo í buggy2, halda ég að þessi útgáfa líka, mun prenta 298 00:12:07,750 --> 00:12:10,110 10 stjörnur, eitt í hverja línu. 299 00:12:10,110 --> 00:12:12,340 Svo þessar mundir, ég er newline karakter, bara til að gera 300 00:12:12,340 --> 00:12:13,520 það svolítið fallegri. 301 00:12:13,520 --> 00:12:15,410 En í stað þess að það sem ég fæ er þetta. 302 00:12:15,410 --> 00:12:19,590 Svo láta mig gera clang buggy2.c, Enter. 303 00:12:19,590 --> 00:12:21,790 Nú það er aftur kallað a.out. 304 00:12:21,790 --> 00:12:23,130 Enter. 305 00:12:23,130 --> 00:12:26,900 Ég sé bara eina nýja línu, aðeins mjög síðasta nýja línu sem 306 00:12:26,900 --> 00:12:29,370 færist hvetja minn í næstu línu. 307 00:12:29,370 --> 00:12:32,660 Og enn greinilega ég hef verið að prentun *, þá nýja línu, 308 00:12:32,660 --> 00:12:33,990 *, Þá nýja línu. 309 00:12:33,990 --> 00:12:35,490 En hvað er villan hér? 310 00:12:35,490 --> 00:12:35,974 Já? 311 00:12:35,974 --> 00:12:37,224 Áhorfendur: [inaudible]. 312 00:12:39,850 --> 00:12:40,470 >> DAVID J. Malan: Einmitt. 313 00:12:40,470 --> 00:12:44,110 Svo ólíkt sumum tungumálum, eins og Python, þar sem skerðing 314 00:12:44,110 --> 00:12:46,030 reyndar hefur hagnýtur merkingu, í 315 00:12:46,030 --> 00:12:47,150 tungumál eins og C - 316 00:12:47,150 --> 00:12:49,140 eins og við munum sjá, PHP, JavaScript - 317 00:12:49,140 --> 00:12:51,940 inndrátt er í raun bara fyrir hag mannsins. 318 00:12:51,940 --> 00:12:55,690 Svo sú staðreynd að ég hef inndregin lína 16 og 17 lítur vel út, 319 00:12:55,690 --> 00:12:57,530 en það hefur enga virkni merkingu hér. 320 00:12:57,530 --> 00:13:00,700 Ef ég vil bæði línur til að framkvæma sem hluta af fyrir 321 00:13:00,700 --> 00:13:05,140 lykkja, þá verð ég að láta þá í hrokkið axlabönd með því að gera þetta. 322 00:13:05,140 --> 00:13:08,540 Þú getur aðeins skera þessi horn og sleppt hrokkið axlabönd ef 323 00:13:08,540 --> 00:13:10,036 hvað er málið? 324 00:13:10,036 --> 00:13:10,410 Áhorfendur: Bara ein lína. 325 00:13:10,410 --> 00:13:11,130 DAVID J. Malan: Bara ein lína. 326 00:13:11,130 --> 00:13:15,280 Svo það er bara svoleiðis fallegu konar smáatriðum setningafræði svo að 327 00:13:15,280 --> 00:13:17,900 þú sóa ekki tíma í að skrifa þrjár línur, þar af tveir sem eru 328 00:13:17,900 --> 00:13:20,040 hrokkið axlabönd, bara að skrifa eina línu af kóða. 329 00:13:20,040 --> 00:13:21,650 En ef þú ert með tvær eða fleiri línur, við 330 00:13:21,650 --> 00:13:22,860 örugglega þurfa að gera þetta. 331 00:13:22,860 --> 00:13:24,210 >> Svo nú láta mig spara þetta. 332 00:13:24,210 --> 00:13:27,140 Leyfðu mér að fara á undan og aftur hlaupa Clang. 333 00:13:27,140 --> 00:13:31,375 Þá láta mig endursýning a.out, og nú fæ ég þá einn í hverja línu. 334 00:13:31,375 --> 00:13:33,670 Nú, a.out er aftur svona heimsk heiti fyrir a program. 335 00:13:33,670 --> 00:13:37,500 Hvernig get ég sagt Clang til raunverulega gefa mér skráarheiti 336 00:13:37,500 --> 00:13:39,820 það er meira notandi-vingjarnlegur, eins buggy2 sig? 337 00:13:43,200 --> 00:13:44,466 A lítill fleiri greinilega? 338 00:13:44,466 --> 00:13:45,220 Áhorfendur: [inaudible]. 339 00:13:45,220 --> 00:13:47,810 DAVID J. Malan: OK, þannig að ég get í raun og veru að taka mjög 340 00:13:47,810 --> 00:13:51,000 notandi-vingjarnlegur flýtileið og bara skrifa að buggy2. 341 00:13:51,000 --> 00:13:53,840 Ég tilgreinir ekki. C í þessu tilfelli, og ýttu á Enter. 342 00:13:53,840 --> 00:13:58,530 Og hvað gera gerir er að það safnar buggy2.c fyrir mig því 343 00:13:58,530 --> 00:14:00,260 biðja Clang að gera það. 344 00:14:00,260 --> 00:14:05,100 Sérstaklega, það kallar Clang, keyrir það Clang nota vegur meira 345 00:14:05,100 --> 00:14:08,540 stjórn-lína rök eða skiptir en ég þarf í raun og veru. 346 00:14:08,540 --> 00:14:11,270 Með tímanum munum við koma aftur á hverju allar þessar mismunandi 347 00:14:11,270 --> 00:14:13,810 Cryptic hyphenated tjáning þýðir. 348 00:14:13,810 --> 00:14:16,910 En nú, það er bara að safna mér vandræði af 349 00:14:16,910 --> 00:14:19,600 þurfa að muna og þurfa að slá út alla þá 350 00:14:19,600 --> 00:14:21,150 ýmsar hyphenated tjáning. 351 00:14:21,150 --> 00:14:23,240 Og hækkun á því er að lokum 352 00:14:23,240 --> 00:14:25,900 að nú hef ég buggy2. 353 00:14:25,900 --> 00:14:27,480 Ef ég vil gera þetta með höndunum, þó ég 354 00:14:27,480 --> 00:14:28,775 getur í stað að gera þetta - 355 00:14:28,775 --> 00:14:34,110 clang-o buggy2 og buggy2.c. 356 00:14:34,110 --> 00:14:37,980 Og það mun sömuleiðis gefa mér skrá sem kallast buggy2. 357 00:14:37,980 --> 00:14:39,710 >> Svo í stuttu máli, Clang er þýðanda. 358 00:14:39,710 --> 00:14:43,080 Gera er bara notandi-vingjarnlegur tól sem við munum vera með fleiri 359 00:14:43,080 --> 00:14:44,420 og meira, vegna þess að það byrjar bara að 360 00:14:44,420 --> 00:14:47,330 einfalda hlutina fyrir okkur. 361 00:14:47,330 --> 00:14:49,430 Og við aftur 0, loksins. 362 00:14:49,430 --> 00:14:51,890 Fyrir nú, bara vegna þess, en við munum byrja að stríða að hluti 363 00:14:51,890 --> 00:14:52,930 í dag og á miðvikudag. 364 00:14:52,930 --> 00:14:55,560 Einhverjar spurningar um eitthvað af þessu? 365 00:14:55,560 --> 00:14:56,450 Já? 366 00:14:56,450 --> 00:14:58,234 Áhorfendur: [inaudible] 367 00:14:58,234 --> 00:15:00,020 Er í vitna þarna? 368 00:15:00,020 --> 00:15:01,710 DAVID J. Malan: OK. 369 00:15:01,710 --> 00:15:05,880 Þegar ég gafst LS í gæsalöppum, sem var mér að gera sumir galdra 370 00:15:05,880 --> 00:15:07,160 bak við tjöldin til að laga galla. 371 00:15:07,160 --> 00:15:09,370 Ég gleymdi, eins og við höfum verið að segja margir á 372 00:15:09,370 --> 00:15:11,600 umræða leiksvið, til að gera - 373 00:15:11,600 --> 00:15:17,220 við munum gera þetta núna - sudo Yum-Y uppfærslu appliance50. 374 00:15:17,220 --> 00:15:19,790 Úpps, að það er stafsett rétt. 375 00:15:19,790 --> 00:15:23,240 Svo er tækið eins og stýrikerfi. 376 00:15:23,240 --> 00:15:25,650 Það er að keyra þetta stýrikerfi sem kallast Fedora. 377 00:15:25,650 --> 00:15:27,450 Og nú vegna hægur tengsl minni, hef ég 378 00:15:27,450 --> 00:15:28,260 virkilega hosed það. 379 00:15:28,260 --> 00:15:31,620 Svo keyra sudo YUM endurnýja, eins og við sagt þér að gera í 380 00:15:31,620 --> 00:15:34,080 vandamál setja, er í raun eins og að keyra sjálfvirkar uppfærslur 381 00:15:34,080 --> 00:15:35,420 í Mac OS eða Windows. 382 00:15:35,420 --> 00:15:37,280 Og ástæðan fyrir því að keyra þetta á mjög byrjun af the 383 00:15:37,280 --> 00:15:39,640 vandamál setja er vegna þess að þegar við bjuggum á þvottavélinni, ég 384 00:15:39,640 --> 00:15:42,480 boðberi upp, og ég gerði óvart öll forrit líta 385 00:15:42,480 --> 00:15:45,210 svartur á svörtum skjá, sem er hvers vegna þú ert ekki að sjá þá 386 00:15:45,210 --> 00:15:45,860 sjálfgefið. 387 00:15:45,860 --> 00:15:48,020 En nýjasta útgáfa af tækinu fastur það. 388 00:15:48,020 --> 00:15:50,500 Og ég mun festa það á brot þegar ég hef internetið 389 00:15:50,500 --> 00:15:51,280 Tengingar. 390 00:15:51,280 --> 00:15:54,630 >> Svo vitna felur bara mín mistök, mjög kyrrþey, 391 00:15:54,630 --> 00:15:55,730 virðist. 392 00:15:55,730 --> 00:15:56,980 Aðrar spurningar? 393 00:15:59,750 --> 00:16:00,668 Já? 394 00:16:00,668 --> 00:16:02,012 Áhorfendur: Hvar er að koma frá? 395 00:16:02,012 --> 00:16:03,810 [Inaudible] 396 00:16:03,810 --> 00:16:04,280 DAVID J. Malan: Góð spurning. 397 00:16:04,280 --> 00:16:05,460 Hvar er að koma frá? 398 00:16:05,460 --> 00:16:09,390 Það er Linux forrit sem hefur verið til í mörg ár, lengi 399 00:16:09,390 --> 00:16:10,570 fyrir CS50. 400 00:16:10,570 --> 00:16:12,930 Og það kemur með stýrikerfi eins og Fedora. 401 00:16:12,930 --> 00:16:14,830 Það þýðir ekki að koma frá CS50 bókasafn. 402 00:16:14,830 --> 00:16:17,560 Í raun aðeins það sem koma frá CS50 bókasafninu 403 00:16:17,560 --> 00:16:20,470 svona langt, sem við höfum séð, eru GetString, GetInt, allt 404 00:16:20,470 --> 00:16:25,550 þeir fá störf og orð band, og að sumir 405 00:16:25,550 --> 00:16:26,575 leyti orðið bool. 406 00:16:26,575 --> 00:16:29,180 En við munum stríða að í sundur þegar við kafa í CS50 407 00:16:29,180 --> 00:16:30,580 tæki sig. 408 00:16:30,580 --> 00:16:32,820 >> Svo já, einn spurning hérna. 409 00:16:32,820 --> 00:16:36,636 Áhorfendur: Þegar þú segir að gera og síðan gallaðir, hvernig virkar það 410 00:16:36,636 --> 00:16:39,980 tölva vita [inaudible]? 411 00:16:39,980 --> 00:16:40,520 DAVID J. Malan: Góð spurning. 412 00:16:40,520 --> 00:16:43,830 Svo þegar þú keyrir bara gera buggy1 eða gera buggy2, hvernig 413 00:16:43,830 --> 00:16:45,220 er að vita? 414 00:16:45,220 --> 00:16:49,900 Svo sjálfgefið, ef þú slærð gera buggy1, að útlit fyrir að 415 00:16:49,900 --> 00:16:52,330 skrá sem kallast buggy1.c. 416 00:16:52,330 --> 00:16:55,570 Og svo keyrir það viðeigandi skipanir Clang, 417 00:16:55,570 --> 00:17:00,380 þar vega þyngra framleiðsla vanræksla skrá sem heitir a.out. 418 00:17:00,380 --> 00:17:03,670 Í staðreynd, ef við horfum á það að gera, hvað - 419 00:17:03,670 --> 00:17:04,839 við skulum hætta þessu. 420 00:17:04,839 --> 00:17:09,530 Ef við lítum á það sem gert var í raun að gera, gera buggy2, 421 00:17:09,530 --> 00:17:10,470 það er nú þegar upp til dagsetning. 422 00:17:10,470 --> 00:17:13,020 Svo láta mig fjarlægja rm stjórn, 423 00:17:13,020 --> 00:17:14,319 forrit sem ég skrifaði áður. 424 00:17:14,319 --> 00:17:17,319 Vélritun Y-E-S til að staðfesta að ég vil að fjarlægja það. 425 00:17:17,319 --> 00:17:20,480 Ef ég nú að gera, eftir að í þessu mjög langan línu, 426 00:17:20,480 --> 00:17:22,980 það er þetta síðasta sem hér-o buggy2. 427 00:17:22,980 --> 00:17:26,959 Allir gera er að gera er farið að rök, svo að segja, til að 428 00:17:26,959 --> 00:17:29,665 Clang, þannig að ég þarf ekki að skrifa það sjálfur. 429 00:17:29,665 --> 00:17:32,660 >> Allt í lagi, svo a fljótur par af stjórnsýslu 430 00:17:32,660 --> 00:17:33,470 tilkynningar. 431 00:17:33,470 --> 00:17:36,940 Svo fyrir hluta, sem hófst opinberlega þetta kemur 432 00:17:36,940 --> 00:17:38,970 Sunnudagur, munt þú alltaf vilja til að koma, ef 433 00:17:38,970 --> 00:17:40,120 þú hefur einn, a laptop. 434 00:17:40,120 --> 00:17:42,570 Ef þú ert ekki með fartölvu, ekki ná til mín með því að 435 00:17:42,570 --> 00:17:43,580 sleppa mér tölvupóst. 436 00:17:43,580 --> 00:17:44,810 Og við munum reikna út workflow. 437 00:17:44,810 --> 00:17:47,100 Hvað almennt þú munt finna í kafla er að þeir eru hluti 438 00:17:47,100 --> 00:17:48,770 huglæg, hluti snertið ekki-á. 439 00:17:48,770 --> 00:17:52,190 Við munum sérstaklega að nota hluta af spurningum, hluti af 440 00:17:52,190 --> 00:17:54,110 vandamál vikunnar er sett, til að ganga í gegnum sumir af the 441 00:17:54,110 --> 00:17:55,820 huglæg efni úr fyrirlestri. 442 00:17:55,820 --> 00:17:57,480 Og það er allt í núverandi vandamál setja. 443 00:17:57,480 --> 00:18:00,010 Og við munum einnig kafa í sumum snertið ekki-á starfsemi, stundum 444 00:18:00,010 --> 00:18:02,190 sem verður að vera nauðsynlegt að leggja fram, stundum 445 00:18:02,190 --> 00:18:02,830 sem vilja ekki. 446 00:18:02,830 --> 00:18:04,630 Til dæmis, þetta fyrstu vikuna, þá eru þeir ætluðu bara sem 447 00:18:04,630 --> 00:18:05,780 hita upp æfingar. 448 00:18:05,780 --> 00:18:07,800 Og þú munt komast að því að þessi vandamál eru í raun bara það. 449 00:18:07,800 --> 00:18:10,220 Þeir eru ætlað að vera tiltölulega lítill, en ekki endilega 450 00:18:10,220 --> 00:18:13,100 léttvæg forrit til að skrifa, það eru ekki endilega 451 00:18:13,100 --> 00:18:16,230 spennandi og sér en eru góð tækifæri til 452 00:18:16,230 --> 00:18:19,620 æfa með setningafræði, með nýjum aðgerðum, í the þægindi af a 453 00:18:19,620 --> 00:18:21,900 kafla þar sem þú hefur nokkur af bekkjarfélögum þínum fram sem 454 00:18:21,900 --> 00:18:22,870 og TF þínu. 455 00:18:22,870 --> 00:18:26,210 >> Og það munum við gera með tímanum er að nota tól sem heitir CS50 Spaces, 456 00:18:26,210 --> 00:18:28,940 þar í stað þess að bara nota CS50 Tæki, þú munt 457 00:18:28,940 --> 00:18:32,450 í staðinn að fara á vefsíðu í vafranum þar sem þú munt vera fær um 458 00:18:32,450 --> 00:18:35,610 að skrifa kóða í glugga í kafla. 459 00:18:35,610 --> 00:18:38,240 Og svo ef þú skráir þig í, kennslu náungi getur þá sýna 460 00:18:38,240 --> 00:18:40,980 hvað sem það er sem þú ert að skrifa á skjánum í vafranum þínum 461 00:18:40,980 --> 00:18:43,930 gluggi upp fyrir framan bekkinn, hvort nafnlaust eða 462 00:18:43,930 --> 00:18:47,250 opinberlega, svo að hann eða hún getur þá gengið í gegnum með 463 00:18:47,250 --> 00:18:50,080 bekkjarfélagar þínir hvað þú gerðir vel, hvað þú hefur ekki gert vel. 464 00:18:50,080 --> 00:18:52,750 Og aftur, hvíla sjálfsöruggur allt af þessu má vel nafnlausir. 465 00:18:52,750 --> 00:18:54,410 En það verður að vera gott tækifæri fyrir mikið meira 466 00:18:54,410 --> 00:18:56,810 gagnvirkni en eitthvað eins og fyrirlestur leyfir. 467 00:18:56,810 --> 00:18:58,910 >> Í millitíðinni munum við hafa þetta kallast Super 468 00:18:58,910 --> 00:19:01,610 köflum, sem eru valfrjáls en eru opin öllum á 469 00:19:01,610 --> 00:19:04,030 í bekknum, þannig að þú getur gert þetta meira sameiginlega fyrir 470 00:19:04,030 --> 00:19:05,190 vandamál setja einn. 471 00:19:05,190 --> 00:19:06,010 Hér er dagskráin. 472 00:19:06,010 --> 00:19:08,870 Þetta er einnig birt á heimasíðu á cs50.net. 473 00:19:08,870 --> 00:19:10,850 Takið eftir að það verður að vera tölvusnápur sérstakar 474 00:19:10,850 --> 00:19:12,430 einn morgun síðdegis. 475 00:19:12,430 --> 00:19:15,460 Og við munum kvikmynd einn dag og einn á morgun og senda þeim 476 00:19:15,460 --> 00:19:16,720 á netinu innan 24 klst. 477 00:19:16,720 --> 00:19:19,370 Svo ef þú getur ekki gert eitthvað af þessum tímum, ekki að hafa áhyggjur. 478 00:19:19,370 --> 00:19:22,720 Og aftur, dagskráin er á netinu nú cs50.net. 479 00:19:22,720 --> 00:19:25,350 >> Hvað varðar sectioning sig, ættir þú að hafa fengið 480 00:19:25,350 --> 00:19:28,520 email leiðbeina þér að fara á heimasíðu sjálfsögðu að finna 481 00:19:28,520 --> 00:19:29,610 út hlutanum. 482 00:19:29,610 --> 00:19:32,890 Ef lífið hefur breyst og þú þarft að breyta hlutanum, 483 00:19:32,890 --> 00:19:33,560 ekki vandamál. 484 00:19:33,560 --> 00:19:37,900 Fara til baka í sama slóð cs50.net/section, eintölu, 485 00:19:37,900 --> 00:19:40,090 og þú munt fylla út svipaða mynd þannig að þú getur 486 00:19:40,090 --> 00:19:41,260 þá gefa okkur þínum óskum. 487 00:19:41,260 --> 00:19:43,360 Og við munum fylgja í lok viku um hvað við getum 488 00:19:43,360 --> 00:19:44,240 mæta. 489 00:19:44,240 --> 00:19:49,530 Síðasta vika, muna að við lagt með CS50 ræða, 490 00:19:49,530 --> 00:19:51,370 umfjöllun Námskeiðið er tól, í fyrirlestri. 491 00:19:51,370 --> 00:19:53,680 Svo höfðum við 40 spurningum sem voru spurðir og 492 00:19:53,680 --> 00:19:54,720 svarað í fyrirlestrinum. 493 00:19:54,720 --> 00:19:56,280 Svo það virtist virka vel, þannig að við munum halda áfram 494 00:19:56,280 --> 00:19:57,180 reyna að gera þetta. 495 00:19:57,180 --> 00:19:59,600 Ef, á fyrirlestri, þú ekki bara vanir að hækka 496 00:19:59,600 --> 00:20:00,780 hönd þín, ekki vandamál. 497 00:20:00,780 --> 00:20:04,640 Fara cs50.net/discuss, senda þangað, og einn af kennslu okkar 498 00:20:04,640 --> 00:20:07,270 félagar munu annaðhvort svarað henni rafrænt eða hækka þeirra 499 00:20:07,270 --> 00:20:10,620 hönd fyrir þína hönd nafnlaust til að spyrja eftir 500 00:20:10,620 --> 00:20:12,470 á eðli spurningunni. 501 00:20:12,470 --> 00:20:15,000 Og hvað varðar viðbrögð, yfirleitt psets verður 502 00:20:15,000 --> 00:20:16,760 skilað innan viku. 503 00:20:16,760 --> 00:20:19,080 Vegna þess að það tekur smá tíma fyrir hlutum til að ná 504 00:20:19,080 --> 00:20:22,430 jafnvægi, fyrsta pset, 0 og 1, verður svolítið 505 00:20:22,430 --> 00:20:24,130 seinkað og það setjast niður. 506 00:20:24,130 --> 00:20:27,130 En dvöl lag fyrir að á næstu vikum til að koma. 507 00:20:27,130 --> 00:20:29,750 >> Allt í lagi, svo látið mig setja á alvarleg minn 508 00:20:29,750 --> 00:20:31,040 rödd fyrir réttlátur a augnablik. 509 00:20:31,040 --> 00:20:32,690 Svo er þetta í raun áhugavert loftslag að 510 00:20:32,690 --> 00:20:35,210 með þessa umræðu, hvað með alla aðra hluti 511 00:20:35,210 --> 00:20:37,310 fara á á háskólasvæðinu sem að því lúta. 512 00:20:37,310 --> 00:20:40,220 En CS50 hefur vissulega haft sögu um þetta tiltekna 513 00:20:40,220 --> 00:20:43,360 efni, í eins mikið og á hverju ári, þetta námskeið, því að margir 514 00:20:43,360 --> 00:20:46,910 ár, Ad-Stjórnir u.þ.b. 3% af bekknum. 515 00:20:46,910 --> 00:20:51,620 Þetta næstliðins árs, 2011, CS50 Ad-borð 35 nemendur. 516 00:20:51,620 --> 00:20:54,120 Þetta er ekki, held ég, vegna skorts á skýrleika. 517 00:20:54,120 --> 00:20:56,760 Gera sér grein fyrir að í námskrá Námskeiðið er, það er síða 518 00:20:56,760 --> 00:20:59,020 greinargerð þar sem línur eru. 519 00:20:59,020 --> 00:21:01,350 Sama staðhæfing er endurtekin á hverjum einn af 520 00:21:01,350 --> 00:21:03,070 vandamál setur á síðu eitt. 521 00:21:03,070 --> 00:21:05,760 >> Svo ég nefni þetta í dag í raun bara að gera 522 00:21:05,760 --> 00:21:07,030 fólkinu minnugur þessu. 523 00:21:07,030 --> 00:21:08,080 Og við höfum reynt mismunandi hluti. 524 00:21:08,080 --> 00:21:10,630 Og það sem ég hélt að við myndum gera í dag er bara að taka augnablik til að 525 00:21:10,630 --> 00:21:13,830 í raun að líta á sumir af fyrri málum sem komið hafa upp. 526 00:21:13,830 --> 00:21:16,160 Frekar en að halda þessum sem óhreinum lítið leyndarmál, í raun 527 00:21:16,160 --> 00:21:19,170 benda á hvað nemendur hafa gert og hvernig við höfum fundið 528 00:21:19,170 --> 00:21:21,630 það og í raun hvað overarching hvatning er fyrir 529 00:21:21,630 --> 00:21:23,950 jafnvel að hafa þetta samtal. 530 00:21:23,950 --> 00:21:27,060 Svo með því að segja, línan er í raun þetta - 531 00:21:27,060 --> 00:21:29,200 á kennsluáætlun, þú ert velkominn, þú ert hvött til að 532 00:21:29,200 --> 00:21:30,210 tala við bekkjarfélaga. 533 00:21:30,210 --> 00:21:31,910 Það er allt tilgangi að hafa þetta samstarf 534 00:21:31,910 --> 00:21:34,470 skrifstofutímarnir í Annenberg og hvetja fólk til að 535 00:21:34,470 --> 00:21:35,755 lokaverkefni til að vinna saman. 536 00:21:35,755 --> 00:21:38,590 En lína er dregin þegar það kemur tími til raunverulega skrifa 537 00:21:38,590 --> 00:21:39,790 endanlega lausnin. 538 00:21:39,790 --> 00:21:42,590 Tal á ensku, alveg fínn, tala sauðakóda, 539 00:21:42,590 --> 00:21:43,400 algerlega fínn. 540 00:21:43,400 --> 00:21:46,340 Póst bekkjarfélaga pset þinn, láta þá líta yfir 541 00:21:46,340 --> 00:21:48,610 skjárinn sem hendur halda áfram að skrifa, 542 00:21:48,610 --> 00:21:50,110 á línu eins og heilbrigður. 543 00:21:50,110 --> 00:21:52,250 Ekki líta á námsskrá fyrir tilteknum línum. 544 00:21:52,250 --> 00:21:55,850 >> En bara til að mála mynd af því hvernig þetta er því miður a 545 00:21:55,850 --> 00:21:58,370 veruleika, átta sig á að það eru vefsíður þarna úti sem 546 00:21:58,370 --> 00:22:01,490 hafa lausn frá þessum flokki og mörgum öðrum flokkum. 547 00:22:01,490 --> 00:22:04,940 Sú staðreynd að þú eða einhver 3% af ykkur vita að þetta er til 548 00:22:04,940 --> 00:22:07,240 þýðir að við vitum að þetta er til. 549 00:22:07,240 --> 00:22:09,340 Sú staðreynd að það eru vefsíður eins og þetta þar sem þú 550 00:22:09,340 --> 00:22:11,540 getur borgað einhverjum til að raunverulega gera vandamál setur - þetta var 551 00:22:11,540 --> 00:22:13,450 raunverulegt mál sem kom upp á síðasta ári. 552 00:22:13,450 --> 00:22:15,790 Þetta er vefsíða sem heitir odesk.com. 553 00:22:15,790 --> 00:22:20,090 Og Tim var nafn þess aðila hér sem var staða á 554 00:22:20,090 --> 00:22:24,580 þetta vefsvæði og bað einhvern að gera pset hans 7 í 555 00:22:24,580 --> 00:22:25,570 þetta tiltekna mál. 556 00:22:25,570 --> 00:22:28,350 Jæja, odesk.com er mjög Google-fær, og við erum líka 557 00:22:28,350 --> 00:22:30,310 mjög góður á Googling. 558 00:22:30,310 --> 00:22:32,360 Hér líka, eru síður - og þetta er frekar 559 00:22:32,360 --> 00:22:34,234 grimmilegur, hreinskilnislega. 560 00:22:34,234 --> 00:22:38,050 [Hlátur] 561 00:22:38,050 --> 00:22:39,610 DAVID J. Malan: Það fyndna um þessa síðu er ef 562 00:22:39,610 --> 00:22:41,970 þú lesið um síðuna, tala þeir um fyrirtæki þeirra 563 00:22:41,970 --> 00:22:44,390 menningu og hvernig þjónusta við viðskiptavini er þeirra tala-einn 564 00:22:44,390 --> 00:22:46,190 forgang, til að tryggja að verkefni þitt fá 565 00:22:46,190 --> 00:22:47,890 kveikt í á réttum tíma. 566 00:22:47,890 --> 00:22:50,580 >> En í öllum alvarleika, aftur, sú staðreynd að þessi svæði 567 00:22:50,580 --> 00:22:52,910 hendi, skiljum við líka, eru meðvitaðir um 568 00:22:52,910 --> 00:22:53,730 þessar tegundir vefsvæða. 569 00:22:53,730 --> 00:22:55,890 Og til að gefa þér hugmynd um hvað myndar þetta almennt 570 00:22:55,890 --> 00:22:58,570 tekur yfirleitt við höfum ekki mikill hneyksli þar sem fólk 571 00:22:58,570 --> 00:23:01,080 erum í samstarfi á hvers konar miklum mæli, heldur 572 00:23:01,080 --> 00:23:04,540 það er þessi seint-nótt augnablik veikleika, þar sem þú hefur svo 573 00:23:04,540 --> 00:23:07,550 mikið að gera, það er 04:00, þú ert búinn, og þú 574 00:23:07,550 --> 00:23:09,770 hugsa til sjálfur, og, láta mig taka bara kíkja á mína 575 00:23:09,770 --> 00:23:11,770 herbergisfélagi er eða kóða vinar míns eða þess háttar. 576 00:23:11,770 --> 00:23:14,800 Og merki um það ræða miður Student 577 00:23:14,800 --> 00:23:17,640 A senda eitthvað svona og nemandi B senda 578 00:23:17,640 --> 00:23:20,370 eitthvað eins og þetta, sem vissulega í tölvu 579 00:23:20,370 --> 00:23:23,830 vísindi bekknum, er ótrúlega auðvelt fyrir tölvunarfræðinga 580 00:23:23,830 --> 00:23:25,690 til að uppgötva með hugbúnaði. 581 00:23:25,690 --> 00:23:28,410 Þetta er annar sameiginlegur mynstur, þar sem þú hefur svona 582 00:23:28,410 --> 00:23:31,010 verið að vinna við hlið á einhverjum, kannski að tala í 583 00:23:31,010 --> 00:23:32,360 Ensku, bara fínt, sauðakóðanum. 584 00:23:32,360 --> 00:23:35,080 En þá kemur það tíma til að raunverulega leggja og psets 585 00:23:35,080 --> 00:23:37,910 bara að skipta með tölvupósti eða Dropbox eða þess háttar. 586 00:23:37,910 --> 00:23:41,120 En til að reyna að gera það ljóst minna að þetta er 587 00:23:41,120 --> 00:23:44,830 það sem hefur gerst, þá er þetta það sem er fram. 588 00:23:44,830 --> 00:23:47,880 Þetta brýtur ekki ferð vel skrifuð stykki af 589 00:23:47,880 --> 00:23:50,360 hugbúnaður eins og við höfum í raun og veru greina 590 00:23:50,360 --> 00:23:51,280 þessar tegundir af hlutum. 591 00:23:51,280 --> 00:23:53,760 Og reyndar er það sem við gerum hlaupa hugbúnaður sem ber saman öll 592 00:23:53,760 --> 00:23:55,540 skráningar á þessu ári gagnvart öllum síðasta ári 593 00:23:55,540 --> 00:23:57,380 skráningar, gegn öllu við fundum á 594 00:23:57,380 --> 00:24:00,060 Internet, gegn öllum starf website þarna úti. 595 00:24:00,060 --> 00:24:01,710 Það er allt mjög sjálfvirk. 596 00:24:01,710 --> 00:24:05,665 Og svo við gerum þetta í raun mikla sanngirni við 97% sem 597 00:24:05,665 --> 00:24:07,760 eru í raun að vinna asna sína burt í þetta og í öðrum 598 00:24:07,760 --> 00:24:11,530 bekkjum og setja í öll þessi viðleitni til þess að vinna 599 00:24:11,530 --> 00:24:13,030 Þeir leggja að lokum er eigin. 600 00:24:13,030 --> 00:24:14,220 Og ég get farið á í aldri. 601 00:24:14,220 --> 00:24:16,030 >> Þetta eru bara handfylli af tilvikum á síðasta ári. 602 00:24:16,030 --> 00:24:19,350 Nokkrir nemendur fram þessar skrár samur fyrir pset 2, 603 00:24:19,350 --> 00:24:22,460 pset 3, pset 4, pset 5, pset 6, pset 9. 604 00:24:22,460 --> 00:24:26,360 Í þessu tilfelli var þetta quiz 0 og á síðasta ári, þar sem tveir 605 00:24:26,360 --> 00:24:29,570 nemendur skila samur þessa setningu hjá mörgum 606 00:24:29,570 --> 00:24:32,210 aðrir, "Beiðni tegund -" punktur, punktur, punktur. 607 00:24:32,210 --> 00:24:34,530 Svo jafnvel í flokki 600 höfum vér greina þessu 608 00:24:34,530 --> 00:24:36,310 á lögð Skyndipróf. 609 00:24:36,310 --> 00:24:39,080 Svo í stuttu máli þessi - hreinskilnislega, ég hata að hafa þetta svona 610 00:24:39,080 --> 00:24:41,300 samtal - en þetta er í raun meðvitað átak 611 00:24:41,300 --> 00:24:43,540 á þessu ári til að reyna að keyra niður þetta númer. 612 00:24:43,540 --> 00:24:45,650 Því jafnvel þó við segjum þessar tegundir af hlutum fresti 613 00:24:45,650 --> 00:24:48,100 ár, ég held að raunveruleika hafa staldrað það fyrir nokkrum 614 00:24:48,100 --> 00:24:50,800 fleiri sekúndur en venjulega og í raun bara að benda á 615 00:24:50,800 --> 00:24:53,600 að það kann að virðast eins, ha, ekki svo stór samningur, að minnsta kosti 616 00:24:53,600 --> 00:24:56,390 hugsa til baka til þessa tiltekna stund, bæði í sanngirni að 617 00:24:56,390 --> 00:25:00,100 sjálfur og bekkjarfélögum þínum hér. 618 00:25:00,100 --> 00:25:02,480 Svo ef þú hefur einhvern tíma einhverjar spurningar um hvar línan 619 00:25:02,480 --> 00:25:04,290 er skaltu bara ná út fyrir mig persónulega. 620 00:25:04,290 --> 00:25:07,190 En svarið er alltaf, alveg áherslu á að 621 00:25:07,190 --> 00:25:09,090 síðustu stundu, reiðufé í lok dags. 622 00:25:09,090 --> 00:25:11,080 Eða ef það er spurning um að hafa ekki allir seint daga, 623 00:25:11,080 --> 00:25:12,900 heiðarlega, email mig persónulega. 624 00:25:12,900 --> 00:25:14,110 Við munum reikna eitthvað út. 625 00:25:14,110 --> 00:25:17,480 Vinsamlegast ekki setja þinn tími hér í Harvard í hættu. 626 00:25:17,480 --> 00:25:18,570 >> Nú, ég hélt að við ættum að létta skap, þannig að ég 627 00:25:18,570 --> 00:25:20,264 með þetta sem næsta mynd. 628 00:25:20,264 --> 00:25:22,770 [Hlátur] 629 00:25:22,770 --> 00:25:23,630 DAVID J. Malan: Þessi vefsíða var frábær. 630 00:25:23,630 --> 00:25:24,820 Ég fékk reyndar smá annars hugar. 631 00:25:24,820 --> 00:25:26,330 Það er þessi. 632 00:25:26,330 --> 00:25:29,590 Og þá er þetta einn var ótrúlegt. 633 00:25:29,590 --> 00:25:35,190 Jæja, svo hugsa um að kettlingur seint á kvöldin þegar 634 00:25:35,190 --> 00:25:36,040 þessara ákvarðana. 635 00:25:36,040 --> 00:25:40,110 Allt í lagi, svo aftur til meira gaman og minna alvarleg efni, eins og 636 00:25:40,110 --> 00:25:40,780 skilyrði. 637 00:25:40,780 --> 00:25:43,900 >> Allt í lagi, þannig að við ræddum stuttlega um þetta. 638 00:25:43,900 --> 00:25:46,080 Þetta er eitthvað sem er líklega alveg vel úr 639 00:25:46,080 --> 00:25:47,260 The veröld af grunni. 640 00:25:47,260 --> 00:25:49,860 Og í heimi grunni höfum við þessa þörf stundum 641 00:25:49,860 --> 00:25:51,110 fara gera gafflar á veginum. 642 00:25:51,110 --> 00:25:54,840 Annaðhvort að gera þetta eða þessi eða þetta annar hlutur hér. 643 00:25:54,840 --> 00:25:58,990 Og þegar við viljum gera það, sem við getum notað í C nú, þetta ef 644 00:25:58,990 --> 00:26:00,860 annars byggja. 645 00:26:00,860 --> 00:26:06,420 Og svo hér höfum við Boolean tjáning. 646 00:26:06,420 --> 00:26:09,260 Til dæmis, Boolean tjáning hér, getum við OR 647 00:26:09,260 --> 00:26:12,260 þá saman, í þeim skilningi sem við höfum í þessum aðstæðum eða 648 00:26:12,260 --> 00:26:13,200 það ástand. 649 00:26:13,200 --> 00:26:15,100 Við getum og þá saman, í þeim skilningi að við viljum 650 00:26:15,100 --> 00:26:17,710 athuga þetta ástand og það ástand. 651 00:26:17,710 --> 00:26:22,440 Og hér höfum við skipta yfirlýsingu núna, sem er ekki svo 652 00:26:22,440 --> 00:26:26,040 svipuð setningafræðilega þeim konar aðstæður, en það 653 00:26:26,040 --> 00:26:30,160 gerir okkur kleift að gera sem nemur ef annað ef annað ef annað 654 00:26:30,160 --> 00:26:34,990 ef, og eins með því einfaldlega að enumerating þá málið með að ræða 655 00:26:34,990 --> 00:26:36,670 eftir hverju tilfelli fyrir sig. 656 00:26:36,670 --> 00:26:38,370 Svo við sáum slíkar síðasta sinn. 657 00:26:38,370 --> 00:26:40,430 Og svo við byrjuðum að snerta á hlutum eins og lykkjur. 658 00:26:40,430 --> 00:26:42,070 Við sáum einn af þessum bara í smá stund síðan. 659 00:26:42,070 --> 00:26:44,180 En það eru þessar aðrar lykkja Býr. 660 00:26:44,180 --> 00:26:46,370 >> Til dæmis, þetta hér. 661 00:26:46,370 --> 00:26:50,140 Svo á meðan (skilyrði), gera þetta aftur og aftur. 662 00:26:50,140 --> 00:26:53,070 Svo í grundvallaratriðum, það sem virðist vera mismunandi milli þessa 663 00:26:53,070 --> 00:26:55,760 fyrir lykkju og þetta á meðan lykkja hér? 664 00:27:00,810 --> 00:27:05,045 Þetta fyrir lykkju og þetta meðan lykkja. 665 00:27:05,045 --> 00:27:07,840 Já? 666 00:27:07,840 --> 00:27:08,800 Hvað er það? 667 00:27:08,800 --> 00:27:10,050 Áhorfendur: [inaudible]. 668 00:27:14,632 --> 00:27:15,120 DAVID J. Malan: Gott. 669 00:27:15,120 --> 00:27:17,130 Svo þar á eftir ástandi lykkja, það er greinilega 670 00:27:17,130 --> 00:27:17,940 meira setningafræði. 671 00:27:17,940 --> 00:27:20,560 Það er þetta frumstilling, það er þessa uppfærslu. 672 00:27:20,560 --> 00:27:23,820 Í while lykkju, það er bara þetta ástand. 673 00:27:23,820 --> 00:27:26,630 Svo virðist sem að það er lítið samanborið niður á móti til 674 00:27:26,630 --> 00:27:28,770 lykkja, sem þýðir að ef við viljum hafa breytum og við viljum 675 00:27:28,770 --> 00:27:30,800 að incrementation, höfum við í raun að 676 00:27:30,800 --> 00:27:32,500 gera þetta sjálf. 677 00:27:32,500 --> 00:27:34,420 >> Svo láta mig fara á undan og opna gedit. 678 00:27:34,420 --> 00:27:36,320 Leyfðu mér að skipta yfir í tækið. 679 00:27:36,320 --> 00:27:38,110 Og við skulum bara fljótur lítill dæmi um að 680 00:27:38,110 --> 00:27:40,550 aðgreinir einn af þessum frá öðrum. 681 00:27:40,550 --> 00:27:42,490 Og í bakinu á huga mínum hérna, ætti ég að segja eitt. 682 00:27:42,490 --> 00:27:44,120 Ég nefndi sérstaklega nafnið Tim. 683 00:27:44,120 --> 00:27:47,740 Tim var í raun einhver að nemandi reyndi að finna til að gera 684 00:27:47,740 --> 00:27:48,680 heimavinnuna sína fyrir þeim. 685 00:27:48,680 --> 00:27:51,280 Við höfðum enga Tim í viðkomandi kafla. 686 00:27:51,280 --> 00:27:53,690 Svo átta, svo ég birt nemanda, það var ekki nemandi. 687 00:27:53,690 --> 00:27:55,720 Það var af handahófi manneskja á netinu að gera hlutina 688 00:27:55,720 --> 00:27:57,180 með umboð á síðasta ári. 689 00:27:57,180 --> 00:27:58,670 Þannig að við að finna það, líka. 690 00:27:58,670 --> 00:28:00,630 Þannig að í þessu tilfelli hér, láta mig fara á undan og 691 00:28:00,630 --> 00:28:02,810 opna nýja skrá. 692 00:28:02,810 --> 00:28:04,800 File, New. 693 00:28:04,800 --> 00:28:06,050 Þetta gefur mér flipann hér. 694 00:28:06,050 --> 00:28:09,940 Leyfðu mér að fara á undan og vista það sem loop.c. 695 00:28:09,940 --> 00:28:11,810 Leyfðu mér að fara og smella á Vista. 696 00:28:11,810 --> 00:28:15,340 Og svo hérna, við skulum fara á undan og byrja að skrifa 697 00:28:15,340 --> 00:28:16,605 # Include . 698 00:28:19,116 --> 00:28:20,520 Leyfðu mér að þysja inn 699 00:28:20,520 --> 00:28:23,410 Nú munum við gera int main (tóm). 700 00:28:23,410 --> 00:28:30,020 Nú láta mig fara á undan og gert fyrir (int i = 0; i < 701 00:28:30,020 --> 00:28:33,480 ó, 10, i + +). 702 00:28:33,480 --> 00:28:36,620 Og nú ætla ég að fara á undan og gera prenta stjörnu sem ég 703 00:28:36,620 --> 00:28:37,890 gerði áðan. 704 00:28:37,890 --> 00:28:39,390 Og svo í lok þessarar áætlunar, við erum bara að fara að 705 00:28:39,390 --> 00:28:41,130 prenta nýja línu, bara svo að hvetja minn 706 00:28:41,130 --> 00:28:42,470 ekki líta allt sóðalegur. 707 00:28:42,470 --> 00:28:45,170 return 0. 708 00:28:45,170 --> 00:28:47,610 Virðast setningafræðilega rétt? 709 00:28:47,610 --> 00:28:48,040 Svo langt. 710 00:28:48,040 --> 00:28:48,560 Svo við skulum sjá. 711 00:28:48,560 --> 00:28:51,290 >> Svo láta mig minnka, fara í Telnet minn. 712 00:28:51,290 --> 00:28:54,570 Og láta mig fara á undan og keyra lykkju, vegna þess að ég kallaði þetta 713 00:28:54,570 --> 00:28:55,690 hlutur loop.c. 714 00:28:55,690 --> 00:28:56,780 Svo gera lykkju. 715 00:28:56,780 --> 00:28:57,840 Virðist að þýða OK. 716 00:28:57,840 --> 00:29:00,210 Leyfðu mér að hlaupa lykkju, og nú færa. 717 00:29:00,210 --> 00:29:01,820 Og það virðist hafa prenta 10 stjörnur. 718 00:29:01,820 --> 00:29:03,780 Svo við skulum bara breyta þessu í while lykkju og sjá hvað 719 00:29:03,780 --> 00:29:05,220 konar málefni við tærnar. 720 00:29:05,220 --> 00:29:11,290 Svo í staðinn fyrir þetta, láta mig fara í hér og segja að á meðan ég er 721 00:29:11,290 --> 00:29:12,760 minna en 10 - 722 00:29:12,760 --> 00:29:14,910 láta mig losna við fyrir lykkju. 723 00:29:14,910 --> 00:29:17,170 OK, svo við hafa a par af vandamál þegar. 724 00:29:17,170 --> 00:29:21,110 Þannig er ástand það sama, en ég er greinilega vantar 725 00:29:21,110 --> 00:29:21,680 frumstilling. 726 00:29:21,680 --> 00:29:23,840 Ég er vantar incrementation. 727 00:29:23,840 --> 00:29:28,020 Svo hvað ætti þýðandi segja líklegt mig þegar ég reyni að 728 00:29:28,020 --> 00:29:29,170 þýða þetta forrit? 729 00:29:29,170 --> 00:29:29,666 Já? 730 00:29:29,666 --> 00:29:31,154 Áhorfendur: [inaudible]. 731 00:29:31,154 --> 00:29:31,650 >> DAVID J. Malan: Gott. 732 00:29:31,650 --> 00:29:34,180 Svo það er að fara að segja eitthvað eins og undeclared - í þessu 733 00:29:34,180 --> 00:29:35,280 tilfelli, breyta i. 734 00:29:35,280 --> 00:29:37,980 Og reyndar, nota undeclared auðkenni i. 735 00:29:37,980 --> 00:29:40,960 Og svo er þetta í mótsögn við tungumál eins og PHP og 736 00:29:40,960 --> 00:29:43,120 Python og Ruby, sem sumir af þú might vera kunnuglegur, 737 00:29:43,120 --> 00:29:44,820 þar sem þú getur bara svona byrjað að nota breytur 738 00:29:44,820 --> 00:29:47,420 snögglega og ekki að hafa áhyggjur af því að lýsa þeim 739 00:29:47,420 --> 00:29:48,560 sérstaklega alltaf. 740 00:29:48,560 --> 00:29:51,770 Í C og í tungumálum eins og Java og C + +, þú þarft að vera 741 00:29:51,770 --> 00:29:53,020 Super skýr. 742 00:29:53,020 --> 00:29:55,760 Og ef þú vilt breyta hringdi ég, þú ert að segja mér 743 00:29:55,760 --> 00:29:57,360 hvaða breytu er. 744 00:29:57,360 --> 00:29:59,360 Þannig að við erum að fara að laga þetta eins og hér segir. 745 00:29:59,360 --> 00:30:05,510 Ég ætla að fara hér upp og slá int i, því, 746 00:30:05,510 --> 00:30:07,860 Ég hef lýst breytu sem heitir i. 747 00:30:07,860 --> 00:30:09,180 Nú, hef ég sleppt einu skrefi. 748 00:30:09,180 --> 00:30:11,340 Ég hef augljóslega ekki frumstilla hana, en við skulum sjá hvort að á 749 00:30:11,340 --> 00:30:13,650 kosti gerir Clang hætta að kvarta. 750 00:30:13,650 --> 00:30:15,770 Svo láta mig endurgerð þetta forrit. 751 00:30:15,770 --> 00:30:16,770 >> Allt í lagi, nú er bara að kvarta 752 00:30:16,770 --> 00:30:17,870 fyrir mismunandi ástæðum. 753 00:30:17,870 --> 00:30:21,130 "Variable 'i' er forsniðinn er notað hér." Allt í lagi, þannig að 754 00:30:21,130 --> 00:30:22,340 það er nokkuð skýr. 755 00:30:22,340 --> 00:30:25,510 Frumstilla þýðir bara að setja það jafnt gildi. 756 00:30:25,510 --> 00:30:30,820 Og við höfum ekki gert það, svo látið mig reyna jafngildir 0. 757 00:30:30,820 --> 00:30:35,030 Nú skulum reyna þetta aftur og aftur hlaupa Clang. 758 00:30:35,030 --> 00:30:36,140 Tekið í þetta sinn. 759 00:30:36,140 --> 00:30:37,210 Og ég er að fara að keyra hana. 760 00:30:37,210 --> 00:30:43,120 En stór gamla óendanlega lykkja, því ég hef gert það 761 00:30:43,120 --> 00:30:45,530 frumstilling, hef ég gert það skilyrði, en ég hef aldrei gert 762 00:30:45,530 --> 00:30:47,030 hvers konar incrementation. 763 00:30:47,030 --> 00:30:48,780 Svo hvernig get ég gert incrementation? 764 00:30:48,780 --> 00:30:51,170 Jæja, í while lykkju, mér líður eins og ég ætla að hafa 765 00:30:51,170 --> 00:30:54,180 að gera það inni í lykkju, því líkt og í fyrsta 766 00:30:54,180 --> 00:30:56,570 dæmi viku að gera lykkja býr, eins og með 767 00:30:56,570 --> 00:30:59,040 sokkum og með sjálf-talningu, við þurftum að gera 768 00:30:59,040 --> 00:31:01,550 eitthvað aftast, eins og að fara aftur í næstu línu. 769 00:31:01,550 --> 00:31:05,040 Hvað ef ég fer á undan og gera þetta i + + hér? 770 00:31:05,040 --> 00:31:06,030 Við skulum ekki einu sinni þýða þetta. 771 00:31:06,030 --> 00:31:06,890 Afli mig nú þegar. 772 00:31:06,890 --> 00:31:09,704 Hvað er rangt hérna? 773 00:31:09,704 --> 00:31:10,690 Áhorfendur: [inaudible]. 774 00:31:10,690 --> 00:31:11,770 >> DAVID J. Malan: Svo er það örugglega ekki int. 775 00:31:11,770 --> 00:31:13,080 Það er i. 776 00:31:13,080 --> 00:31:15,110 Og hrokkið axlabönd, eins og áður, 777 00:31:15,110 --> 00:31:16,800 inndrátt er ekki nóg. 778 00:31:16,800 --> 00:31:18,410 Svo nú hef ég smíða þetta. 779 00:31:18,410 --> 00:31:21,780 Svo á meðan ég er undir 10, prenta stjörnu, 780 00:31:21,780 --> 00:31:23,220 þá hækka i. 781 00:31:23,220 --> 00:31:25,680 Og á sama hátt og á meðan lykkja virkar er að um leið og þú högg 782 00:31:25,680 --> 00:31:29,630 neðst á lykkju, sem í þessu tilfelli virðist línu 10, 783 00:31:29,630 --> 00:31:32,880 það er að fara að fara aftur í línu 6, á hver benda á 784 00:31:32,880 --> 00:31:34,400 ástand verður kannað aftur. 785 00:31:34,400 --> 00:31:37,500 Og ef ég er enn minna en 10, munum við gera línur 8 og 786 00:31:37,500 --> 00:31:41,250 þá 9, þá munum við ná 10, og fara aftur í 6, aftur og 787 00:31:41,250 --> 00:31:45,580 aftur og aftur og aftur, svo lengi sem ég er minna en 10. 788 00:31:45,580 --> 00:31:47,860 Svo við skulum aftur hlaupa gera hér. 789 00:31:47,860 --> 00:31:48,940 >> Jæja, höfum við safnað saman í lagi. 790 00:31:48,940 --> 00:31:50,300 Leyfðu mér aftur hlaupa lykkja. 791 00:31:50,300 --> 00:31:52,620 Og nú virðist það í raun að vinna. 792 00:31:52,620 --> 00:31:55,100 Svo plús og mínus hérna? 793 00:31:55,100 --> 00:31:58,910 Jæja, svo langt að það er í raun ekki heil PLO - 794 00:31:58,910 --> 00:31:59,420 svo sætur. 795 00:31:59,420 --> 00:32:01,870 Allt í lagi, það var - Ah, það var slys. 796 00:32:01,870 --> 00:32:05,200 Allt í lagi, þannig að við skulum fara aftur til for lykkju. 797 00:32:05,200 --> 00:32:07,530 Svo fyrir lykkjur eru ágætur vegna þess að þeir eru frábær skýr. 798 00:32:07,530 --> 00:32:09,720 Og jafnvel þó þeir ert a lítill clunky að skrifa, það er 799 00:32:09,720 --> 00:32:11,500 mjög öflug og það gerir þér kleift að gera 800 00:32:11,500 --> 00:32:12,980 margar hluti í einu. 801 00:32:12,980 --> 00:32:16,240 Þó lykkjur virðast ekki hafa mikið gildi bara 802 00:32:16,240 --> 00:32:18,500 enn, því það er eins og við verðum bara að gera meiri vinnu. 803 00:32:18,500 --> 00:32:20,670 Við verðum að setja frumstilling upp hér, 804 00:32:20,670 --> 00:32:23,480 uppfæra hérna, og við verðum að muna eftir að gera allt sem. 805 00:32:23,480 --> 00:32:26,260 Þannig að við munum sjá í tíma að á meðan lykkjur raun lánað 806 00:32:26,260 --> 00:32:29,380 sig bara mismunandi samhengi, mismunandi gögn 807 00:32:29,380 --> 00:32:33,900 mannvirki eins og listum og kjötkássa borð, sem við munum fá til 808 00:32:33,900 --> 00:32:34,970 miðjan önn. 809 00:32:34,970 --> 00:32:37,900 En nú, ég veit að það er þetta þriðja tegund þekktur sem do- 810 00:32:37,900 --> 00:32:38,480 meðan lykkja. 811 00:32:38,480 --> 00:32:39,540 Og við höfum séð þetta í stutta stund. 812 00:32:39,540 --> 00:32:41,830 Og þetta gæti verið frábær hjálpsamur með pset 1. 813 00:32:41,830 --> 00:32:45,570 Hvert sinn sem þú vilt gera eitthvað og þá athuga hvort 814 00:32:45,570 --> 00:32:48,940 notandinn unnið, og ef þeir gerðu það ekki, gera það aftur, gera- 815 00:32:48,940 --> 00:32:51,460 meðan lykkja lánar sig til svona rökfræði. 816 00:32:51,460 --> 00:32:55,640 Þar sem panta frá toppi til botn hér gefur til kynna, 817 00:32:55,640 --> 00:32:57,750 gera bókstaflega þýðir að gera þetta. 818 00:32:57,750 --> 00:32:59,830 Og að gera þetta aftur og aftur, hvað gæti það verið? 819 00:32:59,830 --> 00:33:03,000 Kannski þýðir það starf GetInt eða GetString og síðan 820 00:33:03,000 --> 00:33:05,830 haka við gildi GetInt eða GetString og þá æpa 821 00:33:05,830 --> 00:33:08,260 á notendur ef þeir hafa ekki unnið með því að spyrja þá 822 00:33:08,260 --> 00:33:10,100 aftur og aftur og aftur. 823 00:33:10,100 --> 00:33:11,730 Þar sem þú vilt gera eitthvað einu sinni, 824 00:33:11,730 --> 00:33:13,210 þá stöðva sumir ástand. 825 00:33:13,210 --> 00:33:14,110 >> Svo skulum reyna þetta. 826 00:33:14,110 --> 00:33:17,130 Leyfðu mér að breyta í raun þetta nú að gera-while lykkju. 827 00:33:17,130 --> 00:33:18,830 Og ég ætla að fara á undan og gera eftirfarandi. 828 00:33:18,830 --> 00:33:21,830 Svo gera eftirfarandi. 829 00:33:21,830 --> 00:33:26,870 Gerum int i = GetInt (), en við skulum fyrst að segja að notandinn 830 00:33:26,870 --> 00:33:27,410 hvað á að gera. 831 00:33:27,410 --> 00:33:29,050 Svo smá öðruvísi í þetta sinn. 832 00:33:29,050 --> 00:33:31,270 "Gefðu mér int". 833 00:33:31,270 --> 00:33:32,910 Svo ég nota printf fyrir það. 834 00:33:32,910 --> 00:33:35,740 Og nú ætla ég að fara niður, og ég ætla að gera þetta 835 00:33:35,740 --> 00:33:41,520 á meðan ég er að, við skulum segja, meira en - 836 00:33:41,520 --> 00:33:47,540 við skulum sjá, ég er, segjum, minna en 0, eða ég er 837 00:33:47,540 --> 00:33:48,730 meiri en 10. 838 00:33:48,730 --> 00:33:51,810 Með öðrum orðum, ég vil tölu frá 1 til 9, bara 839 00:33:51,810 --> 00:33:52,720 geðþótta. 840 00:33:52,720 --> 00:33:55,290 Þannig að ég er að nota samsettar Boolean segð hér til 841 00:33:55,290 --> 00:33:59,930 ganga úr skugga um að ég er minna en 0 eða stærra en 10, þar sem 842 00:33:59,930 --> 00:34:02,530 ef ég mun gera þetta lykkju hér aftur. 843 00:34:02,530 --> 00:34:04,400 Svo aftur, gera þetta - 844 00:34:04,400 --> 00:34:08,480 á meðan ég er minna en 0 eða ég er stærri en 10. 845 00:34:08,480 --> 00:34:11,440 >> Svo nú skulum við fara á undan og gera þetta þegar við höfum gert það. 846 00:34:11,440 --> 00:34:13,270 Við skulum bara gera a fljótur geðheilsu stöðva. 847 00:34:13,270 --> 00:34:18,929 printf ("Takk, er i% d", i). 848 00:34:18,929 --> 00:34:21,350 Svo spyr þetta einfalt forrit notanda á int 849 00:34:21,350 --> 00:34:24,000 gerir viss um að það er í einhverju svið, 1 til 9 án aðgreiningar, 850 00:34:24,000 --> 00:34:26,280 og takk notanda með því að minna þá hvað þeir bara 851 00:34:26,280 --> 00:34:27,940 slegið inn, rétt eins og smá andleg heilbrigði stöðva. 852 00:34:27,940 --> 00:34:30,659 En við skulum sjá hvort þetta virkar eins og ætlast. 853 00:34:30,659 --> 00:34:34,533 Leyfðu mér að fara höfuð niður og aftur hlaupa gera lykkju. 854 00:34:34,533 --> 00:34:35,350 Hmm. 855 00:34:35,350 --> 00:34:38,600 "Notkun undeclared heiti 'i'". Það er undarlegt. 856 00:34:38,600 --> 00:34:41,509 Ég hélt að við leyst það. 857 00:34:45,489 --> 00:34:47,560 Sama einkenni en mismunandi kóða. 858 00:34:47,560 --> 00:34:47,899 Já? 859 00:34:47,899 --> 00:34:50,191 Áhorfendur: [inaudible] innan tveggja, við verðum að 860 00:34:50,191 --> 00:34:52,639 [Inaudible]. 861 00:34:52,639 --> 00:34:53,260 >> DAVID J. Malan: Einmitt. 862 00:34:53,260 --> 00:34:55,989 Svo leiðir þetta í raun okkur að efni sem kallast umfangi. 863 00:34:55,989 --> 00:34:59,350 Það kemur í ljós að C, aftur, það tekur í raun þú bókstaflega. 864 00:34:59,350 --> 00:35:02,970 Og ef þú gerir eitthvað eins og þetta þar sem þú lýsa á int 865 00:35:02,970 --> 00:35:06,120 og úthluta honum gildi, en þú gera það inni í 866 00:35:06,120 --> 00:35:09,840 par af hrokkið axlabönd, hvað C gerir það ráð fyrir að þú 867 00:35:09,840 --> 00:35:14,800 bara vilja þá 32 bits þekktur sem ég að vera innan 868 00:35:14,800 --> 00:35:18,200 samhengi þessara hrokkið axlabönd, í tengslum við línum 869 00:35:18,200 --> 00:35:22,420 6 í 9. Svo ég er lýst, og er úthlutað 870 00:35:22,420 --> 00:35:26,530 gildi í línu 8, en um leið og þú færð utan 871 00:35:26,530 --> 00:35:30,270 lína 9 undir hrokkið borsveif, er ég ekki lengur í 872 00:35:30,270 --> 00:35:31,910 umfang, svo að segja. 873 00:35:31,910 --> 00:35:35,030 S-C-O-P-E. Það er ekki lengur í rétta samhengi. 874 00:35:35,030 --> 00:35:37,940 Svo nú er ekkert i, þannig að það er eins og við höfðum ekki einu sinni 875 00:35:37,940 --> 00:35:38,770 lýsti það yfirleitt. 876 00:35:38,770 --> 00:35:41,520 >> Svo það er festa þá fyrir eitthvað eins og þetta, ef 877 00:35:41,520 --> 00:35:44,300 Ástæðan er sú að ég er lýst innan hrokkið axlabönd, sem 878 00:35:44,300 --> 00:35:45,120 er greinilega slæmt? 879 00:35:45,120 --> 00:35:45,410 Hér? 880 00:35:45,410 --> 00:35:46,820 Áhorfendur: [inaudible]. 881 00:35:46,820 --> 00:35:47,150 DAVID J. Malan: Já. 882 00:35:47,150 --> 00:35:48,710 Þannig að við getum frumstillt það úti. 883 00:35:48,710 --> 00:35:53,530 Svo láta mig fara á undan og eyða yfirlýsingunni hluta þar 884 00:35:53,530 --> 00:35:55,820 Ég tilgreina tegund, og láta mig gera það upp hér. 885 00:35:55,820 --> 00:36:00,220 Svo í línu 5, segir það nú "Gefðu mér int." Kalla það i. 886 00:36:00,220 --> 00:36:03,400 Tilkynning í línu 9, ég vil ekki gera þetta, því ég 887 00:36:03,400 --> 00:36:04,830 þegar hafa 32 bita. 888 00:36:04,830 --> 00:36:06,140 Ég vil ekki að biðja tölvuna um að 889 00:36:06,140 --> 00:36:07,630 mismunandi 32 bits. 890 00:36:07,630 --> 00:36:09,850 Ég vil nota sömu 32 bita. 891 00:36:09,850 --> 00:36:13,190 Og þar sem ég er lýst í línu 5, það er samt legit 892 00:36:13,190 --> 00:36:16,550 að nota það í línu 11 og línu 12. 893 00:36:16,550 --> 00:36:19,310 >> Svo láta mig reyna að laun þetta og sjá 894 00:36:19,310 --> 00:36:20,490 ef Clang hættir æpa. 895 00:36:20,490 --> 00:36:22,380 gera lykkju. 896 00:36:22,380 --> 00:36:25,470 Svo nú er það "óbeina yfirlýsingu um virka 897 00:36:25,470 --> 00:36:29,880 'GetInt' er ógilt í C99. "Hvað er það? 898 00:36:29,880 --> 00:36:30,400 Já? 899 00:36:30,400 --> 00:36:32,330 Áhorfendur: [inaudible]. 900 00:36:32,330 --> 00:36:32,690 DAVID J. Malan: Já. 901 00:36:32,690 --> 00:36:35,520 Svo nú er að ég er í raun að nota GetInt, þetta er ekki eitthvað 902 00:36:35,520 --> 00:36:38,190 það kemur bara með C. Þetta kemur frá CS50. 903 00:36:38,190 --> 00:36:39,890 Þannig að við þurfum þetta hér. 904 00:36:39,890 --> 00:36:41,450 Og láta mig fara aftur til hvetja niður 905 00:36:41,450 --> 00:36:43,500 hér og aftur hlaupa gera. 906 00:36:43,500 --> 00:36:44,160 Jæja, loksins. 907 00:36:44,160 --> 00:36:46,270 Nú höfum við ákveðið að og hinn villa. 908 00:36:46,270 --> 00:36:48,930 Leyfðu mér að hlaupa lykkju og sjá hvað gerist. 909 00:36:48,930 --> 00:36:51,740 "Gefðu mér int." Ég ætla að gefa henni 11. 910 00:36:51,740 --> 00:36:53,100 Ég skal gefa það -1. 911 00:36:53,100 --> 00:36:54,470 Ég skal gefa það foo. 912 00:36:54,470 --> 00:36:56,080 Ég skal gefa það 5. 913 00:36:56,080 --> 00:36:57,450 Og nú virkar það örugglega. 914 00:36:57,450 --> 00:36:59,410 En hvetja breytt fyrir ástæðu hér. 915 00:36:59,410 --> 00:37:02,800 Hvers vegna var það að segja reyna einn af þessum tímum, en gefa mér 916 00:37:02,800 --> 00:37:03,920 int hina þrisvar sinnum? 917 00:37:03,920 --> 00:37:05,500 Hvers vegna er þessi hegðun öðruvísi? 918 00:37:05,500 --> 00:37:06,980 Áhorfendur: Gaf það band. 919 00:37:06,980 --> 00:37:07,830 DAVID J. Malan: Fyrirgefðu? 920 00:37:07,830 --> 00:37:08,570 Áhorfendur: Þú gafst það band. 921 00:37:08,570 --> 00:37:08,990 DAVID J. Malan: Já. 922 00:37:08,990 --> 00:37:11,450 Þannig að við gaf það band í þessari þriðju tilraun, 923 00:37:11,450 --> 00:37:12,490 þegar ég slóst foo. 924 00:37:12,490 --> 00:37:13,200 Foo er strengur. 925 00:37:13,200 --> 00:37:14,340 Það er augljóslega ekki int. 926 00:37:14,340 --> 00:37:17,500 Og leiðin að CS50 hefur innleitt GetInt er að við 927 00:37:17,500 --> 00:37:20,330 Ekki athuga hvort eitthvað er minna en 0 eða stærra en 10 928 00:37:20,330 --> 00:37:22,260 fyrir þig, vegna þess að hvernig vitum við fyrirfram hvers konar 929 00:37:22,260 --> 00:37:23,130 int sem þú vilt? 930 00:37:23,130 --> 00:37:25,880 En við getum óverulega athuga fyrir þig, gerði notandi amk 931 00:37:25,880 --> 00:37:26,730 slá heiltölu? 932 00:37:26,730 --> 00:37:30,500 Og ef þeir gerðu ekki, öskra við hjá notanda með því að slá "reyna" á 933 00:37:30,500 --> 00:37:31,440 á skjánum. 934 00:37:31,440 --> 00:37:34,210 >> Svo nú höfum við forrit sem er lykkja. Allt í lagi. 935 00:37:34,210 --> 00:37:37,070 Nú, hver þeirra er tegund af betri reisa? 936 00:37:37,070 --> 00:37:39,060 Svo er þetta þar sem hlutirnir byrja að fá smá sóðalegur, sem 937 00:37:39,060 --> 00:37:42,360 staðreynd að þú verður að muna að lýsa yfir breytu upp hér 938 00:37:42,360 --> 00:37:44,630 Ef þú vilt nota það inni í sumar 939 00:37:44,630 --> 00:37:46,460 hrokkið axlabönd og utan. 940 00:37:46,460 --> 00:37:48,490 En jafnvel ef þetta lítur svolítið dulinn í fyrstu 941 00:37:48,490 --> 00:37:50,750 hnotskurn, bara aftur, man einfalda rökfræði. 942 00:37:50,750 --> 00:37:54,630 Til að nota neitt í C, hvort sem það er fall eða 943 00:37:54,630 --> 00:37:57,680 það er mismunandi, þú þarft að fela það ef það er fall 944 00:37:57,680 --> 00:37:59,770 í sumum bókasafni, eða þú þarft að lýsa það. 945 00:37:59,770 --> 00:38:02,405 En nú þú þarft að vera sérstaklega vakandi fyrir þeirri staðreynd að 946 00:38:02,405 --> 00:38:04,940 þú ert að lýsa henni í rétta umfangi. 947 00:38:04,940 --> 00:38:08,150 Þú ert ekki að setja það of vel inni í sviga. 948 00:38:08,150 --> 00:38:09,410 >> Svo láta mig rúlla í raun til baka. 949 00:38:09,410 --> 00:38:12,660 Ef við förum aftur til okkar til dæmis frá áðan, og ég fer 950 00:38:12,660 --> 00:38:19,245 aftur fyrir int, int i = 0, i <10, i + +, og ég 951 00:38:19,245 --> 00:38:26,370 gera printf stjörnur, eins og þetta, og svo loka paren, og nú 952 00:38:26,370 --> 00:38:30,410 printf er ég nú - 953 00:38:30,410 --> 00:38:33,500 samkvæmt sömu rökfræði, hvað gerist þegar ég reyni að 954 00:38:33,500 --> 00:38:35,500 þýða þetta forrit? 955 00:38:35,500 --> 00:38:36,790 Áhorfendur: Ógilt auðkenni. 956 00:38:36,790 --> 00:38:38,560 DAVID J. Malan: Svo er það annað ógilt auðkenni, 957 00:38:38,560 --> 00:38:39,470 undeclared auðkenni. 958 00:38:39,470 --> 00:38:41,810 Nú, ástæðan er svolítið öðruvísi. 959 00:38:41,810 --> 00:38:44,370 Það er augljóslega ekki hrokkið axlabönd hér, en það sama 960 00:38:44,370 --> 00:38:46,790 hugmynd, sama sagan á umfangi á við. 961 00:38:46,790 --> 00:38:50,340 Ef þú hefur lýst breytu eins og ég inni í 962 00:38:50,340 --> 00:38:53,960 fyrir lykkju, jafnvel ef þú hefur ekki beinlínis skrifað um Curly 963 00:38:53,960 --> 00:38:56,980 axlabönd, hugsa um þau andlega og enn vera þar, sem 964 00:38:56,980 --> 00:39:00,310 ef ég er einungis gilt fyrir innan í lykkju. 965 00:39:00,310 --> 00:39:03,080 Það er ekki gild þegar þú færð í næstu línu, sem 966 00:39:03,080 --> 00:39:05,090 þetta mál er nú 10. 967 00:39:05,090 --> 00:39:09,060 Svo bara nokkrar málefni umfang og þess háttar. 968 00:39:09,060 --> 00:39:12,620 Allt í lagi, einhverjar spurningar? 969 00:39:12,620 --> 00:39:15,310 >> Allt í lagi, þannig að þetta er eins konar léttvæg lítið forrit, 970 00:39:15,310 --> 00:39:17,450 prentun bara litlar stjörnur. 971 00:39:17,450 --> 00:39:20,400 En við skulum sjá hvort þú manst þetta lag hér. 972 00:39:20,400 --> 00:39:22,530 Þetta er ótrúlega pirrandi lag krakkarnir myndu syngja á 973 00:39:22,530 --> 00:39:23,550 skólinn rútu og þess háttar. 974 00:39:23,550 --> 00:39:25,990 En hvað er gott við það er að það hefur þetta cyclicity, 975 00:39:25,990 --> 00:39:27,910 þar sem það er "99 flöskur af bjór á vegg, 976 00:39:27,910 --> 00:39:28,520 99 flöskur af öli. 977 00:39:28,520 --> 00:39:31,030 Taktu einn niður, gefa það í kring, 98 flöskur af bjór á að 978 00:39:31,030 --> 00:39:34,330 veggur. "Og svo endurtekur lagið á 97, þá 96, þá 979 00:39:34,330 --> 00:39:38,040 95, þá 94, alla leið niður í 0 ef þú fékkst í raun að 980 00:39:38,040 --> 00:39:38,920 langt í strætó. 981 00:39:38,920 --> 00:39:41,960 Svo er þetta gott forrit til að raða á að hrinda í framkvæmd, vegna þess að minn 982 00:39:41,960 --> 00:39:43,650 Guð, ef þú gætir bara framkvæma þetta með nokkrum 983 00:39:43,650 --> 00:39:46,660 línur af kóða, getur þú spýta út allt lyrics til þessa 984 00:39:46,660 --> 00:39:48,240 lag alveg strax. 985 00:39:48,240 --> 00:39:50,420 En á leiðinni, getum við byrjað að nú stríða sundur nokkur 986 00:39:50,420 --> 00:39:52,460 þessara helstu lykkja býr og nú einnig 987 00:39:52,460 --> 00:39:55,830 kynna aðgerðir sem við skrifum sjálf, skila gildi 988 00:39:55,830 --> 00:39:57,020 að við fara í kring. 989 00:39:57,020 --> 00:39:58,910 En fyrst, hvers vegna eigum við að fara á undan og taka okkar fimm mínútna 990 00:39:58,910 --> 00:39:59,320 brjóta hér? 991 00:39:59,320 --> 00:40:01,480 Og þegar við komum aftur, munum við syngja þetta lag. 992 00:40:05,680 --> 00:40:08,760 >> Allt í lagi, þannig að við erum aftur. 993 00:40:08,760 --> 00:40:11,850 Og þegar ég segi að við munum nú syngja þetta lag, ég meina 994 00:40:11,850 --> 00:40:13,250 kerfisbundið, ekki munnlega. 995 00:40:13,250 --> 00:40:19,370 Svo hér höfum við beer1.c, sem er ein framkvæmd þessa 996 00:40:19,370 --> 00:40:20,580 sérstaklega lag. 997 00:40:20,580 --> 00:40:23,110 Og bara til að vera skýr, fyrir þá sem ókunnur með það 998 00:40:23,110 --> 00:40:24,460 þessi hlutur útlit eins, láta mig fara á undan 999 00:40:24,460 --> 00:40:27,070 og gera beer1, Enter. 1000 00:40:27,070 --> 00:40:30,400 Nú láta mig hlaupa beer1, og það sem við munum sjá - hversu margar flöskur 1001 00:40:30,400 --> 00:40:31,140 af bjór verður það að vera? 1002 00:40:31,140 --> 00:40:33,240 Ég tegund í 99, eins og lagið segir. 1003 00:40:33,240 --> 00:40:34,040 Enter. 1004 00:40:34,040 --> 00:40:35,650 Og nú ef við að fletta í gegnum - 1005 00:40:35,650 --> 00:40:38,280 Úps - ef við að fletta í gegnum þetta allt, munum við sjá að 1006 00:40:38,280 --> 00:40:41,350 þetta var örugglega syngja allt lagið. 1007 00:40:44,050 --> 00:40:44,540 Bíddu. 1008 00:40:44,540 --> 00:40:46,240 Flettistika minn er svolítið messed up. 1009 00:40:46,240 --> 00:40:47,940 Við skulum nota stærri glugga. 1010 00:40:47,940 --> 00:40:53,500 Svo beer1, 99, þar sem við að fara. 1011 00:40:53,500 --> 00:40:56,420 Svo hér höfum við allt lag, sungið miklu hraðar af 1012 00:40:56,420 --> 00:40:58,450 tölva en það gæti hafa verið með okkur. 1013 00:40:58,450 --> 00:41:00,340 Svo taka, þó cyclical eðli hér. 1014 00:41:00,340 --> 00:41:03,380 Það segir 99, þá 99, þá "taka einn niður, gefa það 1015 00:41:03,380 --> 00:41:04,740 um, "þá 98. 1016 00:41:04,740 --> 00:41:06,640 Og nú endurtekur það aftur og aftur. 1017 00:41:06,640 --> 00:41:08,840 >> Svo er þetta í raun kjörið tækifæri fyrir einhvers konar 1018 00:41:08,840 --> 00:41:10,400 lykkja reisa. 1019 00:41:10,400 --> 00:41:12,950 Takið eftir að ég er góður að klippa í horn hér. 1020 00:41:12,950 --> 00:41:15,960 Takið eftir að ég er að segja "98 flöskur af bjór á vegg, 1021 00:41:15,960 --> 00:41:19,010 97 flöskur af bjór á vegg, "og það var bara svo 1022 00:41:19,010 --> 00:41:21,640 að þegar við komum til einn flöskur af bjór, ég er ekki 1023 00:41:21,640 --> 00:41:23,300 að hafa áhyggjur af enska málfræði. 1024 00:41:23,300 --> 00:41:25,790 En við getum líka laga þetta með smá af ef 1025 00:41:25,790 --> 00:41:26,910 ástand, kannski. 1026 00:41:26,910 --> 00:41:30,110 Ef þessi tala er eintala, fara á undan og segja "flaska", 1027 00:41:30,110 --> 00:41:31,840 annars ef það er fleirtölu, segir "flöskur". 1028 00:41:31,840 --> 00:41:34,150 En nú er ég alveg að klippa þessi horn. 1029 00:41:34,150 --> 00:41:35,520 Svo skulum sjá hvað við höfum hér. 1030 00:41:35,520 --> 00:41:37,150 Þannig að við höfum fengið nokkrar athugasemdir hér að ofan. 1031 00:41:37,150 --> 00:41:39,450 Ég er þar á meðal þessi tvö bókasöfn, sem 1032 00:41:39,450 --> 00:41:41,140 við höfum almennt verið. 1033 00:41:41,140 --> 00:41:43,610 Og nú langar mig að fletta niður til fyrsta 1034 00:41:43,610 --> 00:41:44,990 raunveruleg línur af kóða. 1035 00:41:44,990 --> 00:41:47,020 Line 17 ánægja burt helstu. 1036 00:41:47,020 --> 00:41:50,610 Line 21 og 20 er hversu margir flöskur af bjór mun það vera? 1037 00:41:50,610 --> 00:41:52,060 Og svo ég kalla GetInt. 1038 00:41:52,060 --> 00:41:53,800 Og nú hef ég smá andleg heilbrigði stöðva. 1039 00:41:53,800 --> 00:41:57,030 >> Þannig að þetta er samningur sem við munum nú byrja að taka til 1040 00:41:57,030 --> 00:41:59,620 meira nákvæmlega athuga inntak notandans. 1041 00:41:59,620 --> 00:42:01,710 Stundum þú bara vilt ekki að hvetja þá aftur 1042 00:42:01,710 --> 00:42:02,630 og aftur og aftur. 1043 00:42:02,630 --> 00:42:05,620 Ef notandi skrúfur upp og ekki vinna, allt í lagi. 1044 00:42:05,620 --> 00:42:07,430 Hætta og bara takast ekki með þeim. 1045 00:42:07,430 --> 00:42:08,990 Og svo er það það sem ég er að gera hér. 1046 00:42:08,990 --> 00:42:12,520 Ef n er minni en 1, ætla ég bara að fara að æpa á the notandi, 1047 00:42:12,520 --> 00:42:14,330 "Því miður, það gerir ekkert vit." Og þá ætla ég að 1048 00:42:14,330 --> 00:42:16,650 geðþótta skila 1. 1049 00:42:16,650 --> 00:42:18,550 Svo aftur, þetta er bara venju að venjast. 1050 00:42:18,550 --> 00:42:19,850 Fyrir nú, að taka það á trú. 1051 00:42:19,850 --> 00:42:22,700 En allt þar til nú, við höfum alltaf verið að skila 0, vegna þess 1052 00:42:22,700 --> 00:42:25,204 við höfum sagt aftur 0 táknar hvað? 1053 00:42:25,204 --> 00:42:26,000 Áhorfendur: Velgengni. 1054 00:42:26,000 --> 00:42:27,320 DAVID J. Malan: Velgengni, það er allt. 1055 00:42:27,320 --> 00:42:29,740 Svo nú er að við erum loksins farin að hugsa um 1056 00:42:29,740 --> 00:42:31,330 non-árangur - 1057 00:42:31,330 --> 00:42:33,760 í öðrum orðum, horn tilvikum, villa aðstæður - 1058 00:42:33,760 --> 00:42:37,520 nú ég er með óendanlega framboð, eða að minnsta kosti fjóra milljarða 1059 00:42:37,520 --> 00:42:39,790 hugsanlega atriði sem getur farið úrskeiðis í áætlunum mínum. 1060 00:42:39,790 --> 00:42:42,300 Og ég get byrjað að gefa þeim einstaka tölur. 1061 00:42:42,300 --> 00:42:44,340 Nú, yfirleitt nægir það bara aftur 1062 00:42:44,340 --> 00:42:45,730 eitthvað annað en 0. 1063 00:42:45,730 --> 00:42:48,040 Þannig að við erum að fara að einfaldlega skila 1 nú. 1064 00:42:48,040 --> 00:42:51,440 En ástæðan fyrir að skila 1 er að um leið og þú kemur aftur 1065 00:42:51,440 --> 00:42:55,110 1, giska á hvað gerist til the hvíla af the program? 1066 00:42:55,110 --> 00:42:55,720 Það hættir. 1067 00:42:55,720 --> 00:42:56,560 Það er það. 1068 00:42:56,560 --> 00:42:59,150 Svo er sú staðreynd að ég er aftur 1 raun 1069 00:42:59,150 --> 00:43:02,950 Skammhlaup framkvæmd þetta forrit þannig að 1070 00:43:02,950 --> 00:43:06,780 ekkert undir línu 27 mun halda áfram framkvæmd. 1071 00:43:06,780 --> 00:43:09,210 Um leið og helstu skilar, það er það. 1072 00:43:09,210 --> 00:43:13,160 >> Allt í lagi, þannig að ef að notandinn er vinna og við að ná línu 30 1073 00:43:13,160 --> 00:43:15,680 vegna þess að þeir slegið í lögmætum tala, hér er minn 1074 00:43:15,680 --> 00:43:16,990 framkvæmd þessu lagi. 1075 00:43:16,990 --> 00:43:19,050 Svo ég prenta fyrst út newline eðli, bara til 1076 00:43:19,050 --> 00:43:19,880 fagurfræði. 1077 00:43:19,880 --> 00:43:21,500 Ég hef nú til hliðar. 1078 00:43:21,500 --> 00:43:22,930 Og eftir að ég er að gera hlutina í smá 1079 00:43:22,930 --> 00:43:23,880 í aðra átt. 1080 00:43:23,880 --> 00:43:26,210 Ég þarf ekki að gera minna en, ég er ekki að gera + +. 1081 00:43:26,210 --> 00:43:30,660 Ég get í staðinn sagt frumstilla breytu i, setja það jafn 1082 00:43:30,660 --> 00:43:35,080 n, fjölda notandinn slegið inn, þá þarftu að gera eftirfarandi, svo 1083 00:43:35,080 --> 00:43:39,590 lengi sem ég er meira en 0, þá er ég - 1084 00:43:39,590 --> 00:43:42,070 Þegar þú hefur lokið við einn endurtekning þessa lykkju. 1085 00:43:42,070 --> 00:43:44,310 Þannig að við getum treyst niður með a for lykkju eins og heilbrigður. 1086 00:43:44,310 --> 00:43:47,520 Nú, þetta er nánast viku eitt efni nú, með printf. 1087 00:43:47,520 --> 00:43:51,770 Svo prenta "% d flöskur af bjór á vegg." Print "% d 1088 00:43:51,770 --> 00:43:54,990 flöskur af öli. "" Taktu einn niður, gefa það í kring. "Print 1089 00:43:54,990 --> 00:43:58,880 "% D flöskur af bjór á vegg." Svo er það enn% d, en 1090 00:43:58,880 --> 00:44:02,770 eftir því að rök til printf er að breytast. 1091 00:44:02,770 --> 00:44:05,840 Eftir kommu, hef ég, vegna þess að ég vil segja 99. 1092 00:44:05,840 --> 00:44:08,590 Eftir þessa kommu, hef ég, vegna þess að ég vil segja 99. 1093 00:44:08,590 --> 00:44:14,030 Eftir þessa kommu, ég hef i - 1, því ég vil að segja 98 í 1094 00:44:14,030 --> 00:44:16,260 þetta fyrsta endurtekning, og svo framvegis. 1095 00:44:16,260 --> 00:44:18,520 Og nú niður hérna, ég hef bara sumir heimskur litla athugasemd. 1096 00:44:18,520 --> 00:44:22,270 Og þá línu 42, aftur ég 0 eftir venju, merkir að 1097 00:44:22,270 --> 00:44:23,650 allt er í lagi. 1098 00:44:23,650 --> 00:44:24,490 >> Svo hvað ef ég goofed? 1099 00:44:24,490 --> 00:44:26,350 Hvað gæti algeng mistök hér að vera? 1100 00:44:26,350 --> 00:44:29,200 Jæja, hvað ef ég sagði óvart vel, ég vil að telja 1101 00:44:29,200 --> 00:44:31,640 niður í 0, ég vil 0 flöskur af bjór á vegg? 1102 00:44:31,640 --> 00:44:34,620 Svo ég segi, er ég meiri en eða jafnt og 0. 1103 00:44:34,620 --> 00:44:38,920 Hvað er að fara að vera einkenni sem ég sé nú ef ég laun 1104 00:44:38,920 --> 00:44:41,173 beer1 og keyra það? 1105 00:44:41,173 --> 00:44:42,120 Áhorfendur: Neikvæð. 1106 00:44:42,120 --> 00:44:43,590 DAVID J. Malan: Já, það er ađ fara neikvæð. 1107 00:44:43,590 --> 00:44:45,950 Þetta er off-by-eina villa, ótrúlega 1108 00:44:45,950 --> 00:44:47,270 algeng mistök að gera. 1109 00:44:47,270 --> 00:44:48,960 Við skulum fara í raun aftur í flugstöðinni glugga og gera það 1110 00:44:48,960 --> 00:44:50,620 hér, svo við getum séð fleiri í einu. 1111 00:44:50,620 --> 00:44:53,280 Sláðu inn, 99 flöskur af bjór. 1112 00:44:53,280 --> 00:44:56,580 Loka, en við fórum alltaf svo örlítið of langt. 1113 00:44:56,580 --> 00:45:00,500 Við söng lagið of langt niður, svo að við högg nú 1114 00:45:00,500 --> 00:45:01,510 neikvæð tala. 1115 00:45:01,510 --> 00:45:03,680 Svo það er ekki alveg að virka. 1116 00:45:03,680 --> 00:45:06,450 >> Allt í lagi, þannig að við getum auðveldlega festa það með því að fara aftur til 1117 00:45:06,450 --> 00:45:07,650 Þannig það var einu sinni. 1118 00:45:07,650 --> 00:45:10,360 En hvað eru nokkur tækifæri nú fyrir 1119 00:45:10,360 --> 00:45:11,190 framför? 1120 00:45:11,190 --> 00:45:17,200 Jæja, láttu mig opna beer2.c og fletta niður og taka 1121 00:45:17,200 --> 00:45:19,310 líta á þessa útgáfu. 1122 00:45:19,310 --> 00:45:21,370 Hvað er það fyrsta sem stökk út á þig sem mismunandi 1123 00:45:21,370 --> 00:45:23,715 í þessari útgáfu hér? 1124 00:45:23,715 --> 00:45:24,190 Áhorfendur: [inaudible]. 1125 00:45:24,190 --> 00:45:26,510 DAVID J. Malan: Já, þannig að ekki meira ég, vegna þess að það kom upp að 1126 00:45:26,510 --> 00:45:29,350 mig þú veist hvað, ég er að spyrja notanda um n, og þá er ég 1127 00:45:29,350 --> 00:45:33,580 setja i jafnt n, og þá er ég að breyta i, en ég er aldrei 1128 00:45:33,580 --> 00:45:34,590 snerta N aftur. 1129 00:45:34,590 --> 00:45:37,390 Svo hvað Heck var að benda á þig úthlutun annað 32 1130 00:45:37,390 --> 00:45:45,210 bita kallaði ég bara þannig að ég get hafa mismunandi breytu? 1131 00:45:45,210 --> 00:45:47,960 Svo í þessu tilfelli, þekkt ég svoleiðis að óþarfa 1132 00:45:47,960 --> 00:45:49,190 hönnun lögun. 1133 00:45:49,190 --> 00:45:52,730 Og ég ætla nú að fara að segja en n er stærra en 0, fara 1134 00:45:52,730 --> 00:45:56,180 undan og prenta sama lagið, standast n að printf sem 1135 00:45:56,180 --> 00:46:00,210 Önnur rökin, og n - 1 sem seinni rök hérna. 1136 00:46:00,210 --> 00:46:02,930 Og þá á hverjum endurtekning þessa lykkju, fara á undan og bara 1137 00:46:02,930 --> 00:46:05,080 lækka N sjálft. 1138 00:46:05,080 --> 00:46:06,960 Nú, virkni, this program 1139 00:46:06,960 --> 00:46:08,010 er að fara að vera eins. 1140 00:46:08,010 --> 00:46:10,730 Ef ég slá í 99, n byrjar kl 99. 1141 00:46:10,730 --> 00:46:12,890 Ég lækka, lækka, lækka, lækka. 1142 00:46:12,890 --> 00:46:15,875 Ég ætla að fá alla leið niður að "eitt glas af bjór á 1143 00:46:15,875 --> 00:46:16,740 vegg, eina flösku af bjór. 1144 00:46:16,740 --> 00:46:18,020 Taktu einn niður, gefa það í kring. 1145 00:46:18,020 --> 00:46:21,480 0 flöskur af bjór á vegg. "Lok, vegna þess að ég gerði 1146 00:46:21,480 --> 00:46:23,200 fá ástand rétt. 1147 00:46:23,200 --> 00:46:24,280 Það er stærra en 0. 1148 00:46:24,280 --> 00:46:26,220 Ég vissi ekki að gera þetta mistök. 1149 00:46:26,220 --> 00:46:28,470 >> Svo hver er betri, útgáfa einn eða útgáfa tveimur? 1150 00:46:31,380 --> 00:46:33,480 Svo heyrði ég fullt af murmurings fyrir tvo. 1151 00:46:33,480 --> 00:46:34,730 Hvers vegna tvö? 1152 00:46:37,210 --> 00:46:38,225 Hvað er það? 1153 00:46:38,225 --> 00:46:39,215 Áhorfendur: [inaudible]. 1154 00:46:39,215 --> 00:46:40,070 DAVID J. Malan: Ó, allt í lagi. 1155 00:46:40,070 --> 00:46:42,870 Þannig að það mun ekki fara undir 0, en muna, í útgáfu einn, 1156 00:46:42,870 --> 00:46:45,870 upprunalega Rétt útgáfa ekki fara undir 0 annaðhvort. 1157 00:46:45,870 --> 00:46:48,340 Svo muna að þetta er rétt útgáfa. 1158 00:46:48,340 --> 00:46:51,630 Þannig að við skulum að minnsta kosti bera saman tvær réttar útgáfur. 1159 00:46:51,630 --> 00:46:53,300 Hvað er rök útgáfu 1160 00:46:53,300 --> 00:46:55,146 tveir að, mmm, betri? 1161 00:46:55,146 --> 00:46:55,642 Já? 1162 00:46:55,642 --> 00:46:57,630 Áhorfendur: Það notar minna pláss. 1163 00:46:57,630 --> 00:46:59,530 DAVID J. Malan: Jæja, svo notar hann minna pláss, ekki satt? 1164 00:46:59,530 --> 00:47:02,900 Í útgáfu einn nota 32 bita fyrir N, og þá annað 1165 00:47:02,900 --> 00:47:07,680 32 bita fyrir i. 1166 00:47:07,680 --> 00:47:10,060 Útgáfa tvö aðeins notar 32 bita fyrir n, þannig að 1167 00:47:10,060 --> 00:47:11,700 virðist vera plús. 1168 00:47:11,700 --> 00:47:12,950 Aðrar hugsanir? 1169 00:47:18,070 --> 00:47:21,520 Er einhver sem vill halda því fram í þágu annars? 1170 00:47:21,520 --> 00:47:22,070 Já? 1171 00:47:22,070 --> 00:47:25,240 Áhorfendur: Þú þarft að nota auka línu af kóða fyrir n -. 1172 00:47:25,240 --> 00:47:26,090 >> DAVID J. Malan: Allt í lagi, viss. 1173 00:47:26,090 --> 00:47:26,960 Svo það er sanngjarnt. 1174 00:47:26,960 --> 00:47:29,040 Þannig að þetta bara, að minnsta kosti til mín - 1175 00:47:29,040 --> 00:47:31,940 Ég meina, þetta í raun finnst smá Messier, þá staðreynd að 1176 00:47:31,940 --> 00:47:35,120 Ég get ekki svona þjappa alla rökfræði mínum í einu 1177 00:47:35,120 --> 00:47:38,030 falleg lína, til hliðar, eins og til hliðar er hægt. 1178 00:47:38,030 --> 00:47:40,240 Hér hef ég svona að tittur á þessari n - 1179 00:47:40,240 --> 00:47:41,120 í lok lykkju, því 1180 00:47:41,120 --> 00:47:42,550 það er rökrétt nauðsynlegt. 1181 00:47:42,550 --> 00:47:45,190 En það rubs konar mig á rangan hátt, bara vegna þess að það 1182 00:47:45,190 --> 00:47:48,260 virðist aðskilin frá rökfræði hérna, jafnvel þó 1183 00:47:48,260 --> 00:47:49,430 Aftur, það er nauðsynlegt. 1184 00:47:49,430 --> 00:47:50,990 Aðrar hugsanir? 1185 00:47:50,990 --> 00:47:51,490 Já? 1186 00:47:51,490 --> 00:47:52,740 Áhorfendur: [inaudible]. 1187 00:47:57,990 --> 00:47:58,350 >> DAVID J. Malan: Já. 1188 00:47:58,350 --> 00:48:00,730 Svo hvað ef þú í staðinn, í lok lagsins, vildi 1189 00:48:00,730 --> 00:48:02,950 prenta út aftur nafnið á laginu? 1190 00:48:02,950 --> 00:48:05,660 Eins og "Takk fyrir að spila 99 flöskur af bjór", eða eitthvað 1191 00:48:05,660 --> 00:48:06,690 kjánalegt svona? 1192 00:48:06,690 --> 00:48:09,750 En málið er, þú vildir aðgang að upprunalegu gildi. 1193 00:48:09,750 --> 00:48:13,180 Sú staðreynd að þú hefur stökkbreytt eða breytt n á hverjum 1194 00:48:13,180 --> 00:48:16,330 endurtekning og því hefur eyðilagt upprunalegu gildi þess 1195 00:48:16,330 --> 00:48:18,650 þýðir að þú bara getur ekki gert það á endanum. 1196 00:48:18,650 --> 00:48:20,660 Nú, að öllum líkindum, er augljóst að við viljum ekki að gera 1197 00:48:20,660 --> 00:48:21,450 að í þessari áætlun. 1198 00:48:21,450 --> 00:48:22,350 Svo sem ekki sama? 1199 00:48:22,350 --> 00:48:23,630 En það er mjög gild lið. 1200 00:48:23,630 --> 00:48:25,520 Og til að vera heiðarlegur, það er í raun enginn 1201 00:48:25,520 --> 00:48:26,630 rétta svarið hérna. 1202 00:48:26,630 --> 00:48:28,740 Þeir eru bæði jafn rétt. 1203 00:48:28,740 --> 00:48:30,210 Ég gæti verið sannfærður um annað hvort hátt. 1204 00:48:30,210 --> 00:48:33,310 Ég mun segja að, almennt, það er góð regla ef þú 1205 00:48:33,310 --> 00:48:36,030 spurði notendur um nokkurt gildi og þú geymt í breytu 1206 00:48:36,030 --> 00:48:38,730 eins og n, bara svona á grundvallaratriðum, það er líklega góð 1207 00:48:38,730 --> 00:48:40,160 til að halda því í kring. 1208 00:48:40,160 --> 00:48:43,400 Og öll gögn sem þú vilt að mutate aftur og aftur, bara 1209 00:48:43,400 --> 00:48:46,030 gefa þér afrit af þeim breytu, bara svo að þú 1210 00:48:46,030 --> 00:48:47,830 hafa aðgang að upprunalega. 1211 00:48:47,830 --> 00:48:51,040 Þú ert að eyða 32 fleiri bita, en raunin er þetta 1212 00:48:51,040 --> 00:48:53,490 tölva hefur, eins, tveggja gígabæta vinnsluminni þessa dagana, 1213 00:48:53,490 --> 00:48:55,310 og við erum quibbling yfir 32 bita? 1214 00:48:55,310 --> 00:48:56,320 Raun ekki svo stór samningur. 1215 00:48:56,320 --> 00:48:58,550 Og jafnvel á þessu tæki hér, með hálfa tónleikum eða 1216 00:48:58,550 --> 00:49:01,700 gígabæti af RAM, 32 bitar á móti 64 bita, 1217 00:49:01,700 --> 00:49:02,920 ekki svo stór samningur. 1218 00:49:02,920 --> 00:49:05,890 Vissulega dag, það er að fara að vera leið óvart með stærð 1219 00:49:05,890 --> 00:49:08,400 í áætluninni sjálfri, sem er að fara að vera nokkur hundruð 1220 00:49:08,400 --> 00:49:10,890 kílóbæti, ef ekki nokkur megabæti, þessa dagana. 1221 00:49:10,890 --> 00:49:13,550 >> Svo eðlileg áhyggjur, enginn rétta svarið. 1222 00:49:13,550 --> 00:49:15,490 En að minnsta kosti þá eru hugsanir sem ætti að fara að 1223 00:49:15,490 --> 00:49:16,790 fara í gegnum huga þinn? 1224 00:49:16,790 --> 00:49:19,600 Vegna þess að í pset 0, jafnvel þó að við í raun einungis gert ráð 1225 00:49:19,600 --> 00:49:22,340 nákvæmni, eða að minnsta kosti disclaiming ýmsar villur sem 1226 00:49:22,340 --> 00:49:25,440 þú gætir hafa komið upp, eins og við halda áfram, hönnun er 1227 00:49:25,440 --> 00:49:27,910 að fara að vera annar lykill þáttur, bæði skrifa kóðann 1228 00:49:27,910 --> 00:49:29,770 og einnig okkar mat kóða. 1229 00:49:29,770 --> 00:49:32,310 Og svo að minnsta kosti að gefa hugsun við hluti eins og þetta. 1230 00:49:32,310 --> 00:49:35,590 Og bara vegna þess að virkar eitthvað þýðir ekki að það er gott, 1231 00:49:35,590 --> 00:49:37,130 þýðir ekki að það er vel hönnuð. 1232 00:49:37,130 --> 00:49:38,820 Og það er eitt af því sem kennslu félögum og 1233 00:49:38,820 --> 00:49:41,990 vandamál setur mun hjálpa okkur að stríða hluta tímanum. 1234 00:49:41,990 --> 00:49:45,020 >> Jæja, hvað um, við skulum segja, þessa útgáfu hér? 1235 00:49:45,020 --> 00:49:49,090 Leyfðu mér að gera eitthvað smá hérna kynþokkafullur í smá stund. 1236 00:49:49,090 --> 00:49:50,740 Fyrst láta mig að losna við þetta. 1237 00:49:50,740 --> 00:49:54,120 Og nú skulum laga þetta málfræði mál. 1238 00:49:54,120 --> 00:49:58,780 Svo í þessari útgáfu, ég vil laga málfræði þannig að 1239 00:49:58,780 --> 00:50:02,460 frekar en bara segja parenthetical s, eins og "flösku" 1240 00:50:02,460 --> 00:50:03,360 eða "flöskur" - 1241 00:50:03,360 --> 00:50:04,900 Ég vil ekki skera þessi horn - 1242 00:50:04,900 --> 00:50:08,350 Ég vil líka að dynamically prenta út orðið "flöskur" 1243 00:50:08,350 --> 00:50:12,820 eða "flösku", þannig að nota staðgengla Þessi% s í dag. 1244 00:50:12,820 --> 00:50:16,550 Þannig að ég þarf að skilyrðum athuga hvað er virði i. 1245 00:50:16,550 --> 00:50:19,590 Og ef það er 1, ég vil segja "flaska", og ef eitthvað það er 1246 00:50:19,590 --> 00:50:23,115 annað, ég vil segja "flöskur". Svo skulum reyna að gera þetta. 1247 00:50:23,115 --> 00:50:31,340 Svo ef ég == 1, þá láta mig fara á undan og lýsa - 1248 00:50:31,340 --> 00:50:34,080 Ég þarf a band, svo látið mig gera band S1, því það er 1249 00:50:34,080 --> 00:50:36,070 fyrsta band sem ég hugsa um núna. 1250 00:50:36,070 --> 00:50:40,980 Ég ætla að segja "flaska". Og þá skulum við sjá, band 1251 00:50:40,980 --> 00:50:43,110 s2 - og ég ætla að útskýra þar sem ég er að fara í smá stund - 1252 00:50:43,110 --> 00:50:47,650 "Flöskur." Svo muna að í þessu lagi, við þurfum að vera fær um 1253 00:50:47,650 --> 00:50:50,580 að prenta það, tvö mismunandi orð hugsanlega. 1254 00:50:50,580 --> 00:50:53,590 Þannig að ef við lítum til baka hér, eftir því að þegar við komum til 1255 00:50:53,590 --> 00:50:56,440 þetta dæmi hér, "tvær flöskur af bjór á vegg, 1256 00:50:56,440 --> 00:50:59,490 tvær flöskur af bjór, taka einn niður, gefa það í kring ", ég vil 1257 00:50:59,490 --> 00:51:02,380 þetta fjórða lína til nú að segja "eitt glas af bjór á 1258 00:51:02,380 --> 00:51:04,900 vegg ". Þannig að ég þarf að ákveða, ég vil segja" flöskur "eða 1259 00:51:04,900 --> 00:51:07,780 "Flaska"? Þannig að ég ætla að geðþótta sagt, allt í lagi, 1260 00:51:07,780 --> 00:51:10,530 Ég ætla að nú lýsa breytu sem heitir S1, band 1261 00:51:10,530 --> 00:51:13,830 einn, sem er að fara að fá í sambandi hér og einnig hér 1262 00:51:13,830 --> 00:51:16,070 vegna þess að þessi orð eru alltaf eins, bara vegna þess að 1263 00:51:16,070 --> 00:51:17,290 eðli laginu. 1264 00:51:17,290 --> 00:51:20,100 Og ég ætla að hringja í s2 hvað orð ég vil 1265 00:51:20,100 --> 00:51:21,560 lokum birtast hérna. 1266 00:51:21,560 --> 00:51:25,530 Nú, bókstaflega, 99 sinnum út af 100, það er að fara að vera 1267 00:51:25,530 --> 00:51:28,820 sama í báðum þessum tilfellum, því 3 er fleirtölu, 2 er 1268 00:51:28,820 --> 00:51:30,200 fleirtölu, 4 er fleirtölu. 1269 00:51:30,200 --> 00:51:34,640 En í þessu horni tilfelli, þar sem við fáum til 2 og svo 1, eða 1270 00:51:34,640 --> 00:51:37,250 jafnvel 1 og þá 0, ég þarf þessa rökfræði. 1271 00:51:37,250 --> 00:51:41,020 Þannig að ég þarf að eyða einhverjum tíma í númerið mitt fá það rétt. 1272 00:51:41,020 --> 00:51:47,530 Svo ef ég að gera þetta, ef ég == 1, þá setja S1 jafnt "flösku" 1273 00:51:47,530 --> 00:51:52,010 og s2 jafnt "flöskur", vegna þess að þetta mun vera í 1 1274 00:51:52,010 --> 00:51:56,340 flaska, og þetta verður að 0 flöskur. 1275 00:51:56,340 --> 00:51:58,250 Og þetta hérna, hvað er þetta táknað? 1276 00:51:58,250 --> 00:51:59,780 Bara til að vera skýr. 1277 00:51:59,780 --> 00:52:00,620 Þetta er bara athugasemd. 1278 00:52:00,620 --> 00:52:03,730 Svo þýðir sú staðreynd að þú getur haft einn-lína athugasemdir þig 1279 00:52:03,730 --> 00:52:06,110 getur athugasemd kóðann svona, en annar sameiginlegur 1280 00:52:06,110 --> 00:52:09,050 hugmyndafræði, líka er að ef þú ert með ofur-stutta setningu sem 1281 00:52:09,050 --> 00:52:11,410 þú vilt setja þig og það er bara meira læsileg að setja 1282 00:52:11,410 --> 00:52:13,270 það rétt í lok línu af kóða, getur þú 1283 00:52:13,270 --> 00:52:15,230 algerlega að gera eitthvað eins og this. 1284 00:52:15,230 --> 00:52:20,150 >> Svo nú hvað ef ég að gera þetta? Annars ef ég er ekki jafnt og 1. 1285 00:52:20,150 --> 00:52:21,620 Svo jafnt Bang - 1286 00:52:21,620 --> 00:52:23,150 upphrópunarmerki er þekktur sem "Bang". 1287 00:52:23,150 --> 00:52:25,080 Svo Bang = 1. 1288 00:52:25,080 --> 00:52:28,530 Svo ef ég er ekki jafnt og 1, geri það sem ég vil í staðinn að gera? 1289 00:52:28,530 --> 00:52:31,700 Jæja, fyrsta orðið sem ég vil vera það? 1290 00:52:34,620 --> 00:52:40,030 Svo band 1 ætti að vera "flöskur" fyrir flöskur fleirtölu, 1291 00:52:40,030 --> 00:52:42,440 og þá mun þetta vera fleirtölu "flöskur" og að nú. 1292 00:52:42,440 --> 00:52:43,800 Og við munum sjá hvort þetta í raun fær okkur til 1293 00:52:43,800 --> 00:52:44,870 þar sem við viljum fara. 1294 00:52:44,870 --> 00:52:47,680 Svo nú ef ég skruna niður, eftir að ég er að tengja í 1295 00:52:47,680 --> 00:52:50,170 ekki bara ég, en S1. 1296 00:52:50,170 --> 00:52:51,860 Ég er að tengja í i og S1. 1297 00:52:51,860 --> 00:52:54,440 Og svo hérna, ég er mínus 1, sem er það sama og 1298 00:52:54,440 --> 00:52:55,920 áður, en S2. 1299 00:52:55,920 --> 00:52:58,730 Með öðrum orðum, ég vil enska orðið til að breyta byggt 1300 00:52:58,730 --> 00:52:59,930 á þessum reglum. 1301 00:52:59,930 --> 00:53:03,310 Nú, það er nú þegar einhver vandamál í þessum kóða. 1302 00:53:03,310 --> 00:53:08,460 Hvað er brotið þegar út af the hlið hér? 1303 00:53:08,460 --> 00:53:10,796 Já? 1304 00:53:10,796 --> 00:53:13,210 Áhorfendur: [inaudible]. 1305 00:53:13,210 --> 00:53:13,800 >> DAVID J. Malan: Einmitt. 1306 00:53:13,800 --> 00:53:16,030 Þannig að ég hef nú þegar brotið kennslustund af umfangi. 1307 00:53:16,030 --> 00:53:19,610 Þannig að ég hef lýst S1 og S2, en ég hef gert það innan 1308 00:53:19,610 --> 00:53:22,980 hrokkið axlabönd, sem þýðir já, þetta númer mun vinna allt 1309 00:53:22,980 --> 00:53:27,430 til línu 42, en um leið og ég högg línu 43, ætli það ekki 1310 00:53:27,430 --> 00:53:28,900 lengur til? 1311 00:53:28,900 --> 00:53:32,600 Jæja, ætli það er ekki lengur að umfangi - hvorki s1 eða s2. 1312 00:53:32,600 --> 00:53:33,780 Þannig að við verðum að laga þetta. 1313 00:53:33,780 --> 00:53:36,180 Svo láta mig eyða yfirlýsingar. 1314 00:53:36,180 --> 00:53:39,320 Og ég mun láta breytilega nöfn og eyða þetta hérna 1315 00:53:39,320 --> 00:53:40,120 og eyða þetta hérna. 1316 00:53:40,120 --> 00:53:43,557 Og í hvaða línur þarf ég að lýsa mjög þetta? 1317 00:53:43,557 --> 00:53:44,960 Áhorfendur: [inaudible]. 1318 00:53:44,960 --> 00:53:45,410 DAVID J. Malan: Já, svo sennilega 1319 00:53:45,410 --> 00:53:46,850 allt hér, 33-ish. 1320 00:53:46,850 --> 00:53:50,670 Svo S1 band og svo S2 band. 1321 00:53:50,670 --> 00:53:51,950 Og það kemur í ljós, ég get gert þetta. 1322 00:53:51,950 --> 00:53:54,260 Ef þú ert að lýsa tvær breytur af sömu gerð, 1323 00:53:54,260 --> 00:53:57,420 þú getur í raun bara notað kommu og gera það í C. All 1324 00:53:57,420 --> 00:53:58,970 Einmitt, svo nú hef ég tvær breytur - 1325 00:53:58,970 --> 00:53:59,860 S1 og S2. 1326 00:53:59,860 --> 00:54:02,000 Ég er að gefa þeim gildi í þessum 1327 00:54:02,000 --> 00:54:04,210 aðstæður hér, eða hér. 1328 00:54:04,210 --> 00:54:06,690 Og þá er ég að nota þær niður hér. 1329 00:54:06,690 --> 00:54:10,960 Hversu vel er þetta að fara núna til að vinna? 1330 00:54:10,960 --> 00:54:12,740 >> Jæja, það er samt smá þrjótur, en við skulum að minnsta kosti sjá 1331 00:54:12,740 --> 00:54:13,730 hversu langt við höfum fengið. 1332 00:54:13,730 --> 00:54:16,500 Svo láta mig fara á undan og gera beer3. 1333 00:54:16,500 --> 00:54:17,695 Er þetta beer3? 1334 00:54:17,695 --> 00:54:19,410 Já, þetta er beer3. 1335 00:54:19,410 --> 00:54:21,510 Og nú langar mig að fara á undan og keyra beer3. 1336 00:54:21,510 --> 00:54:23,820 399 99. 1337 00:54:23,820 --> 00:54:25,840 Við getum sennilega sleppa flestum af þeim. 1338 00:54:25,840 --> 00:54:29,100 Og hérna, líta á það. 1339 00:54:29,100 --> 00:54:31,110 "Ein flaska af bjór á vegg, ein flaska af bjór, taka 1340 00:54:31,110 --> 00:54:34,306 einn niður, gefa það í kring, 0 flöskur af bjór á vegg. " 1341 00:54:34,306 --> 00:54:37,570 En ég ætla að vekja athygli þína á aðeins hluta af lausninni. 1342 00:54:37,570 --> 00:54:39,620 Konar ruglaður upp hér. 1343 00:54:39,620 --> 00:54:43,030 Svo virðist sem horn tilvikum myndast þegar ég jafngildir það 1344 00:54:43,030 --> 00:54:44,030 tvö gildi? 1345 00:54:44,030 --> 00:54:45,020 Áhorfendur: 2, 1. 1346 00:54:45,020 --> 00:54:46,190 DAVID J. Malan: 2 og 1. 1347 00:54:46,190 --> 00:54:48,180 Það er ekki 1 og ekki 1. 1348 00:54:48,180 --> 00:54:51,890 Það er í raun bara þessir tveir síðustu vísur af þessu lagi. 1349 00:54:51,890 --> 00:54:53,890 Svo hvað ég vil í staðinn að gera? 1350 00:54:53,890 --> 00:54:58,890 Ég virðist hafa lent í tilfelli þar sem ef ég er == til 1, 1351 00:54:58,890 --> 00:55:02,240 þá er fyrsta orðið "flaska", en annað orð 1352 00:55:02,240 --> 00:55:07,230 er "glös". En hér vil ég að breyta þessu til að vera == 2. 1353 00:55:07,230 --> 00:55:08,570 Og ef þetta er raunin, hvað ég vil að 1354 00:55:08,570 --> 00:55:09,620 fyrsta orðið að vera? 1355 00:55:09,620 --> 00:55:10,430 Áhorfendur: "Flaska". 1356 00:55:10,430 --> 00:55:12,890 DAVID J. Malan: "Flöskur", svo fyrir tveimur flöskum. 1357 00:55:12,890 --> 00:55:14,690 Og þá er þetta orð hér ætti að vera - 1358 00:55:14,690 --> 00:55:15,340 Áhorfendur: "Bottle". 1359 00:55:15,340 --> 00:55:17,316 DAVID J. Malan: "Bottle", eintölu. 1360 00:55:20,430 --> 00:55:25,160 >> Allt í lagi, við skulum súmma út, fara aftur yfir hér, með tilvísun til-hlaupa gera, 1361 00:55:25,160 --> 00:55:28,590 Re-hlaupa beer3, tegund 99 aftur. 1362 00:55:28,590 --> 00:55:30,710 Allt í lagi, "Sundurliðun kenna (algerlega varpað)." 1363 00:55:30,710 --> 00:55:32,780 Hvað hef ég gert rangt? 1364 00:55:36,050 --> 00:55:38,722 Áhorfendur: Þú þarft ekki gildi [inaudible]. 1365 00:55:38,722 --> 00:55:40,480 DAVID J. Malan: Ah, frábært lið. 1366 00:55:40,480 --> 00:55:43,310 Allt í lagi, svo hvað er rangt hérna? 1367 00:55:43,310 --> 00:55:45,450 Svo kenna skiptingu, og við erum í raun að fara að sjá 1368 00:55:45,450 --> 00:55:49,020 þetta alveg nokkrum sinnum í framtíðinni, af ásettu ráði. 1369 00:55:49,020 --> 00:55:51,030 En nú, hvað þýðir þetta í raun? 1370 00:55:51,030 --> 00:55:53,620 A skiptingu kenna næstum alltaf þýðir að þú hefur 1371 00:55:53,620 --> 00:55:56,760 einhvern veginn reynt að opna minni, RAM í tölvunni þinni, 1372 00:55:56,760 --> 00:56:00,600 sem þú átt ekki, að þú hafir ekki í raun spurt á 1373 00:56:00,600 --> 00:56:02,050 stýrikerfi fyrir. 1374 00:56:02,050 --> 00:56:04,440 Svo í þessu tilfelli, eftir því sem ég hef gert, sem er 1375 00:56:04,440 --> 00:56:05,870 gölluð í rökfræði minni. 1376 00:56:05,870 --> 00:56:09,500 Ég hef úthlutað S1 og S2 gildi ef ég er 1. 1377 00:56:09,500 --> 00:56:11,590 Ég hef líka gert það ef ég jafngildir 2. 1378 00:56:11,590 --> 00:56:13,710 En ég hef ekki gert það í óendanlega fjölda annarra 1379 00:56:13,710 --> 00:56:14,690 möguleika - 1380 00:56:14,690 --> 00:56:17,940 einkum, 3 eða 4 eða punktur, punktur, punktur, 99. 1381 00:56:17,940 --> 00:56:20,100 Svo einn festa fyrir þetta gæti bara verið við skulum 1382 00:56:20,100 --> 00:56:22,190 hafa annað ástand. 1383 00:56:22,190 --> 00:56:26,780 Og láta mig fara í hér og segja s1 jafn - 1384 00:56:26,780 --> 00:56:28,180 hvað ætti það að vera hér? 1385 00:56:28,180 --> 00:56:28,750 Áhorfendur: [inaudible]. 1386 00:56:28,750 --> 00:56:30,460 >> DAVID J. Malan: "Flöskur", því að í sameiginlegu máli, 1387 00:56:30,460 --> 00:56:32,020 það er bara það sama. 1388 00:56:32,020 --> 00:56:35,580 Svo jafnt vitna, unquote, "flaska". Svo fyrir fleirtölu 1389 00:56:35,580 --> 00:56:41,010 flöskur, og þá hérna fyrir flöskur fleirtölu. 1390 00:56:41,010 --> 00:56:44,580 Jæja, þannig að nú langar mig að fara aftur til stöðvarinnar gluggann minn, 1391 00:56:44,580 --> 00:56:47,200 laun, með tilvísun til-hlaupa það. 1392 00:56:47,200 --> 00:56:48,440 99. 1393 00:56:48,440 --> 00:56:49,150 Whew. 1394 00:56:49,150 --> 00:56:50,610 Og við skulum gera a fljótur geðheilsu stöðva. 1395 00:56:50,610 --> 00:56:52,400 Tæknilega, viljum við að lesa allar þessar til að tryggja 1396 00:56:52,400 --> 00:56:53,370 þeir eru rétt, en við skulum líta á 1397 00:56:53,370 --> 00:56:54,640 síst þekktur sökudólgur. 1398 00:56:54,640 --> 00:56:57,370 3 flöskur, 2 flöskum, 2 flöskur, 1 1399 00:56:57,370 --> 00:57:00,380 flösku, 1 flaska, 0 flöskur. 1400 00:57:00,380 --> 00:57:03,080 Við virðumst hafa að minnsta kosti ákveðið það fyrir nú. 1401 00:57:03,080 --> 00:57:06,010 En grípa hér er að hvað guð hræðilegt sóðaskapur er þetta 1402 00:57:06,010 --> 00:57:07,470 bara til að leysa heimskulegt 1403 00:57:07,470 --> 00:57:09,540 einn staf málfræði smáatriði. 1404 00:57:09,540 --> 00:57:11,150 Svo er það eins konar ástæðu sem ég klippti þetta horn 1405 00:57:11,150 --> 00:57:14,090 áðan, vegna þess að það er bara alveg pirrandi að þurfa að 1406 00:57:14,090 --> 00:57:15,020 skrifa þetta mikið kóða. 1407 00:57:15,020 --> 00:57:17,530 En það kemur í ljós að það er aðeins meira glæsilegur leiðir 1408 00:57:17,530 --> 00:57:20,110 tjá nákvæmlega það sama. 1409 00:57:20,110 --> 00:57:22,040 Og við getum gert þetta þannig. 1410 00:57:22,040 --> 00:57:23,890 >> Leyfðu mér að fara þetta á skjánum í smá stund og 1411 00:57:23,890 --> 00:57:27,320 kynna eitthvað þekktur sem ternary rekstraraðila. 1412 00:57:27,320 --> 00:57:29,600 Þetta er góður af a einn-Ferja sem er bara ætlað að gera okkar 1413 00:57:29,600 --> 00:57:31,880 býr smá sexier, eins og lofað. 1414 00:57:31,880 --> 00:57:33,130 Og ég ætla að gera þetta þannig. 1415 00:57:33,130 --> 00:57:35,810 Gefðu mér band sem heitir s1 og láta mig 1416 00:57:35,810 --> 00:57:37,200 tengja það sem hér segir. 1417 00:57:37,200 --> 00:57:39,900 (I == 1)? 1418 00:57:39,900 --> 00:57:47,820 "Flaska", annars "flöskur". String s2 fær (i == 2)? 1419 00:57:47,820 --> 00:57:52,670 "Flaska", annars "flöskur". 1420 00:57:52,670 --> 00:57:57,050 Svo hvað þá er munurinn hérna? 1421 00:57:57,050 --> 00:57:59,370 Þessar tvær línur af kóða, þá held ég, get 1422 00:57:59,370 --> 00:58:02,200 skipta þetta allt óreiðu. 1423 00:58:02,200 --> 00:58:04,280 Svo ég kalla þetta sóðaskapur, bara vegna þess að það rubs konar mig 1424 00:58:04,280 --> 00:58:05,940 röng leið að það er svo margar línur af kóða. 1425 00:58:05,940 --> 00:58:06,650 Ekki rangt. 1426 00:58:06,650 --> 00:58:07,700 Það er ekki slæmt hönnun. 1427 00:58:07,700 --> 00:58:10,140 Eins og, þetta er fullkomlega rétt og fullkomlega fínn. 1428 00:58:10,140 --> 00:58:12,970 En erfðaskrá fær leiðinlegur ef þú ert að tjá þig svo 1429 00:58:12,970 --> 00:58:15,530 fjandinn sérstaklega aftur og aftur og aftur með einfalt 1430 00:58:15,530 --> 00:58:16,620 atburðarás eins og þetta. 1431 00:58:16,620 --> 00:58:19,470 Svo hefur C Sumir flýtivísar, svona. 1432 00:58:19,470 --> 00:58:24,270 Svo þetta í raun er að segja að lýsa yfir band sem heitir S1 og 1433 00:58:24,270 --> 00:58:32,610 framselja það annaðhvort þetta gildi eða þetta gildi ef ég er == - 1434 00:58:32,610 --> 00:58:35,290 Því miður, ætti ég að segja þetta betur. 1435 00:58:35,290 --> 00:58:41,680 Lýsa breytilegum S1, framselja það þetta gildi ef þetta er satt. 1436 00:58:41,680 --> 00:58:44,280 Annars, framselja það þetta gildi. 1437 00:58:44,280 --> 00:58:47,220 Svo í öðrum orðum, þetta er tegund af a einn-lína leið 1438 00:58:47,220 --> 00:58:51,490 segja ef annað en að gera verkefni á leiðinni. 1439 00:58:51,490 --> 00:58:55,540 Svo ef ég er 1, þá fara á undan og kalla þetta "flaska". Og 1440 00:58:55,540 --> 00:58:59,830 þá er þetta annað, kalla það "flöskur". Á sama tíma, S2, sem 1441 00:58:59,830 --> 00:59:04,060 Annað orð sem við þurfum að skilgreina, ef ég jafngildir 2, munum við 1442 00:59:04,060 --> 00:59:08,350 setja s2 á "flösku". Annars, setja það á "flöskum". Og hvað 1443 00:59:08,350 --> 00:59:11,460 þetta þýðir að nú er ég að fara í gegnum þetta og eyða öllum 1444 00:59:11,460 --> 00:59:12,860 þeim línum af kóða. 1445 00:59:12,860 --> 00:59:17,220 Og þegar ég segi nokkuð hlægilegur, að þetta er nú 1446 00:59:17,220 --> 00:59:20,060 sexier er það sexier í einhverskonar stylistic skilningi. 1447 00:59:20,060 --> 00:59:22,660 Sú staðreynd að virka, þetta númer er í raun að fara að 1448 00:59:22,660 --> 00:59:24,610 gera nákvæmlega það sama. 1449 00:59:24,610 --> 00:59:26,890 Og jafnvel þó það gæti litið svolítið dulinn í fyrstu 1450 00:59:26,890 --> 00:59:29,250 tillit, því að við höfum ekki séð þessa reisa áður, myndi ég 1451 00:59:29,250 --> 00:59:31,850 halda því fram að það er á endanum að fara að vera svo miklu meira 1452 00:59:31,850 --> 00:59:34,820 læsileg og svo miklu auðveldara fyrir við mennirnir að raða á 1453 00:59:34,820 --> 00:59:36,830 skilja, því að nú getur þú bara að lesa 1454 00:59:36,830 --> 00:59:38,830 kóða allt í einni línu. 1455 00:59:38,830 --> 00:59:41,550 Það er samt svipað í anda að ef, ef þetta er 1456 00:59:41,550 --> 00:59:44,920 ástand og þá er þetta það sem er inni í ef og þetta 1457 00:59:44,920 --> 00:59:46,480 er það sem er inni í annað. 1458 00:59:46,480 --> 00:59:49,450 En við getum gert þetta bara miklu meira glæsilegur. 1459 00:59:49,450 --> 00:59:52,650 >> Og ef ég fer nú aftur í flugstöðinni minn, hafa eytt öllum 1460 00:59:52,650 --> 00:59:55,530 af þessum línum og skipta þeim bara þá tvo, 1461 00:59:55,530 --> 01:00:00,150 laun, með tilvísun til-hlaupa flöskur af bjór með 99, tilkynning um að minn 1462 01:00:00,150 --> 01:00:03,350 málfræði er í raun, samt rétt. 1463 01:00:03,350 --> 01:00:06,160 Svo aftur, eitthvað til að byrja. 1464 01:00:06,160 --> 01:00:08,840 2 flöskur af bjór, 1 flaska af bjór. 1465 01:00:08,840 --> 01:00:09,370 Lítur til hægri. 1466 01:00:09,370 --> 01:00:10,100 Já. 1467 01:00:10,100 --> 01:00:13,900 Svo þar höfum við miklu meira gagnorða lausn. 1468 01:00:13,900 --> 01:00:16,020 Svo þetta líka, eins og þú fá öruggari með C, ekki 1469 01:00:16,020 --> 01:00:18,630 endilega við fyrstu pset eða jafnvel annað, en 1470 01:00:18,630 --> 01:00:21,170 átta sig á að þessi Býr geta leyfa okkur að gera það alltaf 1471 01:00:21,170 --> 01:00:22,810 meira glæsilegur. 1472 01:00:22,810 --> 01:00:25,200 Nú skulum gera eitt annað hlutur hér. 1473 01:00:25,200 --> 01:00:31,460 Leyfðu mér að fara á undan og opna return1.c. 1474 01:00:31,460 --> 01:00:34,340 Nú skulum byrja að leysa annað vandamál á þann hátt að 1475 01:00:34,340 --> 01:00:37,140 gerir okkur kleift að skrifa flóknari kóða. 1476 01:00:37,140 --> 01:00:39,960 >> Svo hér er einfalt lítið forrit sem tilgang í lífinu 1477 01:00:39,960 --> 01:00:41,870 er að hækka gildi. 1478 01:00:41,870 --> 01:00:43,100 Og í raun, við skulum taka skref til baka. 1479 01:00:43,100 --> 01:00:44,400 Leyfðu mér að gera þetta handvirkt. 1480 01:00:44,400 --> 01:00:52,200 Leyfðu mér að gera eru og int main (tóm). 1481 01:00:52,200 --> 01:00:53,450 Og láta mig kalla þetta increment.c. 1482 01:00:57,150 --> 01:00:58,570 Og hvað vil ég gera? 1483 01:00:58,570 --> 01:01:02,240 Ég ætla að fara á undan og segja eitthvað eins og - 1484 01:01:02,240 --> 01:01:04,280 munum við kalla tölurnar sama - 1485 01:01:04,280 --> 01:01:04,980 int x. 1486 01:01:04,980 --> 01:01:13,670 Svo fær int x 2, printf x er% d, nýja línu, x. 1487 01:01:13,670 --> 01:01:16,780 Þannig að ég er að skrifa hratt, en svona þekki efni núna. 1488 01:01:16,780 --> 01:01:18,830 Og ég ætla að gera x + +. 1489 01:01:18,830 --> 01:01:21,710 Og ég ætla að prenta þessi sömu setningu aftur. 1490 01:01:21,710 --> 01:01:24,550 Og svo ætla ég að fara aftur 0 bara að hætta í forritinu. 1491 01:01:24,550 --> 01:01:25,960 Allt í lagi, þannig að þetta er forrit sem 1492 01:01:25,960 --> 01:01:26,960 þrepum tala. 1493 01:01:26,960 --> 01:01:29,830 Það er fyrst að fara að frumstilla eitthvað til 2, og þá er það 1494 01:01:29,830 --> 01:01:33,470 fara að hækka það og prenta það aftur. 1495 01:01:33,470 --> 01:01:36,930 >> Svo við skulum hlaupa vöxtur, ótrúlega einfalt forrit. 1496 01:01:36,930 --> 01:01:40,940 En ætla nú að ég vil teningur gildi, svo ekki 1497 01:01:40,940 --> 01:01:42,490 eitthvað nokkuð handahófskennt. 1498 01:01:42,490 --> 01:01:45,140 Og ég vil í raun og veru að gera x fær teningur af því. 1499 01:01:45,140 --> 01:01:47,570 Þannig að ég gæti notað það sem heitir Pow virka, en ég er ekki 1500 01:01:47,570 --> 01:01:48,650 raunverulega vita hvar það er enn. 1501 01:01:48,650 --> 01:01:50,580 Þannig að ég ætla að gera þetta á gamaldags hátt. 1502 01:01:50,580 --> 01:01:54,550 x sinnum þetta jafngildir x sinnum x sinnum x. 1503 01:01:54,550 --> 01:01:56,880 Þannig að ég ætla cubing gildi, margfalda það með sér aftur 1504 01:01:56,880 --> 01:02:00,440 og aftur og aftur, svo að við fáum orku 1505 01:02:00,440 --> 01:02:02,050 3 í þessu tilfelli. 1506 01:02:02,050 --> 01:02:06,000 Svo nú tölurnar ég ætti að prenta ætti að vera, eins og við munum sjá 1507 01:02:06,000 --> 01:02:08,450 hér - að vöxtur, svo það er í raun ekki raunverulega hækka 1508 01:02:08,450 --> 01:02:10,260 lengur, en við munum láta nafn einn - 1509 01:02:10,260 --> 01:02:11,590 2 og svo 8. 1510 01:02:11,590 --> 01:02:17,670 Nú höfum við upphaf tækifæri fyrir fágun 1511 01:02:17,670 --> 01:02:21,570 hér, þar sem þetta cubing hlutur af margfalda fjölda 1512 01:02:21,570 --> 01:02:24,680 af sjálfu sér af sjálfu sér af sjálfu sér finnst eins og þetta gæti bara verið 1513 01:02:24,680 --> 01:02:27,920 gagnlegt að hafa sem fall, mikið eins og einhver ákvað 1514 01:02:27,920 --> 01:02:30,430 árum - þú veist, eins konar gagnlegt ef einn af okkur sest 1515 01:02:30,430 --> 01:02:33,120 og skrifar printf þannig að restin af heiminum getur notað það, 1516 01:02:33,120 --> 01:02:36,160 af hverju eigum við ekki að setjast niður og skrifa fall sem kallast teningur 1517 01:02:36,160 --> 01:02:39,250 sem gerir þetta cubing fyrir okkur svo við þurfum ekki að handvirkt 1518 01:02:39,250 --> 01:02:41,500 innleiða hugmyndina um cubing gildi hér? 1519 01:02:41,500 --> 01:02:44,040 >> Svo einfalt dæmi, en við skulum fara á undan og nota þetta eins og er 1520 01:02:44,040 --> 01:02:46,280 tækifæri til að skrifa eigin virkni okkar. 1521 01:02:46,280 --> 01:02:49,110 Svo svona langt, höfum við bara notað helstu, og við höfum notað annað 1522 01:02:49,110 --> 01:02:51,780 aðgerðir fólks, en við höfum ekki skrifað okkar eigin. 1523 01:02:51,780 --> 01:02:52,650 Svo hér við fara. 1524 01:02:52,650 --> 01:02:56,330 Ég ætla að fara á undan og skrifa fall sem kallast teningur. 1525 01:02:56,330 --> 01:02:58,490 Og ég ætla að hafa það taka inntak. 1526 01:02:58,490 --> 01:03:02,070 Svo inntak hennar er að fara að vera heil tala. 1527 01:03:02,070 --> 01:03:03,570 Og hvað er það að fara að gera? 1528 01:03:03,570 --> 01:03:08,500 Það er að fara að lýsa int framleiðsla = inntak sinnum inntak 1529 01:03:08,500 --> 01:03:09,880 sinnum inntak. 1530 01:03:09,880 --> 01:03:12,190 Og þá er að fara að fara aftur að framleiðsla. 1531 01:03:12,190 --> 01:03:14,500 Og þá þarf ég að vera nákvæm núna. 1532 01:03:14,500 --> 01:03:16,820 Þessi aðgerð er að fara að skila int. 1533 01:03:16,820 --> 01:03:19,130 Svo hér er þá hvernig þú vilt að skrifa eigin aðgerðir þínar. 1534 01:03:19,130 --> 01:03:20,850 Þú ákveður fyrst hvað er nafn af þinn 1535 01:03:20,850 --> 01:03:21,720 virka að fara að vera. 1536 01:03:21,720 --> 01:03:23,964 Og almennt, eitthvað skýringar er gott, þannig að ég 1537 01:03:23,964 --> 01:03:25,060 kalla það teningur. 1538 01:03:25,060 --> 01:03:27,180 Síðan sem þú þarft að tilgreina hvað það er að fara að koma aftur, það er 1539 01:03:27,180 --> 01:03:28,240 framleiðsla þess að fara til vera. 1540 01:03:28,240 --> 01:03:29,595 Og við höfum ekki marga möguleika enn. 1541 01:03:29,595 --> 01:03:32,260 Int, bleikju, fljóta, bool, band. 1542 01:03:32,260 --> 01:03:34,260 Fyrir nú, ég ætla að standa með int, því ég vil það 1543 01:03:34,260 --> 01:03:35,880 að skila heiltölu. 1544 01:03:35,880 --> 01:03:38,770 Þá verður þú að tilgreina það inntak þess, ef einhverjar eru, eru. 1545 01:03:38,770 --> 01:03:41,570 Og ef teningur tekur rifrildi, fer eitthvað á milli 1546 01:03:41,570 --> 01:03:44,970 sviga, þú þarft að gefa þessi rök nafn þannig að 1547 01:03:44,970 --> 01:03:47,860 þú getur hringt í það eitthvað sem þú ert að framkvæma eða skrifa 1548 01:03:47,860 --> 01:03:50,550 Þessi aðgerð, og þú verður að gefa það a tegund, sem í þessu 1549 01:03:50,550 --> 01:03:51,810 Málið er að fara að vera int. 1550 01:03:51,810 --> 01:03:54,690 Svo í stuttu máli, teningur er fall sem tekur heiltölu 1551 01:03:54,690 --> 01:03:57,560 sem inntak og skilar heiltölu sem framleiðsla. 1552 01:03:57,560 --> 01:03:59,240 >> Svo hvað þýðir það að gera með að inntak? 1553 01:03:59,240 --> 01:04:03,710 Jæja, í línu 14, lýsa ég breytu sem heitir framleiðsla og ég 1554 01:04:03,710 --> 01:04:07,410 framselja það gildi, inntak sinnum inntak sinnum inntak. 1555 01:04:07,410 --> 01:04:11,490 Og svo ég aftur framleiðsla. 1556 01:04:11,490 --> 01:04:14,890 Svo hvernig nota ég þetta þá? 1557 01:04:14,890 --> 01:04:19,210 Hvað get ég breytt þessum hápunktur stafir á línu 1558 01:04:19,210 --> 01:04:21,006 7 að, finnst þér? 1559 01:04:21,006 --> 01:04:21,800 Áhorfendur: [inaudible]. 1560 01:04:21,800 --> 01:04:25,570 DAVID J. Malan: Já, svo teningur af x. 1561 01:04:25,570 --> 01:04:28,290 Svo er x er breyta, sem þýðir að það hefur sumir gildi. 1562 01:04:28,290 --> 01:04:30,190 Sem betur fer er það í heiltölu tegund. 1563 01:04:30,190 --> 01:04:34,280 Og af því að x er int, sem þýðir að ég get að gefa það í teningur. 1564 01:04:34,280 --> 01:04:39,500 Og jafnvel þó að ég er ríkari gildi x og gildi 1565 01:04:39,500 --> 01:04:42,780 á x teningur, eins og hefur verið raunin hingað til, hvenær sem þú 1566 01:04:42,780 --> 01:04:46,150 hafa jafnan tákn og línu af kóða, efni til hægri 1567 01:04:46,150 --> 01:04:49,090 gets keyrð og þá fær úthlutað til 1568 01:04:49,090 --> 01:04:50,150 gildi á vinstri. 1569 01:04:50,150 --> 01:04:52,950 Þannig er röð aðgerða sem við myndum vona. 1570 01:04:52,950 --> 01:04:56,620 Svo virkar þetta? 1571 01:04:56,620 --> 01:04:58,410 Jæja, láttu mig fara niður. 1572 01:04:58,410 --> 01:04:59,970 Leyfðu mér að opna Terminal gluggann minn. 1573 01:04:59,970 --> 01:05:03,610 Leyfðu mér að gera vöxtur, Enter. 1574 01:05:03,610 --> 01:05:07,140 "Óbeinir yfirlýsing 'teningur' aðgerð er ógild í 1575 01:05:07,140 --> 01:05:13,700 C99. "Sem innskot, C99 er átt við tungumál C eins og það var 1576 01:05:13,700 --> 01:05:16,790 skilgreind árið 1999, sem var að uppfæra yfir útgáfu frá 1577 01:05:16,790 --> 01:05:19,360 1989, sem er uppfærsla á upprunalega. 1578 01:05:19,360 --> 01:05:21,740 Svo er það allt sem þýðir. 1579 01:05:21,740 --> 01:05:24,250 >> Og hvað þýðir það að "óbeina yfirlýsingu um 1580 01:05:24,250 --> 01:05:26,790 'teningur' aðgerð er ógild? "Það er hérna. 1581 01:05:26,790 --> 01:05:28,430 Það er rétt þar í línu 12. 1582 01:05:28,430 --> 01:05:30,460 Áhorfendur: [inaudible]. 1583 01:05:30,460 --> 01:05:30,730 DAVID J. Malan: Hvað er það? 1584 01:05:30,730 --> 01:05:32,470 Áhorfendur: Það er ekki áður. 1585 01:05:32,470 --> 01:05:33,540 DAVID J. Malan: Það er ekki áður. 1586 01:05:33,540 --> 01:05:34,740 Svo er þetta málið. 1587 01:05:34,740 --> 01:05:38,190 C er góður af heimskur, eða C þýðendur eru eins konar heimskur. 1588 01:05:38,190 --> 01:05:41,060 Þeir í raun bara að gera það sem þú segir þeim að gera. 1589 01:05:41,060 --> 01:05:44,770 Og þeir, einkum aðeins lesið kóða efst til botn, 1590 01:05:44,770 --> 01:05:45,620 vinstri til hægri. 1591 01:05:45,620 --> 01:05:49,140 Svo ef að þýðandinn, Clang, er að lesa kóðann, lína 1, það 1592 01:05:49,140 --> 01:05:50,120 tölur út hvernig á að gera þetta. 1593 01:05:50,120 --> 01:05:50,940 Ó, hér kemur aðal. 1594 01:05:50,940 --> 01:05:53,000 Jæja, láttu mig fara á undan og lýsa breytu x. 1595 01:05:53,000 --> 01:05:54,160 Leyfðu mér að prenta eitthvað. 1596 01:05:54,160 --> 01:05:55,890 Line 7, hvað Heck er teningur? 1597 01:05:55,890 --> 01:05:58,230 Það er ekki lýst í stdio.h. 1598 01:05:58,230 --> 01:06:00,950 Það þýðir ekki að koma með C. Ég hef ekki hugmynd um hvað á að gera. 1599 01:06:00,950 --> 01:06:03,960 Og svo bails Clang bara og hættir með þeim villa skilaboð. 1600 01:06:03,960 --> 01:06:05,850 Þannig að við getum lagað þetta í nokkra vegu. 1601 01:06:05,850 --> 01:06:10,530 Við getum kennt Clang hvaða teningur er bara að færa þar sem 1602 01:06:10,530 --> 01:06:11,820 yfirlýsing er. 1603 01:06:11,820 --> 01:06:14,640 Svo ég klippt og límt hann á topp helstu. 1604 01:06:14,640 --> 01:06:17,770 Nú ljóst að bara vegna þess að helstu er ekki lengur fyrst það er 1605 01:06:17,770 --> 01:06:19,150 enn keyrð sjálfkrafa. 1606 01:06:19,150 --> 01:06:20,060 Main er aðal. 1607 01:06:20,060 --> 01:06:21,022 Það er virka sjálfgefið nafn. 1608 01:06:21,022 --> 01:06:22,930 Það skiptir ekki máli þar sem það er í skránni. 1609 01:06:22,930 --> 01:06:26,910 En að minnsta kosti nú Clang hefur séð teningur áður en ég nota það. 1610 01:06:26,910 --> 01:06:28,500 Svo skulum sjá hvort Clang er ánægðari núna. 1611 01:06:28,500 --> 01:06:31,410 Gera vöxtur, gerði það saman að þessu sinni. 1612 01:06:31,410 --> 01:06:33,060 >> Leyfðu mér að hlaupa vöxtur. 1613 01:06:33,060 --> 01:06:34,810 Og reyndar virðist vera að vinna. 1614 01:06:34,810 --> 01:06:36,810 Nú getur þú komið upp með atburðarás endanum þar 1615 01:06:36,810 --> 01:06:38,650 það er ekki gerlegt að setja alla virka 1616 01:06:38,650 --> 01:06:39,740 yfir öll önnur starfsemi. 1617 01:06:39,740 --> 01:06:42,140 Þú munt fá fastur í óendanlega lykkju í raun og veru, 1618 01:06:42,140 --> 01:06:43,480 þar sem þessi strákur vill vera hér, en þetta 1619 01:06:43,480 --> 01:06:44,390 strákur þarf að vera þar. 1620 01:06:44,390 --> 01:06:45,830 Svo það þýðir ekki alltaf að vinna. 1621 01:06:45,830 --> 01:06:49,020 Svo sem betur fer, C hefur meira glæsilegur lausn. 1622 01:06:49,020 --> 01:06:50,790 Ég ætla að setja þetta aftur þar sem það var bara vegna þess að ég 1623 01:06:50,790 --> 01:06:53,390 kjósa, eins og spurning um lögmál, að helsta vera alltaf 1624 01:06:53,390 --> 01:06:55,550 efst, því það er bara gaman að sjá hvað þetta forrit 1625 01:06:55,550 --> 01:06:56,920 er sjálfgefið. 1626 01:06:56,920 --> 01:06:58,950 Og hvað ætla ég að gera upp hér er lýsa hvað heitir 1627 01:06:58,950 --> 01:07:00,250 frumgerð. 1628 01:07:00,250 --> 01:07:05,730 Ég ætla að koma aftur lýsa teningur virka minn því bókstaflega 1629 01:07:05,730 --> 01:07:07,180 afrita og líma. 1630 01:07:07,180 --> 01:07:08,290 Raunverulega, það er ekki bókstaflega. 1631 01:07:08,290 --> 01:07:13,060 Svo bókstaflega afrita og líma línu 15 1632 01:07:13,060 --> 01:07:15,160 fyrir ofan línu 6. 1633 01:07:15,160 --> 01:07:17,010 Það skiptir ekki máli hvaða lína þetta endar á. 1634 01:07:17,010 --> 01:07:18,380 Það gerist að vera á línu 4. 1635 01:07:18,380 --> 01:07:19,950 En það þarf að vera áður en aðal. 1636 01:07:19,950 --> 01:07:21,150 En taka mismuninn. 1637 01:07:21,150 --> 01:07:24,100 Line 4 endar á semíkommu, sem þýðir hey, 1638 01:07:24,100 --> 01:07:27,510 Clang, taka minn orð fyrir það að það er að virka 1639 01:07:27,510 --> 01:07:31,350 kallast teningur sem tekur við int og skilar int. 1640 01:07:31,350 --> 01:07:33,020 En ég er ekki ađ segja þér hvað það er ennþá. 1641 01:07:33,020 --> 01:07:35,180 Bara veit að ég lofa að segja þér að lokum. 1642 01:07:35,180 --> 01:07:38,490 Og reyndar, nú er það allt í lagi því að þetta er fyrir neðan. 1643 01:07:38,490 --> 01:07:41,275 >> Svo er þetta yfirleitt betra, því þá efst 1644 01:07:41,275 --> 01:07:44,240 skrá, getur þú bara skrölt burt, hraður-eldur, einni línu 1645 01:07:44,240 --> 01:07:46,470 hvor, hvaða nöfn aðgerðir eru, hvað þeirra 1646 01:07:46,470 --> 01:07:49,120 aðföng eru, hvað framleiðsla þeirra. 1647 01:07:49,120 --> 01:07:52,210 Og til að vera skýr, inntak þýðir yfirleitt rök eða 1648 01:07:52,210 --> 01:07:54,110 breytu, samheiti. 1649 01:07:54,110 --> 01:07:56,890 Output þýðir aftur gildi, hvað er það 1650 01:07:56,890 --> 01:07:58,700 vegar aftur til mín. 1651 01:07:58,700 --> 01:08:03,420 Þannig að í þessu tilfelli hér, hefur teningur verið lýst efst, en 1652 01:08:03,420 --> 01:08:06,940 skilgreint, annars þekkt sem framkvæmd, neðst. 1653 01:08:06,940 --> 01:08:09,620 Svo nú skulum við fara aftur hingað og aftur keyra þetta. 1654 01:08:09,620 --> 01:08:13,430 Svo nú langar mig að fara á undan og aftur hlaupa gera, með tilvísun til-hlaupa vöxtur. 1655 01:08:13,430 --> 01:08:16,500 Og það virðist nú vera að vinna bara fínt. 1656 01:08:16,500 --> 01:08:19,450 Svo nú getum við farið fram og þáttur út eitthvað eins og 1657 01:08:19,450 --> 01:08:23,720 bjór dæmi í þessari fjórðu útgáfu. 1658 01:08:23,720 --> 01:08:25,590 Svo láta mig að fletta niður. 1659 01:08:25,590 --> 01:08:28,149 Og eftir að ég tók svona þessa lexíu á hjarta núna. 1660 01:08:28,149 --> 01:08:31,140 Sú staðreynd að ég var að syngja á sama vísu aftur og 1661 01:08:31,140 --> 01:08:34,130 aftur og aftur, sama kór línu í laginu, fannst 1662 01:08:34,130 --> 01:08:36,439 eins af hverju ekki ég þáttur sem út í aðgerð? 1663 01:08:36,439 --> 01:08:38,470 Og reyndar, þetta ætti að vera einn af þeim motivations. 1664 01:08:38,470 --> 01:08:40,960 Auk þess að einhver annar í heiminum gæti langað 1665 01:08:40,960 --> 01:08:42,390 að nota teningur virka - 1666 01:08:42,390 --> 01:08:44,560 það er góð ástæða til að þáttur eitthvað út og skrifa skýrsluna í 1667 01:08:44,560 --> 01:08:45,720 eigin sérsniðnum virka - 1668 01:08:45,720 --> 01:08:48,720 ef það er klumpur af kóða í forritinu sem bara gerir 1669 01:08:48,720 --> 01:08:51,370 huglæg tilfinning, sem langar að gefa það a 1670 01:08:51,370 --> 01:08:53,740 nafn - eins og í þessu tilviki, kór - 1671 01:08:53,740 --> 01:08:57,380 þá getur þú álíka skrifa það sem sérstakt hlutverk. 1672 01:08:57,380 --> 01:08:59,560 Þú þarft ekki að skrifa allt í helstu ef það bara 1673 01:08:59,560 --> 01:09:02,609 finnst hreinni að skilja það út og gefa það a nafn. 1674 01:09:02,609 --> 01:09:05,529 >> Þannig að í þessu tilfelli hér, eftir að ég hef athugasemd topp 1675 01:09:05,529 --> 01:09:06,859 þessi aðgerð sem bara syngur um 1676 01:09:06,859 --> 01:09:08,630 tilgreind fjöldi flöskur. 1677 01:09:08,630 --> 01:09:10,609 Tilkynning hér að ég þarf ekki að hringja í þetta 1678 01:09:10,609 --> 01:09:12,520 það inntak og úttak. 1679 01:09:12,520 --> 01:09:16,090 Í staðreynd, í þetta sinn ég kallaði bara inntak b mitt fyrir flösku. 1680 01:09:16,090 --> 01:09:19,960 Og taka hér ógilt bendir hvað? 1681 01:09:19,960 --> 01:09:21,309 Það Viðlag - 1682 01:09:21,309 --> 01:09:22,660 Áhorfendur: Er ekki skila henni. 1683 01:09:22,660 --> 01:09:23,870 DAVID J. Malan: Er ekki skila gildi. 1684 01:09:23,870 --> 01:09:26,800 Og reyndar ekki aðgerðir ekki að skila gildi. 1685 01:09:26,800 --> 01:09:28,060 Þeir geta bara gert eitthvað. 1686 01:09:28,060 --> 01:09:30,270 Þeir geta haft það sem kallast aukaverkunum, sem í þessu 1687 01:09:30,270 --> 01:09:33,109 málið er bara allt fullt af prentun á skjánum. 1688 01:09:33,109 --> 01:09:36,580 Svo eftir að þetta númer hérna, ég bókstaflega bara stolið frá 1689 01:09:36,580 --> 01:09:37,680 fyrra dæmi. 1690 01:09:37,680 --> 01:09:39,930 Eini munurinn er að í stað þess að nota i sem mín 1691 01:09:39,930 --> 01:09:42,890 breyta, ég er nú að nota b sem breytu minn. 1692 01:09:42,890 --> 01:09:45,880 Þannig að ég hef b niður hérna, ég hef b niður hérna, ég hef b 1693 01:09:45,880 --> 01:09:47,109 mínus 1 hérna. 1694 01:09:47,109 --> 01:09:49,279 En númerið er nákvæmlega sú sama. 1695 01:09:49,279 --> 01:09:52,529 En bara til að sýna þér nú hvernig við getum notað það, láta mig fara 1696 01:09:52,529 --> 01:09:56,780 undan og í raun breyta þessu að vera fyrir lykkja. 1697 01:09:56,780 --> 01:10:03,850 fyrir (INT i = n, i> n; i -). 1698 01:10:03,850 --> 01:10:06,230 >> Þannig að ég hef stolið því frá fyrra dæmi okkar. 1699 01:10:06,230 --> 01:10:08,970 Fyrr er það í línu 37 að ég myndi hafa byrjað 1700 01:10:08,970 --> 01:10:10,640 syngja þetta pirrandi lag. 1701 01:10:10,640 --> 01:10:15,810 En í staðinn er ég bara að fara að nú kalla kór i. 1702 01:10:15,810 --> 01:10:16,870 Lokið. 1703 01:10:16,870 --> 01:10:20,260 Svo nú í hvert endurtekning þessa lykkju, ég kalla þetta annað 1704 01:10:20,260 --> 01:10:22,220 virka, kór, að ég varð að skrifa. 1705 01:10:22,220 --> 01:10:24,110 Það var ekki skrifað af einhverjum öðrum árum. 1706 01:10:24,110 --> 01:10:27,930 En kór, á meðan notar printf að prenta 1707 01:10:27,930 --> 01:10:29,840 út þessum fjórum línum. 1708 01:10:29,840 --> 01:10:32,720 En sú staðreynd að ég er að hringja kór aftur og aftur í 1709 01:10:32,720 --> 01:10:35,900 lykkja þýðir að ég ætla að fá, aftast, sem 1710 01:10:35,900 --> 01:10:39,310 nákvæmlega sama lagið og ég hef hingað til. 1711 01:10:39,310 --> 01:10:42,130 Svo í stuttu máli, nú ef ég lít til baka á númerið mitt, jafnvel þótt 1712 01:10:42,130 --> 01:10:44,240 virkni er þetta sambærilegt, eftir að það er 1713 01:10:44,240 --> 01:10:46,020 farin að fá enn læsilegri. 1714 01:10:46,020 --> 01:10:48,410 Ég veit ekki nákvæmlega vita hversu GetInt 1715 01:10:48,410 --> 01:10:49,250 er hrint í framkvæmd. 1716 01:10:49,250 --> 01:10:52,050 Frankly, ég veit ekki hvernig kór er hrint í framkvæmd. 1717 01:10:52,050 --> 01:10:52,970 En það skiptir ekki máli við mig. 1718 01:10:52,970 --> 01:10:55,620 Mér er alveg sama, því nú get ég svoleiðis, sem mönnum, að lesa 1719 01:10:55,620 --> 01:10:57,050 þetta frá toppi til botn. 1720 01:10:57,050 --> 01:10:59,950 Og vegna þess að aðgerðir eru nefnd í samræmi við það sem þeir 1721 01:10:59,950 --> 01:11:02,910 gera, númerið mitt er sífellt læsileg. 1722 01:11:02,910 --> 01:11:05,190 Og eins og áætlanir okkar fá miklu flóknari - 1723 01:11:05,190 --> 01:11:07,220 í lok hverrar annar, verður þú að vera að skrifa nokkur hundruð línur 1724 01:11:07,220 --> 01:11:10,970 af kóða í tungumálum eins og PHP og JavaScript og þess háttar - 1725 01:11:10,970 --> 01:11:13,550 þú munt komast að því að það er svo miklu auðveldara en að halda utan um 1726 01:11:13,550 --> 01:11:14,080 hvað þú hefur gert. 1727 01:11:14,080 --> 01:11:15,810 Og þegar þú byrjar að vinna með vinum eða 1728 01:11:15,810 --> 01:11:19,010 samstarfsaðila eða vinnufélaga, munt þú vera fær um að skrifa miklu meira 1729 01:11:19,010 --> 01:11:22,910 gegnheill forrit eftir að byrja að æfa þetta undirstöðu 1730 01:11:22,910 --> 01:11:23,990 byggja blokkir. 1731 01:11:23,990 --> 01:11:25,550 >> Svo með því að segja, hví ekki við kalla það einn dag? 1732 01:11:25,550 --> 01:11:27,190 Og við munum sjá þig á miðvikudag. 1733 01:11:27,190 --> 01:11:33,611 [Lófaklapp]