>> 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.
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?
>> 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.