LUCAS FREITAS: OK, mislim, Zdaj smo v živo. Dobrodošli na CS50 Supersection. Mi smo manj udoben. Moje ime je Lucas Freitas. Jaz sem eden CS50 Head TFS. To je Lauren. LAUREN CARVALHO: Živjo, jaz sem Lauren. Jaz sem tudi vodja TF za CS50. LUCAS FREITAS: Danes smo le, da bo podati pregled o tem, kaj vse si Fantje so se naučili v enem tednu, upajmo vam fantje dober občutek, da tisto, kar morate vedeti za problem določiti enega. Samo nekaj objav. First of all, uradne ure. Uradne ure so od ponedeljka dogaja do četrtka v različnih hišah v Annenberg vsak dan. Oni so zelo dober vir za vas fantje pridejo in postavljanja vprašanj, in pogovorite s TF in tudi izmenjava ideje z drugimi študenti. Torej, se prepričajte, da uporabite ta vir v vašo korist. Druga stvar je, CS50 Appliance. Za zadnji [neslišno] fantje niso imeli dejansko imajo aparat. Pravkar ste naredili vse, kar je v vaš osebni računalnik. Toda za ta problem, ste dejansko imajo da virtualni stroj, tako da se prepričajte, da prenesete CS50 Aparata in ga je ustanovil. In tretja stvar, se prepričajte, da začetek problema nastavljeno ASAP samo zato, ker je veliko lažje najti pomaga, ko ste v začetku tedna. Ker ljudje ponavadi počakajte zadnji sekundi, da se začne problem niz, in potem greš na uradnih ur, in tam je veliko ljudi. Kje, če greš v ponedeljek, vas bo videti, da bi se pogovorila, TF precej za celo noč, in ti boš biti več kot Z veseljem vam pomagamo. LAUREN CARVALHO: Lahko sem stop si za samo eno sekundo? Bil vsakdo lahko prenesete CS50 Appliance? So ljudje poskušali? LUCAS FREITAS: Za prenos, ki ga Tako lahko dobite navodila na cs50.net/appliance. LAUREN CARVALHO: Right. In to ne traja nekaj časa za naše sistemske administratorje, da boste dobili licenco Ključ, da se prijavite za brezplačno poskusno prvi. Na ta način boste to imeli za 30 dni, in potem čakati na vaši licenčni ključ , ki naj bi ji dati da vas za eno leto. LUCAS FREITAS: Najprej, Pogovorimo se malo o CS50 Appliance. CS50 Appliance je pravzaprav virtualna Stroj, da boš delujejo v svojem računalniku, ki je v bistvu teče drug računalnik znotraj svojega računalnika. Kar je precej kul. In dejansko se uporablja povsod. Ljudje, ki bi tech bi vedel, da je Ta se uporablja ves čas. vi? Lahko imate več računalnikov v eno napravo. Kaj je dejansko si oglejte na napravo. Ko greste na napravi po registracijo, boste morali dal svoje ime in se prijavite na Harvardu tako da bomo lahko dobili vsi registrirani. Boste videli v bistvu samo ozadje, nato pa Home and Trash, in potem te male ikone. Ta tri ikone so dejansko najbolj pomembnih stvari, ki jih lahko imajo v vaš Appliance. Prvi je gedit, ki je besedilo urednik, tako kot Beležnica ali podobno kakršno koli urejevalniku besedil. To je samo nekaj, kar bomo uporabili za pisanje kodo in nato narediti stvari z njim. Druga stvar, ki smo tu je Chrome. Torej, če želite uporabljati internet v napravi, ki je kaj lahko uporabite. In tretja stvar je terminal, ki je pravzaprav zelo lepo. Ljudje ponavadi se nekako strah terminal, ker je to zelo old fashioned aplikacija, v kateri ste Samo v bistvu vse, kar je tip z tipkovnici. Ni veliko interakcije z miško. Toda dejansko terminal pa zelo dobre stvari. First of all, pojdiva prek nekaj ukazov, ki jih lahko uporabimo v terminalu. LAUREN CARVALHO: In vas prosimo, da ustavi nam, če imate kakršnakoli vprašanja. LUCAS FREITAS: Ja. Tako prvi ukaz, da imamo za terminal je LS. Je v bistvu pomeni, seznam vse, vse datoteke in vsi direktorji, da imam na mestu, da sem na. Torej, če naredim ls tukaj, bom, da vidim da imam nekaj imenikov. Imam namizje, downloads, dnevniki, in VHOSTs. To so v modrem, ker so vse imenike. Potem imate nekatere druge datoteke. Imate kot Pozdravljeni in hello.c, ki so le datoteke, in oni so v različnih barvah. Torej je to zelo pomemben ukaz samo lahko vidite, kaj so datoteke in imenikov, ki jih imajo v imeniku, ste na v terminalu. Ko boste videli jharvard @ aparata potem malo simbol tam, Tilda, da pomeni le, da je imenik, ki ste v tem trenutku. LAUREN CARVALHO: Torej tipkanje ls je skoraj kot da kliknete na mapo , ki je naveden v redu, v njem kaže vam vse vsebine, ki so v tej mapi. PUBLIKA: Je besedilo po hello.c? LAUREN CARVALHO: Oh, ne morete glej, da zato, ker je modra. LUCAS FREITAS: Piše dnevniki in VHOSTs. LAUREN CARVALHO: Tisti, ki so le druge mape. Žal mi je, to je res težko videti. Mogoče, če bi izklopili luči? Colton, hočeš poskusiti in najti stikalo luči? Žal mi je zaradi tega. Nisem si mislil o tem. LUCAS FREITAS: Ampak to je v bistvu - ja, če bi lahko - LAUREN CARVALHO: Zoom v vašem zaslonu. LUCAS FREITAS: Ne vem imajo to funkcijo. LAUREN CARVALHO: [neslišno]. OK. No, tam je samo veliko naravno svetloba v tem prostoru, kot tudi. LUCAS FREITAS: Naj samo domnevati, da obstajata dve druge imenike tam. LAUREN CARVALHO: Potrpi z nami. To je edini del, ki jih boste treba videti na terminalu. LUCAS FREITAS: Naslednji ukaz v bistvu pa morda želite, da organizirajo datoteke - na primer, vsi vaši C datoteke v enem imenik, vendar nimate Imenik samo za C datoteke še. Lahko v bistvu ustvariti imenik prek terminala, kot tudi, ki je ista stvar kot desnim klikom in rekel Nova mapa. Ukaz je ustvariti imenika, ki je mkdir, tako da v bistvu "narediti" in "Imenik." In potem si lahko ime imenika. Recimo, da sem želel biti imenovan, Ne vem, recimo pset1 Narediti to sem ustvaril imenik. Reciva, preverite, ali je tam. Torej, če naredim ls, zdaj vidim dnevnike in potem pset1, nato pa VHOSTs. Torej, imam nov imenik tam. In potem ko ste imeli nov imenik, Morda želite navigirati v njem, tako da naslednji Ta ukaz za CD, ki je pravkar v bistvu pomeni, pojdite na posebni imenik. Torej, če želim iti v pset1, Jaz lahko samo naredi cd pset1. LAUREN CARVALHO: cd stoji za spremembe imenik, [neslišno] lahko ne pozabite, da. LUCAS FREITAS: In zdaj, boste videli, da namesto samo ob jharvard aparat, ki sem jharvard aparat, in potem pset1, saj je pokazal, mi, kje sem v tem računalniku. Zdaj, če želim iti nazaj imenik, ki je bil, preden je ta, da lahko storite cd dot dot, kar pomeni le pojdi v imenik, da sem bil prej, kot starša to imenik, v bistvu. In zdaj vidim, da sem nazaj na jharvard. Naslednja stvar, ki sem lahko to storite je RM, ki je odstranitev datoteke. Na primer, kaj je najprej naredil ls da vidim, kaj imam tukaj. Imam zdravo in hello.c. Recimo, da želim, da jih odstranite. Ne morem storiti rm zdravo. To se dogaja, da rečeš "odstraniti redno datoteko halo? "In sem rekel" ja. "In zdaj, če sem naredil ls, vidim, da je to ni več tam. Če sem poskušal uporabiti rm za imenik, čeprav to ne bo da bi vas storiti ničesar. To se dogaja, rekli, hej, ti ni mogoče odstraniti imenika. Torej imamo ta drugi pridejo imenuje rmdir, ki samo v bistvu pomeni odstraniti imenika. Lahko, na primer, odstranite pset1. In če naredim ls, ne vem ga imajo več. Vsa vprašanja glede tega? Ne? Ja? PUBLIKA: Ali je pomembno, da pustite prostor po - kadarkoli začnite pisati nekaj v? LUCAS FREITAS: Ja. Če bom naredil, kot sta CD in imenik, Moram dati prostor. Kaj prostora pa govoriš? LAUREN CARVALHO: Prostor med cd in [neslišno]. LUCAS FREITAS: Ja, boste morali dal prostore, ker cd je ukaz, in nato naslednji niz, ki tipkanjem je v bistvu imenik. Torej je to kot argument. Ja? PUBLIKA: Ko boste seznam, vsi tisti, so različne imenike, kajne? LUCAS FREITAS: Ja, so v telefonskem imeniku. PUBLIKA: Kakšne so razlike Med imenikov? LUCAS FREITAS: So samo različne mape. Imenik mapa v vašem računalniku. PUBLIKA: Odpri mapo. LUCAS FREITAS: Ja, to je Pravkar odprta mapa. LAUREN Carvalho: Več kot tukaj, tisti, da so v modri barvi, so dejansko imenikov, ki jih lahko dobite v in potem videli kup stvari, ki so v to, kar je žalostno saj ne moreš dejansko prebral tisti v modri barvi. In tisti, v beli barvi, so le datoteke da so v trenutnem imeniku. LUCAS Freitas: SO imeniki so mape. Ostale pa so datoteke. PUBLIKA: Kaj je ukaz ponastaviti ali ga izbrisati? LUCAS FREITAS: Če želite počistiti? LAUREN CARVALHO: Če želite počistiti? LUCAS FREITAS: Mislim, to je "jasno". Ja. Torej si samo tip jasno, če vaš zaslon je preveč grdo. Še kakšno vprašanje? In boste izvedeli kup drugih Ukazi samo naravno času semester, ker oni so zelo koristne. Torej, zdaj kaj je govoril o sestavljanju. Pogovarjala sva se o psevdokoda in Izvorna koda in objektne kode. In tam je veliko kod, in morda vi ste zmedeni o tem. Pogovorimo se malo o tem, kaj se zgodi, ko pišete program, in ga pripravijo, in postane izvršljiv pila. Tisti, ki so vse besede, ki jih fantje verjetno že slišali, in morda niste res prepričani, kaj se dogaja. Recimo, na primer, da hočem napisati program, ki pravi "zdravo." Prva stvar, ki pride v vaš um, si nekako začeti razmišljati o tem, kako si gre za to, da v tvoji glavi, in ste verjetno razmišljal v angleščini ali kakšen drug jezik, kot je naravna jezik, verjetno. In potem misliš, dobro, če želim, na primer, napisati program, ki pravi "zdravo" Jaz bi začel program, I bo izpisal hello, nato pa bom zaprete program. To je psevdokoda. To je v bistvu samo skušaš prišel gor z zaporedjem dogodkov da boste storili, da bo sposoben napisati program. Potem imate izvorno kodo, in izvorna koda ni nujno, da posebej v C. Govorimo O izvorno kodo v C, ker je to jezik učimo, ampak seveda Koda je lahko precej koli programski jezik, ki jih imate. Kasneje v semestru, boste za učenje drugih jezikov. To je tudi izvorna koda. Na primer, tukaj, to je moj vir kodo, in potem sem tudi knjižnico, nato pa začnem Glavni in potem sem natisniti. In Laura se dogaja, da govori malo malo o vsem tem. Torej je to izvorna koda. In kaj je koda objekta? Objekt je kup ničel in tisti, v bistvu. Kaj se zgodi, je, da so sprva psevdokoda, ki je vse v angleščini. In mislim, da ste razumeli. Verjetno tvoji prijatelji razumejo je, in večina ljudi bi razume idejo. Ampak računalniki so res neumni in so ne razumejo angleško, tako da so to prevedli v nekaj, ponavadi prevedena v nekaterih programski jezik. In si lahko zamislite programiranja jezik, kot je nekako kot jezik da svojega računalnika Kako govoriti in razumeti. Ste v bistvu pisal nekaj v jezik, ki sta vas in vaše Računalnik razumem. To je izvorna koda. Tako da bo oblika psevdokoda na viru kodo, to je odvisno od vas. To je v bistvu delaš svoj program. Ampak problem je, da Računalnik sploh ne razumem programski jezik. Ne razumem izvorna koda na vse. To dejansko samo razume ničel in enic. Torej imamo to zelo čarobno stvar, imenovano prevajalnik, ki v bistvu je bo dobil vir pozval, da vam pisal v jeziku, ki sta vas in vaš računalnik govorijo, in zdaj si gre za preoblikovanje, ki v ničel in enic. Torej v bistvu tisto, kar počne, je prevajalnik postane izvorno kodo, v tem primeru C, to se dogaja, da bi ga preoblikovali ničle in tisti, ki računalnik razume in zna narediti izvršljiv pila iz nje. Ali to smiselno? Lahko samo pomislite prevajalnik, kot je nekakšen prevajalec, ki je vam bomo pomagali razložiti z računalnikom točno to, kar je moral storiti. Ampak kako prevesti. Vrniva se na napravi, in recimo, da delam ta program. Prvo bom ustvaril imenik tu, in bom, da ga pokličete "Praksa". Zdaj bom za navigacijo v imenik, tako cd praksa. Zdaj sem notri praksi. Sedaj želim, da začnete gedit, Torej, kako naj to naredim? Jaz lahko storite s klikom tukaj, ali sem lahko samo dobesedno tipa "gedit", in to se dogaja odpreti za mene. Zdaj bom vnesite svoj program, tako točno to, kar sem napisal v diapozitiv. Jaz razglasitvi knjižnico. Delam int main, praznino. In sedaj delam printf, zdravo. Zdaj bom rešiti to. Dovolite mi, da v praksi, in Bom poklical ta hello.c. Torej, zdaj je shranjena. Če želim, da ga pripravijo, sem dejansko lahko to storite na dveh različnih mestih. Jaz lahko to storite v oknu terminala, tako da je to ena velika, ali lahko uporabite gedit, ki je dejansko terminal okno tukaj. Torej si lahko zelo prikladno pač kodo, in potem si lahko samo tip karkoli tukaj, in poskusite zbrati. Torej, kako sestaviti kodo? Najlažji način, da smo se s pomočjo Znamka, ki je funkcija, ki je v bistvu dogaja, da pripravijo svojo kodo. Moraš reči, da zdravo, tako "Make" in ime programa. Ups. To je čudno. LAUREN CARVALHO: Lahko [neslišno]? LUCAS FREITAS: Žal mi je. Nisem ga shranite v Pravica imenik. Pridite v praksi, in zdaj jo shranite kot hello.c. Žal mi je. Zdaj je shranjena. Naj samo naredil ls in se prepričajte, da je tukaj. OK, zdaj je tu. Torej, zdaj, če se naredim hello, da pljune Veliko stvari, ampak potem to daje me še ena linija za terminal, ki pomeni, da je bila uspešna. Torej, zdaj, če bom spet narediti ls, sem dejansko glej sliko v zeleno, ki je izvršljiv pila. In potem, če želim, da bi sistem deloval, vse to Moram storiti, je pika poševnica zdravo. To se dogaja, da se pozdravi tukaj, tako da to je točno tisto, kar sem jo pozove, naj. Obstaja še en način za pripravo, ki se uporablja Jek. Jek je samo prevajalnik, ki ga imamo, in to je malo bolj verbose za zbiranje. Vendar deluje prav tako dobro. Torej, če naredim Jek in nato-O in nato ime, želim, da bi izvršljiv pila, tako da recimo, "Zdravo." In potem je datoteka, ki želim sestaviti, hello.c. To se tudi dogaja, da se pripravijo. In imate datoteko tukaj, in Jaz lahko samo izvršbo, kot tudi. Torej oba dela. Ali to smiselno? Vsa vprašanja? PUBLIKA: Lahko približate v malo? LUCAS FREITAS: Oprostite? PUBLIKA: Povečava? LAUREN CARVALHO: ti misliš Lahko samo ukaz plus. LUCAS FREITAS: Command kaj? LAUREN CARVALHO: Command plus. LUCAS FREITAS: Ne LAUREN CARVALHO: Oh, to ni bo šlo, ker - to je zato, ker smo nastavite resolucijo za to stvar. LUCAS FREITAS: Ne vem Mislim, da lahko povečate prijavite Ja, ne moremo povečati. Imate kakšno vprašanje? Žal mi je. PUBLIKA: Lahko ponovite Jek? LUCAS FREITAS: Jek? Jek je ista stvar kot znamka, temveč Razlika je, da najprej bom pisati Zvoka, ki je ukaz, potem pa bom naredil -0, vse, kar je samo tisto, kar bomo naučijo kasneje kot zastavo. Torej, samo mislim, da ste vedno morali dati-o. In potem prvič, boš dal ime izvedljive datoteke, v bistvu datoteka, ki ste gre za ustvarjanje. Torej lahko rečem, na primer, hello2 in nato pa datoteko, ki želim zbrati, kar je. c datoteka. Tako da je hello.c. Ali to smiselno? PUBLIKA: Halo, kaj? Kaj je to? LUCAS FREITAS: hello.c. In če sem ga pripravijo, in če Jaz ls, sem tudi hello2, da sem pravkar pripravljajo. In če sem poskusil, da bi sistem deloval, gre za narediti točno isto stvar, kot je zdravo, samo tiskanje zdravo. PUBLIKA: Kako to, da za znamko lahko postavite hello.c potem? LUCAS FREITAS: V znamka, si ne bi bilo treba postaviti. c. V znamka, ki ste jo pravkar rekel, ime programa. Vam ni treba reči. C. Ampak za Jek bi moral. PUBLIKA: Z Jek tudi vi storite morali dodati [neslišno] LAUREN CARVALHO: Ja. Torej imate tudi v knjižnico. LUCAS FREITAS: Ja, to je nekaj, kar bomo kasneje uporabili. To se imenuje povezovanje, in mislim, da smo bom govoril o tem kasneje. Še eno vprašanje? PUBLIKA: Ali ste postavili dot poševnica Jek? LUCAS FREITAS: Ne Dot slash je samo, da se odpre izvršljiv pila. Torej Jek, ki ste jo pravkar napisati "Jek," in potem, če želite odpreti izvršljiva datoteka, ki ste jo pravkar zbirajo, potem vam dot poševnica in ime. Ali to smiselno? PUBLIKA: Če bi le spremembe [Neslišno] za zdravo svet, kajne morali to prevedem? LUCAS FREITAS: Ja. Če hočem reči, na primer, "zdravo tam, "sem lahko samo shranite sedaj, in jaz Samo še enkrat prevesti. Naj naredi make zdravo. In če naredim hello, gre za pravijo "zdravo tam". Smiselno? Še kakšno vprašanje? PUBLIKA: Ali imate vključiti Standard I / O za usklajevanje dela? LUCAS FREITAS: Ja. Standard I / O je v bistvu knjižnica, ki ima izvedba za printf. Tako, da stvar prav na top vključuje stdio. To je tudi knjižnico, ki v bistvu ima kup različnih orodja, ki jih lahko uporabite. ena? Od njih je printf, da je funkcija , ki v bistvu tiska sporočila na zaslon. Še kakšno vprašanje? Ne? OK. Torej, zdaj kaj je govoril o - LAUREN CARVALHO: Reciva pojdite na slogovnega priročnika. Ali želite, da ga le našli tukaj? LUCAS FREITAS: Torej gremo govoriti o stilu. LAUREN CARVALHO: Oh, David ni končal. OK. Zakaj se ne bi vrnili k slog na samem koncu? To je bilo dejansko posodobljena kot govorimo. LUCAS FREITAS: Ja. Oglejmo pot David končati to. LAUREN CARVALHO: Can zamenjamo pravzaprav? Torej, upam, vsi so uživajo praske. Na žalost, je čas, da odmakniti od tega - Na žalost je čas, da se odmakne Iz teh ljubkih programskih blokov na C. Ampak na srečo, vse programski konstrukti, ki ste bilo delo z na nič, so neposredno prenosljiv C, in smo bo za začetek za spoznavanje nekatere od njih prav zdaj. Poglejmo najprej govori o pogojih v logičnih izrazih. Ta deluje na rezervi baterija. LUCAS FREITAS: Kako je da ne deluje? OK. Greš tja, bom dobil - LAUREN CARVALHO: Torej so pogoji pomembni, saj nam omogočajo, da uvedejo logiko v naših programih. Tukaj je primer pogoj znotraj programa C. Poglejmo, upoštevajte, kako je to - Tako da je ta pogoj blok tukaj, to printf izjavo ne bo izvrševala če stanje znotraj oklepajih n večji kot 0, ovrednoten kot resničen. Sedaj pa so vsi pogoji v f Stavki so Logični izrazi, kar pomeni, da sta samo dve možnosti. Lahko bi bodisi ovrednotiti na true, ali jih lahko ovrednotilo kot neresnično. Torej, tukaj, tako da je to smiselno, kajne? n večje od 0, pomeni, da je pozitivna številko, kar pomeni, da se natisne out "si izbral pozitivno število." Obstaja veliko logičnih izrazov da lahko nastane stanje z pr izjavo. Imamo manj kot. To je manj kot ali enaka. To je samo smešna [neslišno]. Če želite printf se pojavi, če je to večja ali enaka 0, potem ti bi izbral to. Torej je enaka samo doda prav Po večja od znaka. Enako enaka, ki se razlikuje od samo ena enačaj, enaka enaka dejansko pomeni, da karkoli je na Leva stran tega je enako kot kaj je na desni strani tega kjer je ena enačaj kaj? Kaj je samo ena enačaj? Naloga. LUCAS FREITAS: Kdo je to rekel? Je, da sladkarije? Oh, ne. Žal mi je. Žal mi je. Ste tako dobili sladkarije. Oh, OK! Trije ljudje dobili sladkarije! LAUREN CARVALHO: Torej, ta tukaj je operater bang pred enačaj, tako da je ni enaka. Torej, če je bilo to v mojem stanju, Telo stanja bi izvrši le, če je ne glede na Levi ni enak kot kaj je na desni. Lahko tudi samo klicaj. Pravzaprav bomo videli v funkciji slide, kako bi se to lahko uporabilo. LUCAS FREITAS: Kakšno vprašanje? Ne? LAUREN CARVALHO: Mi lahko kombinirate ti Boolove izraze za izgradnjo več Zapleten pogojne izjave. Torej tukaj, če je ne glede na levi na desni strani dvojnimi črtami ali karkoli je na desni strani dvojne palice ovrednoten kot resničen, potem bomo izpisal neveljavna. In potem sem dol, če karkoli je na levi strani dveh ampersands in karkoli je na desni strani na desni strani dveh ampersands ovrednoten kot resničen, potem bomo natisnete veljavna. Dvojne palice se imenuje logični Ali upravljavec dvojna ampersands so imenuje logični operator IN. Ja? PUBLIKA: So tiste, ki šele malimi črkami l'i? LAUREN CARVALHO: Ne Oni so pravzaprav - veš protiudarec, kot so nad vašo vrnitev ključ? Ali vidite to? LUCAS FREITAS: To je pravzaprav bar. LAUREN CARVALHO: To je pravzaprav le dva bara. PUBLIKA: Lahko uporabite enako enako za godala? LUCAS FREITAS: Ne Bomo kasneje izvedeli, nekaj o tem. LAUREN CARVALHO: Tam je funkcija ki jih lahko uporabite. Vendar vam ni treba Skrbi jih, da samo še. Kaj pa, če sem dal ta program, številka 5? Kaj se bo izpisal? PUBLIKA: [neslišno] veljavna. LAUREN CARVALHO: Velja? Ja. Ne vem, kdo je dobil to. [SMEH] LAUREN CARVALHO: To je nekako strašljivo [neslišno]. PUBLIKA: Torej dvojna, in da samo pomeni, in? LAUREN CARVALHO: Ja. Torej, številka 5 je tako večja od 0 in manjša od 100. PUBLIKA: Zakaj bi bilo eno? LAUREN CARVALHO: Ena ampersand je dejansko nekaj drugega, in to je operator bitni, ki jih boste spoznali kasneje. Ampak to je nekaj, kar dejansko deluje s bitov določenem številu. LUCAS FREITAS: Samo mislim, da ne treba skrbeti za to za zdaj. LAUREN CARVALHO: Mislim, da je to verjetno prihaja naslednji teden. LUCAS FREITAS: Še kakšno vprašanje? Ne? LAUREN CARVALHO: Tako smo videli, da blok more stati pri miru, vendar pa lahko da je v paru tudi z in drugega bloka. Torej v tem primeru, če je n večji od 0, bomo natisniti "You Izbral je pozitivno število. "else, kar pomeni, če je 0 ali če je manj od 0, bomo natisniti, "Izbral si negativno število." Zanimiva stvar tukaj je, da ti so izključujeta. Tam je ne bo nikoli primer v katerem to in ono lahko tako natisnete. Prepričan sem, da boste delali z če / drugega polje v nič, zato bi to morala biti precej pozna. Ja? PUBLIKA: Ali potrebujemo prostor med int n enak GetInt potem prostor v if stavek? Kot da smo uporabili črto [neslišno] LAUREN CARVALHO: Oh, prostor tukaj? PUBLIKA: Tako da, vendar podvojimo prostor. Ne, pojdi gor. Pojdi gor. LUCAS FREITAS: Samo linija? OBČINSTVO: Ja. LUCAS FREITAS: Samo prazno vrstico? OBČINSTVO: Ja. LAUREN CARVALHO: Prazna vrstica? Ne To je samo slogovna stvar. LUCAS FREITAS: To je tako kot včasih si preskočiti nekaj vrstic, tako da koda ni videti kot ogromen blok besedila. LAUREN CARVALHO: Mislim, kaj se je zgodilo je bila, da smo imeli komentar tukaj, ampak jaz ga vzel ven, tako da bi vidva razmišljati o zakoniku precej kot samo prebral moj komentar. Na splošno, razmik ne bo res vplivajo na način program deluje. To je bolj stilistično stvar. In ko bomo imeli slogovni priročnik posodobljeno in pripravljeni, da gredo do konca supersection bomo govorili O tem več. Nekaj ​​je narobe z ta program, kajne? Ker 0 ni res negativno število. Torej, da vidim, če bomo lahko popravim. Verjetno si lahko predstavljate s tem pravi, kajne? Če je n večji kot 0, tiskamo "Ti Izbral je pozitivno število. "Potem drugje če je n manj kot 0, "si izbral negativno število. "else" Izbral si 0 ". Zdaj Zanimivo je, da to lahko traja večno. Lahko imaš, če blok, za drugega, če blok, drugi blok else if, else if, else if, else if, drugega, v bistvu tako dolgo, kot želite. In ko je zgrajena tako, Vse te bo izključujeta. Ja? PUBLIKA: Torej, zakaj ne moreš samo uporabo drugo, če namesto [neslišno]? LAUREN CARVALHO: V tem primeru ja Lahko uporabite drugega, če, in da bi bilo povsem v redu, ker Pogoji sta med seboj izključujeta. Ampak, če pogoji niso bili izključna drug od drugega, bi to jih prisilil, da nikoli ni tako ocenila, če je to smiselno. PUBLIKA: V tem primeru bi lahko gnezdo Drugi če v prvi če? LAUREN CARVALHO: Če - Kaj misliš? PUBLIKA: Če sta oba pogoja se ne izključujeta? LAUREN CARVALHO: Če so izpolnjeni pogoji se ne izključujeta? Ampak želite le eden od njih teči? PUBLIKA: Hočeš samo če bi namesto drugega. LAUREN CARVALHO: Ja. Tam se vedno bo veliko od načinov, da lahko to storite. Lahko zagotovo gnezdo jih. In videli boste, v prihodnjem diapozitiv lahko imate več IFS, samo eno za drugo. Ampak to je način logično organiziranje pretoka vašega programa. LUCAS FREITAS: In tu je še ena več stvar je, da si vprašal o dajanju Če nato pa še če. To bi delovalo brezhibno, vendar je slabo Zasnova, ker v bistvu, če ste preveri, če je prvi, in boste opazili, da število je večje od 0, si Lahko samo končanem programu. Vam ni treba preveriti, če to je manj kot 0, kajne? Če pa, če, če, se dogaja, da preveri oboje, če pa moram storiti, če ostalo je, to se dogaja, da preverite, če je večji od 0. Če je tako, da ne bo niti pogledati na drugih vrstic kode. Torej ste v bistvu je preverjanje, kot dvakrat po nepotrebnem, tako da je, zakaj smo storiti, če if. Še kakšno vprašanje? PUBLIKA: Torej funkcionalnost od drugega, če je isti kot če je bilo le, če? LAUREN CARVALHO: Ne Ste dejansko videli na moj naslednji potisnite primer, v katerem se lahko drugačna. V tem primeru, je skoraj enaka. Torej, tukaj imamo primer večkratnik Če izjave in funkcionalnost ni enak kot da sem pravkar rekel, če drugje, če drugega, če drugega. Reciva samo pomislite, kaj bi se natisne , če vnesem številko 95 v tem programu. PUBLIKA: [neslišno] LAUREN CARVALHO: In potem? PUBLIKA: [neslišno] LAUREN CARVALHO: Ja. Torej v tem primeru, so ti pogoji medsebojno ne izključujeta. In ker ni nič ustavljanja Ta pogoj pri ocenjevanju, če je to eno že ima, oni so samo vse bo izpisal. Torej, kako lahko to popravim? PUBLIKA: drug-jev? LAUREN CARVALHO: Lahko uporabite drugje IFS. Jaz bi lahko spremenila vrstni red od tega, kajne? Če sem prvo tole? No, pravzaprav, ne. Da ne bi delal za 95. LUCAS FREITAS: Ne, samo drug jev. LAUREN CARVALHO: drug-jev bi to določen. Ne da pospraviti zmedo med investicijskim skladom, in sicer jev? PUBLIKA: Hotela sem te vprašati, če je nisi uporabite drugega, če bi se ustavili? LAUREN CARVALHO: Right. Torej samo ta prva. Če sem vstopil v številko 95, le ta bi se natisne, in ga nikoli ne bi napredovala na drugega. LUCAS FREITAS: Tako nekako mislim je, kot če se to zgodi, to storite. Ostalo je všeč, če ne, preverite za to, in potem to. Tako, kot da so vsi med seboj izključujejo. Ne moreš priti v dveh nad tistimi. PUBLIKA: Lahko uporabite logično In za to situacijo? LAUREN CARVALHO: Ja. To je še en način, da smo lahko so določena ta problem. Mi bi si opredeljeno giblje, kajne? Tako da bi jaz rekel, če je n večji kot 90 in manj kot - No, mislim, da je to ena sploh ni važno, ampak tukaj bi jaz rekel, če n je večja od 80 in manjša od 90. Večja od 70, manjša od 80. To bi tudi delal. [SMEH] LUCAS FREITAS: Bila je prestrašena. LAUREN CARVALHO: Ne bojte se. LUCAS FREITAS: Ni da bo narobe. To je samo, da je po nepotrebnem verbose. Kot v računalništvu, bi moral biti eden lahko tako enostavno, kot je mogoče, dokler imate funkcionalnost. Ali želite sladkarije? PUBLIKA: ga ne potrebujem. LAUREN CARVALHO: Strašiš vsakdo, Lucas. LUCAS FREITAS: Žal mi je. LAUREN CARVALHO: David je tudi omenil, to stikalo izjavo v razredu. V bistvu, kaj se dogaja, je stikalo Izjava traja spremenljivko. V tem primeru, vzeli smo si celo število. Če je število 1, bomo natisnite, "Izbral si majhen število. "Če je celo 1:" Vi izbral srednjo številko. "Če število je 3, "Izbral si visoka številka. "In tako sem imel privzeto primer dol, ampak ne kaže navzgor, kar je slabo. V bistvu, to je samo druga sintaksa. Lahko bi to izvajali natančni Ista stvar z natanko if izjave. Toda, ko obstaja veliko drugačna Pogoji in veliko drugačna variacije na tisto, kar želite storiti za vsak vnos, to je možnost. Torej to je samo dobro sintakso vedeti. Ja? PUBLIKA: Zakaj je ne Nagibnica n v prvi? LAUREN CARVALHO: Za tam gor? Ni Nagibnica n tam gor ker GetInt - če poskusite to, da bomo vam ta poziv. Daj mi celo število med 1 in 3. In če sem dal protiudarec n, bi bilo pelji me v naslednjo vrstico, vendar sem Hotela jim vnesite celo število takoj po debelem črevesu. Lahko bi dal protiudarec n. To ni nič takega. Ja? PUBLIKA: Za te kode, ali je to Zadeva ena, je, da zaradi to je prvi primer? Ker - LAUREN CARVALHO: Ne, ne, ne. Torej to mi celo med 1 in 3. Če je n 1, to tiskanju. Če bi jaz prosil za pisma, lahko dobim je dejal, da mi črko med A in C. Potem bi bilo to primer A. PUBLIKA: [neslišno]. Primer bi samo [neslišno] LAUREN CARVALHO: Ja, seveda. Ja? PUBLIKA: Kaj pa, če si hotel imeti več relacijske izražanja? Torej, namesto da bi rekel n enak 1, [neslišno] n je večji od 1 v prvem primeru? LAUREN CARVALHO: Pravzaprav, če ne bom opredeliti nekatere od teh primerov, bi to treba izvesti navzdol. Torej dejansko, morda to ni kaj sprašuješ. LUCAS FREITAS: Mislim, da se sprašuje, če je bilo v primeru n večji kot 0, primeru manj kot 0. LAUREN CARVALHO: Mogoče stikalo Izjava ni res tisto, kar želite za uporabo v tem primeru. LUCAS FREITAS: Izjava stikalo samo za vrednosti, tako da ste preverjanje vrednost je všeč to ali ono. Torej ne moreš dejansko postaviti pogoje. PUBLIKA: Kaj pa, če oseba Vrste z [neslišno]? LAUREN CARVALHO: To bi bilo privzeti primera, kar je na žalost ne morete videti. LUCAS FREITAS: [neslišno] da jih vidim. LAUREN CARVALHO: Pravzaprav, veš kaj? Greva na študij 50, in bom samo povečavo na diapozitivih o raziskavi 50, ker je to samo nadležno. Torej, kaj mi v resnici gre za stanje. To je le, da bo traja nekaj časa. Vse je v redu. Torej, žal mi je. Vsaj zdaj bomo lahko videli vse, ne da bi odrezali. Vse je v redu. Torej, če bi dal v 10, bi privzeto tukaj za privzeti primeru, in jaz bi samo tiskanje neveljaven, ker sem jih prosili, naj začne celo med 1 in 3. Še kakšno vprašanje? Ja? PUBLIKA: Recimo, na primer, en primer tri, rekel, da si je želel, da bi bilo vse Ista stvar, tako da si izbral številko To ni medij številko. V tem primeru bi bilo odveč? Bi lahko samo spremenite besedilo v obeh od njih, ali ne bi bilo nekaj redundanca? Ali obstaja način, da se združi [Neslišno]? LAUREN CARVALHO: Obstajajo načini, da jih združiti, ampak verjamem, da lahko samo združujejo sosednje narave. Torej, če nisem ničesar opredeliti za primer dva, bi to velja za obeh primerih. Oh, če nisem dal ničesar za primer ena, bi to veljalo za oba Zadeva ena in dva. Če je to smiselno. PUBLIKA: Ali lahko ponovite, da je ena? LUCAS FREITAS: OK. Če si v bistvu, kot, da imate ista stvar, vendar vam ne dajo karkoli tukaj, bi bil bodisi primer en ali dva primera, to storite. Kajne? In ta odmor pomeni, če dobite v tem primeru, samo pusti. Torej, to je tisto, kar pomeni zavora. Torej, če sem to storil, si poglej, to je neki primer, in ti bi to samo naredi. Če bi bilo primera dva, bi prav tako samo priti sem in to. PUBLIKA: Ampak, lahko to storite? Če je nekaj za Primer dva [neslišno] LAUREN CARVALHO: ne verjamem lahko to storite. Ne verjamem, da lahko preskočite okoli. Lahko to storite, Rob? Jaz ne mislim tako. PUBLIKA: Torej samo eno številko Lahko greš po primera, kajne? Ne more biti neki primer, vejica, dva? LUCAS FREITAS: Ne, ne moreš. Vi zagotovo ne more. LAUREN CARVALHO: Mislim, točka To je možnost, in to morda ustrezal vašim primerov uporabe, tako da potem bi uporabili, če se razmere. PUBLIKA: Torej, zakaj bi si to naredil? Stikalo? LAUREN CARVALHO: Jaz bi to uporabili Če imate zelo definirano - pravzaprav, Lucas, se ti blokira. LUCAS FREITAS: Oh, oprostite. LAUREN CARVALHO: Če imate zelo opredeljene vedenja, ki jih želite za vsak vnos, to lahko malo bolj zgoščen kot pisanje iz če izjavo za vsakega od njih. PUBLIKA: Kaj počne odmora spet pomeni? LAUREN CARVALHO: odmor pomeni ustaviti. Zapomni si, če ne bi imel tega preloma tukaj, bi mi pravkar padel v naslednjem primeru. LUCAS FREITAS: Break pomeni, da se iz switch stavku. Ker če je 1, želim natisniti to in oditi. Ne želim, da preveri kaj drugega. PUBLIKA: Nočeš natisniti ničesar drugega. LUCAS FREITAS: Ja. Ker je med seboj izključujejo. PUBLIKA: In še to samo nadaljuje na naslednji primeru, če prvi primer ni res? Ali pa preizkusite vse primere hkrati? LUCAS FREITAS: Ne, preverjanja zaporedno. Zaporedno, ja. Še eno vprašanje, potem morava premakniti naprej, tako da bomo lahko zajema vse. Ja? PUBLIKA: Torej za primer, bi lahko imelo naredili nekaj poleg samo eden? Bi jo lahko dal ponudbo? LUCAS FREITAS: Ne LAUREN CARVALHO: Mislim, da ne lahko ji dati ponudbo. LUCAS FREITAS: Ne moreš si mu ne more dati ponudbo. PUBLIKA: primer je specifičen [Neslišno]. LUCAS FREITAS: Switch je neke vrednosti. Delaš različne stvari, odvisno na vrednost, določena vrednost. Ne morete storiti razpon, ne moreš storiti ničesar drugega. To je samo še eno orodje za videti. LAUREN CARVALHO: Večina ljudi ne uporabljajte preklop izjave zelo veliko CS50, vendar je tam. Vse je v redu. Torej, naslednja stvar, bomo govorili o je ternarnim operater. To je samo še en tip pogojne. V bistvu, kaj se tukaj dogaja, je, da sem prosi za celo število, in če je n presega 100, se bom natisnete "Visoka". Če je ne, bom izpisal "nizko". Torej, kaj to počne, je pogoj tukaj v oklepaju, in ti lahko nekako razmišljati o vprašanju kot jaz vprašam, ali je to res ali ne. Če je to res, bom to storiti najprej stvar, in če to ni res, da sem boš naredil to drugo stvar. Imate vprašanja ternarnim operater? LUCAS FREITAS: Samo želim opozoriti, iz David je, da ko imate stanje - LAUREN CARVALHO: Mislim, David je gledal preko živo. LUCAS FREITAS: Dela življenjskega toka, prav zdaj. Torej, če imate bolezen, si naj dajo zavitimi oklepaji, tako kot imamo v stikalom Izjava tukaj. Imamo zavitimi oklepaji tukaj. Za karkoli pogoji, da si naj bi tudi dal to. LAUREN CARVALHO: Boste videli To v slogovnem priročniku. Ne bomo dejansko slogovni priročnik prav zdaj. Mislim, David je še vedno deluje. LUCAS FREITAS: Dejal je, da to je samo zdaj dela. LAUREN CARVALHO: Oh, je to dela zdaj? OK. Torej, očitno je letos v slogu vodil, tudi če imate le eno vrstico, moraš dati tiste zaviti oklepaji palcev Saj ni nujno, da za funkcionalnost programa. In morda bi morali vzemite odmor po tem, ko so izpolnjeni pogoji in gredo naravnost na slogovni priročnik se očisti se nekatere od teh stvari? LUCAS FREITAS: Ja. Imate vprašanje? PUBLIKA: Ne, jaz bom samo čakati do slogovnega priročnika. PUBLIKA: Lahko greš nazaj s trojnim operaterja? LAUREN CARVALHO: Ternarni, ja. LUCAS FREITAS: Ternarni operator v bistvu, če drug izjavo, vendar Namesto da bi imeli dve vrstici za preverjanje, če in potem drugje, imate le eno vrstico. Torej v bistvu, če želim, da bi v niz Vrednost visoko ali nizko, in I želiš visoka, če je n večji kot 100 ali nizka, če je manj, kaj lahko storim je ta [neslišno] Niz se bo, potem pa sem zaprosi programa je n večji kot 100? Tako da je, zakaj imam ta izraz v oklepajih in nato vprašaj. Sprašujem pa je večja od 100? Če je tako, da se bo visoka. Če to ni, da se bo nizka. Torej v bistvu, kaj misliš, da se vas vprašanje, da si dal v oklepaju pogoj. Potem si dal vprašaj ker ste ga vprašam. In če je to res, gre za biti V prvem vrednosti [neslišno] tukaj. Če je ne, bom dal Vrednost, ki je po debelem črevesu. Ali je smiselno? To je tudi nekaj, kar je podobno Orodje v C, vendar vam ni treba posebej jo uporabite. Ampak CS ljudje ponavadi všeč, da saj je samo prihrani linije. LAUREN CARVALHO: To je zelo elegantna. To počne veliko v samo eno izjavo. PUBLIKA: Torej znak za odstotek je Samo ne glede na rezultate na predhodna vrstica? LAUREN CARVALHO: Oh, žal mi je. Ta znak za odstotek je pravzaprav Ograda za to je vse. V izjavi printf, imaš to Niz tukaj, ki je, kar se dogaja, da tiskanje, vendar lahko ne samo dal to govorite tam. V nasprotnem primeru bi bilo tiskanje ven se je dobesedno. Torej smo dal odstotka tukaj, da to mesto v posesti za karkoli gre za vejico. Torej za vrvico, imaš odstotkov s. Za celo število, odstotek i. Za float, odstotnim f. Boste videli takšne, kot smo glej več primerov. Ampak morda bi morali govoriti o slogovni priročnik za nekaj časa, zdaj da je gor. LUCAS FREITAS: Če greš na cs50.net/style, boste videli slogovni priročnik. Za problematičnih sklopov, vaš rezultat za Problem sklop je sestavljen iz področja, kar v bistvu pomeni, če ste storili vse deli problem nastaviti ali če ste poskus nekaj. Druga stvar je, pravilnost, ki sredstvo je vaš program počne, kakšna je bil naj bi počel, ali to počne imajo žuželke, ali pa je ne delaš kaj to je moral storiti. Tretja stvar je, oblikovanje, kar pomeni, ste izvajanju tega No, ali pa so Ali uporabljate nepotrebne izjave? Tako na primer, če želite ponoviti številka 10-krat, pišeš zanko ali pa si samo delaš 10-krat Enako izjavo, samo delaš kopiraj in prilepi. Tako oblikovanje je za to. In na koncu, imaš stil. Slog je tako kot sodeč če je vaša koda zgleda berljiva in vrste lepa. To samo v bistvu pomeni, je vaša koda berljiva? Bi nekdo drug, ki je bila videti, so kodo biti sposobni razumeti, kaj to počne? Ali ima pripombe in podobno? Spregovorimo o slogu, ki boš moral uporabiti. Prva stvar je, komentarji. Komentarji so zelo pomembni za vaše koda, ker se včasih delaš vaš program, in veš točno, kaj želite, da se vam šele začetek kodiranje, samo tip gor kup C. Toda če nekdo išče, so si koda, oni ne bodo mogli razumem, saj ne vedo, stvari, ki so v tvoji glavi, kot pesudocode, tako da morda pa bodo imajo trd čas, da razumejo Kaj je koda počne. Tako komentarji so res koristno razložiti z nekom, ki je videti na kodo, kaj je to početje, in pravzaprav celo za tebe, oni so zelo koristne. Kot greš na trše in trdih Psets, boste videli, da dobi kodo Daljša in nato komentarji so res pomembno, da se spomnite, kaj vsak del vašega programa ne. Če želite dati komentar, si lahko samo narediti slash slash in napišite komentar. In cela linija je del komentar, in karkoli zapisali, to ne bo uporablja za kodo. To je v bistvu kot prevajalnik gre prezreti, da je. Ali to smiselno? PUBLIKA: Kaj si spet naredil napisati komentar? LUCAS FREITAS: Ta? Slash slash? Kadarkoli vnesete slash slash, ne glede na je v tej liniji ne bo se šteje, da je C. Ja? PUBLIKA: Torej, po komentarju, si vpišete in začeti novo vrstico? LUCAS FREITAS: Ja, točno. LAUREN CARVALHO: slash slash je za posamezne vrstice s komentarji. LUCAS FREITAS: Na primer, Tu imamo - Naj povečavo - na primer, tukaj bom razglasitvi plovec, ampak mogoče, če si dal to v kodi, tako kot vi nimate pojma kaj je to početje, kot je dejansko nekdo, ki gleda te kode se bo, kot so, kaj vraga se dogaja? Če si dal komentar rek "spremeniti Fahrenheit da Celzija, je vseeno precej več smisla. Ti si, kot, OK, ti si pretvarjanjem. Ali to smiselno? Torej to je samo nekaj, kar pomaga ljudem Pripravljeni kodo in tudi, da morali biti sposobni organizirati kodo bolje. Druga stvar je, da lahko narediš Komentarji multi-linije, tako da imamo eno komentar za kup vrstic. Namesto, da bi dal slash slash, Komentarji prvi vrstici, slash slash, druga vrstica, in tako naprej, Lahko uporabite poševnico zvezda. Način, da to storite, je, da za Prva vrstica komentar, si naredili poševnica star star je, tako da kar tako. Tako kot imamo tu začetek Program, ki ga ponavadi dal, kdo si so, kaj ta program počne, in podobne stvari. To je nekako tako kot v glavi za program. Še enkrat, to ni nekaj, kar prevajalnik bo mar, vendar je pomembno, da veste, kaj je to Program počne, ali za druge ljudi, vedeti, kaj vaš program počne. Torej vam poševnica zvezda zvezda, nato pa zadnja vrstica boš naredil zvezdo poševnica da lahko zapre da komentar. Torej v bistvu za vse druge črte; lahko samo napisati karkoli, in to se vse dogaja, da se ne upošteva. In prav tako kot slog, boste videli, da Vsaka od vrst ima zvezdico, in vse zvezde so poravnani. To so pomembne stvari, tako da svojo kodo izgleda precej. Sliši se dobro? Zdaj pogoji. Kaj David je dejal, da bi morali dejansko dal v teh diapozitivov, je, da če imate kakršno koli, če izjave ali kakršnih koli pogojev, morate uporabiti zavite oklepaje pokazati, da To je tisto, kar se bo zgodilo če imate bolezen. Tehnično, če imate bolezen nato pa v naslednji vrstici je le ena linija, ne boste imeli tehnično postaviti zavite oklepaje. V bistvu bi prevajalnik razumel je nekako kot implicitni. Ampak za CS50 vas prosimo, fantje, naj so zaviti oklepaji samo zato, da si koda je bolj organizirano in bolj berljiva. Ker to kodo dobi več, če vam nimajo zavitimi oklepaji in podobno. To postane zelo grdo. LAUREN CARVALHO: To je natanko David, kaj šele poudaril V mojih prejšnjih diapozitivih. Prav gotovo deluje brez kodraste naramnice, ampak za stilističnih razlogov bomo vprašati vam dal tiste prijavite In ko boste začeli prikazovati style50, ki je nekako pregleda 50 za slog, vas bo spomnil, da to storijo. LUCAS FREITAS: In še ena stvar je, ne pozabite postaviti zavite oklepaje skupaj v vsaki vrstici. Torej boste to storili, na primer, l'i. Pojdi na naslednjo vrstico, odprite Curly brace, potem pojdite na naslednjo vrstico. Vdolbina, ki je štiri prostore. Potem napišete karkoli, nato pa še linije in zaprite skodrane opornik. Torej, se prepričajte, da tako tisti, kodrasti objemke na različnih progah. PUBLIKA: Torej, če je ta številka, kot je 10 drug investicijski skladi, je treba to je 10 sklopov oklepajih? LUCAS FREITAS: Ja, za vsako od njih. Ja. Torej, če, if, in tako naprej. PUBLIKA: Ali ne pritisnete Tab zamakniti? LUCAS FREITAS: Mi smo vas prosim fantje uporabljajo štiri prostore. Nekateri urejevalniki besedil jeziček translate kot je samodejno štiri prostore. gedit ne, tako da boste morali narediti space space space space. To je tudi nekaj, kar nekateri programerji samo, da zavihke, nekatere programerji le narediti štiri prostore, in nekateri drugi ljudje, tudi storiti dve ali tri prostore. To je samo, da tu sprašuješ vi storiti štiri prostore. PUBLIKA: tam je skoraj zagotovo Mora biti način za gedit za samodejno [neslišno]. Tako kot ne [neslišno] počne. LUCAS FREITAS: Ja. Mislim, da lahko greš na Nastavitve. PUBLIKA: To že počne vse to. LUCAS FREITAS: To že počne? OK. Torej, samo se prepričajte, da ste imajo štiri prostore. PUBLIKA: Ali moramo postaviti Curly oklepaj v for zanke, kot tudi? LUCAS FREITAS: Da. LAUREN CARVALHO: Kadarkoli vaš inkapsuliranje blok kode, samo prosim, uporabite zavite oklepaje. In preden misliš, da smo pravkar da vztrajajo pri tem brez pravega Razlog, če vi ne gredo na, da bi dobili tech pripravništva v velikih podjetjih, se vam bo dal navodila slog, in pa vam bo povedal, da je to tisto, kar si Koda se mora videti. In čeprav ste se naučili kode, kot to, morda v vašem stažu boste morali nekaj storiti povsem drugačna. Ti pričakujejo, da ustreza na svojem slogu. LUCAS FREITAS: In še ena stvar je, da ne boste opazili, kako imam kot x, prostora, manj prostora, 0? Kadarkoli imate operaterja - je lahko kot plus, minus, krat manj, večja, ne glede na operaterja - moraš dati prostor na levi strani in desno od operaterja. LAUREN CARVALHO: Tisti, ki so imenujemo binarni operandi. Samo poskrbite, da boste vedno prostor iz vaših binarne izbire. LUCAS FREITAS: To je Ne binarno operand. LAUREN CARVALHO: To je ker sta potrebna dva. LUCAS FREITAS: Oh, ja. OK, stikala. Prvič, morate razumeti, da tako kot v če je ali drugega poslovnega izida, imate postaviti kodraste oklepaja v svoji vrstici in v skladu s skodranimi brace tukaj. Opazite, da je enotni prostor Po stikalom, tako kot se, če in ostalo smo imeli en presledek med da in oklepaje. Torej moraš dati to. In ni prostora takoj po vsaki v oklepaju ali pred koncem v oklepaju. Torej vidite, da je vse skupaj, in rad tudi tukaj. Ja? LAUREN CARVALHO: Mislim, se moramo premakniti naprej. LUCAS FREITAS: Torej je ta del slogovni priročnik, ki ga imajo za CS50. Bodite prepričani, da gredo na cs50.net/style in poglej si tole. To so vsi zelo pomembni za tvoj stil rezultat. Naj se vrnem k izjavi. LAUREN CARVALHO: Raje samo uporabo style50. Pravkar smo šli naravnost do zank. Vse je v redu. Torej, vrnimo se na vsebino, ki je zdaj da smo šli čez slogovnega priročnika. Zanke, ki ste jih videli v nič, in bomo govorili o njih C. V zanko, obstaja tri porcije na izjava o tem, za zanko. Imaš inicializacijo v ki jo nastavite spremenljivke. Imaš stanje, ki so preverjanje, da vidim, ali je nekaj drži ali ne in ali Zanka je treba nadaljevati. In imaš svojo posodobitev, ki je posodabljanje spremenljivk. Reciva, da je hiter pogled na nekatere C koda za to zanko, v akciji. Kaj se dogaja tu v inicializacija, smo i Nastavitev na 0. V stanju, smo preverjanje ali je I manjši od 10. In v dopolnitvi smo povečevanje i. Torej, kaj bo posledica to zanko? LUCAS FREITAS: Pravzaprav, najprej, Ne veste, kaj i + + je? PUBLIKA: povečala za 1. LUCAS FREITAS: Povečana z 1, ja. Torej je to ista stvar kot delaš i je enak i plus 1. In opazili, da nimamo prostora med i in + +. Torej ne veste, kaj bo to naredil? Mi lahko kdo pove? In morda dobili nekaj sladkarij zaradi tega? PUBLIKA: [neslišno] LUCAS FREITAS: OK. [Neslišno] vsem pokaži kasneje [neslišno]. Ja, to bo pokazal "To je CS50 "10-krat. LAUREN CARVALHO: Mislim, da je bilo v naslovu diapozitiv. LUCAS FREITAS: Oh, ja. [SMEH] LUCAS FREITAS: To pomaga. LAUREN CARVALHO: Torej tisti, so za zank. Bomo videli nekaj več primerov z dne for zanke kasneje. Toda, kaj je dejansko si oglejte Druga vrsta zanke boste naleteli v C, in je pozval, medtem ko zanke. V while zanko, ki ste jih Pravkar sem dobil stanje. Pogoj se preverja v se začne, in če je ta pogoj ocenjuje, da res, potem kodo v telo, medtem ko bloka bodo izvajale. In bo koda še naprej izvršiti, dokler ta Stanje je še vedno res. Tukaj je primer while zanko v C. Bomo nastaviti štetje do 10, da začetek. Dokler je število večje od 0, bomo, da bo tiskanje to spremenljivka tukaj. Bomo pojemanje štetje in nato ponovno preverite stanje. Print, padanje, check Ponovno stanje. Tukaj imamo primer, ki se nanaša na vaše vprašanje prej. Imeli smo odstotkov ov, ko smo bili tiskanje niz, in zdaj, bomo tiskanje int, imamo odstotkov I, kot je naš ogrado namesto tega. Črke bi morali biti precej intuitivno, s za niz, i za notr. Torej, če je ta koda izvede, morate odšteva 10-0, tiskanje vsak celo število. LUCAS FREITAS: In si lahko zamislite odstotkov, kot se zdi, kot prazno prostor, nato pa si zastavili spremenljivka tukaj v tem praznem prostoru. Tako na primer, tukaj bom imel samo prazno, nato pa bom dal štetje tam, vrednost števila. Ali to smiselno? Lahko sem naredil tako kot printf nato pa navaja, šteje? Bi to delovalo? PUBLIKA: Ne LUCAS FREITAS: No, saj bo dejansko natisniti besedo "štetje" namesto tiskanja vrednosti. To je, kako si lahko natisnete vrednosti namesto proti spremenljivke Samo ime spremenljivke. Vsa vprašanja? PUBLIKA: Zakaj uporabljati za kot nasprotna časa? LAUREN CARVALHO: Jaz bi uporabil za zanka, če vem točno, koliko iteracij Želim, da moji zanka teči. V tem primeru ni pomembno, ker Mislim, sem samo poskušam mislim res preprosta Primer za to diapozitiv. Ampak recimo, da hočeš nekaj nadaljuj, medtem ko - LUCAS FREITAS: Na primer, da si prosi za vnos dokler oseba vam daje pravico vhod. Torej, kot pa je vložek ni OK, da prosi za to. Ali podobno, medtem ko ste starši ne dajejo ti denar, da prosi za to. [SMEH] LAUREN CARVALHO: Vi ne veste, kako tolikokrat, da boste morali to storiti. LUCAS FREITAS: Ker si ne vem, kolikokrat je to dogaja, da nadaljujem. LAUREN CARVALHO: Toda v zanko, morate vedeti, koliko krat. Ja? PUBLIKA: Samo, da pojasni, odstotek pravi, da to je nekaj na tem, da zgodi, da i je za celo, in backslash n - LAUREN Carvalho: pomeni? Kdo ve, kaj Nagibnica n pomeni? Nova linija, ja. Točno tako. LUCAS FREITAS: Si lahko zamislite n kot nove linije. LAUREN CARVALHO: Lepo. PUBLIKA: Kaj je to število dash dash [neslišno]? LUCAS FREITAS: Štetje minus minus je ista stvar kot plus plus, vendar namesto povečanja, to je zmanjšala za 1. LAUREN CARVALHO: Vse več medtem ko zanke vprašanja? Ne? Oh, smo bili naj bi so preskočila to. To je storila, medtem ko zanke. Zelo podobna while zanko, razen v V tem primeru imamo preverite stanje po koda v telesu zanka izvede enkrat. Zato smo izvršiti kodo Prvi ni važno kaj. Potem smo preverite stanje, izvršiti še enkrat, če je pogoj izpolnjen. Boste sami našli s pomočjo tega, ko ste prosi za vnos uporabnika. Ker si vedno dogaja, da imajo na vprašati enkrat, nato pa odvisno od vhod uporabnik, boste morda morali reprompt in znova in znova vprašam, če vhod ni bil tisto, kar Pričakuje se, da bo. PUBLIKA: Torej je to kot obliko za ljudi, da izpolnite. LAUREN CARVALHO: Ja, točno. Boste našli, mislim, da vaš zelo prvi Pset, boste morali uporabite dobro zanko za zbiranje vhod od uporabnika. PUBLIKA: Glede na situacijo, svojega časa zanke bo ponavadi teči več pogosto kot pa zanke, kot z enim ali kaj podobnega? LAUREN CARVALHO: Če je točen - LUCAS FREITAS: morajo vedno teči Točen znesek časih, ki vam želim, da bi teči. Kot da smo uporabili storiti, medtem ko, ker smo res želel, da bi dobili vnos vsaj enkrat. V, medtem ko zanke, včasih nočeš za izvršbo sploh, če to ni Primer za izvedbo. Torej je odvisna od oblike. Mislim, da lahko bodisi uporaba storiti, medtem ko ali medtem ko tako dolgo, kot vaša koda ne da to je moral storiti. LAUREN CARVALHO: Ampak jaz mislim, da je odgovor na vaše Vprašanje je verjetno ja. Recimo, pogoj je bil napačen. V enem primeru bi bilo teči enkrat, in en primer bi bilo v nič krat. Torej, ja. Še kakšno vprašanje? Ja? PUBLIKA: Ali lahko pogoj zanke za zanke v smislu drugi spremenljivki kot [neslišno]. LAUREN CARVALHO: Ja, je lahko karkoli. Verjetno za začetek Psets, si ne bo treba srečati to zadevo, vendar Vsekakor je lahko karkoli. LUCAS FREITAS: Mislim, Tukaj smo končali. LAUREN CARVALHO: Ali smo? Ne? LUCAS FREITAS: Loops? Ja. LAUREN CARVALHO: Mi ne bi smelo biti. Oh, smo končali z zankami. OK. Pravzaprav, ker smo bili tako govoril veliko, kaj je pravzaprav vse smer prenesejo study.cs50.net/conditions. In ti boš smer navzdol za težave widget. No, pravzaprav, medtem ko so ljudje dobili ta ustanovljena, CS50 Študija je bo orodje, ki bo vaše TFS uporabljajo za pripravo na oddelkih in da vidva lahko uporabite, če ste zamudili odseke. To se dogaja, da vsebuje kup diapozitivov, nekaj nasvetov in trikov za vsako temo, in nekateri problemi prakse z rešitvami. Zakaj se vsi ne le poglejte na ta problem tukaj. Žal mi je, da naj bi bile opozorjene ljudje prinašajo prenosnih računalnikov danes. Ampak, če nimate laptop, da je v redu. Lahko samo zapišete to navzdol kos papirja ali pogled v ramo svojega soseda. Poskusimo in napisati program, ki pozove uporabnika, naj prevzame ugibati, povprečno število otrok na družino Enota v Združenih državah Amerike. To število je 2, mimogrede, kot ti lahko vidite iz teh primerov. Želimo natisniti povprečno število otroka na družino v ZDA, nato pa smo rad kaj? Želimo zbrati prispevke od uporabnika. Nato pa odvisno od tega, kakšna uporabnikov Vhod je, da boš natisnete bodisi je to pravilna ali je to napačno. In prva stvar, ki jo bom vidite, če kliknete na malo puščico na Spodnji del problema gradnika je opazite, da zapišete nekaj psevdokoda. Torej ne programiranje še. Ste pravkar dobili vaš ideje v redu. Ali kdo želi pomagati Lucas prišel gor s pravico psevdokoda za ta problem? LUCAS FREITAS: Kaj je prva stvar, ki da bi morali verjetno tukaj? Kaj pa vi mislite? PUBLIKA: [neslišno] LUCAS FREITAS: Ja, v redu. Torej, print. Samo reči tiskalno to povprečje Število ljudi? OK. Natisni vprašanje, recimo. Ko sem natisniti na to vprašanje, Kaj naj storim? PUBLIKA: Get vhod. LUCAS FREITAS: Get vhod. Kaj drugega? PUBLIKA: Pogoj. LUCAS FREITAS: Pogoj. LAUREN CARVALHO: Kaj je to Pogoj bo? PUBLIKA: število [neslišno]. LAUREN CARVALHO: Right. LUCAS FREITAS: Torej, kaj bom da preverite v stanju? PUBLIKA: Če je enaka 2. LAUREN CARVALHO: Če je enaka 2. Točno tako. LUCAS FREITAS: Je še kaj drugega, da naj naredim? PUBLIKA: Count. LUCAS FREITAS: Torej, če je to enako 2, recimo - Naj samo napisati, če vhod enak do 2, nato pa kaj bom storiti je, print pravilna. In potem drug, bom natisniti napačna. Kaj drugega? Ne? LAUREN CARVALHO: Torej si lahko s klikom na - ima vsakdo to dol? LUCAS FREITAS: Ali je smiselno? Torej, zdaj poskusimo to kodo. LAUREN CARVALHO: Če kliknete malo arrow, dejansko prihrani psevdokoda, ki je res razburljivo. In si lahko tisti, v komentarjih, če hočeš samo sebe opomni kaj naj naredim. LUCAS FREITAS: Tako, na primer, prvi Jaz grem za tiskanje na vprašanje, zato kako bom za to, pravzaprav? printf. Torej printf, in vprašanje je povprečna število otrok na družina v ZDA. Potem bom dobil vhod od uporabnika. Torej, kako lahko to storim? PUBLIKA: Get Int. LAUREN CARVALHO: GetInt. LUCAS FREITAS: OK. Torej, najprej razglasi, kajne? int, recimo ji n enak GetInt. In zdaj stanje. Torej, naj povem, da bom da tukaj Preverite za odgovor. Torej, najprej, če vhod, ki je N, enaka to - kako bom to napisal? PUBLIKA: Enako enako. LUCAS FREITAS: popolna. Tako n. In opazil, da sem naredil prostor, enaka, enaka, prostor, res. In zdaj, kaj naj naredim? Nekaj ​​zelo pomembna za slog. Zaviti oklepaji. In potem bom natisniti. Kako natisnem? printf. PUBLIKA: Ali bi bilo treba veliko začetnico? LUCAS FREITAS: Ne To naj bi bilo vse male črke. Tako, da je pravilna. Bi to zadostovalo za printf izjavo, ali sem spregledal kaj? PUBLIKA: Nova linija. LUCAS FREITAS: Nova linija, ja. In zdaj drugje. PUBLIKA: Ali obstaja prostor Po printf, ali ne? LAUREN CARVALHO: Morali bi preverite priročnik slog. PUBLIKA: To ne bi smelo biti. LUCAS FREITAS: Ali ne bi bilo, v redu. Torej drugega, printf, "To je napačna." LAUREN CARVALHO: Ups, vaše ponudbe. LUCAS FREITAS: OK. Kaj drugega? Ali je videti dobro? LAUREN CARVALHO: Bomo poskusili? LUCAS FREITAS: Ja, dajmo ga zaženite. Tako da je zbiranje, in to Zdi se, da to deluje. Poskusimo dva otroka. Da je pravilna. In zdaj pa spet teči, sedaj pa namesto tega dajanja dva otroka, dajmo pravijo, da bom dal kot pet. To je napačno. Tako se zdi, da deluje. LAUREN CARVALHO: Zakaj ne pokazati kaj se zgodi, če daš nekaj Čudno, kot nekaterih črk. LUCAS FREITAS: Oh, ja. Oglejmo preverite tudi to. Kaj pa, če uporabnik poskuša nered s svojim programom, in so samo pisati, ne vem dva. To se dogaja, pravijo Ponovi. LAUREN CARVALHO: Torej GetInt se jih zaprosila, da poskusite znova. Mi ni bilo treba skrbeti tega sami. LUCAS FREITAS: Ja. Torej, če sem dejansko dal številko, to je dogaja, da me prosi, da poskusite znova. PUBLIKA: Kako ti je pobegnil? LUCAS FREITAS: Samo kliknite ta gumb zvezda. LAUREN CARVALHO: Moral bi iti gor. Tukaj imaš. LUCAS FREITAS: zvezdicami Gumb tam. Ja? PUBLIKA: Ali je poziv [neslišno] z decimalno številko preveč? LAUREN CARVALHO: Verjamem, da bo. LUCAS FREITAS: Če je tako, kaj? LAUREN CARVALHO: Če tip v decimalno število, mislim, da se bo poziv. LUCAS FREITAS: Pa poglejmo. LAUREN CARVALHO: Ker to ni int. LUCAS FREITAS: Ja. LAUREN CARVALHO: Torej to ni int, Get Int vas bo, da poskusite znova. PUBLIKA: Torej, kje v tem zakoniku bo decimalno mesto, da pozove za uporabo, ki so za vstop število posebej? LAUREN CARVALHO: GetInt je dejansko tem, da je za nami. PUBLIKA: Ne, mislim, če smo želeli za vstop v [neslišno] LUCAS FREITAS: Lahko rečemo, kot je povprečje število otrok v ZDA. Ne vem. Rečemo lahko, na primer, "Prosim input celo število. " LAUREN CARVALHO: število enako s povprečnim številom. Mislim, da je samo, kako vas bo beseda je, kajne? LUCAS FREITAS: Ja. To ni del dejansko kodiranje. To je bolj kot karkoli boste želeli pisati v vašem programu. PUBLIKA: Kako bi si ga teči, če je bil pravzaprav v gedit [neslišno]. Namesto da pritisnete igro? LUCAS FREITAS: Bomo najprej prevesti. To lahko storimo s tem make in ime datoteke. In potem, da bi sistem deloval, bomo storili dot poševnica in ime programa. PUBLIKA: Mislim, da tisto, kar sem mislil je, če smo želeli program, da se odzove na njihova nepravilna, neveljaven vnos, si ne bi dal v - LUCAS FREITAS: ne bomo mogli storiti, da zato, ker je koda to pravi poskusite znova prihaja iz Get Int, ki je Funkcija, ki se že izvajajo Za nas preko knjižnice CS50, in ker to je tam že izvajali, ne more samo [neslišno]. LAUREN CARVALHO: Če ne uporabljate GetInt, potem lahko to storite. LUCAS FREITAS: Ja. Ampak, če boste uporabljali GetInt, ne moreš. Še kakšno vprašanje? PUBLIKA: Lahko ste šli s podobno GetFloat in potem se lahko dajo je v decimalkah? LUCAS FREITAS: Ja. PUBLIKA: OK. Potem si lahko vložek splovili enaka - LAUREN CARVALHO: Ja. Točno enake, razen namesto notr plavajo. LUCAS FREITAS: Samo dal sem in nato GetFloat tam. PUBLIKA: Ko boste videli ali so videli - LAUREN CARVALHO: imamo tam še ni prišel. PUBLIKA: - delaš neenakost s boje ne [neslišno] PUBLIKA: Kaj podpičja pomeni? LAUREN CARVALHO: podpičjem samo pomeni, da ta izjava ni popolna, in smo šli na naslednji diapozitiv. PUBLIKA: Torej je potrebno vsakič? LAUREN CARVALHO: Ja. No, v redu, tako da ni teh pogojev, ker oni zakapsulira nekaj. Torej v bistvu, če je kaj povzroča da si potem ustvarite kodrasti opornik blok, ne dajo podpičjem na koncu. LUCAS FREITAS: Ampak vse drugega, ja. Ko končate z izjavo, postaviti podpičje. In če ste pozabili podpičjem, prevajalnik bo dobil jezen na vas, in boste imeli da bi poskušali to popraviti. LAUREN CARVALHO: Če sem dal podpičjem sem, da bi to preprečili, in jaz Nikoli ne bi dobili za izvedbo, kaj je notranjosti, mimogrede. Torej, to je ena od teh skupnih napak. PUBLIKA: Vedno izvršitve. LAUREN CARVALHO: Ja. V tem primeru, bi mi vedno izvršiti, kaj je notri. PUBLIKA: Vaš stil [neslišno] pripisujejo, da je za vas, mislil. LAUREN CARVALHO: Oh, to je res. PUBLIKA: [neslišno] enojni linija stvar [neslišno] OBČINSTVO: Ja? PUBLIKA: Ali imate več vhodi v eni vrstici? Torej, kot lahko zahtevajo od uporabnikov natisniti dve stvari? LAUREN CARVALHO: Brez uporabe - LUCAS FREITAS: Ne Recimo, da želim tudi da se to celo število m. Moram to storiti v drugi liniji. PUBLIKA: Če ste bili, da delujejo da, kako [neslišno]? To bi natisnili poziv tam [neslišno] in potem bi vpišite eno in - LAUREN CARVALHO: No, ga zaženite. Mislim, da ni nič nam preprečuje, samo teče in videli, kaj bi se zgodilo. LUCAS FREITAS: Mislim, da je dogaja, da se pritožuje na nas ker smo ne uporabljate - LAUREN CARVALHO: Ups. LUCAS FREITAS: To je pritožil na nas prav zdaj, ker ne bomo z uporabo tega spremenljivka, toda če bi, na primer, n je enak je enaka, in je m enak je enaka, potem kaj se bo zgodilo v tem primeru? Kaj bi ta program naredil? PUBLIKA: Jaz sem samo spraševala kako bi - LAUREN CARVALHO: Hoče izvedeti, kako izgleda kot je, mislim, kajne? Tako da je eden izmed njih, in nato to je pa druga. Mislim, da moramo premakniti naprej, ker imamo še eno diaprojekcijo, preden - hočeš dvigni matematiko? LUCAS FREITAS: Ja, matematika. LAUREN CARVALHO: Give me samo eno sekundo. Obstaja nekaj različnih numeričnih spremenljivke v podatkih C. Numerične v C je mogoče razvrstiti v različne tipe, in to so tiste, ki jih boste glej najpogosteje. In int je celo število. Ne moreš imeti nobenih decimalk. V napravi, ki je potreben 32 bitov za shranjevanje int. Float lahko decimalke. To traja tudi 32 bitov za shranjevanje plovec v aparatu. Double je število z eno decimalko točka, ki traja 64 bitov, da ga shranite, kar pomeni, da lahko samo še večja natančnost zaradi Lahko imate več - Kaj pa potem? LUCAS FREITAS: Ja, to je več. LAUREN Carvalho: Več krajev decimalno vejico. In dolgo časa je celo število ki traja 64 bitov sore je v aparatu. LUCAS FREITAS: Tako je lahko večja kot ints lahko. LAUREN CARVALHO: stvar podatkov tipi v C je, da vam povem, kaj vrste podatkov, ki jih lahko shranite v spremenljivko. So vam povem, kako lahko uporabljate to spremenljivka v programu. To je zelo pomembno, da se samo slediti kakšne vrste podatkov, ki ga uporabljate, in če si morate, da glasuje s podatkovnim tipom v drugo, poskrbite, da boste vedeli, kaj se zgodi, ko se to ulivanje poteka. In boste videli zgled kasneje na teh diapozitivov napaka, ki se lahko pojavijo. Oglejmo si na nekaj matematike v C in mislim res previdno, mislim, o tem, kaj se dogaja, ko se to math poteka. V zelo prvi vrstici, kar je dogaja, ko Izjavljam x? PUBLIKA: Ti omogočajo x, da bo kaj? LAUREN CARVALHO: Ja. No, jaz sem res prosi delovanja Sistem za 32 bitov pomnilnika, kajne? , V katerem sem lahko shranite int, in Bom poklical, da int x. LUCAS FREITAS: V bistvu dogaja v spomin in najti mesto, ki ima 32 bitov in rekel, hej, hočem ta prostor, in to se dogaja, da se imenuje x. Torej ste pravkar precej ugotovitev okno v spomin na shranjevanje vrednosti za x. LAUREN CARVALHO: In potem sem inicializacijo x, kar pomeni, da sem Shranjevanje vrednost 2, v tem mestu, ta kos pomnilnika, da smo prosili delovanja sistem. In tukaj, kaj delamo, je smo dejansko razglasila in Namesto inicializaciji Y v eni liniji v dveh vrsticah, kot smo tukaj, ki je tudi popolnoma v redu, smo dodatkom 1 do X, in smo shranjevanje, da vrednost y. LUCAS FREITAS: Torej v bistvu, kaj je to linija pa, če ugotovi, zdaj škatlo za y, nato pa je njena vrednost, stvar, ki boš dal v škatli, je bo vrednost za x in 1. Zato je to polje za y. To postane vrednost x, izgleda tukaj, in videli, da je 2. Tja jo postavi, plus 1, tako da se postavlja 3 tam. Ali to smiselno? Zato bi bilo y 2 v tem primeru. LAUREN CARVALHO: V redu, v redu. Videli smo nekaj dodatek, tako da je zdaj razmišljati O delitev v C. Tukaj sem razglasitvi in ​​inicializacija plovec imenovano odgovor in deljenjem 1 za 10, in potem bom tiskanje odgovor na dve decimalni mesti. In ne pozabite, tukaj, v mojem printf izjavo, ko hočem natisniti nekaj za dva decimalni mesti,% .2 f kaj hočem uporabiti. Torej točka 2 je pravkar rekel, Rabim dve mesti po decimalno natisne. Zdaj, kaj se bo zgodilo če jaz vodim to kodo? Ali ima kdo idejo? Kaj bi izpisal? LUCAS FREITAS: Kaj so Pričakujemo, da bi dobili. LAUREN CARVALHO: Kaj storiti želimo najprej? LUCAS FREITAS: [neslišno] LAUREN CARVALHO: 0.1, ja. Toda kaj se bo izpisal? PUBLIKA: [neslišno] LAUREN CARVALHO: No, no, pravzaprav. To je tisto, kar sem govoril o tem, zakaj ste potrebujete, da zelo pozorno spremljali podatkovnih tipov. Torej, kaj podatkovni tip je to? Je int, kajne? Ni decimalno mesto. 10 je tudi int. Ni decimalno mesto. Če bom razdelil int z notr, dobim int ki ni 0,1, ker ints ne more imeti decimalnih mest, ampak le 0. Ker int samo skrajša off decimalna mesta. LUCAS FREITAS: Torej, ko boste to storili operacije z ints, boste dobili int kot odgovor. Torej v bistvu, kaj računalnik se delaš, da je razcepi 1, ki jih 10, in ga dobi 0.1. Ampak potem je to všeč, čakaj, to je naj bi bilo celo, da si prezreti 0.1, tako da je zdaj samo 0. LAUREN CARVALHO: Torej, ko sem natisni , sem dobil 0,00 namesto 0,10. LUCAS FREITAS: Ali to smiselno? LAUREN CARVALHO: To je nekako za žalostno, kajne? LUCAS FREITAS: Torej, kako lahko to popravimo? LAUREN Carvalho: Recimo poskusila popraviti da. Tukaj je primer, kjer sem dejansko vlivanje 1 in 10 do plava. Torej, zdaj, 1 ni več int. 1 je float. Mimogrede, to je samo sintaksa za takrat, ko želite, da odda od enega podatkovni tip v drugo. Lahko samo dal vrsto podatkov v oklepaji in imajo prav, da pred Vrednost, ki ste litje. Torej, tukaj, sem tako, plovec, ki jih plovec, da bi dobili float odgovor. In ja, bi to v Dejstvo natisnete 0,10. Ali to smiselno? LUCAS FREITAS: Torej tip litje je le pretvorbo iz ene vrste v drugo. Tako da lebdi 1 je dejansko 1.000. Ne ravno to, ampak to je nekaj s decimalni mesti ki je pravzaprav 1. Ali to smiselno? Ja? PUBLIKA: Kaj pa, če si float odgovor je enako 1,0, deljeno s 10? LAUREN CARVALHO: Ti si dejansko dogaja videti, da v naslednji diapozitiv. To je pravzaprav naša že naslednji diapozitiv. To je pravzaprav lepše od tip litje, mislim. Torej, ta dva sta plava samo s naravo dejstva, da imajo decimalki. Ja? PUBLIKA: Kaj pa, če si [neslišno] deljeno z 10? LAUREN CARVALHO: Pravzaprav float deljeno z notr dejansko vam daje plavajo, da bi delo v redu. Čakaj, to vsi razumeli? Ker je to bo res velik posel v Pset1, pravzaprav. Ja? PUBLIKA: Bi lahko hitro iti čez rdečem delu? LAUREN CARVALHO: rdeči del, ja. Lucas, hočeš? LUCAS FREITAS: OK. Torej, ne pozabite, da je odstotek je ograda. To je kot prazen prostor. Torej poskusimo razumeti vse da se tu dogaja. Odstotkov pomeni, da je ograda. Potem imate F, kar pomeni, da To Ograda je za likvidna sredstva. Zadnja stvar, ki jo imamo tukaj 0,2, kar pomeni, da hočem imeti dva decimalna mesta za likvidna sredstva. Če sem imel% F, ki jih bo dal kup decimalk. Tako da sem lahko samo dal 0,2 ali 0,1 ali 0,5, ali karkoli, in da se bo dal, da število decimalnih mest. Edina stvar je, da če si dal kot 0,100 ali .1,000, to ni dejansko bo dal vse tiste decimalna mesta ker nima dovolj pomnilnika so, da je natančnost. Še kakšno vprašanje? Ja? PUBLIKA: Torej plavajo tik omogoča da greš preko celih? LUCAS FREITAS: Da. LAUREN CARVALHO: No, float samo vam omogoča, da imate decimalki. LUCAS FREITAS: To samo pomeni, da vam Zdaj lahko decimalnih števil. PUBLIKA: Zakaj bi se kdaj uporabiti cela? LUCAS FREITAS: Zakaj bi Uporabljate cela? Mogoče, če šteješ od 0 do 10, želite dejansko uporabiti celo število. Vam ni treba uporabiti float. V nekaterih primerih, ki jih ne do tega, da - LAUREN CARVALHO: Morda Ne želim decimalke. LUCAS FREITAS: Morda ne boste želite uporabiti float. LAUREN CARVALHO: Druga stvar je, ne pozabite, tako dal plovec in int da 32 bitov, da jih shranite, in morda ne želite izgubljati bitov na decimalna mesta natančno. LUCAS FREITAS: Ja. Tako kot je, samo mislim o tem. Imate 32 bitov za oba int in float. Za notr, vsi ti 32 bitov pojdite na celo število del. Če uporabljate plovec z 32 bitov, vas , del, ki se uporablja ta spomin za številko, za celo število in drugi del, ki se uporablja za decimalna mesta natančno. Torej to pomeni, da ne more priti do Zelo veliko število s plovci, ker float je že z veliko pomnilnik za decimalni mesti. Ja? PUBLIKA: To je prvi odgovor, Kaj točno je to delaš? Je nastavitvijo vrednosti float enakega na to ogrado, da, da lahko jo odpokliče v naslednjo vrstico? Piše float odgovor. LUCAS FREITAS: Ja. Torej, float odgovor pomeni, da ste dobili zdaj malo vedro v pomnilniku, ki ima plovec, in to se dogaja da se imenuje odgovor. Torej, to je tisto, float odgovor ne. In potem pravijo, da v notranjosti to, da boš dal Rezultat tega. Torej boš naredil 1,0 deljeno s 10.0, boste dobili 0,1, nato pa si dal da znotraj odgovor. LAUREN CARVALHO: Torej, v eni vrstici, smo razglasitvi in ​​inicializacija ta plovec imenovano odgovor. LUCAS FREITAS: Zanimivo je, čeprav to je samo ena vrstica, to je početje več operacij. To je samo način C najem ste uporabili manj kode. To je isto, kot ternarnem operater, kako lahko preprosto storite [Neslišno] v eni vrstici. To je pravzaprav počne isto, kot početje float odgovor, podpičjem in potem odgovor enak, ampak namesto kar si naredil dve liniji za to, to je kot bližnjico. Ja? PUBLIKA: Torej, če to drži, da bi bilo 0,10? LUCAS FREITAS: Da. Ja? PUBLIKA: Je odgovoriti pravzaprav kodo, ali je to samo ime? LAUREN CARVALHO: Ta je dejansko kodo. To je tisto, kar bomo poimenovati našo spremenljivko. PUBLIKA: Torej je to samo Ime [neslišno]. LAUREN CARVALHO: Ja. Lahko bi rekel, float x enak 1,0. LUCAS FREITAS: Stvar je v tem, da ime spremenljivke nekaj, kar boste uporabili. To je pomembno za vas. Za pravega programa, edina stvar, da se zadeve vrednost, ki jo ima znotraj vedra. Razlog, zakaj imate spremenljivk in Imena spremenljivk je, da bi vedel kaj ste se ukvarjajo z, kot so kakšne podatke si dostop naenkrat. Ampak za kodo samo, če pokličete je odgovoriti na vprašanje, ali ali kaj podobnega, precej, to ni važno. Ni važno. Dokler ste dosledni pri vsaki Pojav ga zato jo imenujemo nekaj drugega. Ja? PUBLIKA: Ali spremenljivke presegajo funkcijo? Všeč mi je, če ste bili, da ustvarite nosilec [Neslišno], bi si [Neslišno] spet odgovoriti? LAUREN CARVALHO: Ne PUBLIKA: [neslišno] LAUREN CARVALHO: Ne Da bi bila zunaj področja to spremenljivko. In pravzaprav, da je nekako Zanimivo, ker ko imamo stvari, kot je zank ali jih, če pogoji, če se ugotovi, spremenljivko v drugem nizu zavitimi oklepaji, res obstaja samo v teh zavitih oklepajih. PUBLIKA: Še zadnja opomba o so [neslišno] boje. Zakaj bi si kdaj želeli uporabiti Ints? To je bolj opomba kot karkoli, vendar je računalnik bistveno boljše pri ravnanju Ints kot je na plovci rokovanje. To je kot da bi z Obseg hitreje. Torej, če smo le ravna samo plava, Vse bi bilo veliko počasneje. LAUREN CARVALHO: Pravzaprav se zdi, da bo problem s plovci. LUCAS FREITAS: Vrsta razlog za , da si lahko zamislite, kako je v binarno lahko predstavljata število s postavitvijo 0 in 1 je. LAUREN CARVALHO: To je Naslednja stvar. LUCAS FREITAS: OK. Super. LAUREN CARVALHO: Just držite to misel. LUCAS FREITAS: OK, bom vam povem kasneje. LAUREN CARVALHO: Preden smo prišli do česa Lucas je samo rekel, upravljavec prednost. To je zdrava pamet. Vi ste to naredili dovolj. Torej, samo če je nekaj v oklepaju, se bo to zgodilo prvič. To množenje ima prednost preko tega odštevanje, take stvari. Torej v bistvu, samo ali kdo želijo Povej mi, kaj številka ena dejansko ovrednoten? PUBLIKA: 27. LAUREN CARVALHO: 27? Ja. LUCAS FREITAS: Naj navedem bonboni za ljudi. LAUREN CARVALHO: V redu. Kaj pa številka dve? Kaj pa številka dve? PUBLIKA: 22. LAUREN CARVALHO: 22, ja. Ne vem, kdo je dobil to. Številka tri? PUBLIKA: 10. LAUREN CARVALHO: 10, ja. Cool. Torej modulu. Lucas, hočeš, da pojasni modulu? LUCAS FREITAS: Modul je ta operator da je dejansko zelo uporaben za kup težav. Če naredim 55 modulu 10, kar počne To recimo, da želim deljenje 55 z 10. Kaj dobim? Zdi se mi tako kot če sem v resnici samo gre delitev, kar je prvič, da sem dobil celo število? PUBLIKA: 5. LUCAS FREITAS: 5. In potem preostanek 5, kajne? Tako da je kot 5-krat 10 plus 5. V bistvu, kaj modulu ni, da poskuša delimo to število s to eno, in se vidi, kaj je preostanek divizije. LAUREN CARVALHO: Tako je prav vrne preostanek. Torej, številka ena je, kaj? 5. Številka dve? PUBLIKA: 3. LAUREN CARVALHO: 3. Številka tri? 0. In štiri 1. Točno tako. LUCAS FREITAS: Enostavno, kajne? LAUREN CARVALHO: Zakaj ne preskočimo to samo zato, ker ne bomo res morali čas, in ljudje se zdi, da razumem. Torej, tukaj je tisto, kar je bil Lucas pravkar govoril. LUCAS FREITAS: Še en razlog, zakaj sem bi uporaba Ints namesto plovci je da plava zelo nenatančno. In zakaj so nenatančno? David je dejal, da predstavljajo celo število, na primer, bomo uporabili 0 in 1 je, kajne? In potem si v bistvu ne razmnoževanje, storiti vse tiste, Operacije vedeti, kaj decimalno število imate namesto binarno. Kaj se bo zdaj zgodilo, če bom poskusil postaviti decimalna mesta? Pravzaprav, na primer, če ima število kot 3,33333? Zdi se mi, 10. nad 3. Kako bom za shranjevanje vseh 3 je, da imam potem? To je res težko, kajne? Ne, ne moreš samo povedati, računalnik, hej, imam 3, in potem pa vam, da za vedno. Pravzaprav računalnik ne dovolj pameten za to. Tako da v bistvu vse računalnik počne, je da poskuša dati čim več številk kot da lahko do pomnilnika, ki ga imajo. Torej, recimo, da se dogaja, da pravijo 3,3333, in to je to. Tako da ni sposobna dejansko izraziti natančno tisto, da plovec. LAUREN CARVALHO: Imamo končno število bitov, kar pomeni, da ni Vsako decimalno število se bo možnost, da se natančno zastopana. Zato v tem primeru, če smo tiskanje 0.1, zdaj sva tiskanje od 20 prostih mest. LUCAS FREITAS: Tako kot sem povedal, vi, bi si dal poljubno število. Ampak, če si naredil na dveh mestih, ki ste jo dobili 0,10, če pa si dal 20 krajih, se dogaja, da vam pokažem kup o je zato, ker je to tisto, kar si lahko postavite v spominu, kajne? Ampak tukaj, do 0, in se potem samo za postaviti kup naključnih števil. To je nekako tako kot nekateri - LAUREN CARVALHO: To je zato, ker smo ne more predstavljati te decimalke Ravno s številom bitov imamo. LUCAS FREITAS: In potem Računalnik je v bistvu vam daje več smeti. To dejansko ni vrednost števila. PUBLIKA: To je tako blizu, kot je mogoče dobiti [neslišno] uporabo [neslišno]. LAUREN CARVALHO: Torej vpletenosti to je, da recimo, da namesto čemer 0.100014, karkoli, Kaj pa, če je bil 0,0999 - No, v redu. Dajmo se pretvarjati, da je dejanski odgovor to je 0,9999999. To je zelo blizu 1, vendar to ni ravno 1. To je 0,99999. To pomeni, da če vzamem, da je 0.999, in sem jo odda na notr, dobim 0. Ne dobim 1. LUCAS FREITAS: Ker ne pozabite, litje iz float int, ki ste jo pravkar prezreti vse decimalki. Pravkar ste jih ignorirati. Ni take stvari kot zaokroževanja ne ali teče navzdol, ko typecast. Pravzaprav je to funkcija, ki ne zaokroževanja, ki je zelo pomembna, vendar si mislim, da ko vam Typecasting, to je samo bo izbrisati vse. Torej, tudi če imate 0,99999, gre samo dal 0, če typecast [Neslišno] število. LAUREN CARVALHO: Torej, samo se res zavedamo za plavajočo vejico v natančnosti, še posebej, ko začnete uporabiti plovci v Pset1. Ampak sprehod skozi smeli vas opozori, da kot dobro. LUCAS FREITAS: In pravzaprav je res trd, na primer, če sem float odgovor 1 je enaka 1,0 preko 10, nato pa float odgovor 2 enaka 10,0 nad 100,0. So isto številko, kajne? 0.1, kajne? 1. čez 10 ali 10 več kot 100. Ampak zdaj, če sem poskusil, da vidim enakosti, kot če odgovor 1 je enako odgovoriti 2, Morda je to dejansko ne bo da je ista stvar. Torej boje so nekako tako. Oni so kot delaš enako.