[Powered by Google Translate] [♪ ♪ buzzing]
Hivyo kuanzisha wewe kile Mimi nimepata up kwenye screen;
ni moja ya zana sisi maendeleo juu ya jua;
ni kuitwa CS50 Spaces,
na ni coding yetu shirikishi ya maombi
kwamba sisi ni kwenda kutumia katika sehemu.
Ni pretty cool.
Je yoyote ya wewe kuonekana CS50 kukimbia bado?
Ngoja nikuondoe kuwa hadi katika tabo nyingine.
Run.cs50.net
Hivyo
kama kwenda kwa run.cs50.net,
unaweza kuona hii ni katika njia browser yako
kweli code - kuandika C kificho,
na kisha kukimbia,
hivyo wote inaandaa yake, anaendesha, basi anarudi pato na wewe,
hivyo hii ni aina ya njia ya baridi kwa majaribio
na baadhi ya kificho kwamba huenda juu ya Daudi katika mihadhara
na sisi kutoa kwa juu yenu juu ya seti tatizo
bila hasa moto hadi appliance.
>> Basi nini Spaces gani kwamba ni tofauti na ile
kama mimi kubadili nyuma kwa tab hii,
Spaces ni CS50 kukimbia, kama unaweza kuona hapa hapa,
lakini kama sisi kitabu juu na kuangalia upande mwingine wa dirisha,
unaweza kuona haki mimi nina mtu tu katika nafasi hii,
lakini kile Mimi naenda kufanya ni kuuliza wewe guys kujiunga hii Space na mimi
na wote tutaweza kupata code katika dirisha moja kidogo,
kushiriki kificho na kila mmoja,
na majadiliano juu ya tofauti kati ya code yetu.
Hivyo ni aina ya kitu baridi -
hivyo kujiunga, kama ungependa kutembelea kiungo hiki hapa hapa kwa juu
kwamba nimepata yalionyesha,
unaweza tu aina katika apps.cs50.net/spaces/vqcspSnO.
>> Haki ya wote, hivyo kuanza mbali,
Mimi naenda kukupa kidogo ya ziara ya hii.
Sisi ni gonna kufanya baadhi silly coding kidogo na ni mara ya kwanza,
hivyo tu kwamba kila mtu anapata kinda kujisikia kwa nini ni kama,
lakini kile nimepata kufanyika -
au nini mimi kuhusu kufanya haki hapa ni -
Mimi naenda kuchukua kificho kwamba nimepata yaliyoandikwa katika hapa,
ambayo kama unaweza kuona sasa hivi ni tupu;
haina kufanya kitu chochote.
Ni tu boiler sahani code, tutaweza simu yake.
Na kidogo-nini maoni.
Mimi naenda kuokoa ni kwa kupiga button hii Save.
Na nini kwamba hana ni
yalionyesha it up hapa kwa ufupi - kwamba marekebisho ila kijani sanduku,
na sasa, kama wewe tafuta kwa ajili yangu katika Space,
ukibonyeza jina langu,
unaweza kuona kwamba mimi nimepata hii marekebisho haki hapa,
na kama wewe bonyeza marekebisho kwamba,
utakuwa mzigo kwamba code katika Space yako, pia.
>> Hivyo ina kila mtu kubeba kwamba code katika Space zao?
Haki zote, kama una bado, kwenda mbele na kufanya hivyo,
na kisha nini nataka wewe guys kufanya katika hiki kidogo kwa-nini sehemu
ni kuandika kidogo kutumia printf kuhusu wewe mwenyewe,
hivyo kwa mfano, napenda kuandika
printf ("Jina langu ni Nate");
na kisha Ningependa kuandika
"Mimi kufuzu katika 2009
kutoka Stanford "
na upendo Ningependa kusikia kuhusu
mwaka gani wewe ni katika shule,
kama wewe ni katika chuo au shule ya biashara
au nyingine Harvard shule,
nini wewe kusoma kama ni anajulikana bado;
kama si inajulikana, kwamba ni kabisa cool.
Sikuweza kuamua mpaka mimi nilikuwa marehemu katika sophomore mwaka wangu.
na basi napenda pia upendo na kujua
chochote mambo unataka kuniambia au
kitu kuhusu darasa au tu kitu kingine chochote.
Wakati wewe ni kufanyika kwa kuandika kwamba printf wako mdogo,
kama wewe utakuwa kuokoa marekebisho au tuseme
kwanza kuhakikisha kwamba unaweza kukimbia
na kwamba Prints nje hasa unataka kwa magazeti nje,
na kisha kama wewe kwenda mbele na kuokoa kwamba marekebisho
kutumia Revision Save button, hii kwanza kidogo guy zaidi ya hapa,
na tutaweza kinda kupitia na kufanya utangulizi kidogo kwa njia hiyo.
Hivyo unapaswa tu hit button Play,
ambayo ni hapa juu upande wa kushoto juu,
hivyo hii kifungo Play juu ya upande wa juu kushoto mapenzi
kutuma code yako mbali na server yetu ambapo anapata compiled na kisha kukimbia.
Basi nini kinda mambo kuhusu hii
code hii kwa kweli si mbio kwenye kompyuta yako;
ni kweli kuwa alimtuma katika mtandao.
>> Jinsi ambacho ni kwenda, Charlotte?
>> Mimi - sawa. I'm - nadhani mimi nina
Baada ya matatizo ya kuuhifadhi
kwenye server kwamba vile inaweza - naweza kuendesha programu.
Na kisha wakati mimi kujaribu kukimbia, inasema kwamba kuna makosa.
Alitangaza kama virusi, ambayo si katika humo tena.
Oh, hebu angalia; unaweza hit Ila tena?
Mimi naona ni juu ya screen.
>> Haki, sawa, hivyo kwamba ni nini nina.
Na sijui ni kwa nini haitaki kuniachia kukimbia.
Oh, sawa, sorry.
Je, unaweza kueleza kwa nini - nini ilikuwa na makosa - nini haikuwa kazi kwa hayo?
>> Yeah, kwa sababu sikuweza kuona kwamba kulikuwa mstari wa mwisho ambapo bado kuna kutofautiana
kwamba mimi hawakutangaza, ambayo sikuwa na nia kwa kuwa huko.
Yeah, kamilifu!
>> Sasa kama mimi ila it, nadhani ni lazima kazi.
Sasa kwa kuwa umehifadhi hilo, ni kazi; kutisha.
>> Hivyo yeah, kama sisi kwenda kwa njia ya -
hivyo kile kinachoendelea,
Mimi tu anaenda repeat hii kwa kamera.
Kile kinachotokea ni kwamba hii variable s
akabaki katika baada ya - mimi kudhani wewe ilifutwa baadhi ya mambo mengine
ambapo wewe kama alitangaza,
na hivyo hii ilikuwa kutupa mambo mbali na wala hakuwa na kuruhusu wewe kukimbia.
Hivyo hii ni nini hasa tunataka kufanya katika sehemu
ni kuwa watu jaribu kuandika vipande mbalimbali ya kificho,
kuandaa hiyo, kuona kazi gani, kuona nini hana,
na kisha kinda majadiliano kuhusu mambo haya, kwa sababu hizi ni tripping pointi kwamba
Mimi bado kukutana,
Mimi bado - I kufanya kura ya mambo silly wakati wote,
na sijui nini haifanyi kazi,
hivyo hebu vuta hadi marekebisho Charlotte wa 3,
na tutaweza kukimbia.
>> Hivyo wakati mimi kukimbia, sasa kwamba mimi nimepata code yake katika hapa,
Mimi wanaweza kuvuta, hit button Run,
uploads yake, hujenga yake, anaendesha hiyo,
anasema ni mbio kwa mafanikio, na kama mimi kitabu chini,
kuona Charlotte ni junior katika Adams House,
saikolojia, sekondari katika uchumi; kutisha.
Kubwa kukutana na wewe!
Ajabu.
Okay, kusonga, hebu nenda Danieli,
kwenda marekebisho 3,
kukusanya, kukimbia;
kwa nini wewe kutuambia kidogo kuhusu wewe mwenyewe, Danieli?
>> Niitie Dani.
Mimi nina kwenda shule ya biashara hela kutoka guys,
na mimi nilikuwa katika majini kabla ya hapa,
na hii yote ni mpya kwangu, hivyo yeah.
Je, si kujisikia vibaya, mimi nina 30 na sijui yoyote ya mambo haya.
Ajabu; shukrani, Dan!
Haki zote, sisi got mwingine Daniel.
Unaweza kwenda na Daniel - wewe kuanzisha mwenyewe, Daniel?
>> >> Hakika, mimi nina Daniel.
Mimi nina sophomore katika Mather hivi sasa.
Mimi nina kuzingatia serikali,
lakini nilitaka kuchukua CS50 sababu Nimesikia kitaalam kubwa juu ya darasa
na sijawahi walijaribu CS kabla.
Kitabu chini hapa na kuonyesha hii - cool.
Kuhama, Yaredi.
Jinsi ambacho ni kwenda?
>> Bora, habari gani?
Kama unaweza kuona, mimi nina junior falsafa concentrator katika Eliot,
awali kutoka kusini mwa California,
na mimi nina nia ya kuchukua CS50 sababu mimi kama mantiki hiyo,
na inaonekana kweli cool kufanya mambo juu ya kompyuta, hivyo.
Ajabu; ambapo katika kusini mwa California ni wewe?
>> Kuhusu saa kutoka [inaudible], mji mdogo [inaudible].
Oh, yeah, baba yangu ni kutoka Redlands.
Cool stuff.
>> Haki zote, Jimmy; jinsi ambacho ni kwenda, Jimmy?
>> Bora, habari gani?
Kufanya pretty vizuri!
Tueleze kuhusu wewe mwenyewe.
>> Mimi nina Freshman, na mimi nina uhakika kabisa nini mimi majoring katika
lakini nina kinda leaning kuelekea uchumi.
Kama Danieli mbele yangu, sijawahi kufanyika yoyote CS, lakini inaonekana kinda cool.
Mimi nina awali kutoka Chicago.
Ajabu. Ili kuangalia nje ya printout yake hapa.
Nilitaka kuuliza, alifanya hivyo magazeti nje kama ilivyotarajiwa?
>> Hapana, I forgot magazeti mstari mpya.
Mimi kwa kweli wamesahau kwamba wakati mimi nilikuwa kuandika kitu wangu
kwa mara ya kwanza, pia.
Ni aina ya maumivu ya kukumbuka kuweka wale katika manually.
Ni d kuwa nzuri kama tu kujua kwamba ni nini alitaka.
>> Okay, Kelly.
Wow, tuna Kellys 2; 2 Daniels, 2 Kellys.
Hivyo Kelly - wala kwenda na Kelly Ren?
Okay, kutisha.
Au Kelly, I mean.
>> Hivyo yeah, hivyo mimi nina Kelly.
Mimi nina sophomore katika Pfoho.
I got barua pepe leo kwamba bado nina 7 wiki kutangaza ukolezi yangu,
hivyo mimi nina kujaribu kufikiri kuhusu hilo,
na mimi kama kuoka, kukimbia, na Craisins.
Sina uzoefu na zaidi ya CS;
Mimi mwenyewe alifundisha kujenga maeneo Mtandao wakati mimi kwa kweli alikuwa kijana,
lakini mimi nadhani pengine kufundishwa mwenyewe makosa mengi ya nyakati.
Hopefully mimi itabidi kujifunza kidogo zaidi
na - yeah.
>> Ajabu; vizuri, asante.
Hebu kwenda Kelly mengine;
Sina kitu chochote - je kusema kitu hapa?
>> [Inaudible]
Kuna ni!
Tamu!
>> Sawa, hivyo mimi nina Kelly.
Mimi nina mwaka wa kwanza ya kuhitimu mwanafunzi.
Mimi nina majoring katika akili, Elimu Brain, na.
Mimi kufuzu katika Franklin & Marshall College katika 2008
na majors katika saikolojia na sosiolojia
na madogo katika Kifaransa.
Mimi kuchukua CS50
kwa sababu mimi nina nia ya kupata PhD katika Sayansi ya niurolojia
na mimi kuhisi kama hii itasaidia mimi kuelewa teknolojia iliyotumika.
Ajabu.
Kuhama, Mikaela.
Ni kwamba matamshi sahihi?
Okay, kutisha.
>> >> Mimi nina Mikhaila.
Mimi nina sophomore katika Kirkland House,
na mimi nina kuzingatia katika Mechanical Engineering.
Mimi kwa kweli kama baiskeli, kujengwa baiskeli huu majira.
Mimi kuchukua CS, kwa kweli,
kama mahitaji ya ukolezi,
lakini unajua, mimi nadhani ni bado baridi aina ya darasa uhandisi.
Kutisha - wewe kujengwa baiskeli huu majira?
>> Yeah.
Wow, kama frame na yote hayo?
>> Uh-hunh (chanya).
Wow, kwamba ni kweli cool.
>> [Inaudible mbali-kamera mazungumzo]
[Kicheko]
Yeah, ni kuwa muda mrefu.
Huwezi kujua, sawa?
Naam, baridi; vizuri shukrani, Mikhaila.
>> Haki zote, Missy.
>> Jina langu Missy; mimi nina Freshman,
hivyo kwamba maana mimi sijui kitu chochote!
Nataka makini katika astrofysik.
Katika CS50,
Najisikia kama dhahiri kusaidia na kwamba.
ukweli isiyo ya kawaida kuhusu mimi ni mimi nina firefighter kitaifa kuthibitishwa.
Wow!
Hiyo ilitokeaje?
>> Mimi walihudhuria academy
akaenda kwa njia ya Jahannamu kwa mengi ya wiki
na got vyeti yangu.
Wow, Hongera!
Kwamba hakuna feat ndogo, kwa uhakika.
Sawa, hivyo sasa tutaweza kufanya mimi.
Mimi nina moja ijayo katika mfululizo.
I'm - kukimbia.
>> Hivyo jina langu ni Nate.
Mimi nilikuwa darasa la 2009 saa Stanford.
Mimi nilikuwa Systems Ishara kubwa,
ambayo ni sawa na akili, ubongo ukolezi, Tabia hapa,
lakini ni aina ya mchanganyiko wa
sayansi ya kompyuta, lugha, saikolojia, na falsafa.
Aina ya - yeah, mengi ya mambo weird, lakini ilikuwa ni kubwa,
na kisha mimi bwana wangu katika Sayansi ya Kompyuta huko, kama vile.
Hivyo mimi nina mpya Harvard mwaka huu.
Mimi kwa kweli alitaka kupata katika ufundishaji.
Mimi alitumia miaka 4 iliyopita saa Stanford TA-ing madarasa ya Sayansi ya Kompyuta
na hivyo Daudi basi mimi kuja juu,
na mimi nina gonna kuwa kusaidia nje kwa CS50,
hivyo mimi kufanya hili wakati kamili; mimi si katika shule grad.
Imekuwa ni furaha.
Nadhani itabidi kuendelea kuwa fun; mimi nina uhakika itakuwa.
>> Haki zote, Sam.
>> Jina langu ni Sam, mimi nina sophomore katika chuo, katika sheria maalum.
Kubwa yangu itakuwa historia ya sayansi, pengine, na Ves sekondari,
na rangi yangu favorite ni njano.
Hakuna haja ya kupitisha hukumu au kitu chochote, lakini ni rangi nzuri!
Na Stella.
>> Hi, mimi nina Stella; mimi nina Freshman katika Grays.
Mimi kuwa hakuna kidokezo kile nimepata kujilimbikizia katika bado,
hivyo CS50 mara tu aina ya random,
ambayo ni ya kuvutia.
Furaha kweli, Jimmy alikuwa wa kwanza Harvard rafiki yangu,
kwa sababu sisi ni wote kutoka Chicago.
Baridi, na Grace - kwamba walidhani kuwa moja kweli nice, haki?
>> Nilidhani [inaudible].
Oh, yeah.
[Inaudible / off-kamera mazungumzo]
Sawa; mimi bado kujifunza, bado kujifunza.
>> Hivyo sisi tumepewa kitu kingine kwamba ni aina ya kuvutia hapa.
Yeah, mimi nina wanashangaa tu, je, una wazo kwamba kinaendelea hapa?
Unajua jinsi ya kutafsiri hii?
>> Mimi ilitakiwa kuwekwa semicolon baada ya mstari kila moja.
Hiyo ni aina ya maumivu.
Wakati mwingine wale semicolons inaweza kuwa maumivu ya kweli, na kufuatilia chini.
Hivyo ni zinageuka kuwa
mpango maalum sisi ni kutumia mwaka huu kwa
kukusanya wetu C code inaitwa Clang,
na sababu tumeanza kutumia Clang mwaka huu -
kwa sababu sisi si kutumika kwamba mpango katika kipindi,
tumekuwa kutumika mwingine mmoja aitwaye GCC hiyo kwa kweli maarufu -
Clang kweli anakupa ujumbe wa makosa kwamba mantiki.
Hii moja anasema "inatarajiwa ';' baada ya kujieleza",
na hata anakwambia kujieleza baada ambayo inahitajika semicolon.
Hivyo ni wewe fixing?
>> Yeah, sasa hivi.
Ajabu; napenda kujua na tutaweza kuvuta it up, na tutaweza kukimbia.
Lakini yeah, kuweka semicolons hizi katika ni aina ya maumivu.
>> Mimi fasta hivyo, hivyo nadhani ni lazima kazi.
Kutisha - marekebisho 3.
Kwamba inaonekana kama ni.
Haki zote, hivyo sasa kama sisi kukimbia,
kuna unaendelea.
Cool stuff.
>> Wote haki.
Hivyo shukrani kwa ajili ya kufanya hivyo.
Ni kubwa kukutana na wewe guys.
Nini sisi ni gonna kufanya sasa ni kutumia ijayo kidogo kidogo
kinda mbizi katika matatizo ya sehemu
kwamba kuja kutokana na tatizo kuweka kutoka wiki hii
na tutaweza kufanya hivyo kwa zaidi ya sehemu
kwa ajili ya mapumziko ya muda mrefu,
na kisha tutaweza kuokoa 15 iliyopita, dakika 20 au hivyo
na kuzungumza kuhusu tatizo kuweka yenyewe
na kisha tu maswali yoyote nyingine una katika jumla kuhusu darasa.
Kwamba alisema, nini sisi kweli wanataka kufanya
ni kuwa kila mtu kushiriki
kutumia stuff Spaces,
kutupa katika kanuni, kutupa katika mapendekezo,
na kuzungumza juu wakati mambo kama hii mapumziko
au kufanya kazi, kwa sababu tu haya ni mambo ambayo
Najua mimi tulikipata
wakati mimi kuanza coding,
na walikuwa kweli kinda frustrating wakati
kwa sababu kama ni kama 2:00 kabla ya tatizo lako kuweka ni kutokana,
hivyo - tu kwa kutoa taarifa,
Sikuweza kuanza programu mpaka mimi nilikuwa sophomore katika chuo.
Ilikuwa ni aina ya jambo hili weird, haijulikani
kwamba niliyosikia ilikuwa kinda cool
na mimi pia habari inaweza kuwa maumivu ya kweli katika kitako
kama miss semicolon na kwamba ni kosa tu kuweka mpango wako kutoka kazi
na kinachokuzuia ya kwenda kulala,
hivyo dhahiri,
kama una maswali kama hayo,
ikiwa una wasiwasi kama huo, basi mimi kujua,
sababu nataka kufanya hili uzoefu mzuri kwa nyie.
>> Hivyo kuwa na wewe guys wote kupakuliwa tatizo kuweka bado?
Kinda kujua ambapo ni? Sawa.
Hivyo tutaweza kwenda cs50.net, kwa sababu mimi si kuwa juu ya akaunti hii,
kuvuta up seti tatizo,
kuvuta juu ya tatizo kuweka 2, na tutaweza kuangalia toleo la kawaida leo.
Tutaweza kuvuta vipimo hapa.
Kitabu chini.
Hivyo sisi ni gonna kuanza kuangalia sehemu hii ya maswali.
Je, guys watched Shorts haya bado?
Sawa.
Hivyo kuna kaptula kwenye tanzi,
ambayo inafanywa na Tommy, mmoja wa wenzake kufundisha kichwa.
Kuna moja juu ya upeo,
Naamini na mwingine wenzake mafundisho aitwaye Daudi
na kisha moja juu ya Kaisari Cipher pia kufanyika kwa Daudi.
Wao ni pretty cool.
Je, guys been watching kaptula zao hadi sasa?
How've wao wamekuwa?
Msaada? Okay, nzuri ya kujua.
Kama siyo, unaweza kusema hivyo.
Lakini kabla ya kufanya,
kuwa wewe guys inaonekana katika maswali haya
wakati wote?
>> Hebu majadiliano kuhusu hili kidogo.
Hivyo tumekuwa kuletwa juu ya wanandoa wa mwisho wa wiki
katika hotuba
idadi ya matanzi tofauti.
Kuna kwa kitanzi,
kitanzi wakati, na kisha kitanzi do-wakati,
na katika hotuba, tumekuwa kuzungumza mengi kuhusu
jinsi wale matanzi wote ni
haki sawa katika njia nyingi,
na unaweza kufanya mengi ya mambo sawa kwa kitanzi wakati
kwamba unaweza na kitanzi kwa.
Wewe tu aina ya kutumia michanganyiko haki ya vigezo na vile.
na hivyo kweli
Tofauti halisi kati ya wote wa matanzi ni kwamba
wakati mwingine wao ni muhimu zaidi
kuzitumia kwa wakati mmoja kuliko wakati mwingine.
>> Hivyo kwa mfano,
kitanzi wakati tofauti na kitanzi do-wakati.
Je, kila mtu kujisikia kama wana kushughulikia nzuri juu ya wakati
kufanya-wakati kitanzi ni zaidi
muhimu au nini tofauti ni?
>> Nadhani tofauti ni kitanzi do-wakati
anaendesha - Sijui kabisa nini istilahi ni,
lakini mfululizo wa kazi ndani ya kitanzi.
Wao moja kwa moja - ni gani anaendesha wake angalau
kabla hundi hali, au kitanzi wakati tu kukimbia wakati
ni kuendelea anaendesha - iwapo au hali ni kuwa ameridhika.
Yeah, je, hiyo mantiki?
>> Hebu tuangalie kidogo ya code.
Hivyo tu kurudia swali,
au jibu, badala;
Jibu ni kwamba
kitanzi wakati itakuwa kuangalia ili kuona kama hali
kwamba wewe taja ni alikutana
kabla anaendesha mwili wa kitanzi kwa mara ya kwanza,
ambapo do-wakati kitanzi moja kwa moja kukimbia mwili wa kitanzi,
ni nini sisi kuiita - ni weird istilahi,
lakini kama milele kusema chochote kuwa haina mantiki, napenda kujua -
mwili kitanzi ni kwamba mambo ambayo wewe kuweka katika kati ya braces curly.
Na katika kitanzi do-wakati,
kwamba mwili kupata kukimbia angalau mara moja,
na kisha hali anapata checked kabla anaendesha kila wakati mfululizo.
>> Hivyo kweli, Sam,
je, wewe akili kuandika rahisi wakati kitanzi
katika Spaces?
>> Je aina ya kama
kufanya mwezi ...?
Mimi tu kufuta chochote una huko.
Yeah, tu wazi nje.
>> Naam, ninaamini kuwa nina hii -
ambayo moja unataka, wakati, au unataka ...?
Yeah, wakati tu wala kweli, magazeti kitu nje.
Na hebu angalia.
Alexander, mimi barabara sisi kamwe ilianzisha wewe.
>> Oh, hiyo ni faini.
Je - unaweza code juu kitanzi do-wakati kwa ajili yetu?
>> Yeah, mimi nitajaribu.
Haki zote, tutaweza tu vuta haya juu kwenye screen,
ili kuwa na aina ya kushughulikia juu ya nini tofauti ni.
>> Hivyo hapa ni nini Sam amefanya.
Anacho integer kuitwa i
kwamba yeye initialized hadi 17.
Kisha anasema wakati (int i = 17)
printf ("jina langu ni Sam.");
Hivyo kile kinachotokea wakati sisi kukimbia hii code?
Kuna hitilafu; gani kosa kusema?
Hebu vuta it up na kuzungumza juu yake.
Hitilafu ilitokea, inasema.
Hebu kitabu chini.
Hivyo alitupa kosa hili, na akasema,
"Hey, mimi inatarajiwa kujieleza."
Hiyo ni kinda cryptic.
Yeah, hivyo hasa - na tena,
kutakuwa na mdudu mwingine akiwa mdogo kwamba sisi catch katika haki ya pili.
Lakini hii ni nyingine ya wale aina ya mambo weird istilahi,
hivyo hii int i = 17
si kujieleza.
Nini inaonekana kama ni kufanya ni ni
kutangaza integer kuitwa i
na kuiandaa kwa sawa kwa 17
au, bali kuweka ndani ya 17 int kwamba kuitwa i.
Na kwamba haina mantiki
katika muktadha wa kitanzi hii wakati.
Haina mantiki, kama tutaweza kuona,
katika mazingira ya kwa kitanzi, kwa sababu kwa kitanzi maazimio kufanya kuanza mbali
na kwamba kwa int i sawa na kitu
na unaendelea.
>> Ndivyo alivyofanya wewe -
kurekebisha kitu, wote haki.
Hapa huenda; kutisha.
Hivyo sasa mambo kuangalia tofauti kidogo.
michache ya mambo yamebadilika.
Unaweza kutuambia nini mambo yamebadilika?
>> Mimi alichukua nje int, hivyo kuna tamko hakuna [inaudible] badala ya zoezi.
moja ishara sawa, mimi kuweka 2 ishara sawa, ambayo ina maana sawa.
Ajabu.
Yeah, hivyo nini Sam gani alikuwa akatoa int
kwamba alikuwa sahihi hapa mapema,
hivyo kama mimi tu kuangalia hili - ni nini ilikuwa mapema, alisema int,
ambayo ilikuwa kutangaza yake - hivyo sisi alichukua nje aina.
Kuna int, char, kamba, mfupi,
wale walioitwa aina.
Hivyo alichukua nje ya aina
na kisha hapo awali,
naye alikuwa na moja tu alama ya usawa
na nini alisema ulikuwa na tatizo kuhusu hili
wakati una 1 alama ya usawa,
hiyo ni operator zoezi.
Hiyo si kupima kama au 2 mambo ni sawa.
Hiyo ni kweli kuweka kitu sawa na kitu.
Sisi ni kuweka namba 17 ndani ya i kutofautiana.
Hivyo kufanya aina hiyo ya kulinganisha,
una kutumia mara mbili sawa,
ambayo ni aina ya kitu weird
lakini ni kosa haki ya kawaida.
Hivyo jambo moja nyingine mimi itabidi kumweka nje, kama wewe huna akili,
ni kwamba katika
kazi yetu hapa katika kuu int,
unaweza kuona kwamba mwili wa kazi zetu
ni kukabiliana kutoka upande wa kushoto
na 4 nafasi au tab.
sababu za kufanya hivyo
ni tu kwa readability.
Kama unaweza kuona katika wakati kitanzi Sam hapa,
hakuwa Indent wakati wote,
na kwamba haina kuathiri utendaji wa kificho.
Itakuwa kukimbia sawa.
>> Hivyo kwa mfano, kama sisi kuja juu hapa
na waandishi wetu Play button, itakuwa kujenga,
utakuwa kukimbia,
na nini kitatokea?
Kwa nini ni bado wanasema mbio?
>> Sababu hiyo itabidi kushika kurudia hi.
Hasa, na kwa nini ni kushika kurudia hi?
>> Sababu integer kamwe mabadiliko, hivyo ni daima 17.
Yeah, kwa uhakika, hivyo
hebu angalia, baada ya - unikumbushe ya jina yako tena?
Jimmy. Hivyo Jimmy alisema kuwa
sababu hii anaendelea kurudia hi tena na tena
ni kwa sababu ya hali hii ni kweli daima.
Sisi kamwe kubadilisha thamani ya i.
Sisi kamwe kubadilisha yaliyomo ya nini kuhifadhiwa katika variable kwamba.
Hivyo katika hatua hii tulipata kosa hili kwamba
mpango wako yanayotokana sana pato,
na kama sisi kitabu chini na aina ya kuangalia nini kinaendelea hapa,
unaweza kuona kwamba ni hi, hi, hi, hi, hi, hi, hi njia zote.
Ajabu.
>> Hivyo aina ya nyuma kwa uhakika awali
kwamba kuwa indentation hapa
katika mwili wa kitanzi wakati hawakuwa kuathiri kitu chochote.
mpango bado mbio faini tu.
Kawaida kwa mtindo mzuri -
na hili ni jambo ambalo sisi kuangalia katika seti yako tatizo -
tunakuomba Indent hii na nafasi 4, ambayo unaweza kufanya
na tu kubwa muhimu tab
au kwa manually kuweka katika maeneo ya 4 mwenyewe.
Cool, sawa hivyo hebu kwenda nyuma na kuangalia
Alexander kufanya-wakati.
>> Tu kinda shida kidogo.
Okay, vizuri hebu kazi kwa njia hiyo.
Ni kwamba baridi?
>> Yeah.
>> Okay, kwa hivyo hapa sisi kwenda.
Hii ni kanuni kwamba Alexander aliandika.
Je, wewe kwenda na Alex - sawa.
Hivyo hapa ni kificho kwamba Alex ameandika.
Hivyo, sisi tumepewa tamko wetu wa kuu wa kulia hapa,
na kisha tumekuwa got hii variable integer kuitwa i
kuwa alitangaza haki hapa.
Sisi tumepewa taarifa do
na kisha mwili tena na braces hizi,
hivyo hii ni mwili wa do-wakati -
basi mimi kuvuta hii hivyo ni zaidi someka -
na katika mwili, sisi ni kujaribu magazeti "huu ni mwili",
i + +,
hivyo increment yaliyomo ya i na kufanya hivi
mpaka i anapata kuwa 3,
na kisha programu yetu ya mwisho.
>> Hivyo kile kinachotokea wakati sisi kukimbia mpango huu?
>> Nilitarajia kitambulisho.
Sawa, hivyo kujenga, kuendesha, kosa hutokea.
Nini kinatokea?
Sisi kitabu chini hapa,
sisi kupata hii kitu cryptic kuangalia kitu,
inatarajiwa semicolon baada ya tamko ngazi ya juu.
Hiyo ni kinda weird.
Je, mtu yeyote kuwa na wazo ya nini kinaweza kuwa kinachoendelea?
Kinda weird, yeah.
>> [Inaudible] kutangazwa kuwa nje ya mabano?
Hivyo gani kwamba si kuomba kisha wakati matumizi ya mabano?
Kwa hiyo alitangaza guy hii nje ya ambayo mabano?
Oh, haya guys - braces curly?
>> Yeah.
Yeah, kwa uhakika.
Hivyo ni zinageuka kuwa
huwezi kweli kutangaza variable haki hapa kama hii.
Nini unaweza wamekuwa wakijaribu kufanya ni -
waikate ya hapo -
unaweza ama kuiweka ndani ya braces curly haki hapa
au nyingine mbadala
ni kuweka kabisa nje.
Na hivyo hizi - kulingana na pale wewe kweli kuweka tangazo
ya kwamba variable integer,
unaweza kupata 2 aina tofauti sana ya vigezo;
wakati ni nje ya kuu,
ni nini tunaita variable kimataifa.
Ni nje ya upeo wa yoyote ya kazi -
si ndani ya kazi -
lakini kama sisi kuweka ndani ya kuu,
kama haki hapa, basi ni kuitwa variable mitaa,
sababu ni mitaa ya wigo wa kuu.
Na tutaweza kuzungumza kidogo zaidi kuhusu nini tofauti ni
kati ya aina 2 na kwa nini wewe kutumia aina tofauti ya vigezo,
lakini kwa sasa,
unaweza kuweka tu vigezo vyote mitaa,
kwa sababu hatuna haja yoyote kwa vigezo kimataifa.
>> Sawa, hivyo kwamba jambo moja pale pale.
Hebu jaribu mbio hii tena, kuona nini kinatokea.
Kukimbia, kupata mwingine makosa.
Zoom katika kidogo, je, sisi kupata?
Sisi kupata hii mabano inatarajiwa baada ya kufanya / wakati.
Mawazo yoyote ya nini kinaendelea? Dan?
>> Je wakati basi mabano na kisha -
Sijui kama unahitaji redeclare int,
lakini kufanya wakati (i <3).
Hasa, yeah.
Hivyo ni zinageuka kuwa Dan ni sahihi kabisa.
Hatuna haja ya kuweka aina hii hapa tena.
Tunaweza badala kuua aina
na tu kufanya hivyo.
Wote haki.
Mimi itabidi zoom nyuma nje, kujaribu moja zaidi wakati.
Angalia katika hiyo; ni anaendesha mafanikio.
Kama sisi kitabu chini, "huu ni mwili" kuchapishwa mara 3.
Hiyo ni pretty tamu.
Vema, vizuri, guys.
Vema.
Jinsi s hii kwenda hadi sasa?
Heshima kasi?
Okay, cool.
>> Hivyo, kama sisi aina ya nyuma kwa swali la kwanza,
sisi - na sasa kama sisi kuona tofauti,
unaweza kuona kwamba katika hii kitanzi do-wakati,
hali huja mwisho.
Hivyo kama kompyuta wasomaji mpango
tangu programu C ni kunyongwa aina ya utaratibu huu katika mtiririko,
ambapo wao literally kuanza na mstari wa kwanza wa kuu,
na kisha kutekeleza mstari 6, mstari 7, mstari 8, mstari 9,
mstari wa 10, mstari wa 11,
mambo haya yote katika juu kulia hapa
ni kwenda kutekeleza mara moja
kabla ya sisi milele mtihani hali hii ili kuona
kama au si i - au yaliyomo i, badala -
ni kidogo kuliko idadi 3.
Na mara moja tu kama sisi kupata mstari 12,
yaliyomo ya i ni chini ya 3
je sisi kweli kuruka nyuma hadi mstari 7
na kisha kurudia mchakato,
na kisha sisi mtihani hali tena na tena na tena.
>> Basi, tunaweza kulinganisha hii
na - zooming nyuma nje,
kitabu chini na toleo Sam,
sisi ni gonna kuangalia hii, kidogo iliyopita hivyo kwamba hakuna tena kitanzi usio -
ambapo kama sisi zoom katika,
tunaona kwamba kama mpango huu executes,
itakavyo kwanza kutangaza int i,
kuweka yaliyomo i kuwa kwa 0,
na kisha ni hits ya hali ya wakati kitanzi kwanza,
hivyo katika kesi hii, mwili, hii printf ("hi") na i + +
wala hata nitafanya
isipokuwa i ni kweli chini ya au sawa na 2.
Hivyo kama i ni 3, kwa mfano,
kama sisi kuweka haki hii hapa
sawa na 4 - au nitafanya 3, kwa sababu mimi alisema 3 -
na kisha kukimbia,
itabidi kujenga, hivyo itabidi kukimbia kabisa faini,
lakini si kweli magazeti nje kitu chochote,
kwa sababu ya kushindwa mtihani kwamba kwa kesi ya kwanza.
Hivyo katika darasa, sisi aina ya walizungumzia juu ya sababu hizi matanzi do-wakati
ni muhimu wakati mwingine
na kwa nini tunataka kutumia kama kinyume na kitanzi wakati.
>> Je, kuna - do you guys mapendekezo yoyote
kwa nini-wakati kitanzi inaweza kuwa muhimu zaidi?
>> Vizuri, nadhani kufanya-wakati matanzi ni kama unataka user pembejeo,
kwa sababu njia hiyo unaweza waache
kuweka kitu katika mara moja; kama ni sahihi,
tunaweza kuendelea na mapumziko ya mpango,
lakini kama si sahihi, basi wewe kuendelea na kusababisha mtumiaji
mpaka wewe kuweka mchango wa kulia.
Yeah, kwa uhakika - ya uhakika,
hivyo kufanya-wakati kitanzi ni muhimu
sababu wakati uvuvio kwa ajili ya pembejeo user
kwa sababu unahitaji kupata pembejeo mtumiaji kabla unaweza kweli kuangalia ni.
Hivyo katika pset 1, katika pset 2,
ambapo wewe ni uvuvio kwa ajili ya pembejeo user mengi,
hilo ni jambo Handy kutumia
kinyume na kitanzi rahisi tu wakati.
Kama kutumia kitanzi wakati, unaweza kufanya kitu kimoja -
unaweza kufanya kitu kimoja kwa kitanzi wakati
kama wewe kufanya na kitanzi do-wakati.
Wewe tu aina ya kuwa na mchakato huu duplicate
ambapo unaweza kupata pembejeo kwanza na kisha kuanza wakati wako kitanzi.
Wakati do-wakati kitanzi, wewe tu na kuandika ni mara moja
na ni safi sana.
>> Wote haki.
Maswali yoyote?
Mantiki?
>> Kurudi 0 - hiyo ni aina tu ya duka au ni -?
Yeah, hivyo tunaweza -
vizuri, tutaweza cover hii kidogo zaidi baadaye
lakini zinageuka kuwa
hii 0 kurudi kwamba sisi kuweka
mwisho wa wakati wote kuu -
unaweza kinda tu kuchukua kama kitu sisi kufanya
kwa wakati huu.
Nini tumekuwa walianza kuzungumzia na kazi
aina ya mwishoni mwa wiki iliyopita na kisha tena wiki hii
ni kwamba kazi
inachukua pembejeo ambayo ni mambo haya ndani ya mabano;
hizi ni 2 pembejeo, hoja yetu au vigezo,
nini re pia hujulikana kwa kazi yetu kuu,
na kisha kazi inazalisha pato
ambayo sisi kuwaita thamani kurudi.
Na thamani ya kurudi katika kesi ya kuu ni hii int,
hii integer,
na njia ya kumweleza kazi, "Hey, hii ni nini pato yako
ni kwenda kuwa, "ni pamoja na hili neno" kurudi ",
kwamba Keyword, badala yake,
na hivyo kuu kurudi 0
au kuu outputting 0
ni ya kiwango katika programu C
kwa sababu kurudi 0 kutoka njia kuu ya kuwa
"Hey, kila kitu kunyongwa na mpango wangu faini tu."
Kama tulikuwa na kuweka kitu kingine zaidi ya 0,
kama 1, kwa mfano,
hiyo ni kutumika kwa kuwaambia kila mbio mpango huu
kitu ambacho potoka.
Hivyo kama sisi kupata kushiriki zaidi na mambo juu ya muhula,
kama wewe ni milele wanaohitaji kusema,
"Lo, unajua, kitu potoka na mpango huu,"
badala ya kuwa na mpango wangu ajali, nataka meddela
mkimbiaji wa mpango wangu kwamba kitu potoka,
unaweza kutumia kurudi thamani,
kama sisi kuiita, kwamba si 0.
>> Hivyo tutaweza cover kwamba kidogo zaidi
mara moja sisi kupata katika utendaji.
Kwamba aina ya mantiki?
Sawa.
Kazi ni aina ya ajabu -
Nadhani kwa watu ambao wana kura ya background math,
inakuja kidogo kwa urahisi zaidi,
hasa kama una kidogo zaidi abstract math background
na wewe ni kutumika kwa kuzungumza juu ya kazi
na aina ya kwamba yote ya mambo.
Lakini tutaweza kujaribu na kuvifunika
na kwenda nzuri na polepole kama wao kuja.
Aidha, hii yote int argc,
Char * argv [],
kwa sasa hivi, unaweza pia kuchukua kwamba kama boiler sahani.
Tulishaanza kufidia wale kidogo kidogo katika hotuba
tunapozungumzia hoja kwamba kupata kupita katika mipango juu ya mstari amri,
lakini katika tatizo lako seti na mipango yako,
ni kabisa faini tu kuandika utupu na kuitunza rahisi.
Na nini utupu hii ina maana kwamba ni
"Hey, kuu si kwenda kukubali pembejeo yoyote;
hii ni mpango tuko gonna kukimbia tu.
Sisi siyo gonna kuwapa taarifa yoyote ya ziada
kila wakati sisi kuanza it up mbio. "
Hivyo kwa sasa, unaweza kufanya hivyo;
unaweza pia hata omit 0 kurudi
mwisho wa programu yako na wao itabidi kukimbia faini tu,
lakini mimi kupendekeza tu kuweka kwamba in
Katika wiki kadhaa, tutaweza kuanza kwa aina ya
kuvuta nyuma cover kidogo na kuelewa zaidi kuhusu
tofauti wale wote kidogo kusonga sehemu.
>> Haki zote, sasa hebu majadiliano kuhusu swali la pili hapa.
Hiyo ni nini "Undeclared kitambulisho" kawaida zinaonyesha
ikiwa outputted na Clang?
Nadhani sisi aliyoiona kwamba tayari leo.
Je, mtu kutoa recap ya nini maana ya?
Hebu angalia, Kelly - moja ya Kellys.
Hivyo >> -
Yeah, ni nini -
>> Nadhani wakati wewe, kama, wala kutangaza vigezo na kujaribu kuitumia.
Yeah, kwa uhakika, hasa.
Hivyo kama umewahi kuona hii pato
wakati wewe kujaribu na kukusanya mpango wako,
tu kama Kelly alisema,
inamaanisha kuwa kutumika variable kwamba hawakuwa na kutangaza,
hivyo kama mimi kurejea Space yetu,
na mimi kufanya kitu kama
printf (
"Hello% s")
na kujaribu na kuziba katika% s
na s variable kwamba mimi si alitangaza popote
na mimi kujaribu kukimbia,
utaona nini mimi kupata chini kwa chini haki hii hapa:
"Matumizi ya Undeclared kitambulisho 's'";
kwamba tu ina maana hakuwa kutangaza variable yako.
Kitu kimoja kinachotokea kama
una x na wewe kujaribu na kuhifadhi 7 ndani yake
na sikuweza kutangaza X.
Mimi kupata kwamba kosa sawa:
"Matumizi ya 'x' Undeclared kitambulisho".
>> Yote ya haki,
hivyo Cipher Kaisari, sio kuwa salama sana,
Mimi itabidi basi guys kuangalia hii fupi, aina ya kuelewa kwa nini,
na hopefully baada ya kufanya tatizo hili la wiki hii kuweka
ambapo kwa kweli kuandika Cipher Kaisari, wewe utaweza kuelewa kidogo zaidi
kuhusu nini maana ya kuwa salama na uhaba -
au si salama, mimi nadhani - ni uhaba tofauti kidogo.
Kitu nyingine ilikuwa tuna maswali haya mengine hapa
juu ya kazi
na nini kazi ni,
na sisi aina ya kuongelea kwa ufupi kwamba wakati sisi aliyesema kuhusu maadili ya kurudi;
kwa mtu ambaye amekuwepo kwa hotuba,
unaweza kurejea ambaye amekuwepo kwa hotuba leo?
Wote haki.
Hebu angalia; hebu kuwa - inaweza mtu kutuambia nini kazi ni?
Kelly?
>> Kimsingi >> kitu kuteka juu ya kitu ambacho Imeandikwa katika maktaba hiyo ni
ngumu zaidi juu huko, na kisha wewe andika tu fomu fupi ya hayo,
hivyo kama wewe ni akimaanisha nyuma maktaba kwamba, kwa kutumia
kificho kwamba muda wote na [inaudible].
Yeah, kwa uhakika, na kisha unataka kuongeza kitu kwa kuwa?
>> Yeah, nadhani kuhusu hilo kama sawa na dhana ya formula katika math
ambapo wewe andika tu formula na kisha unaweza kuziba vigezo katika
na kwamba ni nini kazi ni [inaudible].
>> Yeah, hivyo sisi tumepewa michache ya majibu hapa
kwamba wote ni mzuri na sahihi juu ya.
Kuna akimaanisha code hiyo imekuwa imeandikwa katika maktaba mahali fulani
kwamba ni ngumu zaidi
na kisha unaweza kuteka juu ya kificho kwamba
na kweli matumizi yake kwa kuandika tu fomu fupi ya hilo -
au, bali jina lake -
na kisha pia kuna hii kulinganisha na formula katika math
au fizikia, aina yote ya mambo ya
ambapo una formula
na unaweza kisha kuziba katika
vigezo formula kwamba
na kisha kupata matokeo ya formula,
hivyo wewe kufikiri juu yake kama kama equation quadratic.
Hebu fikiria kama badala ya kuwa na kujifunza juu ya
nini formula quadratic ni katika darasa math,
wewe tu alikuwa kidogo Calculator mpango kwamba alifanya hivyo kwa ajili yenu.
Je mtu yeyote kutumia programu Calculator katika madarasa math katika shule ya sekondari?
Yeah, fizikia madarasa?
Ambapo unaweza tu kusema, "Hey, formula quadratic.
Hizi ni vigezo kwamba mimi nataka pembejeo.
Sasa nipe jibu. "
Hiyo ni aina ya kazi ni nini.
Ni njia kwa sisi
aina ya kuandika kama mpango kidogo kidogo ndogo
ndani ya mpango wetu kubwa
na matumizi yake tena na tena
hivyo kwamba hatuna na nakala na kuweka kanuni,
tunaweza kuwapa pembejeo mbalimbali na kupata matokeo tofauti,
ni super Handy
wakati wewe ni kujaribu kuandika programu mbalimbali kwa nyakati tofauti.
>> Hivyo kwa mfano, kazi ambayo tumekuwa kutumia tena na tena na tena
katika mwenendo ni printf.
Printf ni yenyewe kazi
na ni zinageuka kuwa ni kweli pretty muda mrefu na ngumu,
nasty kuangalia, kazi ya kuandika.
Hivyo kama rahisi kama inaonekana kwetu
na magazeti stuff nje screen,
kwa sababu sisi wote tu alifanya kwamba katika mwanzo wa leo sehemu,
zinageuka kuwa ni kweli, unajua,
wanandoa nzuri ya mistari mia ya maadili.
Siyo kitu ambacho mimi ingekuwa milele unataka kuandika, kwa hakika,
lakini sisi kupata na kutumia kila siku; hiyo ni aina ya baridi,
hivyo sisi kupata kushiriki kwa kila mmoja,
na mipango mbalimbali,
hivyo tutaweza kuwa mbizi zaidi katika utendaji;
kwa wakati kuwa, sisi siyo -
kazi tu sisi utaenda kuandika ni kuu.
Kuu yenyewe pia ni kazi,
na unaweza kuona ni got pato lake,
pembejeo wake kama kuongelea,
na kisha jina yake, ambayo ni kuu.
Kuu ni aina ya - ni kazi maalum huko.
Katika mpango wako C, kuna ina kazi kubwa,
na hivyo kwa sasa, tumekuwa aina ya uandishi omitted
mfano, au tamko la, kuu.
Tumekuwa aliyopewa kuwa na wewe,
na tumekuwa tu alikuwa na wewe kujaza aina ya nafasi zilizoachwa wazi.
>> >> Basi kwa ajili ya kuweka pili tatizo, hatuna haja ya
kuandika ni katika kazi ya pili?
Siamini hivyo.
Naamini ni yote katika hapa.
Yeah, hivyo Kaisari Cipher,
wewe huna, haina kuangalia kama,
na Vigenere, huna aidha,
hivyo - na zinageuka wewe si milele kweli kuwa kuandika
kazi, haki?
Wewe piga daima kuweka yote ya code yako ndani ya kuu,
na programmers wengi kufanya hivyo.
Kama sisi kusonga mbele,
sisi kuanza kazi kama njia ya kuanzisha
kusafisha code yako,
kufanya hivyo zaidi ya kifahari,
katika kesi una kazi - aina ya kama wakati kuongelea tanzi,
jinsi wakati mwingine kuna mambo ambayo unataka kufanya tena na tena na tena,
na wewe kuwa na aina ya njia naive -
au kile sisi mara nyingi huita "majani mtu" ufumbuzi,
ni nakala tu na kuweka tena na tena -
unaweza kufanya kitu kimoja na kazi ambapo wewe tu nakala na kuweka
code sawa juu na juu tena,
lakini kwamba bloats code yako -
inaishia kufanya code yako kweli kwa muda mrefu -
na pia anapata utata kidogo,
na basi ina maana kwamba huwezi kupenda -
kama wewe milele unataka kutumia code tena katika mpango mwingine,
wewe pia kukwama kuiga na pasting tena,
hivyo moja ya mambo tutaweza kuzungumzia ni
aina ya kubuni na mtindo wa programu yako,
na hivyo wakati inafanya hisia aina ya
mfuko kitu juu na kuiweka kama kazi tofauti,
tunakuhimiza kufanya hivyo,
na kwamba ni jambo ambalo, tena,
hakuna utawala ngumu na ya haraka.
Sisi mara chache kusema kwamba lazima kuandika kazi kuitwa hii,
lakini ni zaidi ya moja ya mambo hayo wewe tu kuendeleza zaidi ya muda
kama wewe kuandika mipango zaidi na zaidi.
>> Tena maswali?
Sawa, hivyo hebu sasa
kwenda nyuma juu ya guy haki hii hapa,
hivyo mimi nina bado katika sehemu hii ya maswali.
Tumekuwa kuongelea haya wale wote tofauti,
nini kazi, kwa nini kuandika kazi,
wakati unaweza tu nakala na kuweka?
Hopefully tumekuwa ameshawishika kwamba kuandika kazi ni jambo jema.
Hivyo sasa hebu hoja juu ya mpango huu MySpace,
na tutaweza kutumia muda kidogo kufanya hivi.
>> Hivyo, hebu angalia,
naweza kuwa mtu kusoma kwa ajili yangu?
Hebu kuwa na Mikhaila - hii itakuwa kusoma kwa ajili yetu?
>> You maana nyuma wakati MySpace -
Nyuma wakati MySpace ilikuwa baridi.
>> "Nyuma wakati MySpace ilikuwa baridi,
ilikuwa chuki yote ya aina kama hii.
Labda bado ni? Mimi nina uhakika kabisa.
Katika hali yoyote, kwa kutumia Appliance CS50,
CS50 Run, au Spaces CS50,
kuandika mpango kwamba humshauri mtumiaji kwa ajili ya ujumbe
na kisha matokeo ujumbe na barua yake ya kwanza ya mtaji,
pamoja na barua nyingine zote katika kesi alternating,
kama kwa pato sampuli chini,
ambamo Nakala boldfaced inawakilisha pembejeo baadhi ya mtumiaji.
Kwa unyenyekevu, unaweza kudhani kwamba mtumiaji
mapenzi tu pembejeo barua lowercase na mazingira.
Fikiria hili tatizo nafasi ya kufanya mazoezi;
huwezi kuwa na kuulizwa kuwasilisha mpango huu. "
>> Ajabu, asante.
Hivyo kama Mikhaila alisema,
sisi ni kwenda kuandika mpango kwamba MySpaces code yako.
Hivyo hakuwa yoyote ya wewe guys kutumia MySpace?
Yoyote ya kuwa na akaunti MySpace?
Oh, ndio, ndio!
Ni pretty cool.
[Kicheko]
Mimi najua.
Dating mwenyewe.
Hivyo kile sisi ni kujaribu kufanya ni kuandika mpango
kwamba huenda kwa njia ya
na herufi kubwa katika herufi ya kwanza
na kisha baada ya hapo kila barua -
au kila barua nyingine baada ya hapo, samahani.
>> Hivyo - na unaweza kuona katika mfano huu,
hii ni jinsi sisi kukimbia mpango,
na hivyo hii ni kusema tu, "Sisi ni mbio programu inayoitwa a.out.
pembejeo kwamba sisi ni kwenda kutoa ni
ni kwenda kuwa ilisababisha.
Sisi siyo gonna ugavi pembejeo juu ya mstari amri. "
Kama tumekuwa kufuatia mihadhara yote
na kusikia juu ya hoja mstari amri,
kwamba aina ya ambapo wale - kwamba syntax funky
saa kuu huja katika na argc int, mambo ambayo yote,
hivyo hapa sisi siyo kutumia kwamba; sisi siyo kushughulika na yoyote ya kuwa.
Sisi ni tu gonna kupata hii typed katika kwa mtumiaji,
na kisha line hii ya pili na mtaji wa funky
ni nini tunataka programu yetu kwa pato.
>> Hivyo badala ya kutumia Appliance au kukimbia, tutaweza kutumia Spaces,
kwa sababu sisi tumepewa Spaces,
na hivyo kama wewe guys ingekuwa
kupata code yako na kuangalia kitu kama hii,
hivyo mimi nina kwenda kuokoa hii marekebisho
hivyo tu nimepata sahani boiler haki hapa
kwamba inaonekana kama hii, int kuu (utupu), kitu ndani yake.
Kweli, kile tutaweza kufanya ni tutaweza tu kufuta kila kitu wote pamoja.
Tunataka slate tupu,
kwa sababu sisi siyo gonna kuanza kuandika code;
badala yake, sisi ni gonna kujaribu kuandika baadhi pseudocode
ambayo kwa kweli ina maana sisi ni kwenda kuandika kitu ambacho si code
kwamba aina ya inaeleza nini tunataka kufanya,
kinda kama Daudi alivyofanya siku ya kwanza ya hotuba,
au mimi nadhani kwamba ilikuwa siku ya pili ya hotuba wakati yeye alifanya soksi nzima demo.
You guys kukumbuka kwamba - kuona soksi?
Yusufu alikuwa huko aina ya kuandika nje kwa Kiingereza?
Hivyo sisi ni gonna kufanya kitu kimoja.
>> Hivyo wakati mimi kuanza kuandika pseudocode,
Mimi kama kuanza kwa kuangalia nini pembejeo ni kwenda kuwa.
Na mimi kutoa mwenyewe kesi sampuli,
hivyo kama "shukrani kwa ajili ya kuongeza!"
Na kisha mimi pia kuandika nini nataka pato kuwa,
ambayo katika kesi hii ni kitu kama hiki.
Na kwamba aina ya anitiaye nzuri, kama, kuanzia mahali pa kufikiri juu,
"Sawa, nataka kuchukua line 1
na mimi nataka kuigeuza katika mstari 2, "
na kwamba aina ya inasaidia kuongoza kufikiri yangu.
Hii ni nafasi nzuri kuanza.
Njia nyingine ya kufikiri juu yake, pia, kama sisi kinda hoja juu ya
na kama wewe kufanya hili katika programu yako mwenyewe, ni kwa
kufikiri juu ya aina ya kama nini ni kesi makali na hii?
Je, ni aina ya matukio weird?
Je, ni pembejeo weird tupate kupata?
Na kile lazima wale matokeo kuangalia kama?
Kwa mfano, mmoja weird pembejeo
itakuwa hii moja,
kujenga kitu kabisa,
kama kile lazima sisi pato katika kesi hiyo?
Kitu sisi nataka kufikiri kuhusu, pia.
>> Hivyo tu kama swali,
nini kinaweza tunataka pato?
Kama hatuwezi kupata yoyote ya pembejeo wakati wote, nini unapaswa kuwa mpango wetu outputting?
>> Hakuna.
Hakuna kitu? Sauti kubwa.
Hivyo tunataka kuhakikisha kwamba sisi siyo kuandika chochote nje
kama hatuwezi kupata kitu chochote in
Cool. Sawa.
Hivyo
Mimi naenda kuwaita juu ya wanandoa wa watu kama sisi kwenda kwa njia ya
na tu kufikiri aina ya kama nini algorithm ujumla ni
na tutaweza aina ya kuanza kazi kwa njia ya pamoja hii.
>> Hivyo, hebu angalia. Missy.
Unadhani tunatarajia kuanza?
Nini itakuwa nafasi nzuri kuanza hapa
kama tunataka kubadilisha, kusema, mstari 1
katika mstari wa 2?
Je, unaweza tu aina ya kueleza kwangu, kwa Kiingereza, kile unachokifikiria?
Hawana hata wasiwasi kuhusu code.
>> Kitu kwanza napenda kufanya itakuwa
aina ya mtumiaji moja kwa moja na kuwaambia unataka nini.
Okay, kwa hivyo, wanasema,
"Hey, mtumiaji. Nataka
string "- kutisha.
Basi hebu andika hii chini.
Uliza mtumiaji kwa kamba.
Hii inaonekana kama mwanzo mzuri.
Wote haki.
Hebu kuuliza Kelly Ren wakati huu.
Nini sisi kisha unataka kufanya ijayo?
Nini aina ya pili yetu -?
Kusanya >> mchango wao na kuhifadhi kama variable.
Mkuu.
Hivyo kukusanya kamba,
kuhifadhi katika kutofautiana.
Hivyo ni kuna kitu maalumu tunataka kufanya hapa?
Je, tunataka kuangalia mchango wao
kabla -?
>> Yeah.
Nini kinaweza tunataka kuangalia kwa?
>> Naam, wewe alisema hatuna kuangalia kama ni idadi, haki?
Kwa sababu hiyo itabidi kudhani kwamba ni lowercase?
Yeah.
>> Hivyo ni zinageuka kuwa - yeah.
Hivyo getString ni uhakika wa kurudi kwetu kamba.
Si kwenda na kurudi idadi kwetu au kitu kama hicho.
Kunaweza kuwa na tarakimu wahusika ndani ya kamba kwamba, ingawa.
Na wale, tunaweza kupuuza kama tulivyofanya mtaji.
Lakini string tupu kabisa faini,
hivyo kesi haki hapa kwenye mstari 4 na 5,
haki, ambapo kuna hakuna pembejeo,
na tumekuwa kuweka kitu kama pato yetu.
Sisi si kuwa na wasiwasi kuhusu kuhakikisha kwamba kuna kitu katika string
au kwamba string ni angalau 4 wahusika muda mrefu;
chochote ni faini.
Hivyo hii ni kulinganishwa, kwa mfano, na kama mipango pennies kwamba aliandika
ambapo alikuwa na kuhakikisha walikuwa kupata namba zisizo hasi;
alikuwa na kuhakikisha kwamba walikuwa kupata idadi sahihi ya siku katika mwezi.
Na jinsi wewe guys kufanya hivyo?
Jinsi gani unaweza kufanya kwamba mtihani?
Nini ambazo zinahitaji wewe kutumia?
>> Do-wakati matanzi.
Do-wakati matanzi; aina nyingine ya tanzi, pia, yeah.
Hivyo zinageuka hatuna kutumia kitanzi katika kesi hii,
wakati sisi ni uvuvio kwa kamba, ambayo ni aina ya nice.
>> Yote ya haki, ya kuendelea.
Hivyo, Stella.
Unaweza kutuambia kidogo kuhusu nini tunapaswa kufanya ijayo?
Hivyo sasa sisi tumepewa kamba, sisi tumepewa ni kuhifadhiwa katika variable;
nini tunahitaji kufanya kwa kamba?
>> Tunahitaji -
kutambua 2 -
Yeah, tu kusema kwa Kiingereza, hiyo ni ya kutisha.
Tambua >> [inaudible] miji mikuu - au, uppercase.
Yeah, hivyo ningependa kutambua ambayo ndio ni kubwa na ndogo.
Hatuwezi uppercase au Herufi za chini yao mpaka tumekuwa kutambuliwa ndio ambayo.
Hivyo tutaweza kuweka kwamba katika hapa.
>> Hivyo, tu kufikiri kuhusu mchakato huu,
jinsi gani sisi kufanya utambulisho huu?
Unajua, Dan?
Namna ya nini sisi - kile chombo tunatarajia kuwa na matumizi ya nje ya toolbox yetu?
>> Ningependa kuiweka katika namna fulani katika safu kama au kila mstari
ni kidogo yake mwenyewe sanduku,
na kisha uppercase ni kutoka huko au la.
Sawa, hivyo moja chombo tunaweza kutumia ni safu.
Tufanye nini na kuangalia katika kamba,
ingawa, kwa takwimu nje - tulikuwa na kuangalia wahusika.
>> Basi nimepata kuangalia urefu wa kamba?
Yeah, hivyo sehemu ya kwamba ni kupata urefu wa kamba.
Tu nje ya udadisi, nini sisi kutumia ili kupata urefu wa kamba?
>> Strlen?
Yeah, strlen; sisi wito huu "strlen"
Kwa haya yote kamba, hivyo strlen ni kazi,
na ni super Handy, kwa sababu tunaweza kuitumia tu kusema,
Hey, strlen: Hapa ni kamba, niambie ni muda gani.
Katika hotuba ya leo, Daudi aliongea mengi kuhusu jinsi strlen ni kutekelezwa,
nini kweli kinachoendelea nyuma ya pazia.
Lakini hii ni moja ya wale sana super Handy.
Kuna wengine ndio kwamba ni pia katika maktaba kamba,
kama vile strcmp, ambayo yameandikwa "strcmp",
ambayo hutumiwa na kulinganisha masharti kwa kila mmoja.
Wale wengine utatumia kama strstr,
ambayo ni nzuri kwa ajili ya kutafuta masharti ndogo na kadhalika.
Kwa sehemu kubwa, wao wote kuanza na str na kisha kwenda kwenye kuwa kitu kingine.
sababu wao si kweli Spell yao kama kamba na kadhalika
ni kwa sababu nyuma katika kama siku za mwanzo za C,
wakati watu walikuwa wa kwanza kuandika na wote,
walikuwa na mapungufu kwenye idadi ya herufi kwamba unaweza kutumia
kwa ajili ya kazi majina na majina variable,
hivyo kila kitu ni kama super kufupishwa.
Lakini wakati wowote, unaweza kuona kitu ambacho kinaanza na str,
kwamba kwa kawaida maana hii ina kitu cha kufanya na kamba.
>> Okay, kwa hivyo nimepata kupata urefu wa kamba,
na kisha, tunafanya nini kwa wahusika?
Unajua, Sam?
>> Mimi sielewi, mimi alikuwa anajaribu ukafikirie.
Mimi kwa kweli sijui - I wish kulikuwa na baadhi ya njia ya -
I mean, napenda kufikiri labda tunaweza kufanya kitu kwa tabia mbaya na evens,
lakini sijui ya kazi yoyote kama hiyo.
Yeah.
>> Lakini kwamba - itakuwa si lazima kufanya kazi,
kwa sababu kisha ungependa kupata nafasi ya kuwa -
ungependa kuwa na nafasi ya kupata tips juu ya jinsi -
Sawa.
>> Sijui - aina I'm ya waliopotea katika hatua hii.
Yeah - hapana, hapana, hapana, hizi ni nzuri pointi.
Basi nini tunahitaji kufanya ni, kama Sam alisema,
tunahitaji kufuatilia ni barua ni barua isiyo ya kawaida,
na ambayo ndio ni barua hata.
Lakini tunataka kuhakikisha sisi siyo tu kuangalia
saa isiyo ya kawaida na hata
fahirisi katika kamba,
lakini badala ya kuangalia barua isiyo ya kawaida na hata katika kamba,
hivyo tunahitaji kuwa na kinda hii tofauti kati ya
barua - kama yale ya kweli, B, C, D, au kadhalika,
na mambo si barua lakini bado katika kamba yetu.
Kwa mfano hapa, kama hatua hii ni Moderators si barua,
lakini bado ni sehemu ya kamba yetu; bado Char.
Aidha, wote wa maeneo haya -
haina maana kufanya capitalize nafasi, haki?
Hivyo tunataka kuhakikisha kwamba sisi kwa namna fulani ruka wale
wakati bado kufuatilia tabia mbaya na evens.
>> Hivyo aina ya programu katika toolbox wetu
hivyo mbali, kama wewe,
tuna idadi ya zana mbalimbali kwamba tumekuwa kuzungumzwa.
Basi mmoja, kwa mfano, ni vigezo,
kama tumekuwa kuongelea hapa.
Mwingine chombo tumekuwa aliyesema kuhusu ni kazi.
Hivyo tumekuwa aliyesema kuhusu vigezo katika pseudocode wetu hapa
kama nini tuko kwenda kutumia kamba ya kuhifadhi yetu.
Tumekuwa aliyesema kuhusu kazi ya kupata urefu wa kamba, kama strlen.
Sisi tumekuwa kuzungumza juu ya kitu kingine, na tumekuwa aliyesema kuhusu hilo
kwa ajili ya kura mapema katika sehemu leo: matanzi.
>> Nini guys kufikiri kuhusu kutumia kitanzi katika mpango huu?
Yaredi, unafikiri nini?
Je, sisi kutumia kitanzi katika mpango huu?
>> Pengine si, hapana, kwa sababu huna kwenda kwa njia hiyo zaidi ya mara moja.
Okay, huna kupitia nini zaidi ya mara moja?
>> String nzima.
Haki, hivyo huna kupitia string nzima mara moja.
Samahani kwamba alifanya kabisa hakuna hisia!
Huna kupitia string nzima zaidi ya mara moja.
Sawa.
Unafikiri?
>> Nafikiri ni vema kutumia yao
hivyo tunaweza kufanya kama capitalize wakati
eneo la ni [inaudible] idadi.
Mkuu, na hivyo capitalize nini?
Okay, kwa hivyo sisi ni kusema kwamba
tunapaswa kutumia kitanzi kwa sababu tunataka
herufi wakati si idadi.
Hivyo - sorry, je, unataka kuongeza?
>> Mimi alikuwa anaenda kusema kwamba usiyesaidia string
na ni [inaudible] tofauti [inaudible] juu ya wahusika?
Yeah.
>> Na kisha tunaweza hawawajui idadi ya -
au kulingana na eneo la barua katika kamba?
Yeah.
>> Na kubaini kama ni odd au hata na capitalize barua yenyewe
wakati eneo la barua ni [inaudible] - sorry.
Mkuu.
>> Hivyo tu recap.
Je, unaweza kuwakumbusha yangu ya jina lako tena - I'm sorry.
>> Charlotte.
Charlotte, okay.
Basi nini Charlotte ni kusema,
ambayo ni haki kabisa - gosh, hii kinapenda auto Indent juu yangu -
ni kwamba kama sisi kuangalia string
vile kama hii moja kwa juu -
"Asante kwa kuongeza" -
kama mlolongo wa wahusika
ambapo ni katika nafasi 0,
h ni katika nafasi ya 1.
ni saa 2, basi sisi got 3, 4, 5;
nafasi ni katika nafasi ya 6.
Wakati - nini msimamo wa f?
7!
O? 8.
R? 9.
Na kisha sisi tumepewa 10, na kisha siwezi kuandika bila
kinda kupata messy kwenye screen.
Lakini hii ni kweli ni jinsi gani tunaweza kuzungumzia masharti katika kumbukumbu.
Je, ni kamba
ni mlolongo wa wahusika,
na wakati sisi rejea tabia ya mtu binafsi katika kamba,
sisi mara nyingi kufanya hivyo kwa kurejea msimamo kuwa na tabia ya
ndani ya kamba,
pengine njia sawa kwamba sisi majadiliano juu ya Septemba
kuwa mwezi wa tisa wa mwaka
au Jumatatu kuwa siku ya kwanza ya wiki.
Hivyo hii inatupatia njia ya
takwimu nje ambayo ndio ni odd dhidi hata
kwa sababu unaweza kuona hapa,
kama sisi mechi yake juu na T hii,
unaweza kuona kwamba wote wa wale mtaji
ni katika nafasi hata,
angalau kwa neno la kwanza,
na kisha mambo kupata kutupwa mbali mara moja sisi hit kwamba nafasi,
kwa sababu sisi wala kuhesabu nafasi hii kama barua,
hivyo ni kama sisi kuanza
akaenda 0, 1, 2, 3, 4, 5,
nafasi, 6, 7, 8, nafasi,
9, na kisha 10, 11, 12, na kadhalika.
>> Cool, hivyo sisi dhahiri atataka kutumia aina fulani ya kitanzi
kwenda juu ya kila mmoja wa wahusika katika zamu.
Hivyo katika hatua hii,
tutaweza kurudi pseudocode yetu ya zamani hapa.
Kama sehemu ya utambulisho huu wa wale ambao
ni kubwa na ambayo ndio ni lowercase,
tutaweza unataka kufanya hivi katika baadhi ya aina ya kitanzi.
Kitanzi, koloni.
Ni aina gani ya kitanzi, nje ya aina ya matanzi kwamba tuna,
inaonekana kuwa moja nzuri ya kutumia katika kesi hii?
>> Nilikuwa kufikiri kwa kitanzi.
Na kwa nini ni wewe kufikiria kwa kitanzi?
>> Sababu kuanza saa sifuri, na kisha
wakati sisi kufikia urefu wa kamba,
na kisha kila iteration unaweza [inaudible], pia?
Yeah, kwa uhakika.
Hivyo, nje ya uchaguzi tofauti ya tanzi,
tuna kwa tanzi, wakati tanzi, na kufanya-wakati matanzi.
Ambapo kwa kitanzi ni muhimu hasa
ni wakati unataka kujua
aina ya ambapo wewe saa katika kitanzi,
mara ngapi kitanzi imekuwa kunyongwa hadi sasa.
Ambayo ni hasa kile tunataka kujua katika hali hii,
kama Kelly alisema,
msingi mbali ya maoni Charlotte wa awali kwamba tunataka kujua msimamo
wa tabia ndani ya kamba,
na kwa kitanzi atatupa tu kwamba,
kwa sababu kama sisi kuanza aina ya kuangalia nyuma katika string yetu,
kama tunataka kuanza kitanzi yetu kwa saa 0,
na sisi kwenda juu kupitia urefu wa kamba nzima,
basi tunaweza kushirikiana Simu barua
na 0 katika yetu kwa kitanzi,
barua H kwa 1 katika kwa kitanzi yetu, na kadhalika,
kwenda njia yote kwa njia ya mwisho ya kamba.
>> Basi hebu kuanza coding hii kidogo tu
hivyo tu guys kupata kujisikia kwa nini hii inaonekana kama.
Mimi naenda kuwaokoa hii,
hivyo sisi tumepewa code yetu Pseudo katika hapa,
na mimi naenda kufuta kila kitu.
Hivyo nina slate tupu.
Mimi nina gonna kuanza kwa kuandika int kuu (utupu)
{
Mimi nina gonna kuweka 0 kurudi katika
na kisha}.
Hivyo kwa kawaida wakati mimi kuanza kwa mpango, hii ni nini mimi kuanza na.
Mimi utajiokoa hivyo kwamba wewe guys kuwa nayo.
Hivyo moja ya mambo ya kwanza kuongelea ilikuwa
kupata pembejeo kutoka kwa mtumiaji
na hifadhi hiyo katika kamba.
Jinsi gani sisi kupata mawazo kutoka kwa watumiaji?
>> GetString.
GetString, wote haki.
Hivyo kama ninapoandika GetString ()
na semicolon.
Hebu jaribu mbio hii; mapenzi hii kukimbia, kwanza ya yote?
Na kwa nini hii si kukimbia?
>> Una kutangaza kutofautiana.
Nina kutangaza kutofautiana. Sawa.
>> Hivyo ni jinsi gani mimi kufanya hivyo?
Je, wewe akili kuandika kitu, kugawana?
Na kisha tunaweza kuvuta it up.
Hebu angalia, Dan, haki, sawa.
Au Daniel. Nakili kwamba katika, pembejeo string = GetString ().
Ajabu.
Je hili kukimbia?
Hebu jaribu hilo.
Hit kukimbia, uploading chanzo code, jengo, kosa ilitokea.
Sawa.
Hivyo whats kinaendelea hapa?
Matumizi ya 'kamba' Undeclared kitambulisho.
>> Tuna kwa pamoja na maktaba?
Yeah, hivyo Dan akisema tuna ni maktaba.
Ni kwamba nini walikuwa kwenda kusema, Stella? Ajabu.
Hiyo ni ya kushangaza, hivyo Stella, unaweza
nakala hii code nje ya Space Danieli?
Ikiwa bonyeza Daniel Roland Ki, nakala yake,
na kisha itakuwa ya kuweka line ni pamoja na katika, na kisha kuokoa kumtoa?
Napenda kujua wakati uko tayari.
Hivyo hii ni pamoja na syntax pia ni aina ya funky;
kuna kama tag kwamba hash,
na kuna ni pamoja na, na kisha kuna haya mabano pembeni.
Unakumbuka jinsi kazi hii, au lazima mimi kuiweka juu ya kanuni hii hapa hapa?
>> Mimi nina nzuri.
Sawa.
>> Mimi ni printed - sikuwa na uhakika ambayo maktaba, ingawa.
Oh, sawa - yeah, hivyo ni maktaba CS50.
>> Oh, mimi kuweka maktaba stdio.
>> Oh, got it - yeah, hakuna, that's -
hivyo ni zinageuka kuwa string ni kweli kitu ambacho ni maalum kwa CS50.
Kuna kweli si kweli kamba ya aina
kwa sababu haki hapa, kamba ni katika nafasi ya aina, -
sisi ni kutangaza variable kuitwa pembejeo ya kamba ya aina -
na sisi ni kuweka ndani ya pembejeo
thamani ya kwamba anapata akarudi kwetu: pato ya wito huu GetString kazi.
Unaweza kuwaambia huu ni mwito kazi kwa sababu ni got mabano, kama printf gani,
tu kama strlen gani.
Lakini string ni kweli si aina halisi
katika lugha C.
Tumekuwa alifanya hivyo katika aina, na tutaweza kuchukua kuhusu nini zaidi, ni kweli ni
katika C, kwa sababu kuna njia ya kufanya kazi na masharti;
tumekuwa tu amefanya kitu kufanya ni kuangalia kidogo nicer.
>> Hivyo hapa sisi kwenda.
Hapa ni code Stella wa.
Ni got # pamoja .
Watu wengine hii ni pamoja na kuwaita kama hash wakati mwingine au mkali pamoja.
Sasa tunaweza kuanza yake, kukimbia,
na sisi bado kupata kosa.
Hebu kuona nini kinatokea.
"Outnyttjade variable 'pembejeo."
Sawa, hivyo kwamba ni baridi, hiyo ni cool.
I mean, ni si kweli baridi,
kwa sababu sisi ni kupata hitilafu na si kukimbia,
lakini jambo hili ni kusema ni kwamba
sisi si kutumika variable yetu, ambayo hufanya akili.
Sisi si walijaribu kufanya kitu chochote kwa hayo.
Hii ni njia ambayo
Clang ni kujaribu kusaidia sisi kuhakikisha kwamba sisi siyo tu kwa kutumia vigezo
na kisha inadvertently kuwaita kitu kingine baadaye katika kanuni zetu,
kutusaidia kuepuka makosa kwa njia hiyo.
>> Haki zote, hivyo sisi tumepewa pembejeo kutoka kwa mtumiaji,
sisi ni kuhifadhiwa katika kutofautiana.
Hatua ya pili ilikuwa kisha
kuanza kuangalia yote ya wahusika katika string
na kutambua ambayo ndio ni kuwa uppercase
na ambayo ndio ni kuwa lowercase.
Na kama Kelly na Charlotte nililelewa,
hatuwezi kutumia hii kwa kitanzi.
Hivyo haina mtu yeyote kumbuka syntax ya kwa kitanzi
na napenda kuchukua kumchoma katika kuandika tu
mstari wa kwanza wa kwa kitanzi, tu kwa kidogo?
Kelly, unataka kutoa ni kujaribu?
>> Yeah, hivyo una initialize kwanza,
hivyo mimi kuweka i = 0,
na kisha mimi i <strlen ().
Je, ni katika Space zenu - inaweza mimi vuta it up?
>> Yeah, mimi Star up kidogo, lakini yeah.
>> Okay, hebu vuta it up.
Ajabu.
>> Lakini basi mimi sikujua kama alikuwa na kwamba -
Yeah, okay.
Hivyo hapa ni nini Kelly got: hebu tuangalie ni haraka.
Hivyo yeye ni pamoja na maktaba cs50 kwa juu.
Yeye ni pamoja na kiwango IO maktaba saa ya juu,
IO na kiwango ana kazi kama printf,
hivyo kama wewe milele unataka kutumia printf, unahitaji kuwa mstari.
Na kisha yeye pamoja na maktaba kamba,
ambayo sisi haja,
kwa sababu maktaba string ina strlen kazi,
ambayo tutaweza kupata katika kidogo tu.
Hivyo kama sisi kuangalia nini Kelly amefanya hapa,
unaweza kutembea kwetu kupitia mliyo kuwa mkiyatenda?
>> Yeah, hivyo - I mean, I got makosa, hivyo -
Yeah, hakuna, it's -
>> Hiyo mimi alitaka kuwaita string kwamba mimi got tu "kamba".
Nilitaka magazeti nje string
na kisha mimi -
Nilitaka kama kuweka kamba kama kama safu ya tabia ya kila
kuwa tofauti [inaudible], haki?
Na kisha mimi alitaka kuanza katika nafasi 0
na kisha kila nafasi ya 2,
Mimi ningelienda capitalize,
hivyo mimi tu kama ilivyoelezwa 23, kwa sababu mimi nilikuwa naangalia kwenye meza ASCII.
Hivyo kwamba ni nini nilikuwa kufikiri - Najua ni si sahihi.
>> Nimeipata, hivyo hii ni kuanza kubwa.
Nadhani mengi ya mfumo ni katika mahali hapa.
Hebu kwenda njia ya aina ya mstari kwa mstari na kuona nini kinaendelea.
Hivyo njia mimi kama kufanya hivyo ni tu kuanza kwa kuandaa kanuni
na kuruhusu compiler uniambie kama nini mbaya na code yangu,
kwa sababu compiler ni mzuri katika ninawaambieni kile ni vibaya kwa code yako.
Hivyo kama sisi kucheza, kujenga, na haina kujenga.
Ni anasema kulikuwa na kosa,
hivyo kama sisi kitabu chini na kuangalia makosa ya kwanza,
ilisema -
sisi kitabu nyuma hadi juu,
tunaweza kuona kuna 5 makosa yanayotokana chini hapa chini.
Lo, kwamba ni kweli kukatwa.
Nadhani hiyo ni tu si kwenda kupata bora yoyote.
>> Hapa sisi kwenda.
Hivyo kuna 5 jumla ya makosa yanayotokana.
Hapa naweza kuona tu 2 ya kwanza,
hivyo siwezi hoja hii juu kidogo na kisha aina ya kile kitabu.
Hii ni amri ambayo ilikuwa inaendeshwa na kukusanya kificho,
na kisha kosa ya kwanza ilikuwa katika file.c haki hapa:
"Inatarajiwa kutambua au '('", na ilikuwa juu ya mstari huu
ambapo sisi alisema string = GetString ().
Unaweza kuona haki hapa kwamba ilikuwa kwenye mstari wa 8 file.c,
na basi naamini hii ni tabia ya 12 - kwamba ni hitilafu.
Basi nini kinaendelea vibaya juu ya mstari 8 - Kelly?
>> Wewe tu haja ya simu yake, kama, barua au kitu,
kama kamba s au kitu?
Yeah, hivyo ni zinageuka kuwa haya maalum aina majina,
hivyo kamba, int, char, fupi,
wao uko wote maneno maalum,
na unaweza si kweli matumizi yao kama majina ya vigezo yako,
kwa sababu compiler inaangalia kwamba na anasema,
"Oh, najua kwamba aina,"
hivyo unaweza si kweli kuwa kutofautiana string kuitwa kamba,
kama mimi nina kujaribu kufanya hapa, hii si kazi.
Lakini badala yake, tunaweza kuiita kitu kama s au st au str.
Sisi pia hakuweza kuiita int.
Hatuwezi kuwa string kuitwa int.
Hatuwezi kuwa string kuitwa Char; hakuna hizo kazi.
>> Hivyo tutaweza tu kuiita s kwa wakati huu.
Ajabu.
Basi nini ijayo kinachoendelea katika mstari huu?
Kamba - mstari huu inaonekana pretty nzuri?
Hebu kuwapa mwingine kujaribu; hebu kukimbia.
Okay, kwa hivyo sisi bado kupata makosa.
Wakati huu, tuko chini ya makosa 4.
Hivyo tulipata mmoja wao.
Hebu hoja juu.
"Unexpected aina jina 'kamba': inatarajiwa kujieleza," ndiyo?
>> Yeah, hiyo ni kwa sababu mimi walijaribu kwa jina kamba.
Yeah, hivyo inaonekana kama sisi sasa pia kwenda fix
wote wa kufananisha kamba.
Unaweza kuona kuna kumbukumbu ya string hapa, moja hapa, moja hapa,
hivyo tunaweza kusonga zote hizi na s.
Mkuu. Okay, kukimbia tena.
Jengo - kosa jingine limetokea.
>> Okay, sasa tuko chini ya kosa moja,
hivyo int i = s na kisha mabano mraba.
Hivyo unaweza kutuambia kidogo kuhusu nini walikuwa kufanya hapa, Kelly?
>> Ndiyo.
Ilikuwa kwenye mstari 10.
>> Mimi sijui kama sisi zinahitajika yote,
lakini nadhani alikuwa anajaribu -
Mimi itabidi kuokoa ni hivyo unaweza kufuata pamoja.
>> Nadhani alikuwa
anajaribu kuwaambia ni kuanza katika nafasi 0
mwanzoni mwa yangu kwa kitanzi,
hivyo nadhani labda kwamba alikuwa akisema lazima.
Hivyo tu kwa kurejea,
wewe walikuwa wakisema kwamba hii - ungekuwa kujaribu kuanza hii katika nafasi 0
na kupata hii - yeah,
hivyo nadhani mapema, pia, wakati walikuwa wakitembea kupitia kanuni,
wewe walikuwa wanazungumza juu ya jinsi gani alitaka kutibu string kama safu
ili tuweze kupata kila tabia mmoja mmoja.
Nadhani Dan arrays zilizotajwa, pia, kujaribu kubadilisha masharti ndani ya arrays.
>> Ni zinageuka kuwa aina ya chini ya Hood,
kamba ni kweli kuhifadhiwa kama safu tayari,
na unaweza kuifikia kama safu;
hakuna uongofu kwamba una kufanya.
isn't string - hivyo -
kamba si kweli safu,
lakini unaweza kupata hiyo kama vile, kwa sababu wote wa wahusika ni kuhifadhiwa
haki ya mmoja karibu na kila mmoja katika kumbukumbu,
hivyo kama unataka kupata tabia ya kwanza ya kamba,
ni sawa kama kupata integer kwanza katika safu integer.
Hivyo sisi mara nyingi - we'll
rejea 2 kama
oh, kama kuwa kamba, kama kuwa safu,
hata kama ni kweli - they're mambo tofauti sana,
lakini unaweza kutibu yao mengi sana sawa.
Hivyo ni zinageuka kuwa mstari huu kweli -
hatuna haja ya kufanya lolote uongofu,
na kwa kweli,
hii kwa kweli si halali kujieleza,
ambayo ni nini compiler wetu anatuambia.
Ni kusema, "Hey, inatarajiwa kujieleza,
na kile Mimi nimepata hapa ni kitu ambacho si kujieleza. "
Kutangaza safu,
wote unahitaji kufanya ni kitu kama hii kwa semicolon,
na kisha kumweleza safu muda gani unataka kwa kuwa,
kama vile 5, hivyo hii line 10
atatangaza safu kuitwa i na integers 5 ndani yake.
>> Hii ni kando, hii si lazima kwa kificho,
lakini hii ni - hii ni aina ya nini tamko inaonekana kama.
>> Jinsi gani unaweza si kutumia Char i [strlen (s)]?
Char i [strlen (s)]?
>> Char i, na kisha ndani ya mabano, strlen (s).
Yeah, hivyo tunaweza -
tunaweza kufanya hii,
na hii ingekuwa kutangaza - gani hii nini?
>> Nadhani ingekuwa kutangaza safu
ya, kama - ya -
oh, huna haja ya i - oh,
yeah, wewe dhahiri hawana haja i.
Wewe kutangaza safu ya wahusika
s ya urefu.
Na hivyo kile Sam kusema ni kwamba
mstari 10 - basi mimi kuweka baadhi ya nafasi katika kati yake na wengine ili tuweze kutenganisha -
mstari 10 ingekuwa kutangaza safu
ya chars, strlen (s) yenye thamani ya yao,
lakini sisi kwa kweli wanahitaji i,
na sababu tunahitaji i ni kwa sababu sisi haja ya kutoa safu jina;
vinginevyo, tunataka kuwa njia ya kutaja safu baadaye katika code.
>> Hivyo hii ni haki hapa jina safu
na ndani ni urefu.
Hii itatupa safu,
lakini hii ni - tena, hii ni tamko.
Siyo zoezi; si initialization.
Kama sisi kutangaza hii safu kama hii,
kuna kweli hakuna kitu katika maudhui ya safu.
Ni tu Junk - chochote ni katika huko.
Na kama sisi alisema,
sisi kweli huna hata haja ya kufanya hili uongofu,
kwa sababu tunaweza tayari kutibu string s kama safu.
Mimi najua sisi ni mbio ndefu kidogo kwa wakati,
lakini nataka tu kweli haraka kupata hii kwa kitanzi
na kuonyesha jinsi ya kupata wahusika mmoja mmoja katika safu,
kwa sababu hiyo ni muhimu kwa ajili ya zoezi wetu.
Na kisha tutaweza basi wewe kwenda huko.
>> Hiyo hapa, sisi tumepewa kwa kitanzi
kwamba inaonekana karibu nzuri.
Nini si kabisa karibu huko?
What's - nini si haki kabisa kuhusu hili kwa kitanzi?
>> Hakuna braces curly?
Hakuna braces curly, kwa moja.
Wanataka kuhakikisha kwamba tuna mwili wa kitanzi na braces curly.
Lo, si brace mraba!
Na nini ni jambo la pili kwamba tunahitaji kufanya na kitanzi hii?
Kama mimi kujaribu na kukimbia,
whats kosa hili kwamba mimi kupata?
Mimi kupata hizi makosa yote - nina initialize i.
Mkuu.
Hivyo hii itakuwa kitanzi - hii si kabisa huko,
lakini ni kupata kweli karibu.
Kanuni hii tunaweza sasa kukimbia,
kujenga, kosa bado hutokea.
Kwa nini ni bado kulalamika,
akisema kujieleza ni outnyttjade,
na kwamba kwa sababu line hii haina kufanya kitu chochote.
Hatukuwa kuhifadhi mahali popote; hatukuwa kuokoa matokeo.
Ambapo tunapaswa kuwa kuokoa matokeo haya?
>> S au i?
Hasa, na hii syntax funky,
hii ni pamoja na mabano mraba
ina maana kupata tabia i-th wa s.
Hiyo kwenda kuwa kitu ambacho kweli ni muhimu kwa zoezi.
Kwa bahati mbaya, sisi ni kwenda haja ya kusimama hapa,
hivyo kwamba Sebastian sehemu wanaweza kuja katika,
lakini mimi nina furaha kukaa baada ya nje na kuchukua maswali yoyote.
Kwa hiyo asante guys kwa kuja.
Hii lazima sasa kupakia, kujenga, kuendesha.
Tunaweza kuingia string kama "hello"
na Prints "QOX".
[Kicheko]
>> Hivyo si kabisa huko, lakini kusonga, kupata kuelekea matanzi hizo!
Shukrani kwa kuja, na nitakuwa nje.