LUCAS FREITAS: OK, myslím, že Teraz máme žiť. Vitajte na CS50 Supersection. Sme menej pohodlné. Moje meno je Lucas Freitas. Som jeden CS50 Adresa TFS. To je Lauren. LAUREN CARVALHO: Ahoj, ja som Lauren. Som tiež vedúci TF pre CS50. LUCAS FREITAS: Dnes sme len tak poskytnúť prehľad o tom, čo všetko ste chlapci sa naučili v týždni jeden, dúfajme, že aby vám chalani dobrý zmysel pre to, čo by ste mali vedieť k problému nastaviť jeden. Len pár oznámenia. Po prvé, úradné hodiny. Úradné hodiny sú od pondelka sa deje do štvrtka v rôznych domoch v Annenbergovej každý deň. Sú to veľmi dobrý zdroj pre vás chalani prídu a klásť otázky, a hovoriť TFs, a dokonca aj výmena myšlienky s ostatnými študentmi. Takže je nutné použiť tento zdroj vo váš prospech. Druhá vec je, CS50 spotrebiča. Za posledný [nepočuteľný] vy nemuseli v skutočnosti majú zariadenia. Práve ste urobil všetko váš osobný počítač. Ale pre tento problém, v skutočnosti máte mať virtuálny stroj, takže sa Uistite sa, že stiahnuť CS50 Zariadenie a nastaviť. A tretia vec je byť istí, začať problém nastaviť ASAP len pretože je to oveľa jednoduchšie nájsť pomoc, keď ste v začiatok týždňa. Pretože ľudia majú tendenciu čakať, až poslednej chvíli spustiť problém sadu, a potom ísť do úradných hodinách, a tam je veľa ľudí. V prípade, keď idete v pondelok, budete vidieť, že môžete hovoriť TFs skoro celú noc, a oni budú mať viac ako radi, aby vám pomohol. LAUREN CARVALHO: Môžem prestať si len za jednu sekundu? Má každý bol schopný stiahnuť CS50 zariadenie? Už ľudia snažili? LUCAS FREITAS: Ak chcete stiahnuť tým, že spôsob, ako sa môžete dostať inštrukcie na cs50.net/appliance. LAUREN CARVALHO: Správne. A to robí chvíľu trvať, než naše sys administrátori vám získať licenciu kľúčom, takže zaregistrujte sa bezplatnej skúšobnej verzie prvý. Týmto spôsobom budete mať po dobu 30 dní, a potom čakať na vaše licenčný kľúč ktoré by mu dať s vami po dobu jedného roka. LUCAS FREITAS: Po prvé, poďme hovoriť trochu o CS50 Appliance. CS50 zariadenie je vlastne virtuálna stroj, ktorý budete spustiť vo vašom vlastnom počítači, ktorý je v podstate beží iný počítač vnútri vášho počítača. Čo je celkom v pohode. A v skutočnosti to je používané všade. Ľudia, ktorí sa na tech by vedieť, že toto je používané po celú dobu. ste? Môže mať viac počítačov v jednom zariadení. Poďme vlastne sa pozrieť na Appliance. Keď idete do Appliance po registráciu, budete musieť dať svoje meno a prihláste sa na Harvard takže sa môžeme dostať všetci registrovaný. Budeš vidieť v podstate len tapety, a potom Domov a Kôš, a potom tieto malé ikony. Tieto tri ikony sú v skutočnosti najviac dôležité veci, ktoré môžete mať v Váš spotrebič. Prvý z nich je gedit, čo je textový editor, rovnako ako Poznámkový blok alebo ako akýkoľvek druh textového editora. Je to proste niečo, čo používame písať kód a potom robiť veci s ním. Druhá vec, že ​​sme tu je Chrome. Takže ak budete potrebovať využiť internet v prístroji, ktorý je čo môžete použiť. A tretia vec je terminál, ktorý je v skutočnosti veľmi sladká. Ľudia sú zvyčajne trochu bojí terminálu, pretože je to veľmi staromódny aplikácie, v ktorej ste v podstate len typ čo sa klávesnice. Nie je veľa interakcie s myšou. Ale v skutočnosti terminál robí veľmi dobré veci. Po prvé, poďme jednoducho prejsť Niektoré príkazy, ktoré možno použiť v termináli. LAUREN CARVALHO: A neváhajte sa zastaviť nám, ak máte nejaké otázky. LUCAS FREITAS: Jo. Takže prvý príkaz, že máme na termináli je ls. Je v podstate znamená, že zoznam, zo všetkého súbory a všetky riaditelia, že som na mieste, že som na. Takže keď som sem robiť ls, budem vidieť že mám nejaké adresáre. Mám ploche, súbory na prevzatie, protokoly, a vhost. Tí, ktorí sú v modrej farbe, pretože sú všetky adresáre. Potom máte nejaké ďalšie súbory. Máte ako ahoj a hello.c, ktoré sú len súbory, a oni sú v rôzne farby. Tak to je veľmi dôležité príkaz len môžete vidieť, čo sú súbory a adresáre, ktoré máte v adresári, ktorý ste na v termináli. Keď vidíte jharvard @ spotrebiča a potom tam malý symbol, tilda, že jednoducho znamená, že to je Adresár, ktorý ste v túto chvíľu. LAUREN CARVALHO: Tak zadaním ls je takmer ako kliknutie na zložku ktorá je uvedená priamo tam, v to ukazuje vám všetok obsah, ktoré sú v rámci tejto zložky. DIVÁKOV: Je texte po hello.c? LAUREN CARVALHO: Oh, nemôžeš vidieť, pretože to je modrá. LUCAS FREITAS: To hovorí, Protokoly a vhosts. LAUREN CARVALHO: Tí, ktorí sú len ďalšie zložky. Je mi ľúto, je to naozaj ťažké vidieť. Možno, že keď sme vypli svetlá? Colton, chceš to skúsiť a nájsť vypínač svetla? Je mi to ľúto. Nechcel som o tom premýšľať. LUCAS FREITAS: Ale je to v podstate - Jo, ak by - LAUREN CARVALHO: Lupa vo vašej obrazovke. LUCAS FREITAS: Ja nie majú túto funkciu. LAUREN CARVALHO: [nepočuteľné]. OK. No, je tu len veľa prírodných svetlo v tejto miestnosti tiež. LUCAS FREITAS: Povedzme len predpokladať, že existujú ďalšie dva adresáre tam. LAUREN CARVALHO: Len majte s nami. Toto je len časť, ktorá budete pri pohľade na termináli. LUCAS FREITAS: Ďalšie príkaz je v podstate možno budete chcieť usporiadať súbory - napríklad všetky vaše C súbory v jednej adresár, ale nemáte adresár len pre C súbory ešte. Môžete v podstate vytvoriť adresár pomocou terminálu rovnako, čo je to isté ako kliknutie pravým tlačidlom a hovoriť Nová zložka. Príkaz, aby adresár, ktorý je mkdir, takže v podstate "robiť" a "Adresár". A potom si môžete dať názov adresára. Povedzme, že som chcel byť nazývaný, Ja neviem, povedzme pset1 Robiť to, len som vytvoril adresár. Poďme si len skontrolovať, že je to tam. Takže ak som to ls, teraz vidím, protokoly a potom pset1, a potom vhost. Takže mám nový adresár tam. A potom potom, čo ste nový adresár, Možno sa chcete nechať navigovať do neho, takže ďalší príkaz to cd, ktorá sa práve v podstate znamená ísť do konkrétny adresár. Takže ak chcem ísť do pset1, Môžem len to cd pset1. LAUREN CARVALHO: cd stojany pre zmenu adresár, [nepočuteľný] schopný pamätajte, že. LUCAS FREITAS: A teraz vidíte, že namiesto toho len s jharvard spotrebič, som jharvard zariadení, a potom pset1, pretože to ukazuje mi, kde som v tomto počítači. Teraz, keď chcem ísť späť do adresár, ktorý bol pred týmto jeden, som môže urobiť cd dot dot, čo jednoducho znamená ísť do adresára, ktorý som bol predtým, ako rodičia to adresár, v podstate. A teraz vidím, že som späť na jharvard. Ďalšia vec, ktorú môžem urobiť je rm, čo je odstránenie súboru. Napríklad, poďme najprv urobiť ls aby videli, čo mám tu. Mám ahoj a hello.c. Povedzme, že chcem na ich odstránenie. Môžem urobiť rm ahoj. Bude hovoriť "odstrániť obyčajný súbor ahoj? "A ja hovorím:" Áno. "A teraz, keď to ls, vidím, že je to už tam nie je. Ak sa snažím používať rm pre adresár, aj keď to nebude aby vám nič robiť. Bude to povedať, hej, nemožno odstrániť adresár. Takže máme ten druhý prišiel s názvom rmdir, ktorý práve v podstate znamená, odstrániť adresár. Môžem napríklad odstrániť pset1. A keď to urobím ls, vôbec sa mi nepáči mať už. Máte otázky k tomuto? Nie? Jo? DIVÁKOV: Je dôležité, že necháte priestor po - zakaždým, keď začnite písať niečo? LUCAS FREITAS: Jo. Ak sa mi páči cd a adresár, Musím sa dať priestor. Čo priestor hovoríš? LAUREN CARVALHO: Priestor medzi cd a [nepočuteľné]. LUCAS FREITAS: Jo, budete musieť dať priestor, pretože cd je príkaz, a potom ďalší reťazec, ktorý Napíšete je v podstate adresár. Takže je to ako argument. Jo? DIVÁKOV: Keď uvediete, všetky tie, sú rôzne adresáre, nie? LUCAS FREITAS: Jo, sú v adresári. DIVÁKOV: Aký je rozdiel medzi adresárov? LUCAS FREITAS: Sú to len rôzne zložky. Register je zložka vo vašom počítači. DIVÁKOV: Otvoriť priečinok. LUCAS FREITAS: Jo, je to len otvorené zložky. LAUREN Carvalho: tu, ty ktoré sú v modrej farbe sú aktuálne adresáre, ktoré môžete dostať do a potom vidieť veľa vecí, ktoré sú v to, čo je škoda, pretože nemôžete skutočne čítať tie v modrej farbe. A tie v bielej sú len súbory ktoré sú v aktuálnom adresári. LUCAS Freitas: Takže adresára sú zložky. Tie ostatné sú súbory. DIVÁKOV: Čo je to príkaz ho obnoviť, alebo ju vymazať? LUCAS FREITAS: Ak chcete vymazať? LAUREN CARVALHO: Ak chcete vymazať? LUCAS FREITAS: Myslím, že je to "jasné". Jo. Takže stačí zadať jasné, či obrazovka je príliš komplikovaná. Nejaké ďalšie otázky? A dozviete sa veľa iných Príkazy len prirodzene v priebehu semester, pretože sú veľmi užitočné. Takže teraz poďme hovoriť o kompiláciu. Hovorili sme o pseudokódu a zdrojový kód a strojový kód. A je tu veľa kódu, a možno vy ste zmätení o tom. Hovorme trochu o tom, čo sa stane, keď píšete program, a to skompilovať, a to sa stáva spustiteľný súbor. Tí sú slová, ktoré vy pravdepodobne počuli, a možno nie ste úplne istý, čo sa deje. Povedzme napríklad, že chcem, aby napísať program, ktorý hovorí: "Dobrý deň." Prvá vec, ktorá príde na myseľ, je tak nejako sa snažia vymyslieť, ako ste ísť k tomu, že vo svojej mysli, a ste asi myslel v angličtine alebo nejaký iný jazyk, rovnako ako prírodné jazyk, pravdepodobne. A potom si myslím, dobre, keď chcem, Napríklad, napísať program, ktorý hovorí: "Dobrý deň," ja by som spustiť program, Budem tlačiť ahoj, a potom budem ukončite program. To je pseudokódu. To je v podstate len sa snažíte prísť s sled udalostí že sa chystáte urobiť, aby sa schopný napísať program. Potom máte zdrojový kód, a zdrojový kód nemusí konkrétne sa v C. Hovoríme o zdrojový kód v C, pretože to je jazyk sa učíme, ale samozrejme Kód môže byť skoro žiadne programovací jazyk, ktorý máte. Neskôr v semestri, budete naučiť sa ďalšie jazyky. To je tiež zdrojový kód. Napríklad, tu, to je môj zdroj kód, a potom som vrátane knižnica, a potom začnem hlavné, a potom som vytlačiť. A Laura sa hovoriť trochu niečo o všetko. Tak to je zdrojový kód. A čo je objektový kód? Objekt je banda núl a tie, v podstate. Čo sa stane, je, spočiatku pseudokódu, ktorý je celý v angličtine. A myslím, si to pochopil. Pravdepodobne vaši priatelia pochopiť to, a väčšina ľudí by pochopiť myšlienku. Ale počítače sú naozaj hlúpi, a oni nerozumie anglicky, takže sa prekladať, že do niečoho, obvykle preložená do niektorej programovací jazyk. A môžete premýšľať o programovaní jazyk ako niečo ako jazyk že poviete počítača how hovoriť a rozumieť. Tie v podstate písať niečo v jazyk, ktorý obaja vás a vaše počítač rozumieť. To je zdrojový kód. Takže bude forma pseudokódu k zdroju kód, je to na vás. Je to v podstate robíte svoj program. Ale problém je, že Počítač nie je ani rozumieť programovací jazyk. To nechápe zdrojový kód vôbec. Je to vlastne len chápe núl a jednotiek. Takže máme to veľmi magické vec s názvom kompilátor, ktorý v podstate je chystá sa zdrojom volal, že vám napísal v jazyku, ako vás a počítač hovoriť, a teraz ste bude transformovať, že v núl a jednotiek. Takže v podstate to, čo kompilátor robí, je sa dostane zdrojový kód, v tomto prípade C, že sa bude transformovať ju do nuly a tie, ktoré počítač chápe a môže spustiteľný súbor z neho. Má to zmysel? Stačí si len myslíte, že kompilátor ako nejaký prekladateľa, ktorý je ktorý vám pomôže vysvetliť, k počítaču presne to, čo má robiť. Ale ako môžem zostaviť. Vráťme sa k zariadeniu, a povedzme, že robím tento program. Prvý Idem k vytvoreniu adresára tu, a budem to hovoriť "Prax". Teraz idem na navigáciu do adresára, tak cd praxe. Teraz som v praxi. Teraz chcem začať gedit, tak ako to mám urobiť, že? Môžem buď kliknite tu, alebo môžem len doslova typu "gedit", a to sa deje otvoriť na mňa. Teraz idem písať svoj program, tak presne to, čo som napísal v závere. Ja som vyhlásil knižnicu. Robím int main, prázdnotu. A teraz robím printf, ahoj. Teraz idem zachrániť to. Dovoľte mi uviesť do praxe, a Budem volať toto hello.c. Takže teraz je to uložené. Ak chcem, aby to skompilovať, som vlastne Môžete to urobiť na dvoch rôznych miestach. Môžem buď to v terminálovom okne, takže to veľký, alebo môžete použiť gedit, že v skutočnosti má okno terminálu tu. Takže si môžete veľmi pohodlne jednoducho váš kód, a potom môžete zadať čo tu, a pokúsite sa ho skompilovať. Tak ako to mám zostaviť kód? Najjednoduchší spôsob, ktorý máme, je pomocou robiť, čo je funkcia, ktorá je v podstate bude kompiláciu kódu. Stačí len povedať, aby ahoj, tak "Robiť" a názov programu. Oops. To je trápne. LAUREN CARVALHO: Dokážete [nepočuteľný]? LUCAS FREITAS: Ospravedlňujem sa. Nechcel som ho uložiť do právo adresár. Príďte do praxe, a teraz uložte ho ako hello.c. Je mi to ľúto. Teraz je to uložené. Dovoľte mi, aby som jednoducho ls a musí byť Uistite sa, že je to tu. OK, teraz je to tu. Takže teraz, keď to urobím, aby ahoj, to vypľuje veľa vecí, ale potom to proste dáva mi ďalší riadok pre terminál, ktorý Znamená to, že bola úspešná. Takže teraz, keď to urobím LS znova, som vlastne pozri tento súbor zelene, ktorá je spustiteľný súbor. A potom keď chcem spustiť, všetko, čo Musím urobiť, je bodka lomítko ahoj. Bude to pozdraviť tu, tak to je presne to, na čo sa pýtam ju. Je tu ešte jeden spôsob zostavovania, ktorý sa používa rinčanie. Zvonenie je len kompilátor, ktorý máme, a to je trochu viac ukecaný, aby skompilovať. Ale funguje to rovnako dobre. Takže ak som to rinčanie, a potom-O a meno, ktoré chcem dať spustiteľný súbor, takže povedzme, že "Dobrý deň." A potom súbor, ktorý chcem zostaviť, hello.c. Je to tiež bude kompilovať. A máte súbor tu, a Môžem len spustiť ho rovnako. Takže obaja pracujú. Má to zmysel? Akékoľvek otázky? DIVÁKOV: Môžete priblížiť v trochu? LUCAS FREITAS: Je nám ľúto? DIVÁKOV: Zväčšenie? LAUREN CARVALHO: Myslím, že vám môže len veliť a LUCAS FREITAS: Príkaz čo? LAUREN CARVALHO: Príkaz navyše. LUCAS FREITAS: Nie LAUREN CARVALHO: Oh, to nie je chodiť do práce, pretože - je to preto, že sme sa nastaviť rozlíšenie pre túto vec. LUCAS FREITAS: Ja nie že môžeme priblížiť palcov Jo, nemôžeme priblížiť. Máte ďalšie otázky? Prepáčte. DIVÁKOV: Dokážete opakovať rinčanie? LUCAS FREITAS: zvonenie? Zvonenie je to isté ako značka, ale Rozdiel je v tom, že prvýkrát budem napísať rinčanie, čo je príkaz, potom budem robiť -0, všetko, čo je len to, čo budeme učiť neskôr ako vlajka. Tak len si myslím, že vždy dať-o. A potom prvý, budete dať názov spustiteľného súboru, v podstate súbor, ktorý ste chystáte vytvoriť. Takže môžem povedať, napríklad, hello2 a potom súbor, ktorý chcem zostaviť, ktorý je c súbor .. Tak to je hello.c. Má to zmysel? Publikum: Dobrý deň, čo? Čo je to? LUCAS FREITAS: hello.c. A keď som skompilovať, a ak je Ja ls, mám tiež hello2, že som zostavil. A keď sa snažím spustiť, bude to robia presne to isté, čo ahoj, len vytlačiť ahoj. DIVÁKOV: Ako to, že pre značku si môžete dať hello.c po? LUCAS FREITAS: V make, môžete nemusí dať. c. V značky, stačí povedať, názov programu. Nemusíte hovoriť. C.. Ale pre kovový zvuk, mali by ste. DIVÁKOV: S rinčaním sa vám tiež musieť pridať [nepočuteľný] LAUREN CARVALHO: Jo. Takže budete musieť tiež do knižnice. LUCAS FREITAS: Jo, to je niečo, budeme používať neskôr. Tomu sa hovorí prepojenie, a myslím, že sme hovoriť o tom neskôr. Ďalšia otázka? DIVÁKOV: Myslíte si, dať bodka lomítko zvonenie? LUCAS FREITAS: Nie Bodka lomka je len otvoriť spustiteľný súbor. Takže zvonenie, stačí napísať "rinčanie," a potom, ak chcete otvoriť spustiteľný súbor, ktorý ste práve zostavený, potom nemáte dot lomka a názov. Má to zmysel? DIVÁKOV: Ak ste sa práve zmeny [Nepočuteľné] k Hello World, to si musieť překompilovat? LUCAS FREITAS: Jo. keď chcem povedať, napr "ahoj tam, "môžem len uložiť teraz, a ja Len ho skompilovať znova. Tak ma nechaj robiť make ahoj. A keď to urobím Dobrý deň, to bude hovoria "ahoj." Dáva to zmysel? Nejaké ďalšie otázky? DIVÁKOV: Máte zahrnúť Štandardné I / O koordinovať prácu? LUCAS FREITAS: Jo. Štandardné I / O je v podstate knižnica, ktorá má implementácie pre printf. Takže to, čo priamo na top zahŕňa štádiách. To je vrátane knižnicu, ktorá v podstate má veľa rôzne nástroje, ktoré môžete použiť. jeden? Z nich je printf, že je funkcia že v podstate tlačí správy na obrazovke. Nejaké ďalšie otázky? Nie? OK. Takže teraz poďme hovoriť o - LAUREN CARVALHO: Povedzme, ísť na vodítku štýle. Myslíte si chcete len nájsť tú? LUCAS FREITAS: Tak ideme hovoriť o štýle. LAUREN CARVALHO: Oh, David nedokončil. OK. Prečo by sme sa vrátiť do štýlu na samom konci? Je to vlastne bol aktualizovaný ako hovoríme. LUCAS FREITAS: Jo. Poďme spôsob David dokončiť to. LAUREN CARVALHO: Môže zapneme vlastne? Takže dúfam, že to už všetci teší Scratch. Bohužiaľ, je to čas, aby vzdialiť sa z toho - bohužiaľ je čas odísť z týchto krásnych programových blokov na C. Ale našťastie všetky programovací konštrukty, ktoré ste pracuje sa na Scratch sú priamo preložiteľné do C, a my sme začnú učiť o niektoré z nich práve teraz. Poďme hovoriť o podmienkach v boolovských výrazoch. To je beh na rezervy napájanie z batérie. LUCAS FREITAS: Ako je že nefunguje? OK. Ty tam, budem mať - LAUREN CARVALHO: Takže podmienky sú dôležité, pretože nám umožňujú predstaviť logiku do našich programov. Tu je príklad stavu v rámci programu C. Všimnime si, ako sa to - Takže táto podmienka blok práve tu, v tomto printf vyhlásenie nebude vykonávať ak podmienka v rámci zátvorky, n väčšie ako 0, vyhodnotený ako true. Teraz sú všetky podmienky v f výroky sú logické výrazy, čo znamená, že sa sú len dve možnosti. Mohli by buď vyhodnotiť na hodnotu true, alebo môžu hodnotiť false. Tak tu, tak to dáva zmysel, nie? n väčšie ako 0, znamená to, že je pozitívna číslo, čo znamená, že sa bude tlačiť out "si vybral kladné číslo." Existuje veľa boolovských výrazov , Ktoré môžu tvoriť stav s init vyhlásenie. Máme menej ako. To je menej alebo rovné. To je len sranda [nepočuteľný]. Ak chcete printf dôjsť, ak je to väčšie ako alebo rovné 0, potom by ste si vybrať to. Takže rovná len pripojí priamo Po viac ako znamienko. Equal, ktorý je odlišný od len jeden znamienko rovná sa, equal v skutočnosti znamená, že to, čo je na ľavá strana je rovnaká ako čo je na pravej strane tejto kde znamienko rovná sa je čo? Aká je len jeden znamienko rovnosti? Priradenie. LUCAS FREITAS: Kto to povedal? Je to pečivo? Oh, nie. Prepáčte. Prepáčte. Obaja ste si sladkosti. Oh, OK! Traja ľudia sa cukroví! LAUREN CARVALHO: Tak toto tu je operátor tresk predchádzajúce znamienko rovná sa, aby to nerovná. Takže či je to v mojom stave, Telo stavu by vykonať len v prípade, bez ohľadu na to v vľavo nie je to isté ako čo je na pravej strane. Môžem tiež len výkričník. V skutočnosti uvidíme vo funkcii kĺzať, ako by to byť použité. LUCAS FREITAS: Nejaké otázky? Nie? LAUREN Carvalho: Môžeme kombinovať tieto Booleovské výrazy konštruovať viac zložité podmienené príkazy. Takže tu, v prípade, bez ohľadu na to na ľavej strane na pravej strane dvojité tyče alebo čo je na pravej strane dvojité tyče vyhodnotený ako true, potom budeme tlačiť neplatné. A potom tu dole, ak bez ohľadu na to na ľavej strane dve ampersand a bez ohľadu na to na pravej strane strane z dvoch ampersand vyhodnotený ako true, potom budeme tlačiť platný. Dvojité pruhy sa nazývajú logické Operátor OR dvojité ampersand sú tzv logický operátor AND. Áno? DIVÁKOV: Sú tie len malé písmená l'y? LAUREN CARVALHO: Nie Sú to vlastne - Ak poznáte vôľa, rovnako ako nad vašou Return kľúč? Vidíte, že? LUCAS FREITAS: Je to vlastne bar. LAUREN CARVALHO: Je to vlastne len dva bary. DIVÁKOV: Môžeš použiť equal reťazcov? LUCAS FREITAS: Nie Budeme sa učiť neskôr niečo o tom. LAUREN CARVALHO: K dispozícii je funkcia ktoré môžete použiť. Ale nemusíte sa sa obávajú, že ešte nie. Čo keď dám tento program číslo 5? Čo bude tlačiť? DIVÁKOV: [nepočuteľné] platný. LAUREN CARVALHO: Platný? Jo. Neviem, kto má, že. [Smiech] LAUREN CARVALHO: To je celkom desivé [nepočuteľný]. DIVÁKOV: Takže double a, že jednoducho znamená, že a? LAUREN CARVALHO: Jo. Takže číslo 5 je tak väčšia ako 0 a menšie ako 100. DIVÁKOV: Prečo by to byť jeden? LAUREN CARVALHO: Jeden ampersand je v skutočnosti niečo iné, a to je Bitový operátor, ktorý budete dozvedieť sa o neskôr. Ale je to niečo, čo skutočne funguje s kúskami daného čísla. LUCAS FREITAS: Len si myslím, že nie musieť starať o tom teraz. LAUREN CARVALHO: Myslím, že je to pravdepodobne príde budúci týždeň. LUCAS FREITAS: Nejaké ďalšie otázky? Nie? LAUREN CARVALHO: Tak sme videli, že blokovať môže stáť samostatne, ale môže tiež byť spárovaná s a iný blok. Takže v tomto prípade, ak je n väčšie ako 0, budeme tlačiť "You vybral kladné číslo. "inde, čo znamená, v prípade, že je 0, alebo v prípade, že je to menej ako 0, budeme tlačiť, "Ty si ich vybral záporné číslo." Zaujímavosťou je, že tieto sú navzájom vylučujú. Je tu nikdy nebude prípad , V ktorom to a to môžu obaja vytlačiť. Som si istý, že pracoval s if / else box na Scratch, takže by to malo byť celkom povedome. Áno? DIVÁKOV: Potrebujeme priestor medzi int n sa rovná vezmi_int potom priestor v if? Ako by sme použiť linku [nepočuteľný] LAUREN CARVALHO: Oh, priestor tu? DIVÁKOV: Takto, ale dvojnásobok priestoru. Nie, ísť hore. Choď hore. LUCAS FREITAS: Len linka? DIVÁKOV: Jo. LUCAS FREITAS: Len prázdny riadok? DIVÁKOV: Jo. LAUREN CARVALHO: Prázdny riadok? Nie. Je to len štylistické vec. LUCAS FREITAS: Je to ako niekedy stačí preskočiť takže niektoré riadky že kód nevyzerá ako veľký blok textu. LAUREN CARVALHO: Myslím, že to, čo sa stalo bolo, že sme mali komentár, ale ja trvalo to tak, že chlapci budú musieť premýšľať o kódexe skôr než len čítať môj komentár. Všeobecne platí, že nebude naozaj rozteč ovplyvniť spôsob, akým váš program beží. Je to skôr štylistické veci. A keď máme štýle sprievodca aktualizovaný a je pripravená ísť do konca roka supersection, budeme hovoriť o tom viac. Je tu niečo, čo sa deje tento program, nie? Pretože 0 je naozaj záporné číslo. Tak uvidíme, či sa nám podarí napraviť. Môžete si asi predstaviť, s tým hovorí, že jo? Ak n je väčšie ako 0, tlačíme, "Ty vybral kladné číslo. "Potom ešte ak n je menšia ako 0, "Vybral si si záporné číslo. "iný," Vybral si si 0 ". Teraz je zaujímavá vec je, že to môže ísť donekonečna. Môžete mať bloku if, else, ak blok, ďalšie else if blok, else if, else if, else if, inak, v podstate tak dlho, ako budete chcieť. A keď postavený ako je táto, to sú všetko bude bez seba. Áno? DIVÁKOV: Tak prečo nemôžeš použiť ďalšie, ak miesto [nepočuteľný]? LAUREN Carvalho: V tomto prípade áno, mohli použiť iné, ak, a to by bolo úplne v poriadku, pretože podmienky sú samy o sebe bez seba. Ale v prípade, že podmienky neboli exkluzívny na sebe, to by núti ich, aby nikdy ako vyhodnotiť, ak to dáva zmysel. DIVÁKOV: V tomto prípade by sme mohli hniezdo druhé, ak v prvom prípade,? LAUREN Carvalho: If - Čo tým myslíš? DIVÁKOV: Ak sa tieto dve podmienky sa navzájom nevylučujú? LAUREN CARVALHO: Ak podmienky sa navzájom nevylučujú? Ale vy chcete iba jeden z nich spustiť? DIVÁKOV: Chceš len ak miesto inde. LAUREN CARVALHO: Jo. Tam sa vždy bude veľa zo spôsobov, ako môžete to urobiť. Môžete určite hniezdo je. A uvidíte v budúcom snímke, ktorý môžete mať viac IFS, len jeden po druhom. Ale to je spôsob, ako logicky organizovanie toku programu. LUCAS FREITAS: A je tu ešte jedna vec je, že budete požiadaní o uvedenie v prípade, a potom ďalšie, ak. To bude fungovať perfektne, ale je to zlé konštrukcia, pretože v podstate, ak skontrolujte najprv, či, a zistíte, že je číslo väčšie ako 0, je stačí program ukončiť. Nemusíte kontrolovať, či je to menej ako 0, nie? Ale ak nechcete-li, ak to bude kontrolovať ako, zatiaľ čo keď to urobím, ak je iný, to bude kontrolovať, či je väčšie ako 0. Ak je to, že to nebude ani pozrieť u ostatných riadkov kódu. Takže ste v podstate kontrolovať ju ako dvakrát zbytočne, tak to je dôvod, prečo sme ak else if robiť. Nejaké ďalšie otázky? DIVÁKOV: Takže funkcie o if je rovnaký ako keby to bolo len v prípade,? LAUREN CARVALHO: Nie Tie skutočne uvidí v mojej ďalšej posuňte príklad, v ktorom je možné byť rôzne. V tomto prípade, je to skoro rovnaké. Takže tu máme príklad násobok if, a funkcia nie je to isté ako by som práve povedal, že ak inak, ak iný, ak iný. Povedzme, že o tom, čo by sa vytlačiť , Či som zadať číslo 95 do tohto programu. DIVÁKOV: [nepočuteľné] LAUREN CARVALHO: A potom? DIVÁKOV: [nepočuteľné] LAUREN CARVALHO: Jo. Takže v tomto prípade, tieto podmienky sú sa vzájomne nevylučujú navzájom. A pretože nie je nič zastaviť Tento stav z posúdenia, či tento kto už má, sú to len všetci budeme tlačiť. Tak ako by som mohol tento problém vyriešiť? DIVÁKOV: IFS inde? LAUREN CARVALHO: Môžete použiť IFS inde. Mohol by som zmeniť poradie z nich, že jo? Keby som to urobil prvýkrát tento? No, vlastne nie. To by nefungovalo 95. LUCAS FREITAS: Nie, len keby inde. IFS inde: LAUREN CARVALHO by opravil toto. Znamená to, že upratať zmätok medzi IFS a IFS iného? DIVÁKOV: Chcel som sa ťa opýtať, či ste použiť iný, ak by sa to zastaví? LAUREN CARVALHO: Správne. Takže len to prvé. Ak som zadal číslo 95, iba táto by sa vytlačiť, a nikdy by postupoval k inému. LUCAS FREITAS: Len trochu myslieť je to, ako keby sa to stane, to urobiť. Inak je ako, ak nie, kontrola za to, a potom to urobiť. Tak ako všetci sú vzájomne exkluzívny. Môžete sa dostať do dvoch cez tie. DIVÁKOV: Môžete použiť logické A za tejto situácie? LAUREN CARVALHO: Jo. To je ďalší spôsob, ako by sme mohli má pevnú tento problém. Sme mohli definovať sa pohybuje, nie? Takže by som povedal, ak n je väčšie ako 90 a menej ako - No, myslím, že toto nie je naozaj nezáleží, ale tu by som povedal, ak n je väčšie ako 80 a menšie než 90 °. Väčšie ako 70, menej ako 80 ° C. To by tiež pracovali. [Smiech] LUCAS FREITAS: Je to strach. LAUREN CARVALHO: Nebojte sa. LUCAS FREITAS: To nie je že to bude v poriadku. Je to len, že je to zbytočne verbose. Rovnako ako v informatike, jeden by mal byť tak jednoduché, ako je to možné, ak Máte funkčnosť. Chcete cukrovinky? DIVÁKOV: Nepotrebujem ho. LAUREN CARVALHO: Ty desíš všetci, Lucas. LUCAS FREITAS: Ospravedlňujem sa. LAUREN CARVALHO: David tiež zmienil Tento switch vyhlásenie v triede. V podstate to, čo sa deje, je spínač výpis má premennú. V tomto prípade, berieme celé číslo. Ak je číslo 1, ideme do vytlačiť, "vybral si malý číslo. "Ak je číslo 1," Ty vybral stredného počtu. "Ak číslo je 3, "Vybral si si vysoká číslo. "A tiež som mal východzí prípad tu dole, ale nie je to ukazuje up, čo je škoda. V podstate je to len ďalšie syntaxe. Mohli sme zaviedli tento presný to isté s if a else, ak vyhlásenie. Ale keď existuje veľa rôznych podmienky a veľa rôznych variácie na to, čo chcete urobiť pre každý vstup, je to možnosť. Takže je to len dobré syntaxe vedieť. Áno? DIVÁKOV: Prečo je to spätné lomítko n v prvej? LAUREN CARVALHO: až tam? Neexistuje žiadny spätné lomítko n tam pretože vezmi_int - ak sa pokúsite to, že bude vám túto výzvu. Daj mi číslo medzi 1 a 3. A keď som dal Vôľa n, by to sa ma na ďalší riadok, ale ja som jednoducho chcel, aby zadajte číslo hneď za dvojbodkou. Mohol ste dať mŕtveho chodu n Nie je to veľký problém. Jo? DIVÁKOV: U tohto kódu, je to prípad jeden, je to preto, je to prvý prípad? Vzhľadom k tomu, - LAUREN CARVALHO: Nie, nie, nie. Tak to je mi dať číslo medzi 1 a 3. Ak n je 1, som tlačiť. Keby som sa opýtal na listy, mohol by som mať povedal, daj mi list medzi A a C. Potom to bude prípad A. DIVÁKOV: [nepočuteľné]. Prípad by len [nepočuteľný] LAUREN CARVALHO: Jo, jasne. Jo? DIVÁKOV: Čo keby ste chceli mať viac relačného výrazu? Takže namiesto toho, aby hovoril n sa rovná 1, [nepočuteľný] n je väčšie ako 1, v prvom prípade? LAUREN CARVALHO: Vlastne, keď to nespravím definovať niektoré z týchto prípadov, to by bude pokračovať dole. Takže vlastne, možno to nie je na čo sa pýtate. LUCAS FREITAS: Myslím, že s otázkou, či prípad bol n väčšie ako 0, u menej ako 0. LAUREN CARVALHO: Možno, že spínač tvrdenie nie je naozaj to, čo chcete, pre použitie v tomto prípade. LUCAS FREITAS: Príkaz switch je len pre hodnoty, takže máte kontrolu hodnota je ako ten či onen. Takže môžete v skutočnosti dať podmienok. DIVÁKOV: Čo keď osoba typy s [nepočuteľný]? LAUREN CARVALHO: To by bolo môj predvolený prípad, ktorý bohužiaľ nemôžete vidieť. LUCAS FREITAS: [nepočuteľné] aby boli vidieť. LAUREN CARVALHO: V skutočnosti, vieš čo? Jednoducho ísť študovať 50, a budem len priblížiť na snímkach o štúdiu 50, pretože je to len nepríjemné. Dovoľte mi teda skutočne ísť do stavu. To sa len tak chvíľu trvať. Dobrá. Takže, je mi ľúto. Aspoň teraz budeme môcť vidieť všetko, bez toho, aby prerušil. Dobrá. Takže keď dali v 10., by sme predvolené tu na mojom štandardný prípad, a ja by len vytlačiť neplatné preto, že som požiadal ich, aby zadanie celé číslo medzi 1 a 3. Nejaké ďalšie otázky? Jo? DIVÁKOV: Povedzme, že pre prípad jednej, u tri, že ste chcel, aby to bolo všetko to isté, takže si vybral číslo to nie je médium číslo. V takom prípade, by bolo nadbytočné? Chceli by ste stačí zmeniť text v oboch z nich, alebo by tam byť nejaký redundancia? Existuje nejaký spôsob, ako spojiť [Nepočuteľný]? LAUREN CARVALHO: Existujú spôsoby, ako kombinovať, ale verím, že je možné kombinovať iba tie susedné. Takže keď som sa definovať nič pre prípad dvoch, to by platí pre oba prípady. Ach, keby som nedal nič pre prípad kto by to platí ako pre Prípad jedna a dve. Ak to dáva zmysel. DIVÁKOV: Dokážete opakovať, že jeden? LUCAS FREITAS: OK. Ak ste v podstate, ako máte to isté, ale nechcete dať niečo tu, mali by ste byť buď prípade jeden alebo prípad dvoch, postupujte nasledovne. Je to tak? A to zlom znamená, že ak máte v tomto prípade, len tak odísť. Takže to je to, čo brzdy znamená. Takže keď som to urobil, ty vyzeráš, že je to prípade jeden, a vy by ste jednoducho to urobiť. Keby to bol prípad dvoch, by tiež len sem a robiť, že. DIVÁKOV: Ale môžete to urobiť? Ak je tu niečo pre Prípad dvoch [nepočuteľný] LAUREN CARVALHO: Neverím, že môžete to urobiť. Nemyslím si, že môžete preskočiť okolo. Môžeš to urobiť, Robe? To si nemyslím. DIVÁKOV: Takže len jedno číslo môže ísť po prípade, že jo? Tam nemôže byť prípad jeden, čiarka, dve? LUCAS FREITAS: Nie, nemôžeš. Ty určite nie. LAUREN CARVALHO: Myslím, že bod je To je voľba, a to nemusí sa zmestili vaše use case, takže potom môžete by sa používať, ak podmienky. DIVÁKOV: Tak prečo by ste to urobiť? Vypínač? LAUREN CARVALHO: Ja by som použiť Ak ste veľmi definované - v skutočnosti, Lucas, sa budete blokovanie. LUCAS FREITAS: Oh, ospravedlňujem sa. LAUREN CARVALHO: Ak máte veľmi definované správanie, ktoré chcete pre každý vstup, môže to byť niečo stručnejší než písanie von if pre každú z nich. DIVÁKOV: Čo robí zlomu znamenalo znova? LAUREN CARVALHO: prestávka znamená zastaviť. Pamätajte si, že keď som nemal túto pauzu tu, boli by sme práve spadol do ďalšieho prípadu. LUCAS FREITAS: Prestávka znamená dostať z príkazu switch. Vzhľadom k tomu, či je to 1, chcem vytlačiť tento a odísť. Nechcem kontrolovať nič iné. DIVÁKOV: Nechcete vytlačiť niečo iné. LUCAS FREITAS: Jo. Vzhľadom k tomu, že je to vzájomne vylučujú. DIVÁKOV: A to postupovať iba v prípade, že ďalšie prvý prípad nie je pravda? Alebo to otestovať všetky prípady v rovnakom čase? LUCAS FREITAS: Nie, to kontroly postupne. Postupne, jo. Ešte jedna otázka, potom musíme prejsť na tak môžeme pokryť všetko. Jo? DIVÁKOV: Takže pre prípad, môže mať urobiť niečo navyše len jeden? Mohol by si to dať rozsah? LUCAS FREITAS: Nie LAUREN CARVALHO: Nemyslím si, že môžete dať celú radu. LUCAS FREITAS: Ty nemôžeš nemôže dať rozsah. Divákov: Tento prípad je špecifický [Nepočuteľné]. LUCAS FREITAS: Spínač je druh hodnôt. Môžete robiť rôzne veci v závislosti na hodnotu, špecifická hodnota. Môžete to urobiť rad, nemôžete robiť niečo iné. Je to len ďalší nástroj, viď. LAUREN CARVALHO: Väčšina ľudí nepoužíva switch veľmi CS50, ale je to tam. Dobrá. Takže ďalšia vec, ktorú budeme hovoriť o je ternárnu operátor. To je len iný typ o podmienené. V podstate to, čo sa tu deje, je, že som žiadať o celé číslo, a ak n je väčší ako 100, idem vytlačiť "High". Ak tomu tak nie je, budem vytlačiť "low". Takže to, čo robí, je podmienka tu v zátvorkách, a môže trochu myslieť na otázky ako sa pýtam, či je to pravda, alebo nie. Ak je to pravda, budem to robiť ako prvý vec, a ak to nie je pravda, že som robiť to druhá vec. Akékoľvek otázky týkajúce sa ternárnu operátor? LUCAS FREITAS: Len chcem poznamenať, zo David je, že vždy, keď máte Stav - LAUREN CARVALHO: Myslím, že David je sledovanie cez live stream. LUCAS FREITAS: On robí život prúd práve teraz. Takže keď budete mať podmienku, že ste mal dať zložené zátvorky, rovnako ako máme v prepínači vyhlásenie tu. Máme zložené zátvorky tu. Z nejakého podmienky, že ste Predpokladá sa tiež, že dať. LAUREN CARVALHO: Uvidíš to v sprievodcovi štýle. Nemáme vlastne majú sprievodca štýlu práve teraz. Myslím, že David je stále funkčný. LUCAS FREITAS: Povedal, že je to len pracuje teraz. LAUREN CARVALHO: Oh, je to pracuje teraz? OK. Takže zrejme tento rok v štýle sprievodcu, aj keď ste len jeden riadok, musíš dať tie zložené zátvorky palcov Nemusíte nutne potrebovať pre Funkcie programu. A možno by sme si mali dať pauzu potom, čo podmienky a ísť rovno v príručke štýl zmizne do niektorej z týchto vecí? LUCAS FREITAS: Jo. Máte otázku? DIVÁKOV: Nie, počkám do sprievodcu štýlu. DIVÁKOV: Mohli by ste sa vrátiť na ternárnu operátor? LAUREN CARVALHO: ternárnu, áno. LUCAS FREITAS: Ternar Prevádzkovateľ v podstate, ak else, ale namiesto toho, aby musel mať dva riadky kontroly if a potom iného, ​​stačí jeden riadok. Takže v podstate, keď chcem dať reťazec Hodnota vysoké alebo nízke, a ja Chcete urobiť vysoké, ak n je väčšie ako 100 alebo nízke, ak je to menej, čo sa dá robiť je to [nepočuteľný] reťazec bude, a potom som opýtajte program je n väčšie ako 100? Takže to je dôvod, prečo mám tento výraz v zátvorkách a potom otáznik. Ja sa pýtam, je to väčšie ako 100? Ak je to, že to bude vysoká. Ak to tak nie je, že to bude nízka. Takže v podstate to, čo si myslíte, že sa pýtaš otázku, takže sa dal do zátvoriek stave. Potom si dal otáznik pretože ste ho pýtať. A ak je to pravda, že to bude v prvom hodnoty tu [nepočuteľný]. Ak to tak nie je, ja idem dať hodnota, ktorá je za dvojbodkou. Má to zmysel? Je to tiež niečo, čo je ako nástroj v C, ale nemáte na konkrétne použiť. Ale SK ľudia zvyčajne radi, že , Pretože to jednoducho šetrí linky. LAUREN CARVALHO: Je to veľmi elegantný. To robí veľa v jednom príkaze. DIVÁKOV: Takže znak percent je Len nech sú výsledky na predchádzajúce vedenie? LAUREN CARVALHO: Oh, ospravedlňujem sa. Tento znak percent je vlastne zástupným symbolom pre to to. Vo vyhlásení printf, máš to string tu, čo je to, čo sa deje na vytlačiť, ale nemôžete len dať to s tam. V opačnom prípade by to vytlačiť sa, že je doslova. Takže dáme percent sem, aby sa toto miesto držal na čokoľvek prichádza po čiarkou. Takže pre reťazec, musíš percent s. Pre celočíselné, percenta i Pre float, f percent. Uvidíte tie, ako my viď ďalšie príklady. Ale možno by si si mal pohovoriť o Sprievodca štýl na chvíľu, teraz že je to. LUCAS FREITAS: Ak pôjdete na cs50.net/style, budete vidieť sprievodca štýlu. Pri problémových súpravy, vaše skóre pre Problém sada sa skladá z rozsahu, čo v podstate znamená, že ak ste všetko časti z problému nastavenia alebo ak ste pokus o niečo. Druhá vec je správnosť, ktorý prostriedok je váš program robí to, čo mal robiť, alebo to majú chyby, alebo sa to nerobí, čo to má robiť. Tretia vec je dizajn, čo znamená, že ste vykonávania tohto dobre, alebo sú Používate zbytočné príkazy? Tak napríklad, ak chcete zopakovať číslo 10 krát, píšeš pre sláčiky alebo ste práve robíte 10 krát To isté tvrdenie, len to, kopírovanie a vkladanie. Takže dizajn je za to. A konečne, máte štýl. Štýl je rovnako ako rozhodovanie ak váš kód vyzerá čitateľné a celkom pekné. Je to proste v podstate znamená, je váš kód čitateľný? By sa niekto, kto sa pozeral sú Váš kód bude schopný pochopiť, čo to robí? Má pripomienky a podobne? Poďme sa baviť o štýle, ktorý máš používať. Prvá vec, ktorú je komentár. Komentáre sú veľmi dôležité pre váš Kód pretože niekedy robíte váš program, a viete presne, čo Ak chcete tak urobiť stačí začať kódovanie, stačí zadať do veľa C. Ale ak niekto hľadá sa, že ste Kód, že to nebude môcť pochopiť, pretože nevedia, veci, ktoré sú vo vašej hlave, ako pesudocode, takže možno, že bude sa len ťažko pochopiť, čo kód robí. Takže komentáre sú naozaj užitočné vysvetliť pre niekoho, kto sa pozerá na váš kód, čo to robí, a vlastne aj pre vás, sú veľmi užitočné. Ako ste ísť na tvrdšie a tvrdé Psets, budete vidieť, že kód dostane dlhšia, a potom komentáre sú naozaj dôležitá, takže si spomenúť, čo každý časť programu robí. Ak chcete vložiť komentár, môžete jednoducho lomítko lomítko a potom napísať komentár. A celý riadok je súčasťou komentáre, a čo napísať, že to nebude používa pre váš kód. Je to v podstate ako prekladač bude ignorovať. Má to zmysel? DIVÁKOV: Čo urobíte znova aby ste mohli napísať komentár? LUCAS FREITAS: to? Lomítko lomítko? Kedykoľvek zadáte lomítko lomítko, bez ohľadu na je v tomto riadku sa nebude , Ktoré majú byť považované za C. Jo? DIVÁKOV: Takže po komentárom, môžete len vstúpiť a začať nový riadok? LUCAS FREITAS: Jo, presne tak. LAUREN CARVALHO: slash slash je pre jednotlivé linky komentáre. LUCAS FREITAS: Napríklad, tu máme - dovoľte mi, aby som zväčšenie - Napríklad, tu som vyhlásil float, ale možno, ak si len dať tento v kóde, ako ste vy nemáte tušenie čo to robí, rovnako ako v skutočnosti niekto, kto sa pozerá na tento kód sa bude, rovnako ako to, čo sakra deje? Ak dáte komentár hovorí "previesť Fahrenheit na stupne Celzia, to robí veľa väčší zmysel. Ty si, ako, OK, ty si robí konverzie. Má to zmysel? Takže je to len niečo, čo pomáha ľuďom pripravený váš kód a tiež budete môcť organizovať váš kód lepšie. Druhá vec je, že môžete robiť multi-linka komentáre, tak sa jeden komentár pre veľa liniek. Namiesto toho, aby lomítko lomítko, Prvý riadok komentáre, lomítko lomítko, druhý riadok, a tak ďalej, môžete možno použiť lomítko hviezdu. Spôsob, akým to urobiť, je, že pre Prvý riadok komentáre, ste chystá urobiť lomka star star, takže len tak. Rovnako ako tu máme začiatok programu, zvyčajne dať, kto ste sú to, čo tento program robí, a tak podobne. Je to niečo ako hlavičky programu. Opäť platí, že to nie je niečo, čo kompilátor bude starať o, ale je dôležité, aby ste vedeli, čo to program robí, alebo pre iné osoby vedieť, čo váš program robí. Takže si to lomítko star star, a potom Posledný riadok sa chystáte urobiť hviezdu lomka, aby bolo možné uzavrieť že komentár. Takže v podstate u všetkých ostatných liniek, stačí napísať čokoľvek, a to sa všetko bude ignorovaný. A tiež, rovnako ako štýl, uvidíte, že každej z liniek má hviezdu, a všetky hviezdy sú zarovnané. To sú dôležité veci, aby že váš kód vyzerá pekne. Znie to dobre? Teraz, podmienky. Čo Dávid hovoril, že by sme mali skutočne dať v tých snímok, je to, že ak máte akékoľvek if alebo akékoľvek podmienky, mali by ste použiť zložené zátvorky ukázať, že To je to, čo sa bude diať keď máte podmienku. Technicky vzaté, ak trpíte ochorením, a potom ďalší riadok je len jeden linka, nemusíte mať technicky dať zložené zátvorky. V podstate by kompilátor pochopiť je rovnako ako implicitné. Ale CS50, žiadame vás ľudí, aby zložené zátvorky len preto, že vaše Kód je viac organizovaná a čitateľnejší. Vzhľadom k tomu, že kód dostane dlhšie, ak nemajú zložené zátvorky a tak. To sa naozaj chaotický. LAUREN CARVALHO: To je presne to, čo David len poukázal na to V mojich predchádzajúcich snímok. Je to určite funguje bez zložených traky, ale zo štylistických dôvodov budeme sa pýtať, že si dal ty palcov A keď sa rozbehnú style50, čo je druh kontroly 50. štýl, bude vám pripomenúť, ako to urobiť. LUCAS FREITAS: A ďalšia vec je, nezabudnite dať zložené zátvorky spolu v každom riadku. Takže vy, napríklad, som s Prejdite na ďalší riadok, otvorte kučeravé rovnátka, potom prejsť na ďalší riadok. Odsadenie, čo je štyri priestory. Potom môžete napísať čokoľvek, potom ďalšie linka, a zatvorte zložená zátvorka. Takže sa uistite, že oba tie kučeravé rovnátka sú v rôznych tratiach. DIVÁKOV: Takže ak tento kód mal ako 10 inde IFS, malo by to byť 10 sád držiakov? LUCAS FREITAS: Áno, pre každú z nich. Jo. Takže v prípade, else if, a tak ďalej. DIVÁKOV: Copak Stlačením klávesu TAB odsadiť? LUCAS FREITAS: My vás s otázkou chlapci použiť štyri medzery. Niektoré textové editory kartu prekladať ako štyri medzery automaticky. gedit nie je, takže budete musieť robiť space space space space. To je tiež niečo, čo niektorí programátori robiť len karty, niektoré programátori robiť len štyri medzery, a niektorí iní ľudia dokonca robiť dva alebo tri medzery. Je to len, že tu sa pýtate vy robiť štyri medzery. DIVÁKOV: Tam je takmer určite to byť spôsob, gedit, aby automaticky [nepočuteľný]. Rovnako ako nie [nepočuteľný] robí. LUCAS FREITAS: Jo. Myslím, že môžete ísť do nastavenia. DIVÁKOV: To už robí všetko. LUCAS FREITAS: Je to už robí? OK. Takže len sa uistite, že vám majú štyri medzery. DIVÁKOV: Ešte musíme dať kučeravé držiaky na pre slučky rovnako? LUCAS FREITAS: Áno. LAUREN CARVALHO: Ak vaše zapuzdrenie blok kódu, len prosím použite zložené zátvorky. A predtým, než si myslíte, že sme len sú puntičkári o tom bez dobro Dôvodom, či ste sa ísť na dostať tech stáže u veľkých firiem, budú vám sprievodca štýlu, a oni vám povedia, to je to, čo vaše Kód musí vyzerať. A aj keď ste sa naučili kód ako to, možno vo vašej stáže budete musieť niečo urobiť úplne odlišná. Oni očakávajú, že budete odpovedať k ich štýlu. LUCAS FREITAS: A ešte jedna vec je ktoré si všimnete, ako mám ako x, priestor, menej priestoru, 0? Kedykoľvek máte operátora - to môže byť ako plus, mínus, krát menej, väčšie, bez ohľadu na operátora - budete musieť dať priestor na ľavej strane a právo prevádzkovateľa. LAUREN CARVALHO: Tí, ktorí sú tzv binárne operandy. Len uistite sa, že máte vždy priestor z vašich binárne operandy. LUCAS FREITAS: Toto je nie je binárne operand. LAUREN CARVALHO: To je , Pretože to vyžaduje dva. LUCAS FREITAS: Jo, jo. OK, prepínače. Po prvé, musíte vidieť, že rovnako ako v prípade, alebo iného príkazu, máte dať zložená zátvorka na samostatnom riadku a v rámci zložená zátvorka tu. Všimnite si, že je jediný priestor po zapnutí, rovnako ako v prípade, a inde sme mali jednu medzeru medzi že a zátvorky. Takže budete musieť dať, že. A nie je to žiadny priestor hneď po každom z zátvoriek alebo do konca z zátvorkách. Takže vidíte, že je to všetko dohromady, a tiež rada sem. Jo? LAUREN CARVALHO: Myslím, že musíme ísť ďalej. LUCAS FREITAS: Tak toto je súčasťou štýle sprievodca, ktorý máte pre CS50. Uistite sa, že ísť do cs50.net/style a pozrieť sa na to. To všetko sú veľmi dôležité pre váš štýl skóre. Nechaj ma ísť späť do výkazu. LAUREN CARVALHO: Radšej stačí použiť style50. Sme jednoducho ísť priamo do slučky. Dobrá. Takže poďme späť k obsahu, teraz že sme prešli sprievodca štýlu. Slučky, videli ste ich v Scratch, a budeme hovoriť o nich C. V pre sláčiky, sú tri časti do Vyhlásenie o to pre sláčiky. Máš svoju inicializáciu v ktoré môžete nastaviť svoje premenné. Máš Váš zdravotný stav, ktoré sú kontrola, či je niečo true alebo false a či slučka by mala pokračovať. A máte svoj aktualizácie, ktoré je aktualizácia premenných. Proste sa rýchlo pozrieť na niektoré C Kód z toho pre slučky v akcii. Čo sa deje je tu v inicializácia, budeme aj nastavenie na 0. V stave sme kontrolu či aj je menší ako 10. A v tejto aktualizácii sme zvyšovanie i Takže to, čo bude mať za následok od to pre sláčiky? LUCAS FREITAS: V skutočnosti, v prvom rade, si chlapci vedia, čo i + + je? DIVÁKOV: Zvýšenie o 1. LUCAS FREITAS: Zvýšenie o 1, áno. Tak to je to isté ako robí aj rovná aj plus 1. A všimnite si, že nemáme priestor medzi i a + +. Takže vy viete, čo to bude robiť? Môže mi niekto povedať? A možno trochu cukroví z dôvodu, že? DIVÁKOV: [nepočuteľné] LUCAS FREITAS: OK. [Nepočuteľný] ukázať všetkým, neskôr [nepočuteľný]. Jo, to bude show "Tento Je CS50 "10 krát. LAUREN CARVALHO: Myslím, že to bolo v názve snímke. LUCAS FREITAS: Jo, jo. [Smiech] LUCAS FREITAS: To pomáha. LAUREN CARVALHO: Takže ty sú slučky. Ideme sa pozrieť na nejaké ďalšie príklady FOR slučky neskôr. Ale poďme skutočnosti sa pozrieť na Druhý typ slučky s ktorými sa stretnete v jazyku C, a je to len while. V cykle while, ste práve dostal podmienku. Podmienka je kontrolovaná začína, a ak je táto podmienka vyhodnotia na hodnotu true, potom kód v telo, zatiaľ čo blok bude vykonávať. A kód bude pokračovať vykonávať tak dlho, ako je podmienka zostáva pravdou. Tu je príklad cyklu while v C. Budeme nastaviť počet na 10 až začať. Tak dlho, ako počet je väčší ako 0, budeme držať tlač z tejto variabilný tu. Chystáme sa decrement počet a znova skontrolujte stav. Tlač, úbytok, kontrola stav znova. Tu máme príklad, ktorý sa vzťahuje na vašu otázku už skôr. Mali sme percent s, keď sme boli vytlačiť reťazec, a teraz, sme vytlačenie int, musíme percent aj ako náš zástupný symbol miesto. Písmená by mala byť všetci pekne intuitívne, s pre reťazec, aj pre int. Takže ak tento kód spustí, mali by ste odpočítavanie 10-0, vytlačenie každé celé číslo. LUCAS FREITAS: A na čo si spomeniete percent, ako to vyzerá prázdny priestor, a potom ste uvedenie tejto Premenná tu v tomto prázdneho priestoru. Takže napríklad, tu budem mať len prázdne, a potom dávam počítať práve tam, hodnota počtu. Má to zmysel? Mohol som robiť ako printf a potom sa cituje, počítať? Bolo by to fungovať? Divákov: Nie LUCAS FREITAS: Nie, pretože to bude v skutočnosti vytlačí slovo "count" miesto tlače hodnotu. To je, ako si urobiť to tlače hodnoty k premennej namiesto len názov premennej. Akékoľvek otázky? DIVÁKOV: Prečo používate pre ako protichodný k pri pobyte? LAUREN CARVALHO: Ja by som použiť pre slučky, pokiaľ viem presne, koľko iterácie Chcem tiež slučky na spustenie. V tomto prípade, na tom nezáleží, pretože Myslím, že som sa snažil, aby myslíte, že naozaj jednoduché Príkladom pre tento snímku. Ale povedzme, že chcete niečo ísť ďalej, keď - LUCAS FREITAS: napríklad, že ste žiadať o vstup do osoby vám dáva ten správny vstup. Tak ako keď vstup nie je OK, stále pýtate na to. Alebo ako keď ste rodičia nedávajú peniaze, stále pýtate na to. [Smiech] LAUREN CARVALHO: Neviete, ako koľkokrát budete musieť urobiť. LUCAS FREITAS: Pretože nie neviem, koľkokrát je to bude ďalej. LAUREN CARVALHO: Ale pre sláčiky, musíte vedieť, ako mnohokrát. Jo? DIVÁKOV: Len pre upresnenie, percento hovorí, že to je niečo, čo sa sa stalo, že aj pre celé číslo, a spätné lomítko n - LAUREN Carvalho: Prostriedky? Kto vie, čo lomka n znamená? Nová rada, jo. Presne tak. LUCAS FREITAS: Môžete si myslieť n ako nový riadok. LAUREN CARVALHO: Nice. DIVÁKOV: Čo je to počet pomlčka pomlčka [nepočuteľný]? LUCAS FREITAS: Počet mínus mínus je to isté ako plus plus, ale namiesto zvyšovania, je to zníženie o 1. LAUREN CARVALHO: Akýkoľvek viac zatiaľ čo otázky slučka? Nie? Oh, sme mali vynechali, že. To je do while. Veľmi podobný cyklu while s výnimkou V tomto prípade sme sa skontrolovať stav po kód v tele slučka vykonáva raz. Tak sme sa spustiť kód prvý bez ohľadu na to, čo. Potom sme sa skontrolovať stav, vykonať je znova, ak je podmienka pravdivá. Zistíte sami pomocou, keď sa pýtate na vstup užívateľa. Vzhľadom k tomu, že ste vždy mať na požiadať raz, a potom v závislosti na tom, čo vstup užívateľa je, možno budete musieť reprompt a opýtať sa znova a znova, ak Vstup nie je to, čo si Očakáva sa, že bude. DIVÁKOV: Takže je to ako formu pre ľudí vyplniť. LAUREN CARVALHO: Jo, presne tak. Zistíte, myslím, že vo svojej prvej Pset, budete musieť použite robiť dobre slučku zbierať vstup od užívateľa. DIVÁKOV: V závislosti na situácii, Vaša while bude mať tendenciu bežať viac častejšie ako while, ako jedným alebo tak niečo? LAUREN CARVALHO: Ak je to presné - LUCAS FREITAS: Mali by sa vždy spustí presné množstvá časov, ktoré vám chcem to spustiť. Rovnako ako používame robiť, keď, pretože sme naozaj chcel, aby sa vstup aspoň raz. V while, niekedy nechcete ho spustiť vôbec, ak to nie je prípad vykonať. Tak to záleží na konštrukcii. Myslím, že môžete použiť buď robiť, keď ani zatiaľ čo ak váš kód robí, že to má robiť. LAUREN CARVALHO: Ale ja myslím, že odpoveď na váš Otázkou je, pravdepodobne áno. Povedzme, že podmienka je false. V jednom prípade, že by bolo v raz, a Ďalším príkladom by to bežať nula krát. Takže, jo. Nejaké ďalšie otázky? Áno? DIVÁKOV: Môže podmienka slučky sa pre sláčiky, pokiaľ ide o variabilné ďalšie ako [nepočuteľný]. LAUREN CARVALHO: Jo, to môže byť čokoľvek. Pravdepodobne pre začínajúcich Psets, môžete nebude musieť stretnúť, že prípad, ale Určite to môže byť čokoľvek. LUCAS FREITAS: Myslím, že sme tu hotoví. LAUREN CARVALHO: Naozaj? Nie? LUCAS FREITAS: Loops? Jo. LAUREN CARVALHO: Nemali by sme byť. Oh, sme hotoví s pútkami. OK. V skutočnosti, pretože sme hovorili tak, veľa, poďme sa vlastne všetci navigáciu sa k study.cs50.net/conditions. A budete sa pohybovať dole na problémy widgetu. No, vlastne, zatiaľ čo ľudia sú stále toto nastavenie, CS50 štúdie je Bude to nástroj, ktorý vaše TFS bude používajú k príprave časti a že vy môžete použiť, ak ste zabudli sekcie. Bude obsahovať veľa snímok, niektoré tipy a triky pre každého tému, a niektoré problémy praxe s riešeniami. Prečo sa všetci stačí sa pozrieť na tento problém tu. Ospravedlňujem sa, mal som pripomenul, ľudia priniesť notebooky dnes. Ale ak nemáte notebook, to je v poriadku. Stačí si len zapisovať to dole kus papiera alebo sa pozrite na rameno svojho suseda. Skúsme napísať program, ktorý vyzve užívateľa, aby sa na ne hádať, Priemerný počet detí na rodinu jednotka v Spojených štátoch. Toto číslo je 2, mimochodom, ako vy môžete vidieť z týchto príkladov. Chceme vytlačiť priemerný počet detí na rodinu v USA, potom sa chcete čo? Chceme zhromaždiť informácie od užívateľa. A potom záleží na tom, čo užívateľ je vstup, budete vytlačiť buď je to správne alebo je to nesprávne. A prvá vec, ktorú budete vidieť, ak kliknete na malú šípku na spodná časť problému je widgetu na mieste k zapisovanie nejakej pseudokódu. Takže nie ste programovanie ešte. Vy ste len na to vaše myšlienky v poradí. Má niekto chcel pomôcť Lucas prísť s právom pseudokódu tohto problému? LUCAS FREITAS: Čo je prvá vec, že by sme mali asi robiť? Čo vy na to? DIVÁKOV: [nepočuteľné] LUCAS FREITAS: Jo, OK. Takže, tlač. Stačí povedať, že tlačový tento priemer počet ľudí? OK. Vytlačiť otázka, povedzme. Potom, čo som vytlačiť túto otázku, čo mám robiť? DIVÁKOV: Získajte vstup. LUCAS FREITAS: Získajte vstup. Ešte niečo? DIVÁKOV: Stav. LUCAS FREITAS: Stav. LAUREN CARVALHO: Čo je to Podmienkou bude? Divákov: počet [nepočuteľný]. LAUREN CARVALHO: Správne. LUCAS FREITAS: Tak čo mám skontrolovať v stave? DIVÁKOV: Ak sa rovná 2. LAUREN CARVALHO: Ak je rovná 2. Presne tak. LUCAS FREITAS: Je ešte niečo, iného, ​​že by som mal robiť? DIVÁKOV: Count. LUCAS FREITAS: Takže ak je to rovná 2, povedzme - dovoľte mi napísať, či vstup je rovný 2, potom to, čo budem urobiť, je vytlačiť správne. A potom ešte, budem vytlačiť nesprávne. Ešte niečo? Nie? LAUREN CARVALHO: Takže vy môžete kliknúť na - nemá každý má to dole? LUCAS FREITAS: Má to zmysel? Takže teraz poďme skúsiť kódovať to. LAUREN CARVALHO: Ak kliknete na malú šípka, je to vlastne šetrí vaše pseudokódu, ktorý je naozaj vzrušujúce. A môžete robiť tie do komentárov, ak Chcete-len, aby ste si pripomenuli čo robiť. LUCAS FREITAS: Tak napríklad prvá Idem vytlačiť túto otázku, tak ako to mám urobiť, vlastne? printf. Takže printf, a otázka je priemerná počet detí na jednu rodina v Spojených štátoch. Potom budem mať vstup od užívateľa. Tak ako to mám urobiť, že? DIVÁKOV: Získať Int. LAUREN CARVALHO: vezmi_int. LUCAS FREITAS: OK. Takže najprv deklarovať, že jo? int, nazvime ho n sa rovná vezmi_int. A teraz stav. Takže mi dovoľte povedať, že idem sa tu zaškrtnite odpoveď. Takže prvé, ak je vstup, ktorý je n sa rovná aby - ako to mám napísať, že? DIVÁKOV: Rovné rovnaká. LUCAS FREITAS: Perfect. Tak n A všimnite si, že mám priestor, rovná, rovná, priestor, to je pravda. A teraz, čo mám robiť? Niečo veľmi dôležité pre štýl. Zložené zátvorky. A potom idem k tlači. Ako môžem vytlačiť? printf. DIVÁKOV: Mohol by to byť aktivované? LUCAS FREITAS: Nie Malo by to byť všetko malými písmenami. Tak to je správne. Bolo by to stačiť pre printf vyhlásenie, alebo som niečo chýba? DIVÁKOV: Nová linka. LUCAS FREITAS: Nová rada, jo. A teraz iný. DIVÁKOV: Je tam priestor po printf, alebo nie? LAUREN CARVALHO: Mali by sme skontrolujte sprievodca štýlu. DIVÁKOV: Nemalo by byť. LUCAS FREITAS: Nemala by byť v poriadku. Tak inak, printf, "To je nesprávne." LAUREN CARVALHO: Och, vaše citácie. LUCAS FREITAS: OK. Ešte niečo? Vyzerá to dobre? LAUREN CARVALHO: Máme to skúsiť? LUCAS FREITAS: Jo, poďme ho spustiť. Takže je to kompilácia, a to Zdá sa, že to funguje. Skúsme dve deti. To je správne. A teraz poďme spustiť znova, ale teraz miesto uvedenie dve deti, poďme povedať, že idem dať ako päť. To je nesprávne. Takže sa zdá, že to funguje. LAUREN CARVALHO: Prečo ste im ukázať čo sa stane, keď dáte niečo divný, rovnako ako niektoré listy. LUCAS FREITAS: Jo, jo. Poďme sa tiež pozrieť, že. Čo v prípade, že sa užívateľ pokúša neporiadok s programom, a jednoducho napísať, ja neviem, dva. Bude to povedať opakovanie. LAUREN CARVALHO: Tak vezmi_int žiada ich, aby opakovať. Nemuseli sme sa starať o tom sami. LUCAS FREITAS: Jo. Takže ak som vlastne dal číslo, je to bude držať požiadal ma, aby som skúste to znova. DIVÁKOV: Ako si to spustiť? LUCAS FREITAS: Stačí kliknúť táto hviezda tlačidlo. LAUREN CARVALHO: Mal by si ísť hore. Tu to je. LUCAS FREITAS: hviezda Tlačidlo práve tam. Jo? DIVÁKOV: Má to výzva [nepočuteľné] s desatinnými číslami príliš? LAUREN CARVALHO: Verím, že to bude. LUCAS FREITAS: Ak áno, čo? LAUREN CARVALHO: Ak sa typ v desiatkovej číslo, myslím, to bude výzva. LUCAS FREITAS: Uvidíme. LAUREN CARVALHO: Vzhľadom k tomu, to nie je int. LUCAS FREITAS: Jo. LAUREN CARVALHO: Takže to nie je int, Získajte Int vás vyzve na opakovanie. DIVÁKOV: Takže tam, kde v tomto kódexe by desatinné miesto, ktoré vyzve užívateľ, ktorý majú vstúpiť celé číslo konkrétne? LAUREN CARVALHO: vezmi_int je vlastne tým, že pre nás. DIVÁKOV: Nie, myslím, ak by sme chceli vstup [nepočuteľný] LUCAS FREITAS: Môžete povedať ako priemer počet detí v USA. Neviem. Dá sa povedať, napríklad: "Prosím, vstup celé číslo. " LAUREN CARVALHO: celé číslo rovné na priemerný počet. Myslím, že je to len, ako ti, že to slovo, že jo? LUCAS FREITAS: Jo. Toto nie je súčasťou skutočne kódovanie. Je to skôr ako čokoľvek budete chcieť napísať vo vašom programe. DIVÁKOV: Ako by sme sa spustiť, ak je to bol vlastne v gedit [nepočuteľný]. Namiesto stlačení hru? LUCAS FREITAS: Budeme najprv skompilovať. Môžeme to urobiť tým, že robí značku a názov súboru. A potom to spustiť, urobíme dot lomítko a názov programu. DIVÁKOV: Myslím, že to, čo som mal na mysli to, či Chceli sme, aby program reagovať na Ich nesprávna, neplatná položka, by ste nemali dať v - LUCAS FREITAS: Nebudeme schopní urobiť, pretože to hovorí, že kód skúste pochádza z Get Int, čo je funkcia, ktorá je už implementovaná Pre nás cez knižnicu CS50, a od tej doby to už tam implementovaný, sa nejde len [nepočuteľný]. LAUREN CARVALHO: Ak nechcete použiť Vezmi_int, potom môžete urobiť. LUCAS FREITAS: Jo. Ale ak používate vezmi_int, nemôžete. Nejaké ďalšie otázky? DIVÁKOV: Mohol by ste šli sa ako GetFloat a potom budú môcť dať je v desiatkovej sústave? LUCAS FREITAS: Jo. DIVÁKOV: OK. Potom ste práve mohli vstupu vznášať sa rovná - LAUREN CARVALHO: Jo. Presne rovnaké, okrem float namiesto int. LUCAS FREITAS: Proste to dať sem a potom GetFloat tam. DIVÁKOV: Ako si praješ vidieť alebo videl - LAUREN CARVALHO: máme Nie je tam dostal ešte. DIVÁKOV: - robí nerovnosť sa plaváky nie je [nepočuteľný] DIVÁKOV: Čo bodkočiarky znamenajú? LAUREN CARVALHO: bodkočiarku len Znamená to, že toto tvrdenie je kompletný, a budeme pokračovať na ďalšiu snímku. DIVÁKOV: Takže je to nevyhnutné, zakaždým? LAUREN CARVALHO: Jo. No, OK, takže nie je pre tieto podmienky, preto, že sú zapuzdrenie niečo. Takže v podstate ak niečo je príčinou môžete potom vytvoriť zložená zátvorka blok, nedávajte bodkočiarku na konci. LUCAS FREITAS: Ale všetko iného, ​​že áno. Po dokončení príkazu, dať bodkočiarku. A ak ste zabudli bodkočiarkami, kompilátor to bude hnevať na vás, a budete mať pokúsiť sa to opraviť. LAUREN CARVALHO: Keď som dal bodkočiarku tu, že by sa zastaviť to, a ja by sa nikdy dostať do vykonať to, čo je vnútri, mimochodom. Takže to je jedna z tých bežných chýb. DIVÁKOV: Vždy prevedenie. LAUREN CARVALHO: Jo. V tomto prípade, by vždy vykonať to, čo je vo vnútri. DIVÁKOV: Váš štýl [nepočuteľný] pripojiť, že pre teba, pomyslel si. LAUREN CARVALHO: Oh, to je pravda. DIVÁKOV: [nepočuteľné] single linka vec [nepočuteľný] DIVÁKOV: Áno? DIVÁKOV: Môžete mať viac vstupov v jednom riadku? Tak ako môžete požiadať užívateľa vytlačiť dve veci? LAUREN CARVALHO: Nie použitie - LUCAS FREITAS: Nie Povedzme, že chcem tiež stiahni celé číslo m Musím to urobiť v inom riadku. DIVÁKOV: Ak by ste mali spustiť že, ako [nepočuteľný]? To by tlačiť dotaz tam [nepočuteľný] a potom by ste zadať jeden a - LAUREN CARVALHO: No, spustite ho. Myslím, že nie je nič, čo nám bráni práve beží, a vidieť to, čo by sa stalo. LUCAS FREITAS: Myslím, že je to bude sťažuje na nás pretože nie sme použitie - LAUREN CARVALHO: Oops. LUCAS FREITAS: To si sťažoval na nás priamo teraz, pretože sme to pomocou tohto variabilný, ale keby som to urobil, napríklad, n je rovná rovná, a m sa rovná rovná sa, potom to, čo bude sa stalo v tomto prípade? Čo by tento program robiť? DIVÁKOV: Len som premýšľal, ako by to - LAUREN CARVALHO: Ona len chce, vedieť, ako to vyzerá ako, myslím, že jo? Tak to trvalo jeden z nich, a potom trvalo na druhú. Myslím, že by sme mali ísť ďalej, pretože máme ešte jeden posuňte show ísť pred - chceš vytiahnuť matematiku? LUCAS FREITAS: Jo, matematika. LAUREN CARVALHO: Daj me len jedna sekunda. Existuje len málo odlišné číselné premenných v dátach C. Numerické v C môžu byť rozdelené do rôznych typov, a to sú tie, ktoré budete vidieť najčastejšie. A int je celé číslo. Nemôžete mať žiadne desatinné miesta. V Appliance, trvá 32 bitov na uloženie int. Float môžu mať desatinných miest. To tiež trvá 32 bitov na uloženie plavák v prístroji. Double je číslo s desatinnou čiarkou bod, ktorý má 64 bitov, aby ju uložiť, čo znamená, že stačí mať väčšiu presnosť, pretože môžete mať viac - Čo tomu hovoríte? LUCAS FREITAS: Jo, to je viac. LAUREN Carvalho: Viac miest za desatinnou čiarkou. A long long je celé číslo že sa 64 bity bolesť je v prístroji. LUCAS FREITAS: Takže to môže byť väčšia než ints môže byť. LAUREN CARVALHO: vec, o údajoch typy v C je, že tí, čo druh dát, ktoré možno uložiť v premennej. Oni vám povedať, ako môžete použiť tento premenná vo vašom programe. Je veľmi dôležité, aby práve sledovať o aký typ dát, ktorý používate, a ak vy potrebujete obsadiť z dátového typu do iného, ​​uistite sa, že viete, presne to, čo sa stane, keď sa to liatie prebieha. A uvidíte príklad neskôr Na týchto diapozitívov chyba, ktorá môže nastať. Poďme sa pozrieť na nejaké matematiky v C a myslíte, že naozaj starostlivo, myslím, o tom, čo sa deje, keď to matematika sa koná. V prvom rade, čo je deje, keď Prehlasujem x? DIVÁKOV: Tie umožňujú x sa niečo? LAUREN CARVALHO: Jo. No, ja som naozaj žiada prevádzkové systém pre 32 bitov pamäti, že jo? V ktorom môžem uložiť int, a Idem volať, že int x. LUCAS FREITAS: V podstate ide v pamäti a nájsť miesto, ktoré má 32 bity a hovorí, hej, ja chcem tento priestor, a bude to nazvať x. Takže ste proste skoro zistenie box v pamäti na ukladať hodnoty x. LAUREN CARVALHO: A potom som inicializovať x, čo znamená, že som len uložiť hodnota 2 v tomto mieste, tento blok pamäti, že sme sa opýtali prevádzkové systém. A tu to, čo robíme, je sme vlastne deklarovať a inicializácii y v jednom riadku miesto v dvoch radoch, ako sme to urobili tu, ktorý je tiež úplne v poriadku, sme pridaním 1 až x, a my skladovanie, ktoré hodnota y. LUCAS FREITAS: Takže v podstate, čo to linka robí, zistí sa okno pre y, a potom jeho hodnota, vec, ktorá sa sa chystáte dať v krabici, je bude hodnota x plus 1. Tak to je toto políčko pre y. To dostane hodnota x, vyzerá tu, a uvidíte, že je to 2. Dajte ho tam, plus 1, tak to dá 3 tam. Má to zmysel? Tak y by 2 v tomto prípade. LAUREN CARVALHO: Tak jo, v pohode. Videli sme nejaké doplnenie, tak sa poďme si teraz myslí, o rozdelení v C. Tu som deklaráciu a inicializácii plavák zavolal odpoveď a delenie 1 o 10, a potom som vytlačiť odpoveď na dve desatinné miesta. A všimnite si, tu, v mojom printf vyhlásení, keď chcem niečo vytlačiť na dva desatinné miesta,% .2 f je to, čo chcem použiť. Takže bod 2 sa práve hovorí Potrebujem dve miesta po desatinná vytlačiť. A teraz, čo sa bude diať keď som spustiť tento kód? Má niekto nejaký nápad? Čo by sa vytlačiť? LUCAS FREITAS: Aké sú Čakáme dostať. LAUREN CARVALHO: Čo robiť, chceme v prvom rade? LUCAS FREITAS: [nepočuteľné] LAUREN CARVALHO: 0,1, jo. Ale to, čo sa bude tlačiť? DIVÁKOV: [nepočuteľné] LAUREN CARVALHO: No, no, vlastne. To je to, čo som hovoril o tom, prečo je potrebné, aby veľmi starostlivo sledovať vaše dátové typy. Takže, aký typ dát je to? Je int, nie? Nie je desatinné miesto. 10 je tiež int. Nie je desatinné miesto. Keby som rozdeliť int pomocou int, som si int, ktorá nie je 0,1, pretože ints nemôže mať desatinných miest, ale len 0. Vzhľadom k tomu, int len ​​skráti mimo desatinných miest. LUCAS FREITAS: Takže keď robíte operácie s ints, budete získať int ako odpoveď. Takže v podstate to, čo počítač robí, je to delenie 1 podľa 10, a to dostane 0,1. Ale potom je to ako, počkajte, to je má byť celé číslo, takže stačí ignorovať 0,1, takže teraz je to len 0. LAUREN CARVALHO: Takže keď som tlačiť von, mám 0,00, skôr než 0,10. LUCAS FREITAS: Má to zmysel? LAUREN CARVALHO: To je celkom z nešťastnej, že jo? LUCAS FREITAS: Takže, ako môžeme tento problém vyriešiť? LAUREN Carvalho: Poďme vyskúšať a opraviť to. Tu je príklad, kde som vlastne liatie 1 a 10 až pláva. Takže teraz, 1 je už int. 1 je float. Mimochodom, je to len syntaxe keď chcete, aby cast z jedného dátový typ na iný. Môžete si len dať typ dát v zátvorky a majú, že práve predchádzať hodnota, ktorú ste liatie. Tak tu som delenie float podľa float dostať float odpoveď. A áno, to by v Skutočnosť, tlačiť 0.10. Má to zmysel? LUCAS FREITAS: Tak pretypovanie je len konverziu z jedného typu na druhý. Takže float 1 je v skutočnosti 1.000. Nie tak celkom, ale je to niečo, s desatinnými miestami ktorý je v skutočnosti 1. Má to zmysel? Jo? DIVÁKOV: Čo keby ste float odpoveď rovná 1,0 delené 10? LAUREN CARVALHO: Ty vlastne deje vidieť, že v ďalšej snímke. To je vlastne náš veľmi ďalšiu snímku. To je v skutočnosti krajší ako pretypovanie, myslím. Takže tieto dva sú plaváky len tým, že povaha skutočnosti, že mať desatinných miest. Áno? DIVÁKOV: Čo keď ste [nepočuteľný] delené 10? LAUREN CARVALHO: Vlastne float delené int vám vlastne dáva plávať, takže bude fungovať v pohode. Počkajte, to všetci pochopili? Pretože to bude naozaj veľký problém v Pset1, v skutočnosti. Áno? DIVÁKOV: Mohol by si rýchlo ísť cez červenej časti? LAUREN CARVALHO: červená časť, jo. Lucasa, chceš? LUCAS FREITAS: OK. Tak si uvedomiť, že percento je zástupný symbol. Je to ako prázdne miesto. Takže poďme sa pokúsiť pochopiť všetko že sa to tu deje. Percent znamená, že je zástupný symbol. Potom máte f, čo znamená, že Tento symbol je na plaváku. Posledná vec, ktorú tu máme, je 0,2, čo znamená, že chcem mať dva desatinné miesta na plaváku. Ak som mal% f, že to bude klásť banda desatinných miest. Tak som si len dať 0,2 alebo 0,1 alebo 0,5 alebo čokoľvek, a bude to dal, že počet desatinných miest. Jediná vec je, že keď dáte ako .100 Alebo .1,000, že to nie je v skutočnosti dám všetky tie desatinné miesta preto, že nemá dostatok pamäte mať túto presnosť. Nejaké ďalšie otázky? Jo? DIVÁKOV: Takže plávať len umožňuje môžete ísť nad rámec celé čísla? LUCAS FREITAS: Áno. LAUREN CARVALHO: No, float len vám umožní mať desatinných miest. LUCAS FREITAS: To jednoducho znamená, že vám Teraz môžete mať desatinné čísla. DIVÁKOV: Prečo by sa niekedy používajú celé čísla? LUCAS FREITAS: Prečo by používať celé čísla? Možno, ak ste počítať od 0 do 10, Ak chcete skutočne využiť celé číslo. Nemusíte použiť float. V niektorých situáciách, nemusíte mať skutočne - LAUREN CARVALHO: Možno, že ste Nechcem desatinné miesta. LUCAS FREITAS: Možno, že to nie je chcete použiť float. LAUREN CARVALHO: Ďalšia vec je, pamätať, ako dať plavák a int sa 32 bity na ich uloženie, a možno nechcete plytvať bity na desatinné miesta. LUCAS FREITAS: Jo. Tak ako, len premýšľať o tom. Máte 32 bitov pre oba int a float. Pre int, všetky tie 32 bitov prejsť na celočíselnú časť. Ak používate plavák s 32 bitmi, vás majú časť tejto pamäti sa používa na číslo, na celé číslo, a druhá časť sa používa pre desatinné miesta. Takže to znamená, že sa nemôžete dostať do veľmi veľké čísla s plaváky, pretože float už používate veľa pamäť pre desatinných miest. Jo? DIVÁKOV: To je prvá odpoveď, Čo presne sa to robí? Je to nastavením hodnoty float rovnaké do tohto zástupného symbolu na ktoré môžete vyvolajte v ďalšom riadku? To hovorí, že plávať odpoveď. LUCAS FREITAS: Jo. Takže, float odpoveď znamená, že ste sa dostal teraz trochu vedro na pamäti, že má plavák, a to sa deje byť nazývaný odpoveď. Takže to je to, čo float odpoveď áno. A potom hovoríte, že vo vnútri to, budete sa dať výsledok tohto. Takže vy sa chystáte urobiť, 1,0 delené 10,0, dostanete 0,1, a potom si dať že v odpovedi. LAUREN CARVALHO: Takže v jednej línii, sme deklaráciu a inicializácii tento plavák volal odpoveď. LUCAS FREITAS: Je zaujímavé, že hoci To je len jeden riadok, to robí viac operácií. Je to len spôsob, ako C nájom použiť menej kód. Je to to isté ako trojica Prevádzkovateľ, ako môžete jednoducho V jednom riadku [nepočuteľný]. Je to vlastne robí to isté ako robí float odpoveď, bodkočiarku, a potom odpoveď rovná, ale namiesto toho, takže vy dva riadky pre to, je to ako skratku. Jo? DIVÁKOV: Takže ak ste spustili tento, že by bolo 0,10? LUCAS FREITAS: Áno. Jo? DIVÁKOV: Je odpoveď vlastne kód, alebo je to len volá? LAUREN CARVALHO: Tento je vlastne kód. To je to, čo budeme pomenovať našu premennú. DIVÁKOV: Takže je to len Názov [nepočuteľný]. LAUREN CARVALHO: Jo. Mohol som povedal, float x sa rovná 1,0. LUCAS FREITAS: vec je, že názov premennej niečo, čo použiť. Je pre vás dôležité. Pre skutočné programu, jediná vec, že záležitosti je hodnota, ktorú majú vnútri vedra. Dôvod, prečo ste premenných a názvy premenných tak by ste vedieť čo máte čo do činenia s, rovnako ako aký druh dát, že ste prístupu naraz. Ale pre samotný kód, ak zavoláte to odpoveď alebo otázku alebo niečo, docela veľa, na tom nezáleží. Nezáleží na tom. Tak dlho, ako budete v súlade v každom výskyt, a tak sa to volá niečo iné. Jo? DIVÁKOV: Do premennej presahujú funkciu? Rovnako ako v prípade, že ste na vytvorenie držiak [Nepočuteľné], mohol by si len [Nepočuteľné] znova odpovedať? LAUREN CARVALHO: Nie DIVÁKOV: [nepočuteľné] LAUREN CARVALHO: Nie To by bolo mimo pôsobnosti tejto konkrétnej premennej. A v skutočnosti, to je druh zaujímavé, pretože keď máme veci, ako slučky alebo to, či podmienky, ak deklarujete premennú v inom súbore zložených zátvoriek, je to naozaj len existuje v rámci týchto zložených zátvoriek. DIVÁKOV: Ešte posledná poznámka o na [nepočuteľný] plaváky. Prečo by ste niekedy chceli použiť ints? To je skôr vedľajší poznámku, ako niečo, ale počítač je výrazne lepšie na manipuláciu ints ako je tomu v manipulácii s plavákmi. Je to ako poradie veľkosť rýchlejšie. Takže keby sme sa ovládal len pláva, všetko by bolo oveľa pomalšie. LAUREN CARVALHO: Vlastne sa zdá, že sa jednať o problém s plavákmi. LUCAS FREITAS: Druh dôvodu to, že si môžete myslieť, je ako v binárnej môžete reprezentovať celé čísla tým, že 0 a 1 je. LAUREN CARVALHO: To je ďalšia vec. LUCAS FREITAS: OK. Úžasné. LAUREN CARVALHO: Len myslí, že myšlienku. LUCAS FREITAS: OK, budem tell you later. LAUREN CARVALHO: Než sa dostaneme k čomu Lucas bol len hovorím, operátor prednosť. To je zdravý rozum. Vy ste urobil dosť. Takže, len ak je niečo v zátvorkách, to sa stane ako prvý. Je to násobenie má prednosť Okrem toho v priebehu, odčítanie, podobné veci. Takže vlastne, proste niekto chcel povedz mi, čo číslo jedna v skutočnosti vyhodnotený? DIVÁKOV: 27. LAUREN CARVALHO: 27? Jo. LUCAS FREITAS: Uvediem cukríky pre ľudí. LAUREN Carvalho: V poriadku. Čo je číslo dva? Čo je číslo dva? DIVÁKOV: 22. LAUREN CARVALHO: 22, jo. Neviem, kto má, že. Číslo tri? DIVÁKOV: 10. LAUREN CARVALHO: 10, áno. V pohode. Tak modulo. Lucasa, chcete vysvetliť modulo? LUCAS FREITAS: Modulo je tento operátor ktorý je v skutočnosti veľmi užitočné pre banda problémov. Ak sa mi 55 modulo 10, čo to robí Tento povedzme, že chcem, aby rozdeliť 55 do 10.. Čo získam? Je toho názoru, rovnako ako v prípade, že som vlastne len robí rozdelenie, čo je prvýkrát, čo som dostal číslo? DIVÁKOV: 5. LUCAS FREITAS: 5. A potom zvyšok je 5, nie? Takže je to ako 5 krát 10 plus 5. V podstate to, čo modulo to, že sa snaží rozdeliť tento počet je tento, a že vidí, čo je zvyšok divízie. LAUREN CARVALHO: Takže je to len vráti zvyšok. Takže číslo jedna je, čo? 5. Číslo dve? DIVÁKOV: 3. LAUREN CARVALHO: 3. Číslo tri? 0. A štyri je 1. Presne tak. LUCAS FREITAS: Jednoduché, nie? LAUREN CARVALHO: Prečo by sme preskočiť len preto, že naozaj nemajú čas, a ľudia sa zdajú pochopiť. Tak tu je to, čo Lucas len hovorí. LUCAS FREITAS: Ďalším dôvodom, prečo som sa by sa používať ints miesto plavákov je že plaváky sú veľmi nepresné. A prečo sú nepresné? David povedal, že predstavujú celé číslo, Napríklad, používame je 0 a 1 je, že jo? A potom ste v podstate robiť násobenie, robiť všetky tie, Operácie vedieť, čo desatinné číslo Máte miesto binárne. Čo sa stane teraz, keď sa pokúsim aby desatinnej čiarky? V skutočnosti, napríklad, keď mám číslo ako 3,33333? Pripadá mi to ako 10 cez 3. Ako budem ukladať všetky 3 je, že mám po tom? Je to naozaj ťažké, nie? Nemôžete jednoducho povedať počítač, Ahoj, mám 3, a potom to, že navždy. Vlastne počítač nie je dosť šikovný na to. Takže v podstate všetko váš počítač robí, je že sa snažia, aby čo najviac miest, ako je možné do pamäte, ktoré máte. Takže povedzme, že to bude hovoria 3,3333, a je to. Takže to nie je schopný skutočne vyjadriť presne, čo to je float. LAUREN CARVALHO: Máme konečný počet bitov, čo znamená, že nie sú každé desatinné číslo sa bude možné presne zastúpené. A tak v tomto prípade, ak sme tlač z 0,1, my sme teraz tlače z 20 miest. LUCAS FREITAS: Presne ako som hovoril vy by ste mohli dať ľubovoľný počet. Ale ak ste práve urobil dve miesta, by ste si 0,10, ale ak dáte 20 miesta, to vám ukážem veľa z 's, pretože to je to, čo si môžete dať v pamäti, že jo? Ale tu, až na 0, a potom sa len dať to na banda náhodných čísel. To je niečo ako niektoré z nich - LAUREN CARVALHO: To je preto, že sme nie je schopný reprezentovať túto desatinnú čiarku presne s číslom bitov máme. LUCAS FREITAS: A Počítač je v podstate ktorá vám číslo na odpadky. To nie je v skutočnosti hodnota čísla. DIVÁKOV: Je to tak blízko, ako to môže dostať [nepočuteľný] pomocou [nepočuteľné]. LAUREN CARVALHO: Tak implikácia je to, že povedzme, že namiesto toho, je 0.100014, čo, čo keby to bolo 0,0999 - dobre, OK. Poďme predstierať, že skutočná odpoveď na to 0,9999999. To je veľmi blízko k 1, ale nie je to presne 1. To je 0,99999. To znamená, že keď si vezmem, že 0.999, a hodil som ho na int, mám 0. Nechápem 1. LUCAS FREITAS: Vzhľadom k tomu, pamätajte, liatie od plaváku na int, stačí ignorovať všetky desatinných miest. Jednoducho ignorovať. Neexistuje taká vec ako zaokrúhľovania alebo kritizovať, keď obsadiť. V skutočnosti, je to, že funkcia robí zaoblenia, čo je veľmi dôležitý, ale jednoducho si myslím, že keď vy obsadiť, je to len ísť odstrániť všetko. Takže aj keď máte 0,99999, bude to len dávať 0, ak obsadiť [Nepočuteľné] celé číslo. LAUREN CARVALHO: Takže stačí byť naozaj vedomí z plávajúcou desatinnou čiarkou v presnosti, najmä keď začnete použiť plaváky v Pset1. Ale prechádzka by mala varovať vás o tom, ako dobre. LUCAS FREITAS: A v skutočnosti je to naozaj ťažké, napríklad, keby som to urobil float odpoveď 1 sa rovná 1,0 na 10, a potom plávať odpoveď 2 sa rovná 10,0 nad 100.0. Sú to rovnaké číslo, nie? 0,1, nie? 1 viac než 10 alebo 10 viac ako 100. Ale teraz, keď sa snažím vidieť rovnosť, ako keby odpoveď 1 je rovná odpoveď 2, Možno, že to nie je v skutočnosti deje byť to isté. Takže plaváky sú niečo ako, že. Sú ako robiť rovnosť.