LUCAS Freitas: Sawa, mimi nadhani sasa tuko hai. Karibu CS50 Supersection. Sisi ni chini ya starehe. Jina langu ni Lucas Freitas. Mimi ni mmoja CS50 Mkuu TFS. Hii ni Lauren. LAUREN Carvalho: Hi, mimi nina Lauren. Mimi pia Mkuu TF kwa CS50. LUCAS Freitas: Leo tunakwenda tu kutoa picha ya nini wote guys wamejifunza katika wiki moja, hopefully kukupa wazuri maana nini unapaswa kujua kwa kuweka tatizo moja. Michache tu matangazo. Awali ya yote, saa za ofisi. Ofisi ya masaa yanayotokea kuanzia Jumatatu Alhamisi katika nyumba tofauti katika ANNENBERG kila siku. Wao ni rasilimali nzuri sana kwa ajili yenu guys kuja na kuuliza maswali, na kuzungumza na TFS, na hata fedha za mawazo na wanafunzi wengine. Hivyo kuwa na uhakika kutumia rasilimali kwamba katika neema yako. Jambo la pili ni CS50 appliance. Kwa mwisho [inaudible] nyie hawakuwa na kwa kweli na appliance. Wewe tu alifanya kila kitu katika kompyuta yako binafsi. Lakini kwa tatizo hili, kwa kweli kuwa na kuwa na mashine virtual, hivyo kuwa na uhakika wa kushusha CS50 Appliance na kuweka it up. Jambo la tatu na ni kuwa na uhakika wa kuanza kuweka tatizo ASAP tu kwa sababu ni rahisi kupata kusaidia wakati uko katika mwanzo wa wiki. Sababu watu huwa na kusubiri hadi pili mwisho kuanza kuweka tatizo, na kisha kwenda masaa ya ofisi, na kuna mengi ya watu. Ambapo kama wewe kwenda juu ya Jumatatu, utaenda kuona kwamba unaweza kuzungumza na TFS pretty much kwa usiku mzima, na wao wanaenda kuwa zaidi ya furaha ya kukusaidia. LAUREN Carvalho: Je, mimi tu kuacha kwa moja tu ya pili? Ina kila mtu kuwa na uwezo wa kushusha CS50 Appliance? Je, watu walijaribu? LUCAS Freitas: Kwa shusha, na njia, unaweza kupata maelekezo katika cs50.net/appliance. LAUREN Carvalho: Haki. Na haina kuchukua muda kidogo kwa ajili yetu admins sys kupata wewe leseni muhimu, hivyo ishara kwa ajili ya bure kesi ya kwanza. Kwa njia hiyo itabidi kwa muda wa siku 30, na kisha kusubiri kwa ajili ya muhimu leseni yako ambayo inapaswa kuwapa ninyi kwa mwaka. LUCAS Freitas: Awali ya yote, hebu kuzungumza kidogo kuhusu CS50 appliance. CS50 Appliance ni kweli virtual mashine ya kwamba utaenda kukimbia katika kompyuta yako mwenyewe ambayo ni kimsingi mbio kompyuta nyingine ndani ya kompyuta yako mwenyewe. Ambayo ni pretty cool. Na kwa kweli ni kutumika kila mahali. Watu ambao kwa tech kujua kwamba hii ni kutumika wakati wote. wewe? Unaweza kuwa na kompyuta nyingi katika moja ya kifaa. Hebu kweli kuangalia katika appliance. Baada ya kwenda kwa Appliance baada ya kusajili, wewe ni kwenda na kuweka jina lako na kuingia kwenye Harvard ili tuweze kupata wote waliosajiliwa. Wewe kwenda kuona kimsingi tu wallpaper, na kisha Nyumbani na Trash, na kisha icons haya kidogo. Icons hii tatu ni kweli wengi mambo muhimu ambayo unaweza kuwa katika Appliance yako. Wa kwanza ni gedit, ambayo ni Nakala mhariri, kama Notepad au kama aina yoyote ya mhariri wa maandishi. Ni jambo tu kwamba sisi kutumia kuandika kanuni na kisha kufanya mambo kwa hayo. Jambo la pili kwamba sisi na hapa ni Chrome. Hivyo kama unahitaji kutumia internet katika Appliance, kwamba nini unaweza kutumia. Jambo la tatu na ni terminal, ambayo ni kweli tamu sana. Watu wa kawaida ni aina ya hofu ya terminal kwa sababu ni hii sana umri wa maombi fashioned ambayo wewe tu kimsingi aina kila kitu kwa keyboard yako. Kuna mengi ya mwingiliano na panya yako. Lakini kwa kweli terminal anafanya mambo mazuri sana. Awali ya yote, hebu tu kwenda kwa njia ya baadhi ya amri kwamba wanaweza kutumia katika terminal. LAUREN Carvalho: Na kujisikia huru kuacha sisi kama una maswali yoyote. LUCAS Freitas: Yeah. Hivyo amri ya kwanza kwamba tuna kwa terminal ni ls. ls kimsingi ina maana orodha kila kitu, yote files na wakurugenzi wote, kwamba mimi na mahali kwamba mimi niko katika. Basi, ikiwa mimi kufanya ls hapa, mimi nina kwenda kuona kwamba mimi na baadhi ya directories. Nina desktop, downloads, magogo, na VHOSTs. Hao wamo katika bluu kwa sababu wao ni directories wote. Kisha una baadhi files nyingine. Wewe kama hello na hello.c, ambayo ni files tu, na wao uko katika rangi tofauti. Hivyo hii ni amri ya muhimu sana tu unaweza kuona nini ni files na directories kwamba una katika saraka ya kwamba uko katika katika terminal. Baada ya kuona jharvard @ appliance na kisha ishara kidogo huko, tilde, kwamba tu ina maana kwamba hiyo ni directory kwamba wewe ni wakati huu. LAUREN Carvalho: Hivyo kuandika ls ni karibu kama kubonyeza folder kwamba ni waliotajwa hapo, katika inaonyesha ni ninyi wote wa bidhaa hiyo ni ndani ya folder hiyo. Watazamaji: Je, kuna maandishi baada ya hello.c? LAUREN Carvalho: Oh, unaweza si kuona kwamba, kwa sababu ni rangi ya bluu. LUCAS Freitas: Ni anasema magogo na VHOSTs. LAUREN Carvalho: Wale ni tu folders nyingine. Samahani, ni kweli vigumu kuona. Labda kama sisi akageuka mbali taa? Colton, unataka kujaribu na kupata kubadili mwanga? Pole juu ya hilo. Sikuweza kufikiri juu yake. LUCAS Freitas: Lakini ni kimsingi - yeah, kama unaweza - LAUREN Carvalho: Zoom katika screen yako. LUCAS Freitas: Mimi si na kwamba kipengele. LAUREN Carvalho: [inaudible]. OK. Naam, kuna tu mengi ya asili mwanga katika chumba huu pia. LUCAS Freitas: Hebu kudhani tu kwamba kuna directories wengine wawili huko. LAUREN Carvalho: Just kubeba na sisi. Hii ni sehemu tu kwamba wewe utakuwa kuwa na kuangalia terminal. LUCAS Freitas: Amri ya pili ni kimsingi labda unataka kuandaa files yako - kwa mfano, faili yako yote C katika moja directory-lakini huna directory tu kwa ajili ya C files bado. Unaweza kimsingi kuunda saraka kutumia terminal kama vile, ambayo ni kitu kimoja kama haki kubonyeza na kusema New Folder. amri ni kufanya directory, ambayo ni mkdir, hivyo kimsingi "kufanya" na "Directory." Na kisha unaweza kuweka Jina la directory. Hebu kusema kwamba nilitaka kuitwa, Sijui, hebu sema pset1 kufanya hii, mimi tu kuundwa directory. Hebu tu kuangalia kwamba ni huko. Basi, ikiwa mimi kufanya ls, na sasa naona magogo, na kisha pset1, na kisha VHOSTs. Hivyo nina directory mpya huko. Na kisha baada ya kuwa na directory mpya, labda unataka navigate ndani yake, hivyo amri ijayo cd hii, ambayo tu kimsingi ina maana kwenda directory maalum. Basi, ikiwa mimi nataka kwenda pset1, Naweza tu kufanya cd pset1. LAUREN Carvalho: cd anasimama kwa ajili ya mabadiliko directory, [inaudible] kwa uwezo kukumbuka kwamba. LUCAS Freitas: Na sasa unaweza kuona kwamba badala ya kuwa jharvard tu appliance, mimi jharvard appliance, na kisha pset1, kwa sababu ni kuonyesha nami pale nilipo katika kompyuta hii. Sasa kama nataka kwenda nyuma ya directory kwamba alikuwa kabla ya hii moja, mimi unaweza kufanya cd dot dot, ambayo ina maana ya kwenda kwa directory kwamba nilikuwa kabla, kama mzazi wa hii directory, kimsingi. Na sasa naona kwamba mimi nina nyuma jharvard. Jambo la pili kwamba siwezi kufanya hivyo ni rm, ambayo ni kuondoa faili. Kwa mfano, hebu kwanza kufanya ls kuona nini nina hapa. Nina hello na hello.c. Hebu kusema kwamba nataka kuondoa yao. Mimi siwezi kufanya rm hello. Ni kwenda kusema "kuondoa faili ya mara kwa mara hujambo? "Na mimi kusema" ndiyo. "Na sasa kama mimi kufanya ls, mimi kuona kwamba ni si huko tena. Kama mimi kujaribu kutumia rm kwa directory, ingawa, si kwenda basi wewe kufanya kitu chochote. Ni kwenda kusema, hey, wewe hawezi kuondoa directory. Hivyo tuna hii wengine kuja aitwaye rmdir, ambayo tu kimsingi ina maana kuondoa directory. Siwezi, kwa mfano, kuondoa pset1. Na kama mimi kufanya ls, mimi si na tena. Maswali yoyote kuhusu hili? No? Yeah? Watazamaji: Je, ni muhimu kwamba kuondoka nafasi baada ya - wakati wowote kuanza kuandika kitu katika? LUCAS Freitas: Yeah. Kama mimi kufanya kama cd na directory, Mimi na kuweka nafasi. Nini nafasi ni wewe kuzungumza juu? LAUREN Carvalho: nafasi kati ya cd na [inaudible]. LUCAS Freitas: Yeah, itabidi kuweka nafasi kwa sababu cd ni amri, na kisha kamba ya pili ambayo wewe aina kimsingi ni directory. Hivyo ni kama hoja. Yeah? Watazamaji: Wakati orodha, wale wote ni directories mbalimbali, right? LUCAS Freitas: Yeah, wao ni katika directory. Watazamaji: ni tofauti gani kati ya directories? LUCAS Freitas: Wao ni tu folders tofauti. Directory ni folder katika kompyuta yako. Watazamaji: Open folder. LUCAS Freitas: Yeah, ni tu folder wazi. LAUREN Carvalho: Zaidi ya hapa, wale kwamba ni katika bluu ni halisi directories kwamba unaweza kupata ndani na kisha kuona rundo ya mambo ambayo ni ndani ya kwamba, ambayo ni bahati mbaya kwa sababu huwezi kweli kusoma wale walio katika bluu. Na wale katika nyeupe ni files tu kwamba ni katika orodha ya sasa. LUCAS Freitas: directories Hivyo ni folders. wale wengine ni files. Watazamaji: Nini amri upya au kwa wazi ni? LUCAS Freitas: Kwa wazi? LAUREN Carvalho: Kwa wazi? LUCAS Freitas: Nadhani ni "wazi." Yeah. Hivyo tu aina wazi kama screen yako mno messy. Maswali yoyote mengine? Na wewe kujifunza kundi la nyingine amri tu kiasili wakati wa muhula kwa sababu wao ni muhimu sana. Hivyo sasa hebu majadiliano juu ya kuandaa. Kuongelea pseudocode na chanzo kanuni na kitu code. Na kuna mengi ya codes, na labda nyie ni kuchanganyikiwa kuhusu hilo. Hebu majadiliano kidogo kuhusu nini hutokea wakati wewe ni kuandika mpango, na kukusanya yake, na inakuwa kutekelezwa file. Wale wote ni maneno kwamba guys pengine habari, na labda wewe si uhakika ni nini kinaendelea. Hebu sema, kwa mfano, kwamba mimi nataka kuandika mpango kwamba anasema "hello." The Jambo la kwanza kwamba anakuja katika akili yako ni wewe aina ya kujaribu kufikiria jinsi wewe ni kwenda kufanya hivyo katika akili yako, na wewe pengine kufikiri kwa Kiingereza au baadhi lugha nyingine, kama asili lugha, pengine. Na kisha unafikiri, vizuri, kama mimi nataka, kwa mfano, kuandika mpango kwamba anasema "hello," Ningependa kuanza mpango, Nami magazeti hello, na kisha mimi kuacha mpango. Hii ni pseudocode. Hii ni tu kimsingi wewe ni kujaribu kuja na mlolongo wa matukio kwamba wewe ni kwenda kufanya kuwa na uwezo wa kuandika mpango. Kisha una chanzo kanuni, na chanzo kanuni hana hasa kuwa katika C. Tunazungumza kuhusu chanzo kanuni katika C kwa sababu hiyo ni lugha sisi ni kujifunza, lakini bila shaka code inaweza kuwa pretty much yoyote lugha ya programu kwamba wewe. Baadaye katika muhula, wewe kwenda kujifunza lugha nyingine. Hiyo pia chanzo code. Kwa mfano, hapa, hii ni chanzo yangu , na kisha mimi nina ikiwa ni pamoja na maktaba, na basi mimi kuanza kuu, na kisha mimi magazeti. Na Laura ni kwenda kuongea kidogo kidogo kuhusu haya yote. Hivyo hii ni code chanzo. Na ni nini kitu kanuni? kitu ni kundi la zeros na ndio, kimsingi. Nini kinatokea ni wewe awali na pseudocode, ambayo yote ni katika lugha ya Kiingereza. Na I mean, wewe kuelewa. Pengine rafiki yako kuelewa yake, na watu wengi ingekuwa kuelewa wazo. Lakini kompyuta ni kweli bubu, na wao hawaelewi Kiingereza, hivyo kuwa kutafsiri kwamba ndani ya kitu, kawaida kutafsiriwa katika baadhi lugha ya programu. Na unaweza kufikiria programu lugha kama aina ya kama lugha kumweleza kompyuta yako jinsi kuzungumza na kuelewa. Wewe ni kimsingi kuandika kitu katika lugha kwamba wote wako na kompyuta kuelewa. Hiyo ni code chanzo. Hivyo kwenda fomu pseudocode na chanzo code, ni juu yako. Ni kimsingi unafanya programu yako. Lakini tatizo ni kwamba kompyuta hana hata kuelewa lugha ya programu. Ni haelewi chanzo code wakati wote. Ni kweli anaelewa tu zeros na ndio. Hivyo tuna kitu uchawi sana hii inayoitwa compiler, ambayo kimsingi ni kwenda kupata yaliitwa kwamba aliandika katika lugha wewe na kompyuta yako kusema, na sasa uko kwenda kubadilisha kwamba katika zeros na ndio. Hivyo kimsingi nini compiler gani ni anapata chanzo code, katika kesi hii C, ni kwenda kubadilisha ndani ya zeroes na wale ambao kompyuta anaelewa na wanaweza kufanya kutekelezwa file nje ya hiyo. Je, hiyo mantiki? Unaweza kufikiri tu ya mkusanyaji kama baadhi ya aina ya translator kwamba ni kusaidia kuelezea kwa kompyuta nini hasa ni zinatakiwa kufanya. Lakini jinsi gani mimi kukusanya. Hebu kwenda nyuma ya Appliance, na hebu kusema kwamba mimi nina kufanya mpango huo. Kwanza mimi nina kwenda kuunda saraka hapa, na mimi nina kwenda kuwaita ni "Mazoezi." Sasa mimi nina kwenda navigate kwa directory, hivyo cd mazoezi. Sasa mimi nina ndani ya mazoezi. Sasa nataka kuanza gedit, hivyo ni jinsi gani mimi kufanya hivyo? Naweza ama bonyeza hapa, au mimi siwezi tu literally aina ya "gedit," na ni kwenda kufungua kwa ajili yangu. Sasa mimi nina kwenda aina mpango wangu, hivyo hasa kile aliandika katika slide. Mimi kutangaza maktaba. Mimi nina kufanya int kuu, ni batili. Na sasa mimi nina kufanya printf, hello. Sasa mimi nina kwenda kwa kuokoa hii. Napenda kuweka katika mazoezi, na Mimi nina kwenda kuwaita hello.c hii. Hivyo sasa ni kuokolewa. Kama mimi nataka kukusanya ni, mimi kwa kweli unaweza kufanya hivyo katika maeneo mawili tofauti. Mimi unaweza ama kufanya hivyo katika dirisha terminal, hivyo hii moja kubwa, au unaweza kutumia gedit kwamba kweli ina terminal dirisha hapa. Hivyo unaweza conveniently sana tu kufanya code yako, na kisha unaweza aina tu chochote hapa, na kujaribu kukusanya yake. Hivyo ni jinsi gani mimi kukusanya kanuni? njia rahisi ya kwamba sisi ni kwa kutumia kufanya, ambayo ni kazi ambayo kimsingi ni kwenda kukusanya code yako. Wewe tu na kusema kufanya hello, hivyo "Kufanya" na jina ya mpango huo. Oops. Hii ni Awkward. LAUREN Carvalho: Je, unaweza [inaudible]? LUCAS Freitas: Sorry. Sikuwa ila ni katika directory ya haki. Kuja kufanya mazoezi, na sasa ila ni kama hello.c. Mimi nina sorry. Sasa ni kuokolewa. Napenda tu kufanya ls na kuwa na kuhakikisha kwamba ni hapa. Sawa, sasa ni hapa. Hivyo sasa kama mimi kufanya kufanya hello, ni mtemi mengi ya mambo, lakini basi ni tu anatoa me line nyingine kwa ajili ya terminal, ambayo ina maana kwamba ilikuwa na mafanikio. Hivyo sasa kama mimi kufanya ls tena, mimi kwa kweli kuona faili hii katika kijani, ambayo ni kutekelezwa file. Na kisha kama nataka kukimbia, yote Mimi kufanya ni dot slash hello. Ni kwenda kusema hello haki hapa, hivyo ni nini hasa mimi nina kuuliza kwa. Kuna njia moja zaidi wa kuandaa, ambayo ni kutumia Clang. Clang ni compiler kwamba tuna, na ni kidogo verbose zaidi kwa kukusanya yake. Lakini ni kazi tu kama pia. Basi, ikiwa mimi kufanya Clang, na kisha-o, na kisha jina kwamba mimi nataka kutoa kwa file kutekelezwa, hivyo hebu sema "Hello." Na kisha faili kwamba nataka kukusanya, hello.c. Ni pia kwenda kukusanya. Na una faili hapa, na Naweza tu nitafanya hivyo pia. Hivyo wote wawili kazi. Je, hiyo mantiki? Maswali yoyote? Watazamaji: Je, unaweza kuvuta katika kidogo? LUCAS Freitas: Sorry? Watazamaji: Zoom katika? LAUREN Carvalho: Nadhani unaweza tu amri plus. LUCAS Freitas: Amri nini? LAUREN Carvalho: amri plus. LUCAS Freitas: Hapana LAUREN Carvalho: Oh, si kwamba kwenda kufanya kazi kwa sababu - ni kwa sababu sisi kuweka azimio kwa jambo hili. LUCAS Freitas: Mimi si nadhani tunaweza zoom in Yeah, hatuwezi kukuza. Je, una swali mwingine? Sorry. Watazamaji: Je, unaweza kurudia Clang? LUCAS Freitas: Clang? Clang ni kitu kimoja kama kufanya, lakini Tofauti ni kwamba kwanza mimi nina kwenda kuandika Clang, ambayo ni amri, basi mimi nina kwenda kufanya -0, kila, ambayo ni kile tu tunakwenda kujifunza baadaye kama bendera. Hivyo kufikiri tu kwamba daima na kuweka-o. Na kisha kwanza, wewe ni kwenda kuweka jina la faili executable, kimsingi file kwamba wewe ni kwenda kujenga. Hivyo naweza kusema, kwa mfano, hello2 na kisha faili kwamba nataka kukusanya, ambayo ni. c file. Hivyo kwamba ni hello.c. Je, hiyo mantiki? Watazamaji: Hello nini? Hiyo ni nini? LUCAS Freitas: hello.c. Na kama mimi kukusanya, na kama Mimi ls, mimi pia na hello2 kwamba mimi tu ulioandaliwa. Na kama mimi kujaribu kuendesha, ni kwenda kwa kufanya hasa kitu kimoja kama hello, tu magazeti hello. Watazamaji: Jinsi kuja kwa ajili ya kufanya unaweza kuweka hello.c baada ya? LUCAS Freitas: Katika kufanya, wewe hawana kuweka c.. Katika kufanya, wewe tu kusema jina ya mpango huo. Huna kusema. C. Lakini kwa Clang, unatakiwa. Watazamaji: Kwa Clang kufanya wewe pia kuwa na kuongeza [inaudible] LAUREN Carvalho: Yeah. Hivyo pia kuwa na maktaba. LUCAS Freitas: Yeah, hiyo ni kitu sisi kwenda matumizi ya baadaye. Hiyo inaitwa kuunganisha, na nadhani tuko kwenda kuzungumza kuhusu suala hilo baadaye. Swali jingine? Watazamaji: Je, kuweka dot slash Clang? LUCAS Freitas: Hapana dot slash ni tu kufungua kutekelezwa file. Hivyo Clang, wewe tu kuandika "Clang," na basi kama unataka kufungua file kutekelezwa kwamba wewe tu ulioandaliwa, basi huna dot kufyeka na jina. Je, hiyo mantiki? Watazamaji: Kama ungekuwa na mabadiliko tu [Inaudible] hujambo dunia, je, na recompile yake? LUCAS Freitas: Yeah. kama nataka kusema, kwa mfano, "hello huko, "Naweza tu ila ni sasa, na mimi tu kukusanya tena. Hivyo basi mimi kufanya kufanya hello. Na kama mimi kufanya hello, ni kwenda kusema "hello huko." Hufanya akili? Maswali yoyote mengine? Watazamaji: Je, kuwa ni pamoja na kiwango I / O kuratibu kazi? LUCAS Freitas: Yeah. kiwango I / O ni kimsingi maktaba ambayo ina utekelezaji kwa printf. Ili jambo la haki juu ya juu ni pamoja na stdio. Hiyo ni pamoja na maktaba ambayo kimsingi ina rundo la mbalimbali zana ambayo unaweza kutumia. moja? Wao ni printf kuwa ni kazi kwamba kimsingi prints ujumbe kwa screen. Maswali yoyote mengine? No? OK. Hivyo sasa hebu majadiliano juu - LAUREN Carvalho: Hebu tu kwenda style mwongozo. Je, unataka tu kupata katika hapa? LUCAS Freitas: Hivyo sisi ni kwenda kuzungumza kuhusu style. LAUREN Carvalho: Oh, David hawakuwa kumaliza. OK. Mbona sisi kurudi style mwishoni mwa sana? Ni kweli imekuwa updated kama sisi kusema. LUCAS Freitas: Yeah. Basi njia kwa ajili ya Daudi kumaliza. LAUREN Carvalho: Je, sisi kubadili kweli? Hivyo natumaini kila mtu kuwa kufurahia Scratch. Kwa bahati mbaya, ni wakati wa kuondokana na hii - kwa bahati mbaya ni wakati wa kuondoka na hayo vitalu programu pretty kwenye C. Lakini kwa bahati, wote programu anajenga kwamba wameweza ikifanya kazi kwa katika Scratch ni moja kwa moja translatable kwa C, na sisi ni kwenda kuanza kujifunza kuhusu baadhi yao hivi sasa. Hebu majadiliano kwanza kuhusu hali ya katika maneno Boolean. Hii ni mbio juu ya hifadhi ya betri nguvu. LUCAS Freitas: Ni kwa jinsi gani kwamba si kazi? OK. Kwenda huko, mimi nina kwenda kupata - LAUREN Carvalho: Kwa hiyo hali ni muhimu kwa sababu wao kuruhusu sisi kuanzisha mantiki katika mipango yetu. Hapa ni mfano wa hali ya ndani ya C mpango. Hebu kumbuka jinsi hii - Hivyo kuzuia hali hii hapa, hii printf taarifa si kutekeleza isipokuwa hali ndani ya mabano, n zaidi 0, kutathmini kwa kweli. Sasa, wote wa hali ya ndani ya f kauli ni maneno Boolean, ambayo ina maana kwamba kuna ni chaguzi mbili tu. Wangeweza ama kutathmini kwa kweli, au wanaweza kutathmini kwa uongo. Hivyo hapa, hivyo hii hufanya akili, right? n zaidi ya 0, maana yake ni mazuri idadi, ambayo ina maana kwamba itakuwa magazeti nje "ilichukua idadi chanya." Kuna kura ya maneno Boolean ambayo inaweza kuunda hali na init taarifa. Tuna chini ya. Hii ni chini kuliko au sawa na. Hii ni funny [inaudible]. Kama unataka printf kutokea kama ni zaidi au sawa na 0, basi ungependa kuchagua hii. Hivyo sawa tu appends haki baada ya zaidi ya ishara. Sawa sawa, ambayo ni tofauti na ishara moja tu sawa, sawa sawa kwa kweli ina maana kwamba kila juu ya upande wa kushoto wa hii ni sawa na nini juu ya upande wa kulia wa hii ambapo ishara moja sawa ni nini? Ni ishara moja tu sawa nini? Kazi. LUCAS Freitas: Nani alisema kwamba? Ni kwamba pipi? Oh, no. Sorry. Sorry. Wewe wote kupata pipi. Oh, OK! Watu watatu kupata pipi! LAUREN Carvalho: Hivyo hii moja ya haki hapa ni bang operator kabla ya ishara sawa, hivyo kwamba ni si sawa na. Hivyo kama hii ilikuwa ndani ya hali yangu, mwili wa hali ya ingekuwa kutekeleza tu kama chochote katika kushoto ni si sawa kama nini juu ya haki. Mimi pia kuwa na haki mshangao uhakika. Kweli tutaweza kuona katika kipengele slide jinsi hii itakuwa kutumika. LUCAS Freitas: maswali yoyote? No? LAUREN Carvalho: Tunaweza kuchanganya haya Maneno Boolean kujenga zaidi nje masharti taarifa. Hivyo hapa, kama chochote juu ya kushoto upande wa baa mara mbili au chochote ni juu ya upande wa kulia wa baa mbili kutathmini kwa kweli, basi tutaweza magazeti nje batili. Na kisha chini hapa, kama chochote cha juu ya upande wa kushoto wa mbili ampersands na chochote juu ya haki mkono upande wa ampersands mbili kutathmini kwa kweli, basi tutaweza magazeti nje halali. baa mbili zinaitwa mantiki AU operator ampersands mbili ni aitwaye mantiki na operator. Ndiyo? Watazamaji: Je, wale tu kesi ya chini l's? LAUREN Carvalho: Hapana Wao ni kweli - unajua kuwepo kwa kuzorota, kama juu ya Return muhimu yako? Je, unaweza kuona kwamba? LUCAS Freitas: Ni kweli bar. LAUREN Carvalho: Ni kweli mbili tu baa. Watazamaji: Je, unaweza kutumia sawa sawa kwa masharti? LUCAS Freitas: Hapana Sisi ni kwenda kujifunza baadaye kitu fulani. LAUREN Carvalho: Kuna kazi kwamba unaweza kutumia. Lakini huna kwa wasiwasi kwamba bado tu. Nini kama mimi kutoa mpango huu namba 5? Nini magazeti nje? Watazamaji: [inaudible] halali. LAUREN Carvalho: Valid? Yeah. Sijui ambaye alipata hiyo. [Kicheko] LAUREN Carvalho: Hiyo ni aina ya inatisha [inaudible]. Watazamaji: Kwa hiyo mara mbili, na kwamba tu ina maana na? LAUREN Carvalho: Yeah. Hivyo namba 5 ni wote zaidi ya 0 na chini ya 100. Watazamaji: Kwa nini itakuwa ni moja? LAUREN Carvalho: One Ampersand ni kweli kitu tofauti, na ni bitwise operator, ambayo itabidi kujifunza kuhusu baadaye. Lakini ni kitu ambacho kwa kweli kazi na vipande vya namba fulani. LUCAS Freitas: Hebu fikiria hawana kuwa na wasiwasi kuhusu hilo kwa sasa. LAUREN Carvalho: Nadhani pengine ni kuja wiki ijayo. LUCAS Freitas: maswali mengine yoyote? No? LAUREN Carvalho: Hivyo tumeona kwamba ni kuzuia wanaweza kusimama peke yake, lakini inaweza pia kuwa paired na na mwingine block. Hivyo katika kesi hii, kama n ni zaidi ya 0, tunakwenda magazeti nje "Wewe ilichukua idadi chanya. "mwingine, maana kama ni 0 au kama ni chini ya ya 0, tunakwenda magazeti nje, "Wewe ilichukua namba hasi." Jambo la kuvutia hapa ni kwamba hawa ni ya kipekee ya kila mmoja. Kuna kamwe kwenda kuwa kesi ambayo hii na hii unaweza wote magazeti nje. Mimi nina uhakika kazi na ikiwa / mwingine sanduku katika Scratch, hivyo hii lazima kuwa na pretty ukoo. Ndiyo? Watazamaji: Je, tunahitaji nafasi kati ya int n sawa na GetInt basi nafasi katika kama taarifa? Kama sisi kutumia line [inaudible] LAUREN Carvalho: Oh, nafasi hapa? Watazamaji: Kama hiyo, lakini mara mbili nafasi. No, kwenda juu. Kwenda juu. LUCAS Freitas: Just line? Watazamaji: Yeah. LUCAS Freitas: Just line tupu? Watazamaji: Yeah. LAUREN Carvalho: Blank line? Hapana Hiyo ni jambo la Stylistic. LUCAS Freitas: Ni tu kama wakati mwingine wewe tu ruka baadhi ya mistari hivyo kwamba kanuni haina kuangalia kama kuzuia mkubwa wa maandishi. LAUREN Carvalho: Nadhani kile kilichotokea ni kwamba tulikuwa na maoni hapa, lakini mimi alichukua nje ili guys ingekuwa kufikiri juu ya code badala kuliko tu kusoma maoni yangu. Kwa ujumla, nafasi si kweli kuathiri njia ya mpango wako anaendesha. Ni zaidi ya kitu Stylistic. Na wakati tuna style mwongozo updated na tayari kwenda na mwisho wa supersection, tutaweza majadiliano juu ya kwamba zaidi. Kuna kitu kibaya na mpango huu, sawa? Kwa sababu 0 si kweli namba hasi. Basi hebu angalia kama tunaweza kurekebisha. Pengine unaweza kufikiria na hii anasema, sawa? Kama n, ni mkubwa kuliko 0, sisi magazeti, "Wewe ilichukua idadi chanya. "Kisha mwingine kama n ni chini ya 0, "Wewe ilichukua namba hasi. "mwingine," Wewe ilichukua 0. " Sasa jambo la kushangaza ni kwamba hii inaweza kwenda juu milele. Unaweza kuwa kama block, mwingine kama kuzuia, mwingine mwingine kama block, mwingine kama, mwingine kama, mwingine kama, mwingine, kimsingi kwa muda mrefu kama unataka. Na wakati ujenzi kama hii, haya yote ni kwenda kuwa kipekee ya kila mmoja. Ndiyo? Watazamaji: Basi kwa nini hawawezi wewe tu kutumia mwingine kama badala ya [inaudible]? LAUREN Carvalho: Katika kesi hiyo, ndiyo mimi inaweza kutumia mwingine, ikiwa na itakuwa faini kabisa kwa sababu hali ya wenyewe ni kipekee ya kila mmoja. Lakini kama hali walikuwa si ya kipekee ya kila mmoja, hii ingekuwa kuwalazimisha kamwe wote kutathmini, kama kwamba hufanya akili. Watazamaji: Katika kesi hiyo, tunaweza kiota pili kama katika kwanza kama? LAUREN Carvalho: Kama - nini maana? Watazamaji: Kama hali mbili hazitofautiani? LAUREN Carvalho: Kama hali hazitofautiani? Lakini unataka tu mmoja wao kukimbia? Watazamaji: Unataka tu kama badala ya mwingine. LAUREN Carvalho: Yeah. Kuna daima itakuwa kura ya njia ambazo unaweza kufanya hivyo. Unaweza dhahiri kiota yao. Na utaona katika slide baadaye kwamba unaweza kuwa na ikiwa nyingi, moja tu baada ya mwingine. Lakini hii ni njia ya mantiki kuandaa mtiririko wa programu yako. LUCAS Freitas: Na kuna moja zaidi kitu, ni kwamba wewe aliuliza juu ya kuweka kama na kisha mwingine kama. Hiyo kazi kikamilifu, lakini ni mbaya kubuni kwa sababu kimsingi kama wewe kuangalia kwanza ikiwa na taarifa kwamba idadi ni kubwa zaidi kuliko 0, wewe unaweza tu kumaliza mpango. Huwezi kuwa na kuangalia kama ni chini ya 0, sawa? Lakini kama huna kama ikiwa ni kwenda kuangalia zote mbili, wakati kama mimi kufanya kama mwingine ni, ni kwenda kuangalia kama ni zaidi ya 0. Kama ni, si kwenda hata kuangalia katika mistari mingine ya code. Hivyo ni kimsingi kuangalia ni kama mara mbili usiokuwa, hivyo ndiyo sababu sisi kufanya kama mwingine kama. Maswali yoyote mengine? Watazamaji: Hivyo utendaji ya mwingine kama ni sawa na kama ilikuwa ni kama? LAUREN Carvalho: Hapana Wewe ni kweli kwenda kuona katika ijayo yangu slide mfano ambayo unaweza kuwa tofauti. Katika kesi hiyo, ni karibu sawa. Hivyo hapa, tuna mfano wa nyingi kama kauli, na utendaji si sawa kama mimi alisema tu kama mwingine, kama mwingine, kama mwingine. Hebu tu kufikiri juu ya nini itakuwa magazeti nje kama mimi kuingia idadi 95 katika mpango huu. Watazamaji: [inaudible] LAUREN Carvalho: Na basi? Watazamaji: [inaudible] LAUREN Carvalho: Yeah. Hivyo katika kesi hii, hali hizo ni hazitofautiani ya kila mmoja. Na kwa sababu kuna kitu kuacha hali hii kutoka kutathmini kama hii moja tayari ina, wao ni tu wote kwenda magazeti nje. Hivyo ni jinsi gani mimi kurekebisha hili? Watazamaji: mwingine ikiwa? LAUREN Carvalho: Unaweza kutumia mwingine ikiwa. Mimi naweza kubadili ili haya, sawa? Kama mimi hii kwanza? Vizuri, kwa kweli, no. Hiyo si kazi kwa ajili ya 95. LUCAS Freitas: Hapana, tu mwingine ikiwa. LAUREN Carvalho: mwingine ikiwa ingekuwa fasta hii. Je, hiyo wazi juu ya fujo kati ya ikiwa na mwingine ikiwa? Watazamaji: Mimi nilitaka kuuliza, kama hakuwa kutumia mwingine kama, ingekuwa kuacha? LAUREN Carvalho: Haki. Hivyo tu hii ya kwanza. Kama mimi aliingia idadi 95, tu hii ingekuwa kuchapishwa, na kamwe ingekuwa aliendelea na mwingine. LUCAS Freitas: Just aina ya kufikiria ni kama hii kinatokea, kufanya hivyo. mwingine ni kama kama si, hundi kwa hii, na kisha kufanya hivyo. Hivyo kama wao uko wote pande zote mbili kipekee. Huwezi kupata katika mbili juu ya hayo. Watazamaji: Je, unaweza kutumia mantiki Na kwa ajili ya hali hiyo? LAUREN Carvalho: Yeah. Hiyo ni njia nyingine ambayo tunaweza fasta tatizo hili. Sisi ni inaweza kuwa defined kati, right? Ili niweze kuwa alisema kama n ni mkubwa ya 90 na chini ya - vizuri, mimi nadhani hii moja si kweli jambo, lakini hapa mimi naweza kuwa alisema kama n ni zaidi ya 80 na chini ya 90. Zaidi ya 70, chini ya 80. Hiyo ingekuwa pia kazi. [Kicheko] LUCAS Freitas: Yeye ni hofu. LAUREN Carvalho: Je, si kuwa na hofu. LUCAS Freitas: Siyo kwamba itakuwa sahihi. Ni kwamba tu ni usiokuwa na verbose. Kama katika sayansi ya kompyuta, mtu lazima kuwa rahisi kama inawezekana kwa muda mrefu kama una utendaji. Je, unataka pipi? Watazamaji: Je, si haja yake. LAUREN Carvalho: Wewe ni scaring kila mtu, Lucas. LUCAS Freitas: Sorry. LAUREN Carvalho: David pia alieleza haya kubadili kauli darasani. Kimsingi nini kinaendelea ni kubadili taarifa inachukua kutofautiana. Katika kesi hiyo, sisi ni kuchukua integer. Kama integer ni 1, tunakwenda magazeti sauti, "Wewe ilichukua ndogo idadi. "Kama integer ni 1," Wewe ilichukua namba kati. "Kama integer ni 3, "Wewe ilichukua high idadi. "Na mimi pia alikuwa na kesi ya default hapa chini, lakini siyo kuonyesha up, ambayo ni mbaya sana. Kimsingi, hii ni syntax mwingine. Tunaweza kuwa na kutekelezwa hii halisi kitu kimoja na kama na mwingine kama taarifa. Lakini wakati kuna kura ya mbalimbali masharti na kura ya mbalimbali tofauti juu ya nini unataka kufanya kwa ajili ya kila pembejeo, hii ni chaguo. Hivyo tu syntax vizuri kujua. Ndiyo? Watazamaji: Kwa nini kuna si backslash n katika moja ya kwanza? LAUREN Carvalho: Kwa huko juu? Hakuna backslash n huko kwa sababu GetInt - kama wewe kujaribu hii, utakuwa kukupa hii haraka. Nipe integer kati ya 1 na 3. Na kama mimi kuweka kuwepo kwa kuzorota n, ingekuwa kuchukua mimi mstari wa pili, lakini mimi tu aliwataka aina integer haki baada ya koloni. Unaweza kuweka kuwepo kwa kuzorota n. Siyo kubwa mpango huo. Yeah? Watazamaji: Kwa kanuni hii, hii ni kesi moja, ni kwamba kwa sababu ni kesi ya kwanza? Kwa sababu - LAUREN Carvalho: Hapana, hapana, hapana. Hivyo hii ni nipe integer kati ya 1 na 3. Kama n ni 1, mimi magazeti hii. Kama mimi ameomba kwa barua, mimi nilikuwa na alisema nipe barua kati ya A na C. Kisha itakuwa kesi A. Watazamaji: [inaudible]. kesi ingekuwa tu [inaudible] LAUREN Carvalho: Yeah, haki. Yeah? Watazamaji: Je, kama alitaka kuwa na zaidi wa kujieleza mahusiano? Hivyo badala ya kusema n sawa na 1, [inaudible] n ni zaidi ya 1 katika kesi ya kwanza? LAUREN Carvalho: Kwa kweli, kama mimi kufanya si kufafanua baadhi ya kesi hizi, hii ingekuwa kuwa kubeba chini. Hivyo kweli, labda hii si nini wewe kuuliza. LUCAS Freitas: Nadhani yeye ni kuuliza kama Kesi hiyo ilikuwa n zaidi 0, kesi chini ya 0. LAUREN Carvalho: Labda kubadili taarifa ni kweli unataka nini kutumia katika kesi hiyo. LUCAS Freitas: Kauli ya kubadili ni tu kwa ajili ya thamani, hivyo wewe ni kuangalia ya thamani ni kama hiki au kile. Hivyo unaweza si kweli kuweka masharti. Watazamaji: Je, kama mtu aina na [inaudible]? LAUREN Carvalho: Hiyo ingekuwa kesi yangu ya msingi, ambayo kwa bahati mbaya huwezi kuona. LUCAS Freitas: [inaudible] kuwafanya kuona. LAUREN Carvalho: Kwa kweli, unajua nini? Hebu tu kwenda kujifunza 50, na mimi kuvuta tu katika juu ya slides juu ya utafiti 50, kwa sababu hii ni annoying. Hivyo basi mimi kweli kwenda hali hiyo. Hii ni kwenda tu kuchukua muda kidogo. Sawa. Hiyo, mimi nina sorry. Angalau sasa tutaweza kuwa na uwezo wa kuona kila kitu bila kukata. Sawa. Hivyo kama wao kuweka katika 10, tunataka default hapa kwa kesi yangu ya msingi, na mimi ingekuwa tu magazeti batili kwa sababu mimi aliwataka kuingia integer kati ya 1 na 3. Maswali yoyote mengine? Yeah? Watazamaji: Hebu sema kwa kesi moja, kesi tatu, kusema alitaka kuwa wote kitu kimoja, hivyo ilichukua namba si kwamba idadi kati. Katika kesi hiyo, itakuwa ni redundant? Je, wewe tu mabadiliko ya asilia katika wote wao, au ingekuwa kuna baadhi ya redundancy? Je, kuna njia yoyote ya kuchanganya [Inaudible]? LAUREN Carvalho: Kuna njia ya kuchanganya yao, lakini naamini unaweza tu kuchanganya ndio karibu. Basi, ikiwa mimi haikufafanua kitu chochote kwa ajili ya kesi mbili, hii ingekuwa kuomba kesi zote mbili. Oh, kama mimi si kuweka kitu chochote kwa ajili ya kesi moja, hii itakuwa kuomba kwa wote kesi moja na mbili. Kama kwamba hufanya akili. Watazamaji: Je, unaweza kurudia kwamba moja? LUCAS Freitas: OK. Kama alivyofanya kimsingi, kama, una kitu kimoja, lakini huna kuweka kitu chochote hapa, utaweza kuwa ama kwa kesi moja au kesi mbili, kufanya hivyo. Haki? Na kuvunja hii ina maana kama kupata katika kesi hii, acha tu. Hivyo kwamba ni nini kuvunja maana yake. Basi, ikiwa mimi tu alifanya hivyo, ukiangalia, ni kesi moja, na ungependa tu kufanya hivyo. Kama ilivyokuwa mbili, itakuwa pia tu kuja hapa na kufanya hivyo. Watazamaji: Lakini unaweza kufanya hivyo? Kama kuna kitu kwa kesi mbili [inaudible] LAUREN Carvalho: Siamini unaweza kufanya hivyo. Sidhani unaweza ruka kote. Je, unaweza kufanya hivyo, Rob? Sidhani hivyo. Watazamaji: namba moja Hivyo tu unaweza kwenda baada ya kesi, sawa? Kuna hawezi kuwa kesi moja, comma, mbili? LUCAS Freitas: Hapana, huwezi. Wewe dhahiri hawawezi. LAUREN Carvalho: I mean, uhakika ni hii ni chaguo, na hii inaweza fit matumizi kesi yako, hivyo basi bila kutumia kama masharti. Watazamaji: Hivyo ni kwa nini unaweza kufanya hili? kubadili? LAUREN Carvalho: napenda kutumia hii kama una kuelezwa sana - kweli, Lucas, ni wewe kuzuia. LUCAS Freitas: Oh, sorry. LAUREN Carvalho: Kama una sana tabia kuelezwa kwamba unataka kwa kila pembejeo kila mmoja na, hii inaweza kuwa kidogo zaidi mafupi kuliko kuandika nje an kama taarifa kwa kila mmoja. Watazamaji: Nini maana kuvunja maana tena? LAUREN Carvalho: mapumziko ina maana ya kuacha. Kumbuka, kama sikuwa na mapumziko hii hapa, sisi ingekuwa tu kuanguka chini katika kesi ijayo. LUCAS Freitas: Break maana ya kupata nje ya taarifa kubadili. Kwa sababu kama ni 1, nataka kwa magazeti hii na kuondoka. Sitaki kuangalia kitu kingine chochote. Watazamaji: Hutaki magazeti kitu kingine chochote. LUCAS Freitas: Yeah. Kwa sababu ni pande kipekee. Watazamaji: Na hii haina kuendelea tu kesi ijayo kama kesi ya kwanza si kweli? Au gani mtihani kesi zote wakati huo huo? LUCAS Freitas: Hapana, hundi sequentially. Sequentially, yeah. Swali moja zaidi, basi sisi nimepata hoja juu ya ili tuweze kufunika kila kitu. Yeah? Watazamaji: Hivyo kwa ajili ya kesi, inaweza kuwa na amefanya kitu badala ya moja tu? Unaweza kuwapa mbalimbali? LUCAS Freitas: Hapana LAUREN Carvalho: sidhani unaweza kuwapa mbalimbali. LUCAS Freitas: Unaweza si wewe hawezi kuwapa mbalimbali. Watazamaji: kesi ni maalum [Inaudible]. LUCAS Freitas: Switch ni aina ya maadili. Unafanya mambo tofauti kulingana juu ya thamani, thamani maalum. Huwezi kufanya mbalimbali, huwezi kufanya kitu kingine chochote. Ni tu chombo mwingine kuona. LAUREN Carvalho: watu wengi hawana kutumia kubadili kauli sana katika CS50, lakini ni huko. Sawa. Hivyo jambo la pili tunakwenda kuzungumza kuhusu ni operator ternary. Hii ni aina nyingine ya masharti. Kimsingi nini kinaendelea hapa ni mimi nina kuuliza kwa integer, na kama n ni zaidi ya 100, mimi nina kwenda magazeti nje "Juu." Kama siyo, mimi nina kwenda kwa magazeti nje "chini." Kwa hiyo kile ni kufanya ni hali ni haki hapa katika mabano, na unaweza aina ya kufikiria swali kama mimi nina kuuliza kama hii ni kweli au la. Kama ni kweli, mimi nina kwenda kufanya hili kwanza kitu, na kama si kweli, mimi nina kwenda kufanya jambo hili pili. Maswali yoyote kuhusu ternary operator? LUCAS Freitas: Nataka tu kumbuka kutoka David ni kwamba wakati wowote na hali - LAUREN Carvalho: Nadhani Daudi kuangalia kupitia mkondo kuishi. LUCAS Freitas: Yeye anafanya maisha mkondo hivi sasa. Hivyo wakati wowote na hali, wewe ni zinatakiwa kuweka braces curly, tu kama sisi na katika kubadili taarifa hapa. Tuna braces curly hapa. Kwa maana kila hali, wewe ni wanatakiwa pia kuweka hiyo. LAUREN Carvalho: Utaona hii katika style mwongozo. Sisi si kweli kuwa style mwongozo hivi sasa. Nadhani Daudi bado kazi. LUCAS Freitas: Alisema kuwa ni kazi tu sasa. LAUREN Carvalho: Oh, ni kazi sasa? OK. Hivyo inaonekana mwaka huu katika style kuongoza, hata kama wewe tu na line moja, nimepata kuweka wale braces curly in Wewe si lazima haja ya kwa utendaji wa mpango. Na labda sisi lazima tu kuchukua mapumziko baada ya hali na kwenda moja kwa moja kwa style mwongozo wa wazi juu ya baadhi ya mambo haya? LUCAS Freitas: Yeah. Je, una swali? Watazamaji: Hapana, mimi itabidi kusubiri hata style mwongozo. Watazamaji: Unaweza kwenda nyuma kwa operator ternary? LAUREN Carvalho: ternary, ndiyo. LUCAS Freitas: ternary operator ni kimsingi taarifa kama mwingine, lakini badala ya kuwa na kuwa na mistari miwili ya kuangalia kama na kisha mwingine, wewe tu na line moja. Hivyo kimsingi kama nataka kutoa kamba thamani ya juu au chini, na mimi wanataka kufanya high ikiwa n ni zaidi ya 100 au chini kama ni kidogo, nini siwezi kufanya ni hii [inaudible] kamba ni kwenda kuwa, na kisha mimi kuuliza mpango n zaidi ya 100? Hivyo ndiyo sababu mimi na usemi huu katika mabano na kisha swali alama. Mimi nina kuuliza ni zaidi ya 100? Kama ni, ni kwenda kuwa juu. Kama siyo, ni kwenda kuwa ya chini. Hivyo kimsingi nini unafikiri ni kuuliza swali, hivyo kuweka katika mabano hali hiyo. Basi kuweka alama swali kwa sababu wewe ni kuuliza yake. Na kama hii ni kweli, ni kwenda kuwa katika thamani ya kwanza [inaudible] hapa. Kama siyo, mimi nina kwenda kuweka thamani kwamba ni baada ya koloni. Je, ni mantiki? Pia kitu ambacho ni kama chombo katika C lakini huna kwa hasa matumizi yake. Lakini watu CS kawaida kama kwamba kwa sababu tu anaokoa mistari. LAUREN Carvalho: Ni kifahari sana. Ni anafanya mengi katika kauli moja tu. Watazamaji: Kwa hiyo ishara asilimia ni chochote tu matokeo ya line uliopita? LAUREN Carvalho: Oh, samahani. Hii ishara asilimia ni kweli placeholder kwa hii s. Katika taarifa printf, nimepata hii kamba hapa, ambayo ni nini kinaendelea magazeti nje, lakini unaweza si tu kuweka hii s huko. Vinginevyo itakuwa magazeti nje s halisi. Hivyo sisi kuweka asilimia hapa kuweka nafasi hii uliofanyika kwa chochote inakuja baada ya comma. Hivyo kwa kamba, nimepata asilimia s. Kwa integer, asilimia i. Kwa kuelea, asilimia f. Utaona wale kama sisi kuona mifano zaidi. Lakini labda unapaswa kuzungumza kuhusu style mwongozo kwa muda kidogo, sasa kwamba ni up. LUCAS Freitas: Kama wewe kwenda cs50.net/style, wewe ni kwenda kuona style mwongozo. Kwa seti tatizo, alama yako ya tatizo kuweka inaundwa na upeo, ambayo kimsingi ina maana kama alivyofanya wote sehemu ya kuweka tatizo au kama wewe alijaribu kitu. Jambo la pili ni usahihi, ambayo njia ni mpango wako kufanya nini ilitakiwa kuwa kufanya, au gani na mende, au ni si kufanya nini ni zinatakiwa kufanya. Jambo la tatu ni ya kubuni, ambayo ina maana wewe ni utekelezaji wa vizuri hii, au ni wewe kutumia kauli ya lazima? Hivyo kwa mfano, kama unataka kurudia Idadi ya mara 10, ni wewe kuandika kwa kitanzi au ni wewe tu kufanya mara 10 taarifa hiyo, kufanya tu nakala na kuweka. Hivyo kubuni ni kwa ajili hiyo. Na hatimaye, una style. Sinema ni kama hukumu kama kanuni yako inaonekana someka na aina ya pretty. Ni tu kimsingi ina maana ni kanuni yako someka? Je, mtu mwingine ambaye alikuwa kuangalia ni code yako kuwa na uwezo wa kuelewa nini ni kufanya? Je, kuwa na maoni na kama? Hebu majadiliano juu ya style kwamba wewe ni wanatakiwa kutumia. Jambo la kwanza ni maoni. Maoni ni muhimu sana kwa ajili yako code kwa sababu wakati mwingine ni kufanya mpango wako, na kujua hasa ni nini unataka kufanya hivyo wewe tu kuanza coding, tu aina ya juu rundo la C. Lakini kama mtu mwingine ni kutafuta ni uko kanuni, wao siyo kwenda kuwa na uwezo wa kuelewa ni kwa sababu hawajui mambo ambayo ni katika kichwa yako, kama pesudocode, hivyo labda wao kuwa na wakati mgumu kuelewa nini code ni kufanya. Hivyo maoni ni muhimu kweli kweli kueleza kwa mtu ambaye kuangalia code yako nini ni kufanya, na kweli hata kwa ajili yenu, wao ni muhimu sana. Kama wewe kwenda kwa bidii na kwa bidii psets, wewe ni kwenda kuona kwamba kanuni anapata tena, na kisha comments ni kweli muhimu sana kwa kukumbuka nini kila sehemu ya mpango wako gani. Kuweka maoni, unaweza tu kufanya kufyeka kufyeka na kisha kuandika maoni. Na mstari mzima ni sehemu ya maoni, na chochote kuandika, si kwenda kuwa kutumika kwa ajili ya code yako. Ni kimsingi kama mkusanyaji ni kwenda kupuuza hiyo. Je, hiyo mantiki? Watazamaji: Je, kufanya tena kuandika maoni? LUCAS Freitas: Hii? slash kufyeka? Wakati wowote aina slash slash, chochote ni kwa kuwa line si kwenda kuchukuliwa kuwa C. Yeah? Watazamaji: Kwa hiyo baada ya maoni, wewe kuingia tu na kuanza line mpya? LUCAS Freitas: Yeah, hasa. LAUREN Carvalho: slash slash ni kwa line comments moja. LUCAS Freitas: Kwa mfano, hapa tuna - napenda kuvuta - kwa mfano, hapa mimi nina kutangaza kuelea, lakini labda kama wewe tu kuweka hii katika kanuni yako, kama huna wazo jambo hili ni kufanya, kama kweli mtu ambaye kuangalia kanuni hii ni kwenda kuwa, kama, nini heck kinachoendelea? Kama kuweka maoni akisema "kubadilisha Fahrenheit kwa Celsius, inafanya sana maana zaidi. Wewe, kama, OK, wewe ni kufanya uongofu. Je, hiyo mantiki? Hivyo ni tu kitu ambacho husaidia watu tayari code yako na pia kufanya kuwa na uwezo wa kuandaa code yako bora. Jambo la pili ni kwamba unaweza kufanya mbalimbali line comments, hivyo kuwa na moja maoni ajili ya kundi la mistari. Badala ya kuwa na kuweka slash slash, mstari wa kwanza comments, kufyeka slash, mstari wa pili, na kadhalika, unaweza unaweza kutumia nyota slash. njia ambayo wewe kufanya hivyo ni kwamba kwa mstari wa kwanza wa maoni, wewe ni kwenda kufanya nyota slash nyota, hivyo tu kama hiyo. Tu kama hapa tuna mwanzo wa mpango, kawaida kuweka ambaye wewe ni, nini mpango huu gani, na mambo kama hayo. Ni aina ya kama header kwa mpango huu. Tena, si kitu ambacho a compiler ni kwenda huduma ya juu, lakini ni muhimu kwa wewe kujua jambo hili mpango gani au kwa watu wengine kujua nini mpango wako ni kufanya. Hivyo huna kufyeka nyota nyota, na kisha mstari wa mwisho wewe ni kwenda kufanya nyota kufyeka kuwa na uwezo wa karibu kwamba maoni. Hivyo kimsingi kwa ajili ya mistari nyingine zote, unaweza kuandika tu chochote, na hii yote ni kwenda kupuuzwa. Na pia, kama vile style, unaweza kuona kwamba kila ya mistari ana nyota, na kila Nyota ni iliyokaa. Haya ni mambo muhimu ili kwamba kanuni yako inaonekana pretty. Sauti nzuri? Sasa, masharti. Nini David alikuwa akisema kwamba tunapaswa kweli kuweka katika slides hizo, ni kwamba wakati una aina yoyote ya kama kauli au aina yoyote ya masharti, unapaswa kutumia braces curly kuonyesha kwamba hii ni nini kilikuwa kinakwenda kutokea wakati una hali hiyo. Kitaalam, wakati una hali na kisha mstari wa pili ni moja tu line, huna kitaalam na kuweka braces curly. Kimsingi compiler bila kuelewa anyway kama thabiti. Lakini kwa CS50, tunakuomba guys kuweka braces curly hivyo tu kuwa wako code ni kupangwa zaidi na zaidi someka. Kwa sababu kwamba kanuni anapata tena kama wewe hawana braces curly na vile. Ni kweli anapata messy. LAUREN Carvalho: Hii ni sawa nini David tu alisema katika slides yangu ya awali. Ni dhahiri kazi bila curly braces, lakini kwa sababu Stylistic tunakwenda kuuliza kwamba huna kuweka wale in Na wakati wa kuanza mbio style50, ambayo ni aina ya kuangalia 50 kwa ajili ya style, ni kuwakumbusha kufanya hivyo. LUCAS Freitas: Na kitu kingine ni kumbuka kuweka braces curly pamoja katika kila mstari. Hivyo kufanya, kwa mfano, l's. Kwenda mstari wa pili, kufungua curly brace, kisha kwenda mstari wa pili. Indentation, ambayo ni nafasi nne. Basi kuandika chochote, kisha mwingine line, na karibu brace curly. Hivyo kuwa na uhakika kwamba wote wale curly braces ni katika mistari tofauti. Watazamaji: Hivyo kama kanuni hii na kama 10 mwingine ikiwa, hii lazima kuwa 10 seti ya mabano? LUCAS Freitas: Yeah, kwa kila mmoja wao. Yeah. Hivyo kama, mwingine kama, na kadhalika. Watazamaji: Je, huwezi vyombo vya habari Tab kwa Indent? LUCAS Freitas: Tunawaomba ninyi guys kutumia nafasi nne. Baadhi ya wahariri Nakala kutafsiri tab kama nafasi nne moja kwa moja. gedit hana, hivyo kuwa na kufanya nafasi nafasi nafasi nafasi. Hii pia ni kitu ambacho baadhi programmers tu kufanya tabs, baadhi programmers tu kufanya nafasi nne, na hata baadhi ya watu wengine kufanya nafasi mbili au tatu. Ni tu kwamba hapa sisi ni kuuliza nyie kufanya nafasi nne. Watazamaji: ni Kuna karibu dhahiri got kuwa njia ya gedit kwa moja kwa moja [inaudible]. Kama hakuna [inaudible] anafanya hivyo. LUCAS Freitas: Yeah. Nadhani unaweza kwenda kwa vipimo. Watazamaji: Ni tayari anafanya yote ya kwamba. LUCAS Freitas: Ni tayari gani? OK. Hivyo tu kuwa na uhakika kwamba kuwa na nafasi nne. Watazamaji: Je, tuna kuweka curly mabano kwa ajili ya loops vile vile? LUCAS Freitas: Ndiyo. LAUREN Carvalho: Kila yako encapsulating kuzuia wa kanuni, tafadhali kutumia braces curly. Na kabla ya kufikiri kwamba sisi ni tu kuwa sticklers kuhusu hili kwa mema sababu, kama wewe guys kufanya kwenda juu ya kupata tarajali tech katika makampuni makubwa, wao nitakupa style mwongozo, na watakuambia hii ni nini yako code mahitaji ya kuangalia kama. Na hata kama wewe kujifunza na kanuni kama hii, labda katika internship yako itabidi kufanya kitu tofauti kabisa. Hawana wanatarajia kuendana kwa style yao. LUCAS Freitas: Jambo Na moja zaidi ni kwamba je, taarifa jinsi i na kama x, nafasi, chini, nafasi, 0? Wakati wowote na operator - inaweza kuwa kama plus, bala, mara kwa mara, chini, zaidi, operator chochote - una kuweka nafasi upande wa kushoto na haki ya operator. LAUREN Carvalho: Wale ni aitwaye operands binary. Tu kuhakikisha daima nafasi ya nje operands yako binary. LUCAS Freitas: Hii ni si binary operand. LAUREN Carvalho: Hiyo ni kwa sababu inachukua mbili. LUCAS Freitas: Oh, yeah. OK, swichi. Kwanza, una kuona kwamba tu kama katika taarifa yake kama au mwingine, una kuweka brace curly juu ya line yake mwenyewe na chini ya brace curly hapa. Taarifa kwamba kuna nafasi moja baada ya kubadili, kama vile katika ikiwa na mwingine sisi alikuwa na nafasi ya moja kati ya kuwa na mabano. Hivyo una kuweka hiyo. Na hakuna nafasi ya haki baada ya kila ya mabano au kabla ya mwisho ya mabano. Hivyo unaweza kuona kwamba ni wote kwa pamoja, na pia kama hapa. Yeah? LAUREN Carvalho: Nadhani tunahitaji kusonga mbele. LUCAS Freitas: Hivyo hii ni sehemu ya style mwongozo kuwa kwa CS50. Kuwa na uhakika wa kwenda cs50.net/style na tuangalie hii. Haya yote ni muhimu sana kwa style ya alama yako. Hebu nirejee nyuma na taarifa hiyo. LAUREN Carvalho: nisingependa kutumia tu style50. Tuko tu kwenda moja kwa moja matanzi. Sawa. Basi hebu kupata nyuma na maudhui, sasa kwamba tumeenda juu ya style mwongozo. Tanzi, wameweza kuona yao katika Scratch, na tunakwenda kuzungumza nao katika C. Katika kwa kitanzi, kuna sehemu tatu kwa tamko la hii kwa kitanzi. Nimepata initialization yako katika ambayo kuweka vigezo yako. Nimepata hali yako, ambayo ni kuangalia kuona kama kitu ni kweli au uongo na kama kitanzi wanapaswa kuendelea. Na nimepata update yako, ambayo ni kuhuisha vigezo yako. Hebu tu kuangalia haraka katika baadhi ya C kanuni za hii kwa kitanzi katika action. Nini kinaendelea hapa ni katika initialization, sisi ni kuweka i 0. Katika hali sisi ni kuangalia kama i ni chini ya 10. Na katika update tuko incrementing i. Hivyo nini kutokana na hii kwa kitanzi? LUCAS Freitas: Kwa kweli, kwanza ya yote, je, guys kujua nini i + + ni? Watazamaji: Kuongezeka kwa kwa 1. LUCAS Freitas: Kuongezeka kwa na 1, ndiyo. Hivyo hii ni kitu kimoja kama kufanya i sawa na i pamoja na 1. Na taarifa kwamba hatuna nafasi kati ya i na + +. Hivyo nyie kujua jambo hili atafanya nini? Je, mtu kuniambia? Na labda kupata baadhi ya pipi kwa sababu ya kwamba? Watazamaji: [inaudible] LUCAS Freitas: OK. [Inaudible] kuonyesha kila mtu baadaye [inaudible]. Yeah, ni kwenda kuonyesha "Hii ni CS50 "mara 10. LAUREN Carvalho: Nadhani ilikuwa ni katika jina la slide. LUCAS Freitas: Oh, yeah. [Kicheko] LUCAS Freitas: Hiyo inasaidia. LAUREN Carvalho: Kwa hiyo wale ni kwa matanzi. Tunakwenda kuona baadhi ya mifano zaidi ya kwa loops baadaye. Lakini hebu kweli tuangalie Aina ya pili ya kitanzi utasikia kukutana katika C, na ni kuitwa kitanzi wakati. Katika wakati kitanzi, wameweza tu got hali hiyo. hali ni checked katika mwanzo, na kama hali kwamba kutathmini kwa kweli, basi code ndani ya mwili wa kuzuia wakati nitafanya. Na kanuni itaendelea kutekeleza muda mrefu kama kwamba hali bado kweli. Hapa ni mfano wa kitanzi wakati katika C. Sisi ni kwenda kuweka kuhesabu hadi 10 kwa kuanza kwa. Kwa muda mrefu kama kuhesabu ni mkubwa kuliko 0, tunakwenda kuweka uchapishaji nje hii variable hapa. Tunakwenda kuongezwa kuhesabu na kisha kuangalia hali tena. Magazeti, decrement, hundi hali tena. Hapa tuna mfano linafanywa swali yako ya awali. Tulikuwa na asilimia s tulipokuwa uchapishaji nje kamba, na sasa kwamba sisi ni uchapishaji nje int, tuna asilimia i kama placeholder wetu badala yake. barua lazima wote pretty angavu, s kwa kamba, i kwa int. Hivyo kama kanuni hii executes, unapaswa kuhesabu chini 10-0, uchapishaji nje kila integer. LUCAS Freitas: Na unaweza kufikiria asilimia kama anahisi kama tupu nafasi, na kisha wewe kuweka hii variable hapa katika nafasi hiyo tupu. Hivyo kwa mfano, hapa nami kuwa tu tupu, na kisha mimi nina kuweka kuhesabu haki pale, thamani ya kuhesabu. Je, hiyo mantiki? Je, mimi tu kufanya kama printf na kisha ananukuu, kuhesabu? Ingekuwa kwamba kazi? Watazamaji: Hapana LUCAS Freitas: Hapana, kwa sababu itakuwa kweli magazeti neno "kuhesabu" badala ya uchapishaji thamani. Hii ni jinsi gani kufanya hivyo magazeti maadili upande wa variable badala ya tu jina la kutofautiana. Maswali yoyote? Watazamaji: Kwa nini kutumia kwa ajili ya kama kinyume na wakati? LAUREN Carvalho: napenda kutumia kwa kitanzi kama mimi kujua hasa jinsi wengi iterations nataka kitanzi yangu kukimbia. Katika kesi hiyo, haijalishi kwa sababu, I mean, mara tu kujaribu kufikiria kweli rahisi mfano kwa slide hii. Lakini hebu kusema kwamba unataka kitu kuendelea wakati - LUCAS Freitas: Kwa mfano, wewe ni kuuliza kwa ajili ya pembejeo mpaka mtu inatoa pembejeo haki. Hivyo kama wakati pembejeo ni si OK, kuendelea kuuliza kwa ajili yake. Au kama wakati uko wazazi wala kutoa pesa, kuendelea kuuliza kwa ajili yake. [Kicheko] LAUREN Carvalho: Huwezi kujua jinsi ya mara nyingi itabidi kufanya hivyo. LUCAS Freitas: Kwa sababu huna kujua jinsi mara nyingi kwamba kwenda kuendelea. LAUREN Carvalho: Lakini kwa ajili ya kitanzi, unahitaji kujua mara ngapi. Yeah? Watazamaji: Tu kufafanua, asilimia anasema hili ni jambo kuhusu kutokea, i kwa ajili ya integer, na backslash n - LAUREN Carvalho: Njia? Nani anajua backslash n ina maana gani? New line, yeah. Hasa. LUCAS Freitas: Unaweza kufikiria ya n kama mstari mpya. LAUREN Carvalho: Nice. Watazamaji: Nini kuhesabu kwamba dash dash [inaudible]? LUCAS Freitas: Hesabu minus minus ni kitu kimoja kama pamoja na plus, lakini badala ya kuongeza, ni kupungua kwa kwa 1. LAUREN Carvalho: yoyote zaidi wakati maswali kitanzi? No? Oh, sisi walipaswa kuwa skipped hiyo. Hii ni kufanya kitanzi wakati. Sawa na kitanzi wakati ila katika kesi hii sisi kuangalia hali baada ya code katika mwili wa kitanzi executes mara moja. Hivyo sisi nitafanya code kwanza bila kujali. Kisha sisi kuangalia hali, kutekeleza tena kama hali ni ya kweli. Utakuta wewe mwenyewe kwa kutumia hii wakati wewe ni kuuliza kwa ajili ya pembejeo user. Kwa sababu wewe ni daima kwenda na kuuliza mara moja, na kisha kulingana na kile pembejeo user ni, unaweza kuwa na reprompt na kuuliza tena na tena kama pembejeo hakuwa nini inatarajiwa kuwa. Watazamaji: Hivyo ni kama aina kwa ajili ya watu kujaza. LAUREN Carvalho: Yeah, hasa. Utakuta, nadhani, katika yako ya kwanza Pset, wewe ni kwenda na kutumia kufanya vizuri kitanzi kukusanya pembejeo kutoka kwa mtumiaji. Watazamaji: Kulingana na hali hiyo, wakati wako loops huwa na kukimbia zaidi mara nyingi zaidi kuliko wakati tanzi, kama na moja au kitu? LAUREN Carvalho: Kama ni halisi - LUCAS Freitas: Wanapaswa daima kukimbia kiasi halisi ya mara kwamba unataka kukimbia. Kama sisi kutumia kufanya wakati kwa sababu sisi kweli alitaka kupata pembejeo angalau mara moja. Katika wakati tanzi, wakati mwingine hawataki nitafanya hivyo wakati wote kama si kesi kutekeleza. Hivyo inategemea design. I mean, unaweza ama matumizi kufanya wakati au wakati kwa muda mrefu kama code yako gani kwamba ni zinatakiwa kufanya. LAUREN Carvalho: Lakini mimi kufikiri jibu yako swali ni pengine ndiyo. Hebu sema hali ilikuwa ni uongo. Katika kesi moja itakuwa kukimbia mara moja, na kesi nyingine itakuwa kukimbia mara sifuri. Hivyo, yeah. Yoyote maswali zaidi? Ndiyo? Watazamaji: Je, hali kitanzi kuwa kwa kitanzi katika suala la nyingine variable kuliko [inaudible]. LAUREN Carvalho: Yeah, inaweza kuwa kitu chochote. Pengine kwa psets mwanzo, wewe hautakuwa na kukutana kesi hiyo, lakini dhahiri inaweza kuwa kitu chochote. LUCAS Freitas: Nadhani sisi ni kosa hapa. LAUREN Carvalho: Je, sisi? No? LUCAS Freitas: Loops? Yeah. LAUREN Carvalho: Tunapaswa kuwa. Oh, sisi ni kufanyika kwa matanzi. OK. Kwa kweli, kwa sababu tumekuwa kuzungumza hivyo sana, hebu kweli wote navigate juu ya study.cs50.net/conditions. Na wewe kwenda navigate chini matatizo ya wiji. Vizuri, kwa kweli, wakati watu ni kupata hii kuanzisha, CS50 Utafiti ni kwenda kuwa chombo kwamba TFS yako mapenzi kutumia kujiandaa kwa ajili ya sehemu na kwamba nyie unaweza kutumia kama miss sehemu. Ni kwenda vyenye kundi la slides, baadhi ya vidokezo na tricks kwa kila mada, na baadhi ya matatizo mazoezi na ufumbuzi. Kwa nini si kila mtu tu kuangalia tatizo hili hapa. Samahani, mimi wanapaswa aliwakumbusha watu kuleta Laptops leo. Lakini kama huna mbali, kwamba ni sawa. Unaweza tu hata nukta hii chini ya kipande cha karatasi au kuangalia juu ya bega jirani yako. Hebu jaribu na kuandika mpango kwamba humshauri mtumiaji kuchukua nadhani, wastani wa idadi ya watoto kwa kila familia kitengo nchini Marekani. Idadi hiyo ni 2, kwa njia, kama wewe unaweza kuona kwenye mifano hiyo. Tunataka magazeti nje wastani wa idadi ya watoto kwa kila familia katika Marekani, basi sisi wanataka nini? Tunataka kukusanya pembejeo kutoka kwa mtumiaji. Na kisha kulingana na kile mtumiaji pembejeo ni, wewe ni kwenda magazeti nje ama hii ni sahihi au hii ni sahihi. Na jambo la kwanza utasikia kuona, kama wewe bonyeza mshale kidogo chini ya tatizo widget ni doa kwa nukta chini baadhi pseudocode. Hivyo wewe si programu bado. Wewe ni kupata tu yako mawazo katika utaratibu. Je, mtu yeyote wanataka kusaidia Lucas kuja na haki pseudocode kwa tatizo hili? LUCAS Freitas: Jambo la kwanza ni nini kwamba sisi lazima pengine kufanya hapa? Nini guys kufikiri? Watazamaji: [inaudible] LUCAS Freitas: Yeah, OK. Hivyo, magazeti. Kusema tu magazeti wastani hii idadi ya watu? OK. Magazeti swali, hebu sema. Baada ya mimi magazeti swali hili, nifanye nini? Watazamaji: Kupata pembejeo. LUCAS Freitas: Kupata pembejeo. Kitu kingine? Watazamaji: Hali ya. LUCAS Freitas: Hali ya. LAUREN Carvalho: Je, ni kwamba hali kwenda kuwa? Watazamaji: idadi ya [inaudible]. LAUREN Carvalho: Haki. LUCAS Freitas: Sasa ni nini mimi kwenda kuangalia katika hali zao? Watazamaji: Kama ni sawa na 2. LAUREN Carvalho: Kama ni sawa na 2. Hasa. LUCAS Freitas: Je, kuna kitu kingine kwamba mimi wanapaswa kufanya nini? Watazamaji: Count. LUCAS Freitas: Hivyo kama ni sawa na 2, hebu sema - napenda tu kuandika kama pembejeo ni sawa na 2, kisha nini mimi kwenda kufanya ni magazeti sahihi. Na kisha mwingine, mimi nina kwenda magazeti sahihi. Kitu kingine? No? LAUREN Carvalho: Hivyo wewe unaweza bonyeza - haina kila mtu kuwa na hii chini? LUCAS Freitas: Je, ni mantiki? Hivyo sasa hebu jaribu Kanuni hii. LAUREN Carvalho: Ikiwa bonyeza kidogo arrow, ni kweli anaokoa yako pseudocode, ambayo ni kweli kusisimua. Na unaweza kufanya hayo katika maoni kama unataka tu kuwakumbusha mwenyewe ya nini cha kufanya. LUCAS Freitas: Hivyo kwa mfano, kwanza Mimi nina kwenda magazeti swali, hivyo jinsi mimi kwenda kufanya kwamba, kwa kweli? printf. Hivyo printf, na swali ni wastani Idadi ya watoto kwa familia katika Marekani. Basi mimi nina kwenda kupata pembejeo kutoka kwa mtumiaji. Hivyo ni jinsi gani mimi kufanya hivyo? Watazamaji: Kupata Int. LAUREN Carvalho: GetInt. LUCAS Freitas: OK. Hivyo kwanza kutangaza, sawa? int, hebu simu yake n sawa na GetInt. Na sasa hali hiyo. Hivyo basi mimi kusema kwamba mimi nina kwenda kwa hapa kuangalia jibu. Hivyo kwanza, kama pembejeo, ambayo ni n, sawa na kwa - jinsi mimi kwenda kuandika hivyo? Watazamaji: Sawa sawa. LUCAS Freitas: Perfect. Hivyo n. Na taarifa kwamba mimi kufanya nafasi, sawa, sawa, nafasi, kweli. Na sasa nifanye nini? Kitu muhimu sana kwa style. braces curly. Na basi mimi nina kwenda magazeti. Je, mimi magazeti? printf. Watazamaji: Je, ni kuwa na mtaji? LUCAS Freitas: Hapana Ni walidhani kuwa wote lowercase. Hivyo kwamba ni sahihi. Je, hii inatosha kwa printf taarifa, au mimi kukosa kitu? Watazamaji: New line. LUCAS Freitas: New line, yeah. Na sasa mwingine. Watazamaji: Je, kuna nafasi baada ya printf, au sivyo? LAUREN Carvalho: Tunapaswa kuangalia style mwongozo. Watazamaji: Ni lazima kuwa. LUCAS Freitas: Je, si kuwa, OK. Hivyo mwingine, printf, "Hiyo ni sahihi." LAUREN Carvalho: Oops, quotes yako. LUCAS Freitas: OK. Kitu kingine? Je, inaonekana ni nzuri? LAUREN Carvalho: Je sisi kujaribu? LUCAS Freitas: Yeah, hebu kukimbia. Hivyo ni kuandaa, na inaonekana kwamba kazi. Hebu jaribu watoto wawili. Hiyo ni sahihi. Na sasa hebu kukimbia tena, lakini sasa badala ya kuweka watoto wawili, hebu kusema kwamba mimi nina kwenda kuweka kama tano. Hiyo ni sahihi. Hivyo inaonekana kwamba kazi. LAUREN Carvalho: Kwa nini si wewe kuwaonyesha kile kinachotokea kama wewe kuweka kitu weird, kama baadhi ya barua. LUCAS Freitas: Oh, yeah. Hebu pia kuangalia kwamba. Nini kama user ni kujaribu kwa fujo na mpango wako, na wao tu kuandika, sijui mbili. Ni kwenda kusema tena. LAUREN Carvalho: Kwa hiyo GetInt ni kuwataka tena. Hatukuwa na utunzaji ya kwamba sisi wenyewe. LUCAS Freitas: Yeah. Hivyo isipokuwa mimi kwa kweli kuweka idadi, ni kwenda kuendelea kuuliza mimi tena. Watazamaji: Je, wewe kukimbia? LUCAS Freitas: click tu hii kifungo nyota. LAUREN Carvalho: Unapaswa kwenda juu. Kuna kwenda. LUCAS Freitas: nyota kifungo haki pale. Yeah? Watazamaji: Je, ni kuchochea [inaudible] na idadi decimal pia? LAUREN Carvalho: Naamini ni mapenzi. LUCAS Freitas: Kama ni hivyo nini? LAUREN Carvalho: Kama aina idadi decimal, nadhani itakuja haraka. LUCAS Freitas: Hebu kuona. LAUREN Carvalho: Kwa sababu si int. LUCAS Freitas: Yeah. LAUREN Carvalho: Kwa hiyo si int, Kupata Int kuuliza wewe tena. Watazamaji: Hivyo ambapo katika kwamba kanuni itakuwa mahali decimal kwamba papo kwa user kwamba wana kuingia integer hasa? LAUREN Carvalho: GetInt ni kweli kufanya hivyo kwa ajili yetu. Watazamaji: Hapana, I mean kama tulitaka kuingia [inaudible] LUCAS Freitas: Unaweza kusema kama wastani idadi ya watoto katika Marekani. Mimi sijui. Tunaweza kusema, kwa mfano, "Tafadhali pembejeo integer. " LAUREN Carvalho: integer sawa kwa wastani wa idadi. I mean, ni jinsi neno yake, sawa? LUCAS Freitas: Yeah. Hii si sehemu ya kweli coding. Ni zaidi ya kama chochote wewe ni kwenda kutaka kuandika katika programu yako. Watazamaji: jinsi gani sisi kukimbia ni kama kwa kweli katika gedit [inaudible]. Badala ya kubwa kucheza? LUCAS Freitas: Sisi mapenzi kwanza kukusanya yake. Tunaweza kufanya hivyo kwa kufanya kufanya na jina la faili. Na kisha kuendesha, tutaweza kufanya dot slash na jina ya mpango huo. Watazamaji: Nadhani kile maana ilikuwa kama tulitaka mpango wa kukabiliana na sahihi zao, batili kuingia, unapaswa kuweka katika - LUCAS Freitas: Sisi si kuwa na uwezo wa kufanya hivyo kwa sababu kanuni hii anasema Jaribu tena linatokana na kupata int ambayo ni kazi ambayo ni tayari kutekelezwa kwa sisi kupitia maktaba CS50, na tangu ni tayari kutekelezwa huko, sisi unaweza si tu [inaudible]. LAUREN Carvalho: Kama huna kutumia GetInt, basi unaweza kufanya hivyo. LUCAS Freitas: Yeah. Lakini kama unatumia GetInt, huwezi. Maswali yoyote mengine? Watazamaji: Je, unaweza kuwa na gone na kama GetFloat na kisha kuwa na uwezo wa kuweka katika decimal? LUCAS Freitas: Yeah. Watazamaji: OK. Basi tu inaweza pembejeo kuelea usawa - LAUREN Carvalho: Yeah. Sawa ila kuelea badala ya int. LUCAS Freitas: Tu ya kuweka hapa na kisha GetFloat huko. Watazamaji: Kama wewe kuona au tumeona - LAUREN Carvalho: tuna wamezipata huko bado. Watazamaji: - kufanya kukosekana kwa usawa kwa ikifungwa haina [inaudible] Watazamaji: Je, semicolons maana yake nini? LAUREN Carvalho: semicolon tu ina maana kwamba kauli hii ni kamili, na sisi ni kwenda kwenye slide ijayo. Watazamaji: Kwa hiyo ni muhimu kila wakati? LAUREN Carvalho: Yeah. Naam, OK, hivyo si kwa mazingira kama haya, kwa sababu wao ni encapsulating kitu. Hivyo kimsingi kama kitu fulani ni kusababisha wewe kisha kuunda brace curly kuzuia, wala kuweka semicolon mwishoni. LUCAS Freitas: Lakini kila kitu mwingine, ndiyo. Baada ya kumaliza taarifa, kuweka semicolon. Na kama wewe kusahau semicolons, compiler kwenda kupata hasira wewe, na wewe ni kwenda na kujaribu kurekebisha. LAUREN Carvalho: Kama mimi kuweka semicolon hapa, ambayo itakuwa kukomesha hali hii, na mimi kamwe kupata kutekeleza nini ndani ya, kwa njia. Hivyo ni moja ya mende wale wa kawaida. Watazamaji: Daima utekelezaji. LAUREN Carvalho: Yeah. Katika kesi hiyo, tunataka daima kutekeleza yale yaliyo ndani. Watazamaji: style yako [inaudible] ambatisha kwa ajili yenu, mawazo. LAUREN Carvalho: Oh, hiyo ni kweli. Watazamaji: [inaudible] moja line kitu [inaudible] Watazamaji: Ndiyo? Watazamaji: Je, una nyingi pembejeo katika mstari mmoja? Hivyo kama unaweza kuuliza watumiaji magazeti mambo mawili? LAUREN Carvalho: Si kutumia - LUCAS Freitas: Hapana Hebu kusema kwamba mimi pia wanataka kupata hii m integer. Mimi kufanya hivyo katika line tofauti. Watazamaji: Kama ungekuwa na kukimbia kwamba, jinsi [inaudible]? Itakuwa magazeti haraka huko [inaudible] na basi d kuingia moja na - LAUREN Carvalho: Naam, kukimbia. I mean, kuna kitu kuacha yetu kutoka tu mbio na kuona nini ingeweza kutokea. LUCAS Freitas: Nadhani ni kwenda analalamika kwetu sisi kwa sababu sisi siyo kutumia - LAUREN Carvalho: Oops. LUCAS Freitas: Ni walilalamika katika haki yetu sasa kwa sababu sisi siyo kutumia hii variable, lakini kama mimi, kwa mfano, n ni sawa na sawa, na m sawa na sawa na, basi ni nini mapenzi kutokea katika kesi hii? Gani mpango huu nini? Watazamaji: Mimi wanashangaa tu jinsi gani - LAUREN Carvalho: Yeye tu anataka kujua jinsi inaonekana kama, nadhani, sawa? Hivyo alichukua mmoja wao, na kisha ilichukua moja ya pili. Nadhani tunapaswa kusonga mbele, kwa sababu tuna moja zaidi slide show kabla ya kwenda - unataka kuvuta up math? LUCAS Freitas: Yeah, math. LAUREN Carvalho: Kutoa mimi tu moja ya pili. Kuna wachache mbalimbali namba vigezo katika C. namba data katika C inaweza kuwa classified katika aina mbalimbali, na hao ndio itabidi kuona mara nyingi zaidi. Na int ni idadi nzima. Huwezi kuwa na decimals yoyote. Katika Appliance, inachukua Bits 32 ya kuhifadhi int. kuelea inaweza kuwa na decimals. Pia inachukua 32 bits kuhifadhi kuelea katika appliance. mbili ni ya simu na decimal uhakika kwamba inachukua bits 64 ya kuhifadhi, ambayo ina maana kwamba wanaweza tu kuwa na usahihi zaidi kwa sababu unaweza kuwa na zaidi - je, simu yake? LUCAS Freitas: Yeah, hiyo ni zaidi. LAUREN Carvalho: maeneo Zaidi baada ya uhakika decimal. Na kwa muda mrefu ni namba nzima kwamba inachukua 64 bits kwa kidonda katika appliance. LUCAS Freitas: Kwa hiyo inaweza kuwa kubwa kuliko ints wanaweza kuwa. LAUREN Carvalho: kitu kuhusu data aina katika C ni kwamba wao kukuambia nini aina ya data unaweza kuhifadhi katika variable yako. Wao kuwaambia jinsi gani unaweza kutumia hii variable katika programu yako. Ni muhimu sana kuweka wimbo tu ya aina gani data unatumia, na kama huna haja ya kutupwa na aina data na mwingine, kuhakikisha kwamba unajua hasa kile kinachotokea wakati kwamba akitoa unafanyika. Na utaona mfano baadaye juu ya katika slides hizi za makosa ambayo yanaweza kutokea. Hebu tuangalie baadhi ya math katika C na kufikiri kweli kwa makini, mimi nadhani, kuhusu nini kinaendelea wakati huu math unafanyika. Katika mstari wa kwanza sana, nini kinachotokea wakati mimi kutangaza x? Watazamaji: Wewe ni kuruhusu x kuwa kitu? LAUREN Carvalho: Yeah. Naam, mimi nina kweli kuuliza uendeshaji mfumo wa bits 32 ya kumbukumbu, sawa? Katika ambayo siwezi kuhifadhi int, na Mimi nina kwenda wito kwamba int x. LUCAS Freitas: Kimsingi kwenda katika kumbukumbu na kutafuta mahali pa ambayo ina 32 bits na kusema, hey, nataka nafasi hii, na ni kwenda kuitwa x. Basi, wewe ni kutafuta tu pretty much sanduku katika kumbukumbu yako kwa maadili kuhifadhi kwa ajili ya x. LAUREN Carvalho: Na kisha mimi initialize x, ambayo ina maana kwamba mimi tu kuhifadhi thamani ya 2 katika mahali, kwamba chunk ya kumbukumbu, kwamba sisi aliuliza uendeshaji mfumo kwa. Na chini hapa nini sisi ni kufanya ni sisi ni kweli kutangaza na initializing y katika line moja badala ya katika mistari miwili kama tulivyofanya hapa, ambayo pia ni kikamilifu faini, Sisi ni kuongeza 1 kwa x, na sisi ni hifadhi kwamba thamani katika y. LUCAS Freitas: Kwa hiyo kimsingi nini hii line gani, ni anaona sasa sanduku kwa y, na kisha thamani yake, jambo ambalo wewe ni kwenda kuweka ndani ya sanduku, ni kwenda kuwa thamani ya x pamoja na 1. Hivyo ina sanduku hili kwa y. Anapata thamani ya x, inaonekana hapa, na kuona kwamba ni 2. Kuiweka huko, pamoja na 1, hivyo unaweka 3 huko. Je, hiyo mantiki? Hivyo y itakuwa 2 katika kesi hii. LAUREN Carvalho: All haki, cool. Tuliona baadhi Aidha, hivyo hebu sasa kufikiri juu ya mgawanyo katika C. Hapa mimi nina kutangaza na initializing kuelea aitwaye jibu na kugawa 1 na 10, na basi mimi nina uchapishaji nje jibu kwa maeneo mawili decimal. Na kumbuka hapa, katika taarifa yangu printf, wakati nataka magazeti kitu mbili maeneo decimal,% 0.2 f ni nini nataka kutumia. Hivyo hatua 2 ni kusema tu Mimi haja maeneo mawili baada ya decimal kuchapishwa. Sasa, nini kinaendelea kutokea kama mimi kukimbia kanuni hii? Je, mtu yeyote kuwa na wazo? Gani magazeti nje? LUCAS Freitas: Je, ni sisi wanatarajia kupata. LAUREN Carvalho: Ni nini tunataka, ya kwanza? LUCAS Freitas: [inaudible] LAUREN Carvalho: 0.1, yeah. Lakini ni nini magazeti nje? Watazamaji: [inaudible] LAUREN Carvalho: Naam, hapana, kwa kweli. Hii ni nini nilikuwa kuzungumza kuhusu ni kwa nini haja ya kuweka wimbo makini sana ya data aina yako. Hivyo, nini data aina hii? Ni int, sawa? Hakuna nafasi decimal. 10 ni pia int. Hakuna nafasi decimal. Kama mimi kugawanya int na int, mimi kupata int ambayo si 0.1, kwa sababu ints hawezi kuwa na maeneo decimal, lakini 0 tu. Kwa sababu int tu truncates mbali ya maeneo decimal. LUCAS Freitas: Hivyo wakati wowote kufanya shughuli na ints, wewe kwenda kupata int kama jibu. Hivyo kimsingi, nini kompyuta ni kufanya, ni mgawanyiko 1 na 10, na anapata 0.1. Lakini basi ni kama, ngoja, hii ni wanatakiwa kuwa integer, hivyo tu kupuuza 0.1, hivyo ni sasa 0 tu. LAUREN Carvalho: Hivyo wakati mimi magazeti hii nje, mimi kupata 0.00 badala ya 0.10. LUCAS Freitas: Je, hiyo mantiki? LAUREN Carvalho: Hiyo ni aina ya bahati mbaya, right? LUCAS Freitas: Hivyo ni jinsi gani sisi kurekebisha hili? LAUREN Carvalho: Hebu kujaribu na kurekebisha. Hapa ni mfano wa ambapo mimi nina kweli akitoa 1 na 10 kwa ikifungwa. Basi sasa, 1 ni tena int. 1 ni kuelea. Kwa njia, hii ni syntax kwa wakati unataka kutupwa kutoka moja data ya aina nyingine. Unaweza tu ya kuweka aina data katika mabano na kuwa na kwamba tu kutanguliza thamani kwamba wewe ni akitoa. Hivyo hapa, mimi nina kugawa kuelea na kuelea kupata kuelea jibu. Na ndiyo, hii ingekuwa katika ukweli magazeti 0.10. Je, hiyo mantiki? LUCAS Freitas: Kwa hiyo aina akitoa ni kuwabadili kutoka aina moja hadi nyingine. Hivyo kuelea 1 ni kweli 1.000. Si hasa hii, lakini ni kitu na maeneo decimal kwamba ni kweli 1. Je, hiyo mantiki? Yeah? Watazamaji: Je, kama alivyofanya kuelea jibu sawa na 1.0 kugawanywa na 10? LAUREN Carvalho: Wewe ni kweli kwenda kuona kwamba katika slide ijayo. Hiyo ni kweli slide yetu ijayo sana. Hii ni kweli nicer kuliko aina akitoa, nadhani. Hivyo hizi mbili ni ikifungwa tu kwa asili ya ukweli kwamba wao na maeneo decimal. Ndiyo? Watazamaji: Je, kama alivyofanya [inaudible] kugawanywa na 10? LAUREN Carvalho: Kwa kweli kuelea kugawanywa na int kweli anakupa kuelea, hivyo kwamba itakuwa kazi nzuri. Kusubiri, haina kila mtu kuelewa hili? Kwa sababu hii ni kwenda kuwa kweli kubwa mpango huo katika Pset1, kwa kweli. Ndiyo? Watazamaji: Je, wewe tu haraka kwenda juu sehemu nyekundu? LAUREN Carvalho: sehemu nyekundu, yeah. Lucas, je, unataka? LUCAS Freitas: OK. Ili kukumbuka kwamba asilimia ni placeholder. Ni kama nafasi tupu. Hivyo basi jaribu kuelewa kila kitu kwamba kinaendelea hapa. Asilimia ina maana kwamba ni placeholder. Kisha una f, ambayo ina maana kwamba placeholder hii ni kwa ajili kuelea. Jambo la mwisho kwamba sisi hapa ni 0.2, ambayo ina maana mimi nataka kuwa na mbili maeneo decimal kwa kuelea. Kama mimi tu alikuwa% f, wao itakuwa kuweka kundi la maeneo decimal. Hivyo siwezi tu ya kuweka 0.2 au 0.1 au 0.5, au chochote, na ni kwenda kuweka kwamba idadi ya maeneo decimal. Kitu pekee ni kwamba kama wewe kuweka kama 0.100 au .1,000, si kweli kwenda kuweka wale maeneo yote decimal kwa sababu haina kumbukumbu ya kutosha kuwa na kwamba usahihi. Maswali yoyote mengine? Yeah? Watazamaji: Kwa hiyo kuelea tu inaruhusu wewe kwenda zaidi ya integers? LUCAS Freitas: Ndiyo. LAUREN Carvalho: Naam, kuelea tu utapata kuwa na maeneo decimal. LUCAS Freitas: Ina maana tu kwamba sasa unaweza kuwa na idadi decimal. Watazamaji: Kwa nini sisi milele kutumia integers? LUCAS Freitas: Kwa nini matumizi ya integers? Labda kama wewe ni kuhesabu 0-10, unataka kutumia kweli integer. Huna haja ya kutumia kuelea. Katika baadhi ya hali, unaweza kufanya si na kwa kweli - LAUREN Carvalho: Labda hawataki decimals. LUCAS Freitas: Labda huna wanataka kutumia kuelea. LAUREN Carvalho: Jambo jingine ni, kumbuka, wote kuweka kuelea na int kuchukua 32 bits kuhifadhi yao, na labda hawataki taka bits juu ya maeneo decimal. LUCAS Freitas: Yeah. Hivyo kama, kufikiri tu kuhusu hili. Una bits 32 kwa ajili ya wote int na kuelea. Kwa int, wale wote bits 32 kwenda integer sehemu. Kama matumizi ya kuelea kwa bits 32, wewe na sehemu ya kumbukumbu hii zinatumika kwa idadi, kwa idadi nzima, na sehemu nyingine kutumika kwa ajili ya maeneo decimal. Hivyo hiyo ina maana kwamba hawawezi kupata idadi kubwa sana kwa ikifungwa kwa sababu kuelea tayari kutumia mengi ya kumbukumbu kwa ajili ya maeneo decimal. Yeah? Watazamaji: Hiyo jibu la kwanza, nini hasa ni kufanya? Je, ni kuweka thamani ya kuelea sawa kwa kuwa placeholder kwa kuwa unaweza kukumbuka ni katika mstari wa pili? Ni anasema kuelea jibu. LUCAS Freitas: Yeah. Hivyo, kuelea jibu maana wewe ni kupata sasa ndoo kidogo katika kumbukumbu kwamba ana kuelea, na kwamba itakuja kuitwa jibu. Hivyo kwamba ni nini kuelea jibu gani. Na kisha kusema kwamba ndani ya hii, ni kwenda kuweka matokeo ya hili. Hivyo ni kwenda kufanya 1.0 kugawanywa na 10.0, unaweza kupata 0.1, na kisha kuweka kwamba ndani ya jibu. LAUREN Carvalho: Kwa hiyo katika mstari mmoja, sisi ni kutangaza na initializing kuelea hii aitwaye jibu. LUCAS Freitas: Kushangaza, ingawa hii ni line moja tu, ni kufanya shughuli nyingi. Ni njia tu ya C kuruhusu matumizi ya chini ya code. Ni kitu kimoja kama ternary ni operator, jinsi gani unaweza tu kufanya [Inaudible] katika mstari mmoja. Ni kweli kufanya kitu kimoja kama kufanya kuelea jibu, semicolon, na basi jibu ni sawa na hii, lakini badala ya kufanya wewe kufanya mistari miwili kwa kuwa, ni kama njia ya mkato. Yeah? Watazamaji: Hivyo kama mbio hii, itakuwa 0.10? LUCAS Freitas: Ndiyo. Yeah? Watazamaji: Je, kujibu kweli code, au ni jina? LAUREN Carvalho: Hii ni kweli code. Hii ni nini tunakwenda kwa jina variable yetu. Watazamaji: Kwa hiyo ni tu jina [inaudible]. LAUREN Carvalho: Yeah. Mimi inaweza kuwa alisema kuelea x sawa na 1.0. LUCAS Freitas: Jambo ni kwamba jina la kutofautiana ni kitu ambacho kutumia. Ni muhimu kwa ajili yenu. Kwa mpango halisi, kitu pekee kwamba mambo ni thamani kwamba na ndani ya ndoo. sababu kwa nini kuwa na vigezo na majina ya vigezo ni hivyo Ningependa kujua nini wewe kushughulika na, kama aina gani ya data uko kupata wakati huo. Lakini kwa code yenyewe, kama wewe piga ni kujibu au swali au kitu chochote, pretty much, haijalishi. Haijalishi. Kwa muda mrefu kama wewe ni thabiti katika kila tukio hilo na hivyo kuiita kitu kingine. Yeah? Watazamaji: Je, vigezo kwenda zaidi ya kazi? Kama kama ungekuwa na kujenga bracket [Inaudible], unaweza tu [Inaudible] kujibu tena? LAUREN Carvalho: Hapana Watazamaji: [inaudible] LAUREN Carvalho: Hapana Hiyo itakuwa nje ya wigo ya kutofautiana fulani. Na kwa kweli, hiyo ni aina ya kuvutia, kwa sababu wakati tuna mambo kama loops au hizi kama masharti, kama wewe kutangaza variable ndani ya mwingine seti ya braces curly, ipo kweli tu ndani ya braces wale curly. Watazamaji: Mmoja kumbuka mwisho kuhusu Ikifungwa [inaudible]. Kwa nini wewe milele wanataka kutumia ints? Hii ni zaidi ya upande kumbuka kuliko kitu chochote, lakini kompyuta yako ni kwa kiasi kikubwa zaidi katika utunzaji ints zaidi ni katika kushughulikia ikifungwa. Ni kama utaratibu wa ukubwa kwa kasi zaidi. Hivyo kama sisi tu kubebwa tu ikifungwa, mambo itakuwa mengi polepole. LAUREN Carvalho: Kwa kweli, inaonekana kuna kuwa tatizo na ikifungwa. LUCAS Freitas: Aina ya sababu kwa kwamba, unaweza kufikiri, ni jinsi katika binary unaweza kuwakilisha integers kwa kuweka 0 na 1 ya. LAUREN Carvalho: Hiyo ni Jambo la pili. LUCAS Freitas: OK. Kutisha. LAUREN Carvalho: Just kushikilia wazo kwamba. LUCAS Freitas: Sawa, mimi itabidi kuwaambia baadaye. LAUREN Carvalho: Kabla ya sisi kupata nini Lucas alikuwa akisema tu, operator kuendelezwa. Hii ni akili ya kawaida. You guys wamefanya hili kiasi cha kutosha. Kwa hiyo, tu kama kitu ni katika mabano, itakuwa kutokea kwanza. Ni kuzidisha inachukua precedence juu ya Aidha, kutoa, mambo kama hayo. Hivyo kweli, tu haina mtu unataka kuniambia nini namba moja kweli kutathmini kwa? Watazamaji: 27. LAUREN Carvalho: 27? Yeah. LUCAS Freitas: Nikupe pipi kwa watu. LAUREN Carvalho: All wa kulia. Nini kuhusu namba mbili? Nini kuhusu namba mbili? Watazamaji: 22. LAUREN Carvalho: 22, yeah. Sijui ambaye alipata hiyo. Idadi tatu? Watazamaji: 10. LAUREN Carvalho: 10, ndiyo. Baridi. Hivyo modulo. Lucas, unataka kueleza modulo? LUCAS Freitas: modulo ni operator hii kwamba ni kweli muhimu sana kwa kundi la matatizo. Kama mimi kufanya 55 modulo 10, nini anafanya hii hebu kusema kwamba nataka kugawanya 55 na 10. Je, mimi kupata? Ni anahisi tu kama kama mimi nina kweli tu kufanya mgawanyiko, ni nini mara ya kwanza kwamba mimi got integer? Watazamaji: 5. LUCAS Freitas: 5. Na kisha salio ni 5, sawa? Hivyo ni kama mara 5 10 plus 5. Kimsingi, nini modulo haina, ni inajaribu kugawanya idadi hii kwa hii moja, na anaona ni nini salio ya mgawanyiko. LAUREN Carvalho: Kwa hiyo tu anarudi salio. Hivyo namba moja ni nini? 5. Namba mbili? Watazamaji: 3. LAUREN Carvalho: 3. Idadi tatu? 0. Na nne ni 1. Hasa. LUCAS Freitas: Simple, sawa? LAUREN Carvalho: Kwa nini si sisi ruka hii tu kwa sababu sisi si kweli kuwa wakati, na watu kuonekana kuelewa. Hivyo hapa ni nini Lucas alikuwa tu kuzungumza juu. LUCAS Freitas: Sababu nyingine ni kwa nini mimi bila kutumia ints badala ya ikifungwa ni kwamba ikifungwa ni imprecise sana. Na kwa nini wao imprecise? Daudi alisema kwamba kuwakilisha integer, kwa mfano, sisi kutumia 0 na 1 ya, sawa? Na kisha wewe kimsingi kufanya kuzidisha, kufanya wale wote shughuli kujua nini idadi decimal una badala ya binary. Nini kinatokea sasa kama mimi kujaribu kuweka pointi decimal? Kweli, kwa mfano, kama mimi na idadi kama 3.33333? Ni anahisi kama 10 juu ya 3. Jinsi mimi kwenda kuhifadhi wote 3 kwamba mimi na baada ya hayo? Ni vigumu kweli, haki? Huwezi tu kuwaambia kompyuta, hey, mimi na 3, na basi kufanya hivyo milele. Kwa kweli kompyuta si smart kutosha kwa ajili ya hii. Hivyo kimsingi yote ya kompyuta yako haina ni kwamba anajaribu kuweka tarakimu kama wengi kama inaweza hadi kumbukumbu kwamba wewe. Basi hebu kusema kwamba ni kwenda kusema 3.3333, na hiyo ni yake. Hivyo si uwezo wa kweli kueleza hasa yale ambayo kuelea ni. LAUREN Carvalho: Tuna idadi finite bits, ambayo ina maana kwamba si kila idadi decimal ni kwenda kuwa uwezo wa kuwa na kuwakilishwa kwa usahihi. Na hivyo katika mfano huu, kama sisi ni uchapishaji nje 0.1, sisi ni sasa uchapishaji nje 20 ya maeneo. LUCAS Freitas: Kama mimi alikuwa akiwaambia nyie, unaweza kuweka idadi yoyote. Lakini kama wewe tu alifanya maeneo mawili, wewe Ningependa kupata 0.10, lakini kama wewe kuweka 20 maeneo, ni kwenda kuonyesha rundo ya s 'kwa sababu hii ni nini unaweza kuweka katika kumbukumbu, sawa? Lakini hapa, hadi 0, na kisha ni kuweka tu ni rundo la idadi random. Hii ni aina ya kama baadhi - LAUREN Carvalho: Hii ni kwa sababu tuko si uwezo wa kuwakilisha decimal hii just na idadi ya bits tuna. LUCAS Freitas: Na kisha kompyuta kimsingi ni kutoa idadi takataka. Hii si kweli thamani ya idadi. Watazamaji: Ni karibu kama wanaweza kupata [inaudible] kutumia [inaudible]. LAUREN Carvalho: Kwa hiyo maana ya hii ni kwamba hebu kusema kwamba badala ya kuwa 0.100014, chochote, nini kama ni 0.0999 - vizuri, OK. Hebu kujifanya kuwa jibu halisi kwa hii ilikuwa 0.9999999. Hiyo ni karibu sana na 1, lakini si hasa 1. Ni 0.99999. Hiyo ina maana kwamba kama mimi kuchukua 0.999, na mimi kuwatupia int, mimi kupata 0. Mimi si kupata 1. LUCAS Freitas: Kwa sababu kumbuka, akitoa kutoka kuelea kwa int, wewe tu kupuuza maeneo yote decimal. Wewe tu kupuuza yao. Hakuna kitu kama rounding up ni au kukimbia chini wakati typecast. Kwa kweli, kuna kazi hii gani rounding, ambayo ni sana muhimu, lakini wewe tu kufikiri kwamba wakati kufanya typecasting, ni tu kwenda kufuta kila kitu. Hivyo hata kama una 0.99999, ni kwenda tu kutoa 0 kama wewe typecast [Inaudible] integer. LAUREN Carvalho: Hivyo tu kuwa kweli na ufahamu ya yaliyo hatua katika usahihi, hasa wakati wa kuanza kutumia ikifungwa katika Pset1. Lakini kutembea kwa njia ya lazima nakuonyeni na kuwa vilevile. LUCAS Freitas: Na kwa kweli ni kweli ngumu, kwa mfano, kama mimi kuelea jibu 1 ni sawa na 1.0 juu ya 10, na kisha kuelea jibu 2 sawa na 10.0 juu ya 100.0. Wao ni idadi sawa, sawa? 0.1, sawa? 1 zaidi ya 10 au 10 zaidi ya 100. Lakini sasa kama mimi kujaribu kuona usawa, kama ikiwa jibu 1 ni sawa kujibu 2, labda siyo kweli kwenda kuwa kitu kimoja. Hivyo ikifungwa ni aina ya kama hiyo. Wao ni kama kufanya usawa.