1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [Kafli 4] [Minna Comfortable] 2 00:00:02,000 --> 00:00:04,000 [Nate Hardison] [Harvard University] 3 00:00:04,000 --> 00:00:07,000 [Þetta er CS50.] [CS50.TV] 4 00:00:07,000 --> 00:00:10,000 >> Allt í lagi, velkominn aftur til kafla. 5 00:00:10,000 --> 00:00:13,000 Í kafla í þessari viku ætlum við að gera nokkra hluti. 6 00:00:13,000 --> 00:00:17,000 Við erum að fara í fyrsta ágrip Problem Set 2, 7 00:00:17,000 --> 00:00:20,000 sem er Caesar og Vigenère vandamál setja. 8 00:00:20,000 --> 00:00:23,000 Og svo við erum að fara að kafa í Quiz 0 endurskoðun 9 00:00:23,000 --> 00:00:26,000 og eyða smá tíma recapping það sem við höfum talað um 10 00:00:26,000 --> 00:00:30,000 í hvert fyrirlestrum svo langt, og við munum einnig gera nokkur vandamál 11 00:00:30,000 --> 00:00:32,000 frá Skyndipróf fyrra ári. 12 00:00:32,000 --> 00:00:36,000 Þannig að þú krakkar hafa góð leið til að undirbúa það. 13 00:00:36,000 --> 00:00:40,000 >> Til að byrja, ég hef stígvélum upp nokkrar góðar lausnir 14 00:00:40,000 --> 00:00:45,000 fyrir fyrri vandamál setja, Problem Set 2, í þessu rými. 15 00:00:45,000 --> 00:00:48,000 Ef þið högg allir þennan tengil 16 00:00:48,000 --> 00:00:53,000 og ef þú smellir á nafnið mitt og smelltu á fyrstu endurskoðun mína 17 00:00:53,000 --> 00:00:56,000 þú munt sjá caesar.c, sem er nákvæmlega það sem ég er að horfa á. 18 00:00:56,000 --> 00:01:00,000 Við skulum tala um þetta mjög fljótt. 19 00:01:00,000 --> 00:01:02,000 Þetta er bara sýnishorn lausn. 20 00:01:02,000 --> 00:01:05,000 Þetta er ekki endilega hið fullkomna lausn. 21 00:01:05,000 --> 00:01:08,000 Það eru til margar mismunandi leiðir til að skrifa þetta, 22 00:01:08,000 --> 00:01:10,000 en það eru nokkur atriði sem ég vildi benda 23 00:01:10,000 --> 00:01:13,000 sem ég sá þegar ég var að flokka, algengar mistök sem ég held 24 00:01:13,000 --> 00:01:18,000 Þessi lausn er mjög gott starf við meðhöndlun. 25 00:01:18,000 --> 00:01:22,000 >> Í fyrsta lagi er að hafa einhvers konar athugasemd haus efst. 26 00:01:22,000 --> 00:01:25,000 Á línum 1 til 7 að sjá upplýsingar, 27 00:01:25,000 --> 00:01:28,000 Hvað nákvæmlega þetta forrit er að gera. 28 00:01:28,000 --> 00:01:32,000 Góð staðall æfa þegar þú ert að skrifa C kóða 29 00:01:32,000 --> 00:01:35,000 óháð ef forritið þitt er að finna á einum skrá eða 30 00:01:35,000 --> 00:01:38,000 hvort sem það er skipt yfir margar skrár er að hafa einhvers konar 31 00:01:38,000 --> 00:01:40,000 orienting athugasemd efst. 32 00:01:40,000 --> 00:01:43,000 Þetta er líka fyrir fólk sem fara út og skrifa kóða í hinum raunverulega heimi. 33 00:01:43,000 --> 00:01:47,000 Þetta er þar sem þeir ætla að setja upplýsingar um höfundarrétt. 34 00:01:47,000 --> 00:01:50,000 Hér fyrir neðan eru # felur. 35 00:01:50,000 --> 00:01:55,000 Á línu 16 Það er þetta # skilgreina, sem við munum koma aftur í bara smá. 36 00:01:55,000 --> 00:01:59,000 Og svo þegar byrjar að virka, þegar helstu hefst, 37 00:01:59,000 --> 00:02:03,000 vegna þess að þetta forrit hefur verið allt í einum virka 38 00:02:03,000 --> 00:02:09,000 The mjög fyrstur hlutur sem gerist og þetta er mjög beita og dæmigerð C program 39 00:02:09,000 --> 00:02:14,000 sem tekur á lína rök-er að tékka strax 40 00:02:14,000 --> 00:02:18,000 >> fyrir þau rök telja, argc. 41 00:02:18,000 --> 00:02:24,000 Hérna sjáum við að þetta forrit er von 2 rök nákvæmlega. 42 00:02:24,000 --> 00:02:27,000 Mundu að það sem fyrst rök það er sérstakt 43 00:02:27,000 --> 00:02:29,000 það er alltaf nafn forritsins sem er að hlaupa, 44 00:02:29,000 --> 00:02:31,000 nafn á executable skrá. 45 00:02:31,000 --> 00:02:36,000 Og svo það sem þetta gerir er að það kemur í veg fyrir að notandi frá að keyra forrit 46 00:02:36,000 --> 00:02:42,000 með fleiri eða færri rök. 47 00:02:42,000 --> 00:02:44,000 Ástæðan að við viljum athuga þetta strax er vegna 48 00:02:44,000 --> 00:02:52,000 Við getum í raun ekki aðgang að þessum argv array hérna áreiðanlegum 49 00:02:52,000 --> 00:02:55,000 fyrr en við höfum athugað að sjá hversu stór hún er. 50 00:02:55,000 --> 00:02:58,000 >> Einn af the sameiginlegur villur ég sá var fólk myndi strax fara í 51 00:02:58,000 --> 00:03:01,000 og grípa argv [1]. 52 00:03:01,000 --> 00:03:06,000 Þeir myndu grípa helstu rök úr array og gera a til i að kíkja á það, 53 00:03:06,000 --> 00:03:11,000 og þeir myndu gera próf fyrir argc og næsta próf, 54 00:03:11,000 --> 00:03:16,000 hvort fyrsta rifrildi var örugglega heiltala á sama tíma, 55 00:03:16,000 --> 00:03:20,000 og það virkar ekki vegna þess að um sé að ræða að það eru engin rök til staðar 56 00:03:20,000 --> 00:03:26,000 þú munt vera grabbing rifrildi sem er ekki þarna eða reyna að grípa einn sem er ekki þarna. 57 00:03:26,000 --> 00:03:29,000 >> Önnur stór hlutur sem þú ættir að taka eftir er að 58 00:03:29,000 --> 00:03:32,000 þú vilt alltaf að prenta út einhvers konar gagnlegum villuboð 59 00:03:32,000 --> 00:03:34,000 að notandanum að Austurlöndum þá. 60 00:03:34,000 --> 00:03:37,000 Ég er viss um að þú hafir öll keyra forrit þegar allt í einu hún frýs, 61 00:03:37,000 --> 00:03:41,000 og þú færð þetta fáránlega litla glugga sem birtist og segir 62 00:03:41,000 --> 00:03:44,000 eitthvað hræðilega Cryptic og kannski gefur þér villa merkjamál eða eitthvað svoleiðis 63 00:03:44,000 --> 00:03:47,000 sem gerir ekkert vit. 64 00:03:47,000 --> 00:03:50,000 Þetta er þar sem þú vilt virkilega til að veita eitthvað gagnlegt 65 00:03:50,000 --> 00:03:54,000 og miða til notanda þannig að þegar þeir hlaupa það þeir fara "Ó," andlit lófa. 66 00:03:54,000 --> 00:03:58,000 "Ég veit nákvæmlega hvað ég á að gera. Veit hvernig á að laga þetta." 67 00:03:58,000 --> 00:04:01,000 >> Ef þú prenta ekki skilaboð, þá á endanum í raun 68 00:04:01,000 --> 00:04:04,000 þannig að notandinn að fara skoða kóðann þinn 69 00:04:04,000 --> 00:04:07,000 að reikna út hvað fór úrskeiðis. 70 00:04:07,000 --> 00:04:11,000 Það eru einnig nokkur sinnum að þú munt nota mismunandi villa merkjamál. 71 00:04:11,000 --> 00:04:14,000 Hér við notuðum bara einn til að segja að það var villa, 72 00:04:14,000 --> 00:04:16,000 Það kom upp villa, það var villa. 73 00:04:16,000 --> 00:04:20,000 Stærri verkefni, oft forrit sem eru kallaðir með öðrum forritum, 74 00:04:20,000 --> 00:04:25,000 mun skila einhvers konar sérstökum villa merkjamál í mismunandi aðstæðum 75 00:04:25,000 --> 00:04:28,000 að kerfisbundið samband það sem þú vilt annars 76 00:04:28,000 --> 00:04:32,000 bara nota gott enska skilaboð til. 77 00:04:32,000 --> 00:04:35,000 Cool. 78 00:04:35,000 --> 00:04:37,000 Eins og við vinnum niður, þú getur séð að við draga lykilinn úr. 79 00:04:37,000 --> 00:04:40,000 Við prófun á því hvort lykillinn passar. 80 00:04:40,000 --> 00:04:42,000 Við fáum skilaboð frá notanda. 81 00:04:42,000 --> 00:04:46,000 Ástæðan að við gerum það í þetta að gera á meðan lykkja-og þetta er eitthvað sem við munum ná 82 00:04:46,000 --> 00:04:50,000 í a lítill hluti-en það kemur í ljós að ef þú skrifar stjórn D 83 00:04:50,000 --> 00:04:54,000 þegar þú færð að GetString hvetja á flugstöðinni 84 00:04:54,000 --> 00:04:59,000 hvað sem í raun gerir er að það sendir sérstaf 85 00:04:59,000 --> 00:05:01,000 til áætlunarinnar. 86 00:05:01,000 --> 00:05:05,000 Það er kallað ELF eða enda eðli skrá. 87 00:05:05,000 --> 00:05:08,000 Og í því tilviki, skilaboð band okkar verður núll, 88 00:05:08,000 --> 00:05:14,000 þannig að þetta var ekki eitthvað sem við köflóttur fyrir í vanda sett sér. 89 00:05:14,000 --> 00:05:17,000 >> En eins og við halda áfram, nú að við höfum byrjað að tala um punkta 90 00:05:17,000 --> 00:05:21,000 og dynamic minni úthlutun á hrúga, 91 00:05:21,000 --> 00:05:25,000 stöðva for null þegar þú ert með aðgerð sem gæti 92 00:05:25,000 --> 00:05:30,000 skila NULL sem gildi er eitthvað sem að þú þarft að komast í vana að gera. 93 00:05:30,000 --> 00:05:33,000 Þetta er hér fyrst og fremst um vöruna. 94 00:05:33,000 --> 00:05:36,000 En þegar þú sérð GetString í framtíðinni, 95 00:05:36,000 --> 00:05:41,000 svo frá Vandamál Set 4 á, munt þú vilt halda þetta í huga. 96 00:05:41,000 --> 00:05:44,000 Aftur, þetta er ekki málið fyrir Vandamál Set 3 annaðhvort þar sem við vorum ekki undir það enn. 97 00:05:44,000 --> 00:05:53,000 Loks fáum við að þessum hluta þar sem við komum að aðal dulkóðun lykkju, 98 00:05:53,000 --> 00:05:57,000 og það eru nokkrir hlutir sem fara hér. 99 00:05:57,000 --> 00:06:02,000 Fyrst iterate við yfir alla skilaboð band sig. 100 00:06:02,000 --> 00:06:07,000 Hér höfum við haldið strlen hringja í ástandi, 101 00:06:07,000 --> 00:06:12,000 sem fjöldi af þú hafa bent á er ekki góð leið til að fara. 102 00:06:12,000 --> 00:06:15,000 Það kemur í ljós í þessu tilviki það er heldur ekki mikill, 103 00:06:15,000 --> 00:06:20,000 hluta til vegna þess að við erum að breyta innihaldi skeytisins sig 104 00:06:20,000 --> 00:06:27,000 inni í lykkju, þannig að ef við höfum boð sem er 10 stafir að lengd, 105 00:06:27,000 --> 00:06:32,000 í fyrsta skipti við byrjum að fyrir lykkju strlen aftur hvað? 106 00:06:32,000 --> 00:06:35,000 10. 107 00:06:35,000 --> 00:06:40,000 >> En ef við breyta þá skaltu segja við breyta 5. eðli sínu, 108 00:06:40,000 --> 00:06:46,000 og við kasta í \ 0 staf í 5. stöðu, 109 00:06:46,000 --> 00:06:49,000 á næstu endurtekning strlen (skilaboð) verður ekki aftur það sem það gerði 110 00:06:49,000 --> 00:06:52,000 í fyrsta skipti sem við iterated, 111 00:06:52,000 --> 00:06:56,000 en það mun í staðinn aftur 5 vegna þess að við kastaði í þeim null Terminator, 112 00:06:56,000 --> 00:06:59,000 og lengd strengur er skilgreind 113 00:06:59,000 --> 00:07:03,000 af stöðu þess \ 0. 114 00:07:03,000 --> 00:07:09,000 Í þessu tilfelli, þetta er frábær leið til að fara vegna þess að við erum að breyta því í stað. 115 00:07:09,000 --> 00:07:13,000 En þú tekur eftir að þetta er í raun ótrúlega einfalt að dulkóða 116 00:07:13,000 --> 00:07:16,000 Ef þú getur fengið stærðfræði rétt. 117 00:07:16,000 --> 00:07:19,000 Allt sem 'þurfa er að athuga hvort bréfið sem þú ert að leita á 118 00:07:19,000 --> 00:07:21,000 er hástafi eða lágstafir. 119 00:07:21,000 --> 00:07:24,000 >> Ástæðan að við þurfum aðeins að athuga það og við þurfum ekki að stöðva fyrir 120 00:07:24,000 --> 00:07:27,000 sem er alfa raunin er sú að 121 00:07:27,000 --> 00:07:30,000 ef eðli er hástafi eða ef það er lágstafir 122 00:07:30,000 --> 00:07:33,000 þá er það ákveðið á bókstaf, 123 00:07:33,000 --> 00:07:38,000 vegna þess að við höfum ekki hástafi og lágstöfum tölustafi. 124 00:07:38,000 --> 00:07:41,000 The annar hlutur sem við gerum og þetta er svolítið erfiður- 125 00:07:41,000 --> 00:07:45,000 er að við höfum breytt staðlaða Caesar dulmál formúluna 126 00:07:45,000 --> 00:07:49,000 sem við gáfum í sett vandamál forskrift. 127 00:07:49,000 --> 00:07:52,000 Hvað er öðruvísi hér er að við dregið 128 00:07:52,000 --> 00:07:58,000 í hástafi tilfelli Capital, og þá erum við Capital 129 00:07:58,000 --> 00:08:02,000 Til baka í lok. 130 00:08:02,000 --> 00:08:05,000 >> Ég veit nokkur ykkar hafa gert það í kóðanum þínum. 131 00:08:05,000 --> 00:08:09,000 Did einhver ykkar að gera þetta í uppgjöf þinni? 132 00:08:09,000 --> 00:08:13,000 Þú gerðir þetta. Getur þú útskýrt hvað þetta þýðir, Sahb? 133 00:08:13,000 --> 00:08:18,000 Með því að draga það út, vegna þess að þú did a mod rétt eftir það, 134 00:08:18,000 --> 00:08:21,000 þú ert að taka það út, þannig að eins og þú færð [hósta] stöðu. 135 00:08:21,000 --> 00:08:25,000 Og þá með því að bæta það aftur seinna að færst yfir einn sem þú vildir. 136 00:08:25,000 --> 00:08:27,000 Já, nákvæmlega. 137 00:08:27,000 --> 00:08:32,000 Hvað Sahb sagði var að þegar við viljum bæta við 138 00:08:32,000 --> 00:08:36,000 Boðskapur okkar og lykill okkar saman 139 00:08:36,000 --> 00:08:42,000 og svo unga fólkið sem, unga fólkið að með NUM_LETTERS, 140 00:08:42,000 --> 00:08:50,000 ef við hækka ekki skilaboðin okkar í viðeigandi 0-25 svið fyrst, 141 00:08:50,000 --> 00:08:54,000 þá við gætum endað að fá virkilega undarlegt númer 142 00:08:54,000 --> 00:08:59,000 því gildi sem við erum að horfa á þegar við skoðum skilaboðin [i], 143 00:08:59,000 --> 00:09:03,000 þegar við lítum á ith eðli boðskapar okkar látlaus-texta, 144 00:09:03,000 --> 00:09:08,000 er gildi einhvers staðar í þessu 65-122 svið 145 00:09:08,000 --> 00:09:13,000 byggt á ASCII gildi fyrir hástafi A gegnum lágstafir z. 146 00:09:13,000 --> 00:09:18,000 Og svo þegar við unga fólkið það með 26 eða NUM_LETTERS, 147 00:09:18,000 --> 00:09:23,000 þar sem var okkar # skilgreina efst til hægri upp hér, 148 00:09:23,000 --> 00:09:28,000 það er að fara að gefa okkur gildi sem er í 0-25 svið, 149 00:09:28,000 --> 00:09:30,000 og við þurfum a vegur til þá mælikvarða sem aftur upp 150 00:09:30,000 --> 00:09:32,000 og fá það í viðeigandi ASCII svið. 151 00:09:32,000 --> 00:09:36,000 Auðveldasta leiðin til að gera það er bara mælikvarði allt niður 152 00:09:36,000 --> 00:09:39,000 í 0-25 svið til að byrja með, 153 00:09:39,000 --> 00:09:43,000 og þá skipta allt aftur upp í lokin. 154 00:09:43,000 --> 00:09:46,000 >> Önnur algeng villa sem ég sá fólk hlaupa í að 155 00:09:46,000 --> 00:09:50,000 ef þú ert ekki í raun að gera þetta stigstærð strax 156 00:09:50,000 --> 00:09:53,000 og þú bætir skilaboð og sláðu saman og þú bætir við þeim, segja, 157 00:09:53,000 --> 00:09:58,000 í char breytu, vandamálið með það 158 00:09:58,000 --> 00:10:01,000 er síðan skilaboð [i] er tiltölulega stór tala til að byrja með- 159 00:10:01,000 --> 00:10:05,000 muna það er að minnsta kosti 65 ef það er hástaf- 160 00:10:05,000 --> 00:10:09,000 Ef þú hafa a stór takka td eitthvað eins og 100, 161 00:10:09,000 --> 00:10:13,000 og þú hefur bætt við 2 saman í undirritaður bleikju þú ert að fara að fá gnægð. 162 00:10:13,000 --> 00:10:17,000 Þú ert að fara að fá gildi sem er stærra en 127, 163 00:10:17,000 --> 00:10:22,000 sem er stærsta gildið sem bleikju breyta hægt að halda. 164 00:10:22,000 --> 00:10:26,000 Aftur, það er hvers vegna þú vilt vilt gera þessi tegund af hlutur til að byrja með. 165 00:10:26,000 --> 00:10:29,000 Sumir fengu um að ræða með því að gera hvort annað og prófa 166 00:10:29,000 --> 00:10:33,000 til að sjá hvort það myndi flæða yfir áður en þú gerir það, 167 00:10:33,000 --> 00:10:36,000 en svona gerist í kringum það. 168 00:10:36,000 --> 00:10:40,000 Og svo í þessari lausn við prenta út öllu band á enda. 169 00:10:40,000 --> 00:10:45,000 Annað fólk prenta út staf í einu. Báðir eru ógnvekjandi. 170 00:10:45,000 --> 00:10:51,000 Á þessum tímapunkti, þú krakkar hafa einhverjar spurningar, einhverjar athugasemdir um þetta? 171 00:10:51,000 --> 00:10:56,000 Það sem þú vilt, hlutir sem þér líkar ekki? 172 00:10:56,000 --> 00:10:58,000 >> Ég hafði spurningu. 173 00:10:58,000 --> 00:11:01,000 Kannski ég missti það á skýringar, en hvernig virkar þetta forrit 174 00:11:01,000 --> 00:11:07,000 sleppa rými til að tengja lykilinn við lengd textans? 175 00:11:07,000 --> 00:11:10,000 Þetta er bara Caesar dulmál. >> Ó, fyrirgefðu, já. 176 00:11:10,000 --> 00:11:13,000 Já, munum við sjá það. 177 00:11:13,000 --> 00:11:16,000 Í Caesar dulmál við fengum um að vegna 178 00:11:16,000 --> 00:11:18,000 við hreifi bara stafi. 179 00:11:18,000 --> 00:11:27,000 Við snúa aðeins þá ef þeir voru hástafi eða lágstafir. 180 00:11:27,000 --> 00:11:32,000 Þið krakkar líður nokkuð vel um þetta? 181 00:11:32,000 --> 00:11:34,000 Feel frjáls til að afrita þetta heima, taka það, 182 00:11:34,000 --> 00:11:37,000 bera saman það að það sem þið skrifuðu. 183 00:11:37,000 --> 00:11:42,000 Ákveðið ekki hika við að senda spurningar um það líka. 184 00:11:42,000 --> 00:11:46,000 Og aftur, grein fyrir því að markmiðið hér með vandamál setur 185 00:11:46,000 --> 00:11:50,000 er ekki til að fá ykkur til að skrifa fullkomna kóðann fyrir setur vandamál þitt. 186 00:11:50,000 --> 00:11:57,000 Það er að læra reynslu. Já. 187 00:11:57,000 --> 00:12:01,000 >> Aftur til gera á meðan lykkja, ef það jafngildi null, 188 00:12:01,000 --> 00:12:06,000 svo null þýðir bara ekkert, högg þeir bara inn? 189 00:12:06,000 --> 00:12:12,000 Null er sérstakur bendillinn gildi, 190 00:12:12,000 --> 00:12:17,000 og við notum null þegar við viljum segja 191 00:12:17,000 --> 00:12:23,000 höfum við músina breytu sem bendir til einskis. 192 00:12:23,000 --> 00:12:28,000 Og svo yfirleitt það þýðir að breyta, þessi skilaboð breytu 193 00:12:28,000 --> 00:12:35,000 er tóm, og hér, vegna þess að við erum að nota CS50 sérstakt band tegund, 194 00:12:35,000 --> 00:12:37,000 hvað er CS50 band tegund? 195 00:12:37,000 --> 00:12:42,000 Hefur þú séð hvað það er þegar Davíð dró aftur hetta í fyrirlestri? 196 00:12:42,000 --> 00:12:44,000 Það er angurvær-það bendi, ekki satt? 197 00:12:44,000 --> 00:12:48,000 Jæja, já. >> Það er char *. 198 00:12:48,000 --> 00:12:52,000 Og svo mjög að við gátum skipt þessu 199 00:12:52,000 --> 00:12:56,000 hérna með char * skilaboðum, 200 00:12:56,000 --> 00:13:04,000 og svo GetString virka, ef það hefur ekki tekist að fá band frá notanda, 201 00:13:04,000 --> 00:13:08,000 það er ekki hægt að flokka a band, og eitt tilfelli þar sem það er ekki hægt að flokka a band 202 00:13:08,000 --> 00:13:11,000 er ef notandinn slær lok eðli skrá, stjórna D, 203 00:13:11,000 --> 00:13:17,000 sem er ekki eitthvað sem þú gerir venjulega, en ef það gerist 204 00:13:17,000 --> 00:13:20,000 þá virka vilja koma aftur þetta núll gildi sem leið til að segja 205 00:13:20,000 --> 00:13:23,000 "Hey, ég vissi ekki að fá band." 206 00:13:23,000 --> 00:13:27,000 Hvað myndi gerast ef við ekki setja skilaboð = null, 207 00:13:27,000 --> 00:13:30,000 sem er eitthvað sem við höfum ekki verið að gera enn? 208 00:13:30,000 --> 00:13:32,000 Hvers vegna vildi að vera vandamál hér? 209 00:13:32,000 --> 00:13:38,000 Af því að ég veit að við ræddum svolítið í fyrirlestri um leka minni. 210 00:13:38,000 --> 00:13:42,000 Já, við skulum gera það, og við skulum sjá hvað gerist. 211 00:13:42,000 --> 00:13:44,000 >> Spurning Basil var hvað gerist ef við ekki í raun hafa 212 00:13:44,000 --> 00:13:48,000 þessi skilaboð = null próf? 213 00:13:48,000 --> 00:13:51,000 Við skulum fletta upp á toppinn. 214 00:13:51,000 --> 00:13:53,000 Þið krakkar geta tjá þetta út. 215 00:13:53,000 --> 00:13:55,000 Reyndar, ég spara það í endurskoðun. 216 00:13:55,000 --> 00:13:58,000 Þetta mun vera Revision 3. 217 00:13:58,000 --> 00:14:02,000 Það sem þú þarft að gera til að keyra þetta forrit er að þú þarft að smella á þennan gír táknið upp hér, 218 00:14:02,000 --> 00:14:04,000 og þú þarft að bæta við rök við því. 219 00:14:04,000 --> 00:14:10,000 Þú þarft að gefa það helstu rök þar sem við viljum fara í stjórn lína rifrildi. 220 00:14:10,000 --> 00:14:13,000 Hér ætla ég að gefa það í númer 3. Mér finnst 3. 221 00:14:13,000 --> 00:14:19,000 Nú zooming út aftur, keyra forrit. 222 00:14:19,000 --> 00:14:24,000 Það er í gangi, samantekt, byggja. 223 00:14:24,000 --> 00:14:27,000 Hér förum. Það er að bíða eftir að vera beðin. 224 00:14:27,000 --> 00:14:33,000 Ef ég slá inn eitthvað eins og Halló-þar var að fara? 225 00:14:33,000 --> 00:14:38,000 Ó, program minn tók of langan tíma að keyra. Ég var jawing of lengi. 226 00:14:38,000 --> 00:14:40,000 Hér fer það. 227 00:14:40,000 --> 00:14:43,000 Nú er ég að slá á Hello. 228 00:14:43,000 --> 00:14:46,000 Við sjáum að það brengla viðeigandi. 229 00:14:46,000 --> 00:14:52,000 Nú hvað gerist ef við gerum hvetja GetString aftur null? 230 00:14:52,000 --> 00:14:57,000 Mundu sagði ég að við gerðum það með því að ýta stjórn D á sama tíma. 231 00:14:57,000 --> 00:14:59,000 Ég fletta upp hér. Við munum keyra hana aftur. 232 00:14:59,000 --> 00:15:01,000 Building. Þar sem það fer. 233 00:15:01,000 --> 00:15:04,000 Nú þegar ég högg stjórna D 234 00:15:04,000 --> 00:15:12,000 Ég fékk þessa línu sem segir opt/sandbox50/bin/run.sh, skiptingu kenna. 235 00:15:12,000 --> 00:15:15,000 Hafið þið séð það áður? 236 00:15:15,000 --> 00:15:17,000 >> [Nemandi] Hvers vegna er enginn >> miður? 237 00:15:17,000 --> 00:15:20,000 [Nemandi] Hvers vegna er engin algerlega sorphaugur í þessu tilfelli? 238 00:15:20,000 --> 00:15:26,000 Kjarni sorphaugur er-spurningin er hvers vegna það er engin algerlega sorphaugur hér? 239 00:15:26,000 --> 00:15:29,000 Spurningin er að það gæti verið, en algerlega sorphaugur er skrá 240 00:15:29,000 --> 00:15:31,000 sem fær geymdar á harða diskinum. 241 00:15:31,000 --> 00:15:34,000 Í þessu tilfelli höfum við slökkt algerlega hugarangur 242 00:15:34,000 --> 00:15:37,000 á hlaupa miðlara þannig að við höfum fólk ekki seg Faulting 243 00:15:37,000 --> 00:15:40,000 og byggja upp tonn af hugarangur algerlega. 244 00:15:40,000 --> 00:15:46,000 En þú getur fengið einn. 245 00:15:46,000 --> 00:15:48,000 Core hugarangur eru tegund af hlutur sem þú getur oft gera, 246 00:15:48,000 --> 00:15:52,000 og stundum þú. 247 00:15:52,000 --> 00:15:55,000 Skiptingu kenna, að svara spurningu þinni, Basil, 248 00:15:55,000 --> 00:16:00,000 er að segja að við reyndum að fá aðgang að bendi 249 00:16:00,000 --> 00:16:05,000 það var ekki sett til að benda á neitt. 250 00:16:05,000 --> 00:16:09,000 Mundu Binky í myndbandinu þegar Binky reynir að 251 00:16:09,000 --> 00:16:12,000 fara opna músina sem er ekki sem bendir til nokkuð? 252 00:16:12,000 --> 00:16:16,000 Í þessu tilfelli sem ég held tæknilega bendillinn er að benda á eitthvað. 253 00:16:16,000 --> 00:16:20,000 Það bendir til NULL, sem er tæknilega 0, 254 00:16:20,000 --> 00:16:25,000 en það er skilgreint að vera í flokki sem er ekki aðgengileg 255 00:16:25,000 --> 00:16:28,000 eftir áætlun þinni, þannig að þú færð skiptingu kenna 256 00:16:28,000 --> 00:16:31,000 vegna þess að þú ert ekki að nota minni sem er í gildi hluti 257 00:16:31,000 --> 00:16:38,000 eins og hrúga hluti eða stafla hluti eða gögn hluti. 258 00:16:38,000 --> 00:16:40,000 Cool. 259 00:16:40,000 --> 00:16:48,000 Einhverjar fleiri spurningar um keisarans? 260 00:16:48,000 --> 00:16:51,000 >> Við skulum halda áfram. Við skulum líta á Revision 2 mjög fljótt. 261 00:16:51,000 --> 00:17:00,000 Það er Vigenère. 262 00:17:00,000 --> 00:17:04,000 Hér í Vigenère 263 00:17:04,000 --> 00:17:06,000 við munum ganga í gegnum þetta einn ansi fljótt vegna þess, aftur, 264 00:17:06,000 --> 00:17:10,000 Vigenère og Caesar eru alveg líkur. 265 00:17:10,000 --> 00:17:12,000 Header athugasemd er áður, 266 00:17:12,000 --> 00:17:17,000 # Define er fyrir að forðast að nota þessi galdur númer. 267 00:17:17,000 --> 00:17:21,000 The ágætur hlutur er að segja að við vildum fara 268 00:17:21,000 --> 00:17:23,000 annað stafróf eða eitthvað svoleiðis. 269 00:17:23,000 --> 00:17:26,000 Frekar en að þurfa að fara með höndunum breytt öllum 26 í kóðanum 270 00:17:26,000 --> 00:17:30,000 við gætum breytt þessu í 27 eða falla niður 271 00:17:30,000 --> 00:17:34,000 ef við værum að nota mismunandi stafróf, mismunandi tungumálum. 272 00:17:34,000 --> 00:17:38,000 Aftur höfum við fengið þessa ávísun á rifrildi telja, 273 00:17:38,000 --> 00:17:42,000 og í raun þú getur nánast tekið þetta sem sniðmát. 274 00:17:42,000 --> 00:17:46,000 Nánast hvert forrit sem þú skrifar ættu að hafa- 275 00:17:46,000 --> 00:17:50,000 ef það tekur stjórn lína rök-sum röð línum 276 00:17:50,000 --> 00:17:55,000 að lesa svona í upphafi. 277 00:17:55,000 --> 00:17:59,000 Það er einn af the fyrstur próf geðheilsu þú vilt gera. 278 00:17:59,000 --> 00:18:03,000 >> Hér það sem við fengum var að við viss um að 279 00:18:03,000 --> 00:18:06,000 leitarorðið var í gildi, og það var annað úr skugga um að við gerðum. 280 00:18:06,000 --> 00:18:11,000 Takið aftur að við skilið þetta frá argc og 2. 281 00:18:11,000 --> 00:18:14,000 Athugaðu að í þessu tilviki eitt sem við þurftum að gera var að stað 282 00:18:14,000 --> 00:18:18,000 þess að nota við ég að við vildum að sannreyna allt band, 283 00:18:18,000 --> 00:18:21,000 og í því skyni að gera það sem þú ert í raun að fara í karakter með karakter 284 00:18:21,000 --> 00:18:23,000 á band. 285 00:18:23,000 --> 00:18:29,000 Það er engin góð leið til að hringja eitthvað á það 286 00:18:29,000 --> 00:18:31,000 því jafnvel, til dæmis, að ég mun fara aftur 0 287 00:18:31,000 --> 00:18:37,000 ef það er ekki hægt að flokka heiltölu, þannig að ekki einu sinni vinnu. 288 00:18:37,000 --> 00:18:42,000 Aftur, nice skilaboð segja að notandinn nákvæmlega hvað gerðist. 289 00:18:42,000 --> 00:18:45,000 Þá hérna, aftur, annast okkur einnig tilfelli þar sem 290 00:18:45,000 --> 00:18:50,000 sem notandinn slær í stjórn D handahófi staf. 291 00:18:50,000 --> 00:18:54,000 >> Og þá Charlotte var spurning áðan um hvernig við stjórna til að sleppa rými 292 00:18:54,000 --> 00:18:57,000 í band okkar hér. 293 00:18:57,000 --> 00:19:00,000 Þetta var eins konar svipað og við gerðum með Myspace program 294 00:19:00,000 --> 00:19:04,000 sem við gerðum í kafla, og hvernig þetta virkaði 295 00:19:04,000 --> 00:19:08,000 er að við elt fjölda bókstafa sem við höfðum séð. 296 00:19:08,000 --> 00:19:13,000 Eins og við gengum yfir skilaboð band, sem við gengum yfir staf eftir staf, 297 00:19:13,000 --> 00:19:16,000 við fylgt vísitölu sem hluta af okkar fyrir lykkju, og þá erum við elt einnig 298 00:19:16,000 --> 00:19:21,000 fjölda af bréfum, svo ekki sértákn, sem ekki eru tölustafir, ekki hvítt rúm 299 00:19:21,000 --> 00:19:27,000 að við myndum séð í sérstakri breytu. 300 00:19:27,000 --> 00:19:33,000 Og þá breytir þessi lausn á takkann 301 00:19:33,000 --> 00:19:41,000 til að fá raunverulegan lykill heiltölu, og það gerir það á flugu, 302 00:19:41,000 --> 00:19:47,000 rétt áður en það fer þá að dulkóða raunveruleg skilaboð staf. 303 00:19:47,000 --> 00:19:50,000 Það eru nokkrar lausnir sem voru fullkomlega frábært líka 304 00:19:50,000 --> 00:19:58,000 sem myndi breyta takkann upp þegar próf fyrir gildistíma lykillinn er. 305 00:19:58,000 --> 00:20:01,000 Í samlagning til að tryggja að eðli og leitarorð 306 00:20:01,000 --> 00:20:05,000 var bókstaf það kom einnig fram að í heiltala 307 00:20:05,000 --> 00:20:13,000 í 0-25 svið að þá sleppa að þurfa að gera það síðar í þessu til hliðar. 308 00:20:13,000 --> 00:20:18,000 Aftur, þú sérð hér þetta er í raun nákvæmlega sama kóða 309 00:20:18,000 --> 00:20:22,000 sem við notuðum í keisarans á þessum tímapunkti. 310 00:20:22,000 --> 00:20:25,000 Þú ert að gera nákvæmlega það sama, þannig að raunverulegur bragð er vangaveltur út 311 00:20:25,000 --> 00:20:30,000 hvernig á að kveikja á leitarorð í heiltölu. 312 00:20:30,000 --> 00:20:35,000 >> Eitt sem við gerðum hér að er svolítið þétt 313 00:20:35,000 --> 00:20:39,000 er að við endurtaka þessa setningu, held ég að þú gætir kalla það, 314 00:20:39,000 --> 00:20:45,000 3 aðskilin sinnum á línu 58, 59, og 61. 315 00:20:45,000 --> 00:20:52,000 Getur einhver útskýrt hvað nákvæmlega er þetta orðasamband? 316 00:20:52,000 --> 00:20:55,000 Það er aðgangur að persónu, eins og þú segir. 317 00:20:55,000 --> 00:20:59,000 Já, það er [inaudible] staf í leitarorð, 318 00:20:59,000 --> 00:21:04,000 og svo það er fjöldi af bréfum séð vegna þess að þú ert bara að flytja með 319 00:21:04,000 --> 00:21:06,000 leitarorð þegar þú hefur séð bréfið, 320 00:21:06,000 --> 00:21:10,000 svo það er að fara að í raun að sleppa rými og efni eins og þessi. 321 00:21:10,000 --> 00:21:12,000 Já, nákvæmlega. 322 00:21:12,000 --> 00:21:16,000 Og svo þegar þú hefur séð leitarorð auðan þú unga fólkið bara svo þú færir aftur í kring. 323 00:21:16,000 --> 00:21:18,000 Einmitt. Það er fullkomin skýring. 324 00:21:18,000 --> 00:21:23,000 Hvað Kevin sagði er að við viljum að kemba í leitarorði. 325 00:21:23,000 --> 00:21:28,000 Við viljum fá num_letters_seen staf, ef þú vilt, 326 00:21:28,000 --> 00:21:32,000 en ef num_letters_seen yfir lengd á leitarorð, 327 00:21:32,000 --> 00:21:37,000 hvernig við komum til baka í viðeigandi svið er við notum unga fólkið rekstraraðila 328 00:21:37,000 --> 00:21:40,000 að í raun settir. 329 00:21:40,000 --> 00:21:43,000 Til dæmis, eins og í stuttu máli, leitarorðið okkar er beikon, 330 00:21:43,000 --> 00:21:46,000 og það er 5 bréf langur. 331 00:21:46,000 --> 00:21:50,000 En við höfum séð 6 stafina í texta okkar á þessum tímapunkti 332 00:21:50,000 --> 00:21:52,000 og dulkóðuð 6. 333 00:21:52,000 --> 00:21:57,000 Við munum á endanum aðgang að num_letters_seen, 334 00:21:57,000 --> 00:22:00,000 sem er 6, unga fólkið lengd leitarorð, 5, 335 00:22:00,000 --> 00:22:04,000 og svo munum við fá 1, og svo það sem við munum gera er að við munum 336 00:22:04,000 --> 00:22:14,000 aðgang að fyrsta staf inni í leitarorð okkar á þeim tímapunkti. 337 00:22:14,000 --> 00:22:21,000 >> Allt í lagi, einhverjar spurningar um Vigenère 338 00:22:21,000 --> 00:22:26,000 áður en við halda áfram? 339 00:22:26,000 --> 00:22:31,000 Þið krakkar líður nokkuð vel um þetta? 340 00:22:31,000 --> 00:22:35,000 Cool, frábært. 341 00:22:35,000 --> 00:22:38,000 Ég vil vera viss um að þú krakkar eru að fá tækifæri til að sjá kóða 342 00:22:38,000 --> 00:22:48,000 að við höldum lítur vel út og hafa tækifæri til að læra af því. 343 00:22:48,000 --> 00:22:53,000 Þetta er að fara að vera síðasta sem við munum vera með rými fyrir um sinn, 344 00:22:53,000 --> 00:22:59,000 og við erum að fara að umskipti núna, og ég ætla að fara að cs50.net/lectures 345 00:22:59,000 --> 00:23:06,000 svo við getum gert smá quiz skoðunar. 346 00:23:06,000 --> 00:23:10,000 Besta leiðin held ég að byrja að gera quiz endurskoðun 347 00:23:10,000 --> 00:23:15,000 er að koma til þessa fyrirlestra síðu, cs50.net/lectures, 348 00:23:15,000 --> 00:23:20,000 og undir hverri viku liðum, þannig að ef ég lít hérna í viku 0, 349 00:23:20,000 --> 00:23:27,000 Ég sé að við höfum lista yfir efni sem við fjallað í viku 0. 350 00:23:27,000 --> 00:23:31,000 >> Ef eitthvað af þessum viðfangsefnum virðist framandi fyrir þig 351 00:23:31,000 --> 00:23:34,000 þú munt örugglega vilja til að fara til baka og scour Fyrirlesturinn athugasemdir og hugsanlega 352 00:23:34,000 --> 00:23:39,000 jafnvel Lögð gegnum fyrirlestra, horfa á þær aftur ef þú vilt 353 00:23:39,000 --> 00:23:44,000 til að fá tilfinningu fyrir hvað er að gerast hjá hverjum þeim efni. 354 00:23:44,000 --> 00:23:49,000 Ég segi einnig á þessu ári einn af the kaldur auðlindir sem við höfum fengið 355 00:23:49,000 --> 00:23:55,000 er þessi stuttbuxur sem við höfum búið til, og ef þú lítur í viku 0, 356 00:23:55,000 --> 00:24:00,000 við höfum ekki öll efnisatriði, en við höfum fengið alveg nokkrar af þeim, 357 00:24:00,000 --> 00:24:03,000 sumir af the trickier sjálfur, svo að horfa á þessa stuttbuxur aftur 358 00:24:03,000 --> 00:24:08,000 er góð leið til að fá þig til að hraða. 359 00:24:08,000 --> 00:24:15,000 Sérstaklega ætla ég að setja í sambandi við 3 á botni, þar sem ég gerði þá. 360 00:24:15,000 --> 00:24:20,000 En ef þú ert í erfiðleikum með tvöfaldur, bitar, álög, að hvers konar efni, 361 00:24:20,000 --> 00:24:22,000 tvöfaldur er frábær staður til að byrja. 362 00:24:22,000 --> 00:24:25,000 ASCII er annað sem er gott að sjá líka. 363 00:24:25,000 --> 00:24:31,000 Þú getur jafnvel horfa á mig á 1,5 x hraða ef ég er að fara of hægur fyrir þig. 364 00:24:31,000 --> 00:24:35,000 Þar fara yfir það er, ekki hika við að gera það. 365 00:24:35,000 --> 00:24:40,000 >> Bara að byrja mjög fljótt, við erum að fara að fara í gegnum a par af þessum quiz vandamál 366 00:24:40,000 --> 00:24:44,000 bara að fljótt strokkur í gegnum þetta. 367 00:24:44,000 --> 00:24:50,000 Til dæmis, við skulum líta á vandamál 16 sem ég hef fengið allt hér á borð. 368 00:24:50,000 --> 00:24:54,000 Við höfum fengið þetta eftirfarandi útreikninga í tvöfaldur, 369 00:24:54,000 --> 00:24:56,000 og við viljum sýna hvaða vinna. 370 00:24:56,000 --> 00:24:59,000 Allt í lagi, ég ætla að gefa þetta skot. 371 00:24:59,000 --> 00:25:01,000 Þú krakkar ættu að fylgja með pappír, 372 00:25:01,000 --> 00:25:04,000 og við munum gera það í raun fljótt. 373 00:25:04,000 --> 00:25:06,000 Við viljum til að framkvæma eftirfarandi útreikningi í tvöfaldur. 374 00:25:06,000 --> 00:25:16,000 Ég hef fengið 00.110.010. 375 00:25:16,000 --> 00:25:27,000 Og ég ætla að bæta við það 00.110.010. 376 00:25:27,000 --> 00:25:30,000 Fyrir stærðfræði snillinga eftirfarandi eftir heima, 377 00:25:30,000 --> 00:25:35,000 Þetta er í raun margfalda með 2. 378 00:25:35,000 --> 00:25:37,000 Við skulum byrja. 379 00:25:37,000 --> 00:25:39,000 Við ætlum að fylgja sömu viðbót reiknirit sem við gerum 380 00:25:39,000 --> 00:25:43,000 þegar við bætt aukastafi tölur saman. 381 00:25:43,000 --> 00:25:46,000 Raunverulega er eini munurinn hér að við lykkja til baka um 382 00:25:46,000 --> 00:25:51,000 þegar við höfum 1 + 1 stað þegar við fáum til 10. 383 00:25:51,000 --> 00:25:53,000 >> Ef við byrjum frá hægri, mjög fljótt, hvað er fyrsta stafa? 384 00:25:53,000 --> 00:25:55,000 [Nemandi] 0. >> [Nate H.] 0. 385 00:25:55,000 --> 00:25:58,000 Frábært, annað stafa? 386 00:25:58,000 --> 00:26:00,000 [Nemandi] 1. 387 00:26:00,000 --> 00:26:02,000 [Nate H.] Er það 1? 1 + 1 er? 388 00:26:02,000 --> 00:26:04,000 [Nemandi] 10. 389 00:26:04,000 --> 00:26:08,000 [Nate H.] Einmitt, þannig það er stafa að ég skrifa rétt fyrir neðan 2 sjálfur bætt saman? 390 00:26:08,000 --> 00:26:11,000 [Nemandi] 1, 0, eða 0 og þá bera 1. 391 00:26:11,000 --> 00:26:15,000 [Nate H.] 0 og bera 1, nákvæmlega. 392 00:26:15,000 --> 00:26:18,000 Næsta einn upp, Basil, þú ert upp. 393 00:26:18,000 --> 00:26:20,000 Hver er þriðji? >> [Basil] 1. 394 00:26:20,000 --> 00:26:23,000 [Nate H.] 1, fullkominn. Kevin? 395 00:26:23,000 --> 00:26:27,000 [Kevin] 0. >> [Nate H.] 0, Charlotte? 396 00:26:27,000 --> 00:26:30,000 [Charlotte] 0. >> [Nate H.] Já, og hvað á ég að gera? 397 00:26:30,000 --> 00:26:32,000 [Námsmaður] The 1. 398 00:26:32,000 --> 00:26:34,000 [Nate H.] Og hvað á ég að gera? Og svo ég bera 1. 399 00:26:34,000 --> 00:26:36,000 Perfect, Sahb? >> [Sahb] Nú hefur þú 1. 400 00:26:36,000 --> 00:26:40,000 [Nate H.] Og ég ekki neitt hér? 401 00:26:40,000 --> 00:26:43,000 [Sahb] þá fyrir næsta sem þú átt 1 vegna þess að þú fara yfir 1. 402 00:26:43,000 --> 00:26:49,000 [Nate H.] Great, svo hér að við getum klárað það upp. 403 00:26:49,000 --> 00:26:51,000 Cool. 404 00:26:51,000 --> 00:26:54,000 [Nemandi] er 0 + 0 = 0? 405 00:26:54,000 --> 00:26:56,000 0 + 0 = 0. 406 00:26:56,000 --> 00:27:01,000 1 + 1, eins og þú sagðir, er 10, eða 1, 0, frekar. 407 00:27:01,000 --> 00:27:07,000 10 er rangnefni vegna þess að mér 10 merkir númer 10, 408 00:27:07,000 --> 00:27:12,000 og það er quirk um hvernig við erum fulltrúar það þegar við erum að skrifa það. 409 00:27:12,000 --> 00:27:20,000 Við tákna fjölda 2 um 1, 0, og númer 10 er aðeins öðruvísi. 410 00:27:20,000 --> 00:27:23,000 >> Hvað er svona gott um tvöfaldur er að það eru ekki margir 411 00:27:23,000 --> 00:27:25,000 tilfellum þarf að læra. 412 00:27:25,000 --> 00:27:30,000 Það er 0 + 0 = 0, 0 + 1 = 1, 413 00:27:30,000 --> 00:27:34,000 1 + 1 er 0, og þá bera 1, 414 00:27:34,000 --> 00:27:37,000 og þá er hægt að sjá hér á þriðja dálki frá hægri 415 00:27:37,000 --> 00:27:40,000 við höfðum þetta 1, 1 og 1. 416 00:27:40,000 --> 00:27:43,000 Og 1 + 1 + 1 er 1, 417 00:27:43,000 --> 00:27:45,000 og þú bera annað 1. 418 00:27:45,000 --> 00:27:48,000 Þegar þú ert að gera tvöfaldur auki frekar einfalt. 419 00:27:48,000 --> 00:27:51,000 Ég myndi gera nokkrar fleiri af þessum andlega heil að nýju stöðva ykkur 420 00:27:51,000 --> 00:27:54,000 áður en þú ferð í því að þetta er 421 00:27:54,000 --> 00:28:00,000 líklega eitthvað sem við munum sjá á spurningakeppni. 422 00:28:00,000 --> 00:28:03,000 Nú skulum gera þetta á næsta einn eins og heilbrigður. 423 00:28:03,000 --> 00:28:06,000 Gerum vandamál 17. 424 00:28:06,000 --> 00:28:12,000 Við ætlum að breyta eftirfarandi tvöfaldur númer aukastaf. 425 00:28:12,000 --> 00:28:28,000 Ég hef 10100111001. 426 00:28:28,000 --> 00:28:33,000 Mundu að tvöfaldur vídeó sem ég gerði 427 00:28:33,000 --> 00:28:36,000 Ég gekk í gegnum a par af dæmi, og ég sýndi hvernig 428 00:28:36,000 --> 00:28:41,000 allt virkar þegar þú ert að gera það í tugabrot. 429 00:28:41,000 --> 00:28:45,000 Þegar þú ert að vinna í tugakerfisframsetningu ég held að við séum 430 00:28:45,000 --> 00:28:48,000 á þessum tímapunkti í lífi okkar svo reiprennandi í því að 431 00:28:48,000 --> 00:28:53,000 það er nokkuð auðvelt að gljái yfir aflfræði af því hvernig það virkar í raun. 432 00:28:53,000 --> 00:28:59,000 >> En til að gera a fljótur ágrip, ef ég númer 137 433 00:28:59,000 --> 00:29:06,000 þetta þýðir-og í raun aftur, þetta er í tugakerfisframsetningu- 434 00:29:06,000 --> 00:29:19,000 númer 137 í aukastaf þýðir að ég hef 1 x 100 + 3 x 10 + 7 x 1. 435 00:29:19,000 --> 00:29:22,000 Þetta er allt að fara á skjánum. 436 00:29:22,000 --> 00:29:29,000 Og svo ef þú horfir á þessar tölur hérna, 437 00:29:29,000 --> 00:29:34,000 100, 10 og 1, sérðu að þeir eru í raun öll völd 10. 438 00:29:34,000 --> 00:29:43,000 Ég hef 10 ² 10 ¹ og 10 til núll. 439 00:29:43,000 --> 00:29:48,000 Við höfum svipuð svoleiðis í tvöfaldur, 440 00:29:48,000 --> 00:29:55,000 nema að undirstaða okkar, eins og við köllum það, er 2 í stað 10. 441 00:29:55,000 --> 00:29:58,000 Þessar 10s sem ég skrifaði niður á botn, 442 00:29:58,000 --> 00:30:02,000 þetta 10 ², 10 ¹, 10 til núll, 10 er undirstaða okkar, 443 00:30:02,000 --> 00:30:08,000 og veldisvísir, 0, 1, eða 2, 444 00:30:08,000 --> 00:30:14,000 ef miðað er við stöðu stafa í númer sem við skrifum. 445 00:30:14,000 --> 00:30:21,000 1, ef við lítum á það, þetta 1 er í 2. sæti. 446 00:30:21,000 --> 00:30:27,000 The 3 er í 1 stöðu, og 7 er í 0 stöðu. 447 00:30:27,000 --> 00:30:35,000 Það er hvernig við fáum mismunandi exponents neðan til bækistöðvar okkar. 448 00:30:35,000 --> 00:30:40,000 >> Eftir allt þetta we'll-raun, þú veist hvað? 449 00:30:40,000 --> 00:30:43,000 Við munum gera-þar var losa hnappinn minn fara? 450 00:30:43,000 --> 00:30:45,000 Þar sem það fer. 451 00:30:45,000 --> 00:30:47,000 Ég elska þetta losa hlutur. 452 00:30:47,000 --> 00:30:51,000 Eftir þetta held ég fyrir mig að minnsta kosti 453 00:30:51,000 --> 00:30:54,000 auðveldasta leiðin til að byrja að breyta tvöfaldur númer 454 00:30:54,000 --> 00:30:57,000 eða sextánskur númer þar sem stöð er 16 455 00:30:57,000 --> 00:31:02,000 og ekki 10 eða 2 er að fara á undan og skrifa út 456 00:31:02,000 --> 00:31:09,000 undirstöður og exponents fyrir allar tölur í tvöfaldur fjöldi minni efst. 457 00:31:09,000 --> 00:31:14,000 Ef við byrjum frá vinstri til hægri á ný, 458 00:31:14,000 --> 00:31:17,000 sem er eins konar counterintuitive, 459 00:31:17,000 --> 00:31:23,000 Ég aftur í svart hérna, við höfum 2 í 0 stöðu, 460 00:31:23,000 --> 00:31:27,000 og þá höfum við 2 ¹, 2 ², 461 00:31:27,000 --> 00:31:33,000 og síðan 2 til 3, 2 til 4, 2 til 5, 6, 462 00:31:33,000 --> 00:31:39,000 7, 8, 9, og 10. 463 00:31:39,000 --> 00:31:41,000 Þessar tölur sem ég hef skrifað út eru allir exponents. 464 00:31:41,000 --> 00:31:48,000 Ég skrifaði aðeins bækistöðvar hér í fyrsta 3 bara um pláss. 465 00:31:48,000 --> 00:31:50,000 >> Á þessum tímapunkti er ég að fara á undan og ég er í raun að fara að eyða 466 00:31:50,000 --> 00:31:53,000 efni sem við gerðum í aukastaf, ef það er í lagi. 467 00:31:53,000 --> 00:31:57,000 Þú hefur allt fengið það. 468 00:31:57,000 --> 00:32:05,000 Þau ykkar horfa á netinu Ég er viss um að vilja vera fær til að trekkja mig ef þú vilt. 469 00:32:05,000 --> 00:32:07,000 Skipt aftur til penna. 470 00:32:07,000 --> 00:32:12,000 Nú, það sem við getum gert, ef þið eru ekki alveg upp til hraði á völd þín í 2, 471 00:32:12,000 --> 00:32:15,000 það er alveg kúl. 472 00:32:15,000 --> 00:32:18,000 Það gerist. Ég skil. 473 00:32:18,000 --> 00:32:23,000 Ég var einu sinni starf viðtal þar sem ég var sagt að ég ætti að vita öll völd af 2 474 00:32:23,000 --> 00:32:26,000 upp í gegnum 2 til 30. 475 00:32:26,000 --> 00:32:29,000 Það var ekki starf sem ég fékk. 476 00:32:29,000 --> 00:32:32,000 Engu að síður, þú krakkar geta farið á undan og gera stærðfræði hér, 477 00:32:32,000 --> 00:32:35,000 en tvöfaldur það þýðir í raun ekki skynsamleg, 478 00:32:35,000 --> 00:32:38,000 og né hjartarskinn það gera vit við aukastaf eða Sextánskt heldur, 479 00:32:38,000 --> 00:32:43,000 að gera stærðfræði út þar sem þú hefur núll. 480 00:32:43,000 --> 00:32:49,000 Þú sérð að ég hef 0 hér a 0 hér, 0 hér, 0 hér, 0 hér, 0 hér. 481 00:32:49,000 --> 00:32:52,000 Af hverju gæti það ekki gera skilningarvit til að gera í raun stærðfræði 482 00:32:52,000 --> 00:32:56,000 til að reikna út viðeigandi afl 2 fyrir þá stöðu? 483 00:32:56,000 --> 00:32:59,000 Einmitt, eins og Charlotte sagði, mun það vera 0. 484 00:32:59,000 --> 00:33:05,000 Getur alveg eins sparað þér tíma ef reikna völd 2 er ekki sterk föt þinn. 485 00:33:05,000 --> 00:33:10,000 Í þessu tilfelli, þurfum við bara að reikna það fyrir 2 til 0, sem er-? 486 00:33:10,000 --> 00:33:12,000 [Nemandi] 1. 487 00:33:12,000 --> 00:33:14,000 [Nate H.] 1, 2 og 3, sem er-? 488 00:33:14,000 --> 00:33:16,000 [Nemandi] 8. >> [Nate H.] 8. 489 00:33:16,000 --> 00:33:18,000 2 til 4? 490 00:33:18,000 --> 00:33:21,000 [Nemandi] 2. Fyrirgefðu, 1. 491 00:33:21,000 --> 00:33:26,000 [Nate H.] 2 til 4 er 16, nákvæmlega. 492 00:33:26,000 --> 00:33:28,000 2 til 5, Kevin? >> 32. 493 00:33:28,000 --> 00:33:32,000 [Nate H.] 32, 2 á 8? 494 00:33:32,000 --> 00:33:38,000 [Nemandi] 32 x 8, 256. 495 00:33:38,000 --> 00:33:41,000 [Nate H.] Perfect. 496 00:33:41,000 --> 00:33:43,000 Og 2 til 10? 497 00:33:43,000 --> 00:33:45,000 [Nemandi] 1024. 498 00:33:45,000 --> 00:33:49,000 [Nate H.] Já, 1024. 499 00:33:49,000 --> 00:33:57,000 >> Þegar við höfum fengið þessar tölur getum við summa það allt upp. 500 00:33:57,000 --> 00:34:01,000 Og þetta er þar sem það er mjög mikilvægt að gera nokkra hluti. 501 00:34:01,000 --> 00:34:07,000 Eitt er að fara hægt og athuga vinnu. 502 00:34:07,000 --> 00:34:10,000 Þú getur sagt að það er 1 í lok þessa tölu, 503 00:34:10,000 --> 00:34:15,000 þannig að ég ætti örugglega að fá stakur tala eins niðurstöðu mína, 504 00:34:15,000 --> 00:34:18,000 vegna þess að allar hinar eru að fara að vera jafnvel tölur 505 00:34:18,000 --> 00:34:21,000 í ljósi þess að það er tvöfaldur fjöldi. 506 00:34:21,000 --> 00:34:24,000 The annar hlutur til gera er að ef þú færð að þessum tímapunkti á prófinu 507 00:34:24,000 --> 00:34:27,000 og þú hefur skrifað það út svona langt 508 00:34:27,000 --> 00:34:30,000 og þú ert að keyra út af tími 509 00:34:30,000 --> 00:34:33,000 líta á nokkrum stöðum að þetta vandamál er þess virði. 510 00:34:33,000 --> 00:34:40,000 Þetta vandamál, sem þú getur séð, ef ég selbiti aftur til minn laptop mjög fljótt- 511 00:34:40,000 --> 00:34:44,000 þetta vandamál er þess virði 2 stig, þannig að þetta er ekki tegund af auki 512 00:34:44,000 --> 00:34:47,000 þú ættir að vera að fara í gegnum ef þú ert virkilega að þrýsta á tíma. 513 00:34:47,000 --> 00:34:52,000 En við munum skipta aftur yfir í iPad, og við munum fara í gegnum það mjög fljótt. 514 00:34:52,000 --> 00:34:54,000 >> Ég eins og að gera litlu númer fyrst 515 00:34:54,000 --> 00:34:56,000 vegna þess að ég kemst að því að auðveldara. 516 00:34:56,000 --> 00:35:00,000 Mér finnst 32 og 8 vegna þess að þeir fara saman mjög auðveldlega, og við fáum 50. 517 00:35:00,000 --> 00:35:03,000 16 og 1 fær 17. 518 00:35:03,000 --> 00:35:05,000 Þar fáum við 57, 519 00:35:05,000 --> 00:35:14,000 og þá getum við gert restina af þessu, þannig að við getum gert 57, 156. 520 00:35:14,000 --> 00:35:16,000 Komdu á. 521 00:35:16,000 --> 00:35:19,000 Man vel, við skulum sjá. 522 00:35:19,000 --> 00:35:27,000 Við fengum 57, 256, og 1024. 523 00:35:27,000 --> 00:35:31,000 Á þessum tímapunkti, myndi ég frekar bara að fara í gegnum. 524 00:35:31,000 --> 00:35:35,000 Ég hef ekki hugmynd. Ég þarf greinilega að lesa sér til um þetta. 525 00:35:35,000 --> 00:35:40,000 7, 6 og 4, þá færðu 17. 526 00:35:40,000 --> 00:35:42,000 1, 5, 5, 2, 13. 527 00:35:42,000 --> 00:35:45,000 Síðan fáum við 3, og þá fáum við 1. 528 00:35:45,000 --> 00:35:52,000 1337. 529 00:35:52,000 --> 00:35:55,000 Easter egg, hver? 530 00:35:55,000 --> 00:35:59,000 Hver viðurkenna þetta númer? 531 00:35:59,000 --> 00:36:02,000 Chris viðurkennir númer. Hvað þýðir það, Chris? 532 00:36:02,000 --> 00:36:04,000 [Chris] Leet. 533 00:36:04,000 --> 00:36:11,000 Leet, þannig að ef þú lítur á þetta, það útlit eins leet. 534 00:36:11,000 --> 00:36:15,000 Tölvuþrjótur efni. Horfa út fyrir þessi góður af efni á midterm eða prófið frekar. 535 00:36:15,000 --> 00:36:19,000 Ef þú sérð svona efni og þú ert að velta fyrir mér "Huh," 536 00:36:19,000 --> 00:36:22,000 sem gæti raunverulega þýtt eitthvað. 537 00:36:22,000 --> 00:36:24,000 Ég veit ekki. David gaman að setja það inn 538 00:36:24,000 --> 00:36:26,000 Það er góð leið til að geðheilbrigði stöðva það. 539 00:36:26,000 --> 00:36:30,000 Eins lagi, get ég séð hvað er að gerast. 540 00:36:30,000 --> 00:36:34,000 >> Það er vika 0/Week 1 efni. 541 00:36:34,000 --> 00:36:39,000 Ef við skipta aftur laptop okkar nú, 542 00:36:39,000 --> 00:36:46,000 minnka, og a par af öðrum hlutum. 543 00:36:46,000 --> 00:36:50,000 Það er ASCII, sem við höfum verið að gera mikið með vandamál setur. 544 00:36:50,000 --> 00:36:55,000 Þessi hugmynd um höfuðborg A. Hvað er það í raun? 545 00:36:55,000 --> 00:36:57,000 Vitandi að það er aukastaf heiltölu. 546 00:36:57,000 --> 00:37:00,000 65 er það sem er varpað í ASCII töflunni, 547 00:37:00,000 --> 00:37:03,000 og það er því hvernig tölvan skrifar það, 548 00:37:03,000 --> 00:37:06,000 og það er hvernig við höfum verið að fá í burtu með raunverulega skrifa 549 00:37:06,000 --> 00:37:09,000 eðli fjármagns A og karakter lágstafir í 550 00:37:09,000 --> 00:37:14,000 í sumum þessara lausna og vandamál setur sem þú hefur verið að gera. 551 00:37:14,000 --> 00:37:16,000 A par af öðrum hlutum. 552 00:37:16,000 --> 00:37:25,000 Við höfum fengið yfirlýsingar, Boolean tjáning, skilyrði, lykkjur, breytur og þræði. 553 00:37:25,000 --> 00:37:29,000 >> Þeir virðast allir að gera grein fyrir að mestu leyti? 554 00:37:29,000 --> 00:37:35,000 Sumir af þessum hugtökum er svolítið angurvær á köflum. 555 00:37:35,000 --> 00:37:46,000 Ég vil hugsa um yfirlýsingu sem að mestu eitthvað sem endar með semíkommu. 556 00:37:46,000 --> 00:37:51,000 Yfirlýsingar eins og x = 7, sem setur breytu, 557 00:37:51,000 --> 00:37:54,000 væntanlega kallað x = 7. 558 00:37:54,000 --> 00:38:01,000 Væntanlega er x einnig gerð sem hægt er að vista númer 7, 559 00:38:01,000 --> 00:38:05,000 svo það er int eða hugsanlega fljóta eða stutt eða bleikju, 560 00:38:05,000 --> 00:38:07,000 eitthvað svoleiðis. 561 00:38:07,000 --> 00:38:12,000 Boolean tjáningu er að nota þessar tvöfaldur jafngildir 562 00:38:12,000 --> 00:38:17,000 og Bang jafn eða ekki jafn, minna en, stærra en, 563 00:38:17,000 --> 00:38:22,000 minna en eða jafnt og, öllu svona dóti. 564 00:38:22,000 --> 00:38:28,000 Aðstæður eru þá ef annars yfirlýsingar. 565 00:38:28,000 --> 00:38:32,000 Ég myndi muna að þú getur ekki haft annað án samsvarandi ef. 566 00:38:32,000 --> 00:38:37,000 Sömuleiðis er ekki hægt að hafa annað hvort án samsvarandi ef. 567 00:38:37,000 --> 00:38:40,000 Lykkjur, muna 3 tegundir af lykkjum sem við höfum verið að hamar í þig 568 00:38:40,000 --> 00:38:43,000 í síðustu tveimur köflum og vandamál setur. 569 00:38:43,000 --> 00:38:46,000 Notkun gera en þegar þú ert að fá notandi inntak, 570 00:38:46,000 --> 00:38:51,000 nota meðan lykkjur þar til tilteknu ástandi er satt, 571 00:38:51,000 --> 00:38:56,000 og þá nota þá til lykkjur ef þú þarft að 572 00:38:56,000 --> 00:39:01,000 vita hver endurtekning af lykkju sem þú ert nú á er hvernig ég hugsa um það. 573 00:39:01,000 --> 00:39:07,000 Eða ef þú ert að gera a fyrir hvern staf í streng sem ég vil gera eitthvað, 574 00:39:07,000 --> 00:39:15,000 fyrir hvert frumefni í fylki sem ég vil gera eitthvað í því frumefni. 575 00:39:15,000 --> 00:39:18,000 >> Málefni og viðburðir. 576 00:39:18,000 --> 00:39:21,000 Þetta höfum við ekki fjallað svo skýrt í C, 577 00:39:21,000 --> 00:39:23,000 en muna þetta frá grunni. 578 00:39:23,000 --> 00:39:26,000 Þetta er hugmyndin um að hafa mismunandi forskriftir. 579 00:39:26,000 --> 00:39:32,000 Þetta er líka þessa hugmynd um útsendingar atburð. 580 00:39:32,000 --> 00:39:37,000 Sumir ekki nota útsendingar í verkefnum þeirra í upphafi, 581 00:39:37,000 --> 00:39:40,000 sem er algerlega kaldur, 582 00:39:40,000 --> 00:39:46,000 en þetta eru 2 mismunandi leiðir til að meðhöndla þetta stærra mál sem heitir concurrency, 583 00:39:46,000 --> 00:39:49,000 sem er hvernig gera þú fá forrit til að framkvæma 584 00:39:49,000 --> 00:39:54,000 eða virðist framkvæma á sama tíma? 585 00:39:54,000 --> 00:39:59,000 Mismunandi verkefni í gangi á meðan önnur verkefni eru einnig í gangi. 586 00:39:59,000 --> 00:40:01,000 Þetta er hvernig stýrikerfið virðist virka. 587 00:40:01,000 --> 00:40:04,000 Þetta er ástæðan þó, til dæmis, 588 00:40:04,000 --> 00:40:10,000 Ég hef vafrinn minn í gangi, get ég líka kveikja á Spotify og spila lag. 589 00:40:10,000 --> 00:40:14,000 Það er meira af huglægu hlutur að skilja. 590 00:40:14,000 --> 00:40:17,000 Ég myndi kíkja á þræði skamms 591 00:40:17,000 --> 00:40:21,000 Ef þú vilt fræðast meira um það. 592 00:40:21,000 --> 00:40:26,000 >> Við skulum sjá, tel ég að það hefði verið 593 00:40:26,000 --> 00:40:31,000 vandamál á þessu í einn af þessum. 594 00:40:31,000 --> 00:40:35,000 Aftur, ég held þræði og atburðir eru ekki eitthvað sem við munum ná í C 595 00:40:35,000 --> 00:40:41,000 bara vegna þess að það er mun erfiðara en í grunni. 596 00:40:41,000 --> 00:40:44,000 Þú ættir ekki að hafa áhyggjur af því þar, en ákveðið að skilja hugtök, 597 00:40:44,000 --> 00:40:47,000 skilja hvað er að gerast. 598 00:40:47,000 --> 00:40:52,000 Áður en við færa á einhverjar spurningar um viku 0 efni? 599 00:40:52,000 --> 00:40:55,000 Allir líður nokkuð gott? 600 00:40:55,000 --> 00:41:03,000 Skilningur breytur og hvað breytu er? 601 00:41:03,000 --> 00:41:08,000 >> Flutningur á. Vika 1. 602 00:41:08,000 --> 00:41:12,000 A par af hlutum hér sem voru ekki sérstaklega fjallað 603 00:41:12,000 --> 00:41:21,000 í quiz endurskoðun endilega og einnig eru fleiri hugmynda atriði til að hugsa um. 604 00:41:21,000 --> 00:41:30,000 Í fyrsta lagi er þessi hugmynd um hvað kóðann, þýðendur og mótmæla kóða er. 605 00:41:30,000 --> 00:41:32,000 Hver? Basil. 606 00:41:32,000 --> 00:41:37,000 Er mótmæla kóða-ég meina kóðinn er það sem þú setur inn clang, 607 00:41:37,000 --> 00:41:42,000 og mótmæla kóða er það clang setur út þannig að tölvan getur lesið program. 608 00:41:42,000 --> 00:41:44,000 Einmitt. 609 00:41:44,000 --> 00:41:47,000 Kóðinn er C kóða sem þú slærð í raun upp. 610 00:41:47,000 --> 00:41:50,000 Object kóða er það sem þú færð út úr clang. 611 00:41:50,000 --> 00:41:54,000 Það er 0s og 1s í því tvöfaldur snið. 612 00:41:54,000 --> 00:41:59,000 Þá er það sem gerist þegar þú ert með fullt af skrám mótmæla, 613 00:41:59,000 --> 00:42:04,000 segja að þú ert að setja saman verkefni eða forrit sem notar margar kóðinn skrár, 614 00:42:04,000 --> 00:42:09,000 sem samkvæmt venju gefst. c skrá eftirnafn. 615 00:42:09,000 --> 00:42:13,000 Þess vegna höfum við caesar.c, vigenère.c. 616 00:42:13,000 --> 00:42:18,000 Ef þú ert að skrifa Java forrit sem þú gefur þeim framlengingu. Java. 617 00:42:18,000 --> 00:42:24,000 Python forrit hafa endinguna. PY oft. 618 00:42:24,000 --> 00:42:26,000 >> Þegar þú ert með marga. C skrá, safna saman að þeim. 619 00:42:26,000 --> 00:42:29,000 Clang spits út alla þessa tvöfaldur skran. 620 00:42:29,000 --> 00:42:33,000 Þá vegna þess að þú vilt bara 1 program 621 00:42:33,000 --> 00:42:37,000 þú hefur linker tengja öll þessara mótmæla skrár saman 622 00:42:37,000 --> 00:42:40,000 í 1 executable skrá. 623 00:42:40,000 --> 00:42:45,000 Þetta er einnig það sem gerist þegar þú notar CS50 bókasafn, til dæmis. 624 00:42:45,000 --> 00:42:50,000 The CS50 Bókasafnið er bæði að. H hausaskrár 625 00:42:50,000 --> 00:42:53,000 sem þú lest, að # includecs50.h. 626 00:42:53,000 --> 00:42:58,000 Og þá er það einnig sérstakt tvöfaldur bókasafn skrá 627 00:42:58,000 --> 00:43:02,000 sem hefur verið safnað saman sem er 0s og 1s, 628 00:43:02,000 --> 00:43:08,000 og að-L fána, þannig að ef við förum aftur til Spaces okkar og við lítum mjög fljótt 629 00:43:08,000 --> 00:43:11,000 á hvað er að gerast hér þegar við líta á stjórn clang okkar, 630 00:43:11,000 --> 00:43:15,000 það sem við höfum fengið er að þetta er kóðinn skrá okkar hérna. 631 00:43:15,000 --> 00:43:18,000 Þetta eru fullt af flöggum þýðanda. 632 00:43:18,000 --> 00:43:22,000 Og þá á enda, þessir-L fánar hlekkur í 633 00:43:22,000 --> 00:43:30,000 í raun skrá tvöfaldur fyrir þessar 2 bókasöfnum, sem CS50 bókasafn og þá stærðfræði bókasafn. 634 00:43:30,000 --> 00:43:35,000 >> Skilningur hvers konar tilgangi files ' 635 00:43:35,000 --> 00:43:38,000 í samantekt aðferð er eitthvað sem þú þarft að vera fær um að 636 00:43:38,000 --> 00:43:43,000 gefa að minnsta kosti mikil yfirsýn yfir. 637 00:43:43,000 --> 00:43:46,000 Kóðinn kemur inn Object kóða kemur út. 638 00:43:46,000 --> 00:43:53,000 Object kóða skrár tengja saman, og þú færð fallega, executable skrá. 639 00:43:53,000 --> 00:43:55,000 Cool. 640 00:43:55,000 --> 00:43:58,000 Þetta er einnig þar sem þú getur fengið villur á mörgum stöðum 641 00:43:58,000 --> 00:44:00,000 í samantekt aðferð. 642 00:44:00,000 --> 00:44:04,000 Þetta er þar sem, til dæmis, ef þú tekur út þessa tengja fána, 643 00:44:04,000 --> 00:44:10,000 á CS50 fána og þú sleppt því í rýmum eða þegar þú ert að keyra kóða, 644 00:44:10,000 --> 00:44:13,000 þetta er þar sem þú munt fá villa í tengja áfanga, 645 00:44:13,000 --> 00:44:18,000 og linker mun segja, "Hey, þú kallaðir fall GetString 646 00:44:18,000 --> 00:44:20,000 það er í CS50 bókasafn. " 647 00:44:20,000 --> 00:44:25,000 "Þú sagðir mér að það væri í CS50 bókasafn, og ég get ekki fundið kóða fyrir það." 648 00:44:25,000 --> 00:44:28,000 Það er þar sem þú þarft að tengja það í, og það er aðskilið 649 00:44:28,000 --> 00:44:33,000 frá þýðanda villa vegna þess að þýðandinn er að horfa á setningafræði og þannig dóti. 650 00:44:33,000 --> 00:44:38,000 Það er gott að vita hvað er að gerast þegar. 651 00:44:38,000 --> 00:44:42,000 >> Annað atriði sem þarf að vita um. 652 00:44:42,000 --> 00:44:49,000 Ég myndi segja að þú vilt örugglega til að taka a líta á the stuttur á typecasting gert með Jordan 653 00:44:49,000 --> 00:44:55,000 að skilja hvað ints eru undir hetta, 654 00:44:55,000 --> 00:44:58,000 hvaða chars eru undir hetta. 655 00:44:58,000 --> 00:45:02,000 Þegar við tölum um ASCII og við lítum í raun á ASCII töflunni, 656 00:45:02,000 --> 00:45:07,000 hvað það er að gera er að gefa okkur undir hetta útlit 657 00:45:07,000 --> 00:45:13,000 á hvernig tölvan raun táknar Capital og stafa 7 658 00:45:13,000 --> 00:45:17,000 og kommu og spurningarmerki. 659 00:45:17,000 --> 00:45:20,000 Tölvan hefur einnig sérstakar leiðir til að tákna 660 00:45:20,000 --> 00:45:23,000 númer 7 sem heiltölu. 661 00:45:23,000 --> 00:45:27,000 Það hefur sérstaka leið til að tákna fjölda 7 sem fljótandi lið númer, 662 00:45:27,000 --> 00:45:29,000 og þeir eru mjög mismunandi. 663 00:45:29,000 --> 00:45:32,000 Typecasting er hvernig þú segir tölva "Hey, ég vil að þú að umbreyta 664 00:45:32,000 --> 00:45:37,000 frá einum fulltrúa í annan fulltrúa. " 665 00:45:37,000 --> 00:45:40,000 Hvers vegna eigum við ekki að líta á það. 666 00:45:40,000 --> 00:45:44,000 >> Ég myndi einnig taka a líta á the stuttur á bókasöfnum og stutt á vistþýðendur. 667 00:45:44,000 --> 00:45:47,000 Þeir tala um ferli samantekt, 668 00:45:47,000 --> 00:45:53,000 hvað bókasafn er og fara yfir nokkrar af þeim spurningum sem þú gætir fengið að spyrja. 669 00:45:53,000 --> 00:45:55,000 Spurningar um Vika 1 efni? 670 00:45:55,000 --> 00:46:03,000 Eru allir efni á hér að virðast draga kjark þú vilt ná? 671 00:46:03,000 --> 00:46:07,000 Ég er að reyna að blása í gegnum flest þessara fyrri efni svo að við getum fengið að 672 00:46:07,000 --> 00:46:13,000 ábendingum og gera a lítill hluti af endurkvæmni. 673 00:46:13,000 --> 00:46:15,000 Hugsanir? 674 00:46:15,000 --> 00:46:19,000 Eitthvað til að ná? 675 00:46:19,000 --> 00:46:21,000 Tími fyrir suma súkkulaði kannski? 676 00:46:21,000 --> 00:46:23,000 Þið eru að vinna í gegnum það. 677 00:46:23,000 --> 00:46:26,000 Ég ætla að halda sipping á kaffi minn. 678 00:46:26,000 --> 00:46:31,000 Vika 2. 679 00:46:31,000 --> 00:46:34,000 Good símtal góð kalla. 680 00:46:34,000 --> 00:46:38,000 Í viku 2 ræddum við svolítið meira um aðgerðir. 681 00:46:38,000 --> 00:46:43,000 >> Í fyrstu setur vandamál við ekki í raun skrifað hvaða störf á öllum 682 00:46:43,000 --> 00:46:45,000 annað en sem virka? 683 00:46:45,000 --> 00:46:47,000 [Nemandi] Main. >> Main, nákvæmlega. 684 00:46:47,000 --> 00:46:51,000 Og svo við höfum séð á mismunandi búningum sem helstu líður. 685 00:46:51,000 --> 00:46:54,000 Það er eitt sem það tekur engin rök, 686 00:46:54,000 --> 00:46:58,000 og við segjum bara tóm á milli sviga, 687 00:46:58,000 --> 00:47:01,000 og svo er það hitt sem við viljum taka stjórn lína rifrildi, 688 00:47:01,000 --> 00:47:08,000 og eins og við sáum, að þar sem þú hefur int argc og band argv fylking 689 00:47:08,000 --> 00:47:13,000 eða nú að við höfum í raun og veru verða band að vera char * að það er 690 00:47:13,000 --> 00:47:20,000 við erum að fara að byrja að skrifa það sem char * argv og þá hornklofanna. 691 00:47:20,000 --> 00:47:22,000 Í Set Vandamál 3, þið sá fullt af störfum, 692 00:47:22,000 --> 00:47:27,000 og þú innleitt fullt af aðgerðum, teikna, líta upp, Scramble. 693 00:47:27,000 --> 00:47:31,000 Frummyndirnar voru allir skrifað þarna fyrir þig. 694 00:47:31,000 --> 00:47:33,000 >> Það sem ég vildi tala um hérna með virka mjög fljótt 695 00:47:33,000 --> 00:47:38,000 er að það eru 3 hlutar til þeirra þegar þú skrifa aðgerð. 696 00:47:38,000 --> 00:47:43,000 Þú þarft að tilgreina afturhvarfstag fallsins. 697 00:47:43,000 --> 00:47:46,000 Þú verður að tilgreina heiti virka, og þá verður þú að tilgreina 698 00:47:46,000 --> 00:47:51,000 þau rök lista eða breytu listanum. 699 00:47:51,000 --> 00:47:57,000 Til dæmis, ef ég væri að skrifa fall til að summa upp fullt af heiltölur 700 00:47:57,000 --> 00:48:03,000 og síðan aftur til mín summan hvað væri endurkoma mín 701 00:48:03,000 --> 00:48:06,000 ef ég vildi að summa heiltölur og þá skila summu? 702 00:48:06,000 --> 00:48:12,000 Þá heiti fallsins. 703 00:48:12,000 --> 00:48:27,000 Ef ég fer á undan og skrifa í grænu, þessi hluti er aftur gerð. 704 00:48:27,000 --> 00:48:34,000 Þessi hluti er nafnið. 705 00:48:34,000 --> 00:48:40,000 Og svo á milli sviga 706 00:48:40,000 --> 00:48:46,000 er þar sem ég gef rök, 707 00:48:46,000 --> 00:48:56,000 oft stytt sem viðföng, stundum kallað params fyrir breytur. 708 00:48:56,000 --> 00:49:00,000 Og ef þú hefur einn, tilgreina þér bara einn. 709 00:49:00,000 --> 00:49:06,000 Ef þú ert með marga að skilja hvert og eitt með kommu. 710 00:49:06,000 --> 00:49:13,000 Og fyrir hvert rifrildi sem þú gefa það 2 hluti sem eru-Kevin? 711 00:49:13,000 --> 00:49:18,000 [Kevin] Þú þarft að gefa tegund og síðan nafn. 712 00:49:18,000 --> 00:49:21,000 Og þá er nafn, og nafn það nafn sem þú ert að fara að nota 713 00:49:21,000 --> 00:49:25,000 að vísa til þess rök innan summan virka, 714 00:49:25,000 --> 00:49:27,000 í aðgerð sem þú ert að skrifa. 715 00:49:27,000 --> 00:49:32,000 >> Þú þarft ekki að-til dæmis, ef ég ætla að summa upp, 716 00:49:32,000 --> 00:49:41,000 segja, fylki af heiltölum-we'll do int array, 717 00:49:41,000 --> 00:49:46,000 og ég ætla að gefa mér nokkur hrokkið axlabönd þar- 718 00:49:46,000 --> 00:49:51,000 svo þegar ég fara til fylki summan virka 719 00:49:51,000 --> 00:49:55,000 Ég gefa það í fyrstu stöðu rifrildi listanum. 720 00:49:55,000 --> 00:49:59,000 En array sem ég fara í þarf ekki að hafa nafnið Arr. 721 00:49:59,000 --> 00:50:07,000 Arr er að fara að vera hvernig ég vísa til sem rök í meginmál virka. 722 00:50:07,000 --> 00:50:10,000 The annar hlutur sem við þurfum að taka tillit til, 723 00:50:10,000 --> 00:50:14,000 og þetta er örlítið öðruvísi aðgerðir, en ég held að það er mikilvægt atriði, 724 00:50:14,000 --> 00:50:20,000 er að í C þegar ég er að skrifa virka svona 725 00:50:20,000 --> 00:50:29,000 hvernig veit ég hversu margir þættir eru í þessu fylki? 726 00:50:29,000 --> 00:50:31,000 Þetta er nokkuð bragð spurningu. 727 00:50:31,000 --> 00:50:35,000 Við töluðum um þetta svolítið í kafla síðustu viku. 728 00:50:35,000 --> 00:50:40,000 Hvernig veit ég fjölda staka innan fylki í C? 729 00:50:40,000 --> 00:50:44,000 Er there a vegur? 730 00:50:44,000 --> 00:50:49,000 >> Það kemur í ljós að það er engin leið að vita. 731 00:50:49,000 --> 00:50:52,000 Þú þarft að gefa það í sig. 732 00:50:52,000 --> 00:50:55,000 Það er bragð sem þú getur gert 733 00:50:55,000 --> 00:51:00,000 ef þú ert í sömu virkni sem fylki hefur verið lýst, 734 00:51:00,000 --> 00:51:04,000 og þú ert að vinna með stafla fylkisins. 735 00:51:04,000 --> 00:51:06,000 En það virkar bara ef þú ert í sömu aðgerð. 736 00:51:06,000 --> 00:51:09,000 Þegar þú standast fylki í annan valkost eða ef þú hefur lýst fjölda 737 00:51:09,000 --> 00:51:12,000 og þú setur þessi fylking á hrúga, hefur þú notað malloc 738 00:51:12,000 --> 00:51:15,000  og þannig dót, þá öll veðmál eru slökkt. 739 00:51:15,000 --> 00:51:18,000 Síðan sem þú ert í raun að fara í kringum 740 00:51:18,000 --> 00:51:21,000 sérstakt rök eða annað viðfang 741 00:51:21,000 --> 00:51:23,000 segja þér hversu stór fylki er. 742 00:51:23,000 --> 00:51:28,000 Í þessu tilfelli, myndi ég vilja til nota kommu-Ég því miður, það er að fara að slökkva á skjánum hér- 743 00:51:28,000 --> 00:51:32,000 og ég myndi fara á öðru rifrildi 744 00:51:32,000 --> 00:51:40,000  og kalla það int Len fyrir lengd. 745 00:51:40,000 --> 00:51:44,000 >> Eitt sem gæti komið upp á spurningakeppni 746 00:51:44,000 --> 00:51:49,000 er að biðja þig um að skrifa eða framkvæma ákveðna aðgerð sem heitir eitthvað. 747 00:51:49,000 --> 00:51:54,000 Ef við ekki gefa þér frumgerð, þannig að þetta allt hlutur hér, 748 00:51:54,000 --> 00:51:58,000 þetta allt sóðaskapur er kallað virka yfirlýsingu eða virka frumgerð, 749 00:51:58,000 --> 00:52:01,000 þetta er eitt af því fyrsta sem þú þarft að nagli niður ef það er ekki gefið 750 00:52:01,000 --> 00:52:03,000 til þín strax á prófinu. 751 00:52:03,000 --> 00:52:06,000 Hin bragð sem ég hef lært er að 752 00:52:06,000 --> 00:52:11,000 segja að við gef þér frumgerð fyrir fall, og við segjum: "Hey, þú hefur fengið að skrifa það." 753 00:52:11,000 --> 00:52:16,000 Inni í hrokkið axlabönd sem þú ert með á spurningakeppni 754 00:52:16,000 --> 00:52:20,000 Ef þú tekur eftir að það er aftur gerð og þú tekur eftir því að endurkoma 755 00:52:20,000 --> 00:52:25,000 er eitthvað annað en tóm, sem þýðir að virka ekki aftur neitt, 756 00:52:25,000 --> 00:52:28,000 þá er einn hlutur sem þú vilt örugglega að gera skrifa 757 00:52:28,000 --> 00:52:33,000 einhvers konar yfirlýsingu aftur aftast í aðgerðina. 758 00:52:33,000 --> 00:52:40,000 Aftur, og í þessu tilfelli, munum við setja autt vegna þess að við viljum að fylla inn í auða. 759 00:52:40,000 --> 00:52:44,000 En þetta fær þig til að hugsa á réttan hátt um hvernig ég ætla að nálgast þetta vandamál? 760 00:52:44,000 --> 00:52:49,000 Og það minnir þig þú ert að fara að hafa til að skila gildi 761 00:52:49,000 --> 00:52:51,000 til þess sem hringir á starfsemi. 762 00:52:51,000 --> 00:52:54,000 >> Já. >> [Nemandi] er stíl við þegar við erum að skrifa kóðann á the quiz? 763 00:52:54,000 --> 00:52:58,000 Svo sem eins og skerðing og svona dóti? >> [Nemandi] Já. 764 00:52:58,000 --> 00:53:00,000 Nei, ekki eins mikið. 765 00:53:00,000 --> 00:53:09,000 Ég held að mikið af-þetta er eitthvað sem við munum skýra á spurningakeppni á dag, 766 00:53:09,000 --> 00:53:15,000 en oftast nær áhyggjur # og svona efni, það er góður af utan. 767 00:53:15,000 --> 00:53:17,000 [Nemandi] Þarft þú að tjá handskrifað kóðann þinn? 768 00:53:17,000 --> 00:53:19,000 Þarft þú að tjá handskrifað kóðann þinn? 769 00:53:19,000 --> 00:53:24,000 Athugasemd er alltaf gott ef þú ert að hafa áhyggjur að hluta lánsfé 770 00:53:24,000 --> 00:53:29,000 eða ef þú vilt senda ásetning á flokkarann. 771 00:53:29,000 --> 00:53:33,000 En ég, aftur, mun skýra á spurningakeppni sjálfri og spurningakeppni dag 772 00:53:33,000 --> 00:53:39,000 en ég trúi ekki að þú munt vera nauðsynlegt til að skrifa athugasemdir, nr. 773 00:53:39,000 --> 00:53:42,000 Venjulega ekki, en það er örugglega svoleiðis þar 774 00:53:42,000 --> 00:53:45,000 þú getur tjáð ásetning, eins og "Hey, þetta er þar sem ég er að fara með hana." 775 00:53:45,000 --> 00:53:49,000 Og stundum getur hjálpað til með hluta lánsfé. 776 00:53:49,000 --> 00:53:51,000 Cool. 777 00:53:51,000 --> 00:53:53,000 >> Basil. 778 00:53:53,000 --> 00:53:56,000 [Basil] Hver er munurinn á því að lýsa yfir, segja, int Lang 779 00:53:56,000 --> 00:54:03,000 í rökum eða breytur á móti lýsa breytu í aðgerð? 780 00:54:03,000 --> 00:54:05,000 Vá, kaffi fór niður barka. 781 00:54:05,000 --> 00:54:07,000 [Basil] eins sem hlutir sem við viljum setja í röksemda. 782 00:54:07,000 --> 00:54:09,000 Já, það er frábær spurning. 783 00:54:09,000 --> 00:54:11,000 Hvernig velur þú hvaða hlutir sem þú vilt setja í röksemda 784 00:54:11,000 --> 00:54:17,000 móti hvaða hlutir sem þú ættir að gera inni á virka? 785 00:54:17,000 --> 00:54:24,000 Í þessu tilfelli erum við með bæði þessar sem rök 786 00:54:24,000 --> 00:54:29,000 vegna þess að þeir eru eitthvað sem hver sem er að fara að nota summu virka 787 00:54:29,000 --> 00:54:32,000 þarf að tilgreina þá hluti. 788 00:54:32,000 --> 00:54:35,000 >> Summa virka, eins og við töluðum um, hefur enga leið að vita 789 00:54:35,000 --> 00:54:40,000 hversu stór fylki er það fær frá hringir hans eða sá er að nota summu virka. 790 00:54:40,000 --> 00:54:44,000 Það hefur enga leið að vita hversu stór þessi fylki. 791 00:54:44,000 --> 00:54:48,000 Ástæðan við framhjá í þessari lengd hérna sem rök 792 00:54:48,000 --> 00:54:51,000 er vegna þess að það er eitthvað sem við erum í grundvallaratriðum að segja hringir í aðgerð, 793 00:54:51,000 --> 00:54:55,000 hver er að fara að nota summu virka, "Hey, ekki bara að þú þarft að gefa okkur fylki 794 00:54:55,000 --> 00:54:59,000 á ints, hefur þú einnig að segja okkur hversu stór fylki sem þú hefur gefið okkur er. " 795 00:54:59,000 --> 00:55:03,000 [Basil] Þeir vilja báðir vera stjórn lína rifrildi? 796 00:55:03,000 --> 00:55:06,000 Nei, eru þetta raunveruleg rök sem þú vilt fara að virka. 797 00:55:06,000 --> 00:55:10,000 >> Leyfðu mér að gera nýja síðu hérna. 798 00:55:10,000 --> 00:55:13,000 [Basil] Eins og nafn myndi fara- 799 00:55:13,000 --> 00:55:24,000 [Nate H.] Ef ég int helstu (tóm), 800 00:55:24,000 --> 00:55:27,000 og ég ætla að setja á 0 aftur minn hérna neðst, 801 00:55:27,000 --> 00:55:31,000 og segja að ég vil kalla summu virka. 802 00:55:31,000 --> 00:55:42,000 Mig langar að segja int x = SUM (); 803 00:55:42,000 --> 00:55:46,000 Til að nota summu virka ég að fara bæði í fylki sem ég vil að summa upp 804 00:55:46,000 --> 00:55:51,000 og lengd fylkisins, svo þetta er þar 805 00:55:51,000 --> 00:55:54,000 miðað við að ég hafði fjölda ints, 806 00:55:54,000 --> 00:56:12,000 segja að ég hafði int numbaz [] = 1, 2, 3, 807 00:56:12,000 --> 00:56:16,000 konar notkun sem brotist upp setningafræði rétt þarna, 808 00:56:16,000 --> 00:56:21,000 þá það sem ég myndi gera er í lagi að ég myndi vilja fara í 809 00:56:21,000 --> 00:56:27,000 bæði numbaz og númer 3 810 00:56:27,000 --> 00:56:30,000 að segja summu virka "Allt í lagi, hér er array Ég vil að þú summa." 811 00:56:30,000 --> 00:56:34,000 "Hér er stærð hennar." 812 00:56:34,000 --> 00:56:39,000 Er það skynsamleg? Er að svara spurningunni þinni? 813 00:56:39,000 --> 00:56:42,000 >> Að mörgu leyti er samsíða það sem við erum að gera með helstu 814 00:56:42,000 --> 00:56:44,000 þegar við höfum stjórn lína rifrildi. 815 00:56:44,000 --> 00:56:47,000 A program eins Caesar dulmál, til dæmis, það þarf 816 00:56:47,000 --> 00:56:53,000 stjórn lína rifrildi myndi ekki vera fær um að gera neitt. 817 00:56:53,000 --> 00:56:57,000 Það myndi ekki vita hvernig á að dulkóða ef þú did ekki að segja hvað það inni að nota 818 00:56:57,000 --> 00:57:03,000 eða ef þú hefur ekki sagt það hvað band sem þú vildir að dulkóða. 819 00:57:03,000 --> 00:57:08,000 Vekur fyrir hjálpina, þetta er þar sem við höfum fengið 2 mismunandi kerfi 820 00:57:08,000 --> 00:57:14,000 fyrir að taka inntak í frá notanda, til að taka upplýsingar í frá notanda. 821 00:57:14,000 --> 00:57:19,000 Fyrir Vandamál Set 1 við sáum þetta GetInt, GetString, GetFloat leið 822 00:57:19,000 --> 00:57:26,000 að vekur fyrir hjálpina, og það er kallað með því að nota stöðluðu inntak straumi. 823 00:57:26,000 --> 00:57:28,000 Það er aðeins öðruvísi. 824 00:57:28,000 --> 00:57:31,000 Það er eitthvað sem þú getur gert í einu í stað þess að 825 00:57:31,000 --> 00:57:35,000 þegar þú ákalla program, þegar þú byrjar forritið að keyra. 826 00:57:35,000 --> 00:57:41,000 Stjórn lína rök allir eru tilgreindar þegar þú ræsir forrit í gangi. 827 00:57:41,000 --> 00:57:47,000 Við höfum verið að blanda tveimur þeirra. 828 00:57:47,000 --> 00:57:52,000 Þegar við notum rök til að virka, það er mikið eins og stjórn lína rifrildi við helstu. 829 00:57:52,000 --> 00:57:56,000 Það er þegar þú ákalla virka sem þú þarft að segja það 830 00:57:56,000 --> 00:58:05,000 hvað nákvæmlega þarf til að framkvæma verkefni sín. 831 00:58:05,000 --> 00:58:08,000 Annar góður hlutur til að líta á-og ég læt þig líta á það í frítíma þínum, 832 00:58:08,000 --> 00:58:11,000 og það var fjallað í spurningakeppni-var þetta hugmynd af umfangi 833 00:58:11,000 --> 00:58:15,000 og staðbundnar breytur á móti alþjóðlegum breytur. 834 00:58:15,000 --> 00:58:18,000 Ekki borga eftirtekt til það. 835 00:58:18,000 --> 00:58:23,000 >> Nú þegar við erum að fá á þessu önnur efni, 836 00:58:23,000 --> 00:58:27,000 í viku 3. við byrjuðum að tala um að leita og flokka. 837 00:58:27,000 --> 00:58:32,000 Leita og flokka, að minnsta kosti í CS50, 838 00:58:32,000 --> 00:58:39,000 er mjög mikill kynning á sumir af the fleiri fræðilegum hlutum tölvunarfræði. 839 00:58:39,000 --> 00:58:42,000 Vandamálið að leita að vandamál flokkun 840 00:58:42,000 --> 00:58:46,000 eru stór, Canonical vandamál. 841 00:58:46,000 --> 00:58:52,000 Hvernig gera þú finna ákveðna tölu í fjölda milljarða heiltalna? 842 00:58:52,000 --> 00:58:55,000 Hvernig gera þú finna tiltekna nafn inni í símaskránni 843 00:58:55,000 --> 00:58:59,000 sem er vistað á fartölvu? 844 00:58:59,000 --> 00:59:04,000 Og svo við kynna þessa hugmynd af asymptotic sinnum hlaupa 845 00:59:04,000 --> 00:59:11,000 að virkilega meta hversu lengi, hversu erfitt þetta vandamál er, 846 00:59:11,000 --> 00:59:14,000 hversu lengi þeir taka að leysa. 847 00:59:14,000 --> 00:59:20,000 Í, Ég tel, spurningakeppni 2011 er það vandamál sem ég held að verðskuldar 848 00:59:20,000 --> 00:59:27,000 nær mjög fljótlega, sem er þessi, vandamál 12. 849 00:59:27,000 --> 00:59:32,000 O nei, það er Omega. 850 00:59:32,000 --> 00:59:41,000 >> Hér erum við að tala um hraðasta mögulega hlaupa tíma 851 00:59:41,000 --> 00:59:46,000 fyrir tiltekna reiknirit og svo hægur mögulegt hlaupa tíma. 852 00:59:46,000 --> 00:59:52,000 Þetta Omega og O eru virkilega bara flýtileiðir. 853 00:59:52,000 --> 00:59:55,000 Þeir eru notational flýtileiðir til að segja 854 00:59:55,000 --> 00:59:59,000 hversu hratt í besta tilfelli mun reiknirit hlaupa okkar, 855 00:59:59,000 --> 01:00:06,000 og hvernig hægt í versta tilfelli verður reiknirit okkar hlaupa? 856 01:00:06,000 --> 01:00:10,000 Við skulum gera a par af þeim og þetta var einnig fjallað 857 01:00:10,000 --> 01:00:13,000 í stuttu máli á asymptotic merki, sem ég mæli. 858 01:00:13,000 --> 01:00:17,000 Jackson gerði mjög gott starf. 859 01:00:17,000 --> 01:00:23,000 Með leit tvöfaldur, tala við um tvöfaldur leit sem vera reiknirit, 860 01:00:23,000 --> 01:00:28,000 og við tölum yfirleitt um það í skilmálar af stór O. þess 861 01:00:28,000 --> 01:00:30,000 Hvað er stór O? 862 01:00:30,000 --> 01:00:34,000 Hvað er hægur mögulegt hlaupa tíma leit tvöfaldur? 863 01:00:34,000 --> 01:00:36,000 [Nemandi] N ²? 864 01:00:36,000 --> 01:00:41,000 Loka, held ég svipað. 865 01:00:41,000 --> 01:00:43,000 Það er a einhver fjöldi hraðar en það. 866 01:00:43,000 --> 01:00:45,000 [Nemandi] Binary? >> Já, tvöfaldur leit. 867 01:00:45,000 --> 01:00:47,000 [Nemandi] Það er log n. 868 01:00:47,000 --> 01:00:49,000 Log n, þannig að það er log n meina? 869 01:00:49,000 --> 01:00:51,000 Það helminga það hvert endurtekning. 870 01:00:51,000 --> 01:00:56,000 Einmitt, svo að hægur mögulega tilviki, 871 01:00:56,000 --> 01:01:00,000 segja ef þú ert með raðað fylki 872 01:01:00,000 --> 01:01:08,000 af milljón heiltalna og númerið sem þú ert að leita að 873 01:01:08,000 --> 01:01:14,000 er annaðhvort mjög fyrstur þáttur í array eða mjög síðustu þáttur í fylki. 874 01:01:14,000 --> 01:01:18,000 Mundu að tvöfaldur leita reiknirit virkar með því að horfa á miðju frumefni, 875 01:01:18,000 --> 01:01:21,000 sjá hvort það er að passa að þú ert að leita að. 876 01:01:21,000 --> 01:01:23,000 Ef svo er, þá frábært, finnst þér það. 877 01:01:23,000 --> 01:01:27,000 >> Í besta mögulega tilfelli, hversu hratt er tvöfaldur leita hlaupa? 878 01:01:27,000 --> 01:01:29,000 [Nemendur] 1. 879 01:01:29,000 --> 01:01:32,000 1, það er stöðug tími, stór O 1. Já. 880 01:01:32,000 --> 01:01:36,000 [Nemandi] Ég er með spurningu. Þegar þú segir þig á n, áttu með tilliti til stöð 2, ekki satt? 881 01:01:36,000 --> 01:01:40,000 Já, svo er annar hlutur. 882 01:01:40,000 --> 01:01:44,000 Við segjum log n, og ég giska á þegar ég var í menntaskóla 883 01:01:44,000 --> 01:01:48,000 Ég ráð alltaf að þig væri stöð 10. 884 01:01:48,000 --> 01:01:57,000 Já, þannig að já, skráðu þig stöð 2 venjulega er það sem við notum. 885 01:01:57,000 --> 01:02:02,000 Aftur, að fara aftur til tvöfaldur leit, ef þú ert að leita að annað hvort 886 01:02:02,000 --> 01:02:05,000 þáttur á enda eða þáttur í upphafi 887 01:02:05,000 --> 01:02:08,000 vegna þess að þú byrjar í miðjunni og þá henda 888 01:02:08,000 --> 01:02:13,000 hvort helmingur uppfyllir ekki þau skilyrði sem þú ert að leita að, 889 01:02:13,000 --> 01:02:15,000 og þú ferð í næsta hluta og næsta hálfleik og næsta hálft. 890 01:02:15,000 --> 01:02:19,000 Ef ég er að leita að stærsti þátturinn í milljón heiltölu fylki 891 01:02:19,000 --> 01:02:25,000 Ég ætla að helminga það á flestum log 1 milljón sinnum 892 01:02:25,000 --> 01:02:28,000 áður en ég prófa loksins og sjá að þátturinn sem ég er að leita að 893 01:02:28,000 --> 01:02:33,000 er stærsta eða í hæsta vísitölu fylking, 894 01:02:33,000 --> 01:02:38,000 og það mun taka þig á n, skráðu þig á 1 milljón sinnum. 895 01:02:38,000 --> 01:02:40,000 >> Bubble tagi. 896 01:02:40,000 --> 01:02:43,000 Ert þú krakkar muna eins konar kúla reiknirit? 897 01:02:43,000 --> 01:02:47,000 Kevin, getur þú gefið mér a fljótur ágrip af því sem gerðist í einhverskonar kúla reiknirit? 898 01:02:47,000 --> 01:02:50,000 [Kevin] grundvallaratriðum fer hún með allt á listanum. 899 01:02:50,000 --> 01:02:52,000 Það lítur á fyrstu tveimur. 900 01:02:52,000 --> 01:02:55,000 Ef sá fyrsti er stærri en hitt það skiptasamningum þeim. 901 01:02:55,000 --> 01:02:58,000 Þá ber það annað og þriðja, sama, skiptasamninga, 902 01:02:58,000 --> 01:03:00,000 þriðja og fjórða, alla leið niður. 903 01:03:00,000 --> 01:03:03,000 Stærri tölur mun fylgja allt til enda. 904 01:03:03,000 --> 01:03:07,000 Og eftir þó margar lykkjur þú ert búinn. 905 01:03:07,000 --> 01:03:11,000 Einmitt, svo er það sem Kevin sagði að við munum horfa á stærri tölur 906 01:03:11,000 --> 01:03:15,000 kúla upp til the endir af the array. 907 01:03:15,000 --> 01:03:19,000 Til dæmis, ekki huga að ganga okkur í gegnum þetta dæmi ef þetta er array okkar? 908 01:03:19,000 --> 01:03:21,000 [Kevin] Þú munt taka 2 og 3. 909 01:03:21,000 --> 01:03:23,000 3 er stærri en 2, svo þú skipta þeim. 910 01:03:23,000 --> 01:03:29,000 [Nate H.] Einmitt, þannig að við skipta þeim og svo fáum við 2, 3, 6, 4, og 9. 911 01:03:29,000 --> 01:03:31,000 [Kevin] Síðan sem þú bera saman 3 og 6. 912 01:03:31,000 --> 01:03:33,000 3 er minni en 6, svo þú láta þá, 913 01:03:33,000 --> 01:03:37,000 og 6 og 4, vilt þú skipta þeim því 4 er minna en 6. 914 01:03:37,000 --> 01:03:42,000 [Nate H.] Einmitt, þannig að ég fá 2, 3, 4, 6, 9. 915 01:03:42,000 --> 01:03:46,000 [Kevin] og 9 er stærri en 6, svo þú skilur það. 916 01:03:46,000 --> 01:03:48,000 Og þú vilt fara aftur í gegnum það aftur. 917 01:03:48,000 --> 01:03:50,000 >> [Nate H.] Er ég gert á þessum tímapunkti? >> [Kevin] Nei 918 01:03:50,000 --> 01:03:52,000 Og hvers vegna er ég að gera ekki á þessu stigi? 919 01:03:52,000 --> 01:03:54,000 Vegna þess að það lítur út eins og array mitt er flokkað. Ég er að horfa á það. 920 01:03:54,000 --> 01:03:57,000 [Kevin] fara í gegnum það aftur og ganga úr skugga um að það eru ekki fleiri skiptasamninga 921 01:03:57,000 --> 01:04:00,000 áður en þú getur alveg hætt. 922 01:04:00,000 --> 01:04:04,000 Einmitt, þannig að þú þarft að halda að fara í gegnum og tryggja að það eru engar skiptasamninga 923 01:04:04,000 --> 01:04:06,000 sem hægt er að gera á þessum tímapunkti. 924 01:04:06,000 --> 01:04:08,000 Það var í raun bara heppinn, eins og þú segir, að við enduðum 925 01:04:08,000 --> 01:04:12,000 aðeins að þurfa að gera 1 fara í gegnum og við erum flokkuð. 926 01:04:12,000 --> 01:04:16,000 En að gera þetta í almennu máli munum við í raun að gera þetta aftur og aftur. 927 01:04:16,000 --> 01:04:20,000 Og í raun, þetta var dæmi um bestu mögulegu tilfelli 928 01:04:20,000 --> 01:04:24,000 eins og við sáum í vanda. 929 01:04:24,000 --> 01:04:28,000 Við sáum að besta málið var n. 930 01:04:28,000 --> 01:04:32,000 Við fórum í gegnum array 1 time. 931 01:04:32,000 --> 01:04:35,000 Hver er versta mögulega tilfelli fyrir þessa reiknirit? 932 01:04:35,000 --> 01:04:37,000 [Kevin] N ². 933 01:04:37,000 --> 01:04:41,000 Og hvað þýðir það líta út? Hvað myndi fylki líta út eins og það myndi taka n ² tíma? 934 01:04:41,000 --> 01:04:43,000 [Kevin] [inaudible] raðað. 935 01:04:43,000 --> 01:04:51,000 Einmitt, þannig að ef ég hefði fjölda 9, 7, 6, 5, 2, 936 01:04:51,000 --> 01:04:54,000 fyrst 9 myndi kúla alla leið upp. 937 01:04:54,000 --> 01:04:59,000 Eftir 1 endurtekning við myndum hafa 7, 6, 5, 2, 9. 938 01:04:59,000 --> 01:05:07,000 Þá 7 væri kúla upp, 6, 5, 2, 7, 9, og svo framvegis og svo framvegis. 939 01:05:07,000 --> 01:05:13,000 >> Við myndum þurfa að fara í gegnum allt array n sinnum, 940 01:05:13,000 --> 01:05:16,000 og þú getur raunverulega fá örlítið nákvæmari en þetta 941 01:05:16,000 --> 01:05:23,000 vegna þess að þegar við höfum flutt 9 alla leið upp í síðasta mögulega stöðu 942 01:05:23,000 --> 01:05:26,000 við vitum að við aldrei þurft að bera á móti því frumefni aftur. 943 01:05:26,000 --> 01:05:29,000 Þegar við byrjum að freyðandi á 7 upp 944 01:05:29,000 --> 01:05:35,000 við vitum að við getum hætta þegar 7 er rétt fyrir 9 945 01:05:35,000 --> 01:05:37,000 þar sem við höfum þegar borið saman 9 við það. 946 01:05:37,000 --> 01:05:46,000 Ef þú gerir þetta í sviði hátt það er í raun ekki, ég held að mikill tími. 947 01:05:46,000 --> 01:05:49,000 Þú ert ekki að fara að bera saman allar mögulegar [inaudible] samsetningar 948 01:05:49,000 --> 01:05:55,000 hvert einasta skipti sem þú ferð í gegnum hvert endurtekning. 949 01:05:55,000 --> 01:05:59,000 En samt, þegar við tölum um þetta efri við segjum að 950 01:05:59,000 --> 01:06:04,000 þú ert að leita á n ² samanburður alla leið í gegnum. 951 01:06:04,000 --> 01:06:12,000 >> Við skulum fara aftur, og þar sem við erum farin að fá smá stutt á réttum tíma 952 01:06:12,000 --> 01:06:15,000 Ég myndi segja að þú ættir örugglega að fara í gegnum the hvíla af þessari töflu, 953 01:06:15,000 --> 01:06:17,000 fylla það allt út. 954 01:06:17,000 --> 01:06:20,000 Hugsaðu um dæmi. Hugsaðu um tiltekin dæmi. 955 01:06:20,000 --> 01:06:22,000 Það er mjög handlaginn og gagnlegt að gera. 956 01:06:22,000 --> 01:06:25,000 Draga það út. 957 01:06:25,000 --> 01:06:28,000 Þetta er tegund af töflu sem eins og þú fara í gegnum í tölvunarfræði 958 01:06:28,000 --> 01:06:32,000 þú ættir virkilega að byrja að kynnast þessu af hjarta. 959 01:06:32,000 --> 01:06:34,000 Þetta eru tegundir af spurningum sem þú færð í viðtölum. 960 01:06:34,000 --> 01:06:36,000 Þetta eru tegundir af hlutum sem gott er að vita, 961 01:06:36,000 --> 01:06:41,000 og hugsa um þá brún tilvikum raun vangaveltur út hvernig á að hugsa um 962 01:06:41,000 --> 01:06:45,000 vitandi að fyrir kúla raða versta array 963 01:06:45,000 --> 01:06:52,000 að raða við það er eitt sem er í öfugri röð. 964 01:06:52,000 --> 01:06:58,000 >> Ábendingum. Við skulum tala svolítið um ábendingum. 965 01:06:58,000 --> 01:07:03,000 Á síðustu mínútum sem við höfum hér 966 01:07:03,000 --> 01:07:11,000 Ég veit að þetta er eitthvað með skrá I / O það er frekar nýtt. 967 01:07:11,000 --> 01:07:19,000 Þegar við tölum um ábendingum ástæðu að við viljum tala um punkta 968 01:07:19,000 --> 01:07:24,000 er vegna þess að einn, þegar við erum að vinna í C 969 01:07:24,000 --> 01:07:33,000 við erum í raun á tiltölulega lágu stigi miðað við flest nútíma forritunarmál. 970 01:07:33,000 --> 01:07:38,000 Við erum í raun fær um að stjórna breytum í minni, 971 01:07:38,000 --> 01:07:43,000 reikna út hvar þeir eru í raun staðsett í RAM okkar. 972 01:07:43,000 --> 01:07:46,000 Þegar þú hefur farið í að taka stýrikerfi námskeið sem þú munt sjá 973 01:07:46,000 --> 01:07:48,000 að það er, aftur, góður af abstrakt. 974 01:07:48,000 --> 01:07:50,000 Það er í raun ekki málið. 975 01:07:50,000 --> 01:07:52,000 Við höfum fengið raunverulegur minni sem er að fela þær upplýsingar frá okkur. 976 01:07:52,000 --> 01:07:58,000 >> En nú er hægt að gera ráð fyrir að þegar þú ert með forrit, 977 01:07:58,000 --> 01:08:02,000 til dæmis, þegar þú byrjar að keyra þinn Caesar dulmál program- 978 01:08:02,000 --> 01:08:06,000 Ég skipta aftur iPad minn virkilega hratt- 979 01:08:06,000 --> 01:08:12,000 að í upphafi program, ef þú ert að segja, 980 01:08:12,000 --> 01:08:15,000 4 gígabæta vinnsluminni á fartölvu, 981 01:08:15,000 --> 01:08:21,000 þú færð að setja hliðar þessa klumpur, og við munum kalla þetta vinnsluminni. 982 01:08:21,000 --> 01:08:25,000 Og það byrjar á stað sem við erum að fara að hringja í 0, 983 01:08:25,000 --> 01:08:30,000 og það endar á stað sem við munum kalla 4 gígabæta. 984 01:08:30,000 --> 01:08:37,000 Ég virkilega get ekki skrifað. Man, er að tölvusnápur. 985 01:08:37,000 --> 01:08:40,000 Forritið keyrir 986 01:08:40,000 --> 01:08:44,000 stýrikerfið sker upp RAM, 987 01:08:44,000 --> 01:08:51,000 og það skilgreinir mismunandi hluti fyrir mismunandi hluta af dagskrá til að lifa inn 988 01:08:51,000 --> 01:08:58,000 Down hér þetta svæði er eins konar land enginn maður er. 989 01:08:58,000 --> 01:09:02,000 Þegar þú ferð upp smá lengra hér 990 01:09:02,000 --> 01:09:05,000 þú hefur fengið í raun staður þar sem 991 01:09:05,000 --> 01:09:09,000 númerið fyrir lífi program. 992 01:09:09,000 --> 01:09:13,000 Að raunveruleg tvíundatöluforrit, reyndar að executable skrá fær hlaðinn inn í minni 993 01:09:13,000 --> 01:09:17,000 þegar þú ert að keyra forrit, og það býr í kóða hluti. 994 01:09:17,000 --> 01:09:22,000 Og eins og program keyrir örgjörva lítur á þennan kóða hluti 995 01:09:22,000 --> 01:09:24,000 til að reikna út hvað er næsta kennsla? 996 01:09:24,000 --> 01:09:27,000 Hvað er næsta lína af kóða sem ég þarf að framkvæma? 997 01:09:27,000 --> 01:09:31,000 >> Það er líka gögn hluti, og þetta er þar sem þessir band fastar 998 01:09:31,000 --> 01:09:34,000 fá geymd sem þú hefur verið að nota. 999 01:09:34,000 --> 01:09:42,000 Og svo lengra upp það þessi staður kallast hrúga. 1000 01:09:42,000 --> 01:09:46,000 Við aðgangur minni í það með því að nota malloc, 1001 01:09:46,000 --> 01:09:49,000 og síðan í átt að efst á forritinu 1002 01:09:49,000 --> 01:09:52,000 það er á mánudaginn, 1003 01:09:52,000 --> 01:09:57,000 og það er þar sem við höfum verið að spila í flestum upphafi. 1004 01:09:57,000 --> 01:09:59,000 Þetta er ekki í mælikvarða eða neitt. 1005 01:09:59,000 --> 01:10:03,000 A einhver fjöldi af þessu er mjög vél háð, 1006 01:10:03,000 --> 01:10:10,000 stýrikerfi háð, en þetta er tiltölulega hvernig hlutirnir fá chunked upp. 1007 01:10:10,000 --> 01:10:17,000 Þegar þú keyrir forritið og þú lýsa breytu sem heitir x- 1008 01:10:17,000 --> 01:10:27,000 Ég ætla að draga aðra kassa niðri, og þetta er að fara að vera RAM eins og heilbrigður. 1009 01:10:27,000 --> 01:10:29,000 Og ég ætla að horfa. 1010 01:10:29,000 --> 01:10:34,000 Við munum draga jagged línur til þess að þetta er bara lítill hluti af RAM 1011 01:10:34,000 --> 01:10:38,000 og ekki minna en það sem við drögum efst. 1012 01:10:38,000 --> 01:10:43,000 >> Ef ég lýsi heiltala breytu sem heitir x, 1013 01:10:43,000 --> 01:10:49,000 þá er það ég í raun kortlagning 1014 01:10:49,000 --> 01:10:54,000 sem er geymt í merkinu borð áætlun mína 1015 01:10:54,000 --> 01:11:00,000 sem tengir nafnið X á þessu svæði af minni sem ég hef dregið 1016 01:11:00,000 --> 01:11:03,000 hérna á milli lóðrétt bars. 1017 01:11:03,000 --> 01:11:08,000 Ef ég er með línu af kóða í kerfinu mínu sem segir x = 7 1018 01:11:08,000 --> 01:11:15,000 örgjörva veit "Ó, allt í lagi, ég veit að X býr á þessum stað í minni." 1019 01:11:15,000 --> 01:11:25,000 "Ég ætla að fara á undan og skrifa 7 þar." 1020 01:11:25,000 --> 01:11:28,000 Hvernig er það veit hvaða stað þetta er í minni? 1021 01:11:28,000 --> 01:11:30,000 Jæja, er það allt gert á saman tíma. 1022 01:11:30,000 --> 01:11:34,000 The þýðandinn sér um úthlutun þar sem hver af breytum eru að fara að fara 1023 01:11:34,000 --> 01:11:40,000 og skapa sérstaka kortlagning eða frekar tengja punkta 1024 01:11:40,000 --> 01:11:43,000 milli tákn og þar sem það er að fara, nafn breytu er 1025 01:11:43,000 --> 01:11:46,000 og þar sem það er að fara að lifa í minni. 1026 01:11:46,000 --> 01:11:50,000 En það kemur í ljós að við getum í raun og veru nálgast það í áætlunum okkar eins og heilbrigður. 1027 01:11:50,000 --> 01:11:55,000 Þetta verður mikilvægt þegar við byrjum að tala um tiltekin gögn uppbygging, 1028 01:11:55,000 --> 01:11:58,000 sem er hugtak sem við erum að fara að kynna síðar. 1029 01:11:58,000 --> 01:12:09,000 >> En nú, það er hægt að vita er að ég er að búa til bendi að þessum stað, x. 1030 01:12:09,000 --> 01:12:12,000 Til dæmis, ég get búið til músina breytu. 1031 01:12:12,000 --> 01:12:16,000 Þegar við búa til músina breytu við notum stjörnu tákn. 1032 01:12:16,000 --> 01:12:21,000 Í þessu tilfelli, það segir að ég ætla að búa til bendi til INT. 1033 01:12:21,000 --> 01:12:24,000 Það er tegund eins og allir aðrir. 1034 01:12:24,000 --> 01:12:27,000 Við gefa honum breytu eins y, 1035 01:12:27,000 --> 01:12:32,000 og þá erum við að setja það jafnt heimilisfang, til heimilisfang. 1036 01:12:32,000 --> 01:12:38,000 Í þessu tilfelli getum við sett y til að benda á X 1037 01:12:38,000 --> 01:12:43,000 með því að taka tölu af x, sem við gerum með þetta merkið, 1038 01:12:43,000 --> 01:12:55,000 og þá erum við sett y til að benda á það. 1039 01:12:55,000 --> 01:12:59,000 Hvað þetta í raun er er ef við skoðum RAM okkar 1040 01:12:59,000 --> 01:13:02,000 Þetta skapar sérstaka breytu. 1041 01:13:02,000 --> 01:13:04,000 Það er að fara að kalla það y, 1042 01:13:04,000 --> 01:13:06,000 og þegar þessi lína af kóða keyrir 1043 01:13:06,000 --> 01:13:13,000 það er reyndar að fara að búa til smá músina sem við drögum yfirleitt eins ör, 1044 01:13:13,000 --> 01:13:15,000 og það setur Y að benda á x. 1045 01:13:15,000 --> 01:13:17,000 Já. 1046 01:13:17,000 --> 01:13:19,000 [Nemandi] Ef x er þegar bendillinn, myndir þú bara 1047 01:13:19,000 --> 01:13:22,000 int * y = x stað þess að hafa merkið? 1048 01:13:22,000 --> 01:13:24,000 Já. 1049 01:13:24,000 --> 01:13:27,000 Ef x er þegar músina, þá er hægt að setja 2 ábendingum jafnan við hvert annað, 1050 01:13:27,000 --> 01:13:30,000 í því tilviki Y myndi ekki benda til X, 1051 01:13:30,000 --> 01:13:34,000 en það myndi benda til hvað x er bendir til. 1052 01:13:34,000 --> 01:13:37,000 Því miður, við erum út á tíma. 1053 01:13:37,000 --> 01:13:44,000 >> Það sem ég myndi segja að á þessum tímapunkti, getum við talað um þetta offline, 1054 01:13:44,000 --> 01:13:49,000 en ég myndi segja að byrja að vinna í þessu vandamáli, # 14. 1055 01:13:49,000 --> 01:13:53,000 Þú getur séð að það er nú svolítið fyllt í fyrir þig hér. 1056 01:13:53,000 --> 01:13:57,000 Þú getur séð að þegar við lýsa 2 ábendingum, int * x og * y, 1057 01:13:57,000 --> 01:14:01,000 og athugaðu að benda á * hliðina á breytu var eitthvað sem var gert á síðasta ári. 1058 01:14:01,000 --> 01:14:05,000 Það kemur í ljós að þetta er svipað og við erum að gera á þessu ári. 1059 01:14:05,000 --> 01:14:11,000 Það skiptir ekki máli hvar þú skrifar * Þegar þú ert að lýsa á músina. 1060 01:14:11,000 --> 01:14:17,000 En við höfum skrifað á * hliðina á gerð 1061 01:14:17,000 --> 01:14:24,000 því sem gerir það mjög ljóst að þú ert að lýsa á músina breytu. 1062 01:14:24,000 --> 01:14:27,000 Þú getur séð að lýsa því yfir að 2 punkta gefur okkur 2 kassa. 1063 01:14:27,000 --> 01:14:31,000 Hér þegar við setjum x jafn malloc 1064 01:14:31,000 --> 01:14:34,000 hvað þetta er að segja er að setja til hliðar minni í hrúga. 1065 01:14:34,000 --> 01:14:41,000 Þessi litli kassi hérna, þessi hringur er staðsett á hrúga. 1066 01:14:41,000 --> 01:14:43,000 X er að benda á það. 1067 01:14:43,000 --> 01:14:46,000 Athugið að y er ekki enn benda til nokkuð. 1068 01:14:46,000 --> 01:14:50,000 Til að fá minni til að geyma númer 42 í x 1069 01:14:50,000 --> 01:14:55,000 við myndum nota hvaða tákn? 1070 01:14:55,000 --> 01:14:59,000 [Nemandi] * x = 42. 1071 01:14:59,000 --> 01:15:01,000 Einmitt, * x = 42. 1072 01:15:01,000 --> 01:15:06,000 Það þýðir að fylgja á örina og kasta 42 þar. 1073 01:15:06,000 --> 01:15:09,000 Hér þar sem við setjum y og x við höfum Y benda til X.. 1074 01:15:09,000 --> 01:15:13,000 Aftur, þetta er bara eins og það sem Kevin sagði hvar við setjum Y jöfn x. 1075 01:15:13,000 --> 01:15:15,000 Y er ekki benda til x. 1076 01:15:15,000 --> 01:15:19,000 Fremur, það bendir á það sem x bendir á eins og heilbrigður. 1077 01:15:19,000 --> 01:15:24,000 >> Og þá að lokum á þessum síðasta kassa eru 2 mögulegar hlutir sem við gætum gert. 1078 01:15:24,000 --> 01:15:28,000 Eitt er að við gætum sagt * x = 13. 1079 01:15:28,000 --> 01:15:33,000 The annar hlutur er að við gætum sagt-Alex, veistu hvað við gætum gert hér? 1080 01:15:33,000 --> 01:15:37,000 Þú gætir sagt * x = 13 eða- 1081 01:15:37,000 --> 01:15:41,000 [Nemandi] Þú getur sagt int hvað sem er. 1082 01:15:41,000 --> 01:15:45,000 [Nate H.] Ef þetta var nefnt sem int breytu við gætum gert það. 1083 01:15:45,000 --> 01:15:49,000 Við gætum líka sagt * y = 13 því að þeir eru báðir að benda á sama stað, 1084 01:15:49,000 --> 01:15:51,000 svo við gætum notað annaðhvort breyta að komast þangað. 1085 01:15:51,000 --> 01:15:56,000 Já. >> [Nemandi] Hvað myndi það líta út eins og ef við segjum bara int x er 13? 1086 01:15:56,000 --> 01:16:00,000 Það væri að lýsa nýja breytu sem heitir x, sem vildi ekki vinna. 1087 01:16:00,000 --> 01:16:04,000 Við myndum hafa árekstri því við lýst x að vera músina upp hér. 1088 01:16:04,000 --> 01:16:10,000 [Nemandi] Ef við hefðum bara þessi staðhæfing út af fyrir sig hvað myndi það líta út eins og í skilmálar af hringnum? 1089 01:16:10,000 --> 01:16:14,000 Ef við hefðum x = 13 þá við myndum hafa kassa, og frekar en að hafa ör 1090 01:16:14,000 --> 01:16:16,000 kemur út af the kassi sem við myndum draga það eins og bara 13. 1091 01:16:16,000 --> 01:16:19,000 [Nemandi] í kassanum. Allt í lagi. 1092 01:16:19,000 --> 01:16:24,000 >> Þakka þér fyrir að horfa á, og gangi þér vel á Quiz 0. 1093 01:16:24,000 --> 01:16:28,000 [CS50.TV]