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.