DOUG LLOYD: Kama wewe kuanza kufanya kazi na majukumu,
Jambo lingine ni kwenda kuwa kweli ni muhimu kuelewa,
ambayo ni dhana ya wigo kutofautiana.
Hivyo wigo ni tabia ya kutofautiana
amefafanua kuwa jambo ambalo kazi kwamba kutofautiana kulipata.
>> Kuna scopes mbili za msingi katika C, vigezo mitaa na vigezo kimataifa.
Sasa, vigezo mitaa inaweza tu kulipata ndani ya kazi
ambao wao ni kuundwa.
Hawawezi kupatikana kwa kila mmoja kazi ambayo ipo katika mpango wako,
tu kazi katika ambayo iliundwa.
Global vigezo, juu ya Kwa upande mwingine, kulipata
na kazi yoyote katika mpango huo.
Na sababu ya kuwa ni kwa sababu wao siyo kuundwa ndani
ya kazi yoyote.
Sisi kutangaza yao nje ya yote ya kazi, ambayo
maana yake ni kwamba kila kazi anajua wapi ni na wanaweza kupata na kuendesha hiyo.
>> Hadi sasa katika mwendo wameweza pretty kiasi ikifanya kazi peke
kwa vigezo mitaa.
Hapa ni mfano wa sana, sana kazi rahisi kuu na rahisi sana
kazi ya ziada ambayo tumekuwa imeandikwa.
Katika kesi hiyo, x, ambayo Nimekuwa rangi ya kijani tu
kuonyesha eneo fulani au wigo wa kwamba kutofautiana,
ni mitaa ya kazi mara tatu.
kuu hauwezi kutaja x hata kidogo.
Hajui ni nini.
Hakuna kazi nyingine, kwa kweli, kama sisi alikuwa kazi ya ziada katika hapa,
inaweza kumaanisha x.
>> Vile vile, matokeo ambayo nimekuwa rangi ya bluu, ni mtaa tu kwa kuu.
Tu kuu anajua nini Matokeo yake kutofautiana ni.
tatu hawezi kuitumia.
>> Sasa kama nilivyoeleza, vigezo kimataifa kufanya kuwepo.
Kama kutangaza kwamba kutofautiana nje ya kazi yoyote,
yote ya kazi katika mpango unaweza rejea yake.
Hivyo katika kesi hii nimepata yalionyesha katika kijani kimataifa variable tamko hilo.
Katika kesi hiyo, kutofautiana kuwa alitangaza
inaitwa kimataifa, tu kuwa wazi sana kuhusu hilo.
Ni ya aina kuelea.
Na mimi hawawajui thamani 0.5050.
>> Utagundua kuwa katika kuu na katika mara tatu, mimi na uwezo wa kutaja kimataifa.
Na kwa kweli, kama mimi kwenda kupitia mpango kama unahitajika, kwanza wito kuu tatu,
hulizidisha tatu kimataifa na 3, ambayo seti thamani yake kwa 1.5-kitu,
1.51 au kitu kama hicho, na kisha kuu pia Prints nje thamani
ya kimataifa.
Hivyo kuu si magazeti nje 0.5050, ni magazeti nje mara kimataifa 3, 1.51.
Basi nimepata kuwa makini wakati wewe ni kufanya kazi na vigezo kimataifa.
Wakati wao uko rahisi sana katika kuwa na uwezo wa kupitisha taarifa
karibu ili kila kazi unaweza kutumia,
pia unaweza kuwa na baadhi ya matokeo ya hatari
kama mabadiliko kazi moja thamani ya kutofautiana
kabla unatarajia ni kubadilishwa.
>> Kwa nini tofauti hii muhimu?
Kwa nini sisi huduma kama baadhi ya vigezo ni mitaa na wengine ni duniani?
Naam, kwa sehemu kubwa, vigezo mitaa katika C ni nini iitwayo wanapita thamani
wakati sisi kufanya kazi simu.
Hiyo ina maana gani?
>> Naam, wakati kutofautiana ni kupita na thamani, callee, ambayo
ni njia nyingine ya kusema kazi kwamba ni kupokea kutofautiana kwamba
anapata kupita katika kama mchango, ni kweli haipati kwamba kutofautiana yenyewe.
Inayopata yake mwenyewe nakala yake kufanya kazi pamoja.
Hii ni tofauti muhimu.
Sisi tu kuona pili iliyopita kwamba pamoja na vigezo kimataifa,
kama sisi kuendesha kimataifa kutofautiana katika kazi moja, athari
kwa kuwa kazi moja hubeba kupitia kwa kila kazi nyingine.
>> Lakini pamoja na vigezo mitaa, kwamba si kweli.
Kila kazi wakati inapata vigezo kama pembejeo
kupokea nakala ya vigezo hizo, si vigezo wenyewe.
Hivyo ni athari ya kwamba ni nini?
Hiyo ina maana kwamba kutofautiana katika mpigaji, kazi ambayo
ni kufanya kazi wito, ni bila kubadilika isipokuwa kuipuuza.
>> Kwa mfano, katika kanuni hii foo si iliyopita wakati wote.
Int foo sawa na 4, piga mara tatu ya foo, ndani ya mara tatu,
tungetarajia kuwa foo ingekuwa tele na 3 na kurudi,
lakini kweli kuna hakuna athari.
>> Hapa ingawa, tofauti hila sana.
Hii haina kuwa na athari tunataka.
Je, unaweza kuona nini?
Sisi ni kuu foo katika kuu wakati huu.
>> Hivyo int foo sawa na 4, foo sawa na tatu foo, wakati sisi kufanya wito huo,
tatu anapata nakala yake mwenyewe ya foo, nakala yake mwenyewe ya 4.
Inasema kurudi mara 4 3, au chochote kutofautiana anapata kupita katika mara 3.
Na kisha sisi kuwapa kurudi thamani ya mara tatu kwa foo tena.
Hivyo hii kweli itakuwa overwrite foo.
Hii ni njia pekee ya kufanya huu kwa kutofautiana ndani.
Hivyo sasa kama sisi kuongeza mwingine mstari wa kanuni hapa
mwishoni mwa kuu kwa magazeti nje thamani ya foo,
ingekuwa kwa kweli magazeti nje 12.
>> Wigo kutofautiana kwa ujumla si sana ya tatizo
kama wewe jina yako yote ya vigezo mambo mbalimbali.
Lakini inaweza kupata aina ya nasty kama huo jina kutofautiana
inaonekana katika kazi nyingi, ambayo itafanyika mengi.
Kama umewahi kufanya kazi katika ulimwengu wa kweli ambapo
wewe ni kazi shirikishi mipango na watu katika timu mbalimbali
wanafanya kazi kwa pamoja ili kuandika moja mpango au seti moja ya mipango,
wao itabidi mara nyingi kutumia tena kutofautiana majina, ndio kawaida hasa
kama x, y, i, j, na kadhalika.
>> Lakini wakati vigezo na jina moja, masuala wigo
wanaweza kupata trickier kidogo kuchanganua.
Kwa mfano, je, unajua nini itakuwa kuchapishwa
mwishoni mwa mpango huu hasa?
Chukua dakika.
Pause video na kusoma kupitia mpango huu.
Unaweza kuona katika sisi juu kuwa na kazi tamko
kwa kazi kuitwa nyongeza.
Kazi ambayo inachukua moja parameter, integer ambayo sisi kuwaita x.
Na matokeo integer.
Hiyo ni aina ya kurudi mwanzoni.
>> Basi tuna kuu, wanandoa wa mistari wa kanuni katika kuu, ambayo ya mwisho
ni kauli magazeti.
Na kumbuka, hiyo ni swali hapa.
Je, ni kweli kwenda kuwa kuchapishwa mwishoni mwa kazi hii?
Na kisha sisi kweli kuwa ufafanuzi wa nyongeza hapa chini.
>> Hivyo kuchukua dakika, hatua kupitia kanuni, kuwaeleza mambo ya nje.
Unajua nini itakuwa kuchapishwa katika mwisho wa mpango huu hasa?
>> Sawa.
Hopefully, wewe umechukua sekunde chache kujaribu na Hazrat hii moja nje.
Hebu kufanya hivyo kwa pamoja.
>> Hivyo nimekuwa walivuka nje nyongeza ya tamko juu huko.
Ilikuwa ni aina ya ovyo.
Siyo kutofautiana yake mwenyewe.
Haina wigo wake mwenyewe.
Ni tu kazi tamko, hivyo kwa madhumuni
ya kujaribu kuchanganua nje nini kinachotokea katika mpango huu,
tupate pia tu kuepuka hayo.
>> Sasa tuna katika kesi hiyo, sababu tatizo hili ni gumu
ni kwa sababu tuna vigezo mitaa katika wote kuu na nyongeza, ambayo kila mmoja
ni kuitwa x.
Na bila shaka crux ya suala hili ni kujaribu Suss nje ambayo X anapata iliyopita
na jinsi gani kupata iliyopita.
Hivyo nimekuwa rangi kila mfano ya x hiyo ni mitaa nyekundu kuu.
Na nimekuwa rangi kila mfano wa x hiyo ni mtaa increment bluu.
>> Ilani kwa kuwa mstari wa tatu ya kuu, y sawa nyongeza
x, kwamba nyongeza ni kutokuwa kupita kuu ya x, au x nyekundu.
Ni kupata kupita nakala yake.
Na ni tu kwenda kufanya kazi na kwamba nakala yake, x bluu.
Kama uko hesabu kutega, waweza
kuwa badala wazo la hii kama x ndogo m kwa kuu na x ndogo i kwa nyongeza.
Lakini ni wazo moja.
x ndogo m, au nyekundu x ya katika slide uliopita,
ni vigezo kwamba ni local-- ni mfano wa x badala ya kuwa
ni mitaa kuu, na x ndogo i, au vigezo bluu katika slide uliopita,
matukio ya x kwamba ni mitaa increment.
>> Kwa hiyo, walikuwa wewe na uwezo wa kufikiri nini kazi hii kuchapishwa mwishoni?
Mimi nina Doug Lloyd, na hii ni CS50.