1 00:00:07,830 --> 00:00:12,200 [Powered by Google Translate] DAVID Malan: Þetta er CS50, og þetta er upphaf Vika 1. 2 00:00:12,200 --> 00:00:15,520 Það sem við héldum að við myndum gera í dag er að taka a líta til baka á 3 00:00:15,520 --> 00:00:18,290 eitthvað sem margir af þú hefur sennilega gekk fortíð fyrir suma 4 00:00:18,290 --> 00:00:20,570 tími núna og getur litið svolítið kunnuglega. 5 00:00:20,570 --> 00:00:23,720 Þessi hlutur hér, þetta er auðvitað í - 6 00:00:23,720 --> 00:00:24,155 Áhorfendur: Science. 7 00:00:24,155 --> 00:00:26,030 DAVID Malan: Science Center. 8 00:00:26,030 --> 00:00:28,940 Svo er þetta í raun einn af elstu tölvum 9 00:00:28,940 --> 00:00:30,220 aftur frá 1940. 10 00:00:30,220 --> 00:00:33,790 Það var eitt af fyrstu electromechanical tölvum 11 00:00:33,790 --> 00:00:35,730 sem var fær um að sérstaklega löng, 12 00:00:35,730 --> 00:00:38,450 sjálf-viðvarandi útreikninga, og það sem við sjáum í raun í 13 00:00:38,450 --> 00:00:41,580 vísindi sent er aðeins lítill stykki af þessu. 14 00:00:41,580 --> 00:00:44,170 Það sem við héldum að við myndum gera þá er að líta til baka á vídeó 15 00:00:44,170 --> 00:00:46,670 sem var gerð fyrir nokkru, að kynna þetta 16 00:00:46,670 --> 00:00:47,520 hlutur til í heiminum. 17 00:00:47,520 --> 00:00:50,200 Og þú munt sjá frá tónlist og rödd sem reyndar þeim 18 00:00:50,200 --> 00:00:52,070 voru mjög hamingjusamur sinnum. 19 00:00:54,885 --> 00:00:59,700 >> [Vídeó spilun] 20 00:00:59,700 --> 00:01:02,490 -A sigur á stærðfræði og vélrænni kunnátta er þetta 21 00:01:02,490 --> 00:01:06,340 frábær ný sjálfvirk reiknivél við Harvard University. 22 00:01:06,340 --> 00:01:08,620 Flókinn vandamál í stærðfræði, setja í gegnum 23 00:01:08,620 --> 00:01:12,420 vél í dulmáli formi á borði, eru nákvæmlega leysa a 24 00:01:12,420 --> 00:01:15,200 mínútu brot af þeim tíma sem þarf til að manna 25 00:01:15,200 --> 00:01:16,450 útreikning. 26 00:01:27,050 --> 00:01:30,600 Hannað til að flýta allar gerðir af stærðfræði og vísinda 27 00:01:30,600 --> 00:01:34,610 rannsóknir, risastór vélrænni heilinn vinna fyrir United 28 00:01:34,610 --> 00:01:36,570 States Navy til loka stríðið er. 29 00:01:50,280 --> 00:01:52,980 >> DAVID Malan: Svo er það sem þú getur ekki vita að það væri í 30 00:01:52,980 --> 00:01:56,310 þetta sama tæki sem senn við öll nú taka ansi mikið 31 00:01:56,310 --> 00:01:59,300 sjálfsögðum hlut var myntsláttumaður að um galla. 32 00:01:59,300 --> 00:02:01,140 Þá kom einn af verkfræðingum að vinna í þessari tölvu 33 00:02:01,140 --> 00:02:05,280 bókstaflega fann lítinn Moth í vél sem leiddi 34 00:02:05,280 --> 00:02:07,580 í sumum röngum útreikningum. 35 00:02:07,580 --> 00:02:10,410 Og eins og sagan fer var að Moth límd þessum log 36 00:02:10,410 --> 00:02:14,180 Tímaritið hér, aftur frá september 9 í 1940-eitthvað, 37 00:02:14,180 --> 00:02:16,550 og þannig fæddist í heiminn hugtakið "galla". 38 00:02:16,550 --> 00:02:19,880 Svo héðan við teljum galla til að vera hvers konar mistökum í 39 00:02:19,880 --> 00:02:23,290 forrit, hvort tilbúnum eða, í þessu tilfelli, skordýr. 40 00:02:23,290 --> 00:02:25,030 >> Svo nokkrar tilkynningar, eins og við halda áfram. 41 00:02:25,030 --> 00:02:29,160 Svo hefur CS50 hefð að bjóða lunches nokkurs konar á 42 00:02:29,160 --> 00:02:31,600 flestir föstudagar á annarinnar, þar sem við taka 30 til 43 00:02:31,600 --> 00:02:34,650 40 nemendur á eldi og ís á torginu fyrir frjálslegur 44 00:02:34,650 --> 00:02:36,390 spjall, tala um tölvunarfræði, 45 00:02:36,390 --> 00:02:37,420 tala um framtíðina. 46 00:02:37,420 --> 00:02:40,000 Við bjóðum Alumni og vinum frá iðnaði til að spjalla upp 47 00:02:40,000 --> 00:02:40,690 nemendur eins og heilbrigður. 48 00:02:40,690 --> 00:02:44,020 Virkilega til enda að gera það sem er nokkuð stór flokkur 49 00:02:44,020 --> 00:02:46,740 allt meira náinn, að minnsta kosti einu sinni á meðan á 50 00:02:46,740 --> 00:02:47,710 hlutar nemenda. 51 00:02:47,710 --> 00:02:50,940 Svo ef þú vildi eins og til að tengja okkur á föstudaginn, 01:15, fara 52 00:02:50,940 --> 00:02:53,340 CS50.net/lunch á RSVP. 53 00:02:53,340 --> 00:02:55,840 Og við munum gera þetta recurringly, svo ekki að hafa áhyggjur ef þú ert ekki 54 00:02:55,840 --> 00:02:57,930 meðal fyrstu 30 eða svo í þessari viku. 55 00:02:57,930 --> 00:02:59,070 >> Svo skýringar fræðimaður. 56 00:02:59,070 --> 00:03:01,500 Orð um auðlindir sem mun nú byrja að vera laus 57 00:03:01,500 --> 00:03:03,040 nemendum í bekknum. 58 00:03:03,040 --> 00:03:05,540 Svo höfuð þín þarf ekki að vera niðri á meðan fyrirlestrum 59 00:03:05,540 --> 00:03:08,560 scribbling niður allt sem ég segi og svo framvegis, það sem við gerum 60 00:03:08,560 --> 00:03:10,765 í staðinn er að veita frá kennara á 61 00:03:10,765 --> 00:03:11,920 Canonical setja seðla. 62 00:03:11,920 --> 00:03:14,850 Þannig að við höfum einn af félögum kennslu okkar, Andrew Sellergren, 63 00:03:14,850 --> 00:03:17,830 sem sest niður í hverri viku, farið yfir vídeó, og þá 64 00:03:17,830 --> 00:03:19,730 skrifar niður það sem við höldum að sé nokkuð 65 00:03:19,730 --> 00:03:21,840 opinber sett af athugasemdum. 66 00:03:21,840 --> 00:03:24,180 Og Andrew hrifinn, einnig að setja snarky neðanmálsgreinar í 67 00:03:24,180 --> 00:03:24,820 The botn. 68 00:03:24,820 --> 00:03:27,300 Svo þú munt vonandi njóta þær sem tilvísun bók fyrir 69 00:03:27,300 --> 00:03:30,230 gaman, og einnig koma quiz tíma eins og tækifæri til að endurskoða 70 00:03:30,230 --> 00:03:31,830 hvað gerðist í einstökum fyrirlestrum. 71 00:03:31,830 --> 00:03:33,580 Svo þeir eru tengdir á fyrirlestra síðunni. 72 00:03:33,580 --> 00:03:35,300 >> Vandamál setja 0, á meðan er út. 73 00:03:35,300 --> 00:03:37,470 Og með tilliti til úrræði fyrir þig - 74 00:03:37,470 --> 00:03:38,020 er walkthrough. 75 00:03:38,020 --> 00:03:39,730 Milo leiddi fyrst á föstudag. 76 00:03:39,730 --> 00:03:41,470 Það var tekið, að setja á netinu eftir laugardag. 77 00:03:41,470 --> 00:03:44,030 Og átta sig á, ef þú ert ekki viss um hvar á að byrja, 78 00:03:44,030 --> 00:03:47,280 fyrir þessu eða framtíðar p-setur, alltaf snúa fyrst til 79 00:03:47,280 --> 00:03:49,300 walkthrough eða vídeó þegar í stað. 80 00:03:49,300 --> 00:03:52,950 Sectioning er í gangi, á cs50.net/section er þar sem þú 81 00:03:52,950 --> 00:03:54,540 að senda óskir þínar, ef þú hefur ekki 82 00:03:54,540 --> 00:03:55,880 þegar með í dag. 83 00:03:55,880 --> 00:03:58,140 Þar köflum hefst þetta kemur sunnudagur, mánudagur, 84 00:03:58,140 --> 00:03:58,760 og þriðjudagur. 85 00:03:58,760 --> 00:04:02,470 Við gerum kafla þá þrjá daga í hverri viku af 86 00:04:02,470 --> 00:04:03,870 önn að mestu leyti. 87 00:04:03,870 --> 00:04:06,600 Og við kynna einnig aftur, mismunandi lög. 88 00:04:06,600 --> 00:04:08,270 Svo þú verður að vera beðin um þetta sectioning mynd, ef þú 89 00:04:08,270 --> 00:04:10,350 hef ekki séð það nú þegar, ef þú ert meðal þeirra sem minna 90 00:04:10,350 --> 00:04:12,800 þægileg, öruggari, eða einhvers staðar þar á milli. 91 00:04:12,800 --> 00:04:14,960 Og ef þú ert svona á grindverkinu, yfirleitt einhvers staðar í 92 00:04:14,960 --> 00:04:18,160 milli er það sem flestir nemendur endanum stöðva. 93 00:04:18,160 --> 00:04:19,579 Viðtalstímar hefjast í kvöld. 94 00:04:19,579 --> 00:04:23,020 >> Svo Scratch frekar lágt lykill, jafnvel þótt það er alveg eðlilegt 95 00:04:23,020 --> 00:04:25,300 að keyra í mismunandi galla, eða vera óviss um hvernig á að 96 00:04:25,300 --> 00:04:26,550 framkvæma eitthvað. 97 00:04:26,550 --> 00:04:28,880 Svo því að við munum byrja Viðtalstímar þessari viku. 98 00:04:28,880 --> 00:04:30,500 Þeir ætla að vera á Annenberg mánudagur, þriðjudagur, miðvikudagur, 99 00:04:30,500 --> 00:04:34,300 Fimmtudagur, 20:00-11:00 á brot heila. 100 00:04:34,300 --> 00:04:38,160 Upper classmen getur fengið í, og ef þú ert alltaf í vandræðum með að fá 101 00:04:38,160 --> 00:04:40,720 í dyrnar, því að þeir ætla að högg, bara tala á þinn hátt 102 00:04:40,720 --> 00:04:42,560 í og útskýra að þú ert með CS50. 103 00:04:42,560 --> 00:04:45,230 Venjulega 20 til 30 af okkur á starfsfólk mun vera til staðar til að hjálpa 104 00:04:45,230 --> 00:04:46,190 þú einn á einn. 105 00:04:46,190 --> 00:04:48,980 >> Við komu hugmyndin er þessi: þú munt koma fartölvuna þína, 106 00:04:48,980 --> 00:04:51,300 þú munt hafa hleðslutækið þitt, munum við hafa auka snúra vald, 107 00:04:51,300 --> 00:04:53,320 einkum meðfram suður vegg Annenberg þar 108 00:04:53,320 --> 00:04:55,080 það er hellingur af rafmagns-verslunum. 109 00:04:55,080 --> 00:04:59,290 Og helstu innganga benda til Viðtalstímar Q & A er að fara á 110 00:04:59,290 --> 00:05:01,690 cs50.net/discuss og að senda 111 00:05:01,690 --> 00:05:02,580 spurning þín þar. 112 00:05:02,580 --> 00:05:05,600 Og til að merkja hann með pset 0 eða pset 1, hvað sem viku 113 00:05:05,600 --> 00:05:06,810 gæti gerst að vera. 114 00:05:06,810 --> 00:05:09,240 Og svo það sem við munum gera er að hafa borð á félagar kennslu 115 00:05:09,240 --> 00:05:12,040 og auðvitað aðstoðarmenn, yfirleitt 8 eða 10 eða svo af okkur, 116 00:05:12,040 --> 00:05:14,430 að fara í gegnum, halda vakandi auga á borð, og 117 00:05:14,430 --> 00:05:16,810 plokkun burt spurningum virkilega eins fljótt og við getum, 118 00:05:16,810 --> 00:05:19,600 vísa þér að tengjast innlegg ef þú hefur ekki fundið þá 119 00:05:19,600 --> 00:05:22,220 yður, á netinu tilvísanir, sem við á. 120 00:05:22,220 --> 00:05:24,280 Og svo ef það eru vandamál, sem það óhjákvæmilega 121 00:05:24,280 --> 00:05:27,190 verður, eða það gerir bara meira vit í að setjast niður einn á einn, 122 00:05:27,190 --> 00:05:28,660 vinna í gegnum vandamál með einhverjum. 123 00:05:28,660 --> 00:05:30,810 >> Eða þú kemur bara í skrifstofutíma raun 124 00:05:30,810 --> 00:05:31,640 þurfa að hugarfari. 125 00:05:31,640 --> 00:05:33,400 Þú vilt ekki að fara í gegnum rafrænu formi, þú 126 00:05:33,400 --> 00:05:34,410 virkilega að hitta einhvern. 127 00:05:34,410 --> 00:05:37,240 Samskipti sem okkur, og hvað mun gerast er þegar þinn 128 00:05:37,240 --> 00:05:40,620 spurning hefur sést af starfsmanni, og við 129 00:05:40,620 --> 00:05:43,660 ákvarða, yup, ætti þetta að vera send til einn af 20 eða 130 00:05:43,660 --> 00:05:47,800 30 liðsmenn hér á staðnum, sem þú munt sjá á efst til vinstri á þessu 131 00:05:47,800 --> 00:05:51,590 lítið inn í biðröð hnappinn byrjar að blikka á cs50.net / 132 00:05:51,590 --> 00:05:52,165 ræða. 133 00:05:52,165 --> 00:05:55,260 Og þetta er að segja þér að þú nú hafa verið boðið, svo 134 00:05:55,260 --> 00:05:56,880 að tala, til að slá inn í biðröð. 135 00:05:56,880 --> 00:05:59,090 Og með því að smella þessi hnappur, nafn þitt mun þá birtast á 136 00:05:59,090 --> 00:06:02,660 iPad sem CS50 kveðjuíforrit, einn af höfuð námskeiðið, mun 137 00:06:02,660 --> 00:06:05,250 að halda nálægt dyrum Annenberg, sem mun þá 138 00:06:05,250 --> 00:06:08,630 sjá sem lýst hér, að nemendur, sem hafa spurningar um 139 00:06:08,630 --> 00:06:11,630 vinstri, starfsfólk sem eru til staðar til hægri. 140 00:06:11,630 --> 00:06:14,830 Og með því að smella á vinstri og hægri, vefskoðarinn þinn mun 141 00:06:14,830 --> 00:06:18,610 byrjar nú að blikka eins fljótt og, til dæmis, prófessor McGonnagal 142 00:06:18,610 --> 00:06:21,460 er tilbúinn til að sjá þig á ákveðnu borði í Annenberg. 143 00:06:21,460 --> 00:06:23,340 >> Svo fórum við í þessa síðasta ári. 144 00:06:23,340 --> 00:06:25,430 Við höfum rebooted Viðtalstímar og 145 00:06:25,430 --> 00:06:26,980 aftur innleitt mikið af hugbúnaði. 146 00:06:26,980 --> 00:06:29,940 Svo átta sig á að þetta mun vera hita upp í þessari viku. 147 00:06:29,940 --> 00:06:32,970 En einnig að átta sig líka á árum áður, eins og þú gætir hafa heyrt 148 00:06:32,970 --> 00:06:35,710 frá vinum, skrifstofa klst var örugglega 50 til 149 00:06:35,710 --> 00:06:37,040 150 nemendur í einu. 150 00:06:37,040 --> 00:06:39,300 Og það er einfaldlega ekki mögulegt fyrir okkur að höndla það 151 00:06:39,300 --> 00:06:42,060 áhrifaríkan hátt, einn á einn, um kvöldið. 152 00:06:42,060 --> 00:06:44,570 Og svo hvað við erum í raun að fara að reyna að gera á þessu ári er 153 00:06:44,570 --> 00:06:46,590 nýta á þá staðreynd að mikið af spurningum eru 154 00:06:46,590 --> 00:06:49,050 algengar og geta oft verið betur svarað 155 00:06:49,050 --> 00:06:50,030 asynchronously. 156 00:06:50,030 --> 00:06:52,140 Svo er hægt að raða á hugsa um viðbrögðum starfsmanna, 157 00:06:52,140 --> 00:06:54,360 og við getum hugsa um númerið þitt, án þess að upphitun 158 00:06:54,360 --> 00:06:57,050 þrýsting endilega barátta 159 00:06:57,050 --> 00:06:58,210 gegnum það hlið við hlið. 160 00:06:58,210 --> 00:07:00,980 Svo áætlum við að tæplega þriðjungur eða helmingur af þeim spurningum 161 00:07:00,980 --> 00:07:03,500 verður send í mann, og við munum reyna að reyta burt eins 162 00:07:03,500 --> 00:07:05,530 margir sem helmingur eða meira með rafrænum hætti, 163 00:07:05,530 --> 00:07:06,710 á skrifstofutíma. 164 00:07:06,710 --> 00:07:08,070 Og við munum halda áfram að nota Ræddu 165 00:07:08,070 --> 00:07:09,990 alla vikuna eins og heilbrigður. 166 00:07:09,990 --> 00:07:12,680 >> Og loks, átta sig á að þetta námskeið er hægt að taka framhjá / mistakast. 167 00:07:12,680 --> 00:07:16,230 Svo ef þú ert á the girðing eða hugsa bara að þú ert í raun 168 00:07:16,230 --> 00:07:18,650 ekki viss um hvort þetta sé heimur fyrir þig, eða er þetta í raun 169 00:07:18,650 --> 00:07:21,310 alveg erlendum þér, átta sig á að þetta er frábær leið 170 00:07:21,310 --> 00:07:24,840 að ná upp smá traust sem á að stíga inn í 171 00:07:24,840 --> 00:07:26,780 bekk, eins og ég gerði satt, árum. 172 00:07:26,780 --> 00:07:28,630 Og þá hafa fimm vikur til að raða á myndinni út fyrir 173 00:07:28,630 --> 00:07:30,850 þig ef þú vilt vera að fara framhjá / mistakast, skipta yfir í bréfi 174 00:07:30,850 --> 00:07:31,800 bekk, eða eins. 175 00:07:31,800 --> 00:07:34,050 Og yfirleitt það framhjá / mistakast er, held ég, fyrir nemendur er 176 00:07:34,050 --> 00:07:36,700 að ef þú setur í að 10 klst, 20 klst, hvað sem það 177 00:07:36,700 --> 00:07:38,830 getur verið á sumum vandamálum, og þú ert að lemja höfðinu 178 00:07:38,830 --> 00:07:39,690 við vegginn, 179 00:07:39,690 --> 00:07:41,750 og þú í raun bara ekki elta eitthvað niður, og þú 180 00:07:41,750 --> 00:07:44,230 hafa svo margt annað sem þú þarft að gera, heiðarlega, það sem ég 181 00:07:44,230 --> 00:07:46,070 held framhjá / mistakast er, það tekur brún burt af 182 00:07:46,070 --> 00:07:47,250 aðstæður eins og þessi. 183 00:07:47,250 --> 00:07:49,350 Þar sem þú hefur tekið hlutur 90% af leiðinni. 184 00:07:49,350 --> 00:07:50,830 Þú veist, það er ekki alveg fullkominn. 185 00:07:50,830 --> 00:07:52,950 En þú fengið mikið út af því, engu að síður. 186 00:07:52,950 --> 00:07:55,440 Svo íhuga framhjá / mistakast og gefur þér að 187 00:07:55,440 --> 00:07:57,590 andlega fyrirmynd, kannski. 188 00:07:57,590 --> 00:08:00,680 >> Allt í lagi, svo í síðustu viku að við dúfan í grunni, og við 189 00:08:00,680 --> 00:08:03,610 talaði um forritun á tiltölulega háu grafísku stigi. 190 00:08:03,610 --> 00:08:05,340 Og í dag við að gera við umskipti til tungumál 191 00:08:05,340 --> 00:08:08,300 kallast C, lægra stigi forritunarmál ofan á 192 00:08:08,300 --> 00:08:11,260 sem margir nútíma tungumál eru nú byggð, þar á meðal sumir 193 00:08:11,260 --> 00:08:13,010 af þeim sem við munum vera með undir lok hugtaksins er. 194 00:08:13,010 --> 00:08:15,530 Og setningafræðilega, hvað þeir líta út eins og 195 00:08:15,530 --> 00:08:17,330 er allt mjög svipað. 196 00:08:17,330 --> 00:08:19,080 Svo skulum byrja á að gera þessi aðlögunartími hér. 197 00:08:19,080 --> 00:08:21,730 Þannig að þetta var forrit í síðustu viku sem var einföldustu 198 00:08:21,730 --> 00:08:22,910 Hello World forrit. 199 00:08:22,910 --> 00:08:25,560 Það prentuð einfaldlega á skjáinn Hello World, með 200 00:08:25,560 --> 00:08:27,650 litla ræðu kúla koma út köttinn. 201 00:08:27,650 --> 00:08:30,590 Jæja, ef við byrjum nú að þýða þetta í annað 202 00:08:30,590 --> 00:08:33,419 tungumál, átta sig á að hugmyndir í dag og á miðvikudag 203 00:08:33,419 --> 00:08:36,450 eru eins, en setningafræði byrjar að breytast. 204 00:08:36,450 --> 00:08:39,370 Svo en í síðustu viku við höfðum, þegar grænt merkja smellt segja 205 00:08:39,370 --> 00:08:40,340 Halló heimur. 206 00:08:40,340 --> 00:08:43,870 Í dag ætlum við að hafa int, Main, tóm, printf, 207 00:08:43,870 --> 00:08:46,350 aftur, með einhverjum öðrum setningafræði í there eins og heilbrigður. 208 00:08:46,350 --> 00:08:49,200 Hrokkið axlabönd, og sviga, og vitna, og whatnot. 209 00:08:49,200 --> 00:08:54,520 En ljóst að kjarninn í þeirri hugmynd hér er prentun, 210 00:08:54,520 --> 00:08:58,470 og að lokum í því að helsta er nú að fara að vera 211 00:08:58,470 --> 00:09:00,770 samheiti the byrjun af a program. 212 00:09:00,770 --> 00:09:04,250 Main er að fara að vera þar græna fána ánægja það burt. 213 00:09:04,250 --> 00:09:06,390 >> Svo nú skulum við stríða sundur sum byggja blokkir hér 214 00:09:06,390 --> 00:09:08,650 áður en við kafa í nokkur tiltekin dæmi. 215 00:09:08,650 --> 00:09:11,620 Þannig að við kölluðum þetta yfirlýsingu í síðustu viku, þar sem það er bara 216 00:09:11,620 --> 00:09:12,470 kennsla. 217 00:09:12,470 --> 00:09:15,660 Gerðu þetta - í þessu tilfelli, að heilsa heim. 218 00:09:15,660 --> 00:09:18,400 Jæja í C, ef við skoðum bara þá línu, það er hvernig við erum 219 00:09:18,400 --> 00:09:20,920 að fara að byrja að tjá þessa tilteknu þraut stykki: 220 00:09:20,920 --> 00:09:24,780 printf ("Hello World");. 221 00:09:24,780 --> 00:09:27,330 Og nú munum við stríða þessum sundur meira og meira með tímanum, 222 00:09:27,330 --> 00:09:29,330 en átta sig á að það er mynstur hérna. 223 00:09:29,330 --> 00:09:31,870 Svo einn, höfum við þetta hlutur sem kallast printf, sem er 224 00:09:31,870 --> 00:09:34,310 meginatriðum hliðstætt orðinu segja. 225 00:09:34,310 --> 00:09:35,800 Það er það sem það er að fara að gera. 226 00:09:35,800 --> 00:09:37,870 Printf, og f hér þýðir "sniðinn". 227 00:09:37,870 --> 00:09:39,270 Svo þýðir það bara að þú getur sett inn 228 00:09:39,270 --> 00:09:41,600 ýmsar fagurfræðilegu upplýsingar. 229 00:09:41,600 --> 00:09:43,770 Svo vitna unquote upphafið af því sem við erum að fara 230 00:09:43,770 --> 00:09:45,340 að byrja að hringja í band. 231 00:09:45,340 --> 00:09:47,110 A orð, orðasamband, setningu. 232 00:09:47,110 --> 00:09:50,220 A band á forritunarmál er röð núll 233 00:09:50,220 --> 00:09:51,330 eða fleiri stafi. 234 00:09:51,330 --> 00:09:54,390 Svo h-E-L-L-O, kommu, og svo framvegis, er 235 00:09:54,390 --> 00:09:56,290 vitna unquote, a band. 236 00:09:56,290 --> 00:09:58,710 Og nú sviga n, smá setningafræðilega skrýtið, en við 237 00:09:58,710 --> 00:10:01,780 þegar skilgreint sem í síðustu viku sem þýðir hvað? 238 00:10:01,780 --> 00:10:02,630 Þetta er bara nýja línu. 239 00:10:02,630 --> 00:10:05,000 Það er bara leið til að miðla á tölvunni sem þú vilt að 240 00:10:05,000 --> 00:10:07,700 jafngildir hitting á Enter þar, en þú ekki 241 00:10:07,700 --> 00:10:10,460 vilja til raunverulega högg inn og því skipta upp alla af 242 00:10:10,460 --> 00:10:12,130 sniði raunverulegt program. 243 00:10:12,130 --> 00:10:15,500 Nú sviga láta þetta band, opið paren og 244 00:10:15,500 --> 00:10:18,130 loka paren, og inni í því er band okkar. 245 00:10:18,130 --> 00:10:22,600 Vegna þess að það er vegna þess að í C, og önnur forritun 246 00:10:22,600 --> 00:10:27,510 tungumál, eins og það að taka printf rök, eða taka 247 00:10:27,510 --> 00:10:28,420 breytur. 248 00:10:28,420 --> 00:10:31,490 >> Svo byrja að hugsa nú af þessu fjólubláa Say blokk sem a 249 00:10:31,490 --> 00:10:34,890 virka, eins og aðferð, sem málsmeðferð. 250 00:10:34,890 --> 00:10:36,890 Þú getur raunverulega kalla það hvað sem þú vilt í bili, en 251 00:10:36,890 --> 00:10:39,260 það er tegund af litlu kerfi sem aðeins er einn 252 00:10:39,260 --> 00:10:41,480 hlutur, í einni línu, ekki minna. 253 00:10:41,480 --> 00:10:43,620 Svo er printf einnig það sem við erum að fara að byrja að hringja í 254 00:10:43,620 --> 00:10:46,680 virka, og virka gera eitthvað - í þessu tilviki 255 00:10:46,680 --> 00:10:49,320 prentar sniðinn band á skjáinn - 256 00:10:49,320 --> 00:10:53,220 en aðgerðir taka einnig rök eða breytur. 257 00:10:53,220 --> 00:10:55,880 Og með rökum eða breytur, þakka þér, er átt við 258 00:10:55,880 --> 00:11:01,220 að hegðun þeirra getur haft áhrif á hvað þú fara í 259 00:11:01,220 --> 00:11:03,420 inni í sviga. 260 00:11:03,420 --> 00:11:06,460 Svo í þessu tilfelli, að vera printf þarfir sagt hvað ég á að prenta, og við 261 00:11:06,460 --> 00:11:09,520 bara fara í, í gæsalöppum hér strenginn sem við 262 00:11:09,520 --> 00:11:11,270 í raun að prenta. 263 00:11:11,270 --> 00:11:14,060 Og semíkommu á mjög lok þessa línu er bara 264 00:11:14,060 --> 00:11:18,020 Söguleg óþægindi þannig í lok flestra línur af kóða, 265 00:11:18,020 --> 00:11:21,170 að setja semíkommu að gera frábær ljóst að tölvu 266 00:11:21,170 --> 00:11:23,020 að þessi lína af kóða endar hér. 267 00:11:23,020 --> 00:11:25,600 Nú er þetta gott því eins og við munum sjá sem áætlanir fá meira 268 00:11:25,600 --> 00:11:29,030 flókið að semíkommu mun gera frábær ljóst að okkur menn, 269 00:11:29,030 --> 00:11:32,280 og einnig tölva, þar sem línur byrja kóða og endi. 270 00:11:32,280 --> 00:11:34,360 Gera sér grein fyrir að sum tungumál ekki nokkur 271 00:11:34,360 --> 00:11:35,045 þessara sömu upplýsingar. 272 00:11:35,045 --> 00:11:37,870 Og í raun, í JavaScript, þú ekki alltaf að þurfa eitthvað 273 00:11:37,870 --> 00:11:38,670 eins semíkommu. 274 00:11:38,670 --> 00:11:40,210 En meira um það að koma. 275 00:11:40,210 --> 00:11:41,170 >> Svo lykkjur. 276 00:11:41,170 --> 00:11:43,520 Við höfðum eitthvað þessu líkt, mjög innsær, augljós, gera 277 00:11:43,520 --> 00:11:44,860 eitthvað aftur og aftur og aftur. 278 00:11:44,860 --> 00:11:47,720 Eins og að setja á sokkum, eða segja halló, í þessu tilfelli. 279 00:11:47,720 --> 00:11:51,090 Jæja, hefst í dag í C, gæti látið þessa grunni 280 00:11:51,090 --> 00:11:54,970 blokk eins og á meðan (satt) printf ("Hello World"). 281 00:11:54,970 --> 00:11:57,630 Svo eftir að við erum að byrja að byggja á bókstaflega ráðgáta 282 00:11:57,630 --> 00:11:58,480 stykki úr áður. 283 00:11:58,480 --> 00:12:01,310 Við höfum sömu fjólublátt blokk, en það er inni í þessu 284 00:12:01,310 --> 00:12:04,880 bracketed Forever blokk, og besta leiðin til að þýða það 285 00:12:04,880 --> 00:12:06,480 í C er sem hér segir. 286 00:12:06,480 --> 00:12:08,130 Það er ekki Forever leitarorð. 287 00:12:08,130 --> 00:12:10,940 Þú getur ekki bara slegið f-o-r-E-V-E-R í C. 288 00:12:10,940 --> 00:12:13,440 Svo er næsta flaumi meðan. 289 00:12:13,440 --> 00:12:17,050 >> Nú, á meðan (satt) virðist svolítið heimskulegt því er gildi 290 00:12:17,050 --> 00:12:18,700 um raunverulegt alltaf breytingar? 291 00:12:18,700 --> 00:12:19,810 Væntanlega ekki. 292 00:12:19,810 --> 00:12:22,770 Það er eins og að segja en einn, en á meðan satt. 293 00:12:22,770 --> 00:12:25,430 Það er allt það sama, satt er alltaf raunin. 294 00:12:25,430 --> 00:12:29,860 Svo þessi lykkja er í raun örvandi Hvers konar lykkju? 295 00:12:29,860 --> 00:12:31,210 Bara óendanlega lykkju, ekki satt. 296 00:12:31,210 --> 00:12:32,930 A Forever lykkja eða eins og við kallað það í síðustu viku, 297 00:12:32,930 --> 00:12:33,870 bara óendanlega lykkju. 298 00:12:33,870 --> 00:12:35,250 Svo stundum það er slæmt. 299 00:12:35,250 --> 00:12:37,060 Stundum það er galla, stundum er það hvers vegna þú færð 300 00:12:37,060 --> 00:12:39,340 spuna ströndinni boltann eða stundaglas eða eins. 301 00:12:39,340 --> 00:12:41,260 En í þessu tilfelli, af ásettu ráði við, fyrir hvað 302 00:12:41,260 --> 00:12:43,040 ástæða, langaði til að prenta það sama aftur 303 00:12:43,040 --> 00:12:43,970 og aftur og aftur. 304 00:12:43,970 --> 00:12:45,900 Eða um er að ræða eins og horfa á, þú vilja til gera 305 00:12:45,900 --> 00:12:47,470 eitthvað aftur og aftur og aftur. 306 00:12:47,470 --> 00:12:49,070 Svo óendanlega lykkjur gæti skynsamleg. 307 00:12:49,070 --> 00:12:53,560 Og þetta er hvernig á C við gætum þýða Forever að kóða. 308 00:12:53,560 --> 00:12:55,570 >> Svo nú þetta er svolítið sérstakur. 309 00:12:55,570 --> 00:12:58,880 Við höfðum endurtaka 10 sinnum eftirfarandi yfirlýsingu. 310 00:12:58,880 --> 00:13:02,490 Svo á meðan (satt) ekki alveg að vinna þar, því satt er 311 00:13:02,490 --> 00:13:03,590 alltaf satt. 312 00:13:03,590 --> 00:13:07,060 Þannig að ef við skoðum í staðinn á C útgáfu, nú fær setningafræði a 313 00:13:07,060 --> 00:13:08,180 lítið meira dulinn. 314 00:13:08,180 --> 00:13:11,380 En til að vera heiðarlegur þegar þú byrjar að sjá þetta, fær það allt 315 00:13:11,380 --> 00:13:12,600 ansi fljótt þekkja. 316 00:13:12,600 --> 00:13:14,370 Svo er þetta það sem er kallað til hliðar. 317 00:13:14,370 --> 00:13:17,210 A for lykkju er að fara að segja tölvunni að gera eitthvað 318 00:13:17,210 --> 00:13:20,710 aftur og aftur og aftur svo lengi sem 319 00:13:20,710 --> 00:13:21,850 þetta er satt. 320 00:13:21,850 --> 00:13:23,370 Nú hvað er átt við með því? 321 00:13:23,370 --> 00:13:25,470 Jæja, það er þremur hlutum til a for lykkju, og við erum að fara að 322 00:13:25,470 --> 00:13:28,240 koma aftur á þetta í samhengi við raunveruleg 323 00:13:28,240 --> 00:13:29,100 dæmi í augnablikinu. 324 00:13:29,100 --> 00:13:31,650 Svo ekki hafa áhyggjur ef það er ekki alveg sökkva í öllum í einu. 325 00:13:31,650 --> 00:13:35,400 En int i = 0 er löng saga stutt, að segja gefa mér 326 00:13:35,400 --> 00:13:38,290 breyta sem er af heiltala tegund, svo gefa mér númerið 327 00:13:38,290 --> 00:13:40,890 kallaði ég, og frumstilla hana 0. 328 00:13:40,890 --> 00:13:43,460 Það er að gefa mér eins og algebraic breyta x og 329 00:13:43,460 --> 00:13:44,580 frumstilla hana 0. 330 00:13:44,580 --> 00:13:46,250 En í þessu tilfelli erum við kallað það i. 331 00:13:46,250 --> 00:13:49,120 Síðan í miðjunni, segir i er minna en 10. 332 00:13:49,120 --> 00:13:52,150 Það er að segja tölvuna gera eftirfarandi efni svo lengi 333 00:13:52,150 --> 00:13:53,770 eins og ég er minna en 10. 334 00:13:53,770 --> 00:13:55,370 Og vitanlega fer það minna en 10 vegna þess að 335 00:13:55,370 --> 00:13:56,550 það byrjar á 0. 336 00:13:56,550 --> 00:13:59,150 Þá loksins getur þú kannski giska á hvað ég + + þýðir. 337 00:13:59,150 --> 00:14:02,140 Það er a lítill hluti af setningafræði sem þýðir bara hækka i. 338 00:14:02,140 --> 00:14:05,270 Svo bæta 1 til i, aftur og aftur og aftur. 339 00:14:05,270 --> 00:14:09,260 >> Og svo eins og við munum sjá þessa lykkju, þetta setningafræði, heldur útfærir, 340 00:14:09,260 --> 00:14:12,160 nákvæmlega það sama sem, satt, í grunni voru bara svo 341 00:14:12,160 --> 00:14:13,250 miklu auðveldara að tjá. 342 00:14:13,250 --> 00:14:15,170 Endurtaktu 10, og þú ert búinn. 343 00:14:15,170 --> 00:14:17,690 Í C, og í flestum forritunarmál, verðum við að vera 344 00:14:17,690 --> 00:14:20,190 lítið meira lærdómsríkt fyrir tölvuna og í raun 345 00:14:20,190 --> 00:14:21,630 tilgreina eitthvað svona. 346 00:14:21,630 --> 00:14:23,730 En við munum koma aftur á þetta og önnur setningafræði. 347 00:14:23,730 --> 00:14:24,780 >> Hvað um breytur? 348 00:14:24,780 --> 00:14:26,940 Í grunni við höfðum eitthvað eins og þessi appelsína blokkir, 349 00:14:26,940 --> 00:14:28,180 þar sem ég gat að lýsa yfir breytu. 350 00:14:28,180 --> 00:14:30,000 Við skulum kalla geðþótta það gegn. 351 00:14:30,000 --> 00:14:31,880 Skulum frumstilla hana 0, og þá 352 00:14:31,880 --> 00:14:33,240 skulum eilífu gera eitthvað. 353 00:14:33,240 --> 00:14:35,760 Í þessu tilfelli á grunni ég er að segja er gegn, þannig að 354 00:14:35,760 --> 00:14:38,230 köttur er að fara að hafa smá ræðu kúla sem er að tala 355 00:14:38,230 --> 00:14:40,010 fjölda sem er í þessari breytu. 356 00:14:40,010 --> 00:14:42,460 Og þá höfum við breyta gegn um 1. 357 00:14:42,460 --> 00:14:45,760 Svo allt þetta er pakkað inni að eilífu læsa. 358 00:14:45,760 --> 00:14:48,960 Þannig að við þegar nú að byggja blokkir í C ​​með 359 00:14:48,960 --> 00:14:50,040 til að þýða þetta. 360 00:14:50,040 --> 00:14:51,650 >> Ein leið að við gætum gert það er þetta. 361 00:14:51,650 --> 00:14:53,890 Gefðu mér heiltölu, kalla það gegn. 362 00:14:53,890 --> 00:14:55,190 Frumstilla það til 0 363 00:14:55,190 --> 00:14:56,490 í fyrstu línu þar. 364 00:14:56,490 --> 00:14:59,390 Meðan (satt), svo ég ætla að stela þessi hugmynd frá bara smástund 365 00:14:59,390 --> 00:15:01,300 fyrir, fara á undan og gera eftirfarandi. 366 00:15:01,300 --> 00:15:04,880 Prenta út teljarann, og þá hækka teljarann, 367 00:15:04,880 --> 00:15:06,930 aftur, og aftur, og aftur. 368 00:15:06,930 --> 00:15:09,380 Eða aftur, + + þýðir bara að bæta 1 við eitthvað. 369 00:15:09,380 --> 00:15:11,030 En það er ný stykki af setningafræði hér. 370 00:15:11,030 --> 00:15:15,730 Hvað er stökk út sem ekki á meðal fyrri dæmum okkar? 371 00:15:15,730 --> 00:15:17,190 Já, þetta% d. 372 00:15:17,190 --> 00:15:19,810 Svo þú getur kannski ætlað hvað þetta er að gera, hreinskilnislega, byggt 373 00:15:19,810 --> 00:15:21,410 á hvaða grunni blokk er að gera. 374 00:15:21,410 --> 00:15:24,510 En aftur í C, höfum við bara að vera a lítill fleiri einkum 375 00:15:24,510 --> 00:15:25,990 þegar það kemur að því að tjá okkur. 376 00:15:25,990 --> 00:15:30,560 >> Svo printf ("% d \ n"). 377 00:15:30,560 --> 00:15:32,320 Jæja flest að við getum henda eins kunnuglegt. 378 00:15:32,320 --> 00:15:34,910 Gæsalappa þýðir bara að það er band, sviga N 379 00:15:34,910 --> 00:15:35,970 er bara ný lína. 380 00:15:35,970 --> 00:15:38,860 Svo er það eina nýja sem hér% d. 381 00:15:38,860 --> 00:15:40,390 Og allt sem er er staðgengill. 382 00:15:40,390 --> 00:15:43,510 % D er að fara til að tákna heiltala. 383 00:15:43,510 --> 00:15:47,820 Og% d þýðir tölva, setja heiltala hér. 384 00:15:47,820 --> 00:15:49,450 Jæja, hvað númerið sem þú vilt að setja það? 385 00:15:49,450 --> 00:15:52,400 Jæja, eins og þú getur kannski álykta, eftir kommu við segjum 386 00:15:52,400 --> 00:15:55,480 gegn, það er nafn á breytu sem við lýst yfir eða 387 00:15:55,480 --> 00:15:57,260 búin nokkrar línur áður. 388 00:15:57,260 --> 00:16:02,420 Þannig að þetta er bara leið til C er að stinga í breytu inn í a 389 00:16:02,420 --> 00:16:04,480 band virk. 390 00:16:04,480 --> 00:16:07,350 Vegna hins vegar ef ég hefði í staðinn gert eitthvað eins og 391 00:16:07,350 --> 00:16:12,470 þetta, printf ("gegn"), hvað myndi þetta 392 00:16:12,470 --> 00:16:15,220 program gera í staðinn, væntanlega? 393 00:16:15,220 --> 00:16:17,260 Það verður bókstaflega prenta "gegn". 394 00:16:17,260 --> 00:16:18,750 Sem er ekki áhrif sem ég vil. 395 00:16:18,750 --> 00:16:20,920 Ég þarf að skipta á nokkrum töluna. 396 00:16:20,920 --> 00:16:24,340 Þannig að við munum sjá sem virka þá eins og printf getur ekki taka 397 00:16:24,340 --> 00:16:26,930 aðeins bara einn rök, eins og 398 00:16:26,930 --> 00:16:28,150 "Halló heimur". 399 00:16:28,150 --> 00:16:32,050 Þeir geta tekið vitna unquote kommu, og þá sumir breytur 400 00:16:32,050 --> 00:16:35,830 sem vilja fá tengt inn, eins og við munum sjá fyrri band 401 00:16:35,830 --> 00:16:38,280 með þessum skilti% staðgengla. 402 00:16:38,280 --> 00:16:39,660 >> Jæja hvað um Boolean tjáning? 403 00:16:39,660 --> 00:16:42,200 Boolean tjáning voru þessi gildi, satt eða ósatt. 404 00:16:42,200 --> 00:16:42,830 Já eða nei. 405 00:16:42,830 --> 00:16:44,020 1 eða 0. 406 00:16:44,020 --> 00:16:45,190 Kveikt eða slökkt. 407 00:16:45,190 --> 00:16:47,570 Svo í grunni sem þeir líta svona út, og eftir því að 408 00:16:47,570 --> 00:16:50,170 botn blokk hér er í raun samtenging 409 00:16:50,170 --> 00:16:51,500 tveggja minni blokkir. 410 00:16:51,500 --> 00:16:53,610 Svo ég dró svona og missti þrjú púsluspil stykki 411 00:16:53,610 --> 00:16:56,450 saman til að gera það lengur ráðgáta stykki þar svo að ég 412 00:16:56,450 --> 00:17:00,420 gæti flytja hugmynd sem ég vil x til að vera minna en y og 413 00:17:00,420 --> 00:17:02,540 Y til að vera minna en z. 414 00:17:02,540 --> 00:17:05,790 Og svo ég geti þýtt þessar tvær línur sem hér segir. 415 00:17:05,790 --> 00:17:08,650 Efra einn getur verið mjög trivially þýdd á C, 416 00:17:08,650 --> 00:17:10,069 við bara x 00:17:11,990 Kannski með nokkrum sviga fyrir gott mál. 418 00:17:11,990 --> 00:17:15,520 Og svo í C, þú skrifar ekki og til að tákna 419 00:17:15,520 --> 00:17:16,819 samtenging um eitthvað. 420 00:17:16,819 --> 00:17:19,585 Þú skrifar í staðinn &&. 421 00:17:19,585 --> 00:17:22,849 Og eins og við munum að lokum sjá, eitt merkið gerist 422 00:17:22,849 --> 00:17:23,880 meina eitthvað annað. 423 00:17:23,880 --> 00:17:27,530 Svo táknar && bara hugmynd og. 424 00:17:27,530 --> 00:17:30,040 >> Svo aftur, jafnvel þó að það byrjar að líta frekar flókið, 425 00:17:30,040 --> 00:17:32,560 einn af þeim tilgangi að kynna grunni, auk 426 00:17:32,560 --> 00:17:34,810 bara að hafa svona skemmtilegt á-pallinum þar sem þú getur gert 427 00:17:34,810 --> 00:17:36,590 eitthvað sem er mjög myndrænt og líflegur, og 428 00:17:36,590 --> 00:17:39,000 shareable og eins, er einnig að segja að hugmynd að 429 00:17:39,000 --> 00:17:42,010 allar hugmyndir við byrjum köfun í dag og áfram 430 00:17:42,010 --> 00:17:44,300 hefur verið felast í jafnvel svo einfalt 431 00:17:44,300 --> 00:17:46,850 tengi frá degi. 432 00:17:46,850 --> 00:17:47,790 Hvað um þetta eitt hér? 433 00:17:47,790 --> 00:17:48,860 >> Þannig aðstæður. 434 00:17:48,860 --> 00:17:50,590 Svo grunni blokk á vinstri það lítur út 435 00:17:50,590 --> 00:17:51,610 svolítið flóknari. 436 00:17:51,610 --> 00:17:52,650 En það er bara að draga og 437 00:17:52,650 --> 00:17:54,140 sleppa kunnuglega hluti. 438 00:17:54,140 --> 00:17:56,690 Ef x er minna en y, segja svo. 439 00:17:56,690 --> 00:17:59,900 Annars ef x er stærra en y, segja svo. 440 00:17:59,900 --> 00:18:02,460 Annars getum við rökrétt ráð það er álykta að 441 00:18:02,460 --> 00:18:03,580 þeir verða að vera jafnir. 442 00:18:03,580 --> 00:18:05,220 Svo að segja að þeir eru jafnir. 443 00:18:05,220 --> 00:18:07,690 Nú í C á hægri, sama nákvæmlega hlutur. 444 00:18:07,690 --> 00:18:09,730 Athugið að hrokkið axlabönd eru að fara til vera a 445 00:18:09,730 --> 00:18:12,190 eiginleiki C og öðrum tungumálum sem gera svona 446 00:18:12,190 --> 00:18:13,210 af hjúpun. 447 00:18:13,210 --> 00:18:15,470 Rétt eins og ef blokk er þetta gult hlutur sem er eins konar 448 00:18:15,470 --> 00:18:17,770 grabbing fjólublátt blokk inni af því. 449 00:18:17,770 --> 00:18:19,480 Á sama hátt eru þessar axlabönd - 450 00:18:19,480 --> 00:18:20,870 þessi hrokkið axlabönd - 451 00:18:20,870 --> 00:18:24,710 ætlað að töfra upp þessi sömu hugmynd faðma einn eða fleiri 452 00:18:24,710 --> 00:18:27,680 línur af kóða sem eru grafin inni í þeim. 453 00:18:27,680 --> 00:18:31,270 Svo á hægri hönd hlið hér, ef x minna en y, printf 454 00:18:31,270 --> 00:18:32,270 ("X er minna en y"). 455 00:18:32,270 --> 00:18:34,980 Annars ef x er stærra en y, prenta út á sama. 456 00:18:34,980 --> 00:18:38,360 Else prenta út að þeir eru jafnir. 457 00:18:38,360 --> 00:18:41,750 >> Svo í stuttu máli, það er nokkuð bein kortlagning eða þýðing 458 00:18:41,750 --> 00:18:44,720 á tungumáli sem við höfum séð hingað til, þar á meðal fyrir suma 459 00:18:44,720 --> 00:18:45,940 af the fleiri háþróaður lögun. 460 00:18:45,940 --> 00:18:48,680 Svo þú getur ekki verið að nota þetta fyrir verkefnið, eða gæti ekki 461 00:18:48,680 --> 00:18:51,150 að nota þetta fyrir verkefni í þessari viku. 462 00:18:51,150 --> 00:18:54,650 En við höfum þetta kallast fylki í C. Í grunni, 463 00:18:54,650 --> 00:18:55,680 þeir eru kallaðir listum. 464 00:18:55,680 --> 00:18:59,370 Og við sáum þetta með Fruitcraft RPG síðustu viku. 465 00:18:59,370 --> 00:19:01,320 The lítill blár strákur sem var að labba um, taka upp 466 00:19:01,320 --> 00:19:03,010 kirsuber og appelsínur og þess háttar. 467 00:19:03,010 --> 00:19:05,110 Jæja í grunni, var að innleiða með þessu appelsínugulur 468 00:19:05,110 --> 00:19:09,000 blokk sem inniheldur orð, í þessu tilfelli, við erum bókstaflega 469 00:19:09,000 --> 00:19:10,800 bæta "appelsínugult" til 470 00:19:10,800 --> 00:19:12,460 breytu sem heitir skrá. 471 00:19:12,460 --> 00:19:14,910 Svo í C, þetta setningafræði er að fara að fá smá meira dulinn. 472 00:19:14,910 --> 00:19:17,250 Og við munum koma aftur til þessa í næstu viku og gera meira 473 00:19:17,250 --> 00:19:21,060 áhugavert hlutir í heiminum dulmál við hana. 474 00:19:21,060 --> 00:19:23,990 En neðst hér, þessar tvær línur í raun 475 00:19:23,990 --> 00:19:27,550 þýða að það sem við erum að gera í einum grunni loka þarna. 476 00:19:27,550 --> 00:19:30,120 En meira um það að koma. 477 00:19:30,120 --> 00:19:34,120 >> Svo setja það saman, hér er forrit í C. Svo við skulum 478 00:19:34,120 --> 00:19:36,590 fljótt stríða sundur sum stykki af setningafræði hér, en 479 00:19:36,590 --> 00:19:40,300 þá skulum í raun að byrja að skrifa smá kóða, kynna 480 00:19:40,300 --> 00:19:42,440 þú með sumir af the tæki sem við munum vera með og sjá hvort við 481 00:19:42,440 --> 00:19:45,400 Hægt er að byggja á nú einhverja af þessum helstu kubbar af 482 00:19:45,400 --> 00:19:49,150 í síðustu viku, nú setningafræðilega í C. Svo efst hér, þetta 483 00:19:49,150 --> 00:19:51,380 er ef til vill einn af the leiðinlegur forrit sem þú gætir 484 00:19:51,380 --> 00:19:53,130 skrifa í flestum hvaða forritunarmál. 485 00:19:53,130 --> 00:19:55,010 En tegund það er af hefur sérstaka þýðingu vegna þess að það er 486 00:19:55,010 --> 00:19:58,120 Canonical forrit sem allir tölva vísindamaður skrifar þegar 487 00:19:58,120 --> 00:19:59,620 kennslu einhver forritunarmál - 488 00:19:59,620 --> 00:20:01,230 a Halló heimur program. 489 00:20:01,230 --> 00:20:05,120 >> Svo á the mjög toppur, sjáum við þessa hugmynd af # include 490 00:20:05,120 --> 00:20:08,180 og þá í horn sviga, stdio.h. 491 00:20:08,180 --> 00:20:10,580 Við ætlum að koma aftur á það, en í raun það sem 492 00:20:10,580 --> 00:20:13,770 þýðir þetta er að það er skrá í þessum heimi sem heitir staðall 493 00:20:13,770 --> 00:20:17,670 I / O, stdio punktur h, og það er bara textaskrá sem 494 00:20:17,670 --> 00:20:19,240 einhver skrifaði árum. 495 00:20:19,240 --> 00:20:22,550 Og inni á þeim textaskrá eru heild búnt af 496 00:20:22,550 --> 00:20:25,840 aðgerðir eða aðferðir, eða aðferðir, að einhver annar 497 00:20:25,840 --> 00:20:28,970 skrifaði að við erum góðs af því við 498 00:20:28,970 --> 00:20:31,420 getur núna notað kóða sem maður er. 499 00:20:31,420 --> 00:20:33,070 Hlutverk hann eða hún skrifaði. 500 00:20:33,070 --> 00:20:36,320 Í þessu tilfelli, printf er ekki eitthvað sem ég skrifaði, það er 501 00:20:36,320 --> 00:20:37,500 ekki eitthvað sem CS50 skrifaði. 502 00:20:37,500 --> 00:20:40,290 Það er eitthvað sem einhver skrifaði árum síðan og setja í 503 00:20:40,290 --> 00:20:43,450 skrá sem kallast stdio.h og þá, sem til hliðar, setja 504 00:20:43,450 --> 00:20:45,830 annar hluti af the virka í aðra skrá. 505 00:20:45,830 --> 00:20:46,940 En við munum komast þangað. 506 00:20:46,940 --> 00:20:50,070 >> Svo # include er bara leið okkar að segja í 507 00:20:50,070 --> 00:20:53,110 C, gefa mér aðgang að virka sem einhver annar skrifaði. 508 00:20:53,110 --> 00:20:55,490 Og í þessu tilfelli sem ég hugsa því að ég vil printf. 509 00:20:55,490 --> 00:20:57,530 Nú fáum við INT helstu (tóm). 510 00:20:57,530 --> 00:21:00,160 Svo er þetta einn af þessum hlutum, hreinskilnislega, að á degi 0, 511 00:21:00,160 --> 00:21:02,400 ansi mikið ég hef að konar út svæði, því það er bara 512 00:21:02,400 --> 00:21:03,260 ekki áhugavert 513 00:21:03,260 --> 00:21:04,780 vitsmunalega, sumir af setningafræði. 514 00:21:04,780 --> 00:21:07,940 En nú vita að virka, annars þekkt sem 515 00:21:07,940 --> 00:21:11,660 verklagsreglur, eða aðferðir, yfirleitt framleiða sumir gildi. 516 00:21:11,660 --> 00:21:12,520 Þeir gera eitthvað. 517 00:21:12,520 --> 00:21:13,810 Þeir koma upp með óákveðinn greinir í ensku svar. 518 00:21:13,810 --> 00:21:15,020 Þeir framleiða framleiðsla. 519 00:21:15,020 --> 00:21:18,780 Svo int hlið helsta er bara skammstöfun leið okkar til að segja 520 00:21:18,780 --> 00:21:21,380 að þessi aðgerð, þessi aðferð, er loksins að fara 521 00:21:21,380 --> 00:21:22,650 að gefa þér aftur að tala. 522 00:21:22,650 --> 00:21:24,370 Og hvers vegna það er, munum við koma aftur til. 523 00:21:24,370 --> 00:21:27,810 Main er bara heimurinn sjálfgefið staðall fyrir sjálfgefið 524 00:21:27,810 --> 00:21:30,990 fall sem er að fara að fá fram í C program þegar 525 00:21:30,990 --> 00:21:31,860 að keyra hana. 526 00:21:31,860 --> 00:21:34,160 Tóm bara þýðir þetta, helstu, þarf ekki 527 00:21:34,160 --> 00:21:35,270 rök, í þessu tilfelli. 528 00:21:35,270 --> 00:21:36,400 Þannig að ég ætla að vera frábær skýr. 529 00:21:36,400 --> 00:21:38,160 Það er engin strengi í það, það er ekki kommur. 530 00:21:38,160 --> 00:21:40,690 Tóm þýðir ekki rök í. 531 00:21:40,690 --> 00:21:44,350 >> Nú loksins, sem betur fer, eru síðustu tvær línurnar þekki. 532 00:21:44,350 --> 00:21:46,160 Inni í hrokkið axlabönd við höfum printf 533 00:21:46,160 --> 00:21:47,620 og við höfum aftur. 534 00:21:47,620 --> 00:21:50,450 Og aftur er góður af óheppilegt að við verðum að 535 00:21:50,450 --> 00:21:53,510 setja það þar, því að í þessu tilviki það er ekki að gera allt sem 536 00:21:53,510 --> 00:21:54,600 mikið af áhuga. 537 00:21:54,600 --> 00:21:58,790 En í tölvuforriti, þegar skilar 0, 538 00:21:58,790 --> 00:22:00,610 sem þýðir að allt er vel. 539 00:22:00,610 --> 00:22:01,820 Ekkert fór úrskeiðis. 540 00:22:01,820 --> 00:22:06,170 Á hinn bóginn, ef skilar 1, eða neikvæð 1, eða 541 00:22:06,170 --> 00:22:11,670 neikvæð 1.337, eða sumir af handahófi tölur eins og þessi, sem 542 00:22:11,670 --> 00:22:14,020 almennt þýðir að villa í raun hefur átt sér stað. 543 00:22:14,020 --> 00:22:16,150 Svo ef þú ert á Mac eða PC, ef þú hefur einhvern tíma séð 544 00:22:16,150 --> 00:22:18,590 sumir pirrandi skilaboð vegna þess að tölvan þín hefur hrunið eða 545 00:22:18,590 --> 00:22:20,660 frosinn, og það er dulinn villuboð, 546 00:22:20,660 --> 00:22:23,320 og svo nokkur númer, eins og kerfið kóða 547 00:22:23,320 --> 00:22:25,110 1,2,3,4, sumir tala, 548 00:22:25,110 --> 00:22:29,270 sem er yfirleitt óþarfa smáatriði til að segja 549 00:22:29,270 --> 00:22:32,110 Flest okkar mönnum, en það er það fall eða eitthvað 550 00:22:32,110 --> 00:22:34,890 áætlun hefur í raun skilað, a non-núll gildi. 551 00:22:34,890 --> 00:22:38,540 Og ávinningur af þessu er að 0 þýðir allt eins vel og 552 00:22:38,540 --> 00:22:40,470 þá ertu í raun óendanlega fjölda af hlutum sem 553 00:22:40,470 --> 00:22:41,130 getur farið úrskeiðis. 554 00:22:41,130 --> 00:22:44,700 Hver er ástæða þess að þeir valdi 0 fyrir gott og a non-núll gildi fyrir 555 00:22:44,700 --> 00:22:46,450 slæmt, eins og við munum sjá fljótlega. 556 00:22:46,450 --> 00:22:47,870 >> Svo við skulum fara á undan og skrifa þetta. 557 00:22:47,870 --> 00:22:51,610 Svo muna að um daginn ég notaði Mac minn að opna 558 00:22:51,610 --> 00:22:53,970 Terminal glugga, og þá opnaði ég upp texta program, eins og 559 00:22:53,970 --> 00:22:55,900 TextEdit, og ég byrjaði að skrifa nokkur númer. 560 00:22:55,900 --> 00:22:56,580 Jæja það er allt í lagi. 561 00:22:56,580 --> 00:22:58,636 En reynsla er að fara að vera öðruvísi á Mac, eða 562 00:22:58,636 --> 00:23:01,220 á Solaris tölvu, Linux tölva, hvað starfa 563 00:23:01,220 --> 00:23:02,810 kerfi þú verður að vera með. 564 00:23:02,810 --> 00:23:04,970 Og svo á auðvitað hvað við í staðinn að nota er eitthvað 565 00:23:04,970 --> 00:23:07,010 kallað CS50 Appliance. 566 00:23:07,010 --> 00:23:10,420 Svo er CS50 Tæki a downloadable stykki af hugbúnaður 567 00:23:10,420 --> 00:23:13,640 sem leyfir þér að keyra stýrikerfi sem heitir Linux, 568 00:23:13,640 --> 00:23:16,810 sérstaklega Fedora Linux á eigin Mac eða PC. 569 00:23:16,810 --> 00:23:20,810 Og þú gerir það með því að sækja eitthvað sem kallast hypervisor. 570 00:23:20,810 --> 00:23:23,100 Svo allt þetta verður skráð í mengi vandamál 1. 571 00:23:23,100 --> 00:23:25,240 Og þú munt vera með leiðsögn átt það sem þú þarft að sækja. 572 00:23:25,240 --> 00:23:27,510 En niðurstaðan, hvort sem þú ert með Mac eða PC, er þú 573 00:23:27,510 --> 00:23:29,080 sækja sumir frjáls hugbúnaður. 574 00:23:29,080 --> 00:23:32,340 Þú hleður þá CS50 tæki, og þú segir það 575 00:23:32,340 --> 00:23:33,960 frjáls hugbúnaður - er hypervisor - 576 00:23:33,960 --> 00:23:38,080 að keyra CS50 Tæki í glugga á tölvunni þinni. 577 00:23:38,080 --> 00:23:39,490 Og það sem gerist er þetta. 578 00:23:39,490 --> 00:23:43,660 >> Ég hef nú, eftir hér, það virðist vera skrifborð 579 00:23:43,660 --> 00:23:44,130 umhverfi. 580 00:23:44,130 --> 00:23:46,150 Og láta mig skreppa í raun þetta einn gluggi. 581 00:23:46,150 --> 00:23:49,640 Svo er þetta nú Mac minn, með smá glugga hér, og inni 582 00:23:49,640 --> 00:23:51,300 í þessum glugga verður að vera algjörlega 583 00:23:51,300 --> 00:23:52,380 mismunandi stýrikerfi. 584 00:23:52,380 --> 00:23:55,250 Reyndar er það í byrjun matseðill hérna, minnir á 585 00:23:55,250 --> 00:23:57,990 Windows, sem hefur a heild búnt af undir valmyndir, þar á meðal 586 00:23:57,990 --> 00:24:00,720 tengill á CS50 handbók, Dropbox, og þess háttar. 587 00:24:00,720 --> 00:24:03,480 Og hvað þetta umhverfi er nú staðall umhverfi 588 00:24:03,480 --> 00:24:06,280 að allir af okkur getur núna notað, svo að það er sama hvað þinn 589 00:24:06,280 --> 00:24:08,960 tölvan er, það sem þú hefur sett upp á það, hvaða útgáfa 590 00:24:08,960 --> 00:24:11,430 Mac OS eða Windows þú ert að keyra, höfum við öll nú 591 00:24:11,430 --> 00:24:12,800 sama umhverfi. 592 00:24:12,800 --> 00:24:15,850 Og nú í þessu umhverfi sem við getum byrjað að skrifa nokkur númer. 593 00:24:15,850 --> 00:24:18,480 >> Þannig að ég ætla að fara á undan og opna forrit sem heitir gedit. 594 00:24:18,480 --> 00:24:21,500 Þetta er sambærilegt við Notepad.exe eða 595 00:24:21,500 --> 00:24:22,790 TextEdit á Mac. 596 00:24:22,790 --> 00:24:25,390 Og þetta er bara frábær einfaldur texti útgáfa program 597 00:24:25,390 --> 00:24:27,500 sem lítur svona við fyrstu sýn. 598 00:24:27,500 --> 00:24:30,640 Nú á the mjög toppur, ég er með hvítt litatöflu, neðst I 599 00:24:30,640 --> 00:24:33,860 hafa þetta svart glugga sem segir jharvard @ tæki. 600 00:24:33,860 --> 00:24:36,440 Og það er vegna þess að notandi reikningur sem við fyrirfram búið 601 00:24:36,440 --> 00:24:38,430 fyrir alla heitir John Harvard. 602 00:24:38,430 --> 00:24:41,490 Hann hefur möppu þar sem allar skrár hans eru að fara að fara, og 603 00:24:41,490 --> 00:24:43,500 hér er þar sem við getum byrjað að skrifa nokkur númer. 604 00:24:43,500 --> 00:24:45,810 Svo láta mig fara á undan hér og stækka bara smá, og ég er 605 00:24:45,810 --> 00:24:51,550 að fara að gera # include , int main (tóm), og 606 00:24:51,550 --> 00:24:57,470 þá ætla ég að gera printf ("Halló heimur") 607 00:24:57,470 --> 00:24:59,490 , Aftur 0. 608 00:24:59,490 --> 00:25:01,400 Nú er þetta allt alveg svart og hvítt. 609 00:25:01,400 --> 00:25:03,830 >> Leyfðu mér að fara á undan og gera eitt að kenna gedit hvað ég er 610 00:25:03,830 --> 00:25:04,510 í raun að gera. 611 00:25:04,510 --> 00:25:06,140 Leyfðu mér að fara í Save As. 612 00:25:06,140 --> 00:25:08,560 Ég ætla að velja á vinstri hönd hér jharvard. 613 00:25:08,560 --> 00:25:11,010 Svo aftur, jafnvel ef þú hefur aldrei notað Linux áður, hreinskilnislega 614 00:25:11,010 --> 00:25:13,680 Þessa dagana eru þau öll devolving í meginatriðum 615 00:25:13,680 --> 00:25:14,590 samskonar tengi - 616 00:25:14,590 --> 00:25:16,030 Mac OS, Windows og Linux. 617 00:25:16,030 --> 00:25:18,680 Svo ég valdi heimasvæðið jharvard hér. 618 00:25:18,680 --> 00:25:21,120 Og ég ætla að vista þessa skrá sem hello.c. 619 00:25:21,120 --> 00:25:24,260 Svo á the mjög toppur, slegið I hello.c, nafngiftir C 620 00:25:24,260 --> 00:25:26,520 forrit með. c eftirnafn er 621 00:25:26,520 --> 00:25:27,570 hvað er algengt. 622 00:25:27,570 --> 00:25:28,650 Og ég högg Vista. 623 00:25:28,650 --> 00:25:32,510 Og nú það sem er gott er að ég hef í raun kennt gedit, 624 00:25:32,510 --> 00:25:33,690 að þetta er C program. 625 00:25:33,690 --> 00:25:36,470 Takið eftir því að svartur og hvítur texti minn er nú litakóða, eða 626 00:25:36,470 --> 00:25:39,330 setningafræði hápunktur, sem bara vekur athygli mína að 627 00:25:39,330 --> 00:25:41,540 mismunandi merkingartækni hluta áætlunarinnar. 628 00:25:41,540 --> 00:25:44,260 Efst til vinstri þar sem áætlanir mínar fá flóknari, ég er 629 00:25:44,260 --> 00:25:47,060 fara að hafa yfirlit yfir allt það sem ég hef skrifað. 630 00:25:47,060 --> 00:25:48,050 Svo að það er allt þar. 631 00:25:48,050 --> 00:25:52,350 Svo láta mig minnka nú út og fara niður á þetta endastöðvar. 632 00:25:52,350 --> 00:25:54,570 >> Svo er þetta kannski nýr til margir fólk. 633 00:25:54,570 --> 00:25:57,260 Ef þú hefur aldrei notað lína umhverfi, þú hefur aldrei 634 00:25:57,260 --> 00:26:00,020 nota DOS, eða þú hefur aldrei notað Linux, eða þú hefur aldrei opnað 635 00:26:00,020 --> 00:26:02,550 þinn Mac OS endastöðvar, there 'a einhver fjöldi af hlutur sem þú 636 00:26:02,550 --> 00:26:04,820 gæti gert með GUI, svo sem að benda og smella og 637 00:26:04,820 --> 00:26:07,080 draga og sleppa, og eins, en yfirleitt - 638 00:26:07,080 --> 00:26:09,360 vissulega í heimi tölvunarfræði - 639 00:26:09,360 --> 00:26:11,580 með stjórn lína, þar sem þú þarft ekki músina 640 00:26:11,580 --> 00:26:14,220 almennt, þú ert bara lyklaborðið, er í raun mikið 641 00:26:14,220 --> 00:26:17,260 öflugri en tengi, einu sinni þú fá acclimated til 642 00:26:17,260 --> 00:26:18,580 ýmsar skipanir. 643 00:26:18,580 --> 00:26:20,940 Og þú tegund af frjáls sjálfur að þurfa að benda og smella 644 00:26:20,940 --> 00:26:21,690 á allt. 645 00:26:21,690 --> 00:26:23,890 Svo í gedit munum raða á að hafa það besta af báðum heimum. 646 00:26:23,890 --> 00:26:25,600 Við getum draga og sleppa texta, getum við séð hana 647 00:26:25,600 --> 00:26:26,840 gott og litakóða. 648 00:26:26,840 --> 00:26:29,630 En þegar það kemur tími til að keyra forrit okkar, munum við stundum 649 00:26:29,630 --> 00:26:31,750 bara nota þennan litla glugga hér. 650 00:26:31,750 --> 00:26:33,460 >> Þannig að ég ætla að fara á undan og gera það. 651 00:26:33,460 --> 00:26:36,420 Í botn svart og hvítt glugga, ætla ég að fara á undan 652 00:26:36,420 --> 00:26:37,890 og skrifa clang. 653 00:26:37,890 --> 00:26:40,130 Og clang er nafn þýðanda. 654 00:26:40,130 --> 00:26:43,310 Það er forrit sem breytir kóðinn minn 655 00:26:43,310 --> 00:26:48,770 inn, svo mótmæla kóða. 656 00:26:48,770 --> 00:26:51,270 0s og 1s, sem við sáum stuttlega í síðustu viku. 657 00:26:51,270 --> 00:26:53,700 Muna frá síðustu viku, lofa okkur að við vorum að fara að 658 00:26:53,700 --> 00:26:55,920 fara eitthvað eins og þetta - sem við þurftum að 659 00:26:55,920 --> 00:26:57,010 eitthvað eins og þetta - 660 00:26:57,010 --> 00:26:58,700 og þetta er svo sannarlega ekki eitthvað sem maður er að fara 661 00:26:58,700 --> 00:26:59,690 að gera handvirkt. 662 00:26:59,690 --> 00:27:01,980 Svo í stað þess að við erum að fara að nota forrit, og það forrit í 663 00:27:01,980 --> 00:27:03,430 þetta mál er kallað Clang. 664 00:27:03,430 --> 00:27:06,020 Og nafn program minn er hello.c. 665 00:27:06,020 --> 00:27:09,670 Svo í röð til að safna saman hello.c frá frumkóða til 666 00:27:09,670 --> 00:27:12,930 mótmæla kóða eða 0s og 1s, það ætti að duga bara að gera 667 00:27:12,930 --> 00:27:14,820 þetta og ýttu á Enter. 668 00:27:14,820 --> 00:27:16,850 >> Jæja, ekkert virðist hafa gerst. 669 00:27:16,850 --> 00:27:20,450 En ég veit nú, eða frá síðustu viku, að sjálfgefið nafn 670 00:27:20,450 --> 00:27:24,920 forrit, þegar skrifað í C, er heimsku kallað a.out. 671 00:27:24,920 --> 00:27:26,610 Flest uninteresting nafn sem þú getur komið upp með. 672 00:27:26,610 --> 00:27:28,790 A er fyrsti stafur stafrófsins, út er það var 673 00:27:28,790 --> 00:27:29,960 outputted, en svo vera það. 674 00:27:29,960 --> 00:27:33,570 Þetta er áætlun mín, og nú punktur rista, eins og við munum sjá, 675 00:27:33,570 --> 00:27:36,170 reyndar bara eins konar lögun öryggi, vegna þess að 676 00:27:36,170 --> 00:27:38,250 a.out er forrit sem ég skrifaði. 677 00:27:38,250 --> 00:27:39,650 Það kom ekki með tölvunni minni, það er 678 00:27:39,650 --> 00:27:40,790 ekki í Program Files. 679 00:27:40,790 --> 00:27:42,910 Það er ekki í möppunni Forrit Mac OS. 680 00:27:42,910 --> 00:27:45,740 Ég þarf að vera frábær skýr við tölvuna, segi og 681 00:27:45,740 --> 00:27:49,030 þetta forrit, a.out, er í núverandi möppu, 682 00:27:49,030 --> 00:27:50,260 núverandi möppu. 683 00:27:50,260 --> 00:27:53,160 Og hvernig þú ert í forsvari þess í umhverfi eins og þessu 684 00:27:53,160 --> 00:27:57,070 er punktur táknar hvað möppu sem þú ert nú inn 685 00:27:57,070 --> 00:27:59,420 Og svo. / Þýðir bara keyra a.out 686 00:27:59,420 --> 00:28:00,530 í núverandi möppu. 687 00:28:00,530 --> 00:28:04,830 Og ég hlaupa þetta með inn, og voila, mjög fyrstur program minn. 688 00:28:04,830 --> 00:28:05,990 >> Nú skulum mér að taka skref til baka. 689 00:28:05,990 --> 00:28:08,280 Þessi gluggi er svolítið lítill, og átta sig á því að botn 690 00:28:08,280 --> 00:28:10,340 vinstri á tækinu Hér er annað táknið. 691 00:28:10,340 --> 00:28:12,660 Einn er Króm, sem ætti að vera nokkuð kunnugt, bara vefur 692 00:28:12,660 --> 00:28:14,350 vafra inni í tækinu. 693 00:28:14,350 --> 00:28:16,340 Og þetta svart og hvítt tákn er bara 694 00:28:16,340 --> 00:28:17,720 stærri endastöðvar. 695 00:28:17,720 --> 00:28:19,830 Svo ef það fær smá pirrandi að svona bara 696 00:28:19,830 --> 00:28:22,270 þetta litla sneið af glugga sem á að hafa samskipti 697 00:28:22,270 --> 00:28:24,370 áætlunum, getum við í staðinn að gera þetta. 698 00:28:24,370 --> 00:28:26,640 Og nú langar mig að byrja að slá inn nokkrar fljótlega 699 00:28:26,640 --> 00:28:27,980 til að þekkja skipanir. 700 00:28:27,980 --> 00:28:28,900 LS. 701 00:28:28,900 --> 00:28:31,410 Svo er LS stjórn fyrir skráningu. 702 00:28:31,410 --> 00:28:33,900 Svo í Mac OS eða Windows, myndir þú yfirleitt tvísmella á 703 00:28:33,900 --> 00:28:36,510 möppu og þá voila, þú sjá allar mismunandi skrár 704 00:28:36,510 --> 00:28:37,210 og möppur. 705 00:28:37,210 --> 00:28:39,650 Í stjórn lína umhverfi, þar sem þú getur aðeins slá 706 00:28:39,650 --> 00:28:42,390 stjórn eða texta, LS jafngildir. 707 00:28:42,390 --> 00:28:44,380 Svo sýna mér hvað er í þessari skrá. 708 00:28:44,380 --> 00:28:46,540 >> Nú er það fullt af efni hér sem er bæði lítið 709 00:28:46,540 --> 00:28:48,190 þekki og svolítið framandi. 710 00:28:48,190 --> 00:28:50,740 En eftir því að rétt eins og Windows og Mac OS, jharvard 711 00:28:50,740 --> 00:28:52,190 hefur skrifborð mappa. 712 00:28:52,190 --> 00:28:54,520 Svo allir tákn sem eru á skjáborðinu mínu gerast 713 00:28:54,520 --> 00:28:55,650 að vera í þeirri möppu. 714 00:28:55,650 --> 00:28:57,250 There er a niðurhal möppu, efni sem 715 00:28:57,250 --> 00:28:58,890 Chrome gæti sett þarna. 716 00:28:58,890 --> 00:28:59,250 Dropbox. 717 00:28:59,250 --> 00:29:01,820 Svo kemur tækið með innbyggður-í styðja fyrir Dropbox 718 00:29:01,820 --> 00:29:04,500 þannig að yfir önnina, þú getur sync með Dropbox þinn 719 00:29:04,500 --> 00:29:06,420 tillit til þess að öll forrit eru studdur. 720 00:29:06,420 --> 00:29:08,050 Þær eru aðgengilegar á öðrum tölvunni þinni. 721 00:29:08,050 --> 00:29:09,780 Ef eitthvað alltaf fer úrskeiðis með tækinu er hægt að 722 00:29:09,780 --> 00:29:11,340 mjög auðveldlega batna frá Dropbox. 723 00:29:11,340 --> 00:29:12,940 Svo það er mappa þar fyrir það. 724 00:29:12,940 --> 00:29:14,660 Það er tvær skrár sem ég gerði - hello.c 725 00:29:14,660 --> 00:29:16,540 og a.out. 726 00:29:16,540 --> 00:29:18,530 Og síðan til hægri það er nokkrar aðrar möppur sem við munum 727 00:29:18,530 --> 00:29:20,710 fá til undir lok þeirrar annar, með vefnum 728 00:29:20,710 --> 00:29:21,540 forritun. 729 00:29:21,540 --> 00:29:26,160 Svo þegar ég geri. /, A.out, Enter, það er að segja fara 730 00:29:26,160 --> 00:29:29,460 í möppunni sem ég er í, í möppu og keyra 731 00:29:29,460 --> 00:29:32,465 forrit sem heitir a.out þarna. 732 00:29:32,465 --> 00:29:35,810 >> Allt í lagi, svo það var gaman og gott, en það er ekki allt sem 733 00:29:35,810 --> 00:29:38,550 sannfærandi til að skrifa forrit sem heitir hjálp a.out. 734 00:29:38,550 --> 00:29:40,790 Þannig að við getum í raun gert þetta öðruvísi lítið. 735 00:29:40,790 --> 00:29:43,980 Svo í stað þess að bara að keyra clang, hello.c, við skulum bæta 736 00:29:43,980 --> 00:29:46,850 hvað heitir a stjórn lína rifrildi. 737 00:29:46,850 --> 00:29:50,730 Svo er a stjórn lína rifrildi, eða skipta í þessu tilfelli, bara 738 00:29:50,730 --> 00:29:54,930 annað orð eða setningu sem þú skrifar á að hvetja eftir 739 00:29:54,930 --> 00:29:56,290 forritið sem þú vilt keyra. 740 00:29:56,290 --> 00:29:59,970 Svo í þessu tilfelli, clang er forrit sem ég vil að hlaupa,-o 741 00:29:59,970 --> 00:30:03,480 þýðir framleiðsla skrá sem er ekki lengur kallað a.out. 742 00:30:03,480 --> 00:30:07,510 Output a skrá sem heitir Halló, og gera það með því að setja saman í 743 00:30:07,510 --> 00:30:10,200 síðustu orð á línu, hello.c. 744 00:30:10,200 --> 00:30:13,200 Svo í stuttu máli, þetta er mjög lélegur framför, þar sem 745 00:30:13,200 --> 00:30:15,850 í stað þess að hafa þetta heimskulega sem heitir skrá a.out, 746 00:30:15,850 --> 00:30:21,430 Ég get nú gert clang-o halló, þá hello.c og 747 00:30:21,430 --> 00:30:22,530 þá Enter. 748 00:30:22,530 --> 00:30:25,510 Ekkert virðist gerast, en aftur mikið eins og með 0 - þegar 749 00:30:25,510 --> 00:30:28,510 ekkert virðist gerast sem þýðir að ekkert fór úrskeiðis - 750 00:30:28,510 --> 00:30:31,460 þannig að við skulum gera LS nú inn, og reyndar ég nú 751 00:30:31,460 --> 00:30:32,780 hafa hello program. 752 00:30:32,780 --> 00:30:38,510 Svo ef ég tegund Halló nú, stjórn fannst ekki. 753 00:30:38,510 --> 00:30:39,440 OK,. /. 754 00:30:39,440 --> 00:30:40,220 Svo nákvæmlega rétt. 755 00:30:40,220 --> 00:30:43,170 Svo vegna þess að þetta forrit sem ég skrifaði, og kom ekki með 756 00:30:43,170 --> 00:30:45,810 tölva,. / halló, Enter, þýðir 757 00:30:45,810 --> 00:30:47,350 Ég er nú í gangi halló. 758 00:30:47,350 --> 00:30:48,440 >> Svo er það það. 759 00:30:48,440 --> 00:30:51,070 Nú það sem við munum loksins fá að fleiri og fleiri stjórn lína 760 00:30:51,070 --> 00:30:54,110 Rökin sem leyfa okkur að gera meira, en bara fyrir þá að 761 00:30:54,110 --> 00:30:57,760 sem þetta gæti verið gamall hattur, láta mig fara í raun inn í a 762 00:30:57,760 --> 00:31:01,910 skrá hér og bara gefa þér beitu hversu annars við 763 00:31:01,910 --> 00:31:05,770 gæti farið um framkvæmd Halló heimur. 764 00:31:05,770 --> 00:31:10,730 Leyfðu mér að fara í hér, og ég ætla að opna hana. 765 00:31:10,730 --> 00:31:13,090 Svo í raun, ég ætla að útskýra það sem ég er að gera, þannig að 766 00:31:13,090 --> 00:31:15,610 Þetta er gagnlegt. 767 00:31:15,610 --> 00:31:17,410 Leyfðu mér aftur upp. 768 00:31:17,410 --> 00:31:19,620 >> Þannig að ég hef verið að gera þetta í langan tíma. 769 00:31:19,620 --> 00:31:23,030 Svo taka yfir á rétt það eru nokkrar af 770 00:31:23,030 --> 00:31:26,940 Möppur sem eru einkennilega heitir source1m og source1w. 771 00:31:26,940 --> 00:31:28,830 Þetta er bara kjánalegt venju við notum. 772 00:31:28,830 --> 00:31:31,825 Source þýðir bara kóðann, 1 þýðir þetta er viku einn og 773 00:31:31,825 --> 00:31:34,000 m þýðir að það er mánudagur, og w þýðir að það er miðvikudagur. 774 00:31:34,000 --> 00:31:34,900 Svo ekkert dulinn þar. 775 00:31:34,900 --> 00:31:37,830 Það er bara skammstöfun. 776 00:31:37,830 --> 00:31:39,860 Þessir bláu hlutir eru möppur, annars þekkt sem 777 00:31:39,860 --> 00:31:40,630 framkvæmdarstjóra. 778 00:31:40,630 --> 00:31:43,870 Ég vil fara inn í þeirri möppu núna, og á venjulegri tölvu 779 00:31:43,870 --> 00:31:45,710 Ég gæti bara tvöfaldur-smellur á möppu helgimynd og 780 00:31:45,710 --> 00:31:46,810 það er allar skrár mínar. 781 00:31:46,810 --> 00:31:49,270 En í a stjórn lína umhverfi, ég get ekki alveg gert 782 00:31:49,270 --> 00:31:52,640 að, svo í staðinn, ég hef til að breyta framkvæmdarstjóra handvirkt. 783 00:31:52,640 --> 00:31:57,900 Svo ef ég tegund geisladisk og þá source1m, Enter, eftir því að 784 00:31:57,900 --> 00:32:01,180 hvetja minn hlutur í hvítu til vinstri, bara breytt. 785 00:32:01,180 --> 00:32:03,690 Og svo reyndar, þegar hún sagði bara sviga og þá 786 00:32:03,690 --> 00:32:06,450 lítið squiggle er tilde tákn, það bara þýddi ég var 787 00:32:06,450 --> 00:32:08,800 í möppu heimili John Harvard er, skjöl hans mín, 788 00:32:08,800 --> 00:32:10,390 persónulega skrá hans. 789 00:32:10,390 --> 00:32:14,000 En nú í sviga segir ~ / source1m. 790 00:32:14,000 --> 00:32:17,090 Þetta þýðir bara að ég er í möppu sem heitir source1m 791 00:32:17,090 --> 00:32:19,160 það er í möppu heimili John Harvard er. 792 00:32:19,160 --> 00:32:22,030 Svo ef ég vil nú að skrá skrár í þessari möppu, auðvelt 793 00:32:22,030 --> 00:32:25,300 spurning að slá ég bara LS. 794 00:32:25,300 --> 00:32:28,860 Og nú sé ég allar skrárnar sem ég fyrirfram búið til er í dag 795 00:32:28,860 --> 00:32:31,020 fyrirlestur, sem öll, eða flest, sem gerst 796 00:32:31,020 --> 00:32:32,740 til að enda í. c. 797 00:32:32,740 --> 00:32:36,210 >> Svo láta mig fara á undan núna og hlaupa gedit af forriti sem kallast 798 00:32:36,210 --> 00:32:39,140 holloway.c, sem er skrifuð af einhverjum random spjallþráð 799 00:32:39,140 --> 00:32:42,920 á Netinu, sem lítur út svolítið eins og þetta. 800 00:32:42,920 --> 00:32:44,880 Og við erum ekki að fara að fara í gegnum þetta einn í einhverju 801 00:32:44,880 --> 00:32:48,530 smáatriði, en fyrir þá öruggari, einkum ef 802 00:32:48,530 --> 00:32:50,935 þú vilt taka giska á því hvað þetta forrit gerir hér. 803 00:32:57,950 --> 00:32:59,990 Hafðu engar áhyggjur, hvort sem þú ert minna eða öruggari, 804 00:32:59,990 --> 00:33:01,655 við erum ekki einu sinni að fá þessa tegund af hlutur í lok 805 00:33:01,655 --> 00:33:02,160 Þessa önn. 806 00:33:02,160 --> 00:33:05,390 Þetta er það sem er dæmi um obfuscated C keppni sem 807 00:33:05,390 --> 00:33:08,390 þýðir skrifa mest dulinn leita forrit sem þú hugsanlega 808 00:33:08,390 --> 00:33:10,820 hægt að outdo öðrum sviði fólk, sem álíka 809 00:33:10,820 --> 00:33:13,010 að reyna að skrifa það og láta sem þeir geta skrifað 810 00:33:13,010 --> 00:33:14,280 meira Cryptic hluti en þú. 811 00:33:14,280 --> 00:33:17,290 Þannig er þetta ekki dæmi um vel skrifað forritið úr 812 00:33:17,290 --> 00:33:21,260 sjónarhóli stíl, þetta er dæmi um forrit sem 813 00:33:21,260 --> 00:33:22,860 vinnur keppnina, fyrir fólk að reyna að 814 00:33:22,860 --> 00:33:24,090 vera óljós og óhlutbundin. 815 00:33:24,090 --> 00:33:27,670 >> Þannig að ef við hlaupa þetta, láta mig fara í Telnet minn, 816 00:33:27,670 --> 00:33:28,110 svo að segja. 817 00:33:28,110 --> 00:33:29,650 Svo þetta svart og hvítt umhverfi er kallað 818 00:33:29,650 --> 00:33:31,160 endastöðvar almennt. 819 00:33:31,160 --> 00:33:32,600 Leyfðu mér að fara á undan og þýða það. 820 00:33:32,600 --> 00:33:34,440 Ég ætla ekki að nota clang, því þetta forrit er 821 00:33:34,440 --> 00:33:36,340 lítið Cryptic og það þarf annað 822 00:33:36,340 --> 00:33:38,190 þýðanda, er einn hét GCC. 823 00:33:38,190 --> 00:33:39,200 En það er sama. 824 00:33:39,200 --> 00:33:41,130 Það tekur kóðann til að mótmæla kóða. 825 00:33:41,130 --> 00:33:43,940 Og nú ef ég keyrt a.out, að forrit sem þú 826 00:33:43,940 --> 00:33:46,065 bara sá er þetta. 827 00:33:49,220 --> 00:33:51,170 Svo að manni það ár vann þessi keppni. 828 00:33:51,170 --> 00:33:54,020 Einhvern veginn, við erum ekki að fara í þá átt, í sjálfu sér. 829 00:33:54,020 --> 00:33:57,400 >> Svo skulum raunverulega reyna að nú stríða sundur hvað við getum gert 830 00:33:57,400 --> 00:33:59,540 með þessum helstu kubbar til að gera meira og meira 831 00:33:59,540 --> 00:34:00,590 áhugavert forrit. 832 00:34:00,590 --> 00:34:02,800 Þannig að við höfum skrifað forrit, höfum við hlaupa a program. 833 00:34:02,800 --> 00:34:05,780 Nú getum við í raun einfalda og ekki lengur að skrifa 834 00:34:05,780 --> 00:34:07,210 orðið clang við áminningu. 835 00:34:07,210 --> 00:34:10,710 Það kemur í ljós eins og áætlanir okkar fá meira dulinn, við getum, eða 836 00:34:10,710 --> 00:34:14,699 flóknari heldur getum við í raun að keyra þessa skipun. 837 00:34:14,699 --> 00:34:17,610 Svo láta mig að fara aftur heim til skrá minn, svo að segja, láta mig 838 00:34:17,610 --> 00:34:20,750 fjarlægja - RM er Fjarlægja skipun - Ég er að fara að fjarlægja 839 00:34:20,750 --> 00:34:23,060 skráin heitir a.out og halló. 840 00:34:23,060 --> 00:34:25,489 Og nú eftir í stjórn lína umhverfi, líkt og í 841 00:34:25,489 --> 00:34:27,800 GUI, fá beðið. Ég get ekki smellt á hnappinn þó, ég 842 00:34:27,800 --> 00:34:31,040 að slá Y fyrir já, y fyrir já. 843 00:34:31,040 --> 00:34:33,460 Og nú ef ég tegund LS aftur, eftir að þeir grænu 844 00:34:33,460 --> 00:34:35,469 forrit - a.out og halló - 845 00:34:35,469 --> 00:34:35,734 eru farin. 846 00:34:35,734 --> 00:34:37,340 Varist RM. 847 00:34:37,340 --> 00:34:39,739 Það er hægt að gera slæma hluti, rétt eins og þú getur með því að draga 848 00:34:39,739 --> 00:34:40,810 það í ruslið. 849 00:34:40,810 --> 00:34:43,989 >> Svo nú skulum við fara á undan - og ég gæti gert þetta - clang-o 850 00:34:43,989 --> 00:34:45,139 Halló, halló - 851 00:34:45,139 --> 00:34:46,884 Ég er nú þegar leiðist að slá inn skipunina. 852 00:34:46,884 --> 00:34:48,080 Jafnvel þótt ég slegið það svolítið fljótt. 853 00:34:48,080 --> 00:34:51,870 Þannig að við getum í staðinn gera það halló. 854 00:34:51,870 --> 00:34:53,880 Svo er þýðanda ekki. 855 00:34:53,880 --> 00:34:57,720 Það er bara vingjarnlegur forrit sem kemur með Linux, í þessu 856 00:34:57,720 --> 00:34:59,070 mál - stýrikerfið - 857 00:34:59,070 --> 00:35:02,480 sem gera sjálfvirkan the aðferð af gerð forrit. 858 00:35:02,480 --> 00:35:05,555 Svo í stað þess að muna clang-o filename og 859 00:35:05,555 --> 00:35:08,190 þá svo framvegis, sérstaklega þegar þær línur fá lengri og 860 00:35:08,190 --> 00:35:10,110 lengur, ég get bara skrifa gera. 861 00:35:10,110 --> 00:35:12,030 Og þetta er að fara að spýta út a heild búnt af efni sem 862 00:35:12,030 --> 00:35:13,940 Við munum að lokum sjá þessa önn. 863 00:35:13,940 --> 00:35:17,500 En taka nú ef ég tegund LS, halló er aftur á skrá minn. 864 00:35:17,500 --> 00:35:19,850 Og vissulega get ég keyrt það með. / Halló. 865 00:35:19,850 --> 00:35:23,330 Svo bara gera sjálfvirkan the aðferð að keyra það var, 866 00:35:23,330 --> 00:35:26,910 í þessu tilviki, mun lengri, flóknari stjórn. 867 00:35:26,910 --> 00:35:29,060 Þannig að við erum að fara að byrja að nota gera, bara vegna þess að það er mikið 868 00:35:29,060 --> 00:35:30,530 meira notendavænt. 869 00:35:30,530 --> 00:35:32,770 >> En nú skulum við gera meira áhugavert forrit 870 00:35:32,770 --> 00:35:34,650 en að segja bara halló. 871 00:35:34,650 --> 00:35:38,680 Svo í áætlunum sem við höfum skrifað svona langt það helsta. 872 00:35:38,680 --> 00:35:40,890 Það er bara sjálfgefið hlutur að ánægja allt burt. 873 00:35:40,890 --> 00:35:43,340 En það eru aðrar aðgerðir út there eins og heilbrigður, og 874 00:35:43,340 --> 00:35:45,890 stdio.h er hlutur sem við sáum efst OKKAR 875 00:35:45,890 --> 00:35:48,480 skrá áður, og það er það sem er þekktur eins og the staðall bókasafn. 876 00:35:48,480 --> 00:35:51,300 Inni á venjulegu bókasafni er allt fullt af störfum 877 00:35:51,300 --> 00:35:53,850 að einhver annar skrifaði, og við getum byrjað að nota þessar 878 00:35:53,850 --> 00:35:55,050 aðgerðir til að skrifa meira 879 00:35:55,050 --> 00:35:56,760 áhugavert forrit sjálf. 880 00:35:56,760 --> 00:35:58,370 >> Svo láta mig fara aftur á tækið. 881 00:35:58,370 --> 00:35:59,820 Ég ætla að loka þessum endastöðvar. 882 00:35:59,820 --> 00:36:02,630 Ég ætla að loka það sem við skrifuðum áðan, og bara fara 883 00:36:02,630 --> 00:36:07,350 í hello.c, og taka nú get ég gert eftirfarandi. 884 00:36:07,350 --> 00:36:09,730 Halló heimur er ekki allt sem áhugavert, ég vil 885 00:36:09,730 --> 00:36:11,770 sérsníða þetta forrit fyrir mig. 886 00:36:11,770 --> 00:36:13,440 Svo í stað þess að segja heim, ég ætla að 887 00:36:13,440 --> 00:36:14,830 fara á undan og segja - 888 00:36:14,830 --> 00:36:16,880 Ég gæti slegið Davíð - en þetta er í raun tegund af 889 00:36:16,880 --> 00:36:18,050 grundvallaratriðum þau sömu. 890 00:36:18,050 --> 00:36:19,970 En við skulum prófa þetta staðgenglinum hugmynd. 891 00:36:19,970 --> 00:36:24,460 Muna að í C, frekar í printf, við höfðum þetta 892 00:36:24,460 --> 00:36:28,110 staðgengla, og það eru fleiri en bara% d. 893 00:36:28,110 --> 00:36:31,150 Svo% D var fljótur geðheilbrigði stöðva. 894 00:36:31,150 --> 00:36:32,310 Jæja, heiltala, það er það. 895 00:36:32,310 --> 00:36:33,860 Tölustafir, það er allt. 896 00:36:33,860 --> 00:36:37,755 Svo C%, eins og við verður fundur, er að fara að vera persóna. 897 00:36:37,755 --> 00:36:40,530 Settu persónu hér, bréf a um z, 898 00:36:40,530 --> 00:36:41,600 eða greinarmerki tákn. 899 00:36:41,600 --> 00:36:45,590 A einn staf,% f, einhver veit af öðrum tungumálum? 900 00:36:45,590 --> 00:36:47,020 Svo Fleytitölugildi. 901 00:36:47,020 --> 00:36:47,880 A rauntala. 902 00:36:47,880 --> 00:36:51,550 Svo ekki heiltala - þetta er í raun alvöru tala við 903 00:36:51,550 --> 00:36:54,130 kommu og sumir talna til vinstri 904 00:36:54,130 --> 00:36:55,520 og rétt um það. 905 00:36:55,520 --> 00:36:58,060 % S, band. 906 00:36:58,060 --> 00:36:59,530 Það sem við erum að fara að sjá mjög oft. 907 00:36:59,530 --> 00:37:02,140 A band, aftur, er bara orð, orðasamband, röð 908 00:37:02,140 --> 00:37:03,330 einstakra stafir. 909 00:37:03,330 --> 00:37:06,730 Og loks, LLD? 910 00:37:06,730 --> 00:37:08,210 Svo er þetta meira um horn að ræða. 911 00:37:08,210 --> 00:37:09,850 Langan aukastaf. 912 00:37:09,850 --> 00:37:12,035 Svo ef þú vilt ekki bara tala sem er það stór, þú 913 00:37:12,035 --> 00:37:14,160 vilja stærri tala, þú ert að fara að þurfa að tilgreina að 914 00:37:14,160 --> 00:37:16,400 tölvan að það er af tiltekinni stærð. 915 00:37:16,400 --> 00:37:17,610 >> Svo skulum klip þetta svolítið. 916 00:37:17,610 --> 00:37:20,610 Frekar en bara erfitt kóða í Davíð, láttu mig örlítið 917 00:37:20,610 --> 00:37:22,460 dynamically segja% s. 918 00:37:22,460 --> 00:37:25,790 Svo setja% s hér, sem er tákn fyrir streng. 919 00:37:25,790 --> 00:37:30,500 Þá láta mig gera kommu, og svo "Davíð" yfir hér. 920 00:37:30,500 --> 00:37:32,770 Nú er þetta ekki allt sem vitsmunalega áhugavert, 921 00:37:32,770 --> 00:37:35,060 því allt sem ég hef gert nú er í raun að búa til meiri vinnu fyrir 922 00:37:35,060 --> 00:37:35,790 í tölvunni. 923 00:37:35,790 --> 00:37:39,660 Frekar en að segja tölvunni að gera þetta allt í einu, ég er nú 924 00:37:39,660 --> 00:37:43,760 segja að gera þetta og setja band hér að lokum, kommu, 925 00:37:43,760 --> 00:37:44,950 hér er þessi strengur. 926 00:37:44,950 --> 00:37:47,220 Svo er þetta ekki betri framför, en það er að minnsta kosti 927 00:37:47,220 --> 00:37:49,010 skref í átt að meira áhugaverður program. 928 00:37:49,010 --> 00:37:51,240 Því nú, láta mig fara á undan og gera þessum glugga smá 929 00:37:51,240 --> 00:37:56,850 stærri, láta mig fara á undan og keyra að heilsa. 930 00:37:56,850 --> 00:38:01,340 Og nú,. / A.out er ekki að virka, af hverju? 931 00:38:03,880 --> 00:38:05,570 Allt í lagi, nú er kallað halló. 932 00:38:05,570 --> 00:38:09,400 Svo aftur að gera, og einnig clang með-o, nafnið 933 00:38:09,400 --> 00:38:11,120 forrit til að vera eitthvað meira áhugavert. 934 00:38:11,120 --> 00:38:13,060 Og voila: nú segir Halló David. 935 00:38:13,060 --> 00:38:14,590 >> Allt í lagi, samt heimskulegt program. 936 00:38:14,590 --> 00:38:18,070 Svo nú skulum raunverulega fara aftur hingað og kynna hugmyndina 937 00:38:18,070 --> 00:38:18,810 á breytu. 938 00:38:18,810 --> 00:38:21,600 Væri ekki gott ef ég gæti lýsa breytu 939 00:38:21,600 --> 00:38:23,150 sem gerð er band? 940 00:38:23,150 --> 00:38:26,720 Og gildi breytan kemur í raun frá notanda 941 00:38:26,720 --> 00:38:27,810 hann eða hún sjálf. 942 00:38:27,810 --> 00:38:30,240 Svo geðþótta, ég ætla að hringja í breytilega s minn, sem er 943 00:38:30,240 --> 00:38:32,410 bara algengt venju þegar þú átt eina breytu sem heitir 944 00:38:32,410 --> 00:38:33,250 band. 945 00:38:33,250 --> 00:38:35,670 Ég ætla að gera sömu merki, og þá ætla ég að hringja í 946 00:38:35,670 --> 00:38:38,030 virka kallast GetString. 947 00:38:38,030 --> 00:38:40,830 Svo er GetString ekki eitthvað sem kemur innbyggður í C. Það er 948 00:38:40,830 --> 00:38:43,330 fall sem CS50 starfsfólk skrifaði, í raun bara til 949 00:38:43,330 --> 00:38:45,670 Þessar fyrstu tvær vikur, til að einfalda ferlið 950 00:38:45,670 --> 00:38:49,450 fá notandi inntak og ná notandi inntak í formi 951 00:38:49,450 --> 00:38:51,960 af strengjum, eða númer, og svo. 952 00:38:51,960 --> 00:38:55,520 Svo er GetString eins printf, en vitanlega frekar en 953 00:38:55,520 --> 00:38:58,700 prenta það er að fara að gera það sem nafnið segir, fá band. 954 00:38:58,700 --> 00:39:00,970 En til að nota GetString, við erum að fara til verða að gera breytingu 955 00:39:00,970 --> 00:39:03,180 hér út úr þessu. 956 00:39:03,180 --> 00:39:07,170 Svo innsæi, this program, vonandi, er að fara í einhvern veginn 957 00:39:07,170 --> 00:39:09,700 fá band frá notanda, og þá hvað það er að fara að gera 958 00:39:09,700 --> 00:39:11,460 með því að band, sem heitir s? 959 00:39:15,060 --> 00:39:16,470 Það er bara að fara að prenta það, ekki satt? 960 00:39:16,470 --> 00:39:18,870 Enn ekki hvetjandi forrit þar sem allar það er að fara 961 00:39:18,870 --> 00:39:22,160 að gera er að stinga í því gildi í sem% s 962 00:39:22,160 --> 00:39:23,750 segir að það ætti að fara. 963 00:39:23,750 --> 00:39:25,290 >> Þannig að við skulum að minnsta kosti sjá það í aðgerð. 964 00:39:25,290 --> 00:39:27,040 Leyfðu mér að spara og minnka. 965 00:39:27,040 --> 00:39:30,280 Nú í Telnet minn hérna, lítil sneið af einn, 966 00:39:30,280 --> 00:39:32,760 láta mig gera aftur að heilsa. 967 00:39:32,760 --> 00:39:35,160 Jæja, og Ah, fjandinn, ég fékk helling af villum. 968 00:39:35,160 --> 00:39:38,020 Leyfðu mér að fletta upp, og við sjáum fyrst okkar - 969 00:39:38,020 --> 00:39:40,430 þannig að við skulum í raun gera þetta í enn stærri glugga þannig að þú 970 00:39:40,430 --> 00:39:42,110 má sjá hversu illa ég ruglaður upp - 971 00:39:42,110 --> 00:39:44,460 svo að heilsa. 972 00:39:44,460 --> 00:39:46,540 Jæja, það er hörmung, ekki satt? 973 00:39:46,540 --> 00:39:48,740 Ég hef skrifað þrjár línur af kóða og 974 00:39:48,740 --> 00:39:50,070 það er gefið mér 12 villur. 975 00:39:50,070 --> 00:39:51,980 Svo hvers vegna er þetta? 976 00:39:51,980 --> 00:39:55,720 Svo sem betur fer, oftsinnis þegar þú sérð margar, margar villur 977 00:39:55,720 --> 00:39:57,730 spúandi á einu, það er í raun bara vegna þess að þú hefur 978 00:39:57,730 --> 00:39:59,760 rugla tölvuna upp hér. 979 00:39:59,760 --> 00:40:02,330 Og það er enn ruglað saman við þann tíma sem það gerist hérna. 980 00:40:02,330 --> 00:40:04,400 Og svo fer það bara tripping og hrasa, og 981 00:40:04,400 --> 00:40:07,310 spúandi fleiri skelfilegur efni en raun gildir. 982 00:40:07,310 --> 00:40:10,120 Svo almennt, alltaf að byrja með the toppur einn. 983 00:40:10,120 --> 00:40:13,320 >> Svo mjög toppur mest dæmi af rauðum, sem 984 00:40:13,320 --> 00:40:14,740 villuboð er þetta. 985 00:40:14,740 --> 00:40:17,750 Notkun undeclared auðkenni band, gerði ég 986 00:40:17,750 --> 00:40:19,160 meina staðall í? 987 00:40:19,160 --> 00:40:19,900 Ég gerði það ekki. 988 00:40:19,900 --> 00:40:24,180 Ég ætlaði band, en þetta er vegna þess líka, að orðið band 989 00:40:24,180 --> 00:40:26,020 að ég halda áfram að nota munnlega raun 990 00:40:26,020 --> 00:40:27,240 er ekki til í C báðum. 991 00:40:27,240 --> 00:40:29,470 Það er eitthvað sem við munum nota bara fyrstu vikuna eða tvær 992 00:40:29,470 --> 00:40:34,500 hér, en það er í skrá sem kallast cs50.h. 993 00:40:34,500 --> 00:40:37,110 Svo að nú, veit að það er þetta önnur bókasafn sem 994 00:40:37,110 --> 00:40:39,330 starfsfólk skrifaði, þannig að það hefur verið skrifað nýlega en 995 00:40:39,330 --> 00:40:40,510 stdio.h. 996 00:40:40,510 --> 00:40:45,020 En fyrir innan cs50.h er skilgreining, sem samheiti 997 00:40:45,020 --> 00:40:48,310 konar, sem skapar þetta orð band. 998 00:40:48,310 --> 00:40:50,890 >> Svo nú láta mig fara aftur í flugstöðinni glugga minn. 999 00:40:50,890 --> 00:40:53,200 Ég ætla að hreinsa þetta allt óreiðu með Ctrl-L. Við verðum bara 1000 00:40:53,200 --> 00:40:55,700 þurrka allt hreint, og ég ætla að halda áfram og gera 1001 00:40:55,700 --> 00:40:57,860 Halló aftur, Enter. 1002 00:40:57,860 --> 00:40:59,440 Og hvað hefur gerst núna? 1003 00:40:59,440 --> 00:41:01,150 Nú allar þessar villur fór burt. 1004 00:41:01,150 --> 00:41:02,230 Svo hvað hef ég gert í raun? 1005 00:41:02,230 --> 00:41:05,920 Ég hef bara kennt tölvu sem strengur er til, og það er 1006 00:41:05,920 --> 00:41:07,890 í þeirri skrá sem heitir cs50.h. 1007 00:41:07,890 --> 00:41:10,930 Svo hætta að kvarta, því nú þú veist hvar á að finna 1008 00:41:10,930 --> 00:41:13,220 yfirlýsing sem virka þannig að orði komast. 1009 00:41:13,220 --> 00:41:15,200 Ef það er til staðar í heiminum. 1010 00:41:15,200 --> 00:41:18,820 >> Svo nú er ég að fara á undan og keyra halló. 1011 00:41:18,820 --> 00:41:22,300 Ég virðist hafa óendanlega lykkju, gerist ekkert er. 1012 00:41:25,530 --> 00:41:26,870 Þannig að ég þarf að slá eitthvað hér, rétt. 1013 00:41:26,870 --> 00:41:29,650 Fyrsta lína af kóða í forritinu mínu var GetString. 1014 00:41:29,650 --> 00:41:31,750 Svo það er bókstaflega bíða eftir mér til að fá band. 1015 00:41:31,750 --> 00:41:33,680 Svo í þeim skilningi já, það er óendanlega lykkju. 1016 00:41:33,680 --> 00:41:36,520 Apparently er GetString sjálfgefin hegðun sem við 1017 00:41:36,520 --> 00:41:37,510 skrifaði - og starfsfólk - 1018 00:41:37,510 --> 00:41:39,550 sem segir bara að bíða og bíða og bíða og bíða og bíða, 1019 00:41:39,550 --> 00:41:42,550 þar til notandinn gefur þér band með því að slá eitthvað tommur 1020 00:41:42,550 --> 00:41:46,000 Svo láta mig fara á undan og tegund í D-a-V - i-D, Enter. 1021 00:41:46,000 --> 00:41:47,420 Og það er það, Hello David. 1022 00:41:47,420 --> 00:41:50,430 >> Nú þýðir þetta virðist eins og það er bara athöfn? 1023 00:41:50,430 --> 00:41:52,810 Leyfðu mér að fara á undan og tegund í Tommy. 1024 00:41:52,810 --> 00:41:54,740 Sláðu inn, allt í lagi, virðist vera að vinna. 1025 00:41:54,740 --> 00:41:59,130 Verk fyrir Rob, virkar fyrir Zamyla, virkar fyrir - allt í lagi. 1026 00:41:59,130 --> 00:42:01,000 Svo það er að fara að vinna, líklega. 1027 00:42:01,000 --> 00:42:05,030 Svo það ætti að prenta út allt sem við gefum í raun það, 1028 00:42:05,030 --> 00:42:07,830 og við getum verið svolítið erfitt hér. 1029 00:42:07,830 --> 00:42:12,130 Við skulum sjá hvort við gerum eitthvað eins og Hello. 1030 00:42:12,130 --> 00:42:18,000 Getur farið hérna, við skulum sjá, afrita, líma. 1031 00:42:18,000 --> 00:42:19,950 Ég ætla ekki að fara að vera fær um að líma það oft hér. 1032 00:42:19,950 --> 00:42:24,410 Líma, allt í lagi, Shift + Ctrl + V. Svo það gæti 1033 00:42:24,410 --> 00:42:26,970 gerast það er slæmt hér? 1034 00:42:26,970 --> 00:42:27,770 >> Jæja, svo segfaults. 1035 00:42:27,770 --> 00:42:29,710 Svo sumir af þú með fyrri bakgrunn vilja vita að 1036 00:42:29,710 --> 00:42:32,710 almennt, gefa tölvum fullt af aðföngum þegar þeir eru 1037 00:42:32,710 --> 00:42:36,140 sennilega ekki ætlað að fá löng nöfn eins og þetta - Bad 1038 00:42:36,140 --> 00:42:36,740 hlutir gerast. 1039 00:42:36,740 --> 00:42:39,230 Reyndar, í heimi vefnum líka, þetta gerist töluvert, 1040 00:42:39,230 --> 00:42:41,000 þannig þegar þú ert að hanna vefsíðu, þegar þú ert 1041 00:42:41,000 --> 00:42:43,850 hanna Facebook, þú þarft að gera handahófi ákvarðanir upp 1042 00:42:43,850 --> 00:42:45,370 framan, eins og hversu lengi mun einhver 1043 00:42:45,370 --> 00:42:46,360 Facebook notandanafn vera? 1044 00:42:46,360 --> 00:42:48,050 Eða hversu lengi munu fyrst nafn einhvers vera? 1045 00:42:48,050 --> 00:42:50,110 Hversu lengi mun símanúmer einhver vera og þess háttar. 1046 00:42:50,110 --> 00:42:53,580 Og ef forritarar gera slæma forsendum brjóta forrit 1047 00:42:53,580 --> 00:42:56,640 vegna þess að þú reynir að gefa þeim meiri framleiðsla, meiri inntak 1048 00:42:56,640 --> 00:42:58,330 frekar, en þeir hafa minni. 1049 00:42:58,330 --> 00:43:01,860 Eða RAM úthlutað fyrir það, og svo ef ég nú Enter, 1050 00:43:01,860 --> 00:43:04,640 þessi áætlun gekk reyndar, vegna þess að við vorum á safninu 1051 00:43:04,640 --> 00:43:06,790 og við gerðum ráð fyrir í raun þetta tiltekna mál. 1052 00:43:06,790 --> 00:43:10,900 En án efa þessi önn verður þú að skrifa að minnsta kosti eitt 1053 00:43:10,900 --> 00:43:13,280 forrit sem mun segja þessi orð. 1054 00:43:13,280 --> 00:43:16,520 Mundu þetta vikur frá núna, kannski tvo daga. 1055 00:43:16,520 --> 00:43:18,760 Skiptingu kenna er a slæmur hlutur. 1056 00:43:18,760 --> 00:43:21,920 Það mun eiga við að gera eitthvað þinn sem tölva 1057 00:43:21,920 --> 00:43:23,310 gerði ekki ráð fyrir. 1058 00:43:23,310 --> 00:43:25,810 Og í því tilviki, þú sem forritari, gerði ekki ráð fyrir. 1059 00:43:25,810 --> 00:43:27,720 Líkt og hvað þessi stafli af sokkum, það voru ýmsar 1060 00:43:27,720 --> 00:43:29,520 horn tilvikum gætum við hafa komið upp. 1061 00:43:29,520 --> 00:43:32,340 Sama hátt í verkefnum ef þú von á ekki hversu lengi er 1062 00:43:32,340 --> 00:43:33,310 nafn einhvers að fara að vera. 1063 00:43:33,310 --> 00:43:35,890 Eða hvað ef ég hafa a illgjarn notandi, og nafn hans eða hennar er 1064 00:43:35,890 --> 00:43:37,230 reyndar mjög stutt, en þeir eru bara að reyna 1065 00:43:37,230 --> 00:43:37,960 að skipta við mig? 1066 00:43:37,960 --> 00:43:40,490 Hvað er að fara að vera hegðun program minn? 1067 00:43:40,490 --> 00:43:43,930 Jæja, í því tilviki, eitthvað gæti í raun hrun. 1068 00:43:43,930 --> 00:43:44,750 >> Svo skulum gera þetta. 1069 00:43:44,750 --> 00:43:46,860 Í 90 mínútur er ansi langur tími 1070 00:43:46,860 --> 00:43:47,780 að gera tölvunarfræði. 1071 00:43:47,780 --> 00:43:49,550 Hvers vegna eigum við ekki að komast í vana að taka fimm mínútna 1072 00:43:49,550 --> 00:43:51,520 brjóta hér, og þegar við komum til baka, munum við kafa í sumar 1073 00:43:51,520 --> 00:43:53,430 flóknari og sannfærandi forrit? 1074 00:43:53,430 --> 00:43:54,680 Fimm mínútur. 1075 00:43:56,910 --> 00:43:58,160 >> Allt í lagi. 1076 00:44:01,138 --> 00:44:02,780 Svo einn fljótur athugasemd. 1077 00:44:02,780 --> 00:44:05,590 Mér er sagt að þótt þetta væri á skjánum áður, hvað 1078 00:44:05,590 --> 00:44:08,880 kom út af munni mínum var cs50.net/rsvp. 1079 00:44:08,880 --> 00:44:11,670 Þetta er rétt. cs50.net/lunch. 1080 00:44:11,670 --> 00:44:16,030 Svo nú þú geta reyna RSVPing fyrir þetta á / hádegismat. 1081 00:44:16,030 --> 00:44:16,980 En við skulum gera þetta núna. 1082 00:44:16,980 --> 00:44:20,150 Þannig að þetta hefur verið frábær fljótur, frábær ný fyrir a einhver fjöldi af fólkinu. 1083 00:44:20,150 --> 00:44:21,560 Old húfu fyrir sumir gott fólk. 1084 00:44:21,560 --> 00:44:24,930 Svo skulum baka fyrir réttlátur a augnablik, og sjá hvernig við komum til 1085 00:44:24,930 --> 00:44:29,350 þetta Halló heimur framleiðsla bara í smá stund síðan. 1086 00:44:29,350 --> 00:44:31,780 >> Svo fyrst það er þetta CS50 Appliance. 1087 00:44:31,780 --> 00:44:34,270 Aftur, stykki af hugbúnaður, vandamál setja 1 er að fara að segja 1088 00:44:34,270 --> 00:44:36,610 þér hvernig á að sækja það, hvar á að sækja það, hvað á að smella á 1089 00:44:36,610 --> 00:44:37,430 og svo framvegis. 1090 00:44:37,430 --> 00:44:39,670 Og svo þegar þú fylgir þessum leiðbeiningum, þú munt vera fær um 1091 00:44:39,670 --> 00:44:42,840 að hámarka gluggann, og Mac eða PC mun líta 1092 00:44:42,840 --> 00:44:43,910 lítið eitthvað svona. 1093 00:44:43,910 --> 00:44:47,170 A svartur bakgrunnur, heimili mappa efst þar sem allir 1094 00:44:47,170 --> 00:44:49,850 skrár fara, a ruslakarfa efst til vinstri, 1095 00:44:49,850 --> 00:44:51,130 valmyndinni neðst. 1096 00:44:51,130 --> 00:44:54,010 Svo aftur, nokkuð svipuð í anda á Mac OS eða Windows, 1097 00:44:54,010 --> 00:44:56,040 jafnvel þó að það gerist að Linux. 1098 00:44:56,040 --> 00:44:58,120 Og hvað gerði við gera næst? 1099 00:44:58,120 --> 00:44:59,580 Jæja, við byrjuðum á að skrifa forrit. 1100 00:44:59,580 --> 00:45:02,260 Og muna frá síðustu viku að allt sem það tekur að skrifa 1101 00:45:02,260 --> 00:45:04,970 program er einfaldur texti ritstjóri, 1102 00:45:04,970 --> 00:45:06,550 eins og Notepad eða TextEdit. 1103 00:45:06,550 --> 00:45:08,360 Frankly, getur þú líka notað Microsoft Word. 1104 00:45:08,360 --> 00:45:11,170 En slæmur hlutur mun að lokum gerast, því það er mjög 1105 00:45:11,170 --> 00:45:13,930 þungur-hönd lausn til að skrifa forrit, auk það mun 1106 00:45:13,930 --> 00:45:15,400 vista það í rangur skrá snið. 1107 00:45:15,400 --> 00:45:18,150 En það er bara texti ritstjóri, ritvinnsluforrit, er allt sem er 1108 00:45:18,150 --> 00:45:19,390 þarf að skrifa forrit. 1109 00:45:19,390 --> 00:45:23,420 >> Svo í CS50 Appliance, getum við gert þetta í einn einfaldan hátt. 1110 00:45:23,420 --> 00:45:25,580 Við getum bara smellt á þetta tákn á vinstri neðst. 1111 00:45:25,580 --> 00:45:28,790 Og aftur, vandamál setja 1 mun ráðleggja þér um þetta, og voila - 1112 00:45:28,790 --> 00:45:31,210 þú færð þetta svart og hvítt tengi sem við getum byrjað 1113 00:45:31,210 --> 00:45:32,160 skrifa kóðann. 1114 00:45:32,160 --> 00:45:34,960 Svo skulum byrja að skrifa frábær einfalt forrit aftur. 1115 00:45:34,960 --> 00:45:38,890 Ég ætla að fara upp til að skrá, vista, og ég ætla að hringja 1116 00:45:38,890 --> 00:45:42,870 þetta, við skulum segja, hello2.c. 1117 00:45:42,870 --> 00:45:45,410 Og ég er bara að segja það með því að smella á jharvard, setja það 1118 00:45:45,410 --> 00:45:46,750 í möppu heimili sínu, ég er ekki alveg sama 1119 00:45:46,750 --> 00:45:47,980 þar sem maður fer. 1120 00:45:47,980 --> 00:45:49,090 Og svo Vista. 1121 00:45:49,090 --> 00:45:50,880 Og nú get ég byrjað að skrifa forritið mitt. 1122 00:45:50,880 --> 00:45:53,560 Og ég minnist frá áðan að ég þarf að skrifa int 1123 00:45:53,560 --> 00:45:55,400 Helstu (ógilt). 1124 00:45:55,400 --> 00:45:57,000 Zoom í á vinstri efst. 1125 00:45:57,000 --> 00:46:02,670 Og þá vil ég segja printf, taka tvö. 1126 00:46:02,670 --> 00:46:05,690 Og nú newline, loka tilvitnun, loka 1127 00:46:05,690 --> 00:46:07,820 sviga, semíkommu. 1128 00:46:07,820 --> 00:46:10,560 Og þá fer ég niður á flugstöðinni gluggann minn sem er 1129 00:46:10,560 --> 00:46:12,840 fellt í gedit, bara fyrir þægindi. 1130 00:46:12,840 --> 00:46:15,200 Og ég ætla að halda áfram og skrifa gera halló, en ekki 1131 00:46:15,200 --> 00:46:17,500 Halló einn, hello2. 1132 00:46:17,500 --> 00:46:20,490 >> Svo skrá minn heitir hello2.c. Skrá minn því 1133 00:46:20,490 --> 00:46:23,510 ætti að vera kölluð hello2, í þessu tilfelli. 1134 00:46:23,510 --> 00:46:26,490 Dammit, hvað gerði ég rangt? 1135 00:46:26,490 --> 00:46:29,490 Allt í lagi, þannig að ég sleppt greinilega línu, ef þú manst það 1136 00:46:29,490 --> 00:46:31,020 fyrri áætlanir líta út. 1137 00:46:31,020 --> 00:46:32,480 En við skulum sjá hvort við getum ekki stríða í sundur. 1138 00:46:32,480 --> 00:46:35,310 Því miður, flestir sem skrifa forrit sem 1139 00:46:35,310 --> 00:46:38,820 við að skrifa forrit gera einfalda ekki hlutina allt sem vel. 1140 00:46:38,820 --> 00:46:41,520 Þannig að við verðum að konar Lögð yfir hvað er ekki alveg að gera 1141 00:46:41,520 --> 00:46:44,050 skynjað hér og sjá hvort við getum fundið út hvað er rangt. 1142 00:46:44,050 --> 00:46:46,700 The mjög fyrstur lína þar segir óbeint lýsa C 1143 00:46:46,700 --> 00:46:49,310 bókasafn virka printf með int. 1144 00:46:49,310 --> 00:46:51,210 OK, skildi ég hluti af því. 1145 00:46:51,210 --> 00:46:54,570 En það virðist vera að alluding til þess að ég notaði printf 1146 00:46:54,570 --> 00:46:55,700 rangt, einhvern veginn. 1147 00:46:55,700 --> 00:46:56,930 Og hvaða vit er það rangt? 1148 00:46:56,930 --> 00:46:59,970 Ég bara ekki að kenna tölvunni að það er í skrá 1149 00:46:59,970 --> 00:47:01,420 kallað stdio.h. 1150 00:47:01,420 --> 00:47:04,120 Nú hef ég aðeins bara að leggja á minnið nú að printf er 1151 00:47:04,120 --> 00:47:06,540 í stdio.h, og raunar það verður önnur 1152 00:47:06,540 --> 00:47:08,900 aðgerðir í því sama skrá sem mun fá við að venjast. 1153 00:47:08,900 --> 00:47:12,490 >> Svo nú langar mig að fara á undan og högg Ctrl-L bara ljóst að 1154 00:47:12,490 --> 00:47:16,050 burtu, endursýning gera hello2, og voila. 1155 00:47:16,050 --> 00:47:19,490 Og þessa skipun aftur, flóknari en við munum útskýra fyrir 1156 00:47:19,490 --> 00:47:20,520 tilgangi í dag. 1157 00:47:20,520 --> 00:47:23,570 En það var keyrt clang og clang tekur kóðann og 1158 00:47:23,570 --> 00:47:24,870 spits út 0s og 1s. 1159 00:47:24,870 --> 00:47:28,610 Og þeir 0s og 1s í þessu tilfelli eru kallaðir það? 1160 00:47:28,610 --> 00:47:29,470 Jæja, mótmæla kóða. 1161 00:47:29,470 --> 00:47:32,210 Og skrá sem þeir eru í er kallað, svo, 1162 00:47:32,210 --> 00:47:33,820 hello2, í þessu tilfelli. 1163 00:47:33,820 --> 00:47:37,040 Þar textaskrá minn var hello2.c, Enter. 1164 00:47:37,040 --> 00:47:39,820 Og nú hef ég tekið tvö upphrópunarmerki, upphrópun 1165 00:47:39,820 --> 00:47:41,880 punktur, upphrópunarmerki. 1166 00:47:41,880 --> 00:47:45,430 Allt í lagi, þannig að við höfum nú getu til að fá strengi, 1167 00:47:45,430 --> 00:47:46,280 virðist. 1168 00:47:46,280 --> 00:47:48,190 Jæja, hvað annað getum við fengið frá notendum? 1169 00:47:48,190 --> 00:47:51,010 >> Jæja í CS50 bókasafninu, það er aðrar aðgerðir sem 1170 00:47:51,010 --> 00:47:53,300 eru að fara að einfalda líf okkar á þessum fyrstu dögum. 1171 00:47:53,300 --> 00:47:56,350 GetChar, GetDouble, GetFloat, GetInt, 1172 00:47:56,350 --> 00:47:57,290 GetLongLong, GetString. 1173 00:47:57,290 --> 00:47:59,550 Jæja, við skulum ríf burt auðveldasta af þessum fyrstu. 1174 00:47:59,550 --> 00:48:01,430 GetString er bókstaflega það. 1175 00:48:01,430 --> 00:48:04,210 Það situr bara þarna og bíður eftir fyrir notandann til að slá eitthvað í, 1176 00:48:04,210 --> 00:48:07,170 og um leið og ég slá eitthvað í og ​​ýttu á Enter, það 1177 00:48:07,170 --> 00:48:08,860 er eitthvað við þessi gildi. 1178 00:48:08,860 --> 00:48:11,700 Svo við skulum fara aftur til að mynda til að sjá nákvæmlega hvað 1179 00:48:11,700 --> 00:48:12,950 GetString var að gera. 1180 00:48:12,950 --> 00:48:17,445 Leyfðu mér að fara á undan og opna upp í gedit, hello.c og muna 1181 00:48:17,445 --> 00:48:20,590 að rétt fyrir hlé, þetta er þar sem við var horfið. 1182 00:48:20,590 --> 00:48:23,240 >> Svo skulum nú stríða þetta sundur í smá nánar. 1183 00:48:23,240 --> 00:48:27,190 Svo á línu 6, það er tvennt 1184 00:48:27,190 --> 00:48:28,450 gerast í augnablikinu. 1185 00:48:28,450 --> 00:48:32,630 Jafnan merkið er aðskilnaður fyrri hálfleik og seinni hálfleik. 1186 00:48:32,630 --> 00:48:34,670 Svo á vinstri hönd hlið af the jafna tákn erum við 1187 00:48:34,670 --> 00:48:35,580 segja band s. 1188 00:48:35,580 --> 00:48:37,580 Og þá, skilmálar bara leikmaður er, það er band s 1189 00:48:37,580 --> 00:48:41,040 gera, heldur þú? 1190 00:48:41,040 --> 00:48:42,990 Það er að búa til hvað? 1191 00:48:42,990 --> 00:48:44,930 Svo það er að búa til band sem heitir s. 1192 00:48:44,930 --> 00:48:46,370 Nú hvað þýðir það í raun? 1193 00:48:46,370 --> 00:48:51,540 Jæja, það er pantað pláss fyrir streng sem heitir s. 1194 00:48:51,540 --> 00:48:52,490 Það er ekki alveg rétt. 1195 00:48:52,490 --> 00:48:53,120 Hvað er þetta að gera? 1196 00:48:53,120 --> 00:48:55,400 Jæja tölvur, eins og þú veist, hafa harða diska, að þar 1197 00:48:55,400 --> 00:48:56,300 skrárnar þínar eru geymdar. 1198 00:48:56,300 --> 00:48:59,100 Tölvur hafa vinnsluminni, og það er þar sem forrit eru sóttar 1199 00:48:59,100 --> 00:49:00,240 meðan þeir eru í gangi. 1200 00:49:00,240 --> 00:49:02,470 Svo þegar þú tvöfaldur-smellur á táknið og Microsoft Word opnast 1201 00:49:02,470 --> 00:49:06,380 upp, Microsoft Word er í gangi, svo að segja, í RAM, sem er 1202 00:49:06,380 --> 00:49:08,160 rafræn hluti af tölvunni þinni. 1203 00:49:08,160 --> 00:49:10,660 Ekki líkamlega, vélrænni hluti sem er spuna, þar sem 1204 00:49:10,660 --> 00:49:12,640 gögn er yfirleitt geymd langan tíma. 1205 00:49:12,640 --> 00:49:15,810 Svo band s er ansi mikið að segja í tölvunni gefa mér 1206 00:49:15,810 --> 00:49:18,150 nægjanlegt vinnsluminni til að passa streng. 1207 00:49:18,150 --> 00:49:20,450 Nú er það svolítið mikil einföldun, því 1208 00:49:20,450 --> 00:49:22,300 hversu stór er strengurinn að fara að? 1209 00:49:22,300 --> 00:49:24,410 Jæja við í raun veit ekki enn, svo á næstu vikum að koma 1210 00:49:24,410 --> 00:49:27,290 við munum í raun draga til baka lag sem er band og 1211 00:49:27,290 --> 00:49:28,510 við munum segja þér hvað það er í raun. 1212 00:49:28,510 --> 00:49:31,050 String, fyrir nú, er bara ágætur einföldun heiminum. 1213 00:49:31,050 --> 00:49:35,700 En band s lýsir band heitir s, í bili. 1214 00:49:35,700 --> 00:49:36,520 Lýsir streng. 1215 00:49:36,520 --> 00:49:39,310 Það áskilur pláss í vinnsluminni fyrir streng sem notandinn er 1216 00:49:39,310 --> 00:49:40,150 um að gerð. 1217 00:49:40,150 --> 00:49:41,840 >> Nú skulum líta á the réttur af the jafna tákn. 1218 00:49:41,840 --> 00:49:44,110 Svo segir það GetString (). 1219 00:49:44,110 --> 00:49:45,070 Og lítið geðheilbrigði stöðva. 1220 00:49:45,070 --> 00:49:47,940 Sú staðreynd að það er ekkert inni í sviga 1221 00:49:47,940 --> 00:49:50,810 felur hvað um GetString? 1222 00:49:50,810 --> 00:49:52,180 Það tekur engin rök. 1223 00:49:52,180 --> 00:49:55,290 Það er ekki hægt að hafa áhrif á hegðun sína á nokkurn hátt. 1224 00:49:55,290 --> 00:49:58,940 Í hvert skipti sem þú notar það, það vilja fá band og það er það. 1225 00:49:58,940 --> 00:50:02,210 Með því móti, printf, vonandi er hegðun þess 1226 00:50:02,210 --> 00:50:03,010 breyta í hvert skipti. 1227 00:50:03,010 --> 00:50:05,230 Annars er það nokkuð gagnslaus prentun virka ef 1228 00:50:05,230 --> 00:50:06,480 það er það sama. 1229 00:50:06,480 --> 00:50:07,970 Ef það prentar alltaf Davíð eða eitthvað 1230 00:50:07,970 --> 00:50:09,500 handahófskennt allan tímann. 1231 00:50:09,500 --> 00:50:11,540 Svo gerir printf vit í að hafa rök. 1232 00:50:11,540 --> 00:50:14,240 GetString ekki raunverulega þörf óákveðinn greinir í ensku rifrildi, því ég vildi 1233 00:50:14,240 --> 00:50:16,700 að fá band frá notanda og það er notandi sem er að gerast 1234 00:50:16,700 --> 00:50:19,580 að veita kraft með því að slá á mismunandi bókstöfum 1235 00:50:19,580 --> 00:50:20,850 í hvert sinn á lyklaborðinu. 1236 00:50:20,850 --> 00:50:23,140 >> Svo hvað þýðir GetString gera á endanum? 1237 00:50:23,140 --> 00:50:25,080 Hugsaðu um það eins og þetta litla svarta kassanum. 1238 00:50:25,080 --> 00:50:29,340 Og þetta svartur kassi tekur ekkert inntak, en þegar þú Bang á 1239 00:50:29,340 --> 00:50:33,240 það, spits það út streng sem notandinn hefur slegið inn 1240 00:50:33,240 --> 00:50:36,660 Og sú staðreynd að það er jafn skilti þar þýðir að taka 1241 00:50:36,660 --> 00:50:39,890 hvað er spýta út á hægri og geyma það inni 1242 00:50:39,890 --> 00:50:41,390 hvað er til vinstri. 1243 00:50:41,390 --> 00:50:43,470 Svo jöfn merki hér, reyndar það þýðir ekki 1244 00:50:43,470 --> 00:50:46,490 jafnrétti, þá þýðir það frekar tæknilega verkefni. 1245 00:50:46,490 --> 00:50:49,330 Taktu gildi á hægri og setja það í 1246 00:50:49,330 --> 00:50:51,050 breytu á vinstri. 1247 00:50:51,050 --> 00:50:52,820 Svo er það allt sem er að gerast þar. 1248 00:50:52,820 --> 00:50:55,640 >> Nú í línu 7, við erum að kalla printf. 1249 00:50:55,640 --> 00:50:58,170 Svo printf vonandi að hafa smá leiðinlegur núna. 1250 00:50:58,170 --> 00:50:59,530 Svo prenta sniðinn band. 1251 00:50:59,530 --> 00:51:00,440 Hvaða band? 1252 00:51:00,440 --> 00:51:05,460 Prenta út, "h-E-L-L-O,% s 1253 00:51:05,460 --> 00:51:07,840 ! \ N ". 1254 00:51:07,840 --> 00:51:10,470 Allt í lagi, svo hvað vil ég stinga í fyrir% s? 1255 00:51:10,470 --> 00:51:12,960 Bókstaflega er allt geymt í s. 1256 00:51:12,960 --> 00:51:15,570 Svo er í þessu tilfelli, lítið geðheilbrigði athuga, hversu mörg rök 1257 00:51:15,570 --> 00:51:16,820 printf taka? 1258 00:51:19,860 --> 00:51:21,110 Jæja, heyrði ég einn. 1259 00:51:23,840 --> 00:51:26,330 Ég heyrði eitt aftur. 1260 00:51:26,330 --> 00:51:27,730 Tveir, heyrði ég tvo. 1261 00:51:27,730 --> 00:51:29,920 Og hvernig óður í þrír? 1262 00:51:29,920 --> 00:51:30,450 Jæja, þrír? 1263 00:51:30,450 --> 00:51:30,930 Excellent. 1264 00:51:30,930 --> 00:51:33,170 Þrjár svarmöguleika, aðeins einn af þeim er rétt. 1265 00:51:33,170 --> 00:51:36,390 Svo rök hafa áhrif aftur á hegðun aðgerð. 1266 00:51:36,390 --> 00:51:39,380 Í the fortíð, printf var aðeins tekið eitt rifrildi. 1267 00:51:39,380 --> 00:51:42,260 "Halló heimur" var eitt rifrildi. 1268 00:51:42,260 --> 00:51:45,190 En nú, eftir sem þessi komma er. 1269 00:51:45,190 --> 00:51:49,600 Þetta kommu er utan vitna / unquote, sem þýðir 1270 00:51:49,600 --> 00:51:52,170 hey printf, hér kemur annað rifrildi. 1271 00:51:52,170 --> 00:51:54,240 >> Svo kommu flestum forritunarmál 1272 00:51:54,240 --> 00:51:57,300 aðgreindu mörg rök. 1273 00:51:57,300 --> 00:51:59,600 Svo er svarið hér örugglega ekki einn, því 1274 00:51:59,600 --> 00:52:00,390 Það er þetta kommu. 1275 00:52:00,390 --> 00:52:03,680 Svo litlu, printf er greinilega taka tvö 1276 00:52:03,680 --> 00:52:04,940 rök að þessu sinni. 1277 00:52:04,940 --> 00:52:07,050 En tækifæri fyrir bragð spurningu hér er það 1278 00:52:07,050 --> 00:52:07,990 um þetta kommu? 1279 00:52:07,990 --> 00:52:11,260 Er þetta gefa til kynna að það er í raun þrír rök? 1280 00:52:11,260 --> 00:52:13,820 Þetta, þetta og þetta. 1281 00:52:13,820 --> 00:52:18,820 Svo nei, því að komma er inni gæsalappa, sem 1282 00:52:18,820 --> 00:52:20,890 þýðir að það er í raun bara fagurfræðilegu ensku. 1283 00:52:20,890 --> 00:52:23,180 Það hefur ekkert að gera með fjölda 1284 00:52:23,180 --> 00:52:24,890 rök í þessari áætlun. 1285 00:52:24,890 --> 00:52:27,670 Svo er þetta kommu utan gæsalöppum. 1286 00:52:27,670 --> 00:52:28,850 Og svo aftur á 0. 1287 00:52:28,850 --> 00:52:30,980 Bara tegund Fyrir nú skulum við taka þetta einn á trú til 1288 00:52:30,980 --> 00:52:34,460 í dag, og bara veit að þegar aðgerðir eru gerðar framkvæmd 1289 00:52:34,460 --> 00:52:37,950 línur af kóða, ættu þeir yfirleitt aftur sumir gildi. 1290 00:52:37,950 --> 00:52:42,010 Í þessu tilfelli, bara vegna þess að helstu að skila int, 1291 00:52:42,010 --> 00:52:44,320 það er bara hvernig tungumálið C virkar. 1292 00:52:44,320 --> 00:52:47,040 >> Svo vegna þess að ekkert fór úrskeiðis, finnst eins og þetta forrit er 1293 00:52:47,040 --> 00:52:49,960 fínn, dulmáli ég bara harður á móti 0. 1294 00:52:49,960 --> 00:52:52,980 En aftur á móti, og ég ætla að skrifa þetta í sauðakóda 1295 00:52:52,980 --> 00:52:55,020 nú, eins og Jósef gerði þegar við gerði sokkur 1296 00:52:55,020 --> 00:52:56,220 dæmi í síðustu viku. 1297 00:52:56,220 --> 00:53:00,440 Ef eitthvað fór úrskeiðis - þetta er ekki raunverulegur númer - fór 1298 00:53:00,440 --> 00:53:06,570 rangt, þá aftur, við skulum segja, 1. 1299 00:53:06,570 --> 00:53:08,770 Else áreturn 0. 1300 00:53:08,770 --> 00:53:10,070 Svo er þetta sem við erum að fara með þetta. 1301 00:53:10,070 --> 00:53:12,090 Þetta er ekki raunverulegur C kóða, bara sauðakóðanum. 1302 00:53:12,090 --> 00:53:14,010 En þetta er hvernig þú getur aftur 1303 00:53:14,010 --> 00:53:15,580 mismunandi mögulegar gildi. 1304 00:53:15,580 --> 00:53:19,520 En nú er ég bara að fara að fara á undan og aftur 0. 1305 00:53:19,520 --> 00:53:24,410 Allt í lagi, einhverjar spurningar svona langt á setningafræði, virkni, 1306 00:53:24,410 --> 00:53:25,000 eða þess háttar? 1307 00:53:25,000 --> 00:53:26,280 Já, í bak. 1308 00:53:26,280 --> 00:53:27,530 >> Áhorfendur: [inaudible] 1309 00:53:30,510 --> 00:53:32,210 DAVID Malan: Getur þú talað svolítið hávær? 1310 00:53:32,210 --> 00:53:34,325 Hvers vegna gerði þetta aftur program 0, og? 1311 00:53:34,325 --> 00:53:35,575 Áhorfendur: [inaudible] 1312 00:53:39,910 --> 00:53:43,450 DAVID Malan: Ó, það er vegna þess að ég fékk latur, því miður. 1313 00:53:43,450 --> 00:53:48,290 Engin góð fræðileg svar, aftur 0. 1314 00:53:48,290 --> 00:53:52,690 Ég get svona björgunar þetta, með því að segja tæknilega C, ef helstu 1315 00:53:52,690 --> 00:53:55,900 ekki beinlínis skila gildi, verður 0 skilað 1316 00:53:55,900 --> 00:53:57,730 sjálfkrafa fyrir þig. 1317 00:53:57,730 --> 00:54:00,290 Sem er satt, ég er ekki bara að ná upp. 1318 00:54:00,290 --> 00:54:03,270 En ætti ég að hafa gert það með þessum hætti. 1319 00:54:03,270 --> 00:54:05,250 Ekkert áhugavert takeaway en að aðrir en mistökum mínum. 1320 00:54:05,250 --> 00:54:06,170 Já? 1321 00:54:06,170 --> 00:54:08,470 >> Áhorfendur: Venjulega þegar þú slærð inn í tómið, sem þýðir að þú 1322 00:54:08,470 --> 00:54:10,770 ekki aftur eitthvað. 1323 00:54:10,770 --> 00:54:11,420 DAVID Malan: Rétt. 1324 00:54:11,420 --> 00:54:15,800 Ef í staðinn, að tilgreina þig áður nafni aðgerð, 1325 00:54:15,800 --> 00:54:18,590 dæmi hér, ógild, þá virka 1326 00:54:18,590 --> 00:54:20,480 ekki aftur neitt. 1327 00:54:20,480 --> 00:54:25,210 Og þess vegna myndi ég bara segja, aftur eða neitt, 1328 00:54:25,210 --> 00:54:26,730 og það væri í samræmi. 1329 00:54:26,730 --> 00:54:27,750 Og við munum koma aftur að því. 1330 00:54:27,750 --> 00:54:31,030 Og bara FYI, einn af þeim afla með námi 1331 00:54:31,030 --> 00:54:33,450 forritun í heimi sem hefur nokkur hundruð bækur og 1332 00:54:33,450 --> 00:54:36,180 hundruð vefsíður þarna úti er að þú verður ávallt 1333 00:54:36,180 --> 00:54:38,220 sjá mismunandi setningafræði í mismunandi bókum 1334 00:54:38,220 --> 00:54:40,220 með mismunandi fólki. 1335 00:54:40,220 --> 00:54:42,100 Gera sér grein fyrir að við munum gera okkar besta í köflum og fyrirlestra til að vera 1336 00:54:42,100 --> 00:54:42,960 samræmi. 1337 00:54:42,960 --> 00:54:46,660 En stundum þú munt sjá andstæðar setningafræði. 1338 00:54:46,660 --> 00:54:48,540 Svo þegar í efa, bara spyrja. 1339 00:54:48,540 --> 00:54:51,100 Og almennt, munum við sjá á fyrirlestrum og hluta til 1340 00:54:51,100 --> 00:54:53,710 næstum alltaf til staðar það á réttan hátt. 1341 00:54:53,710 --> 00:54:56,070 Og ég segi næstum alltaf, þar sem dæmi um það. 1342 00:54:56,070 --> 00:54:56,860 Aðrar spurningar? 1343 00:54:56,860 --> 00:55:01,590 >> Áhorfendur: Er% s til utan tækinu? 1344 00:55:01,590 --> 00:55:03,710 DAVID Malan: Er% s til utan á tækinu? 1345 00:55:03,710 --> 00:55:04,180 Já. 1346 00:55:04,180 --> 00:55:07,760 Svo% s hefur að gera með C. staðreynd að við erum að nota það í 1347 00:55:07,760 --> 00:55:10,290 tækið hefur í grundvallaratriðum ekkert að gera með 1348 00:55:10,290 --> 00:55:12,080 eiginleika tungumálsins sem við erum að nota. 1349 00:55:12,080 --> 00:55:15,990 Reyndar, í síðustu viku þegar við notuðum Mac minn, ég skrifaði 1350 00:55:15,990 --> 00:55:17,160 C kóða á Mac minn. 1351 00:55:17,160 --> 00:55:20,020 Ég hefði getað notað% s á Mac minn, og þú getur notað það á 1352 00:55:20,020 --> 00:55:22,400 þinn Gluggakista tölva ef þú setur upp þýðanda, eins og 1353 00:55:22,400 --> 00:55:24,070 Visual Studio frá Microsoft. 1354 00:55:24,070 --> 00:55:24,990 Svo s%. 1355 00:55:24,990 --> 00:55:27,860 Allt sem við erum að gera inni á þessum glugga í dag er að 1356 00:55:27,860 --> 00:55:31,140 gera með C. Og grundvallaratriðum ekkert að gera með 1357 00:55:31,140 --> 00:55:33,450 stýrikerfi viðkomandi. 1358 00:55:33,450 --> 00:55:35,900 Með því móti, svart og hvítt endastöðvar - þegar 1359 00:55:35,900 --> 00:55:40,160 Ég er að skrifa hluti eins og LS, og RM og CD - 1360 00:55:40,160 --> 00:55:42,020 sem hefur að gera með stýrikerfi og 1361 00:55:42,020 --> 00:55:43,562 siglingar í kring. 1362 00:55:43,562 --> 00:55:44,546 Já. 1363 00:55:44,546 --> 00:55:46,520 Áhorfendur: Ég ætlaði á bókasafnið, á CS50 bókasafn. 1364 00:55:46,520 --> 00:55:49,960 DAVID Malan: Allt í lagi, þannig að ef þú átt að leitarorðið band, sem 1365 00:55:49,960 --> 00:55:52,460 aðeins til í CS50 bókasafn, rétt. 1366 00:55:52,460 --> 00:55:55,350 Það er ekki til í C sjálfri, og raunar í nokkur 1367 00:55:55,350 --> 00:55:58,220 vikna munum við henda CS50 bókasafn og byrja 1368 00:55:58,220 --> 00:56:02,290 gera hlutina frá grunni sjálf, svo að segja. 1369 00:56:02,290 --> 00:56:02,940 Aðrar spurningar? 1370 00:56:02,940 --> 00:56:04,577 Já. 1371 00:56:04,577 --> 00:56:05,827 >> Áhorfendur: [inaudible] 1372 00:56:09,470 --> 00:56:10,160 DAVID Malan: Góð spurning. 1373 00:56:10,160 --> 00:56:11,720 Eru skipanir tilfelli næmur? 1374 00:56:11,720 --> 00:56:13,710 Og láta mig gera greinarmun hér. 1375 00:56:13,710 --> 00:56:15,840 Svo skipanir eru yfirleitt það sem við munum skrifa á það 1376 00:56:15,840 --> 00:56:17,940 neðst á glugganum í flugstöðinni glugga. 1377 00:56:17,940 --> 00:56:21,770 Neitt upp hér væri yfirlýsingar eða C kóða. 1378 00:56:21,770 --> 00:56:24,490 En í báðum tilfellum, svarið er það sama, já. 1379 00:56:24,490 --> 00:56:27,800 Báðar þessar umhverfi, C kóða efst og 1380 00:56:27,800 --> 00:56:29,910 stýrikerfi stjórn lína á the 1381 00:56:29,910 --> 00:56:31,440 botn, eru tilfelli næmur. 1382 00:56:31,440 --> 00:56:33,830 Svo þú verður að nýta GetString með höfuðborg G, 1383 00:56:33,830 --> 00:56:37,050 höfuðborg S. Þú verður að skrifa printf í öllum lágstöfum. 1384 00:56:37,050 --> 00:56:39,520 Þú verður að slá LS í öllum lágstöfum. 1385 00:56:39,520 --> 00:56:43,260 Svo í nánast öllum aðstæðum þessa önn, þá mun í 1386 00:56:43,260 --> 00:56:44,820 staðreynd, málið. 1387 00:56:44,820 --> 00:56:46,148 Já. 1388 00:56:46,148 --> 00:56:47,398 >> Áhorfendur: [inaudible] 1389 00:56:54,770 --> 00:56:56,480 DAVID Malan: Ah, svo allt í lagi, hvað ef við hefðum skrá 1390 00:56:56,480 --> 00:56:57,840 kallað hello.d. 1391 00:56:57,840 --> 00:57:00,090 Svo kemur í ljós D er forritunarmál. 1392 00:57:00,090 --> 00:57:02,790 Og svo í sumum tilfellum, þá gætum við í raun að skrifa forrit í 1393 00:57:02,790 --> 00:57:06,190 að skrá og hafa það saman í þeirri tísku. 1394 00:57:06,190 --> 00:57:09,090 Við getum, og í raun, Stutta svarið er, ég veit ekki. 1395 00:57:09,090 --> 00:57:10,440 Þannig að við erum að fara að gera þetta. 1396 00:57:10,440 --> 00:57:13,040 Leyfðu mér að fara á undan og búa til nýja skrá. 1397 00:57:13,040 --> 00:57:15,580 Og snúast hér, heiðarlega almennt, er þegar einhver vafi 1398 00:57:15,580 --> 00:57:18,130 þetta misseri, og þú hefur tæki eða tölvu 1399 00:57:18,130 --> 00:57:20,030 opna, fara á undan og reyna eitthvað. 1400 00:57:20,030 --> 00:57:23,740 Þannig að ég ætla að vista skrá sem kallast hello.d. 1401 00:57:23,740 --> 00:57:25,010 Vista þetta. 1402 00:57:25,010 --> 00:57:29,070 Og ég ætla að keyra gera Hello Enter. 1403 00:57:29,070 --> 00:57:31,660 Það virtist að álykta að C væri líklegri 1404 00:57:31,660 --> 00:57:35,920 en d, í þessu tilfelli. 1405 00:57:35,920 --> 00:57:38,046 Aðrar spurningar. 1406 00:57:38,046 --> 00:57:40,456 Já. 1407 00:57:40,456 --> 00:57:41,706 >> Áhorfendur: [inaudible] 1408 00:57:48,170 --> 00:57:49,837 DAVID Malan: Allt í lagi, segja að enn einu sinni. 1409 00:57:49,837 --> 00:57:51,087 Áhorfendur: [inaudible] 1410 00:58:04,250 --> 00:58:05,780 DAVID Malan: Hvernig myndir þú fara að greina það eða 1411 00:58:05,780 --> 00:58:06,380 vandræða sem? 1412 00:58:06,380 --> 00:58:08,800 Svo líklega, vegna þess að þeir eru mismunandi tungumál, 1413 00:58:08,800 --> 00:58:10,280 líklegast þú vildi fá a fullkomlega 1414 00:58:10,280 --> 00:58:11,580 mismunandi forrit outputted. 1415 00:58:11,580 --> 00:58:14,140 Þú vilt fá alveg mismunandi villuskilaboð. 1416 00:58:14,140 --> 00:58:16,750 Og líka bara í skilmálar af hönnun, myndi það að öllum líkindum að vera 1417 00:58:16,750 --> 00:58:19,140 léleg hönnun ákvörðun að skrifa tvær mismunandi 1418 00:58:19,140 --> 00:58:21,510 tungumálum með næstum samur heitir skrár, í 1419 00:58:21,510 --> 00:58:23,000 nákvæmlega sömu skrá, með því að nota 1420 00:58:23,000 --> 00:58:24,550 Sjálfvirk tól eins og gera. 1421 00:58:24,550 --> 00:58:27,750 Svo ég get líka ýta aftur og segja í 15 ár til að gera þetta, 1422 00:58:27,750 --> 00:58:29,190 aldrei gert þessi mistök. 1423 00:58:29,190 --> 00:58:30,030 Gæti gerst. 1424 00:58:30,030 --> 00:58:31,190 En það er bara mismunandi, ég held, 1425 00:58:31,190 --> 00:58:33,180 skipulagningar varnir í stað. 1426 00:58:33,180 --> 00:58:35,440 Auk the villa skilaboð sem myndi fylgja í kjölfarið, sem myndi 1427 00:58:35,440 --> 00:58:37,260 loksins í ljós hvað málið er. 1428 00:58:37,260 --> 00:58:39,120 En hægt horn tilfelli. 1429 00:58:39,120 --> 00:58:41,730 >> Allt í lagi, þannig að við skulum taka bara nokkrar aðrar 1430 00:58:41,730 --> 00:58:45,600 aðgerðir hér núna, svo að við getum byrjað að byggja upp í fleiri 1431 00:58:45,600 --> 00:58:47,140 og flóknari forrit. 1432 00:58:47,140 --> 00:58:49,000 Svo fyrst af öllu, stærðfræði. 1433 00:58:49,000 --> 00:58:51,520 Svo stærðfræði dæmi eru bara svona auðvelt í fyrstu viku. 1434 00:58:51,520 --> 00:58:53,560 Þetta er ekki að segja að öll forritun er um 1435 00:58:53,560 --> 00:58:54,390 stærðfræði. 1436 00:58:54,390 --> 00:58:57,890 Vissulega, skilja ýmsa eiginleika 1437 00:58:57,890 --> 00:58:59,610 stærðfræði, algebra einkum er 1438 00:58:59,610 --> 00:59:00,330 alveg hér máli. 1439 00:59:00,330 --> 00:59:03,010 Í meiri CS flokkum, línuleg algebra, 1440 00:59:03,010 --> 00:59:03,920 stærðfræðigreiningu, og eins. 1441 00:59:03,920 --> 00:59:06,500 En átta sig mest af því sem við munum gera þessa önn dregur ekki 1442 00:59:06,500 --> 00:59:09,230 í stærðfræði, og vissulega ekki til tölur, í sjálfu sér, en í raun 1443 00:59:09,230 --> 00:59:11,570 að bara rökfræði og vandlega hugsun. 1444 00:59:11,570 --> 00:59:14,310 Og svo þetta tengsl sem tölvunarfræði hefur lengi haft, 1445 00:59:14,310 --> 00:59:16,570 sérstaklega í menntaskóla stigi með stærðfræði, er 1446 00:59:16,570 --> 00:59:17,370 svolítið villandi. 1447 00:59:17,370 --> 00:59:20,090 Því af the forrit sem við munum skrifa, í raun eru 1448 00:59:20,090 --> 00:59:23,290 konar meiri og leggja áherslu á að leysa vandamál sem, 1449 00:59:23,290 --> 00:59:26,410 Jú, kannski nota sumir auki Frádráttur, og ýmis 1450 00:59:26,410 --> 00:59:28,650 stærðfræði formúlur eða þess háttar, 1451 00:59:28,650 --> 00:59:30,860 en í lok dagsins, það er um að hugsa og ekki 1452 00:59:30,860 --> 00:59:33,240 bara að innleiða það sem þú gætir hafa gert á eins TI 1453 00:59:33,240 --> 00:59:35,050 reiknivél í menntaskóla. 1454 00:59:35,050 --> 00:59:38,410 >> Svo með því að segja, við skulum nú gera eitthvað með þetta 1455 00:59:38,410 --> 00:59:40,980 stærðfræði rekstraraðila sem finnast svo að við getum ferð 1456 00:59:40,980 --> 00:59:43,950 yfir sumir af undirliggjandi þætti forritun, eða í 1457 00:59:43,950 --> 00:59:48,930 þessu tilfelli C. Þannig að það eru, eins og CS50 bókasafn leiðbeinandi, 1458 00:59:48,930 --> 00:59:51,520 og í dag erum við aðeins með GetString - og í smá stund 1459 00:59:51,520 --> 00:59:52,940 kannski einn annar virka - 1460 00:59:52,940 --> 00:59:55,380 en það eru mismunandi tegundir gagna í tölvu. 1461 00:59:55,380 --> 00:59:58,550 Í lok dags, vita tölvur aðeins 0s og 1s. 1462 00:59:58,550 --> 01:00:01,880 En muna að í síðustu viku við ræddum um tvöfaldur kerfi 1463 01:00:01,880 --> 01:00:05,000 í hönd númer, eins og fjöldi 0 og 1 og 2, 1464 01:00:05,000 --> 01:00:07,480 alla leið á allt að 8, eins og í vídeó nate er. 1465 01:00:07,480 --> 01:00:08,840 Og þá getum við treyst miklu hærri eins og við 1466 01:00:08,840 --> 01:00:10,000 gerði á sviðinu hér. 1467 01:00:10,000 --> 01:00:15,660 En ef þú vilt að tákna ekki bara tölur en bókstafi, 1468 01:00:15,660 --> 01:00:18,240 Við, mennirnir, að koma upp með sumir handahófskennt 1469 01:00:18,240 --> 01:00:21,180 samninga, þar sem ef í lok dags allt tölvuna mína 1470 01:00:21,180 --> 01:00:24,260 hefur er að geta tjáð 0s og 1s, vel við betra 1471 01:00:24,260 --> 01:00:27,990 byrja staðla mynstur 0s og 1s sem tákna 1472 01:00:27,990 --> 01:00:28,800 mismunandi hlutir. 1473 01:00:28,800 --> 01:00:32,370 A mynstur 0s og 1s sem táknar stafinn a. 1474 01:00:32,370 --> 01:00:34,840 Mynstur 0s og 1s sem tákna stafinn z. 1475 01:00:34,840 --> 01:00:37,600 Mynstur 0s og 1s sem tákna lit blátt, eða 1476 01:00:37,600 --> 01:00:38,600 rautt, eða eins. 1477 01:00:38,600 --> 01:00:42,360 Við þurfum að nota allt þetta 0s og 1s að tjá okkur í 1478 01:00:42,360 --> 01:00:45,140 mismunandi aðstæður, á mismunandi vegu sem eru ekki 1479 01:00:45,140 --> 01:00:46,470 endilega tölustafir. 1480 01:00:46,470 --> 01:00:51,150 >> Svo hvað varðar framsetningu, C hefur mismunandi gerðir gagna, 1481 01:00:51,150 --> 01:00:52,550 og við höfum séð einn af þessum svo langt. 1482 01:00:52,550 --> 01:00:54,940 Við sáum int, og taka eftir hvað er ekki á skjánum 1483 01:00:54,940 --> 01:00:56,140 núna er strengur. 1484 01:00:56,140 --> 01:00:58,550 String er ekki, í raun til í C. Aftur, það er 1485 01:00:58,550 --> 01:01:00,610 einföldun sem við erum að kynna í fyrsta 1486 01:01:00,610 --> 01:01:01,570 par af vika. 1487 01:01:01,570 --> 01:01:03,770 A bleikju er sérstæð. 1488 01:01:03,770 --> 01:01:07,050 A fljóta er rauntala, með kommu og númer 1489 01:01:07,050 --> 01:01:09,066 vinstri og hægri af því. 1490 01:01:09,066 --> 01:01:16,040 A tvöfaldur er það, fyrir þá sem eru með bak fyrri bakgrunni? 1491 01:01:16,040 --> 01:01:19,720 Svo er tvöfaldur tvisvar eitthvað. 1492 01:01:19,720 --> 01:01:21,240 Bætir tvisvar eins mikið nákvæmni. 1493 01:01:21,240 --> 01:01:22,440 Svo hvað þýðir þetta? 1494 01:01:22,440 --> 01:01:26,090 Þannig að í öllum þessum tilvikum, sem heimurinn hefur konar staðlað 1495 01:01:26,090 --> 01:01:27,960 hversu margir bitar eru notaðir til að tákna 1496 01:01:27,960 --> 01:01:29,160 hvert af þessum hlutum. 1497 01:01:29,160 --> 01:01:31,590 Svo ef þú hefur horft ASCII vídeó nate er þegar að hluta 1498 01:01:31,590 --> 01:01:36,170 á pset 0, eða síðar í þessari viku þú vilja, munt þú sennilega vita 1499 01:01:36,170 --> 01:01:37,450 þessi ASCII - 1500 01:01:37,450 --> 01:01:38,610 eðli framsetning - 1501 01:01:38,610 --> 01:01:40,670 nota hversu margir bita? 1502 01:01:40,670 --> 01:01:43,410 Og þú gætir jafnvel muna úr kynningu okkar í síðustu viku um hvernig 1503 01:01:43,410 --> 01:01:45,500 margir voru á sviðinu. 1504 01:01:45,500 --> 01:01:46,840 Svo 7 eða 8, yfirleitt. 1505 01:01:46,840 --> 01:01:49,230 Svo almennt 8, og það er eitthvað sem kallast eins og framlengdur 1506 01:01:49,230 --> 01:01:51,240 ASCII sem notar öll 8 bitar í stað 7. 1507 01:01:51,240 --> 01:01:54,710 En almennt, tala við í völd 2, þannig að í þessu tilfelli, 8. 1508 01:01:54,710 --> 01:01:58,900 Svo er bleikja í forritunarmál yfirleitt 8 bitar. 1509 01:01:58,900 --> 01:02:02,550 Svo er int yfirleitt 32 bita. 1510 01:02:02,550 --> 01:02:04,810 A fljóta er yfirleitt 32 bita. 1511 01:02:04,810 --> 01:02:08,060 A tvöfaldur er yfirleitt 64 bita. 1512 01:02:08,060 --> 01:02:08,870 Og hvað þýðir það? 1513 01:02:08,870 --> 01:02:11,500 Það þýðir að þú getur táknað stærri tölur, eða um er að ræða 1514 01:02:11,500 --> 01:02:15,490 af alvöru tölur, getur þú hafa a einhver fjöldi fleiri tölur eftir 1515 01:02:15,490 --> 01:02:16,240 aukastaf. 1516 01:02:16,240 --> 01:02:18,980 A einhver fjöldi fleiri nákvæmni, í því tilviki. 1517 01:02:18,980 --> 01:02:21,780 Nú fyrir löngu er því miður heitir. 1518 01:02:21,780 --> 01:02:24,340 Þannig að það er int sem er 32 bita. 1519 01:02:24,340 --> 01:02:29,800 Það er fyrir löngu sem er, Nei, 32 bita. 1520 01:02:29,800 --> 01:02:32,610 Og fyrir löngu sem er 64 bita. 1521 01:02:32,610 --> 01:02:34,830 En sumir af þeim eru samhengi næmur, það fer 1522 01:02:34,830 --> 01:02:36,190 hvers konar tölva sem þú ert. 1523 01:02:36,190 --> 01:02:40,510 Svo almennt, munum við tilgreina í heimavinnu eða í spurningakeppni þegar 1524 01:02:40,510 --> 01:02:41,180 það skiptir máli í raun og veru. 1525 01:02:41,180 --> 01:02:43,080 En málið er að það er öll þessi mismunandi 1526 01:02:43,080 --> 01:02:44,250 Fyrirsvar hér. 1527 01:02:44,250 --> 01:02:45,950 >> Svo skulum raun kafa inn í kerfið. 1528 01:02:45,950 --> 01:02:48,300 Frekar en að skrifa þennan eina frá grunni, láta mig fara á undan 1529 01:02:48,300 --> 01:02:50,940 og opna frá frumkóða í dag - allt sem er 1530 01:02:50,940 --> 01:02:54,980 á netinu - ef þú vilt að tinker kring á netinu, eða fara aftur á 1531 01:02:54,980 --> 01:02:57,120 Miðvikudagur með tæki á tölvunni þinni, leiðbeiningar 1532 01:02:57,120 --> 01:02:59,160 sem mun tengja á heimasíðuna námskeiðið er. 1533 01:02:59,160 --> 01:03:00,830 Hér er frábær einfalt forrit. 1534 01:03:00,830 --> 01:03:02,520 En það er got a lítill eitthvað nýtt efst sem 1535 01:03:02,520 --> 01:03:03,650 við höfðum ekki áður. 1536 01:03:03,650 --> 01:03:05,800 A heild einhver fjöldi af bláum línum af texta. 1537 01:03:05,800 --> 01:03:08,410 Svo þessir bláu línur tákna athugasemdir. 1538 01:03:08,410 --> 01:03:10,620 Svo það er alveg gagnlegt í forrit til að vera fær um að skrifa 1539 01:03:10,620 --> 01:03:13,160 nokkrar athugasemdir til sjálfur, eða samstarfsmenn eða vinum, eða 1540 01:03:13,160 --> 01:03:15,700 kennslu félagar, þessi tegund af lýsa hvað er að gerast í 1541 01:03:15,700 --> 01:03:18,500 þessi skrá, en hafa ekkert að gera með C kóða sig. 1542 01:03:18,500 --> 01:03:20,860 Ekkert að gera með forritið virka, það er bara 1543 01:03:20,860 --> 01:03:21,760 fagurfræði. 1544 01:03:21,760 --> 01:03:24,580 Svo er sú leið sem þú gerir þetta í C þú byrjar yfirleitt þinn 1545 01:03:24,580 --> 01:03:29,860 athugasemdir með / *, og þú endar athugasemdir með 1546 01:03:29,860 --> 01:03:31,270 * /. 1547 01:03:31,270 --> 01:03:34,140 Og ef þú ert mjög anal og finnst gaman að teikna svoleiðis myndum, 1548 01:03:34,140 --> 01:03:35,870 þá þú vilt setja allt fullt af stjörnum, vilt þú að gera 1549 01:03:35,870 --> 01:03:36,970 lítill kassi svona. 1550 01:03:36,970 --> 01:03:37,990 En ekkert sem skiptir máli. 1551 01:03:37,990 --> 01:03:40,230 Það eina sem skiptir máli er fyrsta 1552 01:03:40,230 --> 01:03:41,620 og mjög síðasta. 1553 01:03:41,620 --> 01:03:43,820 Þetta er það sem er kallað multi-lína athugasemd. 1554 01:03:43,820 --> 01:03:46,610 Og það er bara mannlegt venju að oft á stjörnurnar og kassi 1555 01:03:46,610 --> 01:03:48,420 hlutir í svona ef þú hafa a einhver fjöldi af frjáls tími. 1556 01:03:48,420 --> 01:03:51,550 >> Svo eftir að þú hefur skrifað í sumum athugasemdum, almennt, að koma 1557 01:03:51,550 --> 01:03:53,160 í raun þorað áætlunarinnar. 1558 01:03:53,160 --> 01:03:55,630 Hér er kunnuglegt okkar # include . 1559 01:03:55,630 --> 01:04:00,410 Og bara fljótur, það er nauðsynlegt eða ekki nauðsynlegt? 1560 01:04:00,410 --> 01:04:02,860 Áhorfendur: nauðsynlegt. 1561 01:04:02,860 --> 01:04:04,390 DAVID Malan: Svo það er í raun ekki nauðsynlegt. 1562 01:04:04,390 --> 01:04:07,070 Svo hvers vegna, þó er það ekki nauðsynlegt? 1563 01:04:07,070 --> 01:04:08,170 Svo er engin printf. 1564 01:04:08,170 --> 01:04:08,510 Reyndar. 1565 01:04:08,510 --> 01:04:10,470 Allt sem við erum að gera í þessu forriti er stærðfræði. 1566 01:04:10,470 --> 01:04:11,640 Þannig að ég get í raun að eyða það. 1567 01:04:11,640 --> 01:04:14,330 Svo þú þarft ekki alltaf að fela eitthvað 1568 01:04:14,330 --> 01:04:15,420 efst á dagskrá. 1569 01:04:15,420 --> 01:04:17,020 >> Svo skulum einfalda þetta aðeins. 1570 01:04:17,020 --> 01:04:18,650 Og nú eftir hvað þetta forrit gerir. 1571 01:04:18,650 --> 01:04:19,920 Ekki mikið af áhuga. 1572 01:04:19,920 --> 01:04:21,410 int x = 1. 1573 01:04:21,410 --> 01:04:22,550 Jæja, hvað er þetta að gera? 1574 01:04:22,550 --> 01:04:25,130 Jæja, hugsa aftur til andlega fyrirmynd frá áður. 1575 01:04:25,130 --> 01:04:27,500 The vinstri hönd hlið af þessu tjáningu gerir hvað? 1576 01:04:31,440 --> 01:04:32,830 Búa til pláss fyrir heiltala. 1577 01:04:32,830 --> 01:04:33,930 Svo hversu mikið pláss? 1578 01:04:33,930 --> 01:04:36,980 Jæja, gerast við að vita nú að það er 32 bita. 1579 01:04:36,980 --> 01:04:40,070 Áður band var tæknilega 32 bita, en meira 1580 01:04:40,070 --> 01:04:40,950 um það í framtíðinni. 1581 01:04:40,950 --> 01:04:42,240 En int er 32 bita. 1582 01:04:42,240 --> 01:04:45,590 Þannig að þetta tjáningu á vinstri hér, int x bara segir hey 1583 01:04:45,590 --> 01:04:48,490 stýrikerfi, gefa mér 32 bita af RAM - 1584 01:04:48,490 --> 01:04:50,450 annars þekkt sem 4 bytes RAM - 1585 01:04:50,450 --> 01:04:53,930 þannig að ég get sett heiltölu í því rými. 1586 01:04:53,930 --> 01:04:55,330 Hvaða heiltala did þú vilt að setja? 1587 01:04:55,330 --> 01:04:56,640 Jæja, bara númer 1. 1588 01:04:56,640 --> 01:04:59,530 int Y fær 2, er nákvæmlega það sama, jafnvel þótt 1589 01:04:59,530 --> 01:05:02,160 tala er stærri, í skilmálar af stærð þess. 1590 01:05:02,160 --> 01:05:04,790 Talan sjálf er enn bara 32 bita. 1591 01:05:04,790 --> 01:05:06,520 Það er bara mynstur bita er frábrugðið 1592 01:05:06,520 --> 01:05:08,260 tákna 1 á móti 2. 1593 01:05:08,260 --> 01:05:11,980 int z segir nú að gefa mér annað 32 bita, kalla Z og setja 1594 01:05:11,980 --> 01:05:14,210 samantekt á 1 og 2 í það. 1595 01:05:14,210 --> 01:05:18,050 Svo að nú Z er væntanlega að geyma gildið 3, 1596 01:05:18,050 --> 01:05:19,360 og svo aftur á 0. 1597 01:05:19,360 --> 01:05:23,020 >> Nú þetta forrit, er það að gera eitthvað af áhuga? 1598 01:05:23,020 --> 01:05:26,170 Svo það í raun ekki að gera neitt áhugavert, í hvaða 1599 01:05:26,170 --> 01:05:28,450 skilningi, því hvers vegna? Það er að gera stærðfræði. 1600 01:05:28,450 --> 01:05:30,590 En það er ekki aftur svarið rétt. 1601 01:05:30,590 --> 01:05:31,790 Það er aftur á 0. 1602 01:05:31,790 --> 01:05:33,440 Það er ekki prenta svarið. 1603 01:05:33,440 --> 01:05:35,760 Svo er þetta forrit í grundvallaratriðum einskis virði, eins og það 1604 01:05:35,760 --> 01:05:36,350 stendur nú. 1605 01:05:36,350 --> 01:05:37,220 Það er að gera sumir vinna. 1606 01:05:37,220 --> 01:05:39,530 Það er að fara að taka nokkurn fjölda sekúndur eða míkrósekúndur, til 1607 01:05:39,530 --> 01:05:41,510 hlaupa, en það er í raun ekki að gera neitt 1608 01:05:41,510 --> 01:05:42,770 gagnlegt fyrir mönnum. 1609 01:05:42,770 --> 01:05:46,810 >> Svo skulum reyndar nú opna math2, þar nú er ég í raun og veru 1610 01:05:46,810 --> 01:05:48,250 prenta niðurstöðu. 1611 01:05:48,250 --> 01:05:51,260 Svo þetta líka hægt að álykta af fyrri dæmum okkar. 1612 01:05:51,260 --> 01:05:54,320 Ef ég vil gera nokkrar einfaldar stærðfræði, int x = 1, y 1613 01:05:54,320 --> 01:05:56,820 = 2. Z er 1 plús 2 núna. 1614 01:05:56,820 --> 01:05:59,240 Hvað er þetta að fara að prenta út vitanlega? 1615 01:05:59,240 --> 01:06:00,120 Bara 3. 1616 01:06:00,120 --> 01:06:01,590 Svo fljótur geðheilbrigði athuga. 1617 01:06:01,590 --> 01:06:03,830 Leyfðu mér að fara inn í þessa möppu. 1618 01:06:03,830 --> 01:06:06,480 Svo CD source1m. 1619 01:06:06,480 --> 01:06:09,370 Leyfðu mér að fara á undan og slá gera math2. 1620 01:06:09,370 --> 01:06:11,510 Engin villuskilaboð komu út, svo látið mig hlaupa - 1621 01:06:11,510 --> 01:06:14,800 ekki a.out--láta mig hlaupa math2. Enter. 1622 01:06:14,800 --> 01:06:16,750 Og reyndar, prenta það út 3. 1623 01:06:16,750 --> 01:06:18,460 Jæja við skulum taka a líta á afbrigði af þessu. 1624 01:06:18,460 --> 01:06:23,870 Í math3.c, höfum við nú þetta dæmi hérna. 1625 01:06:23,870 --> 01:06:26,540 >> Svo þetta annar konar áhugavert. 1626 01:06:26,540 --> 01:06:32,000 Þannig að í þessu hér, svarið er að fara að fá 1 deilt með 10, 1627 01:06:32,000 --> 01:06:33,910 og taka eftir að ég hef lýst því sem fljóta. 1628 01:06:33,910 --> 01:06:35,200 Hvers vegna vil ég að það að vera fljóta? 1629 01:06:35,200 --> 01:06:36,110 Jæja, þá er það brot. 1630 01:06:36,110 --> 01:06:37,140 Það er að fara til vera a raunverulegur tala. 1631 01:06:37,140 --> 01:06:40,970 Svo það er að fara að vera 0,1, vonandi - 10%, í þessu tilfelli. 1632 01:06:40,970 --> 01:06:42,610 Og hvað ég vil þá til að prenta út? 1633 01:06:42,610 --> 01:06:43,440 Jæja, þetta svar. 1634 01:06:43,440 --> 01:06:44,760 Jæja, við skulum stríða þessum sundur fyrst. 1635 01:06:44,760 --> 01:06:47,020 Svo á vinstri hönd hlið, lýsa því yfir að 1636 01:06:47,020 --> 01:06:49,410 fljóta, kalla það svara. 1637 01:06:49,410 --> 01:06:52,280 Á hægri hönd, ekki 1 deilt með 10 og setja það 1638 01:06:52,280 --> 01:06:54,370 svara inni breytu. 1639 01:06:54,370 --> 01:06:56,410 Nú, þessi lína lítur svolítið dulinn. 1640 01:06:56,410 --> 01:06:59,440 En eftir nokkur kunnugleg lögun. % Þýðir hér kemur 1641 01:06:59,440 --> 01:07:00,490 tákn. 1642 01:07:00,490 --> 01:07:03,230 f þýðir hér er Fleytitölugildi, bara alvöru 1643 01:07:03,230 --> 01:07:05,490 númer, eitthvað með kommu. 1644 01:07:05,490 --> 01:07:07,330 0,2 þýðir það? 1645 01:07:07,330 --> 01:07:10,740 Hver veit frá fyrri reynslu? 1646 01:07:10,740 --> 01:07:12,010 Tveimur aukastöfum. 1647 01:07:12,010 --> 01:07:14,050 Þannig að við höfum ekki séð þetta áður, en það er bara leið til að 1648 01:07:14,050 --> 01:07:16,360 æfa smá meiri stjórn á printf og 1649 01:07:16,360 --> 01:07:20,840 segja ekki gefa mér 30 stig eftir kommu 1650 01:07:20,840 --> 01:07:22,490 í staðinn að gefa mér bara 2. 1651 01:07:22,490 --> 01:07:23,960 >> Og þá skulum við fara á undan og keyra þetta. 1652 01:07:23,960 --> 01:07:30,160 Svo gera stærðfræði 3, og nú láta mig hlaupa stærðfræði 3, Enter. 1653 01:07:30,160 --> 01:07:34,630 Og það er ekki rétt. 1654 01:07:34,630 --> 01:07:37,390 Við virðumst hafa upp fyrsta ósvikinn galla okkar. 1655 01:07:37,390 --> 01:07:39,400 Jæja, kannski er ég bara ekki að leita nógu nálægt. 1656 01:07:39,400 --> 01:07:41,960 Svo láta mig fara hingað og láta mig setja 20 aukastaf 1657 01:07:41,960 --> 01:07:43,300 Spjallsvæði staði þar. 1658 01:07:43,300 --> 01:07:47,950 Og láta mig þýða þetta, gera math3, hlaupa. 1659 01:07:47,950 --> 01:07:50,960 Nokkuð viss um að 1 deilt með 10 er ekki 0. 1660 01:07:50,960 --> 01:07:54,270 Svo hvað er í gangi? 1661 01:07:54,270 --> 01:07:56,740 Jæja allt í lagi, svo í raun það þarf ekki að gera við þetta. 1662 01:07:56,740 --> 01:07:57,600 Það er góð hugmynd. 1663 01:07:57,600 --> 01:07:59,140 Þetta er í raun bara tilviljun 1664 01:07:59,140 --> 01:08:00,220 sem við erum að gera þetta. 1665 01:08:00,220 --> 01:08:02,010 En bara til að sanna að þetta er ekki það, ég 1666 01:08:02,010 --> 01:08:03,160 aftur eitthvað af handahófi. 1667 01:08:03,160 --> 01:08:05,160 Ekki gera þetta heima, því það er bara rangt. 1668 01:08:05,160 --> 01:08:08,000 En gera math3, láta mig keyra það. 1669 01:08:08,000 --> 01:08:10,690 Svo hefur ekkert að gera með það sem ég er aftur, aðeins að gera 1670 01:08:10,690 --> 01:08:11,940 með það sem ég er að prenta. 1671 01:08:11,940 --> 01:08:14,150 En ég heyrði það hérna. 1672 01:08:14,150 --> 01:08:15,270 Hvað? 1673 01:08:15,270 --> 01:08:17,524 Áhorfendur: Þannig að við þurfum að skrifa tölurnar í 1674 01:08:17,524 --> 01:08:19,680 skiptingu sem - 1675 01:08:19,680 --> 01:08:20,319 >> DAVID Malan: Jæja gott. 1676 01:08:20,319 --> 01:08:22,810 Þannig að við þurfum að skrifa tölurnar sem taka þátt í 1677 01:08:22,810 --> 01:08:25,979 deild hér sem fleytitölu gildi sig. 1678 01:08:25,979 --> 01:08:29,359 Svo er vandamálið hér eins og áður: C, eins og með fullt af 1679 01:08:29,359 --> 01:08:31,819 tungumálum, hefur mismunandi gögn. 1680 01:08:31,819 --> 01:08:34,600 Og þær tegundir gagna, til dæmis, eru þessar hér. 1681 01:08:34,600 --> 01:08:37,430 Og gögn tegundir um ræðir hér, þegar ég tegund 1 og svo ég 1682 01:08:37,430 --> 01:08:40,870 gerð 10, eru sennilega gagnatög hvað? 1683 01:08:40,870 --> 01:08:42,170 Svo það er líklega int, ekki satt? 1684 01:08:42,170 --> 01:08:44,149 Það er örugglega ekki fljóta vegna þess að það er engin aukastaf 1685 01:08:44,149 --> 01:08:45,460 lið eða eitthvað svoleiðis. 1686 01:08:45,460 --> 01:08:48,270 Svo í raun, hef ég int deilt með heiltala. 1687 01:08:48,270 --> 01:08:52,160 >> Svo er áhugaverður hlutur óður í stærðfræði og tölvu sem 1688 01:08:52,160 --> 01:08:54,840 Ef þú ert að gera skiptingu með heiltölur - 1689 01:08:54,840 --> 01:08:57,310 1 deilt með 10, já er 0,1. 1690 01:08:57,310 --> 01:09:01,420 Hins vegar þegar þú ert að deila heiltölu með heiltölu, sem 1691 01:09:01,420 --> 01:09:06,859 Svarið er einnig að vera heiltala bara vegna þess, að nú. 1692 01:09:06,859 --> 01:09:08,630 Og hvað er óbeint þá? 1693 01:09:08,630 --> 01:09:13,640 Jæja, ef svarið er 1 deilt með 10 jafngildir 0,1, hvað 1694 01:09:13,640 --> 01:09:15,680 tölvan er að fara að gera er að ég hef ekki hugmynd um hvernig á að 1695 01:09:15,680 --> 01:09:19,270 tákna 0,1, vegna þess að það er Fleytitölugildi, ekki 1696 01:09:19,270 --> 01:09:21,910 heiltala, það er að fara að höggva á allt eftir að 1697 01:09:21,910 --> 01:09:27,470 kommu og bara sýna þér 0 í upphafi. 1698 01:09:27,470 --> 01:09:29,540 Og sú staðreynd að það er prentun sem fleytitölu 1699 01:09:29,540 --> 01:09:31,200 gildi, það er bara fagurfræði hlutur. 1700 01:09:31,200 --> 01:09:34,279 Það er vegna þess að ég er að neyða tölvuna til að prenta þetta sem 1701 01:09:34,279 --> 01:09:35,229 Fleytitölugildi. 1702 01:09:35,229 --> 01:09:37,720 Og reyndar hef ég lýst því sem fljóta, en stærðfræði er 1703 01:09:37,720 --> 01:09:39,010 gerast hérna. 1704 01:09:39,010 --> 01:09:41,859 >> Svo láta mig festa reyndar þetta í einn laglegur þægilegur hátt. 1705 01:09:41,859 --> 01:09:45,250 Hvers vegna get ég ekki bara 10,0 og 1,0, en 1706 01:09:45,250 --> 01:09:47,609 tæknilega ég gæti komist upp með bara að gera einn af þeim. 1707 01:09:47,609 --> 01:09:50,630 Nú láta mig fara á undan og gera math3. 1708 01:09:50,630 --> 01:09:56,350 Leyfðu mér að fara á undan og nú hlaupa math3, Enter. 1709 01:09:56,350 --> 01:09:57,500 Og nú, ó drengur. 1710 01:09:57,500 --> 01:10:00,050 Nú höfum við nýtt vandamál að öllu leyti. 1711 01:10:00,050 --> 01:10:05,600 Svo betra, ekki satt, við erum nær 0,1, en það greinilega er 1712 01:10:05,600 --> 01:10:06,240 rangt hérna? 1713 01:10:06,240 --> 01:10:08,260 Nema við höfum verið að ljúga að þér í mörg ár, ekki satt? 1714 01:10:08,260 --> 01:10:13,660 1 deilt með 10 er í raun ekki alveg 0,1, svo það er 1715 01:10:13,660 --> 01:10:14,700 raunverulega að gerast hér? 1716 01:10:14,700 --> 01:10:16,420 Jæja þú getur konar ástæðu gegnum þetta rökrétt. 1717 01:10:16,420 --> 01:10:19,200 Ef tölvan hefur aðeins endanlegt magn af RAM til að byrja 1718 01:10:19,200 --> 01:10:23,530 með, og örugglega tölva er einungis að nota 32 bita fyrir 1719 01:10:23,530 --> 01:10:26,200 Fleytitölugildi, stendur það til ástæðu að með 1720 01:10:26,200 --> 01:10:29,870 takmarkaðan fjölda bita, 32 í þessu tilfelli, já, þú getur 1721 01:10:29,870 --> 01:10:31,050 tákna mikið af efni. 1722 01:10:31,050 --> 01:10:33,220 Það er í raun fjögurra milljarða mismunandi gildi má 1723 01:10:33,220 --> 01:10:38,040 fulltrúa með 32 bita, 2 til 32, en það er samt tímabundið. 1724 01:10:38,040 --> 01:10:40,730 Svo er vandamálið að það er óendanlegur fjöldi af alvöru 1725 01:10:40,730 --> 01:10:41,370 tölur, ekki satt. 1726 01:10:41,370 --> 01:10:43,560 Ef þú gefur mér alvöru tala, ég get alltaf fundið þér einn 1727 01:10:43,560 --> 01:10:46,080 örlítið stærri, aðeins minna, bara klip 1728 01:10:46,080 --> 01:10:47,970 tölur sem eru eftir kommu. 1729 01:10:47,970 --> 01:10:50,870 Svo ef þú ert ekki með óendanlega fjölda bita, þú 1730 01:10:50,870 --> 01:10:52,940 getur ekki hugsanlega tákna óendanlega 1731 01:10:52,940 --> 01:10:54,800 fjöldi rauntalna. 1732 01:10:54,800 --> 01:10:58,090 >> Svo er það þetta felst imprecision í tölvum og 1733 01:10:58,090 --> 01:11:00,930 þetta fær skemmtiferðamaður yfir öllum þeim tíma, jafnvel í einföldustu 1734 01:11:00,930 --> 01:11:02,260 forrit eins og þetta. 1735 01:11:02,260 --> 01:11:05,640 En einnig í sumum mjög raunverulegur veröld vandamál eins og heilbrigður. 1736 01:11:05,640 --> 01:11:07,790 Í staðreynd, við skulum taka a augnablik til að bara taka a líta á 1737 01:11:07,790 --> 01:11:09,530 eitthvað sem raunverulega gerðist í raun og veru. 1738 01:11:09,530 --> 01:11:11,620 Við munum horfa bara á fyrstu tveimur mínútum, og þá 1739 01:11:11,620 --> 01:11:13,270 við munum setja inn tengil á netinu. 1740 01:11:13,270 --> 01:11:16,700 En þetta er vitnisburður um það sem getur farið úrskeiðis, alveg 1741 01:11:16,700 --> 01:11:19,680 heiðarlega, í mjög sorglegur hátt þegar þessir hlutir eru ekki 1742 01:11:19,680 --> 01:11:23,870 þakka eða bara við mennirnir gera mistök þegar kemur að 1743 01:11:23,870 --> 01:11:26,792 þessar tegundir af upplýsingum framkvæmd nútíma tölvum. 1744 01:11:26,792 --> 01:11:27,284 >> [VIDEO Spilar] 1745 01:11:27,284 --> 01:11:30,730 -Við aftur nú í verkfræði hamförum á nútíma undur. 1746 01:11:30,730 --> 01:11:32,200 Tölvur. 1747 01:11:32,200 --> 01:11:34,920 Við höfum komið öll að samþykkja oft pirrandi vandamál 1748 01:11:34,920 --> 01:11:36,750 að fara með þeim. 1749 01:11:36,750 --> 01:11:40,690 Bugs, veirur, og hugbúnaður galli eru lítil verð til 1750 01:11:40,690 --> 01:11:42,550 borga fyrir þægindi. 1751 01:11:42,550 --> 01:11:45,170 En í Hátækni og hár hraði hersins og rúm 1752 01:11:45,170 --> 01:11:48,450 program forrit, minnsta vandamál geta verið 1753 01:11:48,450 --> 01:11:52,220 mikil í hörmung. 1754 01:11:52,220 --> 01:11:56,780 Hinn 4. júní 1996, vísindamenn reiðubúin til að ráðast á unmanned 1755 01:11:56,780 --> 01:11:58,430 Ariane 5 eldflaug. 1756 01:11:58,430 --> 01:12:00,750 Það var vopnaður vísindalegar gervihnöttum sem ætlað er að 1757 01:12:00,750 --> 01:12:03,580 koma nákvæmlega hvernig segulsvið jarðarinnar 1758 01:12:03,580 --> 01:12:06,900 samskipti með sól vindur. 1759 01:12:06,900 --> 01:12:10,330 Eldflaugar var byggt fyrir Evrópu Space Agency og 1760 01:12:10,330 --> 01:12:13,450 lyft burt af leikni hennar á strönd franska Guyana. 1761 01:12:13,450 --> 01:12:16,970 >> -Á um um 37 sekúndur inn í flugi, fyrst þeir 1762 01:12:16,970 --> 01:12:19,700 taka eitthvað var að fara úrskeiðis, að Nozzles voru 1763 01:12:19,700 --> 01:12:21,590 segulnagli á þann hátt að þeir ættu í raun ekki. 1764 01:12:21,590 --> 01:12:25,020 Um 40 sekúndur í flugi, greinilega ökutæki 1765 01:12:25,020 --> 01:12:27,340 var í vandræðum, og það er þegar þeir tekið þá ákvörðun að 1766 01:12:27,340 --> 01:12:28,136 eyðileggja það. 1767 01:12:28,136 --> 01:12:31,450 A öryggi svið liðsforingi með gríðarlega hugaður þrýsta á 1768 01:12:31,450 --> 01:12:34,160 hnappinn, blés upp eldflaugar áður en það gæti orðið 1769 01:12:34,160 --> 01:12:37,470 hættu að almannaöryggis. 1770 01:12:37,470 --> 01:12:40,750 >> -Þetta var mær ferð á Ariane 5, og þess 1771 01:12:40,750 --> 01:12:43,990 eyðilegging átti sér stað vegna þess að galli embed í 1772 01:12:43,990 --> 01:12:45,480 Rocket hugbúnaður. 1773 01:12:45,480 --> 01:12:47,660 >> -Vandamálið á Ariane var að það var tala sem 1774 01:12:47,660 --> 01:12:51,245 krefst 64 bita til að tjá og að þeir vildu breyta henni 1775 01:12:51,245 --> 01:12:53,010 í 16 bita númer. 1776 01:12:53,010 --> 01:12:54,900 Þeir gera ráð fyrir að fjöldi var aldrei 1777 01:12:54,900 --> 01:12:56,280 að fara að vera mjög stór, 1778 01:12:56,280 --> 01:12:59,920 að flestir þeirra tölustafa í 64 bita númer voru 0s. 1779 01:12:59,920 --> 01:13:01,860 Þeir voru rangar. 1780 01:13:01,860 --> 01:13:04,550 >> -The vanhæfni einn hugbúnaður program til að samþykkja 1781 01:13:04,550 --> 01:13:07,730 konar fjölda mynda af annar var á rót 1782 01:13:07,730 --> 01:13:08,930 bilun. 1783 01:13:08,930 --> 01:13:11,490 Hugbúnaður þróun hefði orðið mjög dýr hluti af 1784 01:13:11,490 --> 01:13:13,280 ný tækni. 1785 01:13:13,280 --> 01:13:16,530 The Ariane 4 flugeldur hefði verið mjög vel. 1786 01:13:16,530 --> 01:13:19,100 Svo mikið af hugbúnaður skapa fyrir það var einnig notað 1787 01:13:19,100 --> 01:13:21,050 á Ariane 5. 1788 01:13:21,050 --> 01:13:25,530 >> -Grunn vandamálið var að Ariane 5 var hraðari, 1789 01:13:25,530 --> 01:13:27,280 hraða hraðar. 1790 01:13:27,280 --> 01:13:30,590 Og hugbúnaður hafði ekki grein fyrir því. 1791 01:13:30,590 --> 01:13:33,060 >> -The eyðileggingu eldflaugar var gríðarstór fjármála 1792 01:13:33,060 --> 01:13:37,670 hörmung, allt vegna mínútu hugbúnaður villa. 1793 01:13:37,670 --> 01:13:40,750 En þetta var ekki í fyrsta skipti sem vefhegðunargögn vandamál höfðu 1794 01:13:40,750 --> 01:13:43,680 stríða nútíma eldflaugar tækni. 1795 01:13:43,680 --> 01:13:44,390 >> DAVID Malan: Við munum láta það á því. 1796 01:13:44,390 --> 01:13:46,870 En þetta er erfðaskrá til hversu við jafnvel sumir af 1797 01:13:46,870 --> 01:13:48,750 þessar lægsta upplýsingar sem við höfum byrjað að 1798 01:13:48,750 --> 01:13:50,040 kanna í dag eru. 1799 01:13:50,040 --> 01:13:52,510 Svo eins og þú færð smá annars hugar kannski af einhverjum 1800 01:13:52,510 --> 01:13:55,240 The setningafræði og arcaneness hér, átta sig á að yfir 1801 01:13:55,240 --> 01:13:57,690 tíma sem við munum leggja áherslu bara á hvernig við þetta er að 1802 01:13:57,690 --> 01:13:59,530 heima langt umfram CS. 1803 01:13:59,530 --> 01:14:00,780 Við munum sjá þig á miðvikudag.