1 00:00:00,000 --> 00:00:11,952 2 00:00:11,952 --> 00:00:13,800 >> DAVID J. MALAN: Eli tämä on CS50. 3 00:00:13,800 --> 00:00:18,970 Ja tämä oli CS50 oma Colton Ogden, enemmän ja kuka musiikkia voit 4 00:00:18,970 --> 00:00:22,820 ladata soundcloud.com/cs50. 5 00:00:22,820 --> 00:00:26,690 >> Joten tänään keskitymme entistä taiteeseen ohjelmointia. 6 00:00:26,690 --> 00:00:28,980 Ja otamme jossa jätimme pois viime viikolla, keskittyen 7 00:00:28,980 --> 00:00:31,660 on Scratch, joka oli tätä graafinen ohjelmointikieli. 8 00:00:31,660 --> 00:00:35,490 Ja ottaa asiat alemmalla tasolla, käytetään enemmän perinteisiä ohjelmointi 9 00:00:35,490 --> 00:00:38,420 kieli tunnetaan C. Mutta matkan varrella, ymmärtämättä 10 00:00:38,420 --> 00:00:40,730 että samoja ideoita me puhui viime perjantaina 11 00:00:40,730 --> 00:00:44,390 uusiutuisi ei ainoastaan ​​tässä C-kieli, mutta useimmissa joka toinen 12 00:00:44,390 --> 00:00:46,350 että katsomme tämän lukukauden. 13 00:00:46,350 --> 00:00:50,247 >> Joten soitimme tämä asia tässä mitä viime kerralla? 14 00:00:50,247 --> 00:00:51,830 Tämä on tyypillinen lausuma. 15 00:00:51,830 --> 00:00:53,080 Niin me kutsutaan tätä julkilausuman. 16 00:00:53,080 --> 00:00:54,100 Ja se tekee jotain. 17 00:00:54,100 --> 00:00:56,910 Se on käsky, joka tietokone tai Scratch voisi toteuttaa. 18 00:00:56,910 --> 00:00:59,910 Ja tästä lähtien, nyt myös aloittaa soittaa jotain tällaista toimintoa, 19 00:00:59,910 --> 00:01:02,070 syistä voi pian. 20 00:01:02,070 --> 00:01:03,681 >> Samalla näimme asioita, kuten tämä. 21 00:01:03,681 --> 00:01:05,680 Ja nämä ovat yleensä tunnetaan mitä rakentaa? 22 00:01:05,680 --> 00:01:06,240 >> Yleisö: Loop. 23 00:01:06,240 --> 00:01:06,860 >> DAVID J. MALAN: Niin silmukka. 24 00:01:06,860 --> 00:01:07,943 Joten melko suoraviivaista. 25 00:01:07,943 --> 00:01:09,470 Se kirjaimellisesti mitä se sanoo. 26 00:01:09,470 --> 00:01:12,210 Ja Scratch, jos haluat ahtaa enemmän palapelin palaset siellä, 27 00:01:12,210 --> 00:01:13,950 pala kasvaa asenna se. 28 00:01:13,950 --> 00:01:16,790 Ja näemme C, että Voimme tehdä sama asia. 29 00:01:16,790 --> 00:01:20,000 >> Toinen tyyppi silmukan, vaikka, Scratch ehkä ikuisesti, 30 00:01:20,000 --> 00:01:21,820 tai siellä mitään numero Muiden lähestymistapoja. 31 00:01:21,820 --> 00:01:24,150 Mutta otetaanpa lisää yleis ilme kasvot 32 00:01:24,150 --> 00:01:27,402 se on todennäköisesti varsin tuttuja, klo kierroksia yleisemmin. 33 00:01:27,402 --> 00:01:29,110 Mark Zuckerberg: Yksi asia, että tietokoneet 34 00:01:29,110 --> 00:01:31,860 ovat todella hyvä on toistuvia komentoja. 35 00:01:31,860 --> 00:01:33,910 Koska henkilö, voit saada todella tylsää jos 36 00:01:33,910 --> 00:01:36,730 täytyi tehdä sama asia monta kertaa peräkkäin. 37 00:01:36,730 --> 00:01:40,530 Mutta tietokone voi tehdä saman asian miljoonia tai jopa miljardeja kertoja, 38 00:01:40,530 --> 00:01:43,290 ja ei kyllästy, ja kyettävä sen toteuttamiseen todella hyvin. 39 00:01:43,290 --> 00:01:45,650 >> Niinpä esimerkiksi, jos saan halusi toivottaa kaikille 40 00:01:45,650 --> 00:01:48,840 Facebookissa hyvää syntymäpäivää lähettämällä heille sähköpostia, 41 00:01:48,840 --> 00:01:51,550 se saattaa kestää minua enemmän kuin luvulla todella kirjoittaa ulos 42 00:01:51,550 --> 00:01:53,000 kaikki nämä sähköpostit kaikille. 43 00:01:53,000 --> 00:01:57,780 Mutta vain muutaman rivin koodia, voin on järjestelmä lähettää sähköpostia kaikille 44 00:01:57,780 --> 00:01:59,930 Facebook haluaa heille hyvää syntymäpäivää. 45 00:01:59,930 --> 00:02:02,730 Niin, että mitä silmukat ovat ja miksi he ovat arvokkaita ja jotain 46 00:02:02,730 --> 00:02:04,740 että tietokoneet voivat tehdä hyvin. 47 00:02:04,740 --> 00:02:05,630 >> DAVID J. MALAN: Joten jos olet ollut vastaanottaja 48 00:02:05,630 --> 00:02:07,820 joidenkin CS50: n ja Dropbox: n tila myöhään, 49 00:02:07,820 --> 00:02:10,590 joka on oikeastaan ​​juuri me tehdä käyttäen koodia aivan niin. 50 00:02:10,590 --> 00:02:12,600 Meillä lähinnä on suuri laskentataulukko, johon 51 00:02:12,600 --> 00:02:15,016 ihmiset ovat syöttämällä niiden nimet ja sähköpostiosoitteet. 52 00:02:15,016 --> 00:02:18,160 Ja kirjoitimme pikkuisen koodia, joka voi kerrata yli osoitteet 53 00:02:18,160 --> 00:02:21,860 ja sylkemään ainutlaatuinen osoitteet jos joku esittänyt useita kertoja. 54 00:02:21,860 --> 00:02:25,120 Ja sen jälkeen lähetämme automatisoitu sähköpostia CS50: n botti, 55 00:02:25,120 --> 00:02:27,190 lukien kuponkikoodi. 56 00:02:27,190 --> 00:02:29,290 >> Nyt tarkasteltiin myös tämä rakentaa viime kerralla. 57 00:02:29,290 --> 00:02:33,100 Ja tämä on erityisen Esimerkiksi mitä? 58 00:02:33,100 --> 00:02:35,050 Niin, joo, Boolen lauseke. 59 00:02:35,050 --> 00:02:37,050 Ja muoto on tarkoitettu kaapata, että samoin. 60 00:02:37,050 --> 00:02:39,966 Kaikki tällaiset kysymykset muodostavat totta vai tarua Scratch 61 00:02:39,966 --> 00:02:41,590 näyttävät hieman jotain tällaista. 62 00:02:41,590 --> 00:02:43,200 Ja me kutsumme tätä Boolen lauseke. 63 00:02:43,200 --> 00:02:46,170 Se on todellakin totta vai tarua, kyllä ​​tai ei. 64 00:02:46,170 --> 00:02:49,150 Se on keino vastata kysymykseen. 65 00:02:49,150 --> 00:02:52,420 >> Ja välin voit käyttää näitä Boolen ilmauksia sisällä konstruktioita 66 00:02:52,420 --> 00:02:54,720 kuten nämä, mitkä Tietenkin ovat edellytyksiä 67 00:02:54,720 --> 00:02:57,259 tai oksat, sananlaskun haarautuu tie. 68 00:02:57,259 --> 00:02:59,550 Ja he voivat katsoa paitsi näin, mutta ne voivat myös 69 00:02:59,550 --> 00:03:02,080 ovat elses niihin liittyviä. 70 00:03:02,080 --> 00:03:05,820 Ja voit itse olla kolmialueisella tienhaaraan tai neljän tapa haarukka 71 00:03:05,820 --> 00:03:08,340 tien, yksinkertaisesti pesintä näitä asioita, 72 00:03:08,340 --> 00:03:10,510 kuten näet Scratch jos et ole jo. 73 00:03:10,510 --> 00:03:13,550 Ja kuten voit tehdä C samoin. 74 00:03:13,550 --> 00:03:16,810 >> Otetaan toinen yleis katsokaa alumnist, samoin, joka 75 00:03:16,810 --> 00:03:21,490 saattavat aiheuttaa erilaisen lähestymistavan näihin asioihin nimeltään olosuhteissa. 76 00:03:21,490 --> 00:03:24,060 >> Bill Gates: Ihmiset tekevät päätöksiä joka päivä. 77 00:03:24,060 --> 00:03:27,530 Esimerkiksi, ennen kuin mennä ulos sinua sellainen on, jos ilmoitus, joka sanoo, 78 00:03:27,530 --> 00:03:31,480 jos sataa niin minä täytyy saada takkini. 79 00:03:31,480 --> 00:03:36,820 Ja tietokoneet ovat uskomattomia, kun olet päättää tuollaiset lausunnot, 80 00:03:36,820 --> 00:03:42,280 että he voivat luotettavasti toteuttaa niitä asioita uskomattoman nopeasti. 81 00:03:42,280 --> 00:03:48,240 Ja niin tietokoneohjelman todella on hieman matematiikkaa ja joidenkin 82 00:03:48,240 --> 00:03:53,050 jos lausunnot, joissa päätöksen saa tehdä. 83 00:03:53,050 --> 00:03:55,020 >> DAVID J. MALAN: Niin kuin ehkä tiedätte, se oli 84 00:03:55,020 --> 00:03:57,880 ihmiset kuten Bill Gates, Paul Allen, ja toiset 85 00:03:57,880 --> 00:04:00,240 että todella potkittiin pois niin sanottu henkilökohtainen tietokone 86 00:04:00,240 --> 00:04:01,990 vallankumous joitakin vuosia sitten. 87 00:04:01,990 --> 00:04:04,140 Ajattelin, ennen kuin sukeltaa johonkin Administrivia, 88 00:04:04,140 --> 00:04:09,920 olimme liittyvät tarina päässä Albuquerque, New Mexico Museum of Natural History 89 00:04:09,920 --> 00:04:13,650 ja tiede joissa jotkut Bill Gates " ja Paul Allenin aikaisintaan tarinoita 90 00:04:13,650 --> 00:04:17,470 ovat selostaneet meillä on nyt nykypäivän tietokoneet ja Macit ja enemmän. 91 00:04:17,470 --> 00:04:22,390 Tätä, vaikka tarvitsemme kaksi vapaaehtoista joilla on erittäin hyvä kerronta ääniä 92 00:04:22,390 --> 00:04:23,735 lukea käsikirjoituksen ääneen. 93 00:04:23,735 --> 00:04:25,530 >> Okei, entä tuolla. 94 00:04:25,530 --> 00:04:26,120 Tule ylös. 95 00:04:26,120 --> 00:04:27,770 Ja entä edessä täällä. 96 00:04:27,770 --> 00:04:28,340 Tulkaa alas. 97 00:04:28,340 --> 00:04:29,600 Ota paikkoja täällä. 98 00:04:29,600 --> 00:04:32,444 Kuten te keksiä, pari hallinnollisten ilmoitukset. 99 00:04:32,444 --> 00:04:34,360 leikkaamista, prosessi valita osio, 100 00:04:34,360 --> 00:04:36,068 alkaa tästä Keskiviikosta perjantaihin. 101 00:04:36,068 --> 00:04:38,400 Siitä lisää ensi Keskiviikkona luento. 102 00:04:38,400 --> 00:04:41,770 >> Super kohdat puolestaan ​​ovat jotain, että tarjoamme ensi viikolla 103 00:04:41,770 --> 00:04:45,310 jolloin koko luokan kehotetaan osallistua melko suuressa mittakaavassa 104 00:04:45,310 --> 00:04:47,690 kohdat, yksi enemmän mukavia, yksi vähemmän mukava. 105 00:04:47,690 --> 00:04:51,340 Ja kerromme tiedot Kyseisen sekä myöhemmin tällä viikolla. 106 00:04:51,340 --> 00:04:53,310 >> Samalla kohdat, itse, alkaa 107 00:04:53,310 --> 00:04:57,241 viikolla kolme tietenkin nolla indeksi, mikä tarkoittaa ne ovat pari viikkoa 108 00:04:57,241 --> 00:04:57,740 ulos. 109 00:04:57,740 --> 00:04:58,450 Joten ei hätää. 110 00:04:58,450 --> 00:05:01,014 Et ole vielä menetetty jotain tämänsuuntaista. 111 00:05:01,014 --> 00:05:03,930 Samaan sillä välin, jos on kysyttävää hallinnollisesti, 112 00:05:03,930 --> 00:05:08,120 email itseäni ja Devonin ja Gabe ja Rob tässä osoitteessa täällä. 113 00:05:08,120 --> 00:05:10,320 >> Lopuksi, ongelma asetetaan 0 on tietenkin ulos. 114 00:05:10,320 --> 00:05:12,320 Olet ehkä huomannut sitä kurssin kotisivuilla. 115 00:05:12,320 --> 00:05:14,840 Sen pitäisi antaa sinulle kaikki vastauksia kysymyksiin 116 00:05:14,840 --> 00:05:18,250 saatat olla matkan varrella aloittanut ongelmaan asetettu. 117 00:05:18,250 --> 00:05:21,430 Mutta jos huomaat tarvitsevat auttavaa kättä, 118 00:05:21,430 --> 00:05:25,020 kaikin keinoin osallistumaan virka, Maanantai, tiistai, keskiviikko, torstai 119 00:05:25,020 --> 00:05:27,290 Tämän viikon illalla neljä ruokasalia. 120 00:05:27,290 --> 00:05:31,650 Katso, että URL siellä tiedot missä virka on. 121 00:05:31,650 --> 00:05:34,000 >> Nyt Tavataan meidän kaksi vierasta täällä tänään. 122 00:05:34,000 --> 00:05:34,740 Mikä sinun nimesi on? 123 00:05:34,740 --> 00:05:35,290 >> JAY PAUL: Jay Paul. 124 00:05:35,290 --> 00:05:36,880 >> DAVID J. MALAN: Jay Paul, hauska tavata. 125 00:05:36,880 --> 00:05:37,330 >> Hikari: Hikari. 126 00:05:37,330 --> 00:05:37,975 >> DAVID J. MALAN: Hikari? 127 00:05:37,975 --> 00:05:38,250 >> Hikari: Hikari. 128 00:05:38,250 --> 00:05:38,810 >> DAVID J. MALAN: Hikari. 129 00:05:38,810 --> 00:05:39,790 Hauska tavata myös. 130 00:05:39,790 --> 00:05:42,123 Jay Paul ja Hikari ovat eteensä näitä musiikki 131 00:05:42,123 --> 00:05:45,100 seisoo kaksi skriptejä, että olen painettu tänä aamuna New Mexico 132 00:05:45,100 --> 00:05:46,692 Museum of Natural History ja tiede. 133 00:05:46,692 --> 00:05:48,400 Ja mitä ajattelin Tekisin sen yläpuolella 134 00:05:48,400 --> 00:05:52,830 on mukana teidän lausunta käsikirjoituksen ja tätä historiaa 135 00:05:52,830 --> 00:05:54,700 joitakin visuaalisia kuvia, ei yllätyksiä. 136 00:05:54,700 --> 00:05:57,512 >> Ja mitä olen tehnyt etukäteen on prehighlight oman käsikirjoituksen 137 00:05:57,512 --> 00:05:59,470 mitä pitäisi lukea, ja mitä pitäisi lukea. 138 00:05:59,470 --> 00:06:00,920 Ja me lähinnä vain varajäsen kohdat. 139 00:06:00,920 --> 00:06:03,211 Niin se on paljon kuin saatat ovat tehneet Englanti luokassa. 140 00:06:03,211 --> 00:06:06,875 Se on todella pakottaa yleisö uskoa teidän tarina täällä. 141 00:06:06,875 --> 00:06:07,600 Mennäänkö? 142 00:06:07,600 --> 00:06:13,272 Joten tarina tässä, meillä on BASIC, ja se alkaa Cambridge. 143 00:06:13,272 --> 00:06:18,750 >> JAY PAUL: Oli talvi, 1974, Cambridge, Massachusetts 144 00:06:18,750 --> 00:06:20,240 jossa talvet voivat olla kylmiä. 145 00:06:20,240 --> 00:06:22,800 Parrakas, pitkäkarvainen college keskeyttäneiden nimetty 146 00:06:22,800 --> 00:06:27,280 Paul Allen on drudging poikki Harvardin Neliö, imeytyy hänen ajatuksensa. 147 00:06:27,280 --> 00:06:31,050 Hänen suurin huolenaihe näinä päivinä oli miten saada hänen ystävänsä, Bill Gates, 148 00:06:31,050 --> 00:06:34,974 lopettaa koulun ja mennä liiketoiminnaksi hänen kanssaan. 149 00:06:34,974 --> 00:06:37,890 Hikari: kaksi oli jo mennyt läpi useita yrityshankkeita 150 00:06:37,890 --> 00:06:40,850 yhdessä, alkaa Lakeside koulu Seattlessa, jossa 151 00:06:40,850 --> 00:06:45,220 ne maksettiin ilmainen tietokone aika Testaa PDP-10 tietokoneen paikallista aikaa 152 00:06:45,220 --> 00:06:46,580 jakaminen yritys. 153 00:06:46,580 --> 00:06:50,930 Tuorein suunnitelma oli lopettaa koulu ja muodostavat ohjelmistoyritys. 154 00:06:50,930 --> 00:06:53,440 Allen oli lähtenyt Washington State University. 155 00:06:53,440 --> 00:06:58,380 Mutta viime hetkellä, Gates päätti pitäytyä Harvard. 156 00:06:58,380 --> 00:07:02,080 >> JAY PAUL: Sinä päivänä, ylittäessään Harvard Neliö, Allen huomasi tammikuussa 157 00:07:02,080 --> 00:07:07,530 1975 kysymystä Popular Electronics maan kanssa lopettamisesta otsikko, 158 00:07:07,530 --> 00:07:11,900 Maailman ensimmäinen Minicomputer Kit Rival Kaupalliset mallit. 159 00:07:11,900 --> 00:07:14,430 Beneath otsikko oli kuva pieni laatikko 160 00:07:14,430 --> 00:07:16,160 koristeltu valot ja kytkimet. 161 00:07:16,160 --> 00:07:19,770 Se oli nimeltään MITS Altair 8800. 162 00:07:19,770 --> 00:07:24,100 Ja Allen tiesi tämä oli mitä hän oli etsinyt. 163 00:07:24,100 --> 00:07:26,350 >> Hikari: Days of käytiin keskustelu. 164 00:07:26,350 --> 00:07:30,170 Allen ja Gates ymmärtänyt merkityksen Altair. 165 00:07:30,170 --> 00:07:32,480 He olivat puhuneet usein noin mikroprosessorien 166 00:07:32,480 --> 00:07:35,250 ja odottivat mitä tehtäisiin niiden kanssa. 167 00:07:35,250 --> 00:07:39,770 Nyt siellä oli minitietokonejärjestelmäinsinöörinä pakki kansi Popular Electronics. 168 00:07:39,770 --> 00:07:42,830 Se ilmeisesti ei ollut ohjelmistoa vielä. 169 00:07:42,830 --> 00:07:46,830 He kuvittelivat kansakunta ohjelmoijat laskeutui MITS. 170 00:07:46,830 --> 00:07:49,590 Ja niin he kutsuivat Ed Roberts, johtaja yhtiö, 171 00:07:49,590 --> 00:07:53,330 väitetään olevan version BASIC-ohjelmointikielen lähes valmis 172 00:07:53,330 --> 00:07:54,710 varten Altair. 173 00:07:54,710 --> 00:07:55,570 He eivät. 174 00:07:55,570 --> 00:07:58,910 Ja Roberts on täytynyt tietää, he eivät. 175 00:07:58,910 --> 00:08:03,170 Hän oli saamassa 10 puhelua päivässä ihmisiä, joilla oli BASIC melkein valmis. 176 00:08:03,170 --> 00:08:05,570 Ja hänen varastossa vastaus oli "ensimmäinen henkilö 177 00:08:05,570 --> 00:08:11,090 joka näkyy kanssa työskentely BASIC saa sopimuksen. " 178 00:08:11,090 --> 00:08:13,910 >> JAY PAUL: Gates ja Allen ollut koskaan nähnyt Altair. 179 00:08:13,910 --> 00:08:17,600 He eivät olleet koskaan edes nähnyt Intel 8080 mikroprosessori 180 00:08:17,600 --> 00:08:19,060 ytimessä Altair. 181 00:08:19,060 --> 00:08:21,470 Mutta pari vuotta aikaisemmin Allen oli kirjoittanut ohjelman 182 00:08:21,470 --> 00:08:25,220 on suurtietokone joka emuloi toiminta edellisen Intel 183 00:08:25,220 --> 00:08:26,217 mikroprosessori. 184 00:08:26,217 --> 00:08:28,300 Ja tällä kertaa he tekisi samoin. 185 00:08:28,300 --> 00:08:31,530 186 00:08:31,530 --> 00:08:34,380 >> Hikari: With Intel 8080 ohjeen vierellään, 187 00:08:34,380 --> 00:08:37,770 Allen istui Harvard PDP-10 tietokone 188 00:08:37,770 --> 00:08:42,010 ja kirjoitti emulaattori ja ohjelmistot tarvittavat välineet tehdä ohjelmointia. 189 00:08:42,010 --> 00:08:45,820 Samalla Gates lakkasi käymästä luokkiin ja omistautui 190 00:08:45,820 --> 00:08:48,120 suunnitteluun BASIC, käyttää kaikki mahdolliset keinot 191 00:08:48,120 --> 00:08:53,130 hän tiesi saada kokoon alhaalla 4 kilotavua. 192 00:08:53,130 --> 00:08:55,870 >> JAY PAUL: Out in Albuquerque, Ed Roberts sai puhelun Gates 193 00:08:55,870 --> 00:08:59,754 pyytää lisätietoja siitä, miten Altair hoidetaan tiettyjä rutiineja. 194 00:08:59,754 --> 00:09:01,170 Kukaan ei ollut koskaan pyytänyt, että ennen. 195 00:09:01,170 --> 00:09:02,670 Roberts alkoi kiinnostua. 196 00:09:02,670 --> 00:09:05,240 197 00:09:05,240 --> 00:09:07,970 >> Hikari: Kehittämisen työkalut sekä suunnittelun valmiiksi, 198 00:09:07,970 --> 00:09:10,780 Gates ja Allen kirjoitti koodi PDP-10, 199 00:09:10,780 --> 00:09:16,060 kutsumalla toinen Harvardin opiskelija, Monte Davidoff, kirjoittaa matematiikka rutiinit. 200 00:09:16,060 --> 00:09:19,450 Jälkeen viimeinen yö ohjelmointi, Allen sai lentokoneessa 201 00:09:19,450 --> 00:09:22,970 toimittamaan BASIC MITS. 202 00:09:22,970 --> 00:09:25,800 Hän vietti kone ratsastaa ulos huolestuttava. 203 00:09:25,800 --> 00:09:28,490 Ja takaisin Cambridge Gates oli huolestuttava. 204 00:09:28,490 --> 00:09:32,100 He olivat testanneet perus-ja se oli työskennellyt emulaattori. 205 00:09:32,100 --> 00:09:35,444 Mutta entä jos emulaattori oli väärässä? 206 00:09:35,444 --> 00:09:37,360 JAY PAUL: Kun kone lähestyi Albuquerque, 207 00:09:37,360 --> 00:09:40,070 Allen tajusi, että heidän BASIC, nyt siististi sisälsi 208 00:09:40,070 --> 00:09:42,460 pieni rulla rei'itetty paperi nauha, olisi 209 00:09:42,460 --> 00:09:44,970 hyödytön ilman erillistä ohjelma, nimeltään kuormaaja, joka 210 00:09:44,970 --> 00:09:47,550 kertoisi Altair miten lukea paperiteipillä olento 211 00:09:47,550 --> 00:09:49,620 syötetään Teletype koneeseen. 212 00:09:49,620 --> 00:09:52,970 Hän otti esiin kannettavan ja nopeasti intiimissä alas kuormaajasarjassa 213 00:09:52,970 --> 00:09:56,819 Assembly kieli, sitten manuaalisesti käännetty että osaksi 1s ja 0s 214 00:09:56,819 --> 00:09:57,985 Altair ymmärtäisi. 215 00:09:57,985 --> 00:10:00,530 216 00:10:00,530 --> 00:10:03,830 >> Hikari: Allen odotti puhdas, pieni, korkean teknologian yritys 217 00:10:03,830 --> 00:10:05,470 hoitaa miesten puku. 218 00:10:05,470 --> 00:10:09,210 Joten hän oli yllättynyt, kun Roberts tapasi hänet lentokentällä näköisenä karjatila 219 00:10:09,210 --> 00:10:10,270 käsin. 220 00:10:10,270 --> 00:10:12,070 Roberts oli myös yllättynyt. 221 00:10:12,070 --> 00:10:16,340 Kun hän putosi Harvardin ohjelmoijana kallis hotelli, 222 00:10:16,340 --> 00:10:20,790 Allen oli tunnustettava, että Hän ei ollut varaa huone. 223 00:10:20,790 --> 00:10:24,510 >> JAY PAUL: MITS, itse, oli sijaitsevat pölyisessä nauhat mall. 224 00:10:24,510 --> 00:10:27,040 Sisällä on sekainen Workbench oli Altair 225 00:10:27,040 --> 00:10:30,390 lastattuna enintään 5 kilotavua muistin ja yhdistetty kaapelilla 226 00:10:30,390 --> 00:10:32,030 to Teletype koneeseen. 227 00:10:32,030 --> 00:10:37,200 Roberts ja konepäällikkö, Bill Yates, odottivat 228 00:10:37,200 --> 00:10:40,660 kuten Allen toggled hänen kuormaaja ohjelma Altair. 229 00:10:40,660 --> 00:10:44,980 Teletype alkoi chugging kuin se vedetään paperi nauha nauhan läpi lukija. 230 00:10:44,980 --> 00:10:47,215 Kesti ehkä 15 minuuttia ladata ohjelman. 231 00:10:47,215 --> 00:10:52,110 Sitten Teletype äkillisesti painettu muistin nopea, sitten valmis ajallaan, 232 00:10:52,110 --> 00:10:55,340 ja Allen alkoi kirjoittaa Muutama testi komentoja. 233 00:10:55,340 --> 00:10:57,400 Jotta kaikkien hämmästykseksi, ohjelmisto toimi. 234 00:10:57,400 --> 00:10:58,525 Oli vikoja, tietenkin. 235 00:10:58,525 --> 00:11:02,070 Mutta tärkeintä oli se toimi. 236 00:11:02,070 --> 00:11:06,570 >> Hikari: Myöhemmin, matkalla 3,00 dollari lounas Torressa, ampiainen lensi 237 00:11:06,570 --> 00:11:10,470 ikkunassa pickup kuorma-ja pisti Allen käsivarteen. 238 00:11:10,470 --> 00:11:13,070 Mutta siinä vaiheessa mitään voisi pilata tunnelman. 239 00:11:13,070 --> 00:11:17,210 Altair oli nyt perustehtävänsä, Ensimmäinen kaupallinen ohjelmisto kotiin 240 00:11:17,210 --> 00:11:23,260 tietokone, teki Paul Allen ja Bill Gates, liiketoimintaa kuin Microsoft. 241 00:11:23,260 --> 00:11:25,336 >> DAVID J. MALAN: Monet kiitos kahden lukijoille. 242 00:11:25,336 --> 00:11:30,690 >> [APPLAUSE] 243 00:11:30,690 --> 00:11:32,520 >> DAVID J. MALAN: Nyt olet valintasi, 244 00:11:32,520 --> 00:11:35,880 Ennen kuin lähdet, ja kuohuvaa tai hehkuu dark-- OH, 245 00:11:35,880 --> 00:11:40,810 odota sekuntia, odota-- hapokas ja loistaa pimeässä norsu 246 00:11:40,810 --> 00:11:42,534 alkaen CS50 oma Cheng Gong. 247 00:11:42,534 --> 00:11:43,450 Hikari: Oi, kiitos. 248 00:11:43,450 --> 00:11:45,324 DAVID J. MALAN: Kaikki oikea, kiitos paljon. 249 00:11:45,324 --> 00:11:49,855 [APPLAUSE] 250 00:11:49,855 --> 00:11:51,105 DAVID J. MALAN: Niin tositarina. 251 00:11:51,105 --> 00:11:54,380 Tämä tarkoittaa sitä, että kaikki nämä koneet ja helppous, jolla me 252 00:11:54,380 --> 00:11:56,270 käyttää niitä nyt ja kestää itsestäänselvyytenä, todella 253 00:11:56,270 --> 00:12:00,070 alkoi täällä, vain muutaman askeleen Tämän todellisen teatterin. 254 00:12:00,070 --> 00:12:03,930 Ja nyt tänään, jos et ole ollut, tämä on Maxwell Dworkin, tietokone 255 00:12:03,930 --> 00:12:05,810 tieteiden rakennus, Myös nurkan takana. 256 00:12:05,810 --> 00:12:09,760 Ja toisessa kerroksessa tämän Rakennuksessa ei roikkua kolme sivua 257 00:12:09,760 --> 00:12:12,740 alkuperäisestä lähdekoodista Bill Gates ja Paul Allen kirjoitti. 258 00:12:12,740 --> 00:12:14,770 Itse asiassa, jos käyttö zoomatessasi teihin voi nähdä paitsi 259 00:12:14,770 --> 00:12:17,350 niiden nimet alkuperäinen tyyppi, mutta myös 260 00:12:17,350 --> 00:12:22,100 allekirjoituksensa että ne koristavat Muutama vuosi sitten, kun he viimeksi käynyt. 261 00:12:22,100 --> 00:12:25,800 >> Mutta mikä oli erityisen vakuuttava tästä on mitä he lähtivät tekemään 262 00:12:25,800 --> 00:12:29,760 oli kirjoittaa ohjelma, joka jotta muut ihmiset kirjoittamaan 263 00:12:29,760 --> 00:12:30,950 omia ohjelmia. 264 00:12:30,950 --> 00:12:34,280 Tuolloin kaikki oli kanssa Tämän Altair koneen tekemät MITS. 265 00:12:34,280 --> 00:12:40,020 Ja kaikki he tarvitsivat oli jotenkin mikä helpottaa harrastajat ja ihmiset 266 00:12:40,020 --> 00:12:45,300 pidä meistä tässä salissa todella ohjelmaan että ilman välttämättä ymmärrystä 267 00:12:45,300 --> 00:12:49,060 Assembly, tai kone koodia, tai Jumala varjelkoon, 0s ja 1s. 268 00:12:49,060 --> 00:12:51,190 Meidän ohjelmoijat, kuten ne tässä huoneessa, me 269 00:12:51,190 --> 00:12:54,070 haluavat pystyä ilmaisemaan itse paljon enemmän kuin pseudokoodin 270 00:12:54,070 --> 00:12:57,330 vaikka se on hieman nit nirso kuin puhuimme viime viikolla. 271 00:12:57,330 --> 00:13:00,970 Emme halua kirjoittaa koodia näin, jonka Paul Allen ja Bill Gates teki. 272 00:13:00,970 --> 00:13:04,850 Me sen sijaan halua kirjoittaa koodia, joka näyttää hieman käyttäjäystävällisempi. 273 00:13:04,850 --> 00:13:07,150 >> Nyt tämä on kieli tunnetaan BASIC. 274 00:13:07,150 --> 00:13:11,497 Ja linja numerot on mitä käyttää vain numero riviä koodia 275 00:13:11,497 --> 00:13:12,330 että olet kirjoittamassa. 276 00:13:12,330 --> 00:13:14,038 Emme edes tarvitse tehdä näinä päivinä. 277 00:13:14,038 --> 00:13:16,060 Mutta näet tästä miten PRINT "Hello, world" 278 00:13:16,060 --> 00:13:18,660 todellakin oletettavasti tulostaa juuri sitä. 279 00:13:18,660 --> 00:13:22,710 Ja niin mitä Bill ja Paavali oli voimaannuttaa ihmisiä kirjoittamaan koodia näin 280 00:13:22,710 --> 00:13:27,240 sijaan of-- jos katsomaan tietojenkäsittelytiede wall-- koodia näin. 281 00:13:27,240 --> 00:13:29,290 >> Itse asiassa, CS50 äskettäin oli tilaisuus 282 00:13:29,290 --> 00:13:32,540 istua alas professori Harry Lewis in Computer Science osasto, joka 283 00:13:32,540 --> 00:13:34,640 todella opetti Bill Gates joitakin vuosia sitten, 284 00:13:34,640 --> 00:13:38,460 ja seisoo täällä ennen nämä kolme sivua otteita. 285 00:13:38,460 --> 00:13:39,560 Katsotaanpa katsomaan. 286 00:13:39,560 --> 00:13:45,520 >> HARRY LEWIS: Mitä olet tässä listaus varhain pala ohjelmisto 287 00:13:45,520 --> 00:13:50,240 kirjoittanut Bill Gates ja Paul Allen, perustajat Microsoft. 288 00:13:50,240 --> 00:13:52,570 Joten koodi on mielenkiintoinen kahdesta syystä. 289 00:13:52,570 --> 00:13:55,480 Ensinnäkin, se muuttui Microsoftin ensimmäinen tuote, 290 00:13:55,480 --> 00:14:01,810 joka oli tulkin BASIC-ohjelmointikielen. 291 00:14:01,810 --> 00:14:04,940 Ja toiseksi, tämä oli yksi ensimmäisistä yrityksistä 292 00:14:04,940 --> 00:14:10,580 luoda tulkki niin tavallinen ihmiset voisivat käyttää henkilökohtaisia ​​tietokoneita. 293 00:14:10,580 --> 00:14:12,670 >> Joten Bill Gates oli perustutkintoa Harvardissa. 294 00:14:12,670 --> 00:14:14,820 Aloin opettaa Harvardissa vuonna 1974. 295 00:14:14,820 --> 00:14:16,560 Tämä tapahtui vuonna 1975. 296 00:14:16,560 --> 00:14:20,180 Joten se oli alussa uransa ja varhain urallani. 297 00:14:20,180 --> 00:14:23,790 Olen itse opettanut Bill Tietenkin aikoihin. 298 00:14:23,790 --> 00:14:27,130 Paul Allen ei ollut Harvardin opiskelija, mutta hän 299 00:14:27,130 --> 00:14:31,020 oli lukion luokkatoveri Bill Gates. 300 00:14:31,020 --> 00:14:33,740 Jos tulet ja katsoa klo listalle, sinun 301 00:14:33,740 --> 00:14:36,230 itse löytää kolmasosaa nimi, Monte Davidoff, 302 00:14:36,230 --> 00:14:39,260 joka oli Gatesin luokkatoveri täällä Harvardissa. 303 00:14:39,260 --> 00:14:41,340 >> OK, joten tässä on mielenkiintoinen kommentti tänne. 304 00:14:41,340 --> 00:14:47,150 Se sanoo "4K voi poistaa neliöjuuri mutta silmukoita pitäisi silti toimia. " 305 00:14:47,150 --> 00:14:53,080 OK, niin mitä se tarkoittaa, että on olemassa oli kaksi tapaa kääntää tämän ohjelman. 306 00:14:53,080 --> 00:14:57,860 Yksi oli ajaa versio Tämän Altair tietokone 307 00:14:57,860 --> 00:15:04,310 että oli vain 4K sanat muistin, 4096 sanaa muistia. 308 00:15:04,310 --> 00:15:07,050 Mutta iso versio oli 8K. 309 00:15:07,050 --> 00:15:09,770 Ja niin mitä tämä sanoo, on että 4K-versio 310 00:15:09,770 --> 00:15:12,770 sinun piti poistaa joitakin koodin, jotta se sopii. 311 00:15:12,770 --> 00:15:14,790 Ja yksi niistä asioista joka poistetaan 312 00:15:14,790 --> 00:15:16,290 olisi neliöjuuri rutiinia. 313 00:15:16,290 --> 00:15:20,360 Mutta ilmeisesti silmukoita pitäisi vielä 314 00:15:20,360 --> 00:15:26,392 toimi, vaikka olet kokoamisessa alas vain 4K versio tietokoneen. 315 00:15:26,392 --> 00:15:29,350 DAVID J. MALAN: Eli yksi teemoista, kuten tulemme näkemään tietotekniikassa, 316 00:15:29,350 --> 00:15:31,430 tämä käsite kerrospukeutuminen ja abstraktio, 317 00:15:31,430 --> 00:15:34,670 ja todella seisoo hartiat ihmisiä, jotka ovat tulleet ennen meitä, ei 318 00:15:34,670 --> 00:15:37,890 toisin kuin jotkut Bill Gates ja Paul Allen kerronnan täällä. 319 00:15:37,890 --> 00:15:40,080 Ja mitä tämä tarkoittaa että tänään voimme ottaa varten 320 00:15:40,080 --> 00:15:43,490 myöntää, että asiat ovat todella helpompaa meille kirjoittaa koodia. 321 00:15:43,490 --> 00:15:47,170 Itse koodi, kuten sanoimme perjantaina, on teknisesti kutsutaan lähdekoodia. 322 00:15:47,170 --> 00:15:52,210 Ja se on tämä Englanti syntaksi joka on enemmän oikea ja paremmin määritellyt 323 00:15:52,210 --> 00:15:55,480 kuin jotain pseudo koodi, joka ei ole virallista määritelmää. 324 00:15:55,480 --> 00:15:58,320 >> Ja tänään me menemme keskittyä lähdekoodia 325 00:15:58,320 --> 00:16:01,010 joka näyttää tältä, mikä tosin ensi silmäyksellä 326 00:16:01,010 --> 00:16:02,690 näyttää täysin arvoituksellinen. 327 00:16:02,690 --> 00:16:08,540 Ja suoraan sanottuna, se tie esteettisesti monimutkaisempi kuin taustalla ohjelma on. 328 00:16:08,540 --> 00:16:13,300 Kaikki tämä ohjelma tekee, muistaa, on se, mitä me sanoa? 329 00:16:13,300 --> 00:16:14,990 Se vain tulostaa "Hello World". 330 00:16:14,990 --> 00:16:19,600 Ja vielä tarkastella kaikkia juttuja meidän kietoa että hyvin yksinkertainen lause. 331 00:16:19,600 --> 00:16:21,750 Mutta ennen pitkää kaikki nämä linjat ja enemmän 332 00:16:21,750 --> 00:16:24,800 tekee paljon paremmin järkeä sinulle. 333 00:16:24,800 --> 00:16:26,940 >> Ja virtaus on seuraava. 334 00:16:26,940 --> 00:16:31,220 Mitä me tarvitsemme käytössämme on ottaa koodia, kuten lähde 335 00:16:31,220 --> 00:16:32,340 koodi että me juuri näin. 336 00:16:32,340 --> 00:16:35,060 Ja tarvitsemme uutta ohjelmaa ajaa se läpi. 337 00:16:35,060 --> 00:16:39,130 Tarvitsemme algoritmeja, jotka voivat muuntaa lähdekoodia, kuten tämä, 338 00:16:39,130 --> 00:16:41,932 osaksi kohdekoodi, 0s ja 1s. 339 00:16:41,932 --> 00:16:43,890 Toisin sanoen, mitä aiomme oppia tänään 340 00:16:43,890 --> 00:16:46,620 on, miten tämä, kirjoittaa lähdekoodin alkuun asti, 341 00:16:46,620 --> 00:16:49,930 siirtää se tulona erityinen Ohjelma tunnetaan kääntäjä, 342 00:16:49,930 --> 00:16:52,140 ja aiomme tuottaa objektin koodi. 343 00:16:52,140 --> 00:16:54,600 Joka on vain hieno tapa sanoen otamme jotain 344 00:16:54,600 --> 00:16:58,350 joka näyttää tältä, vie se tulee ohjelma nimeltä kääntäjä, 345 00:16:58,350 --> 00:17:01,210 tuottavat kohdekoodi joka näyttää tältä. 346 00:17:01,210 --> 00:17:04,720 >> Nämä ovat siis kirjaimellisesti malleja 0s ja 1s 347 00:17:04,720 --> 00:17:08,550 että ymmärtävät Intel tietokone näinä päivinä, 348 00:17:08,550 --> 00:17:12,480 että jos tulkitsee CPU, aivot sisällä tietokoneen, 349 00:17:12,480 --> 00:17:16,130 kirjaimellisesti tulostaa, yksinkertaisesti, "Hello World". 350 00:17:16,130 --> 00:17:19,670 Nyt on paljon enemmän 0s ja 1s kuin sinä toivoo, saattaa olla tarpeen, että. 351 00:17:19,670 --> 00:17:22,520 Mutta se johtuu siitä olemme rakentamassa on paljon monimutkaisia 352 00:17:22,520 --> 00:17:24,270 että voimme vastedes itsestäänselvyytenä. 353 00:17:24,270 --> 00:17:27,869 Toisin sanoen, paljon fiksuja ihmisiä ovat antaneet meille paljon hienoja työkaluja 354 00:17:27,869 --> 00:17:32,480 ja tehokas ohjelma, jolla me voi nyt tehdä projekteja omaa. 355 00:17:32,480 --> 00:17:33,400 >> Joten pääset alkuun. 356 00:17:33,400 --> 00:17:36,640 Ottaa huomioon, että viime perjantaina, ja varten Harjoitus 0 tällä viikolla, 357 00:17:36,640 --> 00:17:39,000 tulet pelaamaan maailma, joka näyttää tältä. 358 00:17:39,000 --> 00:17:42,180 Alkaa tänään ja Problem Set 1 ensi viikolla, koodi 359 00:17:42,180 --> 00:17:45,410 tulee näyttämään hieman arvoituksellinen, mutta toiminnallisesti on 360 00:17:45,410 --> 00:17:46,940 olemaan sama. 361 00:17:46,940 --> 00:17:50,770 Joten ilmoitus, alkuun on Scratch, pohja on C. Suoraan sanottuna Scratch 362 00:17:50,770 --> 00:17:52,780 on paljon enemmän käyttäjän ystävällinen ja helposti. 363 00:17:52,780 --> 00:17:56,890 Mutta jos nyt vertaa visuaalisesti ylhäältä pohjaan, siellä on tavallaan yksi yhteen 364 00:17:56,890 --> 00:17:59,690 välinen kirjeenvaihto palapelin palaset ja kieli 365 00:17:59,690 --> 00:18:00,870 aiomme pelata. 366 00:18:00,870 --> 00:18:04,420 Erityisesti sanoa, sininen palapelin pala alkuun asti, 367 00:18:04,420 --> 00:18:08,370 on ilmeisesti vastaa mitä avainsanan tai erityinen ilmaus tällä kielellä 368 00:18:08,370 --> 00:18:09,062 nimeltään C? 369 00:18:09,062 --> 00:18:09,770 Yleisö: printf. 370 00:18:09,770 --> 00:18:10,728 DAVID J. MALAN: printf. 371 00:18:10,728 --> 00:18:12,140 Tämä tarkoittaa alustettu tulostusta. 372 00:18:12,140 --> 00:18:15,240 Ja tämä on vain hieno tapa sanoa printf C 373 00:18:15,240 --> 00:18:18,615 tulee olemaan lausunto tai toiminto joka tulostaa jotain näyttöä. 374 00:18:18,615 --> 00:18:19,990 Mitä se tulostaa näytölle? 375 00:18:19,990 --> 00:18:23,627 Mitä kerrot sen sisällä lainauksia, sisällä sulkeissa. 376 00:18:23,627 --> 00:18:25,460 Joten jälleen, tosin siellä on paljon tavaraa 377 00:18:25,460 --> 00:18:27,990 että sinun täytyy pitää mielessä, sulkuja, lainausmerkit, puolipiste 378 00:18:27,990 --> 00:18:28,656 ja kaikki tämä. 379 00:18:28,656 --> 00:18:30,600 Mutta kaikki tämä on tavallaan on sivuseikka. 380 00:18:30,600 --> 00:18:33,660 Mielenkiintoinen takeaway nyt on, että vaikkapa lohko Scratch 381 00:18:33,660 --> 00:18:37,520 on melko vastaa printf lausuman C. 382 00:18:37,520 --> 00:18:41,390 >> Samaan aikaan, keltainen palapelin pala alkuun asti, jolloin vihreä lippu napsautetaan, 383 00:18:41,390 --> 00:18:44,736 on todennäköisesti vastaava mitä avainsanan täällä? 384 00:18:44,736 --> 00:18:45,360 Yleisö: Main. 385 00:18:45,360 --> 00:18:46,359 DAVID J. MALAN: Niin tärkein. 386 00:18:46,359 --> 00:18:47,410 Ehkä int, ehkä mitätön. 387 00:18:47,410 --> 00:18:51,280 Mutta tärkein laji kuulostaa on tärkeää, ja se todellakin on. 388 00:18:51,280 --> 00:18:54,080 Joten kun vihreä lippu napsautetaan on, jälleen, palapelin pala 389 00:18:54,080 --> 00:18:56,390 että käynnistymässä koko Scratch-ohjelma. 390 00:18:56,390 --> 00:19:02,140 Mutta aiomme nyt aloittaa kutsuvan että tärkein, tämä toiminto tunnetaan tärkein. 391 00:19:02,140 --> 00:19:06,410 >> Nyt välin jaamme yleistää tämän seuraavasti. 392 00:19:06,410 --> 00:19:08,780 Voisimme kutsua sanoa toimintoa. 393 00:19:08,780 --> 00:19:10,580 Ja se voisi näyttää nimenomaan näin. 394 00:19:10,580 --> 00:19:11,770 No, entä silmukoita? 395 00:19:11,770 --> 00:19:16,540 Jos haluamme aloittaa muuntamalla tai kääntäminen enemmän Scratch C, 396 00:19:16,540 --> 00:19:19,400 tämä asia täällä ilmeisesti vain sanoo "Hello World" ikuisesti. 397 00:19:19,400 --> 00:19:23,060 Joten jos yhdistää nämä skriptejä kissa Scratch, 398 00:19:23,060 --> 00:19:26,560 se vaan jatkaa sanomalla jonkinlaisessa sarjakuva kupla, 399 00:19:26,560 --> 00:19:29,922 "Hei maailma, hello world, hei maailmassa ", loputtomiin, ikuisesti. 400 00:19:29,922 --> 00:19:33,130 Jos haluamme tehdä jotain vastaavaa C, se tulee näyttää hieman arvoituksellinen. 401 00:19:33,130 --> 00:19:35,463 Mutta voimme saavuttaa saman tuloksia, kuten tulemme lopulta 402 00:19:35,463 --> 00:19:36,861 selvittää, syntaksin näin. 403 00:19:36,861 --> 00:19:39,360 Aion käyttää printf uudelleen, koska loppujen lopuksi 404 00:19:39,360 --> 00:19:42,040 Haluan tulostaa "Hello World". 405 00:19:42,040 --> 00:19:45,610 Ja olen ilmeisesti käyttäen avainsana, joka ei ole ikuisesti. 406 00:19:45,610 --> 00:19:47,320 Se on sen sijaan sana taas. 407 00:19:47,320 --> 00:19:49,650 Mutta vain semanttisesti vuonna Englanti, vaikka sellainen 408 00:19:49,650 --> 00:19:52,120 ehdottaa jonkinlainen silmukka tai pyöräillä. 409 00:19:52,120 --> 00:19:55,070 >> Niin että sattuu olemaan avainsana, C käyttää. 410 00:19:55,070 --> 00:20:00,700 Ja vaikka totta, miksi taas tosi tehokkaasti tarkoittaa ikuisesti? 411 00:20:00,700 --> 00:20:04,240 No, vaikka, kuten tulemme pian Arvostan sitäkin, 412 00:20:04,240 --> 00:20:08,140 on tämä sulkulausekkeen vieressä jossa voit laittaa Boolen lauseke. 413 00:20:08,140 --> 00:20:11,360 Ja niin kauan kuin lauseke on tosi, tämä koodi, 414 00:20:11,360 --> 00:20:14,750 kuten on merkitty näiden kahden aaltosulkeita kuin soitamme heille, 415 00:20:14,750 --> 00:20:16,880 vain pitää näkyä uudelleen ja uudelleen. 416 00:20:16,880 --> 00:20:18,410 >> Niin totta on totta. 417 00:20:18,410 --> 00:20:20,900 Joten vaikka totta välineet vain tehdä tätä ikuisesti. 418 00:20:20,900 --> 00:20:23,480 Se on melkein tyhmä rakentaa ilmaista itseäsi. 419 00:20:23,480 --> 00:20:26,590 Mutta ei ollut ikuisesti Hakusanalla C. Oli taas. 420 00:20:26,590 --> 00:20:29,390 Ja siellä oli hyvin yksinkertainen Boolen lauseke kuin totta. 421 00:20:29,390 --> 00:20:32,210 Ja niin tämä, näemme, samaan lopputulokseen. 422 00:20:32,210 --> 00:20:33,890 >> Miten muuten voisit toteuttaa silmukka? 423 00:20:33,890 --> 00:20:36,980 No, Scratch saatat kova koodi tietty määrä 424 00:20:36,980 --> 00:20:39,430 toistojen silmukan täällä. 425 00:20:39,430 --> 00:20:43,210 Ja niin se on juuri sitä, mitä me voisi tehdä tässä versiossa C, 426 00:20:43,210 --> 00:20:46,140 jolloin meillä on niin kutsuttu silmukka. 427 00:20:46,140 --> 00:20:49,850 Ja silmukka täällä on menossa kerrata hieman arvoituksellisesti, 428 00:20:49,850 --> 00:20:54,100 arvosta 0 ylös on kuitenkin vähemmän kuin 10. 429 00:20:54,100 --> 00:20:55,955 >> Nyt muuttujat Scratch. 430 00:20:55,955 --> 00:20:57,830 Et ehkä ole ollut tilaisuus käyttää näitä. 431 00:20:57,830 --> 00:21:02,516 Mutta mitä järkeä yleensä muuttujan ei sanomme viime viikolla? 432 00:21:02,516 --> 00:21:03,015 Mikä se on? 433 00:21:03,015 --> 00:21:03,780 >> Yleisö: Points. 434 00:21:03,780 --> 00:21:05,200 >> DAVID J. MALAN: pisteeseen? 435 00:21:05,200 --> 00:21:05,700 Voi, kohdat. 436 00:21:05,700 --> 00:21:07,620 OK, pitää seurata pistettä, Esimerkiksi peli. 437 00:21:07,620 --> 00:21:09,510 Tai yleisemmin tekee mikä on muuttuja? 438 00:21:09,510 --> 00:21:10,450 Mikä hyöty niistä? 439 00:21:10,450 --> 00:21:10,825 >> Yleisö: Muisti. 440 00:21:10,825 --> 00:21:11,750 >> DAVID J. MALAN: Joo, niin muisti. 441 00:21:11,750 --> 00:21:13,000 Se säilytykseen jotain. 442 00:21:13,000 --> 00:21:17,336 Ja tavallaan typerä visuaalinen käytin viime kerralla oli kuin tämä lasi kulho. 443 00:21:17,336 --> 00:21:19,710 Ja jos haluaisimme tallentaa jotain sisällä muuttuja, 444 00:21:19,710 --> 00:21:21,918 Esimerkiksi juuri nyt arvo on kuusi, koska siellä 445 00:21:21,918 --> 00:21:23,450 kuusi ping pong pallot täällä. 446 00:21:23,450 --> 00:21:26,158 Se on vain jonkinlainen varastointi kontti että alla huppu 447 00:21:26,158 --> 00:21:30,030 on toteutettu bittiä, 0s ja 1s, Kuitenkin tietokone sattuu tekemään sitä. 448 00:21:30,030 --> 00:21:32,900 >> Niin Scratch, jos me haluavat olla vaihteleva, 449 00:21:32,900 --> 00:21:34,840 voimme käyttää oranssi lohko näin. 450 00:21:34,840 --> 00:21:37,050 Soitamme että laskuri tässä nimenomaisessa tapauksessa. 451 00:21:37,050 --> 00:21:38,890 Olen alustetaan sen 0. 452 00:21:38,890 --> 00:21:41,080 Ja mitä se minä sitten teen? 453 00:21:41,080 --> 00:21:44,780 Ikuisesti, sanovat laskuri, joka jos pelaat että Scratch, 454 00:21:44,780 --> 00:21:45,780 näette pelkän Scratch. 455 00:21:45,780 --> 00:21:49,920 Kissa tai mitä puku laitat hänelle puhuu numero kyseessä. 456 00:21:49,920 --> 00:21:52,840 >> Muuta laskuri 1 on kuten kasvattamalla 1. 457 00:21:52,840 --> 00:21:56,580 Ja niin tämä tulee laskea mitä niin mitä? 458 00:21:56,580 --> 00:21:59,114 0 til infinity, tai kunnes Scratch taukoja, 459 00:21:59,114 --> 00:22:01,030 tai kunnes tavallaan menettää kiinnostuksensa katsomassa 460 00:22:01,030 --> 00:22:02,650 kuinka korkealle hän voi todella luottaa. 461 00:22:02,650 --> 00:22:04,800 >> Joten miten me saatamme muuttaa tämän C? 462 00:22:04,800 --> 00:22:06,480 Se tulee näyttää hieman arvoituksellinen. 463 00:22:06,480 --> 00:22:08,896 Mutta jälleen kerran, jos tarkastellaan kunkin Näiden linjojen erikseen 464 00:22:08,896 --> 00:22:10,410 ne tavallaan kokoonpanolla yleensä. 465 00:22:10,410 --> 00:22:13,526 Joten ilmeisesti int on menossa on jokin erityinen merkitys C. 466 00:22:13,526 --> 00:22:14,400 Näemme, että taas. 467 00:22:14,400 --> 00:22:15,810 Sivuhuomautuksena se tarkoittaa kokonaisluku. 468 00:22:15,810 --> 00:22:16,990 Niin se vain tarkoittaa numero. 469 00:22:16,990 --> 00:22:18,920 Niin, että tyyppi lasi kulho Haluan, yksi 470 00:22:18,920 --> 00:22:21,120 johon voi tallentaa numeroita, ei ping pong pallot. 471 00:22:21,120 --> 00:22:25,520 Ja aion käyttää yhtäläisyysmerkki siellä määrittää sen arvo 0. 472 00:22:25,520 --> 00:22:29,440 Joten on aivan kuin joukko laskuri 0, mutta C. 473 00:22:29,440 --> 00:22:32,840 >> Samaan aikaan, vaikka totta, että oli vastaava, tietenkin ikuisesti, 474 00:22:32,840 --> 00:22:35,980 vaikka se on hieman arvoituksellinen, ja sitten sisällä aaltosulkumerkkien. 475 00:22:35,980 --> 00:22:39,188 Ja voit ajatella näitä aaltosulkeita, johon voit kirjoittaa näppäimistöllä, 476 00:22:39,188 --> 00:22:43,110 sillä todella olevan kuin kaarevuus Näiden keltainen silmukkalohkojen Scratch. 477 00:22:43,110 --> 00:22:45,700 Se kattaa useita riviä koodia. 478 00:22:45,700 --> 00:22:48,120 >> Printf on tulossa Pelottavaa nyt, koska olen 479 00:22:48,120 --> 00:22:51,120 nähdä paitsi siteeraa suluissa. 480 00:22:51,120 --> 00:22:55,160 Mutta mitä muuta uutta syntaktisesti tässä esimerkissä? 481 00:22:55,160 --> 00:22:57,300 On prosenttia d. 482 00:22:57,300 --> 00:22:58,551 Ja sitten kenoviiva n on siellä. 483 00:22:58,551 --> 00:23:00,883 Emme katso, että ennen, vaikka vaikka en maininnut sitä. 484 00:23:00,883 --> 00:23:01,886 Sitten on pilkku. 485 00:23:01,886 --> 00:23:03,010 Ja sitten on laskuri. 486 00:23:03,010 --> 00:23:05,010 >> Mutta näemme vain hetki, että tämä on vain 487 00:23:05,010 --> 00:23:09,080 standardi tapa sanoa tulosta "Desimaaliluku," lainaus, lainaus, 488 00:23:09,080 --> 00:23:10,500 Joissakin desimaaliluku. 489 00:23:10,500 --> 00:23:13,370 Mutta minä kerron sinulle myöhemmin mitä tämä desimaaliluku on. 490 00:23:13,370 --> 00:23:16,835 Niin että siellä on pilkku tätä linjaa sanonta printf, 491 00:23:16,835 --> 00:23:18,710 tarkoittaa mennä eteenpäin ja tulosta Joissakin desimaaliluku. 492 00:23:18,710 --> 00:23:23,110 Niin, ja muuten, määrä on arvosta riippumatta tämä muuttuja on. 493 00:23:23,110 --> 00:23:25,880 Ja niin tehdä tästä enemmän selkeä, näemme esimerkin 494 00:23:25,880 --> 00:23:30,930 ennen pitkää mukana tasan printf yhteydessä todellinen C-ohjelmia. 495 00:23:30,930 --> 00:23:33,472 >> Nyt vain kääriä joitakin Näiden rakenteiden. 496 00:23:33,472 --> 00:23:36,680 Boolen operaattoreilla, sinulla ei ehkä ole tilaisuus käyttää näitä teidän ohjelmaan 497 00:23:36,680 --> 00:23:39,450 mutta ehkä erittäin hyvin, varsinkin jos käytät olosuhteissa. 498 00:23:39,450 --> 00:23:43,460 Ja niin nämä kaksi esimerkkiä Raaputa tarkoittaa jos x on pienempi kuin y, 499 00:23:43,460 --> 00:23:48,770 tai jos x on pienempi kuin y, ja y on vähemmän kuin z, miten me saatamme kääntää sen? 500 00:23:48,770 --> 00:23:50,810 >> No, C se on vain tulee näyttämään tätä. 501 00:23:50,810 --> 00:23:55,300 Hieman arvoituksellinen, enemmän sulkuja, outoja ja-merkkejä, mutta pohjimmiltaan 502 00:23:55,300 --> 00:23:59,160 ajatukset ovat niin yksinkertaisia ​​kuin ne ovat palapelin pala maailmaa. 503 00:23:59,160 --> 00:24:02,690 Olemme vain tarkistaa, jos jotain on vähemmän kuin jotain muuta. 504 00:24:02,690 --> 00:24:03,910 >> Entä olosuhteissa? 505 00:24:03,910 --> 00:24:09,710 Pähkinänkuoressa Englanti, mitä tämä kimpale Scratch koodi do sanoisit? 506 00:24:09,710 --> 00:24:11,050 >> Yleisö: Vertaa kahta numeroa. 507 00:24:11,050 --> 00:24:13,760 >> DAVID J. MALAN: Vertaa kahta numeroita, ja jos x on pienempi kuin y 508 00:24:13,760 --> 00:24:14,860 se kertoo niin paljon. 509 00:24:14,860 --> 00:24:18,080 Jos x on suurempi kuin y se sanoo niin paljon, muuta 510 00:24:18,080 --> 00:24:20,740 Jos x on yhtä kuin y sanotaan niin paljon. 511 00:24:20,740 --> 00:24:22,180 Nyt jos ei x ja y tulevat? 512 00:24:22,180 --> 00:24:22,680 Kuka tietää. 513 00:24:22,680 --> 00:24:25,380 Tämä kimpale Scratch koodi on irrotettu asiayhteydestään. 514 00:24:25,380 --> 00:24:29,050 Mutta mitä me haluamme tehdä nyt kääntää tämä vain hetki nähdä. 515 00:24:29,050 --> 00:24:31,660 >> Niin saat mukavan tällä viikolla Harjoitus 516 00:24:31,660 --> 00:24:34,190 0 pelaa tässä maailmassa vasemmalla, ymmärtää 517 00:24:34,190 --> 00:24:36,940 että ajatukset eivät ole muuttumassa tällä viikolla tai ensi tai sen jälkeen. 518 00:24:36,940 --> 00:24:38,690 Olemme yksinkertaisesti menossa alkaa kirjoittaa asioita 519 00:24:38,690 --> 00:24:41,240 eri tavalla meidän näppäimistön sijasta meidän hiiri. 520 00:24:41,240 --> 00:24:44,577 >> Joten jos x on pienempi kuin y, ja siellä on joitakin suluissa siellä, 521 00:24:44,577 --> 00:24:47,160 sitten on joitakin aaltosulkeita jälleen sellainen kiteyttää sen 522 00:24:47,160 --> 00:24:48,970 aivan kuten keltainen palapelin palaset tehdä. 523 00:24:48,970 --> 00:24:53,000 Ja aion printf x on pienempi kuin y, ja niin edelleen. 524 00:24:53,000 --> 00:24:56,540 >> Mikä on mukavaa noin C, kuten voitte nähdä täällä, 525 00:24:56,540 --> 00:25:00,480 on, että et saa tätä pesintä, pesintä, pesintä se välttämättä 526 00:25:00,480 --> 00:25:02,220 aio työntää koodin oikealle. 527 00:25:02,220 --> 00:25:04,990 Voit sen sijaan on kaikkea Uusimmat siististi pidä tästä. 528 00:25:04,990 --> 00:25:08,960 Mutta se on vain esteettinen yksityiskohta näemme taas ennen pitkää. 529 00:25:08,960 --> 00:25:09,660 >> Kunnossa. 530 00:25:09,660 --> 00:25:13,290 Niin että tuo meidät takaisin tämä arvoituksellinen näköinen ohjelma. 531 00:25:13,290 --> 00:25:15,180 Katsotaanpa itse kirjoittaa koodia. 532 00:25:15,180 --> 00:25:16,830 Nyt miten te sitten kirjoittaa koodia? 533 00:25:16,830 --> 00:25:21,310 Kaikki nämä vuodet, että olet omistama Mac tai PC, pöytäkone tai kannettava, 534 00:25:21,310 --> 00:25:24,520 olet todella ollut kyky kirjoittaminen aloitetaan ohjelmakoodia. 535 00:25:24,520 --> 00:25:27,050 Mutta olet todennäköisesti puuttuu erityinen ohjelma. 536 00:25:27,050 --> 00:25:28,470 Voit varmasti kirjoittaa koodia. 537 00:25:28,470 --> 00:25:30,740 Mutta et voi välttämättä, kättelyssä, 538 00:25:30,740 --> 00:25:34,210 muuntaa että lähdekoodi osaksi kohdekoodi, 0s ja 1s 539 00:25:34,210 --> 00:25:35,619 ilman mitä tietokoneessa? 540 00:25:35,619 --> 00:25:36,410 Yleisö: Compiler. 541 00:25:36,410 --> 00:25:37,630 DAVID J. MALAN: Eli kääntäjä, oikea. 542 00:25:37,630 --> 00:25:39,730 Nyt useimmat ehkä eivät omista kääntäjä, 543 00:25:39,730 --> 00:25:41,259 ole koskaan ladannut kääntäjä. 544 00:25:41,259 --> 00:25:44,300 Mutta näet voit ladata sen kuten useimmat muut pala ohjelmisto. 545 00:25:44,300 --> 00:25:47,470 Kun maailma Mac OS, saatat ladata tai ladannut jo 546 00:25:47,470 --> 00:25:50,437 jotain kutsutaan Xcode tai GCC tai kalahtaa. 547 00:25:50,437 --> 00:25:52,270 Jos tulet Windows maailmassa saatat 548 00:25:52,270 --> 00:25:56,190 ladannut Visual Studio, Visual Basic, ympäristöjä niin. 549 00:25:56,190 --> 00:25:59,200 On kymmeniä kerääjiä näinä päivinä, että voit käyttää. 550 00:25:59,200 --> 00:26:01,940 Mutta lyhyt täällä on, että se olisi kipua 551 00:26:01,940 --> 00:26:04,480 ja, suoraan sanottuna, teknologinen painajainen satoja 552 00:26:04,480 --> 00:26:07,680 erilaisista ihmisistä tietokonekokoonpanoista kaikille 553 00:26:07,680 --> 00:26:09,800 määrittää niiden koneiden täsmälleen samalla tavalla 554 00:26:09,800 --> 00:26:11,700 jotta voimme kaikki olla samalla sivulla. 555 00:26:11,700 --> 00:26:15,240 >> Joten mitä me, vaan tee vuonna CS50 on annamme sinulle 556 00:26:15,240 --> 00:26:18,349 standardin ympäristö, Linux-ympäristössä, joka on 557 00:26:18,349 --> 00:26:20,140 menossa katsomaan hieman jotain tällaista. 558 00:26:20,140 --> 00:26:22,980 Näet lisää tästä Harjoitus 1 erittelyä, jossa 559 00:26:22,980 --> 00:26:25,330 menee verkossa tämä perjantai-iltana. 560 00:26:25,330 --> 00:26:28,360 >> Ja mitä tämä tarkoittaa on, että te vastedes 561 00:26:28,360 --> 00:26:32,060 ovat menossa pystyä Lataa ja asenna ohjelma 562 00:26:32,060 --> 00:26:33,650 nimeltään CS50 Appliance. 563 00:26:33,650 --> 00:26:36,275 Ja aiot ladata ja asentaa toinen ohjelma nimeltä 564 00:26:36,275 --> 00:26:40,300 hypervisor, joka on vain hieno tapa saavuttaa tämä. 565 00:26:40,300 --> 00:26:44,600 Onko sinulla Mac tai PC tai Linux-tietokone tai Solaris tietokone, 566 00:26:44,600 --> 00:26:46,830 tai mitä tahansa hullu toiminta järjestelmä käytät, 567 00:26:46,830 --> 00:26:49,820 aiot ladata ohjelman nimeltään hypervisor, joka on 568 00:26:49,820 --> 00:26:53,350 juokse CS50 Laite tietokoneeseen 569 00:26:53,350 --> 00:26:55,430 mitä käyttöjärjestelmä on. 570 00:26:55,430 --> 00:27:00,640 Hypervisor eli muuntaa meidän juttuja mitä kieltä, 571 00:27:00,640 --> 00:27:03,850 mitä ohjeita oman oma tietokone ymmärtää. 572 00:27:03,850 --> 00:27:04,962 >> Joten tämä on kerrospukeutuminen. 573 00:27:04,962 --> 00:27:06,920 Ja vielä, tämä on tavallaan temaattisia tietokoneen 574 00:27:06,920 --> 00:27:08,722 tiede, rakennuksen päälle asioita. 575 00:27:08,722 --> 00:27:09,680 Saatat olla Windows. 576 00:27:09,680 --> 00:27:10,710 Saatat olla Mac OS. 577 00:27:10,710 --> 00:27:12,960 Mutta alkaa ensi viikolla olet menossa ladannut 578 00:27:12,960 --> 00:27:14,980 vapaa pala ohjelmisto nimeltään hypervisor. 579 00:27:14,980 --> 00:27:17,800 Olet menossa ladannut pala Ohjelmistojen kutsutaan CS50 Appliance. 580 00:27:17,800 --> 00:27:21,050 >> Että menee ajaa hypervisor, joka tulee toimimaan tietokoneessasi. 581 00:27:21,050 --> 00:27:23,030 Ja lopputulos on että me kaikki 582 00:27:23,030 --> 00:27:26,220 on yksinkertainen ikkuna kuin tämä Macin tai PC: 583 00:27:26,220 --> 00:27:30,160 joka antaa meille illuusion kaikki käynnissä sama käyttöjärjestelmä, 584 00:27:30,160 --> 00:27:32,800 ilman muita vaikutusta tietokoneeseen. 585 00:27:32,800 --> 00:27:34,870 Ja voit koko näytön sen ja pääosin käyttäytymään 586 00:27:34,870 --> 00:27:37,550 ikään kuin käytät käyttöjärjestelmä nimeltään Linux, 587 00:27:37,550 --> 00:27:40,270 joka on mitä CS50 Laite perustuu. 588 00:27:40,270 --> 00:27:42,930 >> Joten todellakin käyttävät tätä nyt kirjoittaa ohjelman. 589 00:27:42,930 --> 00:27:45,450 Voit kirjoittaa ohjelman Microsoft Word. 590 00:27:45,450 --> 00:27:48,160 Voit kirjoittaa ohjelman käyttäen TeXturissa, tai Notepad, 591 00:27:48,160 --> 00:27:51,880 tai WordPad, tai melko paljon tahansa sana suorittamaan ohjelman olet koskaan käytetty. 592 00:27:51,880 --> 00:27:55,174 Mutta todellisuus on sinun ei pitäisi käyttää todella kyseisiä ohjelmia. 593 00:27:55,174 --> 00:27:57,840 Et varmasti tule käyttää jotain Microsoft Word, joka 594 00:27:57,840 --> 00:28:01,120 on rohkea päin ja kursiivilla, ja isompi fontit ja pienempiä fontteja, 595 00:28:01,120 --> 00:28:03,560 koska tietokone ei välitä mitään siitä. 596 00:28:03,560 --> 00:28:05,600 Kaikki tietokone on menossa huolta on 597 00:28:05,600 --> 00:28:09,040 Englanti kuten ohjeet kirjoitettu C. 598 00:28:09,040 --> 00:28:12,050 >> Joten mitä me teemme sisällä ja CS50 Appliance 599 00:28:12,050 --> 00:28:14,290 on käyttää ohjelmaa vapaasti saatavilla, ja se on 600 00:28:14,290 --> 00:28:17,360 esiasennettuna tässä laite, nimeltään Gedit. 601 00:28:17,360 --> 00:28:22,280 Ja Gedit on vain super yksinkertainen tekstieditori, kuten Mac OS: n TextEdit 602 00:28:22,280 --> 00:28:26,200 kuten Windowsin Notepad, joka tulee näyttää hieman jotain tällaista. 603 00:28:26,200 --> 00:28:28,910 >> Joten oikeastaan ​​ole tarkastella dioja tämän. 604 00:28:28,910 --> 00:28:32,580 Mutta katsotaanpa itse mennä ympäristö itse. 605 00:28:32,580 --> 00:28:36,090 Aion mennä eteenpäin ja kirjaudu sisään, tässä muut ikkunassa 606 00:28:36,090 --> 00:28:40,910 minun CS50 Appliance, jonka olen valmiiksi asennettu minun laptop täällä. 607 00:28:40,910 --> 00:28:43,771 >> Huomaa, että, kuten Windows ja Mac OS, se on jotain valikoita. 608 00:28:43,771 --> 00:28:45,520 Kuten Windows se asettaa se siellä sijaan 609 00:28:45,520 --> 00:28:47,020 Mac OS, joka laittaa sen sinne. 610 00:28:47,020 --> 00:28:48,930 Mutta todellisuus on se kaikenlaisia ​​sama. 611 00:28:48,930 --> 00:28:50,770 Ja tässä koko nippu ohjelmisto. 612 00:28:50,770 --> 00:28:51,770 On Dropbox. 613 00:28:51,770 --> 00:28:54,780 On koko joukko lisävarusteita graafisia ohjelmia, jotka jaamme 614 00:28:54,780 --> 00:28:56,430 käyttää myöhemmin aikavälillä ongelma sarjaa. 615 00:28:56,430 --> 00:28:59,650 On web-selain rakennettu niin että tämä on täysin toimiva tietokone 616 00:28:59,650 --> 00:29:01,240 sisällä tietokoneen. 617 00:29:01,240 --> 00:29:04,170 >> Mutta aion napsauttamalla tätä vasemmanpuoleisin valkoinen kuvake täällä, 618 00:29:04,170 --> 00:29:05,890 joka on kuvake Gedit. 619 00:29:05,890 --> 00:29:09,650 Ja se tulee avata ikkuna että on kolme paneelit siihen, 620 00:29:09,650 --> 00:29:12,590 vasen, alkuun yksi, ja pohja yksi. 621 00:29:12,590 --> 00:29:16,071 >> Nyt se on tässä oikeassa yläkulmassa joka Aion itse kirjoittaa koodia. 622 00:29:16,071 --> 00:29:16,820 Tehdäänpä tämä ,. 623 00:29:16,820 --> 00:29:19,040 Aion mennä File, Save. 624 00:29:19,040 --> 00:29:22,100 Ja et ehkä ole koskaan nähnyt tässä ikkunassa ennen. 625 00:29:22,100 --> 00:29:23,620 Mutta tämä on kuin Mac OS tai Windows. 626 00:29:23,620 --> 00:29:25,490 Se on vain ikkuna kanssa kaikki kansiot 627 00:29:25,490 --> 00:29:27,290 että minulla on sisällä tämän tietokoneen. 628 00:29:27,290 --> 00:29:30,320 >> Ja aion säästää tiedosto hello.c. 629 00:29:30,320 --> 00:29:32,690 Ja aion mennä eteenpäin ja valitse Tallenna. 630 00:29:32,690 --> 00:29:36,364 Ja nyt huomaan on välilehti vasemmassa yläkulmassa nimeltään hello.c. 631 00:29:36,364 --> 00:29:38,280 Niin luultavasti melko tuttu vaikka et ole 632 00:29:38,280 --> 00:29:40,240 käyttää kyseistä ohjelmaa ennen. 633 00:29:40,240 --> 00:29:44,890 >> Ja nyt aion kirjoittaa ne melko arvoituksellinen komentojen sarja 634 00:29:44,890 --> 00:29:46,360 että näimme hetki sitten. 635 00:29:46,360 --> 00:29:49,330 Kuuluvat vakio-I / O.h. 636 00:29:49,330 --> 00:29:50,600 Siitä lisää pian. 637 00:29:50,600 --> 00:29:55,670 Int main mitätön, avoin kihara ahdin, suljettu kihara ahdin. 638 00:29:55,670 --> 00:30:01,570 Ja sitten sisällä on mielestäni jossa meillä oli "Hello World", puolipiste. 639 00:30:01,570 --> 00:30:03,100 Ja nyt tallentaa. 640 00:30:03,100 --> 00:30:08,780 >> Niin tämä on ohjelma kirjoitettu C, kirjoitettu, siksi lähdekoodia. 641 00:30:08,780 --> 00:30:10,720 Mutta en voi vain ajaa ohjelman. 642 00:30:10,720 --> 00:30:13,390 Olen sellainen halua kaksinkertaistaa klikkaa kuvaketta jonnekin, 643 00:30:13,390 --> 00:30:16,390 mutta ei kuvaketta olemassa muita kuin lähdekooditiedostoa. 644 00:30:16,390 --> 00:30:20,359 Mikä taas on prosessi nyt Minun täytyy suorittaa tämän tiedoston kautta? 645 00:30:20,359 --> 00:30:21,150 Yleisö: Compiler. 646 00:30:21,150 --> 00:30:22,399 DAVID J. MALAN: Niin kääntäjä. 647 00:30:22,399 --> 00:30:24,890 Joten eri tietokoneissa tehdä tämän eri tavoin. 648 00:30:24,890 --> 00:30:27,480 Mutta mitä olemme tehneet täällä CS50 Appliance se 649 00:30:27,480 --> 00:30:31,260 edustaja, kuinka voisit tehdä tämän monissa eri järjestelmissä, 650 00:30:31,260 --> 00:30:34,036 on Olen yksinkertaisesti menossa suorita komento nimeltään tehdä. 651 00:30:34,036 --> 00:30:35,660 Ja merkki on kirjaimellisesti aio tehdä sitä. 652 00:30:35,660 --> 00:30:36,640 Tee minulle ohjelman. 653 00:30:36,640 --> 00:30:39,060 >> Joten on menossa ajaa kääntäjä minulle. 654 00:30:39,060 --> 00:30:42,160 Ja ohjelman nimi Haluan tehdä on hei. 655 00:30:42,160 --> 00:30:43,510 Nyt tehdä on ohjelma. 656 00:30:43,510 --> 00:30:47,170 Ja tee on niin fiksu ymmärtää, että jos sanon tehdä hei, 657 00:30:47,170 --> 00:30:50,980 se tulee näyttämään automaattisesti varten tiedosto nimeltä hello.c 658 00:30:50,980 --> 00:30:53,420 vain koska se on miten se on määritetty. 659 00:30:53,420 --> 00:31:00,300 >> Joten kun nyt osui Anna tähän, tämä hullu kryptinen linja sai juuri suoritettu. 660 00:31:00,300 --> 00:31:02,720 Ja luottaa minuun, ennen pitkä, sisällä vain päivän, 661 00:31:02,720 --> 00:31:05,590 sinun ymmärtää, mitä kaikki Kyseisen hölynpölyä keinoin. 662 00:31:05,590 --> 00:31:11,150 Mutta nyt, juuri tietää, että tekevät laukeava suorittamisen kääntäjä. 663 00:31:11,150 --> 00:31:13,290 Toisin sanoen, se löytyi kääntäjä minun tietokone 664 00:31:13,290 --> 00:31:14,820 joka on esiasennettuna on CS50 Appliance 665 00:31:14,820 --> 00:31:16,560 että me ojentaa sinulle Harjoitus 1. 666 00:31:16,560 --> 00:31:20,990 Ja se sitten otti hello.c kuin tulo, ja tuotettu ilmeisesti 667 00:31:20,990 --> 00:31:23,040 0s ja 1s tuotokseksi. 668 00:31:23,040 --> 00:31:29,410 >> Ja oletuksena mitä se tekee on se säästää ne 0s ja 1s tiedostoon nimeltä hei. 669 00:31:29,410 --> 00:31:33,180 Ja vaikka tämä syntaksin liian might ovat sinulle uusia, yksinkertaisesti sanomalla piste 670 00:31:33,180 --> 00:31:37,110 slash hei tulee olemaan tarkoitetaan millä suorita tämä ohjelma. 671 00:31:37,110 --> 00:31:40,360 >> Nyt ja ainakin pari viikkoa, lähes kaikki ohjelmat 672 00:31:40,360 --> 00:31:44,230 Kirjoitamme tulevat olemaan vuonna musta ja valkoinen teksti ikkunat. 673 00:31:44,230 --> 00:31:47,006 Ei Hiirillä ei napsauttamalla, ole ikkunoita, kuvakkeita. 674 00:31:47,006 --> 00:31:49,630 Aiomme pitää asiat yksinkertaisina ja keskittyä olevia ideoita 675 00:31:49,630 --> 00:31:52,490 aluksi ennen kuin saamme jotain korkeampi, esimerkiksi, 676 00:31:52,490 --> 00:31:56,410 kuten puhkeaa peli, että puhuimme noin ensimmäisellä luennolla viime viikolla. 677 00:31:56,410 --> 00:32:00,820 >> Joten kun lyön Anna täällä, se on vastaava vain teksti ympäristö 678 00:32:00,820 --> 00:32:03,272 kaksinkertaistaa napsauttamalla kuvaketta nimeltään hei. 679 00:32:03,272 --> 00:32:05,480 Mitä odotatte tapahtuu, kun osuin Anna sitten? 680 00:32:05,480 --> 00:32:07,120 >> Yleisö: Se tulostaa "Hello World". 681 00:32:07,120 --> 00:32:10,000 >> DAVID J. MALAN: Toivottavasti se tulostaa "Hello World". 682 00:32:10,000 --> 00:32:11,370 Ja se todellakin teki. 683 00:32:11,370 --> 00:32:13,690 Nyt siellä on ollut jonkin verran arvoituksellinen syntaksin täällä. 684 00:32:13,690 --> 00:32:15,950 Katsotaan taaksepäin vain hetki ja katso jos voimme 685 00:32:15,950 --> 00:32:19,530 voi aloittaa päätellä pelkästään puuhastelun, yrittää ja se ei ole, 686 00:32:19,530 --> 00:32:21,130 siitä, mitä täällä tapahtuu. 687 00:32:21,130 --> 00:32:23,609 Mitä jos pääsen eroon kenoviiva n? 688 00:32:23,609 --> 00:32:25,650 Nyt jotkut teistä, jotka olemme ohjelmoitu ennen luultavasti 689 00:32:25,650 --> 00:32:27,054 tietää heti mitä se tarkoittaa. 690 00:32:27,054 --> 00:32:29,220 Mutta ne teistä, jotka olemme koskaan ohjelmoitu ennen, 691 00:32:29,220 --> 00:32:34,052 ainakin itseltäsi, mitä tapahtuu muuttua kun uusintana tämän ohjelman? 692 00:32:34,052 --> 00:32:37,010 Joten aion mennä takaisin alas minun pieni musta ja valkoinen ikkuna, joka 693 00:32:37,010 --> 00:32:39,290 on ikkuna, jossa Voin kääntää tämän. 694 00:32:39,290 --> 00:32:41,130 Aion kääntää hei. 695 00:32:41,130 --> 00:32:43,520 Menemme nähdä sama arvoituksellinen komentojen sarja. 696 00:32:43,520 --> 00:32:45,719 Ja aion tehdä piste slash hei. 697 00:32:45,719 --> 00:32:48,260 Ja nyt joku, jos olisit, joka ei ole koskaan ohjelmoitu ennen, 698 00:32:48,260 --> 00:32:49,770 mikä voisi olla erilainen tällä kertaa? 699 00:32:49,770 --> 00:32:50,020 Joo. 700 00:32:50,020 --> 00:32:51,840 >> Yleisö: Se ei lopu tulostus "Hello World". 701 00:32:51,840 --> 00:32:52,660 >> DAVID J. MALAN: Se menee to-- anteeksi? 702 00:32:52,660 --> 00:32:54,210 >> Yleisö: Se ei lopeta tulostamista? 703 00:32:54,210 --> 00:32:55,810 >> DAVID J. MALAN: se ei Keskeytä tulostus "Hello World". 704 00:32:55,810 --> 00:32:56,560 Joten ei ole huono idea. 705 00:32:56,560 --> 00:32:58,633 Muita ideoita? 706 00:32:58,633 --> 00:32:59,132 Joo. 707 00:32:59,132 --> 00:33:00,060 >> Yleisö: Virheilmoitus? 708 00:33:00,060 --> 00:33:01,750 >> DAVID J. MALAN: Virhe viestin, OK, voisi olla. 709 00:33:01,750 --> 00:33:02,250 Mitä muuta? 710 00:33:02,250 --> 00:33:05,479 Yleisö: Se voi tulostaa pidike puolipisteellä samoin? 711 00:33:05,479 --> 00:33:08,270 DAVID J. MALAN: saattaa tulostaa pidike puolipisteellä samoin. 712 00:33:08,270 --> 00:33:11,950 Joten ehkä kenoviiva sitten on joitakin Tällainen terminous se on tärkeää. 713 00:33:11,950 --> 00:33:14,860 Muita ajatuksia? 714 00:33:14,860 --> 00:33:16,412 >> Joten kaikki hyvät ideat. 715 00:33:16,412 --> 00:33:18,370 Ja itse asiassa, se menee olevan virheilmoituksen. 716 00:33:18,370 --> 00:33:20,400 Se on luultavasti todennäköisin olevan vastaus yleensä 717 00:33:20,400 --> 00:33:22,420 varten lähiviikkoina kun opimme koodi tähän. 718 00:33:22,420 --> 00:33:27,680 >> Mutta nyt muistaa, että tietokoneet vain sen mitä kerrot heille tehdä. 719 00:33:27,680 --> 00:33:30,400 Aivan kuten naurettava maapähkinä voita ja hyytelöä esimerkki. 720 00:33:30,400 --> 00:33:33,860 Meidän ihmisten tietokoneita vain tarkoitus tehdä mitä kerroit niitä tekemään. 721 00:33:33,860 --> 00:33:36,250 Joten tässä tapauksessa, jos älä kerro tietokonetta 722 00:33:36,250 --> 00:33:41,190 Siirrä että vilkkuva kohdistin seuraavalle riville, se ei aio tehdä sitä. 723 00:33:41,190 --> 00:33:45,390 Joten kun käytän tätä ohjelmaa nyt, huomaat eron. 724 00:33:45,390 --> 00:33:46,900 >> Näyttää bugi. 725 00:33:46,900 --> 00:33:49,190 Se on esteettinen vika, ehkä. 726 00:33:49,190 --> 00:33:53,310 Mutta mikä on erilaista tästä ulostulo vs. viimeinen ilmeisesti? 727 00:33:53,310 --> 00:33:53,810 Joo. 728 00:33:53,810 --> 00:33:54,920 >> Yleisö: Se ei tee uutta linjaa. 729 00:33:54,920 --> 00:33:56,586 >> DAVID J. MALAN: Se ei tee uutta linjaa. 730 00:33:56,586 --> 00:33:58,740 Nyt niille teistä, jotka on ehkä tehty verkkosivuja 731 00:33:58,740 --> 00:34:01,910 ennen, saatat tietää BR tag tai kappaleen tunnisteen, 732 00:34:01,910 --> 00:34:03,120 hyvin samankaltaisia ​​hengessä. 733 00:34:03,120 --> 00:34:06,680 Web-selain sivuuttaa, kunnes kerrot sen mitä tehdä. 734 00:34:06,680 --> 00:34:10,020 Samoin on kieli kuin C vain aiomme tehdä mitä kerrot sen tehdä. 735 00:34:10,020 --> 00:34:12,730 >> Niin siitä syystä, että Kaikissa näissä esimerkeissä, 736 00:34:12,730 --> 00:34:15,350 toistaiseksi, on eräänlainen rennosti oli tämä kenoviiva 737 00:34:15,350 --> 00:34:18,560 siellä, se on keino jolla voit ilmaista itseäsi 738 00:34:18,560 --> 00:34:21,380 koska uusi rivi hahmo, niin sanoakseni. 739 00:34:21,380 --> 00:34:26,219 Ja voit sellaista arvostaa, ehkä, että tämä näyttäisi typerää 740 00:34:26,219 --> 00:34:27,070 jos ei muuta. 741 00:34:27,070 --> 00:34:29,150 Jos haluaisin uuden linjan, vain enteriä ja sitten laji 742 00:34:29,150 --> 00:34:32,219 ja butchering koodia että ei pitäisi oikeastaan ​​hieroa sinua oikealla tavalla. 743 00:34:32,219 --> 00:34:33,830 Ja vaikka et välitä tässä vaiheessa, 744 00:34:33,830 --> 00:34:35,830 huomaat, että Tämä ei ole erityisen 745 00:34:35,830 --> 00:34:37,870 hyvännäköinen koodinpätkä. 746 00:34:37,870 --> 00:34:39,969 >> Ja niin mitä maailma päätti vuosi sitten on 747 00:34:39,969 --> 00:34:43,420 että kun haluat laittaa kohdistin uuden linjan selvästi, 748 00:34:43,420 --> 00:34:46,332 sinun täytyy erikseen sanoa Uusi linja, kenoviiva n. 749 00:34:46,332 --> 00:34:48,040 Ja siellä on joitakin muita merkkejä, kuten että. 750 00:34:48,040 --> 00:34:50,719 Mutta nyt meidän täytyy vain keskittyä kenoviiva n. 751 00:34:50,719 --> 00:34:53,790 >> Nyt tehdä ohjelman hieman mielenkiintoisemman. 752 00:34:53,790 --> 00:34:59,200 Aion mennä eteenpäin ja tällä kertaa avata uuden tiedoston. 753 00:34:59,200 --> 00:35:02,520 Aion tallentaa tämän hei-1.c. 754 00:35:02,520 --> 00:35:05,540 Ja ihan vain huvin vuoksi, aion mennä laittaa se minun Dropbox-kansioon. 755 00:35:05,540 --> 00:35:09,030 >> Kuten näet on CS50 dokumentaatio laitteen, 756 00:35:09,030 --> 00:35:11,210 Myöhemmin tällä viikolla ongelma Set 1, me kannustaa 757 00:35:11,210 --> 00:35:13,230 voit käyttää Dropbox tai Joissakin vastaavaa palvelua, 758 00:35:13,230 --> 00:35:15,430 koska silloin kaikki koodin menossa varmuuskopioidaan automaattisesti. 759 00:35:15,430 --> 00:35:17,830 Ja joten siksi olen mennyt tähän kansioon täällä. 760 00:35:17,830 --> 00:35:20,230 >> Ja nyt aion kirjoittaa hieman erilainen ohjelma. 761 00:35:20,230 --> 00:35:24,740 Kuuluvat vakio-I / O.h, int main void. 762 00:35:24,740 --> 00:35:29,660 Ja sitten täällä printf, hello world, joka on täsmälleen sama kuin ennen. 763 00:35:29,660 --> 00:35:32,450 >> Mutta nyt haluan tulostaa jotain Se on hiukan erilainen. 764 00:35:32,450 --> 00:35:34,800 Haluan tulostaa, sanoa, "Hei, David." 765 00:35:34,800 --> 00:35:37,590 Kunnossa, niin on selvää, se toivottavasti 766 00:35:37,590 --> 00:35:40,360 olla, että jos minä uudelleenkääntää Tässä ohjelmassa uusintana se, 767 00:35:40,360 --> 00:35:41,840 se tulee sanoa "hei, David." 768 00:35:41,840 --> 00:35:45,160 >> Mutta mitä jos haluan esitellä tällainen muuttuja, 769 00:35:45,160 --> 00:35:49,240 käsite säiliö, joka on menossa tallentaa D--v-i-d eikä kovaa koodia se 770 00:35:49,240 --> 00:35:50,600 minun ohjelmaan. 771 00:35:50,600 --> 00:35:53,430 No mitä jos aloitan tehdä jotain tällaista? 772 00:35:53,430 --> 00:35:57,120 >> String s, joten tämä on vaihteleva. 773 00:35:57,120 --> 00:36:00,250 Jos haluat merkkijono, alias sana tai lause. 774 00:36:00,250 --> 00:36:03,485 Merkkijono on mitä me ohjelmoinnin soittaa merkkijono. 775 00:36:03,485 --> 00:36:06,610 Olemme juuri menossa yleisesti puhelu se s, koska se on mukava yksinkertainen nimi. 776 00:36:06,610 --> 00:36:08,010 Mutta voisin kutsua sitä jotain. 777 00:36:08,010 --> 00:36:12,920 >> Aion sanoa merkkijono vertaisuuden lainaus lainaus, "David" puolipiste. 778 00:36:12,920 --> 00:36:18,330 Ja nyt haluan lisätä D--v-i-d, mitä olen tulostusta. 779 00:36:18,330 --> 00:36:23,720 Ja ennen kuin näimme teaser näytön joidenkin syntaksinsa 780 00:36:23,720 --> 00:36:26,050 joka antoi meille mahdollisuuden korvikkeena arvo. 781 00:36:26,050 --> 00:36:29,250 Mikä oli erityisen symboli muutama dioja sitten? 782 00:36:29,250 --> 00:36:30,040 >> Niin prosenttia. 783 00:36:30,040 --> 00:36:33,830 Tuolloin se oli prosenttia d desimaaliluku. 784 00:36:33,830 --> 00:36:35,850 Se ei todellakaan tunnu asiaa täällä. 785 00:36:35,850 --> 00:36:38,650 Käynyt ilmi n Toisessa prosenttia symboli, 786 00:36:38,650 --> 00:36:42,810 mikä on prosentin s, joka seisoo varten paikanpitäjä merkkijono. 787 00:36:42,810 --> 00:36:49,350 >> Joten nyt hyvin yksinkertaisesti, olen menossa tekemään hei-1, 788 00:36:49,350 --> 00:36:54,210 koska tämän tiedoston nimi on Hei-1.c, ja paina Enter. 789 00:36:54,210 --> 00:36:56,230 Ja minä mokasin. 790 00:36:56,230 --> 00:36:57,394 Mitä on tekeillä? 791 00:36:57,394 --> 00:37:00,560 No, täällä on, jos meidän täytyy alkaa Arvostan sitä, että olemme tässä komennossa 792 00:37:00,560 --> 00:37:02,810 verkkoympäristöön, tämä tekstiksi vain ympäristö. 793 00:37:02,810 --> 00:37:06,114 Ei ole kuvakkeita kuten kansioita juuri nyt. 794 00:37:06,114 --> 00:37:07,280 Ja muistelen hetki sitten. 795 00:37:07,280 --> 00:37:10,740 Millä kansio Sanoinko Säästin koodia? 796 00:37:10,740 --> 00:37:11,657 Niin Dropbox-kansioon. 797 00:37:11,657 --> 00:37:12,989 Olisi voitu kutsua mitään. 798 00:37:12,989 --> 00:37:14,530 Mutta se sattuu olemaan nimeltään Dropbox. 799 00:37:14,530 --> 00:37:18,380 Joten olen jotenkin täytyy kaksoisnapsauttaa että Dropbox-kansioon saadakseen 800 00:37:18,380 --> 00:37:21,657 siihen ja saada minun koodi kutsutaan hei-1.c. 801 00:37:21,657 --> 00:37:24,490 Itse haluan mennä eteenpäin ja minimoida tämä ikkuna vain hetken. 802 00:37:24,490 --> 00:37:27,560 Aivan kuten Windows ja Mac OS, kansiot ovat Linuxissa. 803 00:37:27,560 --> 00:37:29,410 On kansioita CS50 Appliance. 804 00:37:29,410 --> 00:37:32,380 Se on vain juuri nyt olemme rajoituta itseämme tämän tekstin ympäristössä. 805 00:37:32,380 --> 00:37:34,700 >> Mutta jos minä Tuplaklikkaa Dropbox, huomaa siellä 806 00:37:34,700 --> 00:37:37,210 on tiedosto, että haluan koota. 807 00:37:37,210 --> 00:37:41,430 Mutta tarvitsen tätä mustavalkoinen pääteikkunassa, niin sanoakseni. 808 00:37:41,430 --> 00:37:45,750 Mutta tarvitsen siis liikkua kyseiseen kansioon tai hakemistoon. 809 00:37:45,750 --> 00:37:48,290 Joten hieman harvinaisempaa, mutta Totut tähänkin. 810 00:37:48,290 --> 00:37:50,430 >> Kun maailma Linux, joka taas on käyttöjärjestelmä 811 00:37:50,430 --> 00:37:54,860 järjestelmä kuljemme sisällä CS50 Laite, siellä komennon nimeltä CD. 812 00:37:54,860 --> 00:37:58,310 Eli en voi tehdä CD, tilaa, Dropbox. 813 00:37:58,310 --> 00:37:59,900 CD, muutos hakemistoon. 814 00:37:59,900 --> 00:38:00,400 Oikea. 815 00:38:00,400 --> 00:38:02,890 Takaisin seuraavana päivänä, kun ihmiset olivat keksimällä tietokoneet ja toimivat 816 00:38:02,890 --> 00:38:05,806 järjestelmät kuten tämä, he halusivat kirjoita vähiten painalluksia mahdollista. 817 00:38:05,806 --> 00:38:08,760 Joten helpoin tapa sanoa change directory oli CD. 818 00:38:08,760 --> 00:38:13,910 >> Joten jos osuin CD, tilaa Dropbox, huomaa, mitä on muuttunut täällä. 819 00:38:13,910 --> 00:38:16,480 Sisällä sulkuja Laite on eräänlainen 820 00:38:16,480 --> 00:38:19,360 sekä humoring minua ja muistuttaa missä olen. 821 00:38:19,360 --> 00:38:21,480 Niin avoin kansio on Dropbox. 822 00:38:21,480 --> 00:38:24,950 Jos en nyt kirjoita ls lista, jälleen ytimekäs, 823 00:38:24,950 --> 00:38:27,540 koska ihmiset eivät halua kirjoita takaisin päivän L-i-s-t. 824 00:38:27,540 --> 00:38:29,300 Niin he sen sijaan tehnyt ls. 825 00:38:29,300 --> 00:38:30,110 >> Enter. 826 00:38:30,110 --> 00:38:35,740 Huomaa Näen kaksi asiaa, hei-1.c, ja sitten tämä arvoituksellinen asia, lähde 1m. 827 00:38:35,740 --> 00:38:38,310 Se on vain minun tapani sanoa lähdekoodi viikko 1 maanantaina. 828 00:38:38,310 --> 00:38:42,020 Tuo kansio Latasin CS50: n verkkosivuilla, että tein aiemmin tänään 829 00:38:42,020 --> 00:38:43,990 ja vain laittaa se laite etukäteen. 830 00:38:43,990 --> 00:38:47,550 >> Mutta nyt ainoa asia, jota välitä tekee tästä ohjelmasta. 831 00:38:47,550 --> 00:38:50,440 Joten kun kirjoitan tehdä hei-1, Enter. 832 00:38:50,440 --> 00:38:51,320 Hitto. 833 00:38:51,320 --> 00:38:53,060 Jokin meni pieleen. 834 00:38:53,060 --> 00:38:54,580 Joten kiusaa tällä toisistaan. 835 00:38:54,580 --> 00:38:58,489 Ja valitettavasti tämä on, jos asiat saada hieman stressaavaa aluksi, 836 00:38:58,489 --> 00:39:00,280 ainakin jos olet koskaan ohjelmoida ennen. 837 00:39:00,280 --> 00:39:00,980 >> Minun jumalani. 838 00:39:00,980 --> 00:39:04,990 Kirjoitin kaksi linja-ohjelman ja Minulla on neljä riviä virheitä. 839 00:39:04,990 --> 00:39:07,180 Joten mitä täällä tapahtuu. 840 00:39:07,180 --> 00:39:11,370 Ensinnäkin aina siirry takaisin ja löytää ensimmäisen virheilmoituksen, 841 00:39:11,370 --> 00:39:15,730 koska Usein kääntäjät vain hämmentyä, mitä sinä ja minä. 842 00:39:15,730 --> 00:39:17,000 Kääntäjät ovat melko tyhmiä. 843 00:39:17,000 --> 00:39:18,360 He vain tekevät mitä kerrot heille tehdä. 844 00:39:18,360 --> 00:39:21,484 Ja jos hämmentää heitä, he vain menossa eräänlainen heittää kätensä 845 00:39:21,484 --> 00:39:25,010 ja ehkä heittää lisää virheilmoituksia kuin ovat todella merkityksellisiä. 846 00:39:25,010 --> 00:39:26,380 >> Joten katsokaamme ensin. 847 00:39:26,380 --> 00:39:27,540 Super arvoituksellinen aluksi. 848 00:39:27,540 --> 00:39:31,050 Mutta ilmoitus, tässä on nimi tiedosto, johon minä mokasin ilmeisesti. 849 00:39:31,050 --> 00:39:36,570 Colon 5, paksusuoli 5 vain keinoja rivi 5 viidennessä luonnetta. 850 00:39:36,570 --> 00:39:39,760 Joten viidennessä sarakkeessa merkkiä, jos haluatte, virhe. 851 00:39:39,760 --> 00:39:41,870 Käytä pimeän tunnisteen merkkijono. 852 00:39:41,870 --> 00:39:43,120 Tarkoititko vakio n? 853 00:39:43,120 --> 00:39:44,850 >> Ei, tarkoitin merkkijono. 854 00:39:44,850 --> 00:39:47,640 Ja sitten se on eräänlainen kopiointia ja liittämistä 855 00:39:47,640 --> 00:39:50,700 mitä olen kirjoittanut todella tehdä minun huomiota siihen, missä minä mokasin. 856 00:39:50,700 --> 00:39:54,260 Niin jostain syystä C, tai ainakin kääntäjä 857 00:39:54,260 --> 00:39:56,470 ei ymmärrä sanaa merkkijono. 858 00:39:56,470 --> 00:39:57,890 Ja se johtuu teimme sen. 859 00:39:57,890 --> 00:40:01,440 Joten jono ei ole olemassa C. Mikä CS50 tekee, 860 00:40:01,440 --> 00:40:03,380 että ensimmäisten viikkojen vain luokan, 861 00:40:03,380 --> 00:40:05,700 on meillä tarjota joitakin koulutus pyörät, niin sanoakseni. 862 00:40:05,700 --> 00:40:11,160 Ja laitamme nämä apupyörät sisällä erityinen tiedosto nimeltä CS50.h. 863 00:40:11,160 --> 00:40:14,970 >> Joten tämä on toinen kahdesta tiedosto nimiä, jotka ilmeisesti päättyy dot tuntia. 864 00:40:14,970 --> 00:40:16,300 Katsotaanpa taaksepäin. 865 00:40:16,300 --> 00:40:19,360 Printf on ilmoitus tai toiminto että ilmeisesti tulostaa jotain 866 00:40:19,360 --> 00:40:20,580 näyttöön. 867 00:40:20,580 --> 00:40:23,470 Mutta et näe minua toteuttaa printf, oikea. 868 00:40:23,470 --> 00:40:26,360 Joku vuosi sitten toteutettu printf. 869 00:40:26,360 --> 00:40:30,420 Millä tiedosto olisi pelaat hän tai hän laittaa täytäntöönpanon 870 00:40:30,420 --> 00:40:34,270 varten printf, koodi printf? 871 00:40:34,270 --> 00:40:36,860 >> Tiedostoon nimeltä vakio I / O.h. 872 00:40:36,860 --> 00:40:39,930 Itse asiassa se on luultavasti kaksi kuvaa, vakio-I / O.h, 873 00:40:39,930 --> 00:40:42,650 joka tarkoittaa otsikkoa tiedosto, ja vakio-I / O.c, 874 00:40:42,650 --> 00:40:44,060 joka tarkoittaa C lähdekoodia. 875 00:40:44,060 --> 00:40:48,220 Joten hän joitakin vuosia sitten plopped koodin että he kirjoittivat tuohon tiedostoon 876 00:40:48,220 --> 00:40:51,240 niin, että ihmiset pitävät meitä vuotta myöhemmin voi olla se, 877 00:40:51,240 --> 00:40:53,040 niin sanotusti omissa ohjelmissa. 878 00:40:53,040 --> 00:40:56,320 >> Ja todellakin, sitähän ruutumerkillä jälkeen sana kuuluu tekee. 879 00:40:56,320 --> 00:41:00,250 Se näyttää kovalevylle, havaitsee tiedoston nimeltä standardi I / O.h, 880 00:41:00,250 --> 00:41:03,840 ja sitten tehokkaasti kopiot ja pastat se sisällä oman tiedoston. 881 00:41:03,840 --> 00:41:07,210 Joten nyt minun ohjelma tietää miten tulostaa näytölle. 882 00:41:07,210 --> 00:41:11,120 >> Niin, että logiikka, jossa on merkkijono määritellään? 883 00:41:11,120 --> 00:41:12,260 >> Yleisö: CS50.h. 884 00:41:12,260 --> 00:41:13,290 >> DAVID J. MALAN: CS50.h. 885 00:41:13,290 --> 00:41:15,540 Ja todellakin, että me, pysyvä henkilöstö, ovat tehneet. 886 00:41:15,540 --> 00:41:19,590 Olemme keksineet muutamia tietotyyppejä, niin sanotusti, kuten merkkijono, 887 00:41:19,590 --> 00:41:22,370 lisäksi itse olet saada ilmaiseksi, kuten int. 888 00:41:22,370 --> 00:41:26,010 Ja näemme toiset, kuten nieriä varten merkin ja muutaman lisää. 889 00:41:26,010 --> 00:41:30,670 Sisältä CS50.h ilmeisesti on ainakin jotkut mainita merkkijono. 890 00:41:30,670 --> 00:41:34,980 >> Joten nyt anna minun mennä eteenpäin ja uusintana make hei-1. 891 00:41:34,980 --> 00:41:37,100 Tulen zoomata uudelleen ja rajat sormet. 892 00:41:37,100 --> 00:41:41,370 Now tehtyään yhden muuttaa Korjasin useimmat asiat. 893 00:41:41,370 --> 00:41:42,100 Mutta perkele. 894 00:41:42,100 --> 00:41:44,290 Enemmän prosentteja kuin tiedot argumentteja. 895 00:41:44,290 --> 00:41:45,980 Mitä tein väärin tällä kertaa? 896 00:41:45,980 --> 00:41:47,420 >> Niin se on silti aika arvoituksellinen. 897 00:41:47,420 --> 00:41:51,560 Mutta tämä virhe on rivi 7 ja luonne 21. 898 00:41:51,560 --> 00:41:53,880 Joten mennään etsiä täältä. 899 00:41:53,880 --> 00:41:55,350 Se on vähän hienovarainen. 900 00:41:55,350 --> 00:41:59,167 Mutta jos ajattelee mitä perusajatuksista täällä ovat, 901 00:41:59,167 --> 00:42:00,500 ehkä voimme kiusata tämän toisistaan. 902 00:42:00,500 --> 00:42:02,300 >> Joten printf on funktion nimi. 903 00:42:02,300 --> 00:42:04,960 Suluissa tähän mennessä on aivan kuten mitä laitamme ympärillä 904 00:42:04,960 --> 00:42:07,005 juttuja olemme ohimennen tuloina toimintoa. 905 00:42:07,005 --> 00:42:08,921 Okei, vain mielivaltainen ihmisen sopimusta. 906 00:42:08,921 --> 00:42:09,919 Käytä sulkuja. 907 00:42:09,919 --> 00:42:12,460 Sisältä ne sulkeissa olemme pistäneet lainausmerkkeihin, 908 00:42:12,460 --> 00:42:14,810 ja sitten merkkijono kuten "Hello World". 909 00:42:14,810 --> 00:42:18,160 >> Mutta että aikaisemmin esimerkiksi hyvin lyhyesti teki katsomme Scratch. 910 00:42:18,160 --> 00:42:22,590 Ja meillä oli prosentin d, mitä muuta oli sisällä niitä sulkuja 911 00:42:22,590 --> 00:42:23,730 että Huusin suullisesti? 912 00:42:23,730 --> 00:42:24,230 Joo. 913 00:42:24,230 --> 00:42:28,166 >> Yleisö: Eli se mitä olet ottaen [Äänetön] sisällä [kuulumaton] 914 00:42:28,166 --> 00:42:30,200 mitä nämä [kuulumaton]? 915 00:42:30,200 --> 00:42:31,200 DAVID J. MALAN: Aivan. 916 00:42:31,200 --> 00:42:32,700 Joten jouduimme prosenttia d. 917 00:42:32,700 --> 00:42:36,620 Mutta sitten meillä oli lähellä lainaus, pilkku, laskuri. 918 00:42:36,620 --> 00:42:37,120 Oikea. 919 00:42:37,120 --> 00:42:40,680 Me määritelty, mitä haluamme tehdä niin paikanvaraajaan. 920 00:42:40,680 --> 00:42:44,621 Joten mitä aion tehdä tässä pilkku, mitä haluat minun laittaa? 921 00:42:44,621 --> 00:42:45,120 Yleisö: S. 922 00:42:45,120 --> 00:42:46,828 DAVID J. MALAN: S, koska s tässä tapauksessa 923 00:42:46,828 --> 00:42:48,700 on nimi säilytysrasiassa. 924 00:42:48,700 --> 00:42:50,180 Se on nimi, että lasi kulho. 925 00:42:50,180 --> 00:42:53,610 Kun ennen se oli laskuri, joka yksinkertainen Scratch Esimerkiksi me katsoimme. 926 00:42:53,610 --> 00:42:56,630 Joten nyt se on tehnyt kaksi muutoksia, haluan zoomata 927 00:42:56,630 --> 00:42:59,800 ja yrittää vielä kerran kokoamaan tätä ohjelmaa. 928 00:42:59,800 --> 00:43:01,596 >> Nyt näen, että arvoituksellinen linja. 929 00:43:01,596 --> 00:43:03,470 Mutta se on oikeastaan nimeksi kääntäjä. 930 00:43:03,470 --> 00:43:04,886 Kalahtaa on nimi kääntäjä. 931 00:43:04,886 --> 00:43:07,100 Tee on vain pelastamisestani päänsärky koskaan 932 00:43:07,100 --> 00:43:09,830 kirjoittamalla, että pitkä hullu komento ulos. 933 00:43:09,830 --> 00:43:14,900 Joten nyt jos en dot slash hei-1, Haluan nähdä "Hei, David." 934 00:43:14,900 --> 00:43:16,450 >> Melko underwhelming kuitenkin, eikö? 935 00:43:16,450 --> 00:43:18,158 Olisimme voineet tehdä tämä paljon yksinkertaisemmin 936 00:43:18,158 --> 00:43:20,940 puhumatta muuttujista ja CS50.h ja kaikki tämä. 937 00:43:20,940 --> 00:43:23,080 Joten tehkäämme se hieman mielenkiintoisemman. 938 00:43:23,080 --> 00:43:31,010 >> Lisäksi CS50.h, ottaa asioita, kuten merkkijono 939 00:43:31,010 --> 00:43:34,550 julisti, CS50 kirjasto on myös muutamia tehtäviä. 940 00:43:34,550 --> 00:43:38,520 Joten aivan kuten vuosi sitten, joku kirjoitti printf ja laita se vakio I / O.h 941 00:43:38,520 --> 00:43:39,530 ja jonkin muun tiedoston. 942 00:43:39,530 --> 00:43:44,010 >> Me, CS50 henkilökunta kirjoitti toiminto nimeltään getchar, GetDouble, GetFloat, 943 00:43:44,010 --> 00:43:47,610 GetInt, GetLongLong, GetString, ja laitoimme ne sisällä tiedosto 944 00:43:47,610 --> 00:43:49,890 nimeltään CS50.h ja CS50.c. 945 00:43:49,890 --> 00:43:51,880 Ja laitamme heidät sisälle ja CS50 Appliance. 946 00:43:51,880 --> 00:43:53,880 Ja ihmiset voivat myös ladata niitä verkossa, jos he 947 00:43:53,880 --> 00:43:55,880 halua laittaa heitä oma kone samoin. 948 00:43:55,880 --> 00:44:00,880 Joka on sanoa, että olemme luoneet toimintoja, jotka saavat käyttäjän syötettä. 949 00:44:00,880 --> 00:44:02,930 En tiedä mitä kaikkia Näiden tietojen tyypit ovat. 950 00:44:02,930 --> 00:44:06,490 GetInt on sellainen suoraviivainen, kuten saada kokonaisluku jotenkin käyttäjältä. 951 00:44:06,490 --> 00:44:09,980 Ja GetString on luultavasti kuin get sana tai lause käyttäjältä. 952 00:44:09,980 --> 00:44:11,770 >> Joten keskittyä siihen. 953 00:44:11,770 --> 00:44:14,710 Ja aion mennä takaisin laitteen ja aion mennä eteenpäin 954 00:44:14,710 --> 00:44:20,790 ja tallentaa tiedoston, kutsukaamme se hei-2.c kuin minun toinen versio. 955 00:44:20,790 --> 00:44:23,030 Ja tehkäämme pari muutoksia. 956 00:44:23,030 --> 00:44:25,800 >> Tällä kertaa sen sijaan, kova koodaus David, joka 957 00:44:25,800 --> 00:44:29,120 tekee uskomattoman johdonmukainen mutta underwhelming ohjelma, 958 00:44:29,120 --> 00:44:32,640 mitä jos en sen sijaan tehdä GetString? 959 00:44:32,640 --> 00:44:35,660 Nyt huomaa GetString on sulkeen, 960 00:44:35,660 --> 00:44:38,500 suljettu suluissa, koska se ei tarvitse mitään panosta. 961 00:44:38,500 --> 00:44:40,850 Se on vain menossa saada merkkijonon käyttäjältä. 962 00:44:40,850 --> 00:44:42,460 >> Ja nyt sana muiden syntaksin. 963 00:44:42,460 --> 00:44:45,439 Puolipisteet vain loppuun rivi koodia. 964 00:44:45,439 --> 00:44:46,730 Et tarvitse niitä kaikkialla. 965 00:44:46,730 --> 00:44:48,896 Mutta se vain tarkoittaa, olen tehnyt tämän riviä koodia. 966 00:44:48,896 --> 00:44:51,080 Saanen siirtyä johonkin toiseen lausunto tai toiminto. 967 00:44:51,080 --> 00:44:53,010 String julistaa muuttuja. 968 00:44:53,010 --> 00:44:55,920 Merkkijono on kuin sanoisi anna minulle kulhoon, kiitos. 969 00:44:55,920 --> 00:44:57,940 Ja haluaisin laittaa merkkijonon siinä. 970 00:44:57,940 --> 00:44:59,430 >> Ja nyt yhtäläisyysmerkki. 971 00:44:59,430 --> 00:45:03,510 Mikä on yhtäläisyysmerkki vastaavat käytännössä? 972 00:45:03,510 --> 00:45:04,500 >> Yleisö: Määritä. 973 00:45:04,500 --> 00:45:06,190 >> DAVID J. MALAN: Joo, arvon määrityksessä. 974 00:45:06,190 --> 00:45:09,872 Jos siis esimerkiksi puhelun Tämän toiminnon GetString, 975 00:45:09,872 --> 00:45:12,830 ja näemme hetken, joka on menossa pyytää käyttäjältä merkkijonon. 976 00:45:12,830 --> 00:45:17,810 Tämä on kuin kerroit minulle sitten kirjoittaa D--v-i-d pala paperia. 977 00:45:17,810 --> 00:45:21,060 Ja kun sanon merkkijono s vastaa GetString, 978 00:45:21,060 --> 00:45:24,140 sama ei todellakaan tarkoita yhtä C-ohjelmointi. 979 00:45:24,140 --> 00:45:27,880 Se tarkoittaa antaa oikean käden puolelta vasemmalle puolelle. 980 00:45:27,880 --> 00:45:29,510 >> Joten olen saanut merkkijono. 981 00:45:29,510 --> 00:45:32,785 Ja yhtäläisyysmerkki merkitsee asian säilytysrasiassa nimeltään s. 982 00:45:32,785 --> 00:45:36,730 Ja sitten siirtää pois printf todella tehdä sen asian. 983 00:45:36,730 --> 00:45:39,790 >> Niin lopputulos sitten on menossa näyttää hieman erilaiselta. 984 00:45:39,790 --> 00:45:40,840 Tehdään tehdä hei-2. 985 00:45:40,840 --> 00:45:43,940 986 00:45:43,940 --> 00:45:45,260 Joko voisi toimia. 987 00:45:45,260 --> 00:45:46,450 Olet jälkeen pitkin. 988 00:45:46,450 --> 00:45:47,940 Tee hei-2 toimi. 989 00:45:47,940 --> 00:45:52,640 Dot slash hei-2, Enter. 990 00:45:52,640 --> 00:45:54,620 >> Olen ilmeisesti ääretön silmukka tai jotain. 991 00:45:54,620 --> 00:45:55,453 Mitään ei tapahdu. 992 00:45:55,453 --> 00:45:56,134 Miksi? 993 00:45:56,134 --> 00:45:57,805 >> Yleisö: Se tekee päättymättömään silmukkaan. 994 00:45:57,805 --> 00:45:59,430 DAVID J. MALAN: Se on päättymättömään silmukkaan. 995 00:45:59,430 --> 00:46:02,710 Se on tavallaan odotti minua todella tarjoavat sitä joillakin tuloilla. 996 00:46:02,710 --> 00:46:05,800 Joten anna minun mennä eteenpäin ja kirjoita David, ja paina Enter. 997 00:46:05,800 --> 00:46:07,230 Ja nyt se sanoo "hei, David." 998 00:46:07,230 --> 00:46:09,040 Jos juoksen sen uudelleen. 999 00:46:09,040 --> 00:46:11,530 Katsotaanpa kirjoita Rob, "Hei, Rob." 1000 00:46:11,530 --> 00:46:13,900 >> Nyt tämä on pahin käyttöliittymä koskaan. 1001 00:46:13,900 --> 00:46:16,110 Käyttäjä on ilmeisesti pitäisi tietää, mitä tehdä. 1002 00:46:16,110 --> 00:46:17,120 Mutta ei väliä. 1003 00:46:17,120 --> 00:46:19,570 Näiden samassa rakennuksessa lohkojen kuten Scratch, 1004 00:46:19,570 --> 00:46:24,980 voimme ratkaista tämän ongelman ja sanoa jotain nimenne, paksusuoli, 1005 00:46:24,980 --> 00:46:27,820 tilaa, suljettu lainaus, sulje sulkuja, puolipiste. 1006 00:46:27,820 --> 00:46:30,680 Niin paljon taas typeryyttä kanssa syntaksin. 1007 00:46:30,680 --> 00:46:34,040 >> Mutta huomaa Olen juuri lisännyt palapelin pala yli tämän yhden 1008 00:46:34,040 --> 00:46:35,280 ja ennen tätä. 1009 00:46:35,280 --> 00:46:38,870 Joten jos nyt uusintana tämän, hei-2, Enter. 1010 00:46:38,870 --> 00:46:41,180 Hetkinen. 1011 00:46:41,180 --> 00:46:41,830 Mikä on vialla? 1012 00:46:41,830 --> 00:46:43,570 Se ei käyttäydy eri tavalla. 1013 00:46:43,570 --> 00:46:44,200 Joo. 1014 00:46:44,200 --> 00:46:46,010 >> Yleisö: Et juossut tee uudestaan. 1015 00:46:46,010 --> 00:46:47,968 >> DAVID J. MALAN: en suorita make taas oikealle. 1016 00:46:47,968 --> 00:46:49,430 Joten Muutin lähdekoodia. 1017 00:46:49,430 --> 00:46:50,638 Mutta jälleen kerran, siellä tuo virtaus. 1018 00:46:50,638 --> 00:46:54,530 Lähdekoodi kautta kääntäjä antaa voit uusi kohde-koodin tai 0s ja 1s. 1019 00:46:54,530 --> 00:47:00,209 Joten minun täytyy todella uusintana make hei-2 Enter. 1020 00:47:00,209 --> 00:47:01,750 OK, jotain näyttää tapahtuneen. 1021 00:47:01,750 --> 00:47:04,220 Dot slash hei-2. 1022 00:47:04,220 --> 00:47:05,390 Nimenne. 1023 00:47:05,390 --> 00:47:09,990 Ja tehdä selväksi nyt, miksi kursori samalla linjalla? 1024 00:47:09,990 --> 00:47:10,490 Täsmälleen. 1025 00:47:10,490 --> 00:47:13,020 En laittanut kenoviiva n tänne minun koodi. 1026 00:47:13,020 --> 00:47:16,110 Joten nyt voin kirjoittaa jotain Daven, Enter. 1027 00:47:16,110 --> 00:47:18,710 Voin käyttää sitä uudelleen ja kirjoita jotain Gabe, Anna, 1028 00:47:18,710 --> 00:47:22,250 ja saamme eri ohjelmaa uudestaan ​​ja uudestaan ​​ja uudestaan. 1029 00:47:22,250 --> 00:47:28,940 >> Nyt lopulta olemme menossa tarvitsevat käyttää muutamia eri ominaisuuksia. 1030 00:47:28,940 --> 00:47:32,860 Meidän on otettava käyttöön lopulta joitakin edellytykset tehdä asioita ehdollisesti. 1031 00:47:32,860 --> 00:47:35,550 Ehkä kierroksia jotta voimme tehdä asioita uudelleen ja uudelleen. 1032 00:47:35,550 --> 00:47:38,220 >> Ehkä se olisi mukavaa, jos me voisi toteuttaa omia toimintoja, 1033 00:47:38,220 --> 00:47:41,355 kuten voisimme toteuttaa omia printf tai oman version GetString 1034 00:47:41,355 --> 00:47:45,870 ja GetFlow, koska loppujen lopuksi jopa tämän komennon verkkoympäristöön 1035 00:47:45,870 --> 00:47:49,780 voimme tehdä jopa kaikkein visuaalisesti kiinnostavia asioita. 1036 00:47:49,780 --> 00:47:51,950 >> Itse lopuksi haluan tehdä tämän. 1037 00:47:51,950 --> 00:47:54,020 Aion mennä eteenpäin ja sulje nämä ikkunat 1038 00:47:54,020 --> 00:47:57,400 ja avaa tämä kuvake täällä, joka on vain isompi 1039 00:47:57,400 --> 00:48:00,020 versio että sulautettujen pääteikkunassa. 1040 00:48:00,020 --> 00:48:02,329 Joten Gedit ei ole vain paikka minun koodi, 1041 00:48:02,329 --> 00:48:05,620 mutta myös rakennettu terminaali-ikkunassa, musta ja valkoinen ikkuna jossa voin ajaa 1042 00:48:05,620 --> 00:48:06,230 komentoja. 1043 00:48:06,230 --> 00:48:08,600 >> Satuin avaamaan isompi versio tästä. 1044 00:48:08,600 --> 00:48:11,170 Ja nyt aion mennä kansio, että olen jo 1045 00:48:11,170 --> 00:48:13,150 laittaa etukäteen kurssin kotisivuilla. 1046 00:48:13,150 --> 00:48:16,720 Ja aion mennä eteenpäin ja Avaa tiedosto nimeltä thadgavin.c, 1047 00:48:16,720 --> 00:48:18,710 joka on kirjoittanut joku muu. 1048 00:48:18,710 --> 00:48:21,220 >> Ja jos katsomme tätä, tämä ei ole sellaista koodia 1049 00:48:21,220 --> 00:48:24,370 me voidaan kirjallisesti, koska Tavoitteena Tämän koodin 1050 00:48:24,370 --> 00:48:28,450 oli kirjoittaa kaunein looking koodin että hän voisi 1051 00:48:28,450 --> 00:48:31,290 riippumatta siitä, onko toinen ihminen voisi koskaan 1052 00:48:31,290 --> 00:48:33,660 ymmärtää tätä koodia. 1053 00:48:33,660 --> 00:48:37,050 >> Itse asiassa joka vuosi siellä on mitä on kutsutaan sotkettu C kilpailu, joka 1054 00:48:37,050 --> 00:48:39,570 on todellinen geeks jotka kirjoittavat koodin että kukaan muu ei voi lukea, 1055 00:48:39,570 --> 00:48:42,050 mutta joka tekee jotain joko todella yksinkertainen tai todella hämmästyttävää. 1056 00:48:42,050 --> 00:48:43,890 Ja ajattelimme lopuksi tämä näyttää 1057 00:48:43,890 --> 00:48:48,300 jotain, joka on aika uskomatonta Olet ehkä nähnyt kerran ennen. 1058 00:48:48,300 --> 00:48:52,650 Mutta me päättyy tähän merkille, piste slash, thadgavin. 1059 00:48:52,650 --> 00:48:53,860 Tämä on siis mitä odottaa. 1060 00:48:53,860 --> 00:48:57,140 1061 00:48:57,140 --> 00:48:58,500 >> Se on siinä CS50. 1062 00:48:58,500 --> 00:48:59,935 Nähdään keskiviikkona. 1063 00:48:59,935 --> 00:49:04,284 1064 00:49:04,284 --> 00:49:10,016 >> [Musiikki soi] 1065 00:49:10,016 --> 00:53:31,883