[Prehrávanie hudby] DAVID Malan: Dobre. Vitaj späť. To je CS50, a to je Prvý týždeň, pokračovanie. Takže jeden z dôvodov, prečo sme sa zložiť okolo technológií, ako Google Sklo je, že prichádzajú s niečo známy ako API, Application Programming Interface. A čo to znamená, že sa správne súbory a so správnym dokumentáciu, môžete skutočne písať softvér aj pre zariadenia, ako sú tieto. A tak to, čo máme na mysli, k semestre koniec je, ak je projekt zahŕňajúce, povedzme, Google Sklo môže odvolanie, uvidíme, čo môžeme urobiť v podmienky hákovanie vás s niektorými loaner hardware, ako aj verejne prístupné API, takže môžete skutočne začať vytváraní softvéru ktoré beží na rovnakej sklo Google. Ďalšie zariadenia, ktoré hráme s dobou, že sme si mysleli, by mohla byť zábava na konci semestra je táto maličkosť tu. Je to tzv Leap Motion, a to, čo ste asi vidieť je technicky reklama na zariadenie, ale sa hovorí, čo to najmä Zariadenie je schopné. A je to tiež prichádza s API, pomocou ktorý môžete písať softvér ovládať svoj počítač takým spôsobom, Celkom sa mi páči tento minútu filmu nájdete TU. [PLAYBACK] [END PLAYBACK] Takže teraz, tento prístroj sa stane byť realizované ako malý USB konektor, ktorý môžete pripojiť do vašej počítač, ale ja by som sa nečudoval keď onedlho máme tieto druhy technológie v budúcom šarže PC a Mac, takže môžete skutočne s ňou pracovať spôsobom, ako to. V skutočnosti to, čo som myslel, že to je tiež Zastavil som sa trochu demonštrácii program, ktorý je dodávaný s týmto softvérom. Tak som dal malý snímač v prednej časti môjho notebooku. A ako môžete vidieť, že už si uvedomuje, že moja ruka je tu ovládanie. A to všetko robí, je aplikácia hladko maličkosti, ako je tento. Ale vidíte, že skutočne Mám päť prstov tam. Ak sa nám podarí dostať to urobiť všetko, 10, môžete si predstaviť elegantné piano aplikácie alebo podobne. Takže ak by ste chceli prísť po hodine dnes a hrať s tým, ako dobre, ste vítaní. Tak o tom viac ku koncu semestra. Takže pár administratívne oznámenia. Raz, to vyrezať tento piatok napoludnie na cs60.net/section. To URL je na kurze je Domovská stránka rovnako. Do tej doby, aj keď, supersections bude mať premiéru túto nedeľu. Supersections sú jednorazová záležitosť, , Pretože to nám zaberie nejaký čas na prácu , Kto je v ktorej časti a kde. Takže Túto nedeľu, bude tam jeden sekcia pre tých menej pohodlné, jedna sekcia pre tých, pohodlnejšie. A tí z vás, niekde medzi vítaní ísť jeden alebo oba alebo žiadny. Obaja z nich bude natočený. Budú vo väčšom sále, než časť by za normálnych okolností sa dovnútra Ale cieľom je vybaviť vás niektoré komfort s problémom nastaviť jednu, s C, s CS50 zariadení, tento víkend, ešte predtým, než zistili, že vaša formálne priradenie sekcie. Takže budete splniť vaše TF a vaše menšie skupina sectionmates asi týždennú dobu. Úradné hodiny, zatiaľ, boli deje. Do využiť z nich dnes večer alebo zajtra večer, ak by ste chceli. Problém nastavenie 0 je splatná v piatok. Jedná sa o deň neskôr, než pravidelne plánovaným štvrtok. Ale problém sada 1, uvidíte že zahŕňa niektoré warm-up cvičenia, s ktorými si sami možné rozširovať Štvrtok termín do piatka. Problém sada 1, medzitým bude mať premiéru na ihrisku internetových stránkach to prichádza Piatok, ak by ste chceli schúliť to, ako som kedysi dávno neskoro V piatok večer vo svojej izbe. Takže cs50.net/appliance je miesto, kde môžete získať CS50 spotrebiče že sme začali používať v pondelok. Budeme používať trochu viac dnes. Ale buďte si istý, že problém nastaviť 1 Špecifikácie vás prevedie presne kroky, ktoré potrebujete sa dostať, že hore a beh. Takže nebojte sa o tom, že pred Pset 1, ak by ste radšej nie. Dobrá. Tak sme sa v pondelok na zdrojový kód, ale v súvislosti s novou programovací jazyk, a to C. A a C, Na rozdiel od nuly, nie je grafický. Nie je to skladačky. Je to skôr anglicky ako syntax. A je tu pár krokov zapojených v skutočnosti písomne ​​a beží Program v C, pretože okrem zdroja Kód takto, budete potrebovať niečo volal kompilátor. A Laicky povedané, to, čo nemá kompilátor urobiť pre nás? Jo. STUDENT: Prevádza kód že píšete na 0s a 1s. DAVID Malan: Dobrý. Tak to prevedie kód, ktorý píšeme 0s a 1s. Prevádza tzv zdrojový kód kód objektu, latter ktorý vyzerá Trochu niečo také. A je to váš procesor, mozog vnútorná časť počítač, že z dôvodu ľudí, ktorí vytvorili tieto počítače, vedieť, čo tieto sekvencie 0s a 1s priemeru. Možno to znamená, že tlač. Možno to znamená, že naviac. Možno to znamená, že odčítanie. Možno to znamená, že zobrazenie grafiky. K dispozícii sú preddefinované vzory bitov že sa svet rozhodol znamenať určité veci. Ale z väčšej časti v tomto kurze, budeme pracovať na vyššej úrovni, a budeme brať za samozrejmosť, že existujú veci, ako kompilátory, ktoré môžu aby náš zdrojový kód funkcie tak, ako sme v úmysle. Takže programu sme napísali prvý posledný týždeň a potom začal do prístavu, tak hovoriť, C tento rok Pondelok, to bolo. Keď zelená vlajka kliknutí pozdraviť. To bolo, samozrejme, zapísaný Scratch. A ja som tvrdil, že ekvivalentné Program v C vyzeral trochu niečo také. Takže to, čo som myslel, že by som urobil je najprv, poďme srandista oddelene, čo vyzerá na prvý pohľad síce ako celkom tajomný syntax, ale začnete všímať vzory celkom rýchlo. Čo budeme robiť aj dnes, je poskytnúť tie s duševnou model pre niektoré kánonický niektoré štandardné konštrukcie v programovaní. A potom budeme skutočne dostať svoje ruky špinavé s niektorými príkladmi rovnako. Takže pre tých z vás pohodlnejšie, si uvedomiť, že tento týždeň a potom ďalšie týždeň môže veľmi dobre byť trochu preskúmania. Ale najmä pri hacker vydania problému set 1 zhasne Samozrejme web v piatok, ja si myslím, zistíte, že aj keď sa budete vyplniť niektoré medzery v budúcom týždni alebo dvoch, Začnete sa dostať stále viac napádal a stretnutia nové a novšie veci. Takže poďme dráždiť tento program seba niekoľko riadkov naraz. Na samom vrchole, máme to, čo je odborne nazýva direktíva preprocesoru. To je len riadok kódu, ktorý hovorí, zahrnúť do obsahu súboru, takzvané štandardné I / N, štandardný vstup - alebo, je mi ľúto, štandardné I / O, štandardné vstup / výstup,. h, vo vnútri môjho vlastného programu. Takže inými slovami, keď som to písal Program s jednoduchým textovým editorom, ako gedit je jednoduchší ekvivalent niečo ako Microsoft Word, ktoré inštrukcia # include stdio.h, je len chystá povedať kompilátora, uchopiť Obsah tohto iného súboru, stdio.h, a vložiť ich priamo tu. A teraz, prečo ma to zaujíma? Čo tvrdíme, že je vo vnútri tohto súboru tzv stdio.h, ktorý je uložený niekde na mojom pevnom disku alebo v tejto prípad, niekde v CS50 zariadení? Niekto ju tam pre mňa. Ale to, čo je v ňom? Jo, je to vyhlásenie volaná funkcia printf. Takže printf pripomína, že funkcia zobrazuje slová a znaky a čísla na obrazovke v mojej ponuky. Ale ja som to nenapísal. CS50 to nenapísal. Niekto rokmi napísal, a oni v podstate nám recept na to v súbore nazvanom stdio.h. Takže prvý riadok len mi dáva prístup na funkcie, ktoré niekto iný napísal pred rokmi, medzi ktoré sú printf. Teraz, ďalší riadok budem mávať moju dušu ruka s minimálne do budúceho týždňa. Ale teraz viem, že int main (void) je v podstate ekvivalent tejto žlté skladačky, kedy zelená vlajka klikli. Svet pred rokmi rozhodol, že ak píšete program jazyka C s názvom, môžete začať váš program s radom ktorá vyzerá takto. Za púhych asi za týždeň, bude to robiť zmysel pre to, čo je int, čo je neplatné. Ale teraz, len myslieť na to, ako tejto žltej puzzle. Teraz ďalšie, máme zložená zátvorka nasleduje ďalšie úzke zloženú zátvorku, aby som tak povedal. A uvidíme to po celú dobu programy v jazyku C, ako aj JavaScript a PHP. A to len zapouzdřit súvisiace riadky kódu. Otvorená zložená zátvorka v podstate hovorí, tu je nejaký kód. A uzavretá zložená zátvorka, ktorá je pod uhlom v opačnom smere, len znamená, že je to pre zodpovedajúci kód. Takže šťavnaté riadok v tejto prvej Program je posledná, printf, quote-koniec citátu, hello world. A ja som volal vec medzi cituje, čo minule? Takže je to reťazec. A reťazec je len techie termín pre postupnosť znaky, slovo, frázy. Dokonca aj jediný list by mohol byť dvakrát citovaný. Ale je to postupnosť nula alebo viac znakov. Spätné lomítko-n, aj keď vyzerá trochu divné. Ale je to proste niečo znamená jednoduchý k počítaču. Čo je spätné lomítko, n? Nová linka. Tak to je len zvláštne sled znaky, ktoré sa svet rozhodol znamená, vloženie zalomenie riadku tam, pretože kompilátor bude skutočne mať zmätený, zvyčajne, ak ste veľmi pochopiteľne, ale nesprávne, stačí spustiť stlačením klávesu Enter, aby nové riadky v kóde. Musíte byť trochu viac explicitné spätným lomítkom-n. A uvidíme tú niekoľko ďalších, ako vzory pre špeciálne znaky. Napríklad, ak ste chceli, aby vaše myseľ blúdiť na rohový prípade, Predpokladám, že som chcel vytlačiť dvojité úvodzovky na obrazovke z akéhokoľvek dôvodu, že sa zdá, že byť trochu problematické, nie? Pretože keď som dal úvodzovky v uprostred "Hello, world", z akéhokoľvek Dôvodom, prečo sa zdá, že potenciálne problematické? Láme reťazec. Kompilátor je len program. Program ako kompilátor práve deje čítať svoje heslo zhora nadol, zľava doprava. A keď vidí tri úvodzovky miesto dvoch, že to nebude vedieť, ak máte na mysli, že tá vec vľavo by mal byť reťazec alebo vec právo, alebo celú vec. Je to nejednoznačné, a tak, ako typické kompilátor by urobiť, je len šalieť, a dá vám nejaké chybové hlásenie a aby sa vysporiadať s týmto problémom. Tak vzhľadom k tomu, lomítko, n znamená, že nový linka, čo by váš inštinkt teraz začnú byť, ak by ste chceli zahrnúť niečo neobvyklé, ako double citovať vnútri tohto inak citovaná string? Spätné lomítko-dvojité úvodzovky. A tak budeme vidieť druh vzoru tiež. Ak chcete urobiť niečo trochu divné, zistíte, že riešenie často nasleduje vzor, a spätným lomítkom označuje sekvenciu escape. A znamená to niečo špeciálne že musíme zastupovať vo odlišným spôsobom. Pokiaľ ide o tom, ako si predstavujú spätné lomítko, dobre, budeme vrátiť sa na to. Ale odpoveď je tiež v skutočnosti trochu zrejmé. Takže poďme sa predstaviť niektoré ďalšie programovací konštrukty ktoré ste videli v Scratch. Pravdepodobne ste už považovaná za samozrejmosť už pokiaľ ste už ponoril do Problém nastavenie 0. Ale poďme teraz predstaviť syntaxe C pre tieto inak pomerne intuitívne nápady, aspoň niektoré z nich. Takže táto predstava o stave, alebo vetva, zatiaľ čo predtým sme to pomocou kódu, ktorý vyzeral takhle vľavo v Scratch - ak x je menšie ako y, potom sa to tak povedať - namiesto toho sa v C - dovoľte mi, aby som zdokonaľovať v v najjednoduchšom prípade - sme proste hovoriť, ak otvoríte zátvorka, je niečo pravda - Logický výraz je ísť kde som povedal podmienku - zatvoriť zátvorka, potom to, čo je Vnútri týchto zložených zátvoriek. Takže aj tu, zložené zátvorky sú niečo ako Scratch je U tvaru skladačky. To, čo je vo vnútri týchto zložených zátvoriek. V tomto prípade, lomítko lomítko. A všimnite si, to je dopredu lomítko, nie spätné lomítko. Lomítko, lomítko, pre tých, ktorí si naprogramovaný predtým, jednoducho znamená - je to len komentár. Komentár nie je linka kódu, samo o sebe. Je to rad angličtiny, ktorý, človek, písali pre seba, aby možno pripomenie, že máte niečo urobiť, aby vysvetliť seba, vysvetľovať niekto iný, čo váš kód robí. Je to len opisný komentár. Teraz, samozrejme, môžeme mať dva-cesta rázcestí, len tým, že robí to, trojcestný rázcestí tým to, a ak budete pokračovať v tomto vzor, ​​môžete mať štyri-cesta, Päťsmerová, šesť-cesta vidličky v ceste, ak budete musieť zvládnuť, naozaj, že mnoho podmienok. A potom si všimnúť podobnosť tu - if (podmienka) else if (podmienka), a jediná, ktorá to trochu divné je posledný, ktorý je práve to inde. Ale opäť, to je rovnaký, koncepčne, s tým, čo sme urobili už, hoci syntaxe bude trvať trochu zvykať. Teraz, v tomto príklade, sú iné zvláštne syntaxe. Vidíme printf opäť otvorené zátvorky, a blízko zátvorky. A vo vnútri je reťazec v úvodzovkách. Zátvorky, v súvislosti printf, prejdite vľavo a právo na to, čo? Čo si popíšeme tie, ktoré boli string ako všeobecne? Takže je to argument. Kedykoľvek budete mať funkcie, ako je printf, a potom otvoriť zátvorka a zatvoriť zátvorka a niečo vo vnútri to, či je to reťazec alebo celé číslo, alebo čokoľvek iného, ​​čo v medzi tieto zátvorky sa nazýva argument. A argument, len ovplyvňuje Funkcie správanie. V tomto prípade, je to celkom jasné, ako. x