1 00:00:00,000 --> 00:00:11,952 2 00:00:11,952 --> 00:00:13,800 >> DAVID J. MALAN: Þannig að þetta er CS50. 3 00:00:13,800 --> 00:00:18,970 Og þetta var eigin CS50 er Colton Ogden, fyrir meira af hver er tónlist sem þú getur 4 00:00:18,970 --> 00:00:22,820 sækja á soundcloud.com/cs50. 5 00:00:22,820 --> 00:00:26,690 >> Svo í dag að við einbeitum allt meira á list forritun. 6 00:00:26,690 --> 00:00:28,980 Og við tökum þar sem við var burt síðustu viku, með áherslu 7 00:00:28,980 --> 00:00:31,660 á grunni, sem var þessi grafísku forritunarmál. 8 00:00:31,660 --> 00:00:35,490 Og taka það niður á lægra stig, með hefðbundnari forritun 9 00:00:35,490 --> 00:00:38,420 tungumál þekktur sem C En á leiðinni, að átta sig á 10 00:00:38,420 --> 00:00:40,730 að sömu hugmyndir sem við talaði um síðasta föstudag 11 00:00:40,730 --> 00:00:44,390 mun endurtaki sig ekki aðeins í þessu er C, en í flesta aðra 12 00:00:44,390 --> 00:00:46,350 að við lítum á þetta misserið. 13 00:00:46,350 --> 00:00:50,247 >> Svo við kölluðum þetta hlutur hér hvað síðast? 14 00:00:50,247 --> 00:00:51,830 Þetta er dæmigert fyrir yfirliti. 15 00:00:51,830 --> 00:00:53,080 Svo við kölluðum þetta yfirlýsingu. 16 00:00:53,080 --> 00:00:54,100 Og það gerir eitthvað. 17 00:00:54,100 --> 00:00:56,910 Það er kennsla sem tölva eða Scratch gæti keyrt. 18 00:00:56,910 --> 00:00:59,910 Og héðan, við skulum byrja líka starf eitthvað svona fall, 19 00:00:59,910 --> 00:01:02,070 ástæðum við munum fljótlega sjá. 20 00:01:02,070 --> 00:01:03,681 >> Á sama tíma, við sáum hlutina eins og þetta. 21 00:01:03,681 --> 00:01:05,680 Og þetta eru yfirleitt þekktur sem hvað reisa? 22 00:01:05,680 --> 00:01:06,240 >> Áhorfendur: Endurtaka. 23 00:01:06,240 --> 00:01:06,860 >> DAVID J. MALAN: Svo lykkju. 24 00:01:06,860 --> 00:01:07,943 Svo frekar einfalt. 25 00:01:07,943 --> 00:01:09,470 Það gerir bókstaflega það sem það segir. 26 00:01:09,470 --> 00:01:12,210 Og í grunni, ef þú vilt troða fleiri stykki púsluspil í það, 27 00:01:12,210 --> 00:01:13,950 Verkið mun vaxa til að passa hana. 28 00:01:13,950 --> 00:01:16,790 Og við munum sjá í C sem Við getum gert það sama. 29 00:01:16,790 --> 00:01:20,000 >> Önnur gerð af lykkju, þó, í grunni gæti verið að eilífu, 30 00:01:20,000 --> 00:01:21,820 eða það er einhver tala annarra aðferða. 31 00:01:21,820 --> 00:01:24,150 En við skulum taka a fleiri almennra útlit, með andlit 32 00:01:24,150 --> 00:01:27,402 það er líklega alveg kunnugur, á lykkjur almennt. 33 00:01:27,402 --> 00:01:29,110 Mark Zuckerberg: Einn hlutur sem tölvur 34 00:01:29,110 --> 00:01:31,860 eru virkilega góðir í er endurtaka skipanir. 35 00:01:31,860 --> 00:01:33,910 Sem persónu, þú vilt fá virkilega leiðist ef þú 36 00:01:33,910 --> 00:01:36,730 þurfti að gera það sama hellingur af sinnum í röð. 37 00:01:36,730 --> 00:01:40,530 En tölva getur gert það sama milljónir eða jafnvel milljarða sinnum, 38 00:01:40,530 --> 00:01:43,290 og ekki fá leiðindi, og vera fær um til að framkvæma hann mjög vel. 39 00:01:43,290 --> 00:01:45,650 >> Svo til dæmis, ef ég langaði að óska ​​öllum 40 00:01:45,650 --> 00:01:48,840 á Facebook í tilefni dagsins með því að senda þeim tölvupóst, 41 00:01:48,840 --> 00:01:51,550 það gæti tekið mig meira en öld til raunverulega skrifa út 42 00:01:51,550 --> 00:01:53,000 allar þessar tölvupóst til alla. 43 00:01:53,000 --> 00:01:57,780 En með bara nokkrar línur af kóða, ég get hafa kerfið senda tölvupóst á alla 44 00:01:57,780 --> 00:01:59,930 á Facebook sem vilja þá í tilefni dagsins. 45 00:01:59,930 --> 00:02:02,730 Svo það er það sem lykkjur eru og hvers vegna þeir eru dýrmæt og eitthvað 46 00:02:02,730 --> 00:02:04,740 að tölvur geta gert mjög vel. 47 00:02:04,740 --> 00:02:05,630 >> DAVID J. MALAN: Svo ef þú hefur verið viðtakandinn 48 00:02:05,630 --> 00:02:07,820 sumir af CS50 er og Rúm Dropbox er á síðkastið, 49 00:02:07,820 --> 00:02:10,590 það er í raun nákvæmlega það sem við gera, með því að nota kóðann alveg eins og þessi. 50 00:02:10,590 --> 00:02:12,600 Við höfum fyrst og fremst stór töflureikni inn sem 51 00:02:12,600 --> 00:02:15,016 gott fólk hafa verið inputting þeirra Nöfn og netföng. 52 00:02:15,016 --> 00:02:18,160 Og við skrifuðum örlítið hluti af kóða sem getur kunnugt um þá heimilisföng 53 00:02:18,160 --> 00:02:21,860 og spýta út einstaka heimilisföng í ræða einhver lögð mörgum sinnum. 54 00:02:21,860 --> 00:02:25,120 Og eftir það, við senda sem sjálfvirk email frá láni CS50 er, 55 00:02:25,120 --> 00:02:27,190 þ.mt afsláttarmiða kóða. 56 00:02:27,190 --> 00:02:29,290 >> Nú litum við einnig á þetta reisa síðasta skipti. 57 00:02:29,290 --> 00:02:33,100 Og þetta er sérstaklega Dæmi um hvað? 58 00:02:33,100 --> 00:02:35,050 Svo, já, Boole tjáningu. 59 00:02:35,050 --> 00:02:37,050 Og lögun er ætlað til að fanga það eins vel. 60 00:02:37,050 --> 00:02:39,966 Allar slíkar spurningar í því mynda satt eða ósatt í grunni 61 00:02:39,966 --> 00:02:41,590 mun líta svolítið eitthvað eins og this. 62 00:02:41,590 --> 00:02:43,200 Og við köllum þetta Boole tjáningu. 63 00:02:43,200 --> 00:02:46,170 Það er reyndar satt eða ósatt, já eða nei. 64 00:02:46,170 --> 00:02:49,150 Það er leið til þess að svara spurningu. 65 00:02:49,150 --> 00:02:52,420 >> Og meðan þú getur notað þessar Boole tjáning inni býr 66 00:02:52,420 --> 00:02:54,720 eins og þessir, sem af Auðvitað eru aðstæður 67 00:02:54,720 --> 00:02:57,259 eða útibú, proverbial gafflar á veginum. 68 00:02:57,259 --> 00:02:59,550 Og þeir geta líta ekki aðeins eins og þetta, en þeir geta einnig 69 00:02:59,550 --> 00:03:02,080 hafa elses tengd þeim. 70 00:03:02,080 --> 00:03:05,820 Og þú getur raunverulega hafa a þrjú leið punga í veginum eða fjögurra vegur gaffal 71 00:03:05,820 --> 00:03:08,340 á veginum, einfaldlega með því að hreiðurgerð þetta, 72 00:03:08,340 --> 00:03:10,510 eins og þú munt sjá í grunni ef þú ert ekki nú þegar. 73 00:03:10,510 --> 00:03:13,550 Og eins og þú getur gert í C eins og heilbrigður. 74 00:03:13,550 --> 00:03:16,810 >> Við skulum taka aðra almennra líta á alumnist, eins og heilbrigður, sem 75 00:03:16,810 --> 00:03:21,490 getur skapað mismunandi nálgun þessum hlutum sem kallast aðstæður. 76 00:03:21,490 --> 00:03:24,060 >> BILL GATES: Fólk gerir ákvarðanir á hverjum degi. 77 00:03:24,060 --> 00:03:27,530 Til dæmis, áður en þú ferð út þér konar hafa ef yfirlýsingu sem segir, 78 00:03:27,530 --> 00:03:31,480 ef það er rigning þá er ég þarf að fá jakkann minn. 79 00:03:31,480 --> 00:03:36,820 Og tölvur eru ótrúlega þegar þú ákveða þær tegundir af yfirlýsingum, 80 00:03:36,820 --> 00:03:42,280 að þeir geta áreiðanlegum framkvæma þessir hlutir á ótrúlegt hraða. 81 00:03:42,280 --> 00:03:48,240 Og svo tölvuforrit raun er a lítill hluti af stærðfræði og sumir 82 00:03:48,240 --> 00:03:53,050 ef yfirlýsingar þar ákvörðun verður tekin. 83 00:03:53,050 --> 00:03:55,020 >> DAVID J. MALAN: Svo sem og þú mega vita, að það var 84 00:03:55,020 --> 00:03:57,880 gott fólk eins og Bill Gates, Paul Allen og aðrir 85 00:03:57,880 --> 00:04:00,240 sem sannarlega sparkað burt svokallaða einkatölvu 86 00:04:00,240 --> 00:04:01,990 bylting fyrir nokkrum árum. 87 00:04:01,990 --> 00:04:04,140 Ég hélt, áður en við kafa í sumum administrivia, 88 00:04:04,140 --> 00:04:09,920 við myndum tengjast þá sögu frá Albuquerque, Nýja Mexíkó Museum of Natural History 89 00:04:09,920 --> 00:04:13,650 og vísindi þar sem sumir af Bill Gates ' og elstu sögur Paul Allen 90 00:04:13,650 --> 00:04:17,470 koma einnig fram hvernig við höfum nú PCs dag og Macs og fleira. 91 00:04:17,470 --> 00:04:22,390 Fyrir þetta, þó, við þurfum tvo sjálfboðaliða sem hafa mjög góða frásögn raddir 92 00:04:22,390 --> 00:04:23,735 að lesa handritið upphátt. 93 00:04:23,735 --> 00:04:25,530 >> Allt í lagi, hvernig óður í aftur. 94 00:04:25,530 --> 00:04:26,120 Komdu upp. 95 00:04:26,120 --> 00:04:27,770 Og hvernig óður í framan hérna. 96 00:04:27,770 --> 00:04:28,340 Komdu niður. 97 00:04:28,340 --> 00:04:29,600 Taktu staði hér. 98 00:04:29,600 --> 00:04:32,444 Sem þið komið upp, par stjórnsýslu tilkynningum. 99 00:04:32,444 --> 00:04:34,360 sneiðingu, ferlið að velja kafla, 100 00:04:34,360 --> 00:04:36,068 mun hefja þetta Miðvikudagur til föstudags. 101 00:04:36,068 --> 00:04:38,400 Meira um það þetta kemur Miðvikudagur í fyrirlestri. 102 00:04:38,400 --> 00:04:41,770 >> Super köflum, á meðan, eru eitthvað sem við bjóðum í næstu viku 103 00:04:41,770 --> 00:04:45,310 þar sem allt er bekknum boðið að taka þátt í umtalsverðum mæli 104 00:04:45,310 --> 00:04:47,690 köflum einn notalega, einn vel minna. 105 00:04:47,690 --> 00:04:51,340 Og við munum tilkynna þær upplýsingar um það, eins og heilbrigður, síðar í þessari viku. 106 00:04:51,340 --> 00:04:53,310 >> Á meðan köflum sjálfir, verður að byrja 107 00:04:53,310 --> 00:04:57,241 í viku þrjú af námskeiðinu, núll vísitölu, sem þýðir þá eru nokkrar vikur 108 00:04:57,241 --> 00:04:57,740 út. 109 00:04:57,740 --> 00:04:58,450 Svo ekki að hafa áhyggjur. 110 00:04:58,450 --> 00:05:01,014 Þú hefur ekki enn misst eitthvað meðfram þeim línum. 111 00:05:01,014 --> 00:05:03,930 Á sama tíma í millitíðinni, ef þú hefur einhverjar spurningar stjórnsýsla, 112 00:05:03,930 --> 00:05:08,120 sendu mig og Devon og Gabe og Rob á þetta heimilisfang hér. 113 00:05:08,120 --> 00:05:10,320 >> Loks vandamál setja 0 er, að sjálfsögðu, út. 114 00:05:10,320 --> 00:05:12,320 Þú gætir hafa tekið eftir því á heimasíðu Auðvitað er. 115 00:05:12,320 --> 00:05:14,840 Það ætti að veita þér með öll svör við spurningum 116 00:05:14,840 --> 00:05:18,250 þú gætir hafa á leiðinni til að byrja með vandamál setja. 117 00:05:18,250 --> 00:05:21,430 En ef þú finnur sjálfan þig í þörf af a hjálparhönd, 118 00:05:21,430 --> 00:05:25,020 fyrir alla muni mæta skrifstofutíma, Mánudagur, þriðjudagur, miðvikudagur, fimmtudagur 119 00:05:25,020 --> 00:05:27,290 þessa viku í kvöld í fjórum veitingastöðum sölum. 120 00:05:27,290 --> 00:05:31,650 Sjá þessi slóð þar fyrir upplýsingunum hvar skrifstofa klst skulu vera. 121 00:05:31,650 --> 00:05:34,000 >> Nú skulum mæta okkar tveir gestir hér í dag. 122 00:05:34,000 --> 00:05:34,740 Hvað er nafn þitt? 123 00:05:34,740 --> 00:05:35,290 >> JAY PAUL: Jay Paul. 124 00:05:35,290 --> 00:05:36,880 >> DAVID J. MALAN: Jay Paul, gaman að hitta þig. 125 00:05:36,880 --> 00:05:37,330 >> Hikari: Hikari. 126 00:05:37,330 --> 00:05:37,975 >> DAVID J. MALAN: Hikari? 127 00:05:37,975 --> 00:05:38,250 >> Hikari: Hikari. 128 00:05:38,250 --> 00:05:38,810 >> DAVID J. MALAN: Hikari. 129 00:05:38,810 --> 00:05:39,790 Gaman að hitta þig eins og heilbrigður. 130 00:05:39,790 --> 00:05:42,123 Jay Paul og Hikari hafa í framan af þeim á þessum tónlist 131 00:05:42,123 --> 00:05:45,100 stendur tvær forskriftir sem ég prenta út í morgun frá New Mexico 132 00:05:45,100 --> 00:05:46,692 Museum of Natural History og vísinda. 133 00:05:46,692 --> 00:05:48,400 Og það sem ég hugsaði Ég myndi gera á the kostnaður 134 00:05:48,400 --> 00:05:52,830 er fylgja upptalningu þína af handriti og þessa sögu 135 00:05:52,830 --> 00:05:54,700 með nokkrum myndum, ekki á óvart. 136 00:05:54,700 --> 00:05:57,512 >> Og það sem ég hef gert í fyrirfram er prehighlight á handritið 137 00:05:57,512 --> 00:05:59,470 það sem þú ættir að lesa, og hvað þú ættir að lesa. 138 00:05:59,470 --> 00:06:00,920 Og við munum í raun bara varamaður málsgreinar. 139 00:06:00,920 --> 00:06:03,211 Svo það er mikið eins og þú might hafa gert í ensku bekknum. 140 00:06:03,211 --> 00:06:06,875 Það er í raun neyða áhorfendur að trúa á hala þínum hér. 141 00:06:06,875 --> 00:06:07,600 Skal við? 142 00:06:07,600 --> 00:06:13,272 Svo sagan hér er, við höfum BASIC, og það byrjar í Cambridge. 143 00:06:13,272 --> 00:06:18,750 >> JAY PAUL: Það var vetur, 1974, í Cambridge, Massachusetts 144 00:06:18,750 --> 00:06:20,240 þar vetur getur verið kalt. 145 00:06:20,240 --> 00:06:22,800 A skegg, löng hár háskóli brottfall heitir 146 00:06:22,800 --> 00:06:27,280 Paul Allen var drudging yfir Harvard Square, niðursokkinn í hugsanir hans. 147 00:06:27,280 --> 00:06:31,050 Helstu gagntekinn hans í þá daga var hvernig á að fá vin sinn, Bill Gates, 148 00:06:31,050 --> 00:06:34,974 að hætta í skóla og fara í viðskiptum við hann. 149 00:06:34,974 --> 00:06:37,890 Hikari: The tveir höfðu þegar farið í gegnum a tala af verkefnum fyrirtækja 150 00:06:37,890 --> 00:06:40,850 saman, sem hefst á Lakeside skóla í Seattle þar 151 00:06:40,850 --> 00:06:45,220 þeir voru greidd í frjáls tölva tími til prófa PDP-10 tölvu í staðartíma 152 00:06:45,220 --> 00:06:46,580 hlutdeild fyrirtæki. 153 00:06:46,580 --> 00:06:50,930 Nýjasta áætlun hafði verið að hætta skóla og mynda hugbúnaður fyrirtæki. 154 00:06:50,930 --> 00:06:53,440 Allen hafði skilið Washington State University. 155 00:06:53,440 --> 00:06:58,380 En á síðustu stundu, Gates ákvað að halda sig við Harvard. 156 00:06:58,380 --> 00:07:02,080 >> JAY PAUL: Sá dagur, yfir Harvard Square, Allen sást janúar, 157 00:07:02,080 --> 00:07:07,530 1975 tölublað af Popular Electronics með jörð viðkomustöðum fyrirsögn, 158 00:07:07,530 --> 00:07:11,900 Heimsins fyrsta minicomputer Kit til samkeppni Commercial Models. 159 00:07:11,900 --> 00:07:14,430 Undir fyrirsögn var mynd af boxi 160 00:07:14,430 --> 00:07:16,160 skreytt með ljósum og rofa. 161 00:07:16,160 --> 00:07:19,770 Það var kallað mits Altair 8800. 162 00:07:19,770 --> 00:07:24,100 Og Allen vissi að þetta var það sem Hann hafði verið að leita að. 163 00:07:24,100 --> 00:07:26,350 >> Hikari: Dagar umræðu fylgt. 164 00:07:26,350 --> 00:07:30,170 Allen og Gates skilið að mikilvægi Altair. 165 00:07:30,170 --> 00:07:32,480 Þeir töluðu oft um örgjörvi 166 00:07:32,480 --> 00:07:35,250 og voru að bíða eftir að sjá hvað yrði gert með þeim. 167 00:07:35,250 --> 00:07:39,770 Nú var minicomputer Kit á lokinu Popular Electronics. 168 00:07:39,770 --> 00:07:42,830 Það hafði greinilega ekki hugbúnað enn. 169 00:07:42,830 --> 00:07:46,830 Þeir ímyndað sér þjóð forritari stíga niður mits. 170 00:07:46,830 --> 00:07:49,590 Og svo þeir kallast Ed Roberts, yfirmaður fyrirtækisins, 171 00:07:49,590 --> 00:07:53,330 segjast hafa útgáfu af BASIC forritunarmál næstum tilbúin 172 00:07:53,330 --> 00:07:54,710 fyrir Altair. 173 00:07:54,710 --> 00:07:55,570 Þeir gerðu það ekki. 174 00:07:55,570 --> 00:07:58,910 Og Roberts hlýtur að hafa vitað að þeir gerðu ekki. 175 00:07:58,910 --> 00:08:03,170 Hann var að fá 10 símtöl á dag frá fólk sem hafði BASIC næstum tilbúin. 176 00:08:03,170 --> 00:08:05,570 Og birgðir viðbrögð hans var, "Sá sem 177 00:08:05,570 --> 00:08:11,090 sem sýnir sig með vinnu BASIC fær samning. " 178 00:08:11,090 --> 00:08:13,910 >> JAY PAUL: Gates og Allen hafði aldrei séð Altair. 179 00:08:13,910 --> 00:08:17,600 Þeir höfðu aldrei séð Intel 8080 örgjörvi 180 00:08:17,600 --> 00:08:19,060 í hjarta Altair. 181 00:08:19,060 --> 00:08:21,470 En a par af ár fyrr Allen hafði skrifað forrit 182 00:08:21,470 --> 00:08:25,220 á mainframe tölva sem líkja rekstur fyrri Intel 183 00:08:25,220 --> 00:08:26,217 örgjörvi. 184 00:08:26,217 --> 00:08:28,300 Og að þessu sinni í kring þeir myndi gera það sama. 185 00:08:28,300 --> 00:08:31,530 186 00:08:31,530 --> 00:08:34,380 >> Hikari: Með Intel 8080 handbók við hlið hans, 187 00:08:34,380 --> 00:08:37,770 Allen settist á a Harvard PDP-10 tölvu 188 00:08:37,770 --> 00:08:42,010 og skrifaði keppinautur og hugbúnaður verkfæri nauðsynleg til að gera forritun. 189 00:08:42,010 --> 00:08:45,820 Á meðan Gates hætt að fara að flokka og helgað sig 190 00:08:45,820 --> 00:08:48,120 að hanna undirstöðu, nota hvert bragð 191 00:08:48,120 --> 00:08:53,130 Hann vissi að fá stærð niður fyrir 4 kílóbæti. 192 00:08:53,130 --> 00:08:55,870 >> JAY PAUL: Út í Albuquerque, Ed Roberts fékk símtal frá Gates 193 00:08:55,870 --> 00:08:59,754 að biðja um upplýsingar um hvernig Altair meðhöndlaðar sérstakar venjur. 194 00:08:59,754 --> 00:09:01,170 Enginn hafði nokkru sinni spurt að áður. 195 00:09:01,170 --> 00:09:02,670 Og Roberts byrjaði að fá áhuga. 196 00:09:02,670 --> 00:09:05,240 197 00:09:05,240 --> 00:09:07,970 >> Hikari: Með þróun verkfærum og hönnun tilbúin, 198 00:09:07,970 --> 00:09:10,780 Gates og Allen skrifaði kóðinn á PDP-10, 199 00:09:10,780 --> 00:09:16,060 enlisting annað Harvard nemandi, Monte Davidoff, til að skrifa stærðfræði venjur. 200 00:09:16,060 --> 00:09:19,450 Eftir að endanleg nótt forritun, Allen fékk í flugvél 201 00:09:19,450 --> 00:09:22,970 að skila BASIC þeirra til mits. 202 00:09:22,970 --> 00:09:25,800 Hann eyddi flugvél ríða út áhyggjur. 203 00:09:25,800 --> 00:09:28,490 Og aftur í Cambridge Gates var áhyggjuefni. 204 00:09:28,490 --> 00:09:32,100 Þeir höfðu prófað BASIC og þeirra það hafði unnið við keppinautur. 205 00:09:32,100 --> 00:09:35,444 En hvað ef keppinautur var rangt? 206 00:09:35,444 --> 00:09:37,360 JAY PAUL: Eins og flugvél nálgast Albuquerque, 207 00:09:37,360 --> 00:09:40,070 Allen komust að þeirra BASIC, nú snyrtilegur finna 208 00:09:40,070 --> 00:09:42,460 á litlum rúlla af sleginn pappír borði, myndi 209 00:09:42,460 --> 00:09:44,970 gagnslaus án sérstakt forrit, sem kallast Loader, sem 210 00:09:44,970 --> 00:09:47,550 myndi segja Altair hvernig að lesa pappír borði veru 211 00:09:47,550 --> 00:09:49,620 matað í teletype vél. 212 00:09:49,620 --> 00:09:52,970 Hann tók út stílabókina og fljótt hripa niður Loader forrit 213 00:09:52,970 --> 00:09:56,819 í Smalamál, þá handvirkt þýða að í 1s og 0s 214 00:09:56,819 --> 00:09:57,985 að Altair myndi skilja. 215 00:09:57,985 --> 00:10:00,530 216 00:10:00,530 --> 00:10:03,830 >> Hikari: Allen bjost hreint, lítið, hátæknifyrirtæki 217 00:10:03,830 --> 00:10:05,470 hlaupa með menn í hentar fyrirtæki. 218 00:10:05,470 --> 00:10:09,210 Svo hann var hissa þegar Roberts hitti hann á flugvellinum útlit eins búgarði 219 00:10:09,210 --> 00:10:10,270 hönd. 220 00:10:10,270 --> 00:10:12,070 Roberts var líka hissa. 221 00:10:12,070 --> 00:10:16,340 Þegar hann hætti í Harvard forritari á dýr hótel, 222 00:10:16,340 --> 00:10:20,790 Allen þurfti að játa að hann gæti ekki efni á herbergið. 223 00:10:20,790 --> 00:10:24,510 >> JAY PAUL: mits sjálft, var staðsett í rykugum Strip smáralind. 224 00:10:24,510 --> 00:10:27,040 Inni á a ringulreið vinnubekkur var Altair 225 00:10:27,040 --> 00:10:30,390 hlaðinn upp með 5 kílóbæti af minni og tengdur með snúru 226 00:10:30,390 --> 00:10:32,030 til teletype vél. 227 00:10:32,030 --> 00:10:37,200 Roberts og yfirverkfræðingur, Frumvarp Yates, beið expectantly 228 00:10:37,200 --> 00:10:40,660 sem Allen toggled Loader hans forrit í Altair. 229 00:10:40,660 --> 00:10:44,980 The teletype byrjaði chugging eins og það dregið pappír borði í gegnum borði lesandi. 230 00:10:44,980 --> 00:10:47,215 Það tók kannski 15 mínútur að hlaða forritinu. 231 00:10:47,215 --> 00:10:52,110 Þá teletype prentuð skyndilega a minni hvetja, þá tilbúinn hvetja, 232 00:10:52,110 --> 00:10:55,340 og Allen tók slá nokkrar próf skipanir. 233 00:10:55,340 --> 00:10:57,400 Til undrun allra, hugbúnaður uppnámi. 234 00:10:57,400 --> 00:10:58,525 Það voru galla auðvitað. 235 00:10:58,525 --> 00:11:02,070 En aðal málið var að það starfaði. 236 00:11:02,070 --> 00:11:06,570 >> Hikari: Seinna, á leið þeirra til að $ 3,00 hádegismat á Pancho er, a Holugeitungur flaug 237 00:11:06,570 --> 00:11:10,470 í glugga pallbíll vörubíll og stung Allen á handlegg. 238 00:11:10,470 --> 00:11:13,070 En á þeim punkti ekkert gæti spilla skapi. 239 00:11:13,070 --> 00:11:17,210 The Altair var nú undirstöðu þess, sem Fyrsta auglýsing hugbúnaður fyrir heimili 240 00:11:17,210 --> 00:11:23,260 tölva, gerð af Paul Allen og Bill Gates, að gera fyrirtæki sem Microsoft. 241 00:11:23,260 --> 00:11:25,336 >> DAVID J. MALAN: Margir takk tveimur lesendum okkar. 242 00:11:25,336 --> 00:11:30,690 >> [Applause] 243 00:11:30,690 --> 00:11:32,520 >> DAVID J. MALAN: Nú þú hefur val þitt, 244 00:11:32,520 --> 00:11:35,880 áður en þú ferð, að vera hress eða ljóma í dark-- ó, 245 00:11:35,880 --> 00:11:40,810 bíða einn sek, wait-- sparkly og ljóma í myrkri fíl 246 00:11:40,810 --> 00:11:42,534 frá eigin CS50 er Cheng Gong. 247 00:11:42,534 --> 00:11:43,450 Hikari: Æ, þakka þér. 248 00:11:43,450 --> 00:11:45,324 DAVID J. MALAN: Allt rétt, þakka þér svo mikið. 249 00:11:45,324 --> 00:11:49,855 [Applause] 250 00:11:49,855 --> 00:11:51,105 DAVID J. MALAN: Svo sönn saga. 251 00:11:51,105 --> 00:11:54,380 Þetta er að segja að allir þessir vélar og vellíðan sem við 252 00:11:54,380 --> 00:11:56,270 nota þá núna og taka sjálfsagðan hlut, í raun 253 00:11:56,270 --> 00:12:00,070 byrjaði hér, bara nokkur skref frá þessum raunverulegum vettvangi. 254 00:12:00,070 --> 00:12:03,930 Og núna í dag, ef þú hefur ekki verið, þetta er Maxwell Dworkin, tölva 255 00:12:03,930 --> 00:12:05,810 vísindi byggja, einnig handan við hornið. 256 00:12:05,810 --> 00:12:09,760 Og á annarri hæð í þessu bygging er hanga þrjár síður 257 00:12:09,760 --> 00:12:12,740 frá upprunalega kóða sem Bill Gates og Paul Allen skrifaði. 258 00:12:12,740 --> 00:12:14,770 Í staðreynd, ef þú nota zoom í þú getur séð ekki aðeins 259 00:12:14,770 --> 00:12:17,350 nöfn þeirra í að upprunalega tegund, en einnig 260 00:12:17,350 --> 00:12:22,100 undirskriftir þeirra sem þeir adorned a nokkrum árum þegar þeir heimsóttu síðast. 261 00:12:22,100 --> 00:12:25,800 >> En hvað var sérstaklega sannfærandi um þetta er það sem þeir setja út á að gera 262 00:12:25,800 --> 00:12:29,760 var að skrifa forrit sem myndi gera aðra til að skrifa 263 00:12:29,760 --> 00:12:30,950 eigin áætlanir þeirra. 264 00:12:30,950 --> 00:12:34,280 Á þeim tíma allt sem var með þetta Altair vél gerð af mits. 265 00:12:34,280 --> 00:12:40,020 Og allt sem þeir þurfti var einhver leið til að sem gerir það auðvelt fyrir hobbyists og fólk 266 00:12:40,020 --> 00:12:45,300 eins og okkur í þessu herbergi til raunverulega program að án þess endilega að skilja 267 00:12:45,300 --> 00:12:49,060 Þingið kóða, eða vél númer, eða Guð forði, 0s og 1s. 268 00:12:49,060 --> 00:12:51,190 Við forritari, eins þá í þessu herbergi, við 269 00:12:51,190 --> 00:12:54,070 langar að vera fær um að tjá okkur miklu meira eins sauðakóda 270 00:12:54,070 --> 00:12:57,330 jafnvel ef það er aðeins meira NIT vandlátur en við ræddum í síðustu viku. 271 00:12:57,330 --> 00:13:00,970 Við viljum ekki að skrifa kóðann svona, sem Paul Allen og Bill Gates gerði. 272 00:13:00,970 --> 00:13:04,850 Við, í stað þess, langar til að skrifa kóða sem lítur svolítið meira notendavænt. 273 00:13:04,850 --> 00:13:07,150 >> Nú er þetta mál þekktur sem BASIC. 274 00:13:07,150 --> 00:13:11,497 Og línunúmer eru hvað þú nota til að einfaldlega telja línum af kóða 275 00:13:11,497 --> 00:13:12,330 að þú ert að skrifa. 276 00:13:12,330 --> 00:13:14,038 Við gerum ekki einu sinni að gera það þessa dagana. 277 00:13:14,038 --> 00:13:16,060 En þú getur séð hér hvernig PRINT "halló, heimur" 278 00:13:16,060 --> 00:13:18,660 myndi örugglega væntanlega prenta bara það. 279 00:13:18,660 --> 00:13:22,710 Og svo hvað Bill og Páll gerði var styrkja fólk til að skrifa kóðann svona 280 00:13:22,710 --> 00:13:27,240 stað of-- ef þú taka a líta á the tölvunarfræði wall-- kóða svona. 281 00:13:27,240 --> 00:13:29,290 >> Í raun, CS50 nýlega fengið tækifæri 282 00:13:29,290 --> 00:13:32,540 að setjast niður með prófessor Harry Lewis í tölvunarfræði deild, sem 283 00:13:32,540 --> 00:13:34,640 reyndar kennt Bill Gates nokkrum árum síðan, 284 00:13:34,640 --> 00:13:38,460 og stendur hér frammi þessir þrír síður útdrátta. 285 00:13:38,460 --> 00:13:39,560 Við skulum taka a líta. 286 00:13:39,560 --> 00:13:45,520 >> HARRY LEWIS: Það sem þú hefur hér er skráningu snemma stykki af hugbúnaður 287 00:13:45,520 --> 00:13:50,240 skrifað af Bill Gates og Paul Allen, stofnendur Microsoft. 288 00:13:50,240 --> 00:13:52,570 Svo kóðinn er áhugavert tveimur ástæðum. 289 00:13:52,570 --> 00:13:55,480 Fyrst af öllu, það varð Fyrsta varan Microsoft, 290 00:13:55,480 --> 00:14:01,810 sem var túlkur fyrir Grunn forritunarmál. 291 00:14:01,810 --> 00:14:04,940 Og í öðru lagi, þetta var eitt af fyrstu tilraunum 292 00:14:04,940 --> 00:14:10,580 til að búa til túlk svo venjulegt fólk gæti notað einkatölvur. 293 00:14:10,580 --> 00:14:12,670 >> Svo Bill Gates var grunnnám í Harvard. 294 00:14:12,670 --> 00:14:14,820 Ég byrjaði að kenna í Harvard árið 1974. 295 00:14:14,820 --> 00:14:16,560 Þetta var gert árið 1975. 296 00:14:16,560 --> 00:14:20,180 Svo það var snemma á ferli sínum og snemma á ferli mínum. 297 00:14:20,180 --> 00:14:23,790 Ég kenndi reyndar Bill í námskeið í kringum þennan tíma. 298 00:14:23,790 --> 00:14:27,130 Paul Allen var ekki Harvard nemandi, en hann 299 00:14:27,130 --> 00:14:31,020 hafði verið menntaskóla bekkjarfélaga af Bill Gates. 300 00:14:31,020 --> 00:14:33,740 Ef þú kemur og lítur á skráningu, þú munt 301 00:14:33,740 --> 00:14:36,230 í raun að finna þriðja nafn, Monte Davidoff, 302 00:14:36,230 --> 00:14:39,260 sem var bekkjarfélagi Gates hér í Harvard. 303 00:14:39,260 --> 00:14:41,340 >> Allt í lagi, svo er hér að áhugavert athugasemd hér. 304 00:14:41,340 --> 00:14:47,150 Það segir "Í 4K getur eytt kvaðratrót en fyrir lykkjur ætti enn að vinna. " 305 00:14:47,150 --> 00:14:53,080 OK, svo hvað það þýðir er að það voru tvær leiðir til að taka saman þetta forrit. 306 00:14:53,080 --> 00:14:57,860 Einn var að keyra á útgáfu þessarar Altair tölvunni 307 00:14:57,860 --> 00:15:04,310 að aðeins var 4K orð minni, 4096 orð af minni. 308 00:15:04,310 --> 00:15:07,050 En stóra útgáfa hafði 8K. 309 00:15:07,050 --> 00:15:09,770 Og svo hvað þetta segir er að í 4K útgáfa 310 00:15:09,770 --> 00:15:12,770 þú þurftir að eyða nokkrum kóða til að gera það passa. 311 00:15:12,770 --> 00:15:14,790 Og einn af þeim hlutum sem væri hægt að eyða 312 00:15:14,790 --> 00:15:16,290 væri kvaðratrót venja. 313 00:15:16,290 --> 00:15:20,360 En svo virðist sem fyrir lykkjur ætti enn 314 00:15:20,360 --> 00:15:26,392 vinna jafnvel þegar þú ert að setja saman niður fyrir aðeins 4K útgáfa af tölvunni. 315 00:15:26,392 --> 00:15:29,350 DAVID J. MALAN: Svo ein af þeim þemum, eins og við munum sjá í tölvunarfræði, 316 00:15:29,350 --> 00:15:31,430 er þetta hugtak af layering og abstrakt, 317 00:15:31,430 --> 00:15:34,670 og í raun standa á öxlum af fólkinu sem hafa komið á undan okkur, ekki 318 00:15:34,670 --> 00:15:37,890 ólíkt sumir af the Bill Gates og Paul Allen frásögn hér. 319 00:15:37,890 --> 00:15:40,080 Og hvað þýðir þetta er að í dag getum við tekið fyrir 320 00:15:40,080 --> 00:15:43,490 veitt að hlutirnir eru í raun og veru auðveldara fyrir okkur að skrifa kóðann. 321 00:15:43,490 --> 00:15:47,170 Reyndar númer, eins og ég sagði á föstudag, er meira tæknilega þekkt sem frumkóða. 322 00:15:47,170 --> 00:15:52,210 Og það er þetta ensku eins setningafræði það er meira viðeigandi og fleiri vel skilgreind 323 00:15:52,210 --> 00:15:55,480 en eitthvað eins sauðakóda fyrir sem það er engin formleg skilgreining. 324 00:15:55,480 --> 00:15:58,320 >> Og í dag hvað við erum að fara að leggja áherslu á er kóðinn 325 00:15:58,320 --> 00:16:01,010 sem lítur svona út, sem vísu við fyrstu sýn 326 00:16:01,010 --> 00:16:02,690 lítur alveg dulinn. 327 00:16:02,690 --> 00:16:08,540 Og hreinskilnislega, það er vegur meira fagurfræðilega flóknari en undirliggjandi program er. 328 00:16:08,540 --> 00:16:13,300 Allt þetta forrit gerir, muna, er það gerði við segja? 329 00:16:13,300 --> 00:16:14,990 Það prentar bara "halló heimur". 330 00:16:14,990 --> 00:16:19,600 Og enn líta á allar efni sem við þurfum að vefja í kringum það mjög einfalt setningu. 331 00:16:19,600 --> 00:16:21,750 En áður en langt allt þessar línur og fleiri 332 00:16:21,750 --> 00:16:24,800 mun gera miklu meira vit til þín. 333 00:16:24,800 --> 00:16:26,940 >> Og rennsli er eins og hér segir. 334 00:16:26,940 --> 00:16:31,220 Það sem við þurfum að ráða okkar er að taka kóða, eins og uppspretta 335 00:16:31,220 --> 00:16:32,340 númer sem við sáum bara. 336 00:16:32,340 --> 00:16:35,060 Og við þurfum nýja áætlun að keyra það í gegnum. 337 00:16:35,060 --> 00:16:39,130 Við þurfum reiknirit sem getur umbreyta kóðann, eins og þetta, 338 00:16:39,130 --> 00:16:41,932 í mótmæla kóða, 0s og 1s. 339 00:16:41,932 --> 00:16:43,890 Með öðrum orðum, hvað við erum að fara að læra í dag 340 00:16:43,890 --> 00:16:46,620 er hvernig á að gera þetta, skrifa Kóðinn upp efst, 341 00:16:46,620 --> 00:16:49,930 gefa það sem inntak í sérstakt Forritið þekktur sem þýðanda, 342 00:16:49,930 --> 00:16:52,140 og við erum að fara að framleiða hlut númer. 343 00:16:52,140 --> 00:16:54,600 Sem er bara fínt leið til að segja að við munum taka eitthvað 344 00:16:54,600 --> 00:16:58,350 sem lítur svona út, gefa það í forriti sem kallast þýðandi, 345 00:16:58,350 --> 00:17:01,210 framleiða hlut kóða sem lítur svona út. 346 00:17:01,210 --> 00:17:04,720 >> Svo þetta eru bókstaflega Munstur 0s og 1s 347 00:17:04,720 --> 00:17:08,550 sem skilja að Intel tölvu þessa dagana, 348 00:17:08,550 --> 00:17:12,480 að ef túlkuð af örgjörva, heila inni tölvu, 349 00:17:12,480 --> 00:17:16,130 mun bókstaflega prenta út, einfaldlega, "halló heimur". 350 00:17:16,130 --> 00:17:19,670 Nú er vegur meira 0s og 1s en þig þar myndi vona gæti verið nauðsynlegt fyrir það. 351 00:17:19,670 --> 00:17:22,520 En það er vegna þess að við erum að byggja á heilmikið flókið 352 00:17:22,520 --> 00:17:24,270 að við getum héðan taka sem sjálfsögðum hlut. 353 00:17:24,270 --> 00:17:27,869 Í öðrum orðum, a einhver fjöldi af sviði fólk hafa gefið okkur mikið af flottum verkfærum 354 00:17:27,869 --> 00:17:32,480 og öflugur hugbúnaður sem við geta nú gera verkefni okkar eigin. 355 00:17:32,480 --> 00:17:33,400 >> Svo skulum við hefjast handa. 356 00:17:33,400 --> 00:17:36,640 En síðasta föstudag, og fyrir Heimadæmi 0 í þessari viku, 357 00:17:36,640 --> 00:17:39,000 þú munt vera að spila í a heimi sem lítur svona út. 358 00:17:39,000 --> 00:17:42,180 Byrjar í dag og fyrir Vandamál Setja 1 næstu viku, númerið 359 00:17:42,180 --> 00:17:45,410 er að fara að líta aðeins meira dulinn, en virkni er 360 00:17:45,410 --> 00:17:46,940 fara til vera the sami. 361 00:17:46,940 --> 00:17:50,770 Svo tilkynning, efst er Scratch, botn er C. Frankly Scratch 362 00:17:50,770 --> 00:17:52,780 er miklu meira notendavænt vingjarnlegur og aðgengilegur. 363 00:17:52,780 --> 00:17:56,890 En ef þú bera saman nú sjónrænt efst til botn, það er góður af a 1-1 364 00:17:56,890 --> 00:17:59,690 bréfaskipti milli stykki púsluspil og tungumál 365 00:17:59,690 --> 00:18:00,870 við erum að fara að spila með. 366 00:18:00,870 --> 00:18:04,420 Einkum segja, blár ráðgáta stykki upp efst, 367 00:18:04,420 --> 00:18:08,370 er greinilega jafngild hvaða leitarorð eða sérstakt setningu í þessu tungumáli 368 00:18:08,370 --> 00:18:09,062 kallast C? 369 00:18:09,062 --> 00:18:09,770 Áhorfendur: printf. 370 00:18:09,770 --> 00:18:10,728 DAVID J. MALAN: printf. 371 00:18:10,728 --> 00:18:12,140 Það þýðir sniðinn prentun. 372 00:18:12,140 --> 00:18:15,240 Og það er bara fínt leið til að segja printf í C 373 00:18:15,240 --> 00:18:18,615 er að fara að vera í sér yfirlýsingu eða aðgerð sem prentar eitthvað á skjáinn. 374 00:18:18,615 --> 00:18:19,990 Hvað þýðir það að prenta á skjáinn? 375 00:18:19,990 --> 00:18:23,627 Hvað sem þú segir það að inni af tilvitnunum, inni sviga. 376 00:18:23,627 --> 00:18:25,460 Svo aftur, að vísu, það er mikið af efni 377 00:18:25,460 --> 00:18:27,990 að þú þarft að hafa í huga, svigum, vitna, semikommum, 378 00:18:27,990 --> 00:18:28,656 og allt þetta. 379 00:18:28,656 --> 00:18:30,600 En allt um það er tegund af við hliðina á benda. 380 00:18:30,600 --> 00:18:33,660 The áhugaverður takeaway nú er að segja blokk í grunni 381 00:18:33,660 --> 00:18:37,520 er ansi mikið jafngildir að printf yfirlýsingu í C. 382 00:18:37,520 --> 00:18:41,390 >> Á sama tíma, gula ráðgáta stykki upp ofan, þegar grænt merkja smellt 383 00:18:41,390 --> 00:18:44,736 er líklega um að það leitarorð hér? 384 00:18:44,736 --> 00:18:45,360 Áhorfendur: Main. 385 00:18:45,360 --> 00:18:46,359 DAVID J. MALAN: Svo aðal. 386 00:18:46,359 --> 00:18:47,410 Kannski int, kannski ógild. 387 00:18:47,410 --> 00:18:51,280 En helsta konar hljómar eins það er mikilvægt, og raunar er það. 388 00:18:51,280 --> 00:18:54,080 Svo þegar grænt merkja smellt er, aftur, ráðgáta stykki 389 00:18:54,080 --> 00:18:56,390 sem ánægja burt óákveðinn greinir í ensku allt Scratch forrit. 390 00:18:56,390 --> 00:19:02,140 En við erum að fara að byrja núna að hringja sem helstu, þessi aðgerð kallast aðal. 391 00:19:02,140 --> 00:19:06,410 >> Nú meðan við munum alhæfa þetta eins og hér segir. 392 00:19:06,410 --> 00:19:08,780 Við gætum hringt sagt aðgerð. 393 00:19:08,780 --> 00:19:10,580 Og það getur litið sérstaklega svona. 394 00:19:10,580 --> 00:19:11,770 Jæja, hvað um lykkjur? 395 00:19:11,770 --> 00:19:16,540 Ef við viljum til að hefja umbreyta eða þýða meira í grunni í C, 396 00:19:16,540 --> 00:19:19,400 þessi hlutur hér virðist bara segir "halló heimur" að eilífu. 397 00:19:19,400 --> 00:19:23,060 Svo ef þú tengir þetta forskriftir með kött í grunni, 398 00:19:23,060 --> 00:19:26,560 það er bara að fara að halda að segja í einhvers konar teiknimynd kúla, 399 00:19:26,560 --> 00:19:29,922 "Halló heimur, halló heimur, halló heiminum, "auglýsingin nauseum, að eilífu. 400 00:19:29,922 --> 00:19:33,130 Ef við viljum gera eitthvað svipað í C, það er að fara að líta svolítið dulinn. 401 00:19:33,130 --> 00:19:35,463 En við getum náð sama niðurstöður, sem við munum að lokum 402 00:19:35,463 --> 00:19:36,861 finna út, með setningafræði svona. 403 00:19:36,861 --> 00:19:39,360 Ég ætla að nota printf aftur, vegna þess að í lok dagsins 404 00:19:39,360 --> 00:19:42,040 Ég vil að prenta "halló heiminum." 405 00:19:42,040 --> 00:19:45,610 Og ég er greinilega með því að nota leitarorð sem er ekki að eilífu. 406 00:19:45,610 --> 00:19:47,320 Það er í staðinn orðið meðan. 407 00:19:47,320 --> 00:19:49,650 En bara merkingu í Enska, en eins konar 408 00:19:49,650 --> 00:19:52,120 bendir til einhvers konar lykkju eða hringrás. 409 00:19:52,120 --> 00:19:55,070 >> Svo það verður að vera leitarorðið sem C notar. 410 00:19:55,070 --> 00:20:00,700 Og á meðan satt, hvers vegna ekki á meðan satt í raun þýtt að eilífu? 411 00:20:00,700 --> 00:20:04,240 Jæja, á meðan, eins og við munum fljótlega þakka því meir 412 00:20:04,240 --> 00:20:08,140 hefur þetta parenthetical hliðina á henni þar sem þú getur sett Boolean tjáningu. 413 00:20:08,140 --> 00:20:11,360 Og svo lengi sem það tjáning er satt, að þetta númer, 414 00:20:11,360 --> 00:20:14,750 eins táknað á milli þessara tveggja hrokkið axlabönd sem við munum kalla þá, 415 00:20:14,750 --> 00:20:16,880 verður bara að halda í gangi aftur og aftur. 416 00:20:16,880 --> 00:20:18,410 >> Svo satt er satt. 417 00:20:18,410 --> 00:20:20,900 Svo á meðan sannur hætti bara gera þetta að eilífu. 418 00:20:20,900 --> 00:20:23,480 Það er nánast heimskulegt reisa að tjá þig. 419 00:20:23,480 --> 00:20:26,590 En það var engin að eilífu leitarorð í C. Það var á meðan. 420 00:20:26,590 --> 00:20:29,390 Og það var mjög einfalt Boolean tjáningu eins satt. 421 00:20:29,390 --> 00:20:32,210 Og svo þetta, munum við sjá, nær sama árangri. 422 00:20:32,210 --> 00:20:33,890 >> Hvernig annars gæti þú framkvæma lykkju? 423 00:20:33,890 --> 00:20:36,980 Jæja, í grunni þú might harður kóða sérstök tala 424 00:20:36,980 --> 00:20:39,430 á endurtekningar í lykkju hér. 425 00:20:39,430 --> 00:20:43,210 Og svo er það einmitt það sem við gæti gert í þessari útgáfu af C, 426 00:20:43,210 --> 00:20:46,140 þar sem við höfum svo-kallaðir til hliðar. 427 00:20:46,140 --> 00:20:49,850 Og fyrir lykkju hér er að fara að kunnugt, nokkuð cryptically, 428 00:20:49,850 --> 00:20:54,100 frá gildinu 0 á allt til en minna en 10. 429 00:20:54,100 --> 00:20:55,955 >> Nú breytur í Scratch. 430 00:20:55,955 --> 00:20:57,830 Þú gætir ekki haft tilefni til að nota þetta. 431 00:20:57,830 --> 00:21:02,516 En hvað er málið, almennt, breytu gerði við segjum í síðustu viku? 432 00:21:02,516 --> 00:21:03,015 Hvað er það? 433 00:21:03,015 --> 00:21:03,780 >> Áhorfendur: Stig. 434 00:21:03,780 --> 00:21:05,200 >> DAVID J. MALAN: Til að benda? 435 00:21:05,200 --> 00:21:05,700 Ó, bendir. 436 00:21:05,700 --> 00:21:07,620 OK, halda utan um stig, til dæmis, í leik. 437 00:21:07,620 --> 00:21:09,510 Eða oftast gera hvað með breytu? 438 00:21:09,510 --> 00:21:10,450 Hvað er notagildi þeirra? 439 00:21:10,450 --> 00:21:10,825 >> Áhorfendur: Minni. 440 00:21:10,825 --> 00:21:11,750 >> DAVID J. MALAN: Já, svo minni. 441 00:21:11,750 --> 00:21:13,000 Það er til að geyma eitthvað. 442 00:21:13,000 --> 00:21:17,336 Og tegund af vitleysu sjón I er notað síðasta skipti var svona gler skál. 443 00:21:17,336 --> 00:21:19,710 Og ef við vildum að geyma eitthvað inni í breytu, 444 00:21:19,710 --> 00:21:21,918 til dæmis núna að gildi er sex af því að það 445 00:21:21,918 --> 00:21:23,450 eru sex borðtennis kúlur í hér. 446 00:21:23,450 --> 00:21:26,158 Það er bara einhvers konar geymslu ílát sem undir hetta 447 00:21:26,158 --> 00:21:30,030 er sett með bits, 0s og 1s, þó að tölvan gerist að gera það. 448 00:21:30,030 --> 00:21:32,900 >> Svo í grunni, ef við langar að hafa breytu, 449 00:21:32,900 --> 00:21:34,840 við getum notað appelsína blokk eins og þetta. 450 00:21:34,840 --> 00:21:37,050 Við munum kalla það gegn í þessu tiltekna tilfelli. 451 00:21:37,050 --> 00:21:38,890 Ég frumstilla hana 0. 452 00:21:38,890 --> 00:21:41,080 Og hvað það ég þá? 453 00:21:41,080 --> 00:21:44,780 Að eilífu, segir gegn, sem ef þú spilar með því í grunni, 454 00:21:44,780 --> 00:21:45,780 þú munt bara sjá grunni. 455 00:21:45,780 --> 00:21:49,920 Kötturinn eða hvað búningur sem þú setur á hann mun tala fjölda sem um ræðir. 456 00:21:49,920 --> 00:21:52,840 >> Breyta gegn með 1 er eins hækka um 1. 457 00:21:52,840 --> 00:21:56,580 Og svo þetta er að fara til telja frá hvað svo hvað? 458 00:21:56,580 --> 00:21:59,114 Frá 0 to óendanleika, eða þar Scratch hlé, 459 00:21:59,114 --> 00:22:01,030 eða þar til þú konar missa áhuga á að horfa 460 00:22:01,030 --> 00:22:02,650 hversu hár hann getur í raun og veru telja. 461 00:22:02,650 --> 00:22:04,800 >> Svo hvernig gætum við umbreyta það til C? 462 00:22:04,800 --> 00:22:06,480 Það er að fara að líta svolítið dulinn. 463 00:22:06,480 --> 00:22:08,896 En aftur, ef þú lítur á hvers þessum línum sig 464 00:22:08,896 --> 00:22:10,410 þeir konar leikkerfi almennt. 465 00:22:10,410 --> 00:22:13,526 Svo virðist int er að fara til hafa sumir sérstaka merkingu í C 466 00:22:13,526 --> 00:22:14,400 Við munum sjá það aftur. 467 00:22:14,400 --> 00:22:15,810 Sem innskot það þýðir heiltala. 468 00:22:15,810 --> 00:22:16,990 Svo það þýðir bara númer. 469 00:22:16,990 --> 00:22:18,920 Svo er að gerð gler skál ég vil, einn 470 00:22:18,920 --> 00:22:21,120 sem getur geymt tölur, ekki borðtennis kúlur. 471 00:22:21,120 --> 00:22:25,520 Og ég ætla að nota jafn skilti það til að gefa því gildi sem er 0. 472 00:22:25,520 --> 00:22:29,440 Svo er það alveg eins og sett í bága við 0, en í C 473 00:22:29,440 --> 00:22:32,840 >> Á sama tíma, á meðan satt, það var jafngildir, að sjálfsögðu, að eilífu, 474 00:22:32,840 --> 00:22:35,980 jafnvel þó að það er svolítið dulinn, og þá inni á hrokkið axlabönd. 475 00:22:35,980 --> 00:22:39,188 Og er hægt að hugsa af þessum hrokkið axlabönd, sem þú getur slegið á lyklaborðinu, 476 00:22:39,188 --> 00:22:43,110 eins raunverulega vera eins og curvature í þessi gula lykkja blokkir í grunni. 477 00:22:43,110 --> 00:22:45,700 Það nær margar línur af kóða. 478 00:22:45,700 --> 00:22:48,120 >> Printf er að fá svolítið ógnvekjandi núna vegna þess að ég 479 00:22:48,120 --> 00:22:51,120 sjá ekki aðeins vitna í sviga. 480 00:22:51,120 --> 00:22:55,160 En hvað annað er nýtt setningafræðilega í þessu dæmi? 481 00:22:55,160 --> 00:22:57,300 Það er prósent d. 482 00:22:57,300 --> 00:22:58,551 Og þá er sviga n þar. 483 00:22:58,551 --> 00:23:00,883 Við gerðum sjá það áður, jafnvel þó að ég vissi ekki að nefna það. 484 00:23:00,883 --> 00:23:01,886 Þá er það með kommu. 485 00:23:01,886 --> 00:23:03,010 Og þá er það gegn. 486 00:23:03,010 --> 00:23:05,010 >> En við munum sjá í aðeins augnablik að þetta er bara 487 00:23:05,010 --> 00:23:09,080 staðlað leið til að segja prentað út "Heiltala", vitna, unquote, 488 00:23:09,080 --> 00:23:10,500 sumir aukastaf númer. 489 00:23:10,500 --> 00:23:13,370 En ég ætla að segja ykkur seinna hvað sem aukastaf tala er. 490 00:23:13,370 --> 00:23:16,835 Svo sú staðreynd að það er komma í þessari línu að segja printf, 491 00:23:16,835 --> 00:23:18,710 þýðir að fara á undan og prenta sumir aukastaf númer. 492 00:23:18,710 --> 00:23:23,110 Ó, og við the vegur, fjölda er hvað sem gildi þessarar breytu er. 493 00:23:23,110 --> 00:23:25,880 Og svo til að gera þetta meira ljóst, munum við sjá dæmi 494 00:23:25,880 --> 00:23:30,930 áður en langt felur nákvæmlega printf í samhengi við raunveruleg C forrit. 495 00:23:30,930 --> 00:23:33,472 >> Nú bara að vefja upp sum þessara býr. 496 00:23:33,472 --> 00:23:36,680 Boole tjáning, þú might ekki hafa tilefni til að nota þessa í forritinu 497 00:23:36,680 --> 00:23:39,450 en þú gætir mjög vel, sérstaklega ef við aðstæður. 498 00:23:39,450 --> 00:23:43,460 Og svo þessar tvær dæmi frá Klóra meina ef x er minna en y, 499 00:23:43,460 --> 00:23:48,770 eða ef x er minna en y og y er minna en z, hvernig gætum við þýða það? 500 00:23:48,770 --> 00:23:50,810 >> Jæja, í C er það bara að fara að líta út eins og þetta. 501 00:23:50,810 --> 00:23:55,300 Smá Cryptic, fleiri svigar, sumir furðulegur -merkið, en í grundvallaratriðum 502 00:23:55,300 --> 00:23:59,160 hugmyndir eru eins einfalt eins og þeir eru í ráðgáta stykki heim. 503 00:23:59,160 --> 00:24:02,690 Við erum einfaldlega að haka ef eitthvað er minna en eitthvað annað. 504 00:24:02,690 --> 00:24:03,910 >> Hvernig um aðstæður? 505 00:24:03,910 --> 00:24:09,710 Í hnotskurn á ensku, hvað þýðir þetta klumpur af grunni kóða gera myndir þú segja? 506 00:24:09,710 --> 00:24:11,050 >> Áhorfendur: jafnast tvær tölur. 507 00:24:11,050 --> 00:24:13,760 >> DAVID J. MALAN: jafnast tvö tölur, og ef x er minna en Y 508 00:24:13,760 --> 00:24:14,860 það segir eins mikið. 509 00:24:14,860 --> 00:24:18,080 Ef x er meiri en Y það segir eins mikið, annað 510 00:24:18,080 --> 00:24:20,740 ef x er jafnt Y segir eins mikið. 511 00:24:20,740 --> 00:24:22,180 Nú þar sem gerði x og y koma frá? 512 00:24:22,180 --> 00:24:22,680 Hver veit. 513 00:24:22,680 --> 00:24:25,380 Þessi klumpur af grunni númerið er úr samhengi. 514 00:24:25,380 --> 00:24:29,050 En það sem við viljum gera núna er að þýða þetta fyrir aðeins augnablik til að sjá. 515 00:24:29,050 --> 00:24:31,660 >> Svo eins og þú fá þægilegt í þessari viku í Heimadæmi 516 00:24:31,660 --> 00:24:34,190 0 að spila í þessum heimi vinstra megin, átta sig 517 00:24:34,190 --> 00:24:36,940 að hugmyndir eru ekki að breytast í þessari viku eða næstu eða utan. 518 00:24:36,940 --> 00:24:38,690 Við erum einfaldlega að fara að byrjar að skrifa hluti 519 00:24:38,690 --> 00:24:41,240 á annan hátt með okkar hljómborð í stað mús okkar. 520 00:24:41,240 --> 00:24:44,577 >> Þannig að ef x er minna en y, og það er sumir svigum þarna, 521 00:24:44,577 --> 00:24:47,160 þá er sumir hrokkið axlabönd þar aftur til konar þjappa hana 522 00:24:47,160 --> 00:24:48,970 bara eins og gulu stykki púsluspil að gera. 523 00:24:48,970 --> 00:24:53,000 Og ég ætla að printf x er minna en y og svo framvegis. 524 00:24:53,000 --> 00:24:56,540 >> Hvað er gott um C, eins og þú sérð hér, 525 00:24:56,540 --> 00:25:00,480 er að þú færð ekki þetta hreiður, hreiður, hreiðurgerð það er endilega 526 00:25:00,480 --> 00:25:02,220 fara að ýta númerið þitt til hægri. 527 00:25:02,220 --> 00:25:04,990 Þú getur í staðinn að hafa allt lína snyrtilegur svona. 528 00:25:04,990 --> 00:25:08,960 En það er bara fagurfræði smáatriði munum við sjá aftur áður en langur. 529 00:25:08,960 --> 00:25:09,660 >> Allt í lagi. 530 00:25:09,660 --> 00:25:13,290 Svo sem færir okkur aftur að þetta dulinn leita forrit. 531 00:25:13,290 --> 00:25:15,180 Við skulum skrifa í raun nokkur númer. 532 00:25:15,180 --> 00:25:16,830 Nú hvernig gera þú fara óður í að skrifa kóðann? 533 00:25:16,830 --> 00:25:21,310 Öll þessi ár sem þú hefur í eigu Mac eða PC, skrifborð eða laptop, 534 00:25:21,310 --> 00:25:24,520 þú hefur reyndar haft getu að byrja að skrifa forritun kóða. 535 00:25:24,520 --> 00:25:27,050 En þú ert líklega vantar sérstök tegund af program. 536 00:25:27,050 --> 00:25:28,470 Þú getur vissulega skrifað kóða. 537 00:25:28,470 --> 00:25:30,740 En þú getur ekki endilega, út af the kassi, 538 00:25:30,740 --> 00:25:34,210 umbreyta að kóðinn í hlut númer, 0s og 1s 539 00:25:34,210 --> 00:25:35,619 án hvað á tölvunni þinni? 540 00:25:35,619 --> 00:25:36,410 Áhorfendur: þýðanda. 541 00:25:36,410 --> 00:25:37,630 DAVID J. MALAN: Svo þýðanda, rétt. 542 00:25:37,630 --> 00:25:39,730 Nú flest ykkar líklega eiga ekki þýðanda, 543 00:25:39,730 --> 00:25:41,259 hafa aldrei sótt þýðanda. 544 00:25:41,259 --> 00:25:44,300 En þú munt sjá að þú getur sótt það eins og flest allir aðrir stykki af hugbúnaður. 545 00:25:44,300 --> 00:25:47,470 Í heimi Mac OS, þú gætir sækja eða hafa sótt þegar 546 00:25:47,470 --> 00:25:50,437 eitthvað sem kallast Xcode eða GCC eða Clang. 547 00:25:50,437 --> 00:25:52,270 Ef þú kemur frá Windows heiminum sem þú gætir 548 00:25:52,270 --> 00:25:56,190 hafa sótt Visual Studio, Visual Basic, umhverfi eins og þessi. 549 00:25:56,190 --> 00:25:59,200 Það er heilmikið af vistþýðendur þessa dagana að þú gætir notað. 550 00:25:59,200 --> 00:26:01,940 En stutt það hér er að það myndi vera a sársauki 551 00:26:01,940 --> 00:26:04,480 og, hreinskilnislega, tæknilegu martröð fyrir hundruð 552 00:26:04,480 --> 00:26:07,680 fólks með mismunandi tölva stillingar til allra 553 00:26:07,680 --> 00:26:09,800 stilla vélar sínar á nákvæmlega sama hátt 554 00:26:09,800 --> 00:26:11,700 svo að við getum öll verið á sömu síðu. 555 00:26:11,700 --> 00:26:15,240 >> Svo það sem við, í stað þess, að gera í CS50 er að við gefum þér 556 00:26:15,240 --> 00:26:18,349 staðlað umhverfi, a Linux umhverfi sem er 557 00:26:18,349 --> 00:26:20,140 fara að líta svolítið eitthvað eins og this. 558 00:26:20,140 --> 00:26:22,980 Þú munt sjá meira af þessu í Vandamál Set 1 forskrift sem 559 00:26:22,980 --> 00:26:25,330 mun fara á netinu á föstudaginn nótt. 560 00:26:25,330 --> 00:26:28,360 >> Og hvað þetta þýðir er að þú héðan 561 00:26:28,360 --> 00:26:32,060 eru að fara að vera fær um að sækja og setja upp forrit 562 00:26:32,060 --> 00:26:33,650 kallað CS50 Appliance. 563 00:26:33,650 --> 00:26:36,275 Og þú ert að fara að hlaða niður og setja annað forrit sem heitir 564 00:26:36,275 --> 00:26:40,300 a Hypervisor, sem er bara ímynda sér vegur að ná þessu. 565 00:26:40,300 --> 00:26:44,600 Hvort sem þú átt Mac eða tölvu eða Linux tölva eða Solaris tölvu, 566 00:26:44,600 --> 00:26:46,830 eða hvað brjálaður rekstrartekjur kerfi sem þú ert að keyra, 567 00:26:46,830 --> 00:26:49,820 þú ert að fara að sækja forrit heitir Hypervisor sem er 568 00:26:49,820 --> 00:26:53,350 að fara að keyra CS50 Tæki á tölvunni þinni 569 00:26:53,350 --> 00:26:55,430 sama hvað stýrikerfi er. 570 00:26:55,430 --> 00:27:00,640 A Hypervisor í öðrum orðum breytir efni okkar til hvað tungumál, 571 00:27:00,640 --> 00:27:03,850 hvað fyrirmælum þínum í tölvunni skilur. 572 00:27:03,850 --> 00:27:04,962 >> Þannig að þetta er layering. 573 00:27:04,962 --> 00:27:06,920 Og aftur, þetta er góður af áherslusviða í tölvunni 574 00:27:06,920 --> 00:27:08,722 vísindi, húsið á hreinu. 575 00:27:08,722 --> 00:27:09,680 Þú gætir hafa Windows. 576 00:27:09,680 --> 00:27:10,710 Þú gætir hafa Mac OS. 577 00:27:10,710 --> 00:27:12,960 En byrja í næstu viku sem þú ert fara að hafa sótt 578 00:27:12,960 --> 00:27:14,980 ókeypis stykki af hugbúnaður kallað Hypervisor. 579 00:27:14,980 --> 00:27:17,800 Þú ert að fara að hafa sótt stykki hugbúnaður sem kallast CS50 Appliance. 580 00:27:17,800 --> 00:27:21,050 >> Það er að fara að keyra í Hypervisor, sem er að fara að keyra á tölvunni þinni. 581 00:27:21,050 --> 00:27:23,030 Og niðurstaðan er að allir af okkur mun 582 00:27:23,030 --> 00:27:26,220 hafa einfaldan glugga eins þetta á Mac eða PC 583 00:27:26,220 --> 00:27:30,160 sem gefur okkur ímynd af öllu keyra sama stýrikerfi, 584 00:27:30,160 --> 00:27:32,800 án annarra áhrif á tölvunni þinni. 585 00:27:32,800 --> 00:27:34,870 Og þú getur fullur skjár það og í raun haga sér 586 00:27:34,870 --> 00:27:37,550 eins og þú ert að keyra að stýrikerfi sem heitir Linux, 587 00:27:37,550 --> 00:27:40,270 sem er það sem CS50 Tæki er byggt á. 588 00:27:40,270 --> 00:27:42,930 >> Svo skulum við nota reyndar þetta nú að skrifa forrit. 589 00:27:42,930 --> 00:27:45,450 Þú getur skrifað forrit nota Microsoft Word. 590 00:27:45,450 --> 00:27:48,160 Þú getur skrifað forrit nota TextEdit eða Notepad, 591 00:27:48,160 --> 00:27:51,880 eða Hnyttið tilsvar, eða nánast hvaða orð vinnslu forrit sem þú hefur einhvern tíma notað. 592 00:27:51,880 --> 00:27:55,174 En raunin er að þú ættir ekki að nota raunverulega eitthvað af þeim áætlunum. 593 00:27:55,174 --> 00:27:57,840 Þú vissulega ætti ekki að nota eitthvað eins og Microsoft Word, þar sem 594 00:27:57,840 --> 00:28:01,120 hefur djörf frammi og skáletrun og stærri letur og smærri letur, 595 00:28:01,120 --> 00:28:03,560 vegna þess að tölvan er ekki sama um eitthvað af því. 596 00:28:03,560 --> 00:28:05,600 Allt sem tölvan er fara að hugsa um er 597 00:28:05,600 --> 00:28:09,040 Enska eins leiðbeiningar skrifaðar í C 598 00:28:09,040 --> 00:28:12,050 >> Svo það sem við munum gera inni í CS50 Appliance 599 00:28:12,050 --> 00:28:14,290 er að nota forrit frjálslega boði, og það er 600 00:28:14,290 --> 00:28:17,360 pre-setja í embætti í það tæki, sem heitir gedit. 601 00:28:17,360 --> 00:28:22,280 Og gedit er bara frábær einfaldur texti ritstjóri eins Mac OS TextEdit, 602 00:28:22,280 --> 00:28:26,200 eins og Windows Notepad sem er að fara til líta svolítið eitthvað eins og this. 603 00:28:26,200 --> 00:28:28,910 >> Svo skulum raun ekki líta á glærur af þessu. 604 00:28:28,910 --> 00:28:32,580 En við skulum fara í raun inn umhverfið sjálft. 605 00:28:32,580 --> 00:28:36,090 Ég ætla að fara á undan og að skrá þig inn, í þessu öðrum glugga, 606 00:28:36,090 --> 00:28:40,910 til CS50 Appliance minn, sem ég hef pre-setja í embætti á minn laptop hérna. 607 00:28:40,910 --> 00:28:43,771 >> Taka eftir því, eins og Windows og Mac OS, það er got sumir valmyndir. 608 00:28:43,771 --> 00:28:45,520 Eins og Windows og það setur það þar niður í staðinn 609 00:28:45,520 --> 00:28:47,020 Mac OS, sem setur það niður þar. 610 00:28:47,020 --> 00:28:48,930 En raunin er að það er alls konar hið sama. 611 00:28:48,930 --> 00:28:50,770 Og hér er allt fullt af hugbúnaði. 612 00:28:50,770 --> 00:28:51,770 Það er geymslusvæði. 613 00:28:51,770 --> 00:28:54,780 Það er allt fullt af aukahlutum, myndræna forrit sem við munum 614 00:28:54,780 --> 00:28:56,430 nota síðar í tíma fyrir vandamál setur. 615 00:28:56,430 --> 00:28:59,650 Það er vefur flettitæki innbyggður í svo að þetta er fullt viðvaningur tölva 616 00:28:59,650 --> 00:29:01,240 inni í tölvunni. 617 00:29:01,240 --> 00:29:04,170 >> En ég ætla að smella þessu lengst til vinstri hvítur táknið hér, 618 00:29:04,170 --> 00:29:05,890 sem er tákn fyrir gedit. 619 00:29:05,890 --> 00:29:09,650 Og það er að fara að opna glugga sem hefur þrjár spjöld til þess, 620 00:29:09,650 --> 00:29:12,590 a vinstri einn, a toppur einn, og botn einn. 621 00:29:12,590 --> 00:29:16,071 >> Nú er það í þessum efstu réttur einn sem Ég ætla að í raun og veru að skrifa nokkur númer. 622 00:29:16,071 --> 00:29:16,820 Svo skulum gera þetta ,. 623 00:29:16,820 --> 00:29:19,040 Ég ætla að fara í File, Vista. 624 00:29:19,040 --> 00:29:22,100 Og þú getur ekki alltaf hafa séð þetta tiltekna glugga áður. 625 00:29:22,100 --> 00:29:23,620 En þetta er eins og Mac OS eða Windows. 626 00:29:23,620 --> 00:29:25,490 Það er bara gluggi með öllum möppunum 627 00:29:25,490 --> 00:29:27,290 sem ég hef inni í þessari tölvu. 628 00:29:27,290 --> 00:29:30,320 >> Og ég ætla að fara að spara skráin sem hello.c. 629 00:29:30,320 --> 00:29:32,690 Og ég ætla að fara undan og smelltu á Vista. 630 00:29:32,690 --> 00:29:36,364 Og nú eftir að ég hafa a flipi efst til vinstri heitir hello.c. 631 00:29:36,364 --> 00:29:38,280 Svo líklega nokkuð þekki jafnvel ef þú hefur ekki 632 00:29:38,280 --> 00:29:40,240 notað þetta tiltekna forrit áður. 633 00:29:40,240 --> 00:29:44,890 >> Og nú er ég að fara að slá í þeim nokkuð dulinn röð af skipunum 634 00:29:44,890 --> 00:29:46,360 sem við sáum áðan. 635 00:29:46,360 --> 00:29:49,330 Meðal annars, staðall I / O.h. 636 00:29:49,330 --> 00:29:50,600 Meira um að bráðum. 637 00:29:50,600 --> 00:29:55,670 Int helstu ógild, opinn hrokkið spelka, lokað hrokkið Brace. 638 00:29:55,670 --> 00:30:01,570 Og þá inni þar sem ég held að sé þar sem við vorum "Halló heimur", semíkommu. 639 00:30:01,570 --> 00:30:03,100 Og nú vistað. 640 00:30:03,100 --> 00:30:08,780 >> Þannig að þetta er forrit skrifað í C, skrifað, því í frumkóða. 641 00:30:08,780 --> 00:30:10,720 En ég get ekki bara keyrt þetta forrit. 642 00:30:10,720 --> 00:30:13,390 Ég vil konar að tvöfalda smelltu á táknmynd einhvers staðar, 643 00:30:13,390 --> 00:30:16,390 en ekkert tákn fyrir hendi annar en frumkóða skrá. 644 00:30:16,390 --> 00:30:20,359 Hvað, aftur, er ferlið nú að Ég þarf að keyra þessa skrá í gegnum? 645 00:30:20,359 --> 00:30:21,150 Áhorfendur: þýðanda. 646 00:30:21,150 --> 00:30:22,399 DAVID J. MALAN: Svo þýðanda. 647 00:30:22,399 --> 00:30:24,890 Svo í mismunandi tölvum sem þú gera þetta á mismunandi vegu. 648 00:30:24,890 --> 00:30:27,480 En það sem við höfum gert hér í sem CS50 Appliance, sem er 649 00:30:27,480 --> 00:30:31,260 Fulltrúi hvernig þú gætir gera þetta á mörgum mismunandi kerfum, 650 00:30:31,260 --> 00:30:34,036 er ég er einfaldlega að fara að keyra skipun sem heitir gera. 651 00:30:34,036 --> 00:30:35,660 Og gera er bókstaflega að fara að gera það. 652 00:30:35,660 --> 00:30:36,640 Gera mig áætlun. 653 00:30:36,640 --> 00:30:39,060 >> Svo gera er að fara til keyra þýðanda fyrir mig. 654 00:30:39,060 --> 00:30:42,160 Og nafn af the program Ég vil gera er halló. 655 00:30:42,160 --> 00:30:43,510 Nú er gert forrit. 656 00:30:43,510 --> 00:30:47,170 Og gera er sviði nógur til að átta sig á að ef ég segi að heilsa, 657 00:30:47,170 --> 00:30:50,980 það er að fara að líta sjálfkrafa að skrá sem heitir hello.c 658 00:30:50,980 --> 00:30:53,420 bara vegna þess að það er hvernig það er stillt. 659 00:30:53,420 --> 00:31:00,300 >> Svo þegar ég lenti nú inn hér, þetta brjálaður dulinn lína bara got framkvæmd. 660 00:31:00,300 --> 00:31:02,720 Og treystu mér, áður en lengi, innan aðeins daga, 661 00:31:02,720 --> 00:31:05,590 þú munt skilja hvað allir af því sem óskiljanlegum hætti. 662 00:31:05,590 --> 00:31:11,150 En nú, bara vita að gera Birtar framkvæmd þýðanda. 663 00:31:11,150 --> 00:31:13,290 Með öðrum orðum, fannst það a þýðandi á tölvunni minni 664 00:31:13,290 --> 00:31:14,820 það er pre-setja í embætti á CS50 Tæki 665 00:31:14,820 --> 00:31:16,560 að við munum skila til þín í Heimadæmi 1. 666 00:31:16,560 --> 00:31:20,990 Og það tók þá hello.c sem inntak og framleitt virðist 667 00:31:20,990 --> 00:31:23,040 0s og 1s sem framleiðsla. 668 00:31:23,040 --> 00:31:29,410 >> Og sjálfgefið hvað það gerir er að það sparar þessir 0s og 1s í skrá sem heitir halló. 669 00:31:29,410 --> 00:31:33,180 Og þótt þetta setningafræði líka gæti vera nýtt til að þér, einfaldlega með því að segja punktur 670 00:31:33,180 --> 00:31:37,110 rista halló er að fara að vera með hvaða hætti ég að keyra þetta forrit. 671 00:31:37,110 --> 00:31:40,360 >> Fyrir nú og að minnsta kosti tvær vikur, næstum öll forrit 672 00:31:40,360 --> 00:31:44,230 Við skrifum ætlum að vera í svart og hvítt texta gluggum. 673 00:31:44,230 --> 00:31:47,006 Engin mýs, ekki smella, engir gluggar, engin tákn. 674 00:31:47,006 --> 00:31:49,630 Við erum að fara að halda það einfalt og leggja áherslu á undirliggjandi hugmyndir 675 00:31:49,630 --> 00:31:52,490 upphaflega áður en við fá eitthvað hærra stigi, til dæmis, 676 00:31:52,490 --> 00:31:56,410 eins og hlé á leiknum sem við ræddum um í fyrsta fyrirlestri í síðustu viku. 677 00:31:56,410 --> 00:32:00,820 >> Svo þegar ég lenti inn hér, það er jafngildir í texta aðeins umhverfi 678 00:32:00,820 --> 00:32:03,272 að tvöfalda smella táknið heitir halló. 679 00:32:03,272 --> 00:32:05,480 Hvað býstu vilja gerast þegar ég lenti inn þá? 680 00:32:05,480 --> 00:32:07,120 >> Áhorfendur: Það verður að prenta "halló heiminum." 681 00:32:07,120 --> 00:32:10,000 >> DAVID J. MALAN: Vonandi það mun prenta "halló heiminum." 682 00:32:10,000 --> 00:32:11,370 Og reyndar var það. 683 00:32:11,370 --> 00:32:13,690 Nú það hefur verið nokkur dulinn setningafræði hér. 684 00:32:13,690 --> 00:32:15,950 Skulum baka fyrir réttlátur stund og sjá hvort við 685 00:32:15,950 --> 00:32:19,530 Ekki er hægt að byrja inferring bara með tinkering, reyna og galli, 686 00:32:19,530 --> 00:32:21,130 hvað er að gerast hér. 687 00:32:21,130 --> 00:32:23,609 Hvað ef ég losna við Sviga n? 688 00:32:23,609 --> 00:32:25,650 Nú sumir af þú sem hef forritað áður líklega 689 00:32:25,650 --> 00:32:27,054 vita strax hvað það þýðir. 690 00:32:27,054 --> 00:32:29,220 En fyrir þá sem hef aldrei forritað áður, 691 00:32:29,220 --> 00:32:34,052 að minnsta kosti hugsa með þér hvað er að gerast að breyta þegar ég endursýning þetta forrit? 692 00:32:34,052 --> 00:32:37,010 Þannig að ég ætla að fara aftur niður til mín lítill svartur og hvítur gluggi, sem 693 00:32:37,010 --> 00:32:39,290 er gluggi sem Ég get safna saman þetta. 694 00:32:39,290 --> 00:32:41,130 Ég ætla að laun halló. 695 00:32:41,130 --> 00:32:43,520 Við erum að fara að sjá það sama dulinn röð skipana. 696 00:32:43,520 --> 00:32:45,719 Og ég ætla að gera punktur rista halló. 697 00:32:45,719 --> 00:32:48,260 Og nú einhver, ef þú vilt, sem hefur aldrei forritað áður, 698 00:32:48,260 --> 00:32:49,770 hvað gæti verið öðruvísi í þetta sinn? 699 00:32:49,770 --> 00:32:50,020 Já. 700 00:32:50,020 --> 00:32:51,840 >> Áhorfendur: Það mun ekki hætta prentun "halló heimur". 701 00:32:51,840 --> 00:32:52,660 >> DAVID J. MALAN: Það er að fara to-- leitt? 702 00:32:52,660 --> 00:32:54,210 >> Áhorfendur: Það mun ekki hætta að prenta það? 703 00:32:54,210 --> 00:32:55,810 >> DAVID J. MALAN: Það mun ekki hætta prentun "halló heimur". 704 00:32:55,810 --> 00:32:56,560 Svo ekki slæm hugmynd. 705 00:32:56,560 --> 00:32:58,633 Aðrar hugmyndir? 706 00:32:58,633 --> 00:32:59,132 Já. 707 00:32:59,132 --> 00:33:00,060 >> Áhorfendur: Villuboð? 708 00:33:00,060 --> 00:33:01,750 >> DAVID J. MALAN: Villa skilaboð, allt í lagi, gæti verið. 709 00:33:01,750 --> 00:33:02,250 Hvað annað? 710 00:33:02,250 --> 00:33:05,479 Áhorfendur: Það gæti prenta krappi með semíkommu eins og heilbrigður? 711 00:33:05,479 --> 00:33:08,270 DAVID J. MALAN: Gæti prenta krappi með semíkommu eins og heilbrigður. 712 00:33:08,270 --> 00:33:11,950 Svo er það kannski sviga þá sumir konar terminous sem er mikilvægt. 713 00:33:11,950 --> 00:33:14,860 Allar aðrar hugsanir? 714 00:33:14,860 --> 00:33:16,412 >> Svo allt góðar hugmyndir. 715 00:33:16,412 --> 00:33:18,370 Og í raun, það er að fara að vera villa skilaboð. 716 00:33:18,370 --> 00:33:20,400 Það er líklega líklega vera svar almennt 717 00:33:20,400 --> 00:33:22,420 á næstu vikum eins og við lærum að kóða hér. 718 00:33:22,420 --> 00:33:27,680 >> En nú man að tölvur bara það sem þú segir þeim að gera. 719 00:33:27,680 --> 00:33:30,400 Líkt og fáránlegt hneta smjör og sulta dæmi. 720 00:33:30,400 --> 00:33:33,860 Manna tölvur okkar voru einungis ætlað að gera það sem þú segir þeim að gera. 721 00:33:33,860 --> 00:33:36,250 Þannig að í þessu tilfelli, ef ekki segja tölva 722 00:33:36,250 --> 00:33:41,190 til að færa þá blikkandi bendilinn til næsta lína, það er ekki að fara að gera það. 723 00:33:41,190 --> 00:33:45,390 Svo þegar ég keyra þetta forrit nú taka mismuninn. 724 00:33:45,390 --> 00:33:46,900 >> Útlit eins og a padda. 725 00:33:46,900 --> 00:33:49,190 Það er fagurfræði galla, kannski. 726 00:33:49,190 --> 00:33:53,310 En hvað er öðruvísi um þetta framleiðsla á móti síðasta augljóslega? 727 00:33:53,310 --> 00:33:53,810 Já. 728 00:33:53,810 --> 00:33:54,920 >> Áhorfendur: Það var ekki gert nýja línu. 729 00:33:54,920 --> 00:33:56,586 >> DAVID J. MALAN: Það var ekki gert nýja línu. 730 00:33:56,586 --> 00:33:58,740 Nú þeir sem hafa kannski gert vefsíður 731 00:33:58,740 --> 00:34:01,910 áður, þú might vita af BR tag eða málsgrein tag, 732 00:34:01,910 --> 00:34:03,120 mjög svipuð í anda. 733 00:34:03,120 --> 00:34:06,680 A vefur flettitæki vilja hunsa þig fyrr þú segir það nákvæmlega hvað ég á að gera. 734 00:34:06,680 --> 00:34:10,020 Á sama hátt, er tungumál eins og C aðeins að fara að gera það sem þú segir því að gera. 735 00:34:10,020 --> 00:34:12,730 >> Svo vegna þess að allar þessar dæmum, 736 00:34:12,730 --> 00:34:15,350 svona langt, hafa eins konar frjálslegur hafði þetta sviga 737 00:34:15,350 --> 00:34:18,560 í það, það er leið sem þú tjá þig 738 00:34:18,560 --> 00:34:21,380 sem nýja línu staf, svo að segja. 739 00:34:21,380 --> 00:34:26,219 Og þú getur konar þakka, ef til vill, að þetta myndi líta svona heimskur 740 00:34:26,219 --> 00:34:27,070 ef ekkert annað. 741 00:34:27,070 --> 00:34:29,150 Ef ég vildi nýja línu, bara hitting inn og þá góður 742 00:34:29,150 --> 00:34:32,219 að butchering kóðann svona ætti í raun ekki nudda þér á réttan hátt. 743 00:34:32,219 --> 00:34:33,830 Og jafnvel ef þú gera ekki alveg sama á þessum tímapunkti, 744 00:34:33,830 --> 00:34:35,830 þú munt gera sér grein fyrir því að þetta er ekki sérstaklega 745 00:34:35,830 --> 00:34:37,870 gott útlit stykki af kóða. 746 00:34:37,870 --> 00:34:39,969 >> Og svo hvað heimurinn ákvað árum er 747 00:34:39,969 --> 00:34:43,420 að þegar þú vilt setja á bendilinn á nýja línu skýrt, 748 00:34:43,420 --> 00:34:46,332 þú verður skýrt segja Ný lína, sviga n. 749 00:34:46,332 --> 00:34:48,040 Og það er einhver annar tákn eins og þessi. 750 00:34:48,040 --> 00:34:50,719 En nú ætlum við verðum bara áherslu á Sviga n. 751 00:34:50,719 --> 00:34:53,790 >> Nú skulum gera áætlun svolítið meira áhugavert. 752 00:34:53,790 --> 00:34:59,200 Ég ætla að fara á undan og í þetta sinn opna nýja skrá. 753 00:34:59,200 --> 00:35:02,520 Ég ætla að vista þessa sem halló-1.c. 754 00:35:02,520 --> 00:35:05,540 Og bara fyrir ánægja, ég ætla að fara að setja það inn í Dropbox möppu mína. 755 00:35:05,540 --> 00:35:09,030 >> Eins og þú munt sjá í CS50 skjöl fyrir tæki, 756 00:35:09,030 --> 00:35:11,210 síðar í þessari viku til Vandamál Setja 1, munum við hvetja 757 00:35:11,210 --> 00:35:13,230 þú að nota Dropbox eða sumir jafngildi þjónustu, 758 00:35:13,230 --> 00:35:15,430 því þá alla kóða þíns að fara að vera stuðningsmaður upp sjálfkrafa. 759 00:35:15,430 --> 00:35:17,830 Og svo er það þess vegna sem ég hef farið inn í þessa möppu hér. 760 00:35:17,830 --> 00:35:20,230 >> Og nú er ég að fara að skrifa örlítið öðruvísi program. 761 00:35:20,230 --> 00:35:24,740 Meðal annars, staðall I / O.h, int helstu ógild. 762 00:35:24,740 --> 00:35:29,660 Og þá hér printf, Halló heimur, sem er nákvæmlega það sama og áður. 763 00:35:29,660 --> 00:35:32,450 >> En nú vil ég að prenta eitthvað það er svolítið öðruvísi. 764 00:35:32,450 --> 00:35:34,800 Ég vil að prenta út, segja, "Halló, David." 765 00:35:34,800 --> 00:35:37,590 Allt í lagi, svo augljóslega, það ætti vonandi 766 00:35:37,590 --> 00:35:40,360 vera raunin að ef ég laun þetta forrit, endursýning það, 767 00:35:40,360 --> 00:35:41,840 það er að fara að segja "halló, Davíð." 768 00:35:41,840 --> 00:35:45,160 >> En hvað ef ég vil kynna svona breytu, 769 00:35:45,160 --> 00:35:49,240 hugmyndin um ílát sem er að gerast til að geyma D-a-v-i-d og ekki erfitt kóða það 770 00:35:49,240 --> 00:35:50,600 í áætlun mína. 771 00:35:50,600 --> 00:35:53,430 Jæja hvað ef ég byrja gera eitthvað eins og þetta? 772 00:35:53,430 --> 00:35:57,120 >> String s, þannig að þetta er breytilegt. 773 00:35:57,120 --> 00:36:00,250 Ef þú vilt a band, gengur einnig undir nafninu orð eða setningu. 774 00:36:00,250 --> 00:36:03,485 Runa af stöfum er það við í forritun kalla streng. 775 00:36:03,485 --> 00:36:06,610 Við erum bara að fara að generically kalla það er vegna þess að það er gott einfalt nafn. 776 00:36:06,610 --> 00:36:08,010 En ég gæti kalla það hvað sem er. 777 00:36:08,010 --> 00:36:12,920 >> Ég ætla að segja STRING s jafn vitna unquote, "David," semíkommu. 778 00:36:12,920 --> 00:36:18,330 Og nú vil ég að setja D-a-v-i-d í það sem ég er prentun. 779 00:36:18,330 --> 00:36:23,720 Og áður en við sáum beitu á skjár af einhverjum sérstökum setningafræði 780 00:36:23,720 --> 00:36:26,050 sem gerði okkur kleift að staðinn í gildi. 781 00:36:26,050 --> 00:36:29,250 Hvað var sérstakt Táknið fyrir nokkrum skyggnur síðan? 782 00:36:29,250 --> 00:36:30,040 >> Svo prósent. 783 00:36:30,040 --> 00:36:33,830 Á þeim tíma var það prósent d fyrir heiltala. 784 00:36:33,830 --> 00:36:35,850 Það er í raun ekki virðast skipta máli hér. 785 00:36:35,850 --> 00:36:38,650 Skrúfjárn út það er annar prósent tákn, 786 00:36:38,650 --> 00:36:42,810 sem er prósent s, sem stendur fyrir tákn fyrir streng. 787 00:36:42,810 --> 00:36:49,350 >> Svo nú, mjög einfaldlega, ég er að fara að gera halló-1, 788 00:36:49,350 --> 00:36:54,210 vegna þessa skrá er kallað halló-1.c, og ýttu á Enter. 789 00:36:54,210 --> 00:36:56,230 Og ég ruglaður upp. 790 00:36:56,230 --> 00:36:57,394 Hvað er að gerast? 791 00:36:57,394 --> 00:37:00,560 Jæja, hér er þar sem við verðum að byrja að þakka að við erum í þessari stjórn 792 00:37:00,560 --> 00:37:02,810 lína umhverfi, þetta Aðeins texti umhverfi. 793 00:37:02,810 --> 00:37:06,114 Það er engin að smella á tákn eins og möppur núna. 794 00:37:06,114 --> 00:37:07,280 Og hugsa til baka í smá stund síðan. 795 00:37:07,280 --> 00:37:10,740 Í hvaða möppu gerði ég segi Ég var að bjarga númerið mitt? 796 00:37:10,740 --> 00:37:11,657 Svo Dropbox möppu. 797 00:37:11,657 --> 00:37:12,989 Gæti hafa verið kölluð neitt. 798 00:37:12,989 --> 00:37:14,530 En það gerist að vera kölluð Dropbox. 799 00:37:14,530 --> 00:37:18,380 Þannig að ég þarf einhvern veginn að tvísmella á að Dropbox möppu til að fá 800 00:37:18,380 --> 00:37:21,657 inn í það og fá á minn númer sem heitir halló-1.c. 801 00:37:21,657 --> 00:37:24,490 Í raun, láta mig fara á undan og draga þessum glugga fyrir réttlátur a augnablik. 802 00:37:24,490 --> 00:37:27,560 Rétt eins og Windows og Mac OS, það eru möppur í Linux. 803 00:37:27,560 --> 00:37:29,410 Það eru möppur í CS50 Appliance. 804 00:37:29,410 --> 00:37:32,380 Það er bara núna erum við að takmarka okkur að þessu texta umhverfi. 805 00:37:32,380 --> 00:37:34,700 >> En ef ég tvöfalda smelltu á Dropbox, eftir því að það 806 00:37:34,700 --> 00:37:37,210 er skrá sem ég vil til að safna saman. 807 00:37:37,210 --> 00:37:41,430 En ég þarf þetta svart og hvítt endastöðvar, svo að segja. 808 00:37:41,430 --> 00:37:45,750 En ég þarf því að færa í þeirri möppu eða skrá. 809 00:37:45,750 --> 00:37:48,290 Svo örlítið Bogagöng, en þú munt venjast þessu líka. 810 00:37:48,290 --> 00:37:50,430 >> Í heimi Linux, sem aftur er starfsleyfi 811 00:37:50,430 --> 00:37:54,860 kerfi sem við erum að keyra inni í CS50 Tæki, það er skipun sem kallast CD. 812 00:37:54,860 --> 00:37:58,310 Sem þýðir að ég get gert CD, rúm, Dropbox. 813 00:37:58,310 --> 00:37:59,900 CD, breyting skrá. 814 00:37:59,900 --> 00:38:00,400 Rétt. 815 00:38:00,400 --> 00:38:02,890 Aftur í dag þegar menn voru finna tölvur og vinni 816 00:38:02,890 --> 00:38:05,806 kerfi eins og þetta, sem þeir vildu slá fæst mínútum mögulegt. 817 00:38:05,806 --> 00:38:08,760 Svo auðveldasta leiðin til að segja breyting skrá var CD. 818 00:38:08,760 --> 00:38:13,910 >> Þannig að ef ég lenti CD, rúm Dropbox, taka eftir hvað hefur breyst hér. 819 00:38:13,910 --> 00:38:16,480 Inni sviga tækið er góður 820 00:38:16,480 --> 00:38:19,360 af humoring mig og að minna mig á hvar ég er. 821 00:38:19,360 --> 00:38:21,480 Svo er opinn mappa Dropbox. 822 00:38:21,480 --> 00:38:24,950 Ef ég slæ inn núna LS til lista, aftur gagnorðar, 823 00:38:24,950 --> 00:38:27,540 vegna þess að fólk vildi ekki slá til baka í dag l i-s-t. 824 00:38:27,540 --> 00:38:29,300 Svo gerðu þeir í staðinn það ls. 825 00:38:29,300 --> 00:38:30,110 >> Enter. 826 00:38:30,110 --> 00:38:35,740 Takið ég tvennt, halló-1.c, og þá er þetta dulinn hlutur, uppspretta 1m. 827 00:38:35,740 --> 00:38:38,310 Það er bara mín leið til að segja Kóðinn fyrir viku 1. mánudagur. 828 00:38:38,310 --> 00:38:42,020 Það er mappa sem ég sótt af Vefsíða CS50 er að ég gerði fyrr í dag 829 00:38:42,020 --> 00:38:43,990 og bara setja það inn í tæki fyrirfram. 830 00:38:43,990 --> 00:38:47,550 >> En nú það eina sem við hugsa um er að gera þetta forrit. 831 00:38:47,550 --> 00:38:50,440 Svo þegar ég pikka gera halló-1, Enter. 832 00:38:50,440 --> 00:38:51,320 Andskotans. 833 00:38:51,320 --> 00:38:53,060 Eitthvað fór úrskeiðis. 834 00:38:53,060 --> 00:38:54,580 Svo skulum stríða þetta sundur. 835 00:38:54,580 --> 00:38:58,489 Og því miður er þetta þar sem hlutirnir fá smá stressandi í fyrstu, 836 00:38:58,489 --> 00:39:00,280 að minnsta kosti ef þú hefur aldrei forritað áður. 837 00:39:00,280 --> 00:39:00,980 >> My god. 838 00:39:00,980 --> 00:39:04,990 Ég skrifaði tvær línu forrit og Ég hef fjórum línum af villum. 839 00:39:04,990 --> 00:39:07,180 Svo hvað er að gerast hér. 840 00:39:07,180 --> 00:39:11,370 Fyrst og fremst alltaf að fletta til baka upp og finna fyrstu villuboð, 841 00:39:11,370 --> 00:39:15,730 því oftsinnis Vistþýðendur bara fá rugla með það sem þú og ég. 842 00:39:15,730 --> 00:39:17,000 Þýðendur eru nokkuð heimsk. 843 00:39:17,000 --> 00:39:18,360 Þeir bara að gera hvað þú segir þeim að gera. 844 00:39:18,360 --> 00:39:21,484 Og ef þú rugla þeim, þeir eru bara að fara að eins konar kasta upp hendur sínar 845 00:39:21,484 --> 00:39:25,010 og kannski kasta fleiri villuskilaboð en eru í raun og veru máli. 846 00:39:25,010 --> 00:39:26,380 >> Svo skulum líta á fyrstu. 847 00:39:26,380 --> 00:39:27,540 Super dulinn í fyrstu. 848 00:39:27,540 --> 00:39:31,050 En tilkynning, hér er nafnið á skrá þar sem ég ruglaður upp greinilega. 849 00:39:31,050 --> 00:39:36,570 Colon 5, ristill 5 þýðir bara á lína 5 á fimmta staf. 850 00:39:36,570 --> 00:39:39,760 Svo fimmta dálki stafi, ef þú vilt, villa. 851 00:39:39,760 --> 00:39:41,870 Notkun á svart, kennimerki band. 852 00:39:41,870 --> 00:39:43,120 Áttirðu staðall n? 853 00:39:43,120 --> 00:39:44,850 >> Nei, ég ætlaði band. 854 00:39:44,850 --> 00:39:47,640 Og þá er það svona afrita og líma 855 00:39:47,640 --> 00:39:50,700 hvað ég slóst að virkilega draga minn athygli að þar sem ég ruglaður upp. 856 00:39:50,700 --> 00:39:54,260 Svo fyrir sumir ástæða C, eða að minnsta kosti að þýðandinn 857 00:39:54,260 --> 00:39:56,470 ekki skilja orðið band. 858 00:39:56,470 --> 00:39:57,890 Og það er vegna þess að við höfum gert það upp. 859 00:39:57,890 --> 00:40:01,440 Svo band er ekki til í C. Hvað CS50 gerir, 860 00:40:01,440 --> 00:40:03,380 fyrir fyrstu vikurnar aðeins í bekknum, 861 00:40:03,380 --> 00:40:05,700 er við bjóðum einhverja þjálfun hjól, svo að segja. 862 00:40:05,700 --> 00:40:11,160 Og við setjum þessum námskeiðum hjól inni í sérstakri skrá sem heitir CS50.h. 863 00:40:11,160 --> 00:40:14,970 >> Þannig að þetta er annað af tveimur skrá nöfn sem virðist enda í punktur h. 864 00:40:14,970 --> 00:40:16,300 Skulum baka. 865 00:40:16,300 --> 00:40:19,360 Printf er yfirlýsing eða fall sem virðist prentar eitthvað 866 00:40:19,360 --> 00:40:20,580 á skjáinn. 867 00:40:20,580 --> 00:40:23,470 En þú sást mig ekki innleiða printf, ekki satt. 868 00:40:23,470 --> 00:40:26,360 Einhver ár síðan framkvæmd printf. 869 00:40:26,360 --> 00:40:30,420 Í hvaða skrá viltu veðja hann eða hún setti framkvæmd 870 00:40:30,420 --> 00:40:34,270 fyrir printf, kóða fyrir printf? 871 00:40:34,270 --> 00:40:36,860 >> Í skrá sem heitir staðall I / O.h. 872 00:40:36,860 --> 00:40:39,930 Í raun er það líklega í tvær skrár, staðall I / O.h, 873 00:40:39,930 --> 00:40:42,650 sem stendur fyrir haus skrá, og staðall I / O.c, 874 00:40:42,650 --> 00:40:44,060 sem stendur fyrir C kóðann. 875 00:40:44,060 --> 00:40:48,220 Svo hann eða hún fyrir nokkrum árum plopped kóðinn sem þeir skrifuðu í þeirri skrá 876 00:40:48,220 --> 00:40:51,240 svo að fólk eins og okkur árum síðar er hægt að láta það, 877 00:40:51,240 --> 00:40:53,040 svo að segja, í eigin áætlunum okkar. 878 00:40:53,040 --> 00:40:56,320 >> Og reyndar, það er það sem pund merki á eftir orðinu eru ma gerir. 879 00:40:56,320 --> 00:41:00,250 Það lítur á heimamaður harður ökuferð, finnur skrána sem heitir staðall I / O.h, 880 00:41:00,250 --> 00:41:03,840 og þá í raun afrit og Límir það inni af eigin skrá minn. 881 00:41:03,840 --> 00:41:07,210 Svo nú forritið mitt veit hvernig á að prenta á skjáinn. 882 00:41:07,210 --> 00:41:11,120 >> Svo eftir að rökfræði, þar sem er band skilgreind? 883 00:41:11,120 --> 00:41:12,260 >> Áhorfendur: CS50.h. 884 00:41:12,260 --> 00:41:13,290 >> DAVID J. MALAN: CS50.h. 885 00:41:13,290 --> 00:41:15,540 Og reyndar, það er það sem við, algerlega starfsfólk, hafa gert. 886 00:41:15,540 --> 00:41:19,590 Við höfum fundið nokkrar tegundir gagna, svo að segja, eins og band, 887 00:41:19,590 --> 00:41:22,370 auk þær sem þú fá ókeypis, eins og int. 888 00:41:22,370 --> 00:41:26,010 Og við munum sjá aðra eins og bleikju fyrir eðli og nokkrar fleiri. 889 00:41:26,010 --> 00:41:30,670 Inni CS50.h víst er að minnsta kosti sumir nefna band. 890 00:41:30,670 --> 00:41:34,980 >> Svo nú láta mig fara á undan og endursýning gera halló-1. 891 00:41:34,980 --> 00:41:37,100 Ég zoom aftur og kross fingur mína. 892 00:41:37,100 --> 00:41:41,370 Nú með því að hafa gert eitt breyta ég fastur flesta hluti. 893 00:41:41,370 --> 00:41:42,100 En fjandinn. 894 00:41:42,100 --> 00:41:44,290 Fleiri percents en gögn rök. 895 00:41:44,290 --> 00:41:45,980 Hvað gerði ég rangt í þetta sinn? 896 00:41:45,980 --> 00:41:47,420 >> Svo það er enn nokkuð dulinn. 897 00:41:47,420 --> 00:41:51,560 En þessi villa kemur á lína 7 og eðli 21. 898 00:41:51,560 --> 00:41:53,880 Svo skulum við fara að líta upp hér. 899 00:41:53,880 --> 00:41:55,350 Það er svolítið lúmskur. 900 00:41:55,350 --> 00:41:59,167 En ef þér finnst um það grundvallar hugmyndir eru hér, 901 00:41:59,167 --> 00:42:00,500 kannski við getum stríða þetta sundur. 902 00:42:00,500 --> 00:42:02,300 >> Svo er printf nafn fallsins. 903 00:42:02,300 --> 00:42:04,960 Svigar, svona langt, er bara eins og það sem við setjum í kringum 904 00:42:04,960 --> 00:42:07,005 efni sem við erum að brottför sem inntak virka. 905 00:42:07,005 --> 00:42:08,921 Allt í lagi, bara handahófskennt manna samningur. 906 00:42:08,921 --> 00:42:09,919 Nota sviga. 907 00:42:09,919 --> 00:42:12,460 Inni af þeim sviga við höfum verið að setja gæsalappa, 908 00:42:12,460 --> 00:42:14,810 og þá band eins og "Halló heimur." 909 00:42:14,810 --> 00:42:18,160 >> En í það fyrra dæmi mjög stuttlega gerði við skoðum með grunni. 910 00:42:18,160 --> 00:42:22,590 Og við höfðum prósent d, hvað annað var inni á þeim sviga 911 00:42:22,590 --> 00:42:23,730 að ég kallaði út munnlega? 912 00:42:23,730 --> 00:42:24,230 Já. 913 00:42:24,230 --> 00:42:28,166 >> Áhorfendur: Svo það er það sem þú ert að taka [Inaudible] innan [inaudible] 914 00:42:28,166 --> 00:42:30,200 hvað þessir [inaudible]? 915 00:42:30,200 --> 00:42:31,200 DAVID J. MALAN: Einmitt. 916 00:42:31,200 --> 00:42:32,700 Svo við höfðum prósent d. 917 00:42:32,700 --> 00:42:36,620 En þá höfðum við nærri vitna, komma, gegn. 918 00:42:36,620 --> 00:42:37,120 Rétt. 919 00:42:37,120 --> 00:42:40,680 Við tilgreint það sem við viljum að gera eins og tákn. 920 00:42:40,680 --> 00:42:44,621 Svo það sem ég ætla að gera hér er komma, hvað viltu að ég að setja? 921 00:42:44,621 --> 00:42:45,120 Áhorfendur: S. 922 00:42:45,120 --> 00:42:46,828 DAVID J. MALAN: S, vegna þess að s í þessu tilfelli 923 00:42:46,828 --> 00:42:48,700 er nafnið á geymslu ílát. 924 00:42:48,700 --> 00:42:50,180 Það er nafnið á þeirri gler skál. 925 00:42:50,180 --> 00:42:53,610 En áður en það var gegn því að einfalt Scratch dæmi skoðuðum við. 926 00:42:53,610 --> 00:42:56,630 Svo nú hafa gert tvö breytingar, láttu mig súmma inn 927 00:42:56,630 --> 00:42:59,800 og reyna einu sinni enn að þýða þetta forrit. 928 00:42:59,800 --> 00:43:01,596 >> Nú sé ég að dulinn línu. 929 00:43:01,596 --> 00:43:03,470 En það er í raun og veru Heiti þýðanda. 930 00:43:03,470 --> 00:43:04,886 Clang er nafn þýðanda. 931 00:43:04,886 --> 00:43:07,100 Gera er bara að safna mér höfuðverkur sífellt 932 00:43:07,100 --> 00:43:09,830 slá það lengi brjálaður stjórn út. 933 00:43:09,830 --> 00:43:14,900 Svo nú ef ég rista punktur halló-1, Ég ætti að sjá "halló, David." 934 00:43:14,900 --> 00:43:16,450 >> Pretty underwhelming, þó, ekki satt? 935 00:43:16,450 --> 00:43:18,158 Við hefðum getað gert þetta mikið meira einfaldlega 936 00:43:18,158 --> 00:43:20,940 án þess að tala um breytur og CS50.h og allt það. 937 00:43:20,940 --> 00:43:23,080 Svo skulum gera það lítið meira áhugavert. 938 00:43:23,080 --> 00:43:31,010 >> Auk þess að CS50.h, hafa hluti eins band 939 00:43:31,010 --> 00:43:34,550 lýst er CS50 bókasafn Einnig hefur nokkur störf. 940 00:43:34,550 --> 00:43:38,520 Svo bara eins og árum, einhver skrifaði printf og setja það í venjulegu I / O.h 941 00:43:38,520 --> 00:43:39,530 og sumir annar skrá. 942 00:43:39,530 --> 00:43:44,010 >> Við, sem CS50 starfsfólk skrifaði aðgerð heitir getchar, GetDouble, GetFloat, 943 00:43:44,010 --> 00:43:47,610 GetInt, GetLongLong, GetString, og við setjum þær inn skrá 944 00:43:47,610 --> 00:43:49,890 heitir CS50.h og CS50.c. 945 00:43:49,890 --> 00:43:51,880 Og við setjum þær inn í CS50 Appliance. 946 00:43:51,880 --> 00:43:53,880 Og fólk getur líka sækja þá á netinu ef þeir 947 00:43:53,880 --> 00:43:55,880 vilja til að setja þær á þeirra eigin tölvur eins og heilbrigður. 948 00:43:55,880 --> 00:44:00,880 Sem er að segja að við höfum búið aðgerðir sem fá inntak frá the notandi. 949 00:44:00,880 --> 00:44:02,930 Ég veit ekki hvað allir þessara gagna tegundir eru. 950 00:44:02,930 --> 00:44:06,490 GetInt er góður af augljóst, eins og fá heila tölu á einhvern hátt frá notandanum. 951 00:44:06,490 --> 00:44:09,980 Og GetString er líklega eins fá orð eða setningu frá notandanum. 952 00:44:09,980 --> 00:44:11,770 >> Svo skulum leggja áherslu á það. 953 00:44:11,770 --> 00:44:14,710 Og ég ætla að fara aftur inn í tæki og ég ætla að fara á undan 954 00:44:14,710 --> 00:44:20,790 og vista þessa skrá sem, við skulum kalla það halló-2.c sem önnur útgáfa mitt. 955 00:44:20,790 --> 00:44:23,030 Og við skulum gera nokkrar breytingar. 956 00:44:23,030 --> 00:44:25,800 >> Í þetta sinn í stað þess að erfitt erfðaskrá Davíð, sem 957 00:44:25,800 --> 00:44:29,120 gerir ótrúlega samkvæmur en underwhelming program, 958 00:44:29,120 --> 00:44:32,640 hvað ef ég í staðinn GetString? 959 00:44:32,640 --> 00:44:35,660 Nú taka GetString er með opið sviga, 960 00:44:35,660 --> 00:44:38,500 lokað föll, því það þarf ekki að inntak. 961 00:44:38,500 --> 00:44:40,850 Það er bara að fara að fara að fá band frá notandanum. 962 00:44:40,850 --> 00:44:42,460 >> Og nú orð á öðrum setningafræði. 963 00:44:42,460 --> 00:44:45,439 Semikommum enda bara línu af kóða. 964 00:44:45,439 --> 00:44:46,730 Þú þarft þá ekki alls staðar. 965 00:44:46,730 --> 00:44:48,896 En það bara þýðir að ég er gert með þessari línu af kóða. 966 00:44:48,896 --> 00:44:51,080 Leyfðu mér að fara yfir í annað yfirlýsingu eða virka. 967 00:44:51,080 --> 00:44:53,010 Band lýsir breytu. 968 00:44:53,010 --> 00:44:55,920 Band er eins og að segja gefa mér skál, takk. 969 00:44:55,920 --> 00:44:57,940 Og láta mig setja band í það. 970 00:44:57,940 --> 00:44:59,430 >> Og nú jafnaðarmerki. 971 00:44:59,430 --> 00:45:03,510 Hvað er jafnaðarmerki meginatriðum jafngild? 972 00:45:03,510 --> 00:45:04,500 >> Áhorfendur: Framselja. 973 00:45:04,500 --> 00:45:06,190 >> DAVID J. MALAN: Já, framselja gildi. 974 00:45:06,190 --> 00:45:09,872 Svo ef ég, til dæmis, kalla þessi aðgerð GetString, 975 00:45:09,872 --> 00:45:12,830 og við munum sjá í smá stund sem er að fara að hvetja notandann til streng. 976 00:45:12,830 --> 00:45:17,810 Þetta er eins og að láta mig skrifa þá D-a-v-i-d á stykki af pappír. 977 00:45:17,810 --> 00:45:21,060 Og þegar ég segi band s jafngildir GetString, 978 00:45:21,060 --> 00:45:24,140 jafnt er í raun ekki að jafnt í C forritun. 979 00:45:24,140 --> 00:45:27,880 Það þýðir að framselja frá hægri hönd hlið til vinstri hönd hlið. 980 00:45:27,880 --> 00:45:29,510 >> Svo ég hef fengið streng. 981 00:45:29,510 --> 00:45:32,785 Og jafnaðarmerki þýðir setja það í geymslu gámur heitir s. 982 00:45:32,785 --> 00:45:36,730 Og þá fara framhjá þessu burt til printf að raunverulega gera hlutur hennar. 983 00:45:36,730 --> 00:45:39,790 >> Svo niðurstaðan þá er að fara að líta svolítið öðruvísi. 984 00:45:39,790 --> 00:45:40,840 Skulum gera halló-2. 985 00:45:40,840 --> 00:45:43,940 986 00:45:43,940 --> 00:45:45,260 Annaðhvort gæti unnið. 987 00:45:45,260 --> 00:45:46,450 Þú ert að elta eftir. 988 00:45:46,450 --> 00:45:47,940 Gera halló-2 vann. 989 00:45:47,940 --> 00:45:52,640 Dot rista halló-2, Enter. 990 00:45:52,640 --> 00:45:54,620 >> Ég virðist hafa óendanlega lykkja eða eitthvað. 991 00:45:54,620 --> 00:45:55,453 Ekkert er að gerast. 992 00:45:55,453 --> 00:45:56,134 Hvers vegna? 993 00:45:56,134 --> 00:45:57,805 >> Áhorfendur: Það er að gera óendanlega lykkju. 994 00:45:57,805 --> 00:45:59,430 DAVID J. MALAN: Það er óendanlegur lykkja. 995 00:45:59,430 --> 00:46:02,710 Það er góður af að bíða eftir mér til að í raun veitt það með einhverjum inntak. 996 00:46:02,710 --> 00:46:05,800 Svo láta mig fara á undan og sláðu inn í Davíð og ýta á Enter. 997 00:46:05,800 --> 00:46:07,230 Og nú segir hann "halló, David." 998 00:46:07,230 --> 00:46:09,040 Ef ég keyrt það aftur. 999 00:46:09,040 --> 00:46:11,530 Skulum slá í Rob, "halló, Rob." 1000 00:46:11,530 --> 00:46:13,900 >> Nú er þetta það versta notendaviðmót alltaf. 1001 00:46:13,900 --> 00:46:16,110 Notandinn er virðist að vita hvað á að gera. 1002 00:46:16,110 --> 00:46:17,120 En það er sama. 1003 00:46:17,120 --> 00:46:19,570 Nota þessar sömu byggingu blokkir bara eins og í grunni, 1004 00:46:19,570 --> 00:46:24,980 við getum leyst þessi vandamál og segja eitthvað eins og nafn þitt skaltu, ristli, 1005 00:46:24,980 --> 00:46:27,820 rúm, lokað tilvitnun, loka föll, semíkommu. 1006 00:46:27,820 --> 00:46:30,680 Svo mikið af aftur silliness með setningafræði. 1007 00:46:30,680 --> 00:46:34,040 >> En taka ég hef bara bætt við púsluspil stykki ofan þessu 1008 00:46:34,040 --> 00:46:35,280 og yfir þessu. 1009 00:46:35,280 --> 00:46:38,870 Svo nú ef ég endursýning þetta, halló-2, Enter. 1010 00:46:38,870 --> 00:46:41,180 Bíddu í eina mínútu. 1011 00:46:41,180 --> 00:46:41,830 Hvað er rangt? 1012 00:46:41,830 --> 00:46:43,570 Það er ekki atferlis allir öðruvísi. 1013 00:46:43,570 --> 00:46:44,200 Já. 1014 00:46:44,200 --> 00:46:46,010 >> Áhorfendur: Þú varst ekki hlaupa gera aftur. 1015 00:46:46,010 --> 00:46:47,968 >> DAVID J. MALAN: Ég gerði ekki hlaupa gera aftur, ekki satt. 1016 00:46:47,968 --> 00:46:49,430 Þannig að ég hef breytt kóðann minn. 1017 00:46:49,430 --> 00:46:50,638 En aftur, það er að rennsli. 1018 00:46:50,638 --> 00:46:54,530 Kóðinn gegnum þýðanda gefur þú nýja mótmæla kóða eða 0s og 1s. 1019 00:46:54,530 --> 00:47:00,209 Þannig að ég þarf í raun og veru endursýning gera halló-2 Sláðu. 1020 00:47:00,209 --> 00:47:01,750 OK, eitthvað virðist hafa gerst. 1021 00:47:01,750 --> 00:47:04,220 Dot rista halló-2. 1022 00:47:04,220 --> 00:47:05,390 Nafn þitt takk. 1023 00:47:05,390 --> 00:47:09,990 Og að vera ljóst nú, hvers vegna er bendilinn á sömu línu? 1024 00:47:09,990 --> 00:47:10,490 Nákvæmlega. 1025 00:47:10,490 --> 00:47:13,020 Ég vissi ekki að setja sviga n hér í númerið mitt. 1026 00:47:13,020 --> 00:47:16,110 Svo nú get ég skrifað eitthvað eins Daven, Enter. 1027 00:47:16,110 --> 00:47:18,710 Ég get keyrt það aftur og slá eitthvað eins og Gabe, Enter, 1028 00:47:18,710 --> 00:47:22,250 og við fáum annað forrit aftur og aftur og aftur. 1029 00:47:22,250 --> 00:47:28,940 >> Nú lokum við erum að fara að þurfa til að nota nokkrar mismunandi getu. 1030 00:47:28,940 --> 00:47:32,860 Við þurfum að kynna lokum nokkrar skilyrði til að gera hlutina með skilyrðum. 1031 00:47:32,860 --> 00:47:35,550 Kannski lykkjur svo við getum gert hlutir aftur og aftur. 1032 00:47:35,550 --> 00:47:38,220 >> Kannski það væri gott ef við gæti framkvæma eigin starfsemi okkar, 1033 00:47:38,220 --> 00:47:41,355 eins og við mátti innleiða okkar eigin printf eða eigin útgáfu okkar af GetString 1034 00:47:41,355 --> 00:47:45,870 og GetFlow, því að lokum jafnvel nota þessa stjórn lína umhverfi 1035 00:47:45,870 --> 00:47:49,780 getum við gert jafnvel mest sjónrænt áhugavert af hlutum. 1036 00:47:49,780 --> 00:47:51,950 >> Reyndar í niðurstöðu láta mig gera þetta. 1037 00:47:51,950 --> 00:47:54,020 Ég ætla að fara á undan og loka þessum glugga 1038 00:47:54,020 --> 00:47:57,400 og opna þetta tákn hér, sem er bara stærri 1039 00:47:57,400 --> 00:48:00,020 útgáfa af því embed endastöðvar. 1040 00:48:00,020 --> 00:48:02,329 Svo hefur gedit ekki aðeins staðurinn fyrir númerið mitt, 1041 00:48:02,329 --> 00:48:05,620 en einnig a innbyggður í flugstöðinni glugga, svart og hvítt glugga þar sem ég get keyrt 1042 00:48:05,620 --> 00:48:06,230 skipanir. 1043 00:48:06,230 --> 00:48:08,600 >> Ég gerðist bara að opna stærri útgáfa af þessu. 1044 00:48:08,600 --> 00:48:11,170 Og nú er ég að fara að fara í möppuna sem ég hef nú þegar 1045 00:48:11,170 --> 00:48:13,150 setja fyrirfram á heimasíðu Auðvitað er. 1046 00:48:13,150 --> 00:48:16,720 Og ég ætla að fara á undan og opna skrá sem heitir thadgavin.c, 1047 00:48:16,720 --> 00:48:18,710 sem var skrifuð af einhverjum öðrum. 1048 00:48:18,710 --> 00:48:21,220 >> Og ef við lítum á þetta, þetta er ekki góður af kóða 1049 00:48:21,220 --> 00:48:24,370 við munum vera að skrifa síðan Markmiðið með þessari kóða 1050 00:48:24,370 --> 00:48:28,450 var að skrifa prettiest leita kóða sem hann eða hún gat, 1051 00:48:28,450 --> 00:48:31,290 án tillits til þess hvort eða ekki annar maðurinn gat alltaf 1052 00:48:31,290 --> 00:48:33,660 skilja kóðann. 1053 00:48:33,660 --> 00:48:37,050 >> Reyndar, á hverju ári það er það sem er kallað ruglað C keppni sem 1054 00:48:37,050 --> 00:48:39,570 er fyrir alvöru geeks sem skrifa númer sem enginn annar getur lesið, 1055 00:48:39,570 --> 00:48:42,050 en það gerir eitthvað annað virkilega einfalt eða í raun ótrúlegt. 1056 00:48:42,050 --> 00:48:43,890 Og við héldum að við myndum ljúka með þetta útlit 1057 00:48:43,890 --> 00:48:48,300 á eitthvað sem er nokkuð ótrúlegt þú gætir hafa séð einu sinni áður. 1058 00:48:48,300 --> 00:48:52,650 En við munum enda á þetta athugið, punktur rista, thadgavin. 1059 00:48:52,650 --> 00:48:53,860 Þetta er þá það sem bíður. 1060 00:48:53,860 --> 00:48:57,140 1061 00:48:57,140 --> 00:48:58,500 >> Það er það fyrir CS50. 1062 00:48:58,500 --> 00:48:59,935 Við munum sjá þig á miðvikudag. 1063 00:48:59,935 --> 00:49:04,284 1064 00:49:04,284 --> 00:49:10,016 >> [Tónlist spila] 1065 00:49:10,016 --> 00:53:31,883