>> Rob: All wa kulia.
Karibu sehemu ya kwanza.
Mimi nina Rob.
>> JOSEPH: mimi nina Joseph.
>> Rob: Hivyo tutaweza kupiga mbizi haki in
Jambo la kwanza majadiliano juu ya ni appliance.
Hivyo hopefully zaidi ya wewe na kupakuliwa tayari.
Lakini unaweza kuona maelekezo katika cs50.net/appliance.
Oh mungu, sasa mimi nina binafsi fahamu.
Mimi bado kusikia.
>> JOSEPH: Wow, inaonekana kama ni disoriented.
>> Rob: Kwa hiyo baadhi ya watu wamekuwa kuwa masuala na hayo, hivyo si kusubiri hadi
dakika ya mwisho ya kuweka tatizo kwa kujaribu na kutatua Appliance na
kutafuta kwamba siyo kazi.
>> JOSEPH: Na kama kitu si kazi na unahitaji msaada, unaweza kwenda
cs50.net/discussion ambapo sisi na jukwaa ambapo
unaweza kutuma maswali yako.
Na tutaweza kupata yao hatimaye.
>> Rob: All wa kulia.
Hivyo hii ni nini Appliance inaonekana kama.
Tena, ni tu kabisa tofauti mfumo wa uendeshaji kukimbia ndani ya
chochote mfumo wa uendeshaji ninyi ni mbio juu ya mbali.
Na mambo kuu itabidi kutumia ni gedit.
Hivyo hopefully hii ina tayari kuwa tovuti ukoo.
terminal.
>> Na unaweza pia kukimbia Chrome ndani ya appliance.
Kumekuwa na michache ya watu ambao wana taarifa internet
si kazi katika appliance.
Na baadhi yao tu kudhani kuwa kuna hawatakiwi kuwa na
internet katika appliance.
Lakini ndiyo, kuna zinatakiwa kuwa internet.
>> Mimi itabidi kusema sasa hivi, lakini haina kweli maana ya kitu chochote.
Kama internet si kazi, hii ni nini huwa na haja
kuendesha kurekebisha.
Kama wewe ni kuwa masuala ya biashara, wala kukumbuka, tu baada ya juu
Kujadili, na tutaweza kusema, kukimbia hiyo.
Lakini internet lazima kufanya kazi.
>> Hivyo tu kitu kingine - yeah, hakuna kitu mwingine ni kweli husika.
Lakini mimi nilitaka uhakika kwamba -
kuona katika hii chini kulia kona.
Hivyo kila mmoja Vifaa yako lazima na anwani ya IP.
Na baadaye katika muhula, hii IP anwani itakuwa muhimu zaidi wakati
wewe ni kufanya kazi kwenye mtandao p-set, kwa sababu wewe utakuwa na uwezo wa kupata
tovuti wewe ni kazi ya kutoka yako Chrome ndani kwa kutumia anwani ya IP hii.
>> Lakini kile Mimi kama kutumia anwani ya IP kwa - na huna kwa kufanya hivyo, mimi
nataka tu kwa uhakika ni nje -
ni hapa.
Hivyo hii ni dirisha terminal juu ya Mac yangu, hii si katika
Appliance wakati wote.
Na unaweza kuangalia juu ya nini amri hii gani.
Lakini mimi nina kwenda SSH moja kwa moja kwa Appliance yangu.
Mimi sijui nini IP ni.
>> JOSEPH: 168 -
>> 168.224.1.0.
>> Rob: Kwa hiyo mara moja mimi nina done na hii, kuingia ndani
Sasa, kimsingi, hii ni sawa na terminal dirisha ndani ya Appliance yangu.
Basi, mimi pretty much kwa kweli kamwe kazi kutoka ndani ya Appliance yenyewe.
I just daima kuwa ni mbio katika background kupunguzwa
na SSHed ndani yake.
>> suala hilo na hii ni wewe si kwenda kuwa na uwezo wa kutumia gedit kwa urahisi
moja kwa moja kutokana na hili.
Lakini kama unataka kuwa baridi halisi hacker, basi unapaswa kupata kutumika kwa
amri line mhariri wa maandishi anyway.
Hivyo VIM na Emacs na Nano, yote haya ni njia mbadala mbalimbali.
Nano huelekea kuwa rahisi.
Na nadhani hana syntax mwangaza.
Oh, hapana, ni kabisa gani.
Hivyo unaweza kutumia Nano, kwa sababu kwamba moja rahisi sana.
>> Unaweza kuona amri zote hizi chini.
Hii kidogo karoti mfano.
Kama hawajaona hivyo kabla, itabidi pengine kuona ni mengi sasa.
Ni kwa ujumla maana yake kudhibiti karoti, kama chini kushoto ya keyboard yako
kudhibiti tabia.
Hivyo hapa ni kuwaambia yangu chini hapa -
oh, siyo kukatwa kama mimi zoom in
Hivyo Kudhibiti, X ni jinsi Mimi nina kwenda exit.
Na inasema naweza kugonga Y kwa Ndiyo, kwa ajili ya kuokoa, N kwa Hapana
Hivyo kwamba ni Nano.
>> VIM na Emacs huwa na kuwa kidogo zaidi ngumu na balaa.
Lakini unaweza kupata kutumika kwa hiyo, na kisha utasikia kupenda.
Hivyo hiyo ni kwamba.
>> JOSEPH: Hakuna haja ya kufanya hivyo.
>> Rob: Yeah.
Wewe ni huru kutumia gedit kwa salio ya muhula.
Hivyo yoyote appliance-kuhusiana maswali?
Au je, una mawazo yoyote juu ya kile kingine mahitaji ya kuwa amesema kuhusu kuhusu
appliance?
Ndiyo.
>> SPIKA 1: Wakati SSHed ndani yako kitu, alikuwa password Crimson?
>> Rob: Yeah.
password kwa kila kitu pretty much katika Appliance ni kwenda
kuwa Crimson.
>> SPIKA 2: kufunga kama IDE halisi juu ya appliance, kazi?
>> Rob: Mimi kufikiria Eclipse gani kuwa na Fedora version, katika kesi ambayo, ndiyo,
unaweza kufanya hivyo.
Ni pengine si kweli thamani yake.
>> SPIKA 2: OK.
Hivyo pengine rahisi kama nilitaka kutumia Eclipse, tu kutumia asili na
kisha upload -
>> Rob: Oh, kwamba ni pia pengine rahisi.
Lakini unaweza kupata kazi ndani ya appliance.
>> JOSEPH: Na kwa kamera, swali mara, unaweza kufunga mwingine
IDE ndani ya Appliance?
>> Rob: Eclipse kuwa mfano wa IDE.
Nyingine yoyote maswali Appliance?
Sawa.
>> Hivyo tutakuwa na sasa hoja juu ya mstari amri interface yanayohusiana na mambo, hivyo CLI.
Na tena, Mimi tu kwenda kufanya kazi katika hapa, kwa sababu hii ni sawa na
kufanya kazi ndani ya dirisha terminal ndani ya appliance.
Vipi kwamba font kuangalia?
Ni kwamba kubwa ya kutosha?
Sawa.
>> Hivyo kuna mengi ya amri hiyo unapaswa kupata pretty kutumika
katika muhula.
kubwa mbili kwa punde ni ls, orodha files katika orodha hii; na
cd, hivyo kubadili directory.
Hivyo siwezi mabadiliko ya desktop na kisha mfano ya kawaida sana ni cd kwa
directory na mara moja ls nini katika directory.
>> Watu pia wakati mwingine hawana kutambua kuwa kukamilika kwa Tab ni kitu.
Hivyo kama cd, VH, na kisha mimi kugonga Tab.
Mimi karibu kamwe aina nje jambo nzima.
Na kisha kama mimi kuweka kupiga Tab tena, itabidi moja kwa moja
kuanza listing kwa ajili yangu.
Ili niweze cd vhosts, mwenyeji wa ndani.
Na kwamba itakuja tu -
katika kesi wewe si habari mrefu kabla, directory ni neno lingine
kwa folder.
Hivyo sasa kama unaweza kuona -
hebu kuleta kwamba juu.
>> Hivyo sasa kama unaweza kuona katika mabano, wewe kuona kidogo tilde, kufyeka, vhost,
kufyeka, jeshi ndani.
Hivyo tilde, kwamba inahusu nyumbani directory yangu.
Ni directory uko katika wakati SSH in
Ni directory uko katika wakati wewe kufungua terminal.
Ni wapi kuanza.
Na hivyo mimi nina ndani ya nyumba directory yangu, na mimi nina ndani ya vhost
directory ndani ya nyumba directory yangu.
Na kisha mimi nina ndani ya mitaa mwenyeji wa directory ndani ya hiyo.
>> Kwa hiyo baadhi ya mambo mengine muhimu kwa cd -
au vizuri, kwa ujumla, hivyo dot daima inahusu saraka ya sasa.
Cd, dot ni amri pretty hauna maana.
Lakini hiyo ni kubadilika kwa saraka ya sasa.
moja muhimu zaidi katika suala la cd ni dot, dot, ambayo ni
tu kwenda juu directory moja.
>> Na kutambua kwamba hizi -
Nataka kusema Majina bandia, lakini haya alama, dot, na dot, dot, wale kazi
kwa pretty much amri yoyote wewe ni kwenda kuwa na mawazo ya mbio.
Hivyo kama cd ni pengine ambapo wewe utakuwa na kutumia zaidi, lakini haya si
mambo ambayo tu cd anaelewa.
Ni pretty much kitu mzima yako amri line anaelewa.
mengi ya mipango ya kuelewa dot na dot, nukta.
>> Hivyo nyingine muhimu wale - cd, dash.
Hivyo kwamba ni kwenda kuleta mimi directory mwisho kwamba nilikuwa in
Hivyo wakati mwingine mimi itabidi kufanya kitu kama, oh, mimi nina kazi katika hapa.
Na mimi kuona baadhi kosa na kitu, na Nitakwenda kuchunguza ni kwa kwenda
baadhi directory random mahali fulani.
Na mimi sijui kama kutakuwa na napenda huko.
Ni mapenzi.
Hivyo basi mimi kufanya chochote mimi nataka katika saraka hii.
Blah, blah, blah, blah, blah.
Na mimi nilikuwa kama, sawa, nataka kurudi nyuma ambapo mimi nilikuwa.
cd, dash, na huleta haki yangu nyuma.
>> Hivyo nina kwenda kutupa mengi haya wewe leo.
Mimi si wanatarajia kukariri wao wote.
Ni aina ya tu kujua kwamba zipo.
Na kisha baadaye wakati uko kama, hmm, nataka kwenda nyuma ya
directory kwamba nilikuwa tu katika, oh, kusubiri, kitu kama hicho lipo.
Huwezi kuwa na aina tu katika directory nzima tena.
>> JOSEPH: Na hatimaye wewe tu matumizi yao tena na tena, na
kutakuwa na kuwa misuli kumbukumbu.
>> Rob: Yeah.
Hivyo ni jinsi nilivyosema hapo kabla, kwamba tilde ni nyumbani saraka yako.
Ili niweze cd, tilde.
Lakini mimi si hata kuwa na kufanya hivyo kama mimi tu -
Nitakwenda nyuma directory hivyo si mfano pointless.
Lakini kama mimi tu kufanya cd, hilo pia ni sawa, kwenda nyumbani directory yangu.
Mimi amri, K.
>> JOSEPH: Unaweza pia aina ya wazi, neno, na ni lazima wazi ni.
>> Rob: Na nadhani pia Kudhibiti, L pia hufanya.
Hivyo kura ya njia tofauti.
Nadhani kuna baadhi ya tofauti ambapo wazi na Kudhibiti, L mapenzi tu
kweli kuiondoa juu na Mimi bado unaweza kitabu nyuma.
Amri, K literally kuharibu kila kitu, na
hawezi kitabu nyuma juu.
Kwa uchache sana, kwamba jinsi kazi katika iTerm2.
Sijui jinsi mambo mengine -
oh.
>> Pamoja na SSHing, hivyo kama wewe ni juu ya Windows, wewe ni kwenda na kushusha putty
ili SSH tangu Windows haina na kama kujengwa katika SSH chombo.
Kutoka Macs, unaweza tu SSH moja kwa moja kutoka dirisha terminal.
OK.
Maswali?
>> Pamoja na ls, hivyo kitu kuzoea na zaidi ya amri hizi ni -
vizuri, mimi itabidi kufanya moja.
Ls, dash, l.
Hivyo dash, l ni nini tunakwenda kuwaita bendera ya ls.
Na mengi ya amri hizi na bendera kuwa unaweza kupita kwao.
Hivyo katika kesi hii, dash, l ni bendera kwamba anasema ni kunipa full
orodha ya habari zote ya files haya.
>> Hivyo tunaona hapa kwamba desktop mara tarehe Julai 30 saa 00:54.
Mkono mara iliyopita katika Septemba 6.
Hizi ni ukubwa wa sasa na ka ya directories haya.
Huna kuelewa haya yote.
>> Mambo haya upande wa kushoto, haya ya drwx, kwamba itakuwa zaidi husika
baadaye wakati una kukabiliana na -
kwamba ina nini na nani ana ruhusa kuangalia files haya.
Na hivyo kama wewe walikuwa si user tu juu ya kompyuta hii, itakuwa na uwezo wa
kusema, OK, mimi inapaswa kuwa moja tu kuruhusiwa kuangalia faili hili au mimi nina
kwenda kuruhusu kila mtu kuangalia faili hii.
Hivyo mtu mwingine kwenye kompyuta yangu unaweza kuangalia faili hii.
Mimi wala hata kujua jambo hili - nini hii nini?
>> JOSEPH: Mimi nina uhakika kabisa, kwa kweli.
>> Rob: No wazo.
>> JOSEPH: Lakini kama hamjui, kuna amri ya kusaidia ambayo unaweza kutumia
kuwaambia nini pato maana yake.
Na kama aina katika mtu kabla ya amri -
hivyo M-A-N. Rob: Man.
Hivyo mtu ni mtu mwingine kwamba ni muhimu sana.
Na mtu, ls.
Hivyo kurasa mtu, na wote amri kwamba wewe ni kwenda kutumia
katika mstari amri, na pia kuwa na kazi ambayo itakuwa husika
na C. Hivyo unaweza mwanadamu -
na mimi kupuuzwa 3.
Lakini man 3 printf ni kwenda kuleta up C toleo la printf.
Lakini kama mimi tu kufanya mtu printf, hii ni kwenda kuleta up amri printf
kinachotokea katika mstari amri.
>> Hivyo mtu, ls.
kurasa mtu anaweza kuwa na pretty balaa.
Hapa, ingawa, utaona orodha hii wa wote wa bendera haya ls
anaelewa.
Hivyo kama sisi kwenda dash, l, na -
Mimi tu kwenda kwa kutupa hii saa wewe.
Lakini ili kutafuta, unataka kwa kwanza kugonga swali
alama au kufyeka kifungo.
Hivyo kufyeka.
>> Na kisha naweza kutafuta kwa chochote mimi nataka.
Hivyo nina kwenda kwa kufyeka kwa dash, l.
Na kuna ilikuwa.
Hivyo kutumia muda mrefu orodha format.
Kwamba haina msaada me kufikiri nini safu husika maana, lakini mimi
kudhani mahali fulani katika hapa itakuwa kueleza kwamba.
Hivyo matumizi mtu kurasa kwa ajili ya amri yoyote kwamba si mara moja kuelewa.
>> Mimi nina uhakika pretty unaweza hata mtu, mtu.
interface kwa online vyombo kumbukumbu.
Oh, moja ya mwisho moja kwamba labda kidogo husika ni ls, dash.
Hivyo taarifa kama mimi tu kufanya ls, Mimi kupata files haya matano.
Kama mimi kufanya ls, dash,, mimi kupata files mengi zaidi.
Kwa hiyo, jambo katika kawaida kati ya haya yote files mpya ni dot kabla.
>> Hivyo mkataba ni kwamba faili kwamba huanza na dot ni siri.
Hivyo huna wanataka kuona faili kwamba, wewe hawataki kuwa ni fujo na
directory yako ya nyimbo.
Ni tu wakati wewe wazi kuuliza, haki ya wote, ls, dash, unionyeshe.
a anasimama kwa mafaili yote, pamoja na wale siri.
Kwa hiyo baadhi ya amri nyingine.
Oh, maswali katika hatua hiyo?
Ndiyo.
>> SPIKA 3: Wakati wa kufanya ls, a, nini dot, dot?
>> Rob: Oh.
Hivyo hii ni nini nilikuwa kuzungumza juu.
Ni kitu kimoja ambapo Naweza kama cd, dot, dot.
Basi kitaalam, dot na dot, dot ni files ambazo zipo katika kila moja
directory ambapo dot file inahusu kwa saraka ya sasa.
Basi, ikiwa mimi cd, dot, mimi nina kwenda tu kukaa katika directory.
Na dot, dot siku zote ni uliopita directory moja ngazi ya juu.
Basi, ikiwa mimi kwenda katika magogo na ls, dash, al, Mimi utaona dot, dot. cd dot, dot
huleta mimi directory uliopita.
Yeah.
OK.
>> Hivyo mwingine pretty muhimu amri ni rm.
Hivyo kwamba ni nini tunakwenda kutumia kuondoa.
Na napenda kwa kweli kufanya mwingine amri ya kwanza.
Hivyo mkdir.
Mkdir ni jinsi gani unaweza kujenga directories.
Na mimi itabidi kuunda saraka la muda na kwenda katika directory kwamba muda.
Na kama ilivyotarajiwa, ni tupu.
Lakini kama mimi ls, dash,, mimi bado kuwa dot na dot, dot, kwa sababu dot inahusu
saraka ya sasa.
Na dot, dot inahusu directory uliopita.
Na hizo zote zipo bila kujali directory wewe ni in
>> Na hii ni lazima kabisa amri, lakini kugusa.
Mimi tu kutumia, kwa sababu ni njia rahisi kujenga files.
Hivyo kugusa, kugusa b, c kugusa ni kwenda kujenga files tatu kuitwa,
b, na c kwamba ni tupu kabisa.
Hivyo hatua ya mimi kujenga wale walio katika nafasi ya kwanza ni hivyo tu kwamba rm ni
jinsi gani tunaweza kuondoa yao.
Hivyo rm.
Ni kwenda kuuliza mimi, kuondoa mara kwa mara tupu file a?
Na basi mimi itabidi kusema Ndiyo.
>> Basi, ikiwa mimi kujua kwa uhakika kwamba nataka kufuta faili kwamba bila ya kuwa na kuwa na
ilisababisha, kuondoa mara kwa mara file tupu?, kisha rm, dash, f ni kwenda kuwa
bendera kwamba anasema, nguvu kuondoa bila hata kusababisha yangu, oh, ni wewe
uhakika unataka kufuta faili?
Ndiyo, mimi nina uhakika.
Hivyo rm, dash, fb mapenzi tu kufanya hivyo bila kuuliza.
>> Basi hebu kufanya baadhi directories zaidi.
mkdir, tmp2, cd, tmp2, kugusa, kugusa b.
OK.
Basi sasa mimi unataka kuondoa tmp2 kama directory.
Hivyo rm tmp2.
Huwezi kuondoa tmp2, ni directory.
Hivyo suala hapa ni kwamba rm haina mara moja kazi ya directories.
Ni tu maana kwa files kama files mashirika yasiyo ya directory.
>> Na hivyo nini tunaweza kufanya hapa ni rm, dash, r.
Kwamba anasimama kwa ajili recursively, ambayo inaweza maana yoyote kwa wewe bado.
Lakini wakati kupata kujirudia, kutakuwa na maana zaidi.
Hivyo rm, dash, r, tmp2 ni kwenda recursively kwenda katika directory hiyo.
Hivyo kushuka katika saraka ya tmp2?
Ndiyo, hebu kwenda katika hiyo.
Je, tunataka kuondoa tmp2 /?
Ndiyo.
Je, tunataka kuondoa tmp2 / b?
Ndiyo.
Sasa tunataka kuondoa directory tmp2?
Ndiyo.
Na hivyo sasa directory na kila kitu ndani ya
yake imekuwa kuondolewa.
>> Kuna kitaalam amri rmdir kwamba unaweza kutumia ili kuondoa
directories, lakini kazi tu juu ya directories tupu anyway.
Na kuona kwamba, hebu tu kufanya mkdir, tmp2 tena.
Tmp2, kugusa.
OK.
Basi, ikiwa mimi kujaribu kuondoa dirtmp2, kutakuwa na kusema, directory si tupu.
Basi, mimi pretty much kamwe kutumia kuondoa dir amri anyway, kwa sababu rm, dash,
r kazi ya directories tupu na mashirika yasiyo ya tupu directories.
>> Na pia, ikiwa mimi si unataka kuwa na kwenda kwa kuwa mchakato mzima wa
kushuka katika directory na kuondoa kila faili ya mtu binafsi, rm,
dash, rf, tmp2.
Na sasa ni gone.
>> Kitu kuwa makini kuhusu ni rm, dash, rf.
Na kukutisha mimi hata aina yake, kwa sababu kama mimi ajali
hit Enter au kitu.
Hivyo rm, dash, rf, tilde ingekuwa, bila kusababisha yangu, f haina haraka
yangu, itakuwa moja kwa moja kuondoa nyumba yangu nzima directory na
kila kitu ndani yake.
Hivyo unaweza kufikiri kwamba kitu kijinga kufanya.
Na vizuri, ni.
>> Lakini inaweza kutokea kwa urahisi sana na ajali kama, kusema, nilitaka kuondoa
slash yangu, vhost directory.
Na tu katika kuandika haraka, Mimi ajali ya kufanya hivyo.
Hiyo kuondoa recursively wote yangu nyumbani directory na vhost directory
katika saraka hii hasa kwamba tu hutokea kwa haipo hivi sasa.
Lakini hii bado ingekuwa kuondoa nyumba yangu nzima directory.
Angalau kwa kutokuwa na f, itakuwa haraka mimi kwanza.
Na ningependa kuwa kama, oh, hakuna, mimi hawataki kufanya hivyo.
Lakini watu, kufyeka, ikiwa ni pamoja na mimi huwa na kupata ndani ya
tabia ya daima rf-ing.
Hata files mara kwa mara kwamba naweza tu rm, c, mimi huwa tu rm, dash, rf, c.
Tu kuwa makini wakati uko rf-ing.
>> SPIKA 4: Je, C nini?
>> Rob: C ni mimi nina kuzungumza juu ya kwamba C file katika saraka hii, kwamba rm, c.
>> JOSEPH: Na zaidi hatari, kama matumizi ya nyota, lina maana ya kila kitu katika
directory.
Basi nini mimi kawaida huwa na kufanya ni mimi kwenda katika directory na mimi nataka
kuondoa mafaili yote huko.
Hivyo rm, dash, rf, Nyota.
>> Rob: Yeah.
Rm, dash, rf, Nyota.
>> JOSEPH: Na kama wewe si makini nini directory uko katika -
Mimi si katika temp, lakini mimi nilikuwa ajali katika nyumba directory yangu,
basi mimi itabidi kuondoa kila kitu katika nyumba directory yangu.
Na nimekuwa kweli amefanya kwamba kabla, na Nadhani umefanya kosa hii kabla au
Jay amefanya hiyo kabla.
>> Rob: Nimekuwa ajali kuondolewa -
hivyo kupuuza amri hiyo kwa kidogo.
>> JOSEPH: Si furaha.
>> Rob: Kwa hiyo katika slash bin directory ni kundi la binary files ambapo kutakuwa
kuwa ndio ukoo kama Clang.
Naam, Clang na kimsingi yote haya mambo ambayo mimi nina mbio katika amri
line ni katika hii slash bin directory.
>> JOSEPH: Kama ls ni katika hapa.
>> Rob: Kwa hiyo nukta, kufyeka, ls bila orodha saraka hii.
>> JOSEPH: Rm ni pia katika saraka hii.
>> Rob: Mimi ajali rm, rf-ed bin, ambayo kuondolewa amri yoyote mimi naweza
uwezekano wa milele wanataka.
Basi mimi tu reinstall Appliance mpya katika hatua hiyo.
>> JOSEPH: Hivyo kuwa makini sana wakati matumizi ya amri hii.
>> Watazamaji: [inaudible]?
>> Rob: Ndiyo.
Hiyo pia tabia mbaya kupata ndani.
Kama taarifa, mimi nina sasa -
vizuri, unaweza taarifa, lakini yangu zoom-katika labda unaweza.
Hivyo mimi nina sasa mzizi @ appliance.
Hivyo jharvard ni user tunataka wewe daima kutumia.
Mzizi ni user ambayo ina ruhusa kufanya kabisa kitu chochote.
>> Hivyo taarifa wakati mimi nina jharvard, kama mimi kujaribu cd -
nini directory hiyo?
Oh, mzizi ni mfano mzuri.
Hivyo cd, mizizi.
Ruhusa kukataliwa.
Kwa sababu kama sisi kuangalia orodha hii -
na tena, huna kwa kabisa kuelewa hili.
Lakini dashes hawa watatu akisema kwamba si basi nyingine yoyote
user katika saraka hii.
Na directory hutokea kwa kumilikiwa na user mizizi.
>> Hivyo ukweli kwamba mimi ni jharvard na hakuna mtu ambaye si mizizi kuruhusiwa kuingia katika
saraka hii, hiyo ina maana kwamba mimi nina kwenda kupata ruhusa alikanusha wakati mimi
kujaribu cd ndani yake.
Hivyo wakati mimi mizizi, nina ruhusa ya kufanya kabisa kitu chochote, ikiwa ni pamoja na
kufuta muhimu kwa Appliance na
kuharibu jambo nzima.
>> Hivyo ni tabia mbaya ya kupata katika tu waliopotea karibu yako
mfumo wa uendeshaji kama mizizi.
Mimi kufanya hivyo anyway.
Maswali?
Na mimi itabidi exit mzizi, kukaa kama jharvard.
OK.
>> Amri zaidi husika.
Hivyo kwenda nyuma katika temp yetu, mv amri anasimama kwa hoja.
Unaweza hoja.
Sasa tunataka kuiita b, hivyo sasa ni kuitwa b.
Au labda tunataka hoja b up directory moja.
Hivyo sasa directory hii tupu.
Mimi itabidi kurudi nyumbani directory yangu, na tunaona kwamba b ni katika hapa, kwa sababu
nyumbani directory mara moja directory kutoka directory kwamba b alikuwa in
>> Kuna pia linganisha.
Hivyo cp ni nakala sehemu super, dot, maandishi.
Naweza kuwaita ni s, dot, maandishi.
Sasa tuna wote sehemu super, dot, Nakala; na s, dot, maandishi.
Hii pia kazi juu ya directories.
Mimi RF-ed faili moja.
Hivyo cp -
vizuri, kwanza hebu jaribu cp, TMP, tmp2.
Hivyo omitting directory TMP.
Hivyo sawa na RM, tabia default ni kwa si kazi ya directories.
>> Na tena, sawa na RM, default tabia - vizuri, kupata ni kufanya kazi
na directories ni, dash-r mbali.
Hivyo nakala recursively temp directory katika tmp2.
Na hivyo sasa tuna wote TMP na tmp2, na kwamba si kwamba msaada tangu TMP
ilikuwa tupu katika nafasi ya kwanza.
Tmp2.
>> Sasa hebu nakala TMP katika tmp2.
Na sisi kuona kwamba tmp2 pia ina faili a, kwa sababu directory na
kila kitu ndani ya kwamba directory ilipelekwa.
Na kwamba wanaweza kuwa fulani na manufaa kama, wanasema wewe ni kufanya kazi
juu ya tatizo kuweka moja -
au kweli, baadaye seti tatizo ni muhimu zaidi, kwa sababu kuna
itakuwa rundo zima ya files na mambo.
>> Lakini unataka tu, kwa ajili ya kupasuliwa pili, wewe ni kama, sawa, mimi nina
kwenda kujaribu kitu tofauti.
Napenda tu nakala pset1 yangu yote directory katika pset1 Backup ili kwamba kama
Mimi kuishia screwing mambo up, siwezi kurudi nyuma katika directory yangu ziada.
Kuna njia sahihi zaidi ya versioning inaunga mkono juu code yako, lakini
hii ni mara njia ya haraka tu kufanya kuhakikisha kuwa nakala ya kitu
kwamba wewe ni kuhusu kurekebisha.
>> Hivyo echo ni pia amri moja-off kwamba aina ya sillily tu magazeti kwa
amri line nini hasa alitaka kurudia.
Hivyo echo hi.
Tutaweza tu magazeti hi.
Echo hujambo dunia.
Tutaweza magazeti hujambo dunia.
Kuja katika matumizi ya wakati kuanza kuchanganya amri.
>> Na tena, wala kutarajia wewe kabisa kuelewa hili bado, lakini ni
kitu kuona.
Na kisha kama wewe ni googling kwa mifano au wewe kutambua unataka kufanya
kitu, inaweza kuwa na manufaa.
Hivyo basi, kama mfano, hivyo ls, dash, l.
Hivyo hapa naona pato ya ls, dash, l.
Na mimi kusema, OK, nataka kuhifadhi kwamba katika faili.
Yote ya pato hii hapa, nataka kuweka katika faili tofauti.
>> Hivyo hii kidogo zaidi ya ishara ni nini tunakwenda kwa simu.
Sisi ni imetuma pato katika faili.
Hebu piga file blah, kwa sababu hiyo nini mimi huwa daima simu yake.
Hivyo sasa tunaona tuna faili blah hapa.
Na kama mimi kufungua it up, mimi utaona ni hasa pato na amri
kwamba mimi tu mbio.
Na vile vile, unaweza -
kama hii ilikuwa pato faili, hii ni kupata mawazo kutoka kwa file.
Ni nini amri hiyo I -
>> JOSEPH: Nadhani unaweza kutumia kidogo au zaidi, pengine.
>> Rob: Lakini vipi kuhusu tu chini blah?
Mimi sijui.
Kama wewe kuja katika hali hii, kama kuna psets kwamba ni muhimu kwa ajili ya.
>> JOSEPH: Unaweza bomba ndani echo.
Bomba file katika echo kuona.
>> Rob: Ni bomba.
>> JOSEPH: Sorry.
>> Rob: All wa kulia.
Hivyo hii ni pato kwa file.
Hii ni kupata Nakala kutoka faili na mkono ni juu ya mpango huo.
Na utapata pia kuona guy hii.
Hivyo hii ni aina ya kufanya wote kwa mara moja.
Na kwa kweli, mimi itabidi kuanzisha mbili mpya amri tu kufanya matumizi yake.
>> Historia ni amri Handy kwamba ni kwenda magazeti nje orodha ya
kitu chochote nimekuwa milele kukimbia amri line.
Hivyo tunaona hapa kila kitu nina mbio muda wote huu.
Kura ya ls ya.
>> Na amri nyingine muhimu ni Grep kwamba lengo lake ni kutafuta juu ya
Nakala kutafuta sampuli, vizuri, kuangalia kwa lolote
unataka kuangalia.
Na hivyo matumizi Handy hapa ni, kusema tunataka kunyakua historia.
Na mimi nataka kuangalia kwa amri ambapo mimi - nini
muhimu moja kwa kuangalia?
>> JOSEPH: [inaudible]?
>> Rob: Au hebu tu kuangalia kwa wote kugusa, kwa sababu yoyote.
Hivyo hii ni nini itakuwa kuangalia kama.
Na huna kabisa kuelewa kwamba.
Lakini wazo ni hapa, historia ni kutoa pato sawa ilivyokuwa hapa
ambapo ni uchapishaji nje nzima historia ya kila kitu nimekuwa milele kukimbia.
Sisi ni kisha kupita kwamba -
hivyo badala ya uchapishaji ni kwa screen, tunataka kupita kwamba kwa
amri Grep ambayo ni kuangalia kwa matukio yote ya neno kugusa.
>> Na hivyo kwa kutumia mchanganyiko wa historia zana na Grep, naona, OK,
hapa ni amri zote za nimekuwa milele kukimbia, na hapa ni moja kwa kiasi fulani ya kawaida.
Sisi ni chini.
Na ni pia kunipa amri I just mbio kwamba alikuwa
neno kugusa ndani yake.
Lakini bomba ni kitu pretty muhimu kwa kuchanganya programu mbalimbali.
Na kwa kweli, ni njia ya mkato kwa let me pato historia ya faili blah, na
napenda Grep kutumia faili blah kama nini nataka kuangalia juu.
Hivyo bomba ni njia ya mkato kwa amri hizo mbili.
Ndiyo.
>> SPIKA 4: [inaudible]?
>> Rob: Ndiyo.
Je, ni -
Oh.
Hebu mtihani.
Hivyo paka, mbwa, samaki.
Hivyo nataka Grep.
Dash, r, tena, ni kwenda kuwa recursively, hivyo nataka kuteremka chini ya
wote directories.
Nataka recursively Grep kwa wote - na napenda muda kupata
hii nje ya njia.
Kupuuza mimi.
OK.
>> Hivyo nataka muda Grep kwa matukio yote ya neno samaki.
Na hivyo hapa nini mimi kufanya ni grepping recursively kwa neno samaki.
Na nyota ina maana ya hayo yote, files katika saraka hii.
Na hivyo alinipa Ruhusa imekataliwa, kwa sababu hairuhusiwi kusoma kwamba
hasa file.
Lakini ni kupatikana samaki katika faili, mtihani.
>> Mimi naweza pia kusema, hasa, mimi tu wanataka kuangalia katika file blah, katika
kesi ambayo itakuwa si kupata kitu chochote.
Mimi nataka tu kuangalia katika faili, mtihani.
Ni mtapata samaki.
Hiyo ni amri pretty muhimu kujua kwa ujumla.
Kuna baadhi ya njia mbadala kwa Grep kwamba wanatakiwa kuwa zaidi
programu ya kirafiki, lakini mimi huwa bado kuanguka nyuma Grep.
Maswali?
OK.
>> Je, kuna amri nyingine?
Oh.
Moja tu-off moja kwamba mimi daima kupata kuwa na furaha ni cal.
Hivyo taarifa wakati mimi niko katika hii nzuri full-screen mode, mimi sina juu kama
toolbar au kitu chochote.
Hivyo cal tu anatoa me nzuri kidogo kalenda hiyo ni haki
sasa kukatwa, mimi kudhani.
Lakini nzuri amri kidogo.
>> JOSEPH: Ni [inaudible].
Amri nyingine ambayo unaweza kuwa kuonekana ni pamoja na Clang na kufanya.
Tutaweza kwenda juu yao katika undani zaidi baadaye.
Lakini kama wewe tumekuwa kazi Pset, unapaswa kuwa na
ukoo na hayo.
>> Rob: All wa kulia.
Maswali juu ya mstari amri mambo?
Sawa.
Hivyo basi hoja juu ya baadhi C-kuhusiana mambo ya ajabu.
Vigezo math.
OK.
Hivyo tu kama sisi tulikuwa na math katika Scratch, unaweza pia kutumia math katika C.
>> Kabla ya sisi kupata kwamba kabisa, hivyo vigezo.
Kumbuka kwamba wakati wowote kutangaza variable kama int x au kuelea y, wewe
na kuwapa aina kabla ya jina kutofautiana.
Hivyo aina tumeona hadi sasa ni int, kuelea, mara mbili, kwa muda mrefu muda mrefu, ambayo mimi
si kweli kujua kama tumekuwa kuonekana kwamba hadi sasa.
>> Kuna baadhi ya wale wengine.
Tumekuwa kuona char.
Kuna fupi, ambayo ni kama ni kinyume cha muda mrefu kwa muda mrefu ambapo ni
ndogo kuliko integer.
Sisi pia kuonekana kamba.
Kwa hiyo kile ni maalum kuhusu kamba?
Kwa nini mimi kusema ni si kabisa kama int?
>> SPIKA 4: Ni kweli haina kuwepo.
>> Rob: Yeah.
Hivyo sababu tu tuna string ni kwa sababu wakati wa kufanya
hash, ni pamoja na cs50.h.
Na tutaweza kuona mifano ya hili baadaye - oh, hiyo haina kushughulikia kwamba vizuri -
ambapo cs50.h ni kufanya kitu pamoja na mistari ya aina
def, char nyota, kamba.
>> Na ili kusema kwamba sisi kufanya hata kujua nini nyota char ni bado.
Lakini hii ni kusema tunataka kamba.
Sehemu yoyote tumekuwa kutumia kamba, wewe wangeweza kutumia char nyota,
ambayo kwa kweli ni aina hiyo ipo katika C lugha.
Lakini tutaweza kupata hiyo.
Oh, na huenda haki ya nyuma.
Nadhifu.
>> Kitu hivyo sawa na bool ambapo kweli na uongo.
Hiyo ni kweli kujengwa katika aina katika C. Badala yake, ni tu, je, hii na
thamani zero?
Kisha tutaweza tu kufikiria kuwa ni ya uongo.
Je hii kuwa thamani -
vizuri, je, hii na yoyote thamani ya kwamba ni si sifuri?
Kisha tutaweza kufikiria kuwa ni kweli.
Hivyo moja ni kweli, wawili ni kweli, kitu chochote nonzero ni kweli.
Basi hizo hizo.
Maswali juu ya kutangaza vigezo na aina kutofautiana na yote hayo?
Yeah.
>> SPIKA 4: Kwa muda mrefu kwa muda mrefu, katika kitabu, alisema alikuwa na kuwa kwa muda mrefu kwa muda mrefu int.
Lakini tu kwa muda mrefu kwa muda mrefu kazi?
>> Rob: Kwa hiyo modifiers aina hizi.
Hivyo int x.
Ili tuweze pia kusema unsigned int x.
Tunaweza kusema short int x.
Tunaweza kusema kwa muda mrefu kwa muda mrefu int x.
Lakini pretty much yeyote mambo hayo mimi tu alisema, unsigned int, short int,
muda mrefu muda mrefu int, unaweza kujikwamua ya int na itakuwa tu kudhani
kwamba maana int.
Hivyo unsigned x, ambayo ina maana ya -
unajua jinsi ya kawaida na int, unaweza kusema x sawa na hasi 3?
Pamoja na unsigned int, huwezi.
>> JOSEPH: Na tena, kwa kamera, Swali ni kuwa, nini tofauti
kati ya muda mrefu muda mrefu int na tu muda mrefu?
>> Rob: Yeah.
Hivyo mimi karibu kamwe kuandika muda mrefu muda mrefu int.
Nitaandika muda mrefu kwa muda mrefu.
>> JOSEPH: maswali yoyote?
>> Rob: OK.
Hivyo silly kidogo kumbukumbu ya kwamba ni jinsi gani sisi kutangaza kutofautiana na initialize
kutofautiana na kutangaza mwingine kutofautiana na initialize
yote katika hatua moja.
Hivyo tamko la kutofautiana na initialization variable hawana
kwa lakini inaweza kuwa juu ya mstari huo.
>> Hivyo tuna kiwango operators math kwamba wewe ni kutumika kwa -
plus, minus, kugawanya, mara kwa mara.
Kuna pia modulo, ambayo tutaweza kuona.
Kuna si, angalau katika C, kujengwa kwa nguvu
exponentiation kareti operator.
Naam, kuna kareti operator, lakini siyo nguvu.
>> JOSEPH: Lakini si exponentiation, ndiyo.
>> Rob: Je, si kutumia kareti kudhani kwamba maana yake ni
kama squared au chochote.
Hivyo baadhi ya mambo ya kuweka katika akili juu ya mgawanyiko.
Mimi itabidi kusimama.
Hivyo alitangaza initialize jibu.
Hivyo sisi ni kusema kuelea jibu sawa na 1 kugawanywa na 10.
Magazeti jibu kwa maeneo mawili decimal.
>> Na hii ni aina ya kitu ambayo mimi ingekuwa mtu printf kufikiri kwamba
nini heck haina%, dot, 2f maana yake nini?
Na kwamba tu ina maana, vizuri, kupuuza 0.2.
Na%, f ni nini sisi kutumia magazeti kwa kuelea.
0.2 ni kusema, magazeti kwamba kuelea kwa maeneo mawili decimal.
Hivyo mpango huu mdudu, na unaweza tumeona hii kabla ya katika baadhi
CS kabla ya kozi.
Lakini ni nini kwamba mdudu?
>> SPIKA 5: Zero.
>> Rob: Yeah.
Hivyo wakati sisi kusema, jibu ni sawa na 1 kugawanywa na 10, tunataka
kujibu kuwa 0.1.
Lakini 1 kugawanywa na 10, 1 ni integer, 10 ni integer.
Na hivyo wakati sisi kufanya integer kugawanywa na integer, tunakwenda kupata nyuma
integer.
Hivyo 1 kugawanywa na 10 ni 0.1.
>> Tangu inahitaji kutupa integer, ni tu kwenda kutupa kwamba
mahali decimal na kusema kwamba jibu ni 0.
Na hivyo wakati sisi magazeti kujibu hapa, ni kwenda magazeti 0.00.
>> JOSEPH: Na kama note, ni kweli kumtupia mbali nini baada ya
decimal uhakika.
Hivyo kama wewe badala yake alikuwa 6 kugawanywa na 10, unaweza kufikiri kwamba ingekuwa kukupa
0.6 na basi ingekuwa pande zote hadi 1.
Lakini kwa kweli, kile kinachotokea wakati ni aina kazi yake ni kwamba matone ni nini
baada ya uhakika decimal.
Hivyo 0.6 gani kuwa 0.
>> Rob: Yeah.
Na tutaweza kusema Truncate kwa ajili hiyo.
Hivyo wakati wowote kutupwa int, decimal ni truncated.
Hivyo fix kwa kuwa - kuna kweli mbili.
Na mimi nina kwenda kufanya hivyo pili, kwa sababu hii ni moja ya kurekebisha rahisi sana.
>> Hivyo fix moja ni kutumia ikifungwa katika mgawanyiko.
Na kwa kweli, wewe tu na kufanya mmoja wao kuelea.
Lakini ni kiasi fulani wazi tu kufanya wote wawili ikifungwa.
Hivyo 1.0 kugawanywa na 10.0 ni kugawa ikifungwa mbili.
Hivyo jibu kuishia kuwa kuelea, na hivyo utakuwa
usahihi magazeti 0.10 hapa.
>> Kitu ambacho si kazi vizuri kuhusu, yaani, vizuri, hakika, ilikuwa ni rahisi
kutosha kubadilisha 1 kwa kuelea kwa kufanya hivyo 1.0.
Lakini nini kama badala tulikuwa integers mbili kama int x sawa na 1 na int y
sawa na 10, na kisha tulitaka ya kufanya x kugawanywa na y?
Hivyo si rahisi tu kufanya x.0 au kitu.
>> Hivyo fix kwa kuwa ni akitoa.
Hivyo akitoa ni njia C kubadili kutoka kwa mmoja variable ya aina nyingine.
Hivyo hapa, 1 ni integer.
Na kwa kuweka kuelea hii mbele ya yake, sisi ni akitoa 1 kwa kuelea.
Na hivyo hii itakuwa kubadilisha 1-1.0.
Na hii kubadilisha 10-10.0.
>> Na kisha mambo kuishi vile vile kwa toleo la awali sisi tu ilionyesha
ambapo, kama ilivyotarajiwa, sisi kupata 0.10 na kutakuwa na magazeti kwamba.
Na tunaweza kufanya hivyo kwa vigezo, pia.
Kwa hiyo tunaweza kusema, kuelea x kugawanywa na kuelea y.
>> JOSEPH: maswali yoyote?
>> Rob: Hivyo tu kama katika math mara kwa mara, tuna operator kuendelezwa.
Hivyo katika math darasani, wewe ni zaidi uwezekano kuiita utaratibu wa shughuli.
Hapa, rasmi mrefu ni operator kuendelezwa.
Lakini operator precedence, au zaidi operators, ni kama ungependa kutarajia.
>> Hivyo tu kama katika math, mara 2 10 ni kwenda kuwa makundi karibu zaidi kuliko
hii 10 kugawanywa na 2 na kisha 2.
utaratibu wa shughuli, itakuwa kufanya 2 mara 10, 10 kugawanywa na 2, na kisha
kutakuwa na kufanya 20 plus 5 plus 2.
Hivyo ni kama ilivyotarajiwa, na unaweza kutumia mabano kwa maneno kikundi.
Huwezi kutumia mabano mraba kwa maneno kikundi.
Yeah?
>> SPIKA 5: Je, unaweza kweli tu kwenda nyuma pili moja?
Je, unaweza kutupwa int kwa kamba?
>> Rob: Kwa hiyo katika C, unaweza kutupwa kitu chochote unataka kitu chochote unataka.
Hiyo haina maana ni jambo zuri la kufanya.
Hivyo wakati wewe kutupwa int kwa kamba, hiyo ina maana -
na tutaweza kupata katika hili zaidi kabisa -
>> JOSEPH: Mengi baadaye.
>> Rob: Mimi hakutaka kusema mengi baadaye, hivyo mimi alijaribu kubadili uamuzi wangu.
Tutaweza kupata ndani yake mengi vizuri zaidi baadaye ambapo kweli wakati una
kamba kutofautiana -
hivyo kamba inaweza kuwa kiholela muda mrefu, sawa?
Na tumekuwa kusema kwamba int ni ka nne na muda mrefu muda mrefu ni nane
ka na kuelea ni ka nne.
Hivyo kamba, kama int, ina tu idadi fulani ya ka yake.
Na kwamba itakuwa ka nne.
>> Lakini kamba inaweza kuwa pretty kiholela kwa muda mrefu, sawa?
Hivyo hujambo dunia tayari, kama kwamba ni 10 wahusika au chochote, kwamba tayari
kwenda kuwa juu ya 4 ka Mimi inaweza kufaa katika kamba.
Na hivyo ni jinsi gani masharti kweli kazi ni kwamba wao ni ambapo katika kumbukumbu kamba kwamba
ni kuwa naendelea.
>> Na hivyo zaidi ya hapa, wakati mimi kusema string x sawa na hujambo dunia, ndani ya x ni
kusema tu, oh, hello dunia ni kuhifadhiwa katika eneo hili hasa katika kumbukumbu.
Hivyo kama sisi kujaribu kutupwa integer kwa kamba, kisha sisi ni kujaribu kutafsiri
baadhi ya sehemu random ya kumbukumbu kama kamba.
Na kwamba karibu kila mara mapumziko mambo.
>> JOSEPH: Lakini kama confuses wewe, tutaweza kuwa na kufunika
zaidi katika kina baadaye.
>> Rob: Yeah.
Hii ni wapi utaenda kupata katika kuyatumia.
Na kwamba ni chunk kubwa ya wiki mbili ya kozi hii.
>> SPIKA 6: Je, ni kazi kama vitu katika lugha nyingine au si kweli?
>> Rob: Kwa hiyo katika lugha nyingine, vitu itakuwa kuwakilishwa kwa kutumia kuyatumia.
Ni si kitu kimoja, ingawa.
Mawazo yoyote?
>> JOSEPH: Hapana
No mawazo.
>> Rob: OK.
>> JOSEPH: Next.
>> Rob: Tu kwenda na kwamba.
Sawa.
Hivyo modulo.
Tu kama sisi na plus, minus, kugawanya, na kuzidisha.
Hivyo modulo ni moja unaweza kuwa na kuona mbele.
Na tu anasema, kutoa mimi salio ya.
Hivyo 55% 10.
salio ya kufanya 55 kugawanywa na 10 itakuwa 5.
Hivyo 55% 10 ni 5.
Na 3% 5 itakuwa 3.
8% 8 itakuwa 0.
16% 15 itakuwa 1.
>> JOSEPH: Jambo moja kukumbuka na hii, pia, ni wanaweza kufanya kazi kama ilivyotarajiwa
kama wewe kutumia namba hasi.
Hasi 5% 4, baadhi ya watu kufikiri kwamba ni -
gani unafikiri hasi 5% 4 itakuwa?
>> SPIKA 5: One.
>> JOSEPH: Kwa hiyo baadhi ya watu wanasema moja, baadhi ya watu wanasema hasi moja.
Lakini ni nini -
>> Rob: Mimi bila hata kuwa alisema mmoja wa wale.
>> JOSEPH: Two, sorry.
Baadhi ya watu wanasema -
>> Rob: Tatu.
>> JOSEPH: Tatu?
>> Rob: Negative -
nini - hasi tano -
>> JOSEPH: Tatu, tatu, tatu.
Sorry.
Kwa sababu modulo, kwa ujumla, wakati wameweza kuonekana mahali pengine, ni kawaida maana
kurudi idadi chanya, sawa?
>> Rob: Hivyo wakati sisi kusema katika math, 10% ya, wao huwa na nataka kukupa -
kama sisi Mod na 10, basi tunatarajia kupata idadi kati ya 0 na 9.
Katika hapa, kwamba si kesi hiyo kupata idadi hasi akarudi.
>> JOSEPH: Kwa hiyo hasi 5% 4 itakuwa mbaya 1.
>> Rob: Lakini ni nadra kuwa wewe ni mod-ing idadi hasi kwa kuanzia.
Ruka hii.
>> JOSEPH: Yeah.
>> Rob: Meh.
OK.
Hivyo jambo moja mwisho kwa uhakika kuhusu ikifungwa ni ni tabia hatari,
lakini ikifungwa ni si halisi uwakilishi.
Hivyo kurejea ka tena, kumbuka kwamba int ni daima ka nne na a
kuelea ni daima ka nne.
Basi mfano Lucas ni nzuri.
>> Hivyo kufikiri ya 1 kugawanywa na 3.
Hivyo 0.3333333.
Kama mimi tu na bits 32, jinsi gani Mimi kuhifadhi 0.33333 hasa?
Na labda, kwa sababu yoyote, unaweza kusema, yote ya haki, vizuri, hebu sema tu
kwamba hii hasa 1011001, hebu tu kusema kwamba lazima 0.333333.
Naam, una idadi mahususi ya bits hizo, hivyo ni vigumu
kuwakilisha kila moja hatua floating thamani kutokana na bits 32 tu.
>> Naam, ni vigumu kuwakilisha yoyote thamani yaliyo hatua kutokana na usio -
vizuri, kutokana na idadi yoyote mahususi ya bits.
Hivyo suala hapa ni vizuri, wakati sisi kutumika magazeti kwa maeneo mawili decimal,
hatukuwa usahihi kupata jibu 0.10.
Lakini chini ya Hood, ni kweli kuwa kuhifadhiwa karibu kama inawezekana kwa
0.10 kama bits wale wanaweza kuwakilisha.
Je, hii ni juu ya slide ijayo?
Au siyo?
>> JOSEPH: Yeah, ni kwamba.
>> Rob: Blegh, blegh.
>> JOSEPH: Yeah, unaweza tu kuvuta maelezo juu kidogo.
>> Rob: Mimi tu kwenda kuvuta katika siku ya mwisho juu ya hilo.
Oh gosh wangu, kwamba [inaudible].
Hivyo idadi hiyo.
Hiyo ni nini itakuwa kuchapishwa kama sisi kukimbia mpango huo.
Na taarifa kwamba si kweli mpango mkubwa kama sisi ni tu kujali juu ya kama
2:58 maeneo decimal.
Kama sisi tu awali kuchapishwa 0.10, na kwamba ni kwa nini tuliona kitu kibaya.
Lakini mara sisi kuanza kupata katika halisi, idadi halisi kwamba ni
anayewakilisha, tunaona kwamba hawawezi hasa kuwakilisha 0.1.
>> Na sehemu ya tatizo hapa ni kama, yote ya haki, kwamba ni sawa, lakini, vizuri,
kwanza, nini kama sisi alivyojaribu kufanya jibu ni sawa na ni sawa na 0.1?
Ni kwamba kwenda na kurudi kweli au uongo?
Na hivyo ni vigumu kusema.
Nadhani ni kweli ili kurudi kweli.
Je, ni ya kwanza -
Mimi sijui.
jibu ni mara moja kuanza kushughulika na maadili ya hatua floating, wewe pretty
sana haipaswi kutumia usawa kwa sababu ya kutokuwa sahihi hii.
>> Na kwa wote mnajua, ni mia mahali decimal kwamba
yaliyo hatua hakuwa na uwezo kwa usahihi kushughulikia.
Na hivyo usawa tu kushindwa hata ingawa idadi - kama ungalikuwa
kutumia idadi kamili, idadi lazima wamekuwa sawa.
Ni katika kipindi cha kama 50 mahesabu ya kutumia hizi yaliyo
maadili uhakika, makosa unaweza kujenga juu na juu na juu, na
mambo tu kupata vibaya.
>> JOSEPH: Na kumekuwa na kweli mifano maarufu ya kinachotokea hii.
Kama NASA wahandisi waliopata hii makosa, na kusababisha makombora kulipuka katika
hewa baada ya wao tumekuwa ilizindua.
Na kura ya masuala kama hayo.
Hivyo yeah.
>> SPIKA 6: Baada ya kusema 0.3 f, gani butu ya yale mengine?
Au gani pande zote juu au chini?
>> Rob: Je printf pande zote ni?
>> JOSEPH: Nadhani truncates printf.
>> Rob: OK.
Ili tuweze vile vile kwenda katika kinyume mwelekeo wa hii ambapo, katika kesi hii,
karibu inaweza kuwakilisha 0.1 alikuwa pamoja na idadi hii.
karibu ni kuwa na uwezo wa kuwakilisha 0.2 ni katika kinyume
mwelekeo, .199999996356 au kitu.
Hivyo kama sisi akaenda katika mwelekeo wa mambo, basi printf 0.3 f atarudi
1.99 badala ya 2.00.
>> JOSEPH: Na mimi nina kabisa uhakika juu ya hilo.
Unaweza kutaka kuandika kidogo, kidogo mpango wa kuangalia tu.
>> Rob: Ingawa, sisi ni uhakika wa nini ni kwamba kama walijaribu kuwafukuza kwamba
int, na akitoa kwa int ni kwenda kusababisha kwa butu decimal, kama
wewe kujaribu kutupwa 1.9999999 kwa int, utapata 1.
Na hivyo unapaswa ujumla kutumia kazi pande zote katika maktaba math.
Maswali?
OK.
>> JOSEPH: Kwa hiyo kuhamia kwenye hali ya na maneno Boolean.
Hivyo kuwa na hizi kuona mbele.
Na kwa kweli, basi mimi kuhakikisha yangu kompyuta ni katika format hapa.
Nafasi.
Sorry, tunakwenda kuwa na kushughulika kidogo na cutoff pembezoni.
>> Lakini yeah, you guys tumeona hii kabla ya katika Scratch.
Hivyo haki hii hapa ni kujieleza ambayo hutumiwa katika
taarifa masharti.
Hivyo kujibu zaidi ya sifuri mapenzi nawaambia kweli au uongo.
Na hawa ni kweli ni muhimu, kwa sababu wao kuruhusu sisi kuanzisha
mantiki katika kanuni yetu.
>> Hivyo kwa mfano, hii ni programu ya Imeandikwa katika Scratch kwamba anauliza user
kwa integer na anawaambia kama integer kwamba wao hakuwapeni
chanya au hasi idadi.
Na kubadilika juu ya hapa kuona ni wewe kwanza magazeti nje taarifa,
nipe integer.
Na kisha waombe kwa ajili ya integer.
>> Na kisha kutumia mantiki masharti juu ya hapa kuangalia kama idadi hiyo
ilikuwa kwa kweli ni kubwa kuliko sufuri au la.
Kwa hiyo hapa tuna kujieleza Boolean ndani ya masharti Kama taarifa.
Je, kuna maswali yoyote?
Je, kuna maswali yoyote kuhusu hilo?
OK.
>> Hivyo kuna zaidi ya zaidi ya, bila shaka.
Unaweza kujenga maneno Boolean kutumia zaidi ya aina ya mambo
kudhani ya katika math.
Hivyo zaidi ya.
Kwamba lazima kuwa chini ya.
Sorry.
Na nafasi.
>> Rob: Hasha wewe kuondoka.
>> JOSEPH: All wa kulia.
Hivyo zaidi ya, chini ya, zaidi ya kuliko au sawa na, chini ya
kuliko au sawa na.
Sisi kutumia usawa mara mbili kwa kuangalia kwa usawa, kwa sababu moja ni sawa na njia
kazi, haki?
Ndiyo.
Na kisha tunaweza pia si sawa na kutumia Moderators chapa, sawa.
>> Na alama hii mshangao alama unaweza pia inaweza kupanuliwa ili kama unataka
Geuza aina yoyote ya Boolean kujieleza, unaweza kufanya hivyo.
Hivyo hii itakuwa kutathmini kwa kweli tu kama jibu ni chini ya
zaidi kuliko au sawa na sifuri.
Maswali yoyote juu ya hilo?
OK.
>> Hivyo unaweza pia kuchanganya haya maneno kwa kutumia mantiki Na na
mantiki Or.
Hivyo hii ni haki na ishara, ambayo inapaswa kuwa Shift, 7.
Na hii ni bomba ishara, ambayo ni si kesi ya chini L. Ni moja
hiyo ni haki juu ya Enter muhimu yako.
Hivyo kutumia wawili hawa kwa mfano mantiki na mantiki Or.
>> Hivyo hii itakuwa tu kurudi kweli kama jibu ni moja, mbili, tatu, au minne.
Na hii tu kurudi kweli kama jibu ni zaidi ya hapo kila upande.
Hivyo si moja, mbili, tatu, au minne.
Na namna gani kutumia kwamba katika kujieleza -
>> Rob: Au zero au tano.
>> JOSEPH: Zero au tano.
Sorry.
Ndiyo, ndiyo, ndiyo.
OK.
Na juu ya hapa sasa, njia hiyo hiyo bila kutumia maneno hayo, ndogo
upande usemi wa Kama masharti taarifa, ungekuwa pia kutumia
njia sawa na tu kuweka ndani ya mabano ya taarifa Kama.
Hivyo printf hii tu moto kama jibu ni moja, mbili, tatu, au minne.
Maswali yoyote juu ya kuchanganya maneno?
>> Hivyo kuna mwingine masharti kujenga sisi kuwaita Kama / Else.
Hivyo kimsingi, hii sasa ina maana, OK, Kama kitu nilitaka kuangalia hakuwa
kweli, basi kwenda Else na kufanya kwamba hatua nyingine.
Hivyo katika kesi hii, nilimuuliza user kwa integer.
Ni integer zaidi zero?
Ndiyo?
Vizuri, basi ilichukua idadi chanya.
Kama siyo, basi ni lazima kuwa na wamekuwa hasi au sifuri.
Hivyo ilichukua namba hasi au sifuri katika kesi hii.
Ndiyo.
Au sifuri.
>> Na kisha sisi pia kuwa Kama / Mwingine, Kama na mwingine.
Hivyo hii unatuwezesha kutekeleza mlolongo wa mambo tu kama ndio kwanza kushindwa.
Hivyo katika kesi hii, sasa sisi ni kufanya moja mwisho pick sifuri.
Hivyo kama wao wala ilichukua chanya wala namba hasi, basi ni lazima
yamechukua sifuri.
Hivyo tu inakwenda chini mlolongo kama hii.
>> Hivyo mfano wa jinsi Kama ni tofauti na -
Kama / Else ni tofauti na tu mlolongo wa ikiwa.
Na hii ni swali la kawaida kwamba watu kuuliza ni vizuri, kama kupata kama
95 katika CS50, itakuwaje hii mpango kukuambia?
>> SPIKA 5: You got A.
>> JOSEPH: Ndiyo.
You got kila moja mmoja wa wale haki.
You got A, wewe got B, wewe got C na D, sawa?
Hivyo yote haya kupata tathmini katika utaratibu.
Hivyo wakati 95 ni zaidi ya 90, ni pia zaidi ya 80, pia ni
zaidi ya 70, na ni pia zaidi ya 60.
Hivyo got wale wote darasa.
Na mimi kudhani wewe ungekuwa tu wanataka A.
>> njia ya kurekebisha kwamba ni kuchukua nafasi ya wale walio na Else / Kama 's.
Hivyo katika hali hii, anaona kwamba 95 ni zaidi ya 90, na kisha ni gani
kutathmini wengine wa taarifa.
Maswali yoyote kuhusu hilo?
>> Hivyo kuna aina nyingine masharti ya muundo kwamba sisi hapa ambayo sisi
kuwaita taarifa kubadili.
Hivyo hii utapata kimsingi kuangalia nini thamani ya idadi ya kuweka
katika taarifa kubadili ni.
Hivyo katika hali hii, sisi ni byte juu ya n, na sisi ni kusema, oh, kama n ni
moja, kisha magazeti taarifa hiyo.
Na kisha kuvunja, ambayo ina maana exit nje ya taarifa kubadili.
>> Kama siyo moja, basi, vizuri, hatimaye kuangalia yote ya kesi hizo.
Na hivyo hundi kama ni moja au mbili au tatu, na prints ipasavyo.
Na nini keyword hii default hapa chini njia ni kama hawakuwa kuingia yoyote
ya hizo, basi sema batili.
Basi hebu kusema naomba kwa ajili ya n na user anitiaye nne.
Naam, ni mechi hakuna kesi hizo, hivyo itakuwa magazeti nini katika
sehemu default.
Ndiyo, swali?
>> SPIKA 5: Je, unaweza kutumia Boolean maneno badala ya
moja, mbili, au tatu?
>> JOSEPH: Kwa hiyo swali ni je, unaweza kutumia Maneno Boolean badala ya moja,
mbili, na tatu?
Na katika C, naamini hawezi kufanya hivyo.
Lakini katika lugha nyingine, ambayo unaweza kukutana mwishoni mwa
muhula kama JavaScript, unaweza.
Naam, ingekuwa compute kwanza kwamba thamani na kisha kutumia katika
kubadili kauli.
Yeah?
>> Rob: Kwa hiyo sehemu ya faida ya kubadili kauli ni kufikiria kama alifanya hivyo
kama Kama / Else, hivyo kama ikiwa n sawa na sawa na moja au chochote.
Mwingine / Kama n sawa na sawa na mbili, chochote.
Mwingine / Kama n sawa na sawa na tatu.
Hivyo njia mpango huo kukimbia ni itakuwa sequentially kwenda chini orodha hiyo
na kuangalia, ni n moja?
Nope.
Ni n mbili?
Nope.
Ni n tatu?
Yeah.
Kufanya hivyo.
>> Ambapo pamoja na kauli kubadili, ni kweli na uwezo wa kukusanya kuwa ni
kweli haraka.
Na kwa haraka kama ni anasema kubadili, ni anasema, wote haki, n ni mbili, mimi
mara moja kwenda Rukia ambapo Mimi zinatakiwa kuanza utekelezaji.
Mimi si kwenda kuangalia kwanza, ni n moja, ni n mbili?
Ni anaweza kwa mara moja kuanza kufanya nini ni zinatakiwa kufanya.
>> Na kwa sababu hiyo, haiwezi kuchukua hali ya Boolean.
Au pengine itakuwa ni kufanya mtiririko, kama, sawa, ni n
zaidi ya sifuri?
Mwingine ni n zaidi ya 10 au chochote.
>> JOSEPH: Katika kesi hiyo, kama wewe kutumika Kama / Mwingine, Kama, basi kubadili ingekuwa
kukimbia takriban mara tatu kwa kasi zaidi kuliko Kama / Mwingine, Kama.
Tunaweza kuandaa kubadili kwa vile njia kwamba hatuna kuvunja
baada ya kila moja ya matukio.
Hivyo katika kesi hii, mimi nina partitioning idadi ambayo sisi kuchagua katika moja na
wawili kuwa si idadi kubwa na tatu kuwa idadi kubwa.
>> Hivyo katika kesi hii, kama n ni moja au mbili, hit kesi na basi itakuwa
kuanguka kwa sababu hakuna mapumziko.
Na itakuwa kuishia hapa.
Hivyo kama sisi kuchukua moja, itakuwa kufanya printf na kisha kuvunja hivyo kwamba hakuna
hii ni kunyongwa.
Na bila shaka, kama wanaingia katika tatu au kitu kingine, basi itakuwa ruka
wale na si kwenda huko, na ni nitafanya badala
sambamba line.
Je, kuna maswali yoyote kuhusu hilo?
Ndiyo?
>> SPIKA 4: Je, wewe kupata kosa kama wewe alikuwa na mapumziko baada ya kesi moja lakini
hawakuwa na kitu kwa ajili yake nini?
>> JOSEPH: Kwa hiyo swali ni gani unaweza kupata kosa kama una mapumziko baada ya
kesi moja lakini kuna kitu cha kufanya?
Na jibu ni hapana.
Wewe si kweli kupata makosa.
Yeah, mm hmm.
>> Hivyo kama aina ya mabadiliko kidogo hapa, Mimi naenda kuweka printf hapa.
Whoops.
Hivyo gani hii magazeti kama Mimi kuweka moja katika kama pembejeo?
Yeah.
Ni waliniambia hakuwa na kuchukua idadi kubwa mara mbili, sawa?
Kwa sababu itakuwa hit kwamba kesi ya kwanza, itakuwa si kuvunja, na ingekuwa kuanguka
kwa njia ya kesi ya pili.
Maswali yoyote kuhusu hilo?
>> Rob: Je, una swali jingine?
>> JOSEPH: OK, baridi.
Sawa.
Kwa hiyo, kuna kitu kingine sisi kuwaita ternary operator ambayo kimsingi ni
mbadala syntax kwa kufanya Kama na kisha mwingine.
Na inakuwezesha kufanya hayo yote juu ya mstari mmoja.
Hivyo katika mpango huu, hasa Mimi nina kuuliza user kwa n.
Na kama n ni zaidi ya 100, nawaambia nao ilichukua idadi kubwa.
Mwingine mimi kuwaambia wao ilichukua idadi ndogo.
>> Ili tuweze kutumia hii syntax kweli kwa muda mrefu, kamba, S, na kisha kuangalia kama n ni
zaidi ya 100 na kuwapa yake ipasavyo.
Lakini tunaweza kufanya hii zaidi mafupi kwa kutumia hii ternary operator syntax
ambayo inahusisha swali alama na koloni.
Hivyo swali ni kimsingi kuuliza swali, sawa?
>> Rob: Labda kuvuta juu ya hilo.
>> JOSEPH: Ndiyo.
Nzuri uhakika.
Hivyo hii ni operator ternary.
Mimi kwanza kuuliza swali, ni n zaidi ya 100?
Kama ni, basi mimi nitafanya kwanza sehemu kabla ya koloni.
Kama siyo, basi mimi nitafanya sehemu ya pili baada ya koloni.
Hivyo kama n ni zaidi ya 100, kisha ni tar juu na unaweka
kwamba katika kamba s.
Kama n ni chini ya 100, ni tar chini na kisha unaweka kwamba katika kamba s.
Hivyo kwamba condense chunk hii kubwa chini katika tu kwamba mstari mmoja.
>> SPIKA 5: Je, kuwa maarufu?
>> JOSEPH: Ndiyo, ni maarufu kabisa kwa mambo ambapo kimsingi unataka
wala zoezi msingi aina fulani ya hali hiyo.
Na katika kesi hii, sisi kujaribu hawawajui thamani kwa kamba s.
Siyo hivyo -
Mimi nadhani si kweli wanapendelea katika kesi nyingine.
Lakini ni muhimu hasa kwa ajili ya zoezi hili.
>> Rob: Hiyo ni mfano pretty kawaida ambapo una baadhi variable kwamba
wewe ni kwenda kusema, kama kitu, kuweka variable hii thamani moja; mwingine, kuweka
variable hii thamani mwingine.
Na kwamba ni mazingira ambapo kutumia ternary.
>> JOSEPH: Na wewe kuokoa kura ya mistari, sawa?
Na tu hufanya code yako arguably kidogo zaidi someka.
Ndiyo, swali?
>> SPIKA 6: Kwa ternary, unaweza kwenda, kamba s usawa s, alama swali?
Na kisha unaweza kuwa na kusema, chaguzi tano tofauti.
Na kulingana na nini idadi ya n mara, unaweza kuchagua mmoja wa wale?
>> JOSEPH: Kwa hiyo swali ni, kuna aina ya syntax ambapo unaweza kufanya string
s ni sawa na n, na kisha kuwa na zaidi ya miaka miwili chaguzi baada ya kwamba alama swali?
Na jibu rahisi ni hapana, kuna si kweli njia nzuri ya kufanya hivyo isipokuwa
unataka kiota nyingi ternary operators ndani ya kila mmoja.
>> Unaweza kufanya kama n zaidi ya 100, swali, na kisha mwingine
ternary operator, n zaidi ya 50, swali alama, na kiota njia hiyo.
Lakini katika mazingira, kanuni yako ni kupata aina ya unreadable na messy,
na inaweza kuwa bora tu kwenda kwa Taarifa Kama / Else katika hatua hiyo.
>> Rob: Na pia, kama upande note, PHP kimakosa kutekeleza ternary
operator kama kwamba ternaries Furushi hawana hata kazi kama ni lazima.
>> JOSEPH: Yeah.
Hivyo anapata kidogo utata, hasa wakati wa kwenda
kwa lugha mbalimbali.
>> Rob: Ni utata wa kutosha kwamba lugha ni makosa juu yake.
>> JOSEPH: Hivyo kweli, tu kufafanua, haina kila mtu kujua kwamba
% S gani juu ya hapa?
Maswali yoyote kuhusu hilo?
Nadhani tu kwa ajili ya kamera,% s kimsingi unatuwezesha kuweka placeholder
kwa kamba.
Na kisha mwishoni, sisi bayana kwamba variable tunataka kuweka ndani ya hii
mmiliki mahali ni s.
Hivyo kwamba kimsingi inachukua s na kuiweka katika hapa.
Na kisha itakuwa magazeti nje, ilichukua juu au ilichukua idadi ndogo.
OK.
>> Hivyo loops kuruhusu kufanya mambo katika mwendo mviringo, sawa?
Unaweza kuwa wamekutana hii katika Scratch katika mfumo wa milele matanzi
au kurudia mpaka au Rudia hasa idadi ya nyakati.
Hivyo hii ni kwa nini ni nzuri kwa ajili yetu?
Naam, katika C, hebu sema tuna hii wimbo kutekelezwa katika Scratch kwamba
kuimba, hii ni wimbo kwamba hauna mwisho.
Ni tu unaendelea na kuendelea na juu ya milele na milele.
Naam, unaweza si kweli kufanya mpango ambayo ina idadi ya usio wa printf
kauli katika yake, sawa?
>> Hivyo katika hali hii hasa, kwa njia moja kwamba unaweza kufanya kazi hii na
kufanya hivyo magazeti milele ni kwa badala yake kutumia Wakati kitanzi.
Hivyo Wakati kitanzi nitafanya nini katika mwili wa braces mawili ambayo
ni yake kulingana na kile hali ni.
Hivyo katika mfano huu fulani kabla ya, kama tunataka magazeti hii milele, nini
Tunaweza kufanya?
Naam, hakika, right?
>> Hivyo hii aina ya unachanganya wazo baadhi ya kujieleza Boolean
pamoja na kitanzi.
Na sisi kujifunza kuhusu Boolean maneno mapema.
Hivyo wakati wowote hali ndani ya kwamba Wakati bado kweli, kitanzi hii
nitafanya juu na juu tena na tena.
Na katika kesi hii, kama sisi tu ugavi kwa kweli, hii husababisha usio
kitanzi ambayo Prints wimbo na juu na juu ya kama sisi taka kabla ya bila
kuwa na mpango ambayo ina usio idadi ya kauli printf, ambayo ni
haiwezekani.
>> Hivyo zaidi compellingly, ingawa, unaweza kutumia kwa
kutofautiana na hali hiyo.
Basi hebu kusema tunataka kurudia maneno, kabisa loopy, mara 10.
Basi nini unaweza kufanya na Wakati kitanzi ni unaweza kwanza initialize kukabiliana na
variable nje ya Wakati kitanzi hadi 10.
Na kisha kimsingi, kila wakati unaweza kwenda kupitia Wakati kitanzi, magazeti nje
taarifa na kisha kupunguza kukabiliana na kutofautiana mpaka mwisho,
wakati fulani, mara moja sisi Ondoa mimi kutosha mara kwa mara, 1 kutoka mimi mara ya kutosha -
na tu kufafanua, mimi minus minus maana mimi ni sawa na mimi minus 1.
>> Hiyo kimsingi kuleta mimi chini ya mahali ambapo mara moja mimi kugonga zero, hii
hali ni kweli tena na hivyo exits nje ya kitanzi.
Hivyo kabisa loopy tu Prints mara 10.
Maswali yoyote kuhusu Wakati kitanzi?
OK.
>> Kwa hiyo, kuna njia hiyo tunaweza kufanya nini sisi tu alivyofanya katika namna zaidi mafupi na
kile tunachokiita Kwa kitanzi.
Hivyo kitanzi Kwa lina initialization, hali, na
update, kama tulikuwa kabla ya katika kitanzi hii Wakati.
Hivyo basi tuangalie.
Katika hili kitanzi Wakati, tulikuwa na initialization, wakati huo tulikuwa na
sharti kwamba sisi checked.
Na wakati huo tulikuwa na update hatua ya juu.
>> Na kitanzi Kwa maana, hii kimsingi inachukua mambo haya matatu na unabadilika ni
chini katika mstari mmoja.
Hivyo jambo la kwanza kwamba hana katika Kwa kitanzi ni initialization.
Na kisha kufanya semicolon, na kisha kufanya hali, ambayo ni mimi
zaidi ya zero huenda zaidi ya hapo, na kisha update hatua.
Hivyo hii anapata kutumbuiza katika mwisho kabisa ya kitanzi mwili.
Hivyo programu hizi mbili ni kimsingi sawa.
>> Maswali yoyote?
Kwa hiyo kile ni tofauti moja kati ya hizi mbili?
Je, mtu yeyote uhakika ni nje?
Ni inaweza kuwa kidogo hila.
Ni tu tofauti ndogo sana.
Ndiyo?
>> SPIKA 5: Wewe bila kuwa na uwezo wa kutumia Mimi variable nje ya Kwa kitanzi
[Inaudible]?
>> JOSEPH: Hasa.
Hivyo hii ni kitu tutaweza kupata baadaye kuitwa wigo kutofautiana.
Lakini kimsingi, hii int mimi maisha nje ya kitanzi hii Wakati.
Hivyo mara hii kitanzi Wakati ni kufanyika utekelezaji, mimi utakuwa na uwezo wa kutumia Mimi baadaye
juu ya katika mpango.
>> Ambapo pamoja na hii kwa kitanzi, hii mimi int ni scoped ndani ya hii Kwa kitanzi.
Na kwa sababu ni ndani ya sehemu hii ya kitanzi Kwa maana, kwamba kuanza
katika mabano na mwisho kwa brace curly zaidi ya hapo.
Jambo lolote la alitangaza ndani ya hapa haiwezi kutumiwa nje.
Basi, ikiwa mimi kujaribu kutumia mimi nje, itabidi niambie, ishara undeclared.
Na kimsingi, napenda kuwa na uwezo wa matumizi yake.
>> Rob: Na pia, miaka 10 iliyopita, katika literally kesi zote, braces curly ni
nini kutumiwa kuamua wigo wa kutofautiana.
Hivyo huko, int mimi ni sawa na 10 ni alitangaza ndani ya hii
seti ya braces curly.
Na hivyo basi muda mrefu kama wewe kujaribu kutumia mimi kabla ya brace hii curly, ni nzuri.
Unaweza kuona pale unapoandika kufanya, wewe kuona dash, dash, magonjwa ya zinaa, sawa, c99.
>> Hivyo, ambayo ni toleo ya baadaye ya C kwamba GCC imetekeleza kwamba pia inatoa
njia ya mkato hii.
Hivyo hii kutumika si kuruhusiwa katika C. Na unaweza kuona kwa nini, kwa sababu hii int
Mimi ni nje ya brace hii curly lakini ni bado inaonekana kuwa katika
wigo wa braces haya curly.
Lakini hili ni jambo rahisi sana, na hivyo ni ugani nzuri.
>> JOSEPH: maswali yoyote?
OK.
Basi nini muhimu zaidi ni kwamba wakati mwingine unataka aina ya mabadiliko katika
kitanzi yako, sawa?
Hawataki tu lazima magazeti kabisa loopy wakati wote, wewe
wanataka kuhesabu chini kutoka 10 au kitu.
Na hivyo unaweza kutumia kukabiliana na variable ndani ya kitanzi kama vizuri.
Na katika kesi hii, mpango huu tu makosa chini kutoka 10 njia yote chini.
Na ni nini si magazeti?
Haina magazeti sifuri, haki, kwa sababu wakati -
Ndiyo, pia haina magazeti 11.
>> Hivyo hana magazeti zero, kwa sababu wakati Mimi ni sifuri, kumbuka, kutathmini
hali ya kabla ya unaendelea kutekeleza kitanzi mwili.
Na wakati mimi ni zero, hii ni uongo, hivyo haina magazeti nje kuhesabu chini
zero, ni tu Prints nje kuhesabu chini ya 10 njia yote chini ya 1.
Kama sisi kweli alitaka magazeti sifuri, kisha tunataka kuweka ishara sawa
baada ya hii zaidi ya ishara.
OK.
>> Hivyo njia moja ya kufanya mchango uthibitisho, ambayo ni wakati kuuliza user kufanya
kitu, unataka kuhakikisha kuwa kufuata maelekezo yako, ni kutumia
Wakati kitanzi, sawa?
Hivyo katika kesi hii, mimi nina kuuliza kwa idadi chanya na basi mimi nina
kusubiri kwa ajili ya pembejeo.
>> Na kisha I checked Wakati pembejeo ni chini ya sifuri, kuendelea kuuliza yao.
Hivyo muda mrefu kama wao nipe namba kwamba ni si chanya, kuendelea kuuliza,
kuendelea kuuliza, kuendelea kuuliza.
Lakini ni nini aina ya weird kuhusu hili?
Au nini haionekani mojawapo kuhusu muundo huu hapa hapa?
Mtu yeyote?
Ndiyo?
>> SPIKA 6: Wewe ni kurudia maelekezo ya mara mbili.
>> JOSEPH: Haki.
Hivyo tuna kauli mbili printf hapa, sawa?
Kwa hiyo, kuna njia tunaweza kupata hii tu chini ya moja ambayo ingeweza kufanya yetu
code rahisi kusoma na a kidogo zaidi safi.
Na kisha sisi bila kuwa na kuwa Kupata katika mara mbili kama vizuri.
Na njia moja unaweza kufanya hivyo ni kwa kutumia Do-Wakati kitanzi.
>> Na Do-Wakati kitanzi kimsingi ni aina mbalimbali za Wakati kitanzi ambapo
chochote ni ndani ya braces curly anapata kunyongwa angalau mara moja.
Hivyo katika hapa, mimi kutangaza, int pembejeo, nje ya kwanza.
Na kisha mimi tu kusema, kufanya hivyo maelekezo wakati pembejeo
ni chini ya sifuri.
Hivyo hits Je kwanza.
Ni siku zote kutekeleza hii angalau mara moja, hivyo daima kuuliza user
kwa ajili ya pembejeo angalau mara moja.
Na kisha kutathmini pembejeo kwamba, na unaendelea katika mduara.
Ndiyo, swali?
>> SPIKA 6: Je, kuna njia ya kufanya hivyo [Inaudible] aina, kama kama wewe kusema,
GetString, na mtu [inaudible]
kuna njia ya [inaudible]
>> JOSEPH: Kwa hiyo swali ni, kuna njia ya kufanya mchango uthibitisho kama mtumiaji
haina kuweka katika haki aina ya kutofautiana?
Hivyo kama sisi kuomba kwa ajili ya int na wao kutupa kamba badala yake.
Na katika kazi ambayo sisi kutekeleza kwa ajili yenu, GetInt, GetString katika yote ya
kazi hizo, kwa kweli tayari kufanya aina ya msingi ya aina pembejeo
uthibitisho chini ya kofia.
Hivyo kama wewe ni kutumia kazi kwamba sisi alitoa wewe, si kweli kuwa kwa.
>> Lakini kama unataka kuangalia zaidi katika jinsi unaweza kweli kufanya hivyo, unaweza kuangalia
chini ya kofia faili I/O--
faili, kiwango I / O kazi kama kusoma kutoka pembejeo kiwango na
kiwango pato.
Na unaweza kupata hali nzuri zaidi jinsi unavyoweza kufanya hivyo.
>> Rob: One suala hilo, ingawa, ni hasa kwa mfano wewe
akasema, unatarajia string na mimi kuingia int.
Jinsi gani unaweza kuwaambia tofauti kati ya makusudi kutaka
kamba 123 dhidi ya kutaka int 123?
Hivyo kamba, ni pretty much hakuna uthibitisho, ni tu chochote
aliingia utakuwa kutafsiri kama kamba.
>> Int ni rahisi, kwa sababu hakuna jambo pembejeo kuchukua kutoka kwa mtumiaji, wewe ni
daima kuchukua kamba.
Na hivyo string kwamba unaweza kisha kuangalia, ni yote haya
kweli numeric tarakimu?
>> JOSEPH: OK.
Maswali yoyote kuhusu Do-Wakati kitanzi?
>> Rob: Oh, na hii pia ni -
kurejea wigo, kwa kiasi fulani ya kawaida makosa ni kujaribu kutumia baadhi ya mitaa
variable kutoka ndani ya hii Do-Wakati kitanzi ndani ya hali hii.
Na kwa kweli, kama sisi tu got kuondoa hii na kusema, int pembejeo ni sawa na
GetInt, kisha compiler itakuwa kelele katika yetu, kwa sababu pembejeo haipo
nje ya wigo wa haya braces curly.
>> JOSEPH: Na hii ndiyo maana sisi haja lineup hii hapa.
OK.
Hivyo unaweza pia kuvunja nje ya kitanzi mapema kama unataka.
Hivyo hii ni njia tofauti ya kutekeleza kile ambacho sisi tu kutekelezwa.
Na badala ya kutumia hali ndani ya mabano, sisi ni kutumia
Kama taarifa ndani ya mwili ya Do-Wakati kitanzi.
>> Na kimsingi, wakati pembejeo ni hatimaye zaidi ya sifuri, sisi
kuvunja nje ya kitanzi.
Na hivyo tutakuwa kwenda wote njia ya chini hapa.
Na unaweza kuona kwamba hii ingekuwa pengine kuliko katika hii
mazingira, kwa sababu ni kidogo kidogo safi na kidogo
kidogo rahisi kusoma.
Wakati huu, aina ya na mistari ya ziada katika hiyo.
Ni kidogo tu uglier, Nadhani, kwa maana.
Ndiyo, swali?
>> SPIKA 4: Je, kuvunja tu kupata wewe nje ya seti moja ya braces?
>> JOSEPH: Haki.
Hivyo, swali ni kuvunja tu kupata nje ya kitanzi moja?
Na jibu ni ndiyo.
Hivyo kama una Furushi Kwa tanzi, kwa mfano, kama mimi na Kwa int mimi ni sawa na 0
mpaka 10 na kisha Kwa int J sawa na 0 mpaka 10, kama mimi kuvunja nje ya ndani
kitanzi, mimi bado kwenda kwa kitanzi nje.
Hivyo itabidi kuweka kufanya shughuli nje.
Maswali yoyote kuhusu hilo?
Ndiyo?
>> SPIKA 5: Lakini kuvunja kazi tu kwa braces curly, si kwa ajili ya wengine
kauli?
[Inaudible]
>> JOSEPH: Kwa hiyo swali ni kuvunja kazi tu kwa loops kinyume na
taarifa nyingine kama Kama?
Na ndiyo, kwamba ni kesi, kwa sababu wewe ni kuvunja nje ya kitanzi, haki,
katika akili.
>> Rob: Katika idadi kubwa ya kesi, ni hii ni aina ya Kama kitu,
kisha kuvunja.
Hivyo huna kuvunja kuomba Kama kwamba ni Kumalizika kwa mpango kuzunguka.
Na pia, hii si mengi ya kitanzi, lakini kumbuka kwamba swichi ni pia
kuvunjwa nje ya na mapumziko.
Tuliona mapumziko zinatumika na swichi kabla ya.
>> JOSEPH: Na unaweza pia matumizi yao katika Wakati loops na Kwa matanzi.
Maswali yoyote?
OK.
Hivyo up ya pili ni kazi.
Basi unaweza kutumika mmoja wa hawa BYOB vitalu katika Scratch mradi wako.
Na hii kimsingi inaruhusu kufafanua seti ya
maelekezo ya kufuatwa.
>> Na nini maana na kwamba ni hebu fikiria nyuma math, haki, algebra.
Una nini sisi kuwaita kazi ya x, baadhi variable, na hebu sema hii
kazi ni f ya x sawa na x pamoja na 5.
Hivyo unaweza kufikiria f ya x kama hii nyeusi sanduku kwamba inachukua 15 na kisha
inazalisha 20.
>> Hivyo zaidi kwa ujumla, kazi ni kitu kwamba inachukua baadhi ya pembejeo na
kisha hutoa baadhi mazao.
Na kwa nini ni kazi nzuri?
Wao ni nzuri kwa sababu idadi ya.
Hivyo gani mtu unataka kuchukua kumchoma nini shirika inamaanisha nini?
Katika suala la kwa nini kazi ni msaada?
Ndiyo?
>> SPIKA 4: Ni inafanya yako code zaidi someka.
>> JOSEPH: Haki.
Hivyo moja ya mambo ni inafanya code yako zaidi someka, sawa?
Badala ya kuwa na kama int x sawa na x mara x mara x, naweza kuwa na mchemraba wa x,
ambayo ni zaidi someka na zaidi kueleweka kwa msomaji.
>> Shirika ni pia katika suala la kugawanyika up code yako katika manageable
sehemu, ili badala ya kujaribu kutekeleza yote haya katika moja ya muda mrefu sehemu
katika kuu, unaweza aina ya mgawanyiko it up ndani ya kama, OK, hebu kuandika kazi
hadi utengenezaji wa mchemraba kitu, hebu kuandika kazi ya mraba kitu.
Kwa njia hiyo unaweza kupasuliwa juu katika vidogo, sehemu kidogo kwamba unaweza kukabiliana na
kinyume na kujaribu kukabiliana na tatizo kubwa wote mara moja.
>> Rob: Au hata kidogo, sehemu kidogo kwamba wewe na mpenzi unaweza kukabiliana na.
>> JOSEPH: Yeah.
>> Rob: Kwa hiyo badala ya wote wewe ni kujaribu implant moja
kazi kwa wakati mmoja.
>> JOSEPH: Kurahisisha.
Mtu unataka kuchukua nadhani?
Ndiyo?
>> SPIKA 5: Zaidi marudio.
>> JOSEPH: Haki.
Hivyo suala moja ambalo unaweza kufanya na kurahisisha ni kwamba ni aina ya juu ya
mistari hiyo kama re-usability ni kwamba mara moja mimi kuandika cube kazi, naweza
kutumia tu kwamba tena na tena na tena tena katika mpango wangu badala ya kuandika
x mara x mara x juu ya na tena na tena.
Na kurahisisha hapa pia tu maana inafanya code aina yako ya
rahisi Debug mara moja kupasuliwa up huu katika kazi.
Kwa sababu kisha unaweza localize ambapo matatizo yako aina ya ni.
Maswali yoyote?
>> Hivyo wazo mwingine ni uchukuaji, sawa?
Hii nyeusi sanduku.
Kama unajua nini GetInt gani kupokea pembejeo kutoka kwa mtumiaji?
Sisi si kweli niliwaambia, sawa?
Wote tumekuwa kuambia ni GetInt gani hasa nini anasema ni gani.
Hivyo hata kama hatuna kukuambia jinsi kazi, bado kujua.
>> Hivyo katika kesi hii Hasa, hii ni kazi quadruple ambayo haina
mambo mbalimbali ya pembejeo kuzalisha pato.
Na unaweza mara nne idadi kwa kuzidisha ni na watu wanne.
Au unaweza kile tunachokiita kidogo kuhama ni na mbili.
Na tutaweza cover hii kidogo baadaye.
Na hakuna haja ya kujua jinsi hii kazi kweli kazi kwa muda mrefu kama
kazi kama ilivyoelezwa.
>> Hivyo chini ya kofia, mimi inaweza kuwa kama, kurudi mara pembejeo
nane kugawanywa na mbili.
Na bila kujua, sawa?
Wote unahitaji kujua ni haina nini anasema.
Hivyo kwamba ni jambo muhimu kuhusu kufikirika tu.
>> Na kitu kingine ni aina ya wazo hili ya localizing code yako moja
sehemu fulani.
Hivyo kama una tatizo, unaweza kufanya si na kwenda wote juu ya kanuni yako kujaribu
kurekebisha ambapo tatizo ni.
Hivyo katika kesi hii, mimi kutekelezwa mchemraba makosa.
Nilidhani cube ilikuwa kuzidisha na tatu.
>> Hivyo katika kesi hii, hii ni programu ya moja kwamba tu ina kuzidisha na tatu
kila mahali.
Na kuna mpango mwingine ambayo ina factored cube nje katika kazi.
Na hivyo sasa kama nataka kurekebisha makosa yangu hapa, nina kurekebisha kila line moja
wa kanuni katika mpango huu.
Wakati kwa upande mwingine, kama mimi kutumia kazi, mimi tu haja ya kubadili
nini ilikuwa na makosa katika sehemu moja.
>> Hivyo katika sayansi ya kompyuta, sisi kuwaita pembejeo na mazao.
Pembejeo walioitwa vigezo au hoja, na matokeo walioitwa
kurudi maadili.
Na tutaona jinsi hii inatusaidia aina ya kufafanua kazi katika pili.
Hivyo hii ni ufafanuzi kazi kwa cubing.
Hivyo inachukua pembejeo, na kisha kuirudisha kwamba wakati idadi
yenyewe mara tatu.
Basi hebu kuvunja hii.
>> Hivyo tuna kazi header, ambayo kimsingi lina mambo matatu.
Hivyo tuna vigezo, ambayo ni, kama nilivyosema hapo kabla,
pembejeo katika kazi hii.
Na basi sisi kutoa kazi jina.
Katika kesi hiyo, ni wito mraba.
Na kisha sisi bayana ni aina gani ya thamani ya kurudi ni.
>> Hivyo katika kesi hii, mchemraba yangu kazi inachukua katika integer na pia
anarudi integer.
Basi, ikiwa mimi kupita katika mbili, mbili ni integer, kuirudisha nane kwangu, ambayo
ni integer.
Hivyo kurudi jina aina vigezo.
Maswali kuhusu hilo?
>> Na kisha kurudi thamani ni kweli fulani mwishoni mwa kwa kusema kurudi
na kisha kurudi chochote ina thamani ya kurudi.
Hivyo katika kesi hii, kama sisi kuweka yote pamoja, kazi inachukua katika
vigezo, ni wito kitu, na kuirudisha kitu ambacho ni aina
kwamba tunasema ni kwenda kuwa.
Maswali yoyote?
>> Hivyo ni jinsi gani sisi kutumia kazi?
Naam, sisi kuandika kazi na kisha sisi kutumia katika mpango wetu, sawa?
Basi, mimi kuitwa kuwa ni mchemraba, na kisha naweza kutumia mraba.
>> Lakini ni nini muhimu kutambua ni kwamba mambo utaratibu.
Kama mimi na mchemraba chini kuu, ni kwenda kukimbia katika mchemraba.
Na katika hatua hii, kuna kitu aitwaye cube katika mpango, na ni
tu kwenda kuwa kama mimi na sijui nini mchemraba ni.
>> Hivyo atakuambia, thabiti tamko la kazi.
Hiyo ni hitilafu ambayo inaonyesha up.
Na hivyo katika kesi hii, mchemraba ni chini ya kuu, hivyo si kwenda
kujua kuhusu hilo.
>> SPIKA 5: Hivyo kuu ni kawaida kazi mwisho defined?
>> JOSEPH: Kwa hiyo swali ni, ni kuu kawaida mwisho
kitu kwamba Ningependa kufafanua?
Na hakuna.
Ni kwa sababu sisi kawaida kama kuu kwa kuwa saa ya juu, right?
Kwa sababu hiyo jambo la kwanza unataka programu ya kufungua
mpango wa kuona.
Na hivyo ni jinsi gani sisi kutatua suala hili la sisi wanataka kuu kwa kuwa saa ya juu, lakini
kazi kwamba tunataka, tunataka yao kuwa chini ya kuu bado kuwa na uwezo wa kutumia
yao ndani ya kuu?
>> Naam, sisi kutumia kile tunachokiita kazi mfano.
Basi nini kazi mfano kimsingi ni ni ni ya kwanza inachukua nini
sahihi au kazi header ya nini tunataka kutekeleza chini
hapa, na sisi kuiweka katika juu ya mpango huo.
>> Hivyo katika kesi hii, tunasema kwamba, vizuri, baadaye katika mpango wetu, tunakwenda
kufanya ahadi ya kutekeleza mpango huu kazi kuitwa int mchemraba, ambayo inachukua
integer pembejeo.
Basi sasa, kwa sababu ni juu ya kuu, kuu, ni kwenda kusema, oh, vizuri,
baadaye katika mpango, kwamba kinaendelea kuwa huko ili niweze rejea, hivyo mimi itabidi
tu basi ni kwenda kupitia kwa sasa.
>> Na kisha chini, sisi kutekeleza mraba.
Na kisha kuu tu kusema, vizuri, itakuwa aina ya kiungo
haya alama mbili pamoja.
Na tutaweza cover yale ambayo maana baadaye.
Na hivyo utakuwa kujua kwamba hii ni cube kazi ambayo ni lazima kutumia.
>> Rob: [inaudible] kuhusu kutaka kuu kwa chini au
juu, nimeona zote mbili.
Kuna mambo ambayo tu kama kuweka kuu chini.
Lakini mara moja mradi anapata hasa kubwa, kwa kawaida kuu ni katika
faili yote peke yake.
Na katika hatua hiyo, kama int cube line ingekuwa -
ndani ya stdio.h ni rundo ya mistari kama hiyo int
cube int pembejeo line.
>> Na hivyo wale prototypes ni mambo huwa na kuweka katika header files, katika
ambayo uhakika, haijalishi.
Naam, haijalishi.
Wale daima kwenda juu.
Na kama kuu ni si file yote yake mwenyewe, huna na wasiwasi juu ya kuweka
kazi ya mtu binafsi prototypes katika faili.
>> JOSEPH: Na tutaweza kupata kidogo kidogo baadaye wakati Rob kuanza kuzungumza
kuhusu kuandaa.
Na hivyo kuna pia tofauti kati ya parameter na hoja.
Na parameter ni yale tu sisi kuwaita pembejeo hizi wakati
sisi kufafanua kazi.
Na sisi kuiita hoja wakati sisi kweli kupita katika kazi.
>> Hivyo katika kesi hii, ni parameter, kama sisi alisema kabla.
Na wakati sisi kweli matumizi yake zaidi ya hapo, mchemraba wa x, kisha x yenyewe ni
kile tunachokiita hoja kufanya kazi mchemraba.
>> Rob: Kwa hiyo hoja parameter ni -
kuna tofauti hii, sana kuchanganyikiwa kwa kubadilishana.
Katika hatua hii, mimi, ni kama moja ya maneno hayo kwamba wakati mimi kuona nje katika
pori, siwezi kusaidia lakini mara swali kama wao ni kutumia katika
mazingira sahihi, kwa sababu tofauti ni hila kutosha kwamba tu
kila mtu huelekea -
Mimi karibu daima kusema hoja bila kujali nini maana.
>> JOSEPH: Na kazi pia ni muhimu kwa nini sisi kuwaita madhara.
Hivyo kazi inaweza kuchukua hakuna pembejeo, na inaweza pia kuzalisha hakuna matokeo.
Hivyo katika kesi fulani, mimi ni kufafanua subroutine kwamba hana
kurudi thamani.
Na ili bayana kwamba, sisi kutumia kile tunachokiita utupu zaidi ya hapa.
Na hivyo upande wa athari za kazi hii ni kwamba tu Prints mambo
nje kwa ukurasa.
Haina kweli kuchukua yoyote pembejeo, na haina
kweli kuzalisha matokeo yoyote.
>> Lakini hali hii inaweza kuwa na manufaa kwa maana kama unataka, kwa mfano, utatuzi
kitu katika mpango wako, kama unataka kuandika subroutine kidogo kwamba
Prints nje, hebu sema, yaliyomo ya kumbukumbu au kitu.
Na hivyo madhara haya ni wakati mwingine muhimu nje ya mazingira ya
ya tu kama pembejeo na mazao.
Maswali yoyote?
>> Na kukomesha sehemu fulani, gani mpango huu nini?
Mimi nitakupa guys michache ya sekunde ya kusoma kwa njia hiyo.
Katika ngazi ya msingi sana, nini tunataka kusema ni kwamba swaps x na y, sawa?
>> Hivyo ni jinsi wengi wenu kwa kweli nadhani hii kubadilishana x na y?
Kuongeza mkono wako.
Hakuna mtu yeyote.
OK.
Ambaye anadhani kwamba itakuwa si kubadilishana x na y?
Na jumla ya kwamba alikuwa si chumba chote.
Kwa hiyo baadhi ya watu ni uhakika.
OK.
Hiyo ni nafuu.
>> Basi hebu kwenda kwa njia ya kile kinachotokea wakati kweli kuwaita kazi kwanza katika
Ili kujibu swali hili.
Hivyo hii ni nini kumbukumbu aina ya inaonekana kama.
Hii ni aina ya kama mfano wa kuigwa rahisi ya kile kumbukumbu inaonekana kama wakati
wewe kuendesha programu.
Hivyo kuna kitu kinachoitwa stack hapa chini na
kitu kinachoitwa chungu.
Na hizi kukua kwa katikati ya kumbukumbu.
>> Hivyo katika kesi fulani, wakati wewe piga kazi, ni
anapata kuweka kwenye stack.
Na kisha chochote zilizomo katika kazi anakaa katika kile sisi wito kwamba
kazi ya stack frame.
Na hivyo kupata nzuri taswira ya hii, let's - kwa mfano, tulikuwa na
mpango kuu mapema.
Na ndani ya kuu, sisi kuitwa mraba.
Hivyo kuu bila kwanza kwenda kwenye stack sura, kwa sababu ni kazi ya kwanza
hiyo kuitwa.
>> Na kisha wakati kipande inaitwa ndani ya kuu, anapata kuweka juu ya kuu
ndani ya kumbukumbu.
Basi nini wewe utakuwa taarifa hapa ni kwamba mchemraba ina vigezo yake mwenyewe na yake
mwenyewe na wananchi.
Hivyo wakati wewe kweli kupita kitu kazi, vigezo kwamba
anapata ni nakala ya nini kupita katika kutoka kuu.
>> Na kwa aina ya kueleza hii, hebu kutembea kwa njia ya mpango huo.
Hivyo tuna stack, hii ni tu stack sehemu.
Na nini cha kufanya ni sisi kwanza initialize x na y kwa moja na mbili.
Hivyo tuna haya masanduku kidogo.
Wao wamekaa katika stack kuu ya sura juu ya stack.
Wao vyenye moja na mbili.
>> Sasa sisi kuwaita wabadilishane.
Nini kinatokea ni sisi kupita x na y ndani ya wabadilishane, na kubadilishana inajenga nakala yake mwenyewe
ya vigezo wale kutumia ndani ya ya sura yake stack.
Hivyo sasa zaidi ya hapo, tuna, ambayo ina thamani kwamba x nayo; na b,
ambayo ina thamani kwamba y alikuwa.
Hivyo moja, mbili.
>> Na wewe utakuwa taarifa kwamba hii ni tofauti kutoka x na y ndani ya kuu.
Hivyo sisi sasa kujenga muda kutofautiana kwa vyenye.
Sisi kuweka sawa b, hivyo mabadiliko kutoka mmoja hadi miwili.
Na kisha sisi kuweka b sawa kwa temp, ambayo ni moja.
>> Na kisha sasa sisi exit nje wa kazi hii.
Wakati exit nje ya kazi, stack frame anapata popped mbali stack.
Tunasema kushinikiza.
Kushinikiza frame stack kwenye stack na pop kama off stack.
Na hivyo kile kinachotokea ni kwamba kila kitu ilikuwa katika stack frame aina ya tu
huenda juu katika moto.
Na ili haipo tena.
>> Lakini je, sisi taarifa?
Sisi kamwe kweli iliyopita maadili ya x na y, sawa?
Hivyo wale walikaa ndani kuu.
Na kwa kupita mambo katika wabadilishane, sisi kweli kamwe iliyopita maadili hayo.
Na nini sisi wito huu?
Tunatoa wito kupita hii kwa thamani.
>> Hivyo katika C, wakati kupita mambo katika kazi, hupita yao kwa thamani na
hufanya nakala yao kwa ajili ya kazi kwa kutumia.
Na tutaweza kujifunza kuhusu kitu kinachoitwa akipita ya kumbukumbu baadaye, lakini hiyo ni
Kwa njia hiyo unaweza kutatua tatizo hili.
Lakini sisi si na wasiwasi juu ya kwamba mpaka baadaye.
>> Rob: Na kwa kweli, kwamba mrefu, kupita kwa kumbukumbu, hivyo C haina hata
akipita inayozungumzia.
C peke ina akipita thamani.
Hakuna jambo gani wewe, wewe ni daima kupita nakala ya kitu fulani.
Ni kwamba tu, kama mimi aina ya zilizotajwa kwamba kabla ya kuyatumia kwa
na kwamba string ni kweli tu nne ka akizungumzia mahala fulani katika kumbukumbu.
>> Naam, kama mimi na kamba hii na ni akiniambia kwamba ni ambapo kamba -
vizuri, kama mimi na pointer hii hii mahali katika kumbukumbu, kisha siwezi kupita
nakala ya pointer kwa kazi, na kazi ambayo bado anajua ambapo katika
kumbukumbu ni.
Hivyo wote ya kuyatumia haya ni akizungumzia sehemu moja katika kumbukumbu, na
kwamba ni jinsi gani tunakwenda kuwa na uwezo kurekebisha mambo zaidi ya
sasa stack frame.
>> JOSEPH: Je, unataka kufanya kuandaa?
>> Rob: Hapana, ni 5:30.
>> JOSEPH: OK.
Ni 5:30.
OK.
Hivyo sisi itafikia kuandaa mimi nadhani katika sehemu ya pili, au sehemu yako
kiongozi katika hatua hiyo.
Na -
>> Rob: maswali yoyote?
>> JOSEPH: maswali yoyote?
Ndiyo?
>> SPIKA 5: Matumizi ya masharti kutoka CS50, yoyote kazi ambayo tunataka kutumia kwa
hizo, utakuwa kama kazi C.
CS50 hana wamekwenda katika na alifanya yoyote ya ziada.
>> Rob: Sahihi.
Yoyote ya C kama [inaudible], wewe atatumia wale juu ya masharti yetu.
>> JOSEPH: Na jambo moja la mwisho nataka kutaja ni kwamba tuna style mwongozo
kwa darasa hili.
>> Rob: Oh, yeah.
>> JOSEPH: Hivyo kama umefanya kuja kutoka programu background kabla,
kuwa na mikataba fulani wakati wewe ni kuandika code kama kuweka
braces juu ya mstari huo au fulani njia ya indenting
au kutaja vigezo yako.
Katika darasa hili, tunataka kufuata style mwongozo maalum kwa sababu tu,
vizuri, kama kwenda nje na kufanya kazi katika viwanda, wewe kwenda kutarajiwa
kwa kufuata mtindo kiongozi wa kampuni ya saa ambayo kwenda.
>> Kama kwa mfano, Facebook nadhani ina aina fulani ya kutaja
mkataba.
Na kuna tofauti kati ya ngamia casing vigezo na tu kama
kujitenga kwao na underscores.
Na pia, nadhani suala muhimu zaidi, kama kwa mfano, indentation, sawa?
>> Sisi braces curly kuanza ambapo hali ni, na wao
ni juu ya mstari wa pili.
Na sisi pia kuweka braces curly katika hata kama ni line moja tu.
Na mara nyingi, kuna njia ya kufanya ni wapi unaweza kuondoka braces haya
mbali kama ni line moja tu chini ya kauli Kama.
Lakini katika darasa hili, tunataka kufuata style mwongozo maalum tu ili kupata
kutumika kwa kuwa aina ya kitu.
>> Rob: Yeah, na Sinema 50 ni kwenda kutekeleza mwongozo mtindo huu, na sisi ni
kwenda kutumia Sinema 50 kwa daraja code yako.
Hivyo hufanya mambo rahisi kwa sisi na hopefully haipaswi kufanya mambo ambayo
mbaya zaidi kwa ajili yenu kutokana na style sanifu haipaswi kuwa
unrealistic.
>> JOSEPH: Na hatimaye, ili kupata style mwongozo, kwenda manual.cs50.net/style.
Na yeah.
>> SPIKA 4: Je, wewe kwenda kutekeleza wahusika yoyote kwa line?
>> Rob: Ndiyo.
>> JOSEPH: Sorry, guys.
>> Rob: Hiyo ni kama mmoja wa wale tu.
Katika hatua hii, mimi sawa na 120.
Mimi nina OK na kusema 120 wahusika kwa kila mstari.
Naelewa kuna kuwa baadhi ya kikomo.
Nadhani 80 ni ndogo sana, lakini sisi ni kutekeleza hilo.
>> JOSEPH: Binafsi, nadhani kwa C, wahusika 80 ni zaidi OK.
Mara baada ya kuanza kupata nyingine lugha kama JavaScript na PHP, si
hivyo busara na kikomo tu kwa wahusika 80.
OK.
Naam, hilo ndilo sehemu super.
Je, mtu yeyote wanataka pipi?
>> SPIKA 4: Ndiyo.