JASON HIRSCHHORN: Karibu CS50 sehemu, kila mtu. Jina langu ni Jason Hirschhorn. Nina mengi ya TFS yako, lakini mengi ya watu hopefully kuwa kujiunga na sisi online, ugani wanafunzi au wanafunzi kujaribu kuangalia kupitia sehemu kama amekosa sehemu zao kwamba wiki au tu catch up kama walitaka kupitia upya baadhi ya vifaa. Hivyo kama kwa muhtasari, ambayo yote wa una kusoma, sahihi? Mimi naona mengi ya nods kichwa. Sehemu kutoa kwa fursa kuchunguza ya shaka nyenzo katika mazingira ionekane zaidi, kama vile kupiga mbizi katika shughuli za mikono. Hivyo kwamba kimsingi nini sisi ni kwenda kufanya kila wiki. Tunakwenda kupitia nini tuna kuamua kuwa muhimu zaidi mada kufunikwa katika hotuba, na ndio pengine pia muhimu sana na zaidi uwezekano wa kuja kwenye seti tatizo na katika mafumbo, na katika coding yako maisha ya nje ya CS50. Hivyo sisi ni kwenda na kwenda katika mada hizo, kujadili yao, kwenda juu yao, kujibu maswali yoyote unaweza guys kuwa, na kisha tunakwenda kufanya mengi ya mazoezi ya matatizo katika coding. Wewe wote kuletwa Laptops, ambayo ni ya ajabu. Hii ni sayansi ya kompyuta ya darasa. Hata hivyo, mengi ya mazoezi ya kufanya, huwezi haja Laptops yako kwa. Unaweza kufanya nao juu ya karatasi. Kwamba ni jinsi gani wewe ni kwenda kufanya nao juu ya Quizzes. Na kwa kweli, hilo ni njia kubwa ya kweli kujua kwamba wewe jinsi ya kufanya kitu kama huna Angalia 50 hadi kumtegemea au kufanya kutegemea, kuwaambia umefanya makosa yoyote. Hivyo wewe ni kuwakaribisha kwa kanuni ya appliance au run.cs50.net, ambayo ni chombo mwingine kwamba utapata na kanuni online, lakini mimi pia ingekuwa kupendekeza, kama wewe si walijaribu hivyo, kwa kutumia karatasi ya karatasi na kujaribu haya mazoezi matatizo katika karatasi. Sababu tena, kwamba hatimaye nini wewe kwenda kuwa kuombwa kufanya juu ya mafumbo. Basi hebu kuanza na yetu ajenda kwa leo. Tunakwenda kwenda juu ya baadhi ya kanuni kwa sehemu yetu, basi sisi ni kwenda kupiga mbizi katika arrays, kazi, na mstari amri hoja, ambayo ni nini nyie na mifuniko ya wiki hii iliyopita katika hotuba na kisha Jumatatu, na kile utakuwa kufunika zaidi ya kesho. Na kisha hatimaye, tunakwenda kuzungumza kuhusu pset2. Kama mimi naweza kupata show ya mikono kama wewe si inaonekana saa mbili kuweka tatizo vipimo. Tutaweza kusema kila mtu. Ajabu. Tutaweza kuzungumzia seti tatizo katika kidogo, lakini kama kusoma kuweka tatizo vipimo, hiyo ni wote unahitaji kufanya. Kama unaweza kusoma kwamba kabla ya kuja darasani na sehemu ya juu ya Jumanne, utakuwa kuwa na nafasi kubwa. Tunaweza kwenda kwa kuweka tatizo, ambayo ni nini tunakwenda kufanya mwishoni. Tunakwenda kupitia mantiki, kuhakikisha kila mtu juu ya ukurasa huo. Mimi nataka ninyi kuwa na uwezo wa kuondoka Jumanne hisia vizuri sana na kile haja ya kufanya kwa ajili ya tatizo kuweka wiki hii, na kama huna, mimi kwa furaha kukaa baada na kazi na wewe. Lakini hiyo ni jambo moja kwamba una kufanya lakini nadhani itakuwa kweli smart, tu kusoma kuweka tatizo vipimo na darasa juu ya Jumanne, ambayo inaonekana kama mengi ya nyie alivyofanya. Mimi itabidi kuanza na ajenda ya kila aina ya darasa ili kujua wapi tunakwenda. Hii pia ni msaada kwa ajili ya watu kuangalia online kwa sababu kila sehemu ni rangi coded, hivyo kama unataka kuja nyuma na kuangalia tu dakika 10 badala kuliko sehemu nzima dakika ya 90, wewe unaweza tu kwenda sehemu ya rangi coded na kuangalia sehemu hiyo. Hivyo nimekuwa alijaribu kuvunja yao juu katika nzuri modules kwamba itaruhusu - kama unataka kuja nyuma na tathmini, au wanafunzi wengine ambao ni tu kuangalia sehemu ya kupitia upya - kupata kitu maalum wao wanataka kwa makini na na kujifunza zaidi juu. Tamu. Kanuni. Mimi nina kiongozi maridadi juu ya chuo. Sijui kama mtu yeyote alifanya maridadi. Je, mtu yeyote kufanya maridadi? Mtu mmoja alifanya maridadi. Watu wawili walifanya maridadi. Kutisha. Hivyo maridadi ni mwaka wa Kwanza Nje Mwelekeo Programu. Sisi kuchukua freshmen katika Woods na kufanya uzoefu zaidi ya kichawi ya maisha yao, sahihi? Yeah. Sauti kuhusu haki. Hivyo mimi tu alitaka kuanza yetu ya kwanza kifungu kwa kujadili baadhi ya kanuni kwa ajili ya darasa na uhusiano wetu sababu nadhani wao ni muhimu sana. Kwanza kabisa, kama wale ambao ni sehemu yangu ya kupokea na imekuwa kujadiliwa kwa kuwa barua pepe, mimi upendo huu. Hii ni sehemu favorite wa mwaka. Nimekuwa hivyo msisimko. Nimekuwa hapa kwa masaa leo. Mimi si kushoto jengo hili ila kwa kwenda kula chakula kwa sababu nampenda CS50 sehemu, mimi kumpenda mafundisho, I love kufanya kazi na wewe guys. Moja ya vipaumbele wangu juu, kama si yangu kipaumbele namba moja, si tu kwa ajili ya darasa hili lakini ikiwa ni pamoja na nyingine wangu madarasa na extracurriculars, ni kusaidia nyie, na kusaidia nyie, na kufanya bora yangu ya kufanya uhakika kwamba guys kuwa, ajabu, na furaha, uzalishaji kujishughulisha, kusisimua uzoefu katika darasa hili. Hiyo ni nini mimi nina nia. Hiyo ndiyo sababu mimi hupenda kufanya hili. Hiyo ni idadi wangu jambo moja, kusaidia guys. Kama una maswali yoyote kuhusu hotuba, kuweka tatizo, sehemu, maisha, hata kama unataka kuzungumza kuhusu maisha, tafadhali jisikie huru kufikia nje. Una kiini yangu ya simu ya simu, una email yangu anwani, una Gchat yangu. Unaweza kuwasiliana na mimi kwa lolote au yote ya wale wakati wowote, lakini pengine si kupata majibu wakati wowote. Mimi kujaribu na kupata nyuma ndani ya masaa 24. Mara nyingi itakuwa ni ndani ya Dakika 20 au dakika 24. Mimi lazima kuwa alisema kwamba kwa kufanya hivyo sambamba. Lakini utapata jibu pretty haraka. Kama wewe Nakala mimi saa kabla ya tatizo kuweka ni kutokana, nami utulivu wewe chini na kufanya mazoezi ya kinga ya kina na wewe, lakini kama si kuanza, wewe pengine si kwenda kumaliza, na Siwezi kukusaidia huko nje hata mimi itabidi kujaribu bora yangu. Hivyo mimi kufanya kila kitu Naweza kukusaidia. Tafadhali jisikie huru kufikia nje kama ni katika sehemu tena, katika Masaa ya Ofisi kama unaweza kuona kwangu, au hata nje. Nina furaha ya kuanzisha muda wa kukutana na kazi kwa njia ya matatizo na au kwenda juu ya nyenzo. Hivyo kwamba ni namba moja, msaada. Mimi nitafanya kila kitu mimi wanaweza kukusaidia. Namba mbili, mkutano wa katikati. Nyingi kama napenda kuwa, mimi nina si jalali au au nguvu zote akifahamu kila, hivyo sijui wote muda kama nini mimi kufanya ni kupata hela, kama njia Ninawafunza mada husaidia kujifunza, au kama wewe wamechanganyikiwa juu ya mada lakini si kunyanyua mkono wako au kuuliza mimi au kutuma barua pepe yangu. Au hata kama wewe, tena, ni kuchanganyikiwa kuhusu kitu kwenye kuweka tatizo. Kama huna kufikia nje kwangu, Siwezi kujua kwamba kwa uhakika. Mimi nina kwenda kufanya bora yangu kuangalia katika juu ya guys, kuhakikisha kila kitu ni kwenda vizuri, kujaribu kufundisha mambo kwa njia kwamba itakuwa mazuri zaidi ya mitindo yako ya kujifunza, lakini kama kuna kitu naweza kufanya, basi mimi kujua. Pamoja wale mistari, kama unataka baadhi ya msaada na kuweka tatizo, mimi nina zaidi kuliko furaha ya kukusaidia na kuweka tatizo. Tunakwenda kufanya mengi ya kwamba kuelekea pili nusu ya sehemu hii. Lakini kama wewe si kusoma tatizo seti nyuma na si watched kutembea kupitia na si watched kaptula na wanatarajia mimi ya kufundisha wewe kila kitu ambayo imekuwa videotaped online au kwamba unaweza kupata katika CS50 utafiti, kwamba si kweli haki kwa mimi au na wenzao yako mengine. Hivyo tafadhali, mimi nina furaha zaidi kuliko kusaidia , lakini wewe guys got kukutana na mimi katika katikati. Tuna tani ya rasilimali kwa wewe inapatikana kwenye CS50. Nilivyoeleza baadhi yao. Tafadhali kuchukua faida yao. Kama wewe ni kuchanganyikiwa, mimi nina furaha zaidi kuliko kukusaidia kueleza wao katika njia nyingine, lakini siyo haki kama wanafunzi kuonyesha juu katika masaa ya ofisi, si kuanza kitu, na ni Alhamisi usiku na wao ni kutarajia TF kutembea nao kwa njia ya kila moja jambo kwa tatizo kuweka kutokana saa sita mchana siku ya pili. Mantiki? Tena, tafadhali kukutana nasi katikati. Na hatimaye, matarajio makubwa. Mimi naenda kuwa grading kila mtu ambaye ni katika sehemu yangu, au bao yako tatizo seti. Wewe si wamerejea tatizo kuweka zero au moja bado. Tunasikitika juu ya hilo. Ilichukua sisi muda na hatimaye kukaa sehemu, na sasa tunaweza kuanza grading. Mimi itabidi kupata yao nyuma yenu haraka iwezekanavyo. Hizo ni baadhi ya yangu advisees huko nje. Mimi itabidi kupata yao nyuma yenu haraka iwezekanavyo. Na kwa ajili ya tatizo kuweka mbili, tutaweza kuwa juu ya ratiba na tutaweza kuanza kupata yao na wewe pretty haraka baada ya wewe kugeuka wasitoke Baada ya kupata tatizo lako kuweka nyuma, wewe kupata alama, kama unajua kutoka kusoma silabasi - usahihi, kubuni, upeo, na style alama. Utapata pia kupata maoni. maoni ni muhimu zaidi kuliko alama. Nadhani ni salama kusema kwamba. Alama ni idadi tu moja hadi tano. Ni vigumu kusoma katika wale. Ni vigumu kuboresha kutoka kwa wale. Lakini maoni mapenzi kumweka nje maalum mambo walifanya vizuri au maeneo unaweza kuboresha na kutoa baadhi ya mawazo kwa ajili ya baadaye au mbadala njia za kufanya mambo. Hivyo tafadhali, tafadhali, tafadhali soma kupitia maoni. Mimi kuweka muda mwingi katika wale maoni. Tafadhali soma kwa njia yao na si tu kitabu chini kwa chini ya PDF, kuangalia kwa alama yako, au kwenda online na kupata alama yako, na kisha kupuuza maoni. Si kwamba jinsi wewe ni kwenda kupata bora. Hiyo si jinsi wewe ni kwenda kuongeza yako alama hatimaye, tu kwa kuangalia alama. Tafadhali kuangalia maoni hayo. Na pamoja mstari wa matarajio ya juu, tena, kama nilivyosema, wewe yanaweza alifunga kutoka moja kwa njia ya tano. Wawili wawili, watatu, na fours ni kubwa wengi wa alama wewe ni kwenda kuwa kupata. Ndio na umri wa miaka mitano ni wawili kweli nadra. Daima kuna mambo tunaweza kufanya vizuri zaidi. Kila mimi Kanuni mpango, kuna daima kitu mimi wangefanya vizuri zaidi. Hivyo badala ya kusema wewe kupata tano kila wakati juu ya kila kitu na alifanya kila kitu kamili, sidhani yoyote wa kwetu kweli wanaamini kwamba sisi - au hopefully, hatuwezi kufanya kila kitu kamili kila wakati. Hivyo si kuwa na wasiwasi kama wewe hakuwa na kupata tano. tano haina ramani kwenye, nne haina ramani kwenye B, tatu gani si ramani kwenye C. Hiyo si jinsi alama kazi. Kama Daudi amesema mara nyingi, katika mwisho wa muhula wote wa ya alama yako na pembejeo kutoka kwangu, TF yako, kuja pamoja na kuamua daraja ya mwisho kwa ajili yenu. Lakini tena, siyo mitano, , Nne, B, nakadhalika. Hivyo nina kwenda na matarajio ya juu kwa ajili ya wewe guys. Mimi nina kwenda kutarajia tatizo nzuri seti na mimi nina kwenda kutoa wewe maoni kama vile. Na si kwenda maana wewe ni kwenda kupata daraja mbaya zaidi. Wewe ni hadhi katika suala la maendeleo yako kutoka wiki sifuri hadi mwisho kozi ya. Na hatimaye, katika suala la juu matarajio ya darasani, mimi upendo wakati watu kushiriki. Naelewa baadhi ya watu kuhisi zaidi au chini ya starehe ya kushiriki. Watu wengine wanashiriki si kwa kunyoosha mikono yao na kuzungumza wakati wote. Lakini sisi katika darasa hili ni kwenda kuwa kufanya mengi ya matatizo kidogo, mengi ya maswali ya mini, na kisha baadhi kubwa coding matatizo. Hivyo dhahiri kazi mazoezi haya ya nje wakati sisi kufanya nao kwenye kompyuta yako au juu ya karatasi. Lakini mimi itabidi pia kukupa muda kabla ya mtu yeyote milele ina kujibu baadhi ya maswali mimi kuuliza. Hivyo kwa sababu nitakupa baadhi ya wakati kufikiri juu yake, kwa sababu tunakwenda kufanya mambo katika washirika wakati mwingine, Mimi kutarajia kila mtu kuwa wanaohusika kiasi fulani. Na kwa ajili ya ukosefu wa muda bora, kuna pengine kuwa baridi wito, ambayo ni ambapo kila mtu atakuwa na nafasi kufikiri juu ya jibu, na kisha Mimi nitakuita juu yenu, na kisha utasikia wanasema jibu. Msiwe na wasiwasi au kuwa na hofu juu ya hilo. Nimekuwa kufanyika katika siku za nyuma na tumekuwa kupatikana kwamba ni zaidi ya mafanikio, pia kusoma utafiti wa kielimu juu yake ili au kuamua kama ilivyokuwa nzuri mbinu. Ni msaada sana, hasa kama wewe kuwapa wanafunzi muda wa kufikiri juu majibu na wala kuwafanya kuja tu nje na kusema ni haki mbali bat. Lakini kama huna kujisikia vizuri kujibu, mimi nina pia nzuri katika kuhisi kwamba nje, na sisi siyo kwenda kuweka wewe juu ya doa, hasa juu ya kamera, hata kama hakuna wewe ni juu ya kamera hivi sasa. Basi hizo kanuni mimi. Jambo moja zaidi pamoja na mistari mkutano wa katikati. Mimi naenda kukupa guys kura ya maoni. Tafadhali nipe maoni pia. Kuna tovuti, sayat.me/cs50. Hivyo ni maoni ya kweli. Kama unataka kumpa wakati sehemu, Mimi kupata barua pepe wakati yanapotokea. Tutaweza kuchukua mapumziko katika kidogo, hivyo mimi itabidi kuangalia njia ya maoni basi. Kama umewahi kuwa maoni yoyote, tafadhali unipe huko. Kama wewe nipe maoni juu ya Q, hiyo ni ajabu, lakini hiyo ni mwongozo kwamba kufanya mwishoni. Lakini kwamba itakuwa mwisho wa muhula wa hivyo Mimi si kuwa na uwezo wa kuchukua yoyote ya kuwa maoni na kugeuka ndani ya kufundisha nyie bora. Hivyo tafadhali, kama una maoni, unipe. Nampenda maoni. Nyuma na maridadi, sisi kupata maoni wakati wote. Unaweza kunipa pluses, mambo mema, delta, mambo naweza kuboresha juu. Unaweza kutoa maoni juu ya mavazi yangu. Ambayo si kuwa kama msaada, lakini wewe ni welcome maoni juu ya yoyote na kila kitu. Tafadhali, tafadhali nipe maoni. Mimi thamani yake mengi na ni ina maana kubwa kwangu. Moja zaidi ya kawaida, furaha. Tunakwenda kuwa na mengi ya furaha. Hopefully katika kozi hii, utakuwa kuwa na mengi ya furaha. Tutaweza kuwa pipi saa sehemu. Tutaweza kuwa na muziki. Tutakuwa hopefully kupata kujua moja mwingine kiasi fulani vizuri, hivyo nataka hii kuwa furaha, walioshiriki uzoefu. Najua baadhi ya wamekufa katika mihadhara wewe alikuwa mapema leo, hivyo hopefully kwamba si kuwa kesi sasa. Na kama ni kesi ya sasa, tu wala koroma kwa sababu kwamba nguvu kuwa hawakupata juu ya kamera. Tamu. Maswali yoyote, maoni, au wasiwasi kabla mimi hoja juu kuhusu kitu tumekuwa alizungumzia kuhusu? Kubwa. Hivyo sisi ni kwenda katika arrays kwanza. Hii ni jinsi ya kufanya safu. Tumeona hili kabla. Una aina ya data, una jina, na kisha una ukubwa. Hapa hapa, mimi kujenga arrays mbili. Wa kwanza ni safu ya wahusika, na ina nafasi ya 26. moja ya pili ni safu ya alama, na ina tatu mazingira kwa ajili ya integers tatu. Ndiyo? MWANAFUNZI: Je, wote ni wa slides hizi inapatikana mahali fulani kwa ajili yetu? JASON HIRSCHHORN: Mkuu swali. swali lilikuwa, wote ni wa haya slides inapatikana? Ndiyo. Wote wa slides haya itakuwa inapatikana, na katika siku zijazo, mimi itabidi email yao kwa wewe kabla ya sehemu. Lakini leo, kwa sababu hii ni mara ya kwanza wiki, tulikuwa na kuanza marehemu. Hivyo kwa kawaida, utapata slides hizi, lakini watakuwa inapatikana online na Mimi itabidi email yao na wewe haki baada ya darasa. Maswali yoyote nyingine? Hivyo tena, arrays ni masanduku, kwa kukosa neno bora zaidi, yaani kushikilia nyingi mambo ya aina moja ya data, na wao ni karibu na mtu mwingine katika kumbukumbu. Na hivyo tena, hii ni jinsi gani unaweza kufanya aina mbili ya arrays. Hivyo baada ya kiunda safu yako na kwamba line ya kwanza - int alama, bracket tatu, karibu bracket - wewe wanataka initialize. Unataka kuweka baadhi ya maadili katika huko. Na hii ni jinsi ya kuweka maadili katika baadhi ya huko, tu kuchagua indice na kuandika idadi. Hebu kuteka hii juu ya bodi. Kila mtu anaweza kuona? Kila mtu anaweza kuona. Tamu. Ili kwenda kuwa yangu safu inayoitwa alama. Kama unaweza kuona, ni kawaida tatu. Kuna masanduku ya tatu huko. Kila mmoja unaweza fit nini aina ya aina data? MWANAFUNZI: Integer. JASON HIRSCHHORN: integer katika hii moja. Tuliandika alama int, na neno la kwanza ni aina ya data kwamba kinaendelea kwenda katika masanduku katika safu hiyo. Hivyo siwezi fit tatu. Kwa nini nina sifuri hadi huko kwenye bodi? Kwa nini ni kusema alama sifuri sawa na 1? Kuwakumbusha yangu ya jina lako. MWANAFUNZI: Kurt. JASON HIRSCHHORN: Kurt. MWANAFUNZI: Ndiyo. JASON HIRSCHHORN: Kwa nini? MWANAFUNZI: Kwa sababu ripoti ya kwanza ni sifuri, sisi kuanza kuhesabu katika sifuri. JASON HIRSCHHORN: Hivyo sisi kuanza kuhesabu katika sifuri. Hiyo ni kweli kabisa. Hii ni sehemu ya utata na safari mapenzi wewe juu, hasa wakati uko kujaribu iterate kupitia arrays, ambayo tutaweza kufanya katika kidogo. Sisi kuanza kuhesabu katika sifuri. Hivyo kama nataka kutaja kwanza sanduku, siyo sanduku moja. Kwa bahati mbaya, ni sanduku sifuri. moja ya pili ni sanduku moja, na katika hii kesi, moja ya tatu ni sanduku mbili. Nini kuhusu sanduku tatu? Ambapo ni sanduku tatu? Au kama nataka kufanya alama, bracket tatu, karibu bracket, nini hiyo? Hivyo alisema tabia null. Mawazo yoyote nyingine? Je, ni alama ya mabano mabano tatu? MWANAFUNZI: Ni kweli haina kuwepo kwa sababu wewe tu kuelezwa kama alama, bracket tatu. JASON HIRSCHHORN: Hivyo unaweza kusema haina kweli zipo. Katika baadhi ya matukio, wakati sisi ni kushughulika na masharti, kwa ujumla tutaweza kuweka null tabia mwishoni. Tutaweza kupata kwamba katika pili. Lakini katika kesi hii, kuna hakuna sanduku ya tatu hapa. Hivyo sanduku mwisho katika safu yoyote ni ukubwa bala 1. Hivyo kama tuna safu ya n kawaida, sanduku ya kwanza ni katika sifuri, moja ya mwisho ni saa n bala 1. Na katika kesi hii, haipo. Kuna kitu hapa katika kumbukumbu lakini siyo yetu. Sisi si wenyewe yake. Sisi si kuuliza kwa ajili yake. Hivyo kama sisi kujaribu kupata huduma hiyo, ambayo tutaweza kufanya katika kidogo, sisi ni pengine kwenda kupata katika shida. Katika kesi hiyo, mimi nina initializing yangu safu na vigezo tatu. Sisi ni kuweka katika sanduku moja sifuri, wawili katika sanduku moja, na tatu katika sanduku mbili. Je, mtu yeyote kuwa na maswali yoyote kuhusu initializing safu? Hivyo sisi akaenda juu ya hii tu sasa. Alama, bracket tatu, karibu bracket, kwamba haipo. Sisi ni sifuri indexed katika sayansi ya kompyuta, hivyo sisi kuanza kuhesabu katika sifuri. sanduku mwisho inapatikana kwetu, ni sanduku ya tatu, lakini ni kuitwa sanduku namba mbili. Chini chini, hii ni mbadala njia ya initializing arrays. Hivyo badala ya kujenga safu moja line, kujaza sanduku ya kwanza, basi sanduku ya pili, basi sanduku ya tatu, unaweza kufanya hivyo wote katika mstari mmoja. Hivyo katika mstari kwamba, wote wawili arrays. Hii inajenga huo halisi safu kama nini sisi aliumba hapa hapa, lakini ni tu gani katika mstari mmoja. Sasa tuna umba safu yetu. Kawaida mara moja kujenga safu, wewe wanataka kufanya kitu kwa hayo, kama hiyo ni kujaza au kupata mambo ya nje ya ni na magazeti yao nje kwenye screen. Katika kesi hii, sisi ni kwenda kupitia wetu alama safu, ambayo sisi initialized juu ya mstari wa kwanza hapa katika kijivu. Na kisha juu ya mstari wa pili, sisi kuanza iterating kupitia safu. Je, mtu yeyote una maswali yoyote kuhusu muundo wa kwa kitanzi? Hivyo hii ni kwa kitanzi. Tuna hali yetu ya awali, na kisha hali yetu ya mwisho, na kisha sisi iterate, i, kila kitanzi. Na katika braces curly katika hii kwa kitanzi, nini kinatokea kama ningekuwa na kukimbia mpango huu? Mtu yeyote anaweza kuniambia nini tunataka kupata? [? Matu? ?] Matu: Magazeti ya alama zote juu ya kila mstari. Ingekuwa alama ya magazeti ya kila juu ya line tofauti. JASON HIRSCHHORN: Ni nini hasa itakuwa ni ya magazeti? MWANAFUNZI: Itakuwa magazeti moja, kisha mbili, kisha tatu. JASON HIRSCHHORN: Hasa. Ingekuwa magazeti moja, kisha mbili, kisha tatu, kila juu ya mistari tofauti, kwa sababu tunakwenda kupitia safu na utasikia kuona kwamba pili, printf kauli, alama i. Kadhalika raundi ya kwanza kupitia yetu kwa ajili ya kitanzi, i sawa na sifuri, ambayo ina maana sisi ni kupata thamani katika alama sifuri - ambayo kama sisi kurudi nyuma kwa mchoro wetu, ni moja - na kujaza - oh, inasema c. Kwamba lazima% d. Nami kurekebisha kwamba katika kidogo wakati Mimi mkono kwamba nje kwenu guys. Lakini sisi ni kuwasilisha integer hivyo lazima% d haki hapa, si% c. Je, ni kwa ajili ya% c? MWANAFUNZI: Tabia. JASON HIRSCHHORN: Tabia, hasa. Je, ni mtu mwingine? Kama hutaki kufanya% d kwa integer, nini kingine unaweza kufanya nini? MWANAFUNZI: i. JASON HIRSCHHORN:% i, hasa. Hivyo maswali yoyote kuhusu iterating kupitia safu? Hivyo kile kinachotokea kama sisi kufanya hili? Badala ya kufanya i ni chini ya tatu, sisi gani i ni chini zaidi au sawa na tatu. Nini kinatokea wakati sisi kukimbia kanuni hii? Ndiyo, Annie? MWANAFUNZI: Wao wanaenda magazeti nje weird mambo kwenye mstari wa nne. JASON HIRSCHHORN: Hivyo wewe alisema, ni kwenda magazeti nje mambo weird juu ya nne mstari? Je, mtu yeyote kuwa na jibu kwa swali lake? Hivyo ni tabia mbaya kwamba wakati sisi kupata - kadhalika duru ya nne kupitia kwa wetu kitanzi, kama wewe mawazo, Annie, utakuwa ni alama ya mabano ya tatu, ambayo tumekuwa tayari figured haina zipo, na sisi ni kwenda kujaribu na kupata kwamba, magazeti nje, kutumia baadhi ya njia. Hivyo kompyuta pengine kumkasirikia sana kwetu. Uko sahihi kabisa. Ni wanaweza kuacha mpango kabisa. Huenda magazeti nje kitu kweli weird. Huwezi kusema kwa uhakika. Ni tabia mbaya hivyo itabidi pengine kupata wazimu katika wewe na tu kuacha mara moja. Lakini hii ni makosa ya kawaida itabidi ambapo wewe ni mbali tu na mmoja katika mwisho, na hii ni mdudu kwamba mapenzi pigo ninyi katika coding yako. Moja ya njia ya mimi kama kufanya ni tu juu ya ubao mweupe, kupitia kila iteration ya kitanzi kwenye mkono au kwenye karatasi ya kuona nini kinatokea, na kisha ujumla kutambua, oh kusubiri, mimi lazima si wamekwenda chini ya au sawa na tatu. Mimi lazima kusimamishwa saa mbili, ambayo ni kile kinachotokea kama hali yako ni chini ya ya tatu. Maswali yoyote hadi sasa? Tamu. Hivyo wote wana kompyuta yako wazi. Tunakwenda kukupa 02:58 dakika kuandika mpango kwamba inajenga safu moja na integers kwa njia ya tano na kisha Prints nje ya kila aina integer kwenye mstari mpya. Na kama una maswali yoyote, kunyanyua mkono wako. Mimi nina furaha kuja na. Kama nilivyosema, hebu kuchukua tatu dakika ya kuandika hii. Kila mtu ni sawa kama mimi kwenda dirisha jipya na karibu hii? Samahani kama si alikuwa na nafasi ya kumaliza, lakini sisi ni kwenda kufanya hivyo pamoja hivi sasa. Hivyo hadi kwenye screen, mimi ni pamoja # cs50.h, # stdio.h pamoja. Je, mtu kuniambia nini wale mistari mbili kufanya? Michael? MWANAFUNZI: Wao ni maktaba kwamba CS50 kufanywa na kwamba Steve ina kuokolewa kwa wewe kutumia kwa kufanya maisha yako rahisi. JASON HIRSCHHORN: Hivyo wewe walisema pamoja na maktaba, mmoja kwamba CS50 alifanya, cs50.h, na moja ambayo ni tu ya kiwango, huja na C mfuko, stdio.h. Ni nini maana ni pamoja na maktaba, ingawa? Unaweza kuwa kidogo zaidi maalum? MWANAFUNZI: Ni hufanya hivyo kwamba unaweza kutumia maneno ya kanuni fulani ya kuwa na kazi kutokea bila ya kwenda na kufanya kazi c mwenyewe. JASON HIRSCHHORN: Je, unaweza nipe mfano? MWANAFUNZI: Kama printf ni moja unaweza kutumia. JASON HIRSCHHORN: printf. Hivyo alisema printf ni mmoja wa wale kazi ambapo badala ya kuwa na kuandika printf juu yako mwenyewe, printf ni pamoja na kweli katika stdio.h, hivyo anaweza tu matumizi yake na kudhani kwamba itakuwa kazi. Katika stdio.h, kama wewe kufunguliwa hadi kwamba faili, itakuwa ni pamoja na jinsi gani printf matendo, wote wa kanuni kwa ajili ya printf? Mbona kutikisa kichwa yako? MWANAFUNZI: Kwa sababu faili header tu ni pamoja na tamko kazi. JASON HIRSCHHORN: Hasa haki. faili header tu ni pamoja na tamko kazi. Hivyo kimsingi, wakati wewe kukusanya hii, hit kufanya Count, ambayo tutaweza kufanya katika pili, mkusanyaji anajua kwamba, kama wewe kutumia printf, printf lipo. Ni kwenda kuelezwa mahali fulani. Siyo tatizo kwa wewe kutumia. Na kisha baadaye, utakuwa ni pamoja na ndio na zeros kwamba kweli yana utekelezaji printf na kuunganisha yao na kanuni yako. Jinsi gani unaweza kuhakikisha ni pamoja na ndio na zeros kwa kusema, kupata kamba? MWANAFUNZI: Kupata kamba ni katika cs50.h. JASON HIRSCHHORN: Haki. Hivyo kwamba anasema kupata kamba lipo, tamko kazi. Lakini basi ndio na zeros, binary faili kwamba kweli ni pamoja na utekelezaji wa kamba wa kupata? Jinsi gani ya kufanya uhakika kwamba huenda na mpango wako? MWANAFUNZI: Pass linker katika mstari amri hoja. JASON HIRSCHHORN: Pass linker katika hoja ya mstari amri. Jinsi gani unaweza kufanya hivyo? MWANAFUNZI: Ni-l line katika Clang JASON HIRSCHHORN: Hasa haki. Unaweza kusema-l cs50, haki? Kuwa ni pamoja na wale zeros. MWANAFUNZI: Lakini Tengeneza gani kwamba kwa ajili yenu, haki? JASON HIRSCHHORN: Hasa. Kufanya gani kwamba kwa ajili yenu, lakini hatimaye, huwezi kuwa kufanya, au itabidi kufanya kufanya juu yako mwenyewe, hivyo kwamba ni jambo jema kukumbuka. Kama walikuwa kwenda kutumia moja ya hizi maktaba nyingine, si tu kufanya una kuandika ni pamoja na # kisha maktaba. Wewe pia haja ya kuhusisha in Na mambo hayo mawili ni tofauti. -L cs50 ni tofauti kuliko # pamoja cs50.h. Basi tuna int kuu utupu braces curly, na sasa tunakwenda kanuni ndani kuu. mstari wa kwanza mimi hapa ni maoni kwamba anasema, kuunda safu na ints moja kwa njia ya tano. Je, ni neno nzuri ya kueleza kile kuwa hivi sasa juu ya screen, tu maoni ndani ya kuu? Tufanye nini wito kwamba? MWANAFUNZI: pseudocode. JASON HIRSCHHORN: pseudocode. Asante, Jeffrey. Hiyo ni sahihi kabisa. Pseudocode. Je, guys kuonekana pseudocode kabla? Kunyanyua mkono wako kama umefanya kutumika pseudocode kabla tatizo kuweka moja. Karibu nusu ya wewe. Napenda sana kupendekeza kutumia pseudocode kuvunja matatizo katika ndogo, rahisi zaidi bite mbali vipande vipande. Pia, kama wewe kufanya pseudocode, wewe kuwa na maoni yako tayari kwa kiasi kikubwa kujengwa katika, hivyo hawana kurudi nyuma na kujaribu kufikiri nini walikuwa kufanya. Basi unaweza mtu nipe mstari wa kwanza kuunda safu moja na ints kwa njia ya tano? Wewe? MWANAFUNZI: Int na kisha unaweza kupiga chochote idadi, na kisha mraba bracket tano. JASON HIRSCHHORN: Hivyo int namba, mraba mabano tano. MWANAFUNZI: Usawa, na kisha curly braces. JASON HIRSCHHORN: Usawa, curly braces. MWANAFUNZI: Moja, mbili, tatu, nne. JASON HIRSCHHORN: Moja, mbili, tatu, nne, tano. MWANAFUNZI: Na kisha curly braces na kisha semicolon. JASON HIRSCHHORN: Na curly braces na semicolon. Bora. Magazeti nje ya kila aina int kwenye mstari mpya. Je, mtu mwingine kutoa mimi kwamba kanuni, tafadhali? [? Matu? ?] Kwenda mbele. MWANAFUNZI: Kwa ( JASON HIRSCHHORN: Kwa ( MWANAFUNZI: Int i = 0 JASON HIRSCHHORN: Int i = 0 MWANAFUNZI: semicolon i chini ya miaka mitano. JASON HIRSCHHORN: semicolon, i chini ya 5. MWANAFUNZI: semicolon, i + +. JASON HIRSCHHORN: semicolon, i + +. MWANAFUNZI: Ilifungwa mabano, kisha wazi brace. JASON HIRSCHHORN: Ilifungwa mabano na mbili braces. Ndani ya braces? MWANAFUNZI: Na kisha printf "% d / n" JASON HIRSCHHORN: Samahani, kushikilia. Printf "% d / n, kufungwa kunukuu. MWANAFUNZI: Na kisha quote kufungwa, comma, kuhesabu, bracket i. JASON HIRSCHHORN: Comma, kuhesabu, bracket i. MWANAFUNZI: Samahani, idadi mabano i. JASON HIRSCHHORN: Hesabu, bracket i. MWANAFUNZI: Sorry. Na kisha kufungwa mabano, semicolon. JASON HIRSCHHORN: Ilifungwa mabano, semicolon. Mimi nina kwenda kuokoa. Tunakwenda kufanya kuhesabu. Na jinsi gani mimi kukimbia kuhesabu? MWANAFUNZI: backslash. MWANAFUNZI: Dot mbele kufyeka - JASON HIRSCHHORN:. / Kuhesabu, hasa. Asante. . / Kuhesabu. Moja, mbili, tatu, nne, tano juu ya mistari mpya. Inaonekana kama ni kazi. Ndiyo, Nuhu? MWANAFUNZI: Unaweza pia kufanya chini ya au sawa na nne, kama i ni chini ya au sawa na nne? Je, kuna faida yoyote kwa kufanya chini ya ya miaka mitano, au tu njia tofauti ya kuandika hivyo? JASON HIRSCHHORN: Hivyo swali ni wewe wangefanya i ni chini ya au sawa na nne badala ya i ni chini ya miaka mitano. Ingekuwa kwamba kuwa na kazi moja? MWANAFUNZI: Ni lazima. JASON HIRSCHHORN: Ndiyo. Ni kabisa ingekuwa kazi sawa. Stylistically, ni kwa ujumla chini ya, na utaona katika pili wakati hatuna masharti, unaweza kutumia kitu kuitwa strlen, ambayo wameweza kuona kabla, ili kupata urefu wa kamba. Na huwezi kufanya chini ya au sawa strlen. Unaweza kufanya chini ya au sawa strlen bala moja. Hivyo ni tu nicer kufanya chini ya strlen. Ndiyo? MWANAFUNZI: Na katika halisi Quizzes, kufanya tuna kutoa maoni juu yetu kanuni kama vile? JASON HIRSCHHORN: swali ilikuwa katika mafumbo, je, wewe na kutoa maoni? Hivyo tutaweza kuzungumza zaidi kuhusu Quizzes wakati wao kuja, lakini kwa ujumla, nzuri utawala wa kidole gumba ni wakati wowote wewe ni kuandika kanuni, kutoa maoni. Kama wewe kupata kanuni makosa lakini maoni ya haki, unaweza kupata baadhi ya mikopo wawili kutoka kwangu kama nilikuwa grading wewe juu ya kuweka tatizo au juu ya chemsha bongo. Hivyo maoni ni daima nzuri ya kutoa. Tamu. Hesabu. Bora ya kazi. Hebu hoja juu. Masharti. Masharti. Tumeona hii kabla katika hotuba. Hii akapiga mawazo yangu wakati mimi kwanza kupatikana hii nje. Ni pengine hakuwa na pigo ya mtu yeyote akili hapa, lakini hiyo ni sawa. Masharti ni arrays ya wahusika, na wao kuishia na, kama wewe alisema awali, null Terminator, ambayo ni hii tabia / 0. Kama sisi ni kwenda kuteka kamba juu ya bodi, tutaweza kuteka ni zaidi ya hapa. Hivyo muda gani ni kamba hii? Sorry. Jinsi ya muda mrefu ni kamba hii? MWANAFUNZI: [inaudible]. JASON HIRSCHHORN: Nne? Kwa nini ni nne? MWANAFUNZI: Kwa sababu doa tano ni kwa ajili ya tabia null. JASON HIRSCHHORN: Hivyo doa tano ni kwa ajili ya tabia null. Hivyo kama ningekuwa na kukimbia strlen juu ya hii, ingekuwa nipe nne. Kusahihisha. Na safu, ingawa, kama ningekuwa initialize safu hii, jinsi wengi nafasi ingekuwa mimi kuwa na kuomba? MWANAFUNZI: Tano. JASON HIRSCHHORN: Tano. Ningependa kuuliza kwa ajili ya tano, lakini siwezi tu kuweka herufi nne katika hapa kwa sababu mimi haja ya kuweka kwamba null Terminator ya mwisho. Hivyo sisi ni kwenda kuandika katika "ohai" na kuweka Terminator null katika mwishoni. Tutaweza kusema hii ni kamba s sawa na hii. Je, ni s mabano sifuri? s mabano sifuri, Annie? MWANAFUNZI: O. JASON HIRSCHHORN: O, hasa. s mabano moja? s mabano tano? s mabano tano? MWANAFUNZI: Je, si zipo. JASON HIRSCHHORN: Je, si zipo. Hasa haki. Baridi. Maswali yoyote kuhusu uelewa masharti kama arrays ya wahusika? OK, basi. Moja zaidi ya mpango kwa nyie. Kuandika mpango kwamba anauliza mtumiaji kwa kamba kisha Prints nje ya kila aina tabia kwenye mstari mpya. Basi hebu chukua dakika tatu ya kuandika mpango huu, na kisha tutaweza kanuni ni kama kundi. Sorry. Je, unahitaji kuona hii? MWANAFUNZI: Hapana JASON HIRSCHHORN: OK. Hebu kuchukua dakika moja zaidi na kanuni hii, au angalau kupata kuanza juu yake. Hivyo unaweza kuendelea kufanya kazi, lakini nina kwenda kuanza kwenda kwa njia hiyo. Hivyo kama kabla, nina juu ya screen # Pamoja cs50.h, # stdio.h pamoja. int utupu kuu. Ndani ya braces kuu ya curly, nina mbili maoni, pseudocode. Moja ni kuomba kwa ajili ya kamba kutoka mtumiaji. pili ni magazeti nje ya kila aina tabia kwenye mstari mpya. Hivyo Anna, unaweza kunipa kuuliza kwa kamba kutoka kwa mtumiaji? MWANAFUNZI: printf. JASON HIRSCHHORN: printf? MWANAFUNZI: Ndiyo. ( JASON HIRSCHHORN: ( MWANAFUNZI: "nipe kamba. JASON HIRSCHHORN: "kutoa mimi str - oops - kamba. MWANAFUNZI: / n ") semicolon. JASON HIRSCHHORN: Mwisho kamba, C. mabano, semicolon. MWANAFUNZI: Ndiyo. Na kisha ya pili line, kamba s = kupata kamba. JASON HIRSCHHORN: Kamba s = kupata kamba. MWANAFUNZI: Ndiyo. Na kisha () JASON HIRSCHHORN: () MWANAFUNZI: semicolon. JASON HIRSCHHORN: semicolon. Ajabu. Hivyo nina kwenda kupata kamba na Mimi nina kwenda kuokoa ni katika nini? Nini kutofautiana kuitwa kwamba umba? MWANAFUNZI: Kamba s. JASON HIRSCHHORN: kutofautiana ni kuitwa s. Ni aina kamba. Hasa. Next kitu tunataka ni magazeti nje kila tabia kwenye mstari mpya. Ambaye anaweza nipe kwamba kanuni? [Inaudible]? Unaweza unipe? MWANAFUNZI: Uhakika. JASON HIRSCHHORN: Hebu kufanya hivyo. Na pole. Sipendi kurudia nini kusema kwa sababu wewe ni kupata haki, lakini mimi kurudia hivyo kwamba wakati wao nukulu hii, wanaweza kupata yote ya nje Nakala juu transcriptions. Hivyo unaweza tu kuendelea kuongea. Kwa bahati mbaya, nina kusema ni juu yenu. Nasikitika, lakini - MWANAFUNZI: Hiyo ni sawa. Kwa int i = 0 JASON HIRSCHHORN: Kwa int i = 0 MWANAFUNZI: Mimi chini ya - JASON HIRSCHHORN: semicolon. MWANAFUNZI: Kabla ya hii, tunaweza kuweka hivyo kutofautiana kupata int jina urefu? JASON HIRSCHHORN: Oh, huna wanataka kuweka semicolon? OK. Hivyo unataka nini cha kufanya baada ya sifuri? MWANAFUNZI: Nataka kupata urefu wa kamba s na kuweka kwamba kwa kutofautiana? JASON HIRSCHHORN: OK, hivyo ni jinsi gani mimi kufanya hivyo? MWANAFUNZI: Hivyo wewe kufanya urefu int = JASON HIRSCHHORN: Int urefu = MWANAFUNZI: S-T-A-L-E-N. JASON HIRSCHHORN: S-T-A-L-E-N - MWANAFUNZI: Kati ya s. Mabano. JASON HIRSCHHORN: (s). MWANAFUNZI: Na nafikiri una kuweka semicolon kati ints mbili. JASON HIRSCHHORN: semicolon baada ya sifuri? MWANAFUNZI: Yeah. Kisha kuweka semicolon baada ya kuwa, na unaweza kusema, i chini ya urefu. i chini ya urefu, ambayo ni kutofautiana. MWANAFUNZI: Na kisha semicolon. JASON HIRSCHHORN: semicolon. MWANAFUNZI: i + +. JASON HIRSCHHORN: i + +. Kuna kitanzi yetu kwa ajili ya. OK, ndani kwa kitanzi. MWANAFUNZI: Na kisha kufanya printf. JASON HIRSCHHORN: printf. MWANAFUNZI: Mabano. JASON HIRSCHHORN: mabano, quotes. MWANAFUNZI: mabano, quotes,% c / n. JASON HIRSCHHORN:% c, OK. MWANAFUNZI: / n. JASON HIRSCHHORN: / n. MWANAFUNZI: Ilifungwa quotes. JASON HIRSCHHORN: Ilifungwa quotes. MWANAFUNZI: Comma. JASON HIRSCHHORN: Comma. MWANAFUNZI: S. JASON HIRSCHHORN: S. MWANAFUNZI: Bracket i. JASON HIRSCHHORN: Bracket i. MWANAFUNZI: Na kisha kufungwa mabano. JASON HIRSCHHORN: Ilifungwa mabano. MWANAFUNZI: Na kisha semicolon. JASON HIRSCHHORN: semicolon. Ajabu. Basi hebu kuokoa hii. Kufanya uchawi. Oh kijana. Mimi nimepata michache ya makosa. Kwanza kosa juu ya mstari wa 11, inasema, inatarajiwa kujieleza, na ni kutoa mimi makosa kwamba pili int, kuna makosa. Kuna baadhi ya makosa kote huko. Je, mtu yeyote kujua nini makosa ambayo ni? Kurt? MWANAFUNZI: Nadhani ni walidhani kuwa na koma na si semicolon. JASON HIRSCHHORN: OK, koma badala ya semicolon. Hivyo ni kwamba wote tunahitaji kurekebisha? MWANAFUNZI: Hapana JASON HIRSCHHORN: Nini kingine tunahitaji kurekebisha? MWANAFUNZI: Tuna kwa pamoja string.h. JASON HIRSCHHORN: Ni pamoja string.h. Ambapo nahitaji ni pamoja na kwamba? MWANAFUNZI: Same nafasi ya wewe ni pamoja na mambo mengine, haki ya baada ya ni pamoja na stdio.h. JASON HIRSCHHORN: Hebu tuone kama hii anaendesha kwanza kwa sababu kwa ujumla, mimi kama kurekebisha jambo moja kwanza, na kisha kukimbia yake, na kisha kuona makosa sisi kupata. Hivyo sisi ni kwenda kwa wazi terminal na kudhibiti n, hebu kufanya kufanya Spell. Hivyo mwingine kosa juu ya mstari wa 11. Inatarajiwa semicolon. Na mimi bado kupata makosa katika mstari huu. Hivyo hakunipa kosa kusema ni haelewi nini strlen ni, lakini ni kunipa makosa juu ya hii line, hivyo kile kingine ni kosa? Alama ya? Marcus. MWANAFUNZI: Je, una kuondoa pili int tamko? JASON HIRSCHHORN: Ondoa int pili. Hebu jaribu hii. Sasa wazi terminal. Kufanya uchawi. Makosa. Inamuunga kutangaza maktaba kazi strlen. Hivyo sasa hatuwezi kuona kwamba makosa. Tunahitaji nini kwa pamoja? MWANAFUNZI: String.h. JASON HIRSCHHORN: Ni pamoja string.h, tutaweza kufanya ni pamoja # string.h kwa juu ya screen. Hebu kuokoa, kufanya uchawi. Sasa ulioandaliwa. Hivyo tena, mambo ya sisi zinahitajika kumbuka mstari 12 katika kitanzi wetu kwa wakati sisi ni kuiandaa, int i = 0, urefu = strlen (s). Huu ni mkakati wa ajabu. mtindo wa hii ni kubwa, mpango wa hii ni kubwa. Tunaweza kwenda katika sababu hizo baadaye, lakini njia hii tu haja ya simu strlen mara moja badala ya kila moja wakati wewe kukimbia kwa njia ya kitanzi. Hata hivyo, unahitaji kutumia comma kuna na huna haja ya int tena. Kama wewe ni kutangaza wote wale vigezo pamoja, ninyi hawana haja int tena. Na kisha kama wewe ni kwenda kutumia strlen, ambayo ni mwingine maktaba Kazi si pamoja katika stdio.h au cs50.h, kufanya uhakika ni pamoja string.h. Kurt? MWANAFUNZI: Hivyo basi kama wewe hawana haja ya kusema nini aina urefu ni, je, hiyo maana ina kuwa int? Unaweza kuwa na mbili tofauti aina huko? JASON HIRSCHHORN: Hivyo unaweza na aina mbili tofauti. Urefu ni int hapa, ingawa. Urefu ni int sababu ni comma na kisha kitu kimoja. MWANAFUNZI: Hivyo inadhaniwa kwamba ni kwenda kuwa sawa kama moja ya kwanza? JASON HIRSCHHORN: Hasa. Sisi siyo kwenda kufanya hili sasa, lakini unaweza ni pamoja na vigezo mbili juu ya huo line kutumia data aina moja. Hivyo int x, y ingekuwa kujenga mbili vigezo. Hivyo int x, y, kama sisi kufanya kwamba, ni inatoa mimi isiyotumika kutofautiana x na y kwa sababu hatuwezi kutumia yao. Hivyo kuweka utupu kabla ni dhana hila kama huna kutumia kitu, kwa matumizi yake. Lakini kama unaweza kuona, mimi kuunda x na y juu ya mstari huo na comma. Ni kujenga integers mbili haki huko. Hivyo ndiyo, inawezekana kabisa kujenga mambo mawili juu ya mstari huo kutengwa kwa koma. Hebu kujikwamua wale, ingawa. Hivyo kuna Spell. Asante kwa guys coding ni kwa ajili yetu. Hebu kufanya hivyo ni moja muda zaidi, kukimbia. Nipe kamba. [Inaudible], alifanya zaidi ya hayo. Nini kamba? MWANAFUNZI: Hello. JASON HIRSCHHORN: Hello. H-E-L-L-O, kila tabia kwenye mstari mmoja. Inaonekana ni kubwa. Hebu kukimbia tena. Daima kwenda kuangalia kwa kona ya kesi. Nini nzuri kona kesi kuangalia? MWANAFUNZI: idadi? JASON HIRSCHHORN: idadi. Hivyo mimi itabidi kuweka katika 1, na ni Prints nje 1. Siyo kuuliza kwa barua, hivyo inaonekana kama kazi ya namba. Nzuri kona kesi ya kuangalia. Nini mwingine kona nzuri kesi ya kuangalia? MWANAFUNZI: kamba tupu. JASON HIRSCHHORN: Hm? MWANAFUNZI: Kama kamba tupu. JASON HIRSCHHORN: Tupu kamba. Hivyo basi si kuweka kitu chochote. Na nini anapata kuchapishwa nje? MWANAFUNZI: Hakuna. JASON HIRSCHHORN: Hakuna. Inaonekana kama ni kazi. Unaweza kujaribu kesi kona zaidi, lakini ujumla idadi, data tofauti ni kubwa ya kujaribu, kama vile ni kitu. Chochote, sifuri, negatives ni daima mambo makubwa ya kujaribu na mambo lazima mtihani, mambo hakika tutaweza mtihani Angalia kwa ajili na 50 kwa ajili ya mtihani. Maswali yoyote kuhusu spell.c? OK, hebu kichwa nyuma. Mimi moja zaidi ya mpango kwa nyie kuandika. Ni wito students.c. Hii ni programu ambayo anauliza mtumiaji kwa ajili ya tano majina, kisha nasibu akiamua na Prints nje moja ya majina. Mpango huu ni kidogo zaidi kushiriki kuliko mawili ya mwisho sisi aliandika, hivyo kwa nini sisi kuchukua dakika tano Kanuni ni mmoja mmoja, na basi tutaweza kanuni ni kama kundi. Mpango huu pia kuhusisha baadhi ya mambo unaweza kuwa na kuona mbele, hivyo kama una swali kuhusu, jinsi ya kufanya Mimi kufanya hivyo, kuinua mkono wako. Mimi itabidi kuja juu na kumweka wewe katika mwelekeo sahihi. Lakini sisi ni pia kufanya hivyo kwa sababu hii itakuwa njia nzuri ya kuanzisha baadhi ya mada ambazo ni gumu. Hivyo ni kazi, haki? MWANAFUNZI: Yeah. JASON HIRSCHHORN: Kila wewe kurejea katika tatizo kuweka, kuna njia nyingi za kufanya hilo, lakini baadhi ni zaidi kifahari zaidi kuliko wengine. Hebu dive in # Pamoja cs50.h. # Stdio.h pamoja. int kuu utupu, curly braces. Ndani ya braces curly, Nina maoni mawili. moja ya kwanza, kuuliza mtumiaji kwa ajili ya majina matano. moja ya pili ni, nasibu kuchagua na magazeti nje moja ya majina. Basi hebu kufanya moja ya kwanza, kuuliza mtumiaji kwa ajili ya majina matano. Ambaye aliuliza mtumiaji kwa ajili ya majina matano na inaweza kuniambia jinsi ya kufanya hivyo? Watu wawili tu alifanya sehemu ya kwanza. Watu watatu alifanya sehemu ya kwanza. Nne, tano. Tom, jinsi gani unaweza kufanya hivyo? MWANAFUNZI: Wewe ingekuwa kutangaza kamba na kisha jina, bracket tano. JASON HIRSCHHORN: Kamba jina mabano tano. Hivyo ni nini mstari huu kufanya, kamba jina mabano tano? MWANAFUNZI: Wewe ingekuwa kutangaza safu ya masharti. JASON HIRSCHHORN: Hii ni safu ya masharti. Wangapi masharti ni kwenda walionao katika hapa? MWANAFUNZI: Tano. JASON HIRSCHHORN: Tano. Bora. Tunakwenda kuiita Majina sababu tunakwenda kupata wale nyingi. OK, ijayo? MWANAFUNZI: Na kisha kuwa kwa kitanzi - JASON HIRSCHHORN: Kwa kitanzi. MWANAFUNZI: - kwa i = 0. JASON HIRSCHHORN: Kwa (int i = 0. MWANAFUNZI: semicolon. JASON HIRSCHHORN: semicolon. MWANAFUNZI: Mimi chini ya miaka mitano. JASON HIRSCHHORN: Mimi chini ya miaka mitano. MWANAFUNZI: semicolon. JASON HIRSCHHORN: semicolon. MWANAFUNZI: i + +. JASON HIRSCHHORN: i + +. MWANAFUNZI: Na kisha kufungwa mabano. JASON HIRSCHHORN: Ilifungwa mabano, na kisha baadhi braces curly. Ndani ya braces curly? MWANAFUNZI: Na kisha printf. JASON HIRSCHHORN: printf. MWANAFUNZI: Open mabano, jina% d. JASON HIRSCHHORN: Samahani? MWANAFUNZI: Jina. JASON HIRSCHHORN: Jina. MWANAFUNZI: Na kisha nafasi, na kisha d%. JASON HIRSCHHORN: Jina, nafasi,% d. MWANAFUNZI: Na kisha / n, na kisha kufungwa. JASON HIRSCHHORN: Basi jina, nafasi, % D / n, kufungwa mabano. MWANAFUNZI: Comma, i + 1. Samahani. Kufungwa quote, na kisha comma, i 1. JASON HIRSCHHORN: Ilifungwa quote, comma, i 1. MWANAFUNZI: Ndiyo. Na kisha line ijayo - JASON HIRSCHHORN: i + 1. MWANAFUNZI: Ndiyo. Na kisha slide ijayo ni majina mabano i. JASON HIRSCHHORN: Next line ni majina mabano i. MWANAFUNZI: = kupata kamba. JASON HIRSCHHORN: = Kupata - mji mkuu wa G-E-T - kamba. Oops, sorry. MWANAFUNZI: Open, imefungwa mabano na kisha - JASON HIRSCHHORN: Open, imefungwa paren. MWANAFUNZI: semicolon. JASON HIRSCHHORN: semicolon. OK, hivyo initialize safu ya masharti, majina, na kisha kwenda kwa njia ya kwa kitanzi, na mara tano magazeti nje ya baadhi ya haraka kwa mtumiaji na kisha kuhifadhi tano masharti. Je, mtu yeyote yoyote marekebisho ya hili? Tom, nadhani kila mtu anakubaliana na wewe. Inaonekana pretty nzuri. OK. Kwa nini wewe kufanya i 1, ingawa? MWANAFUNZI: I mean, hana kuwa, lakini i 1 hivyo kwamba ni jina moja kwa jina tano. Vinginevyo, itakuwa ni jina sifuri kwa jina nne. JASON HIRSCHHORN: Hivyo wewe alifanya i 1 kwa sababu vinginevyo ingekuwa kuchapishwa sifuri kwa njia ya nne kwa sababu kwamba ni jinsi kompyuta kufikiri, lakini binadamu si kweli kusoma kama hiyo. Hiyo ni kitu kingine utasikia kukutana. Wakati mwingine wakati magazeti nje kitu kwa mtumiaji, utasikia wanataka kufanya hivyo kidogo kidogo prettier, na kufanya i 1 katika kesi hii ni njia ya kufanya hivyo prettier. Mimi pia kuona mitano mara mbili, kamba jina ni tano, i ni chini ya miaka mitano. Najua wapi got tano. Wewe got ni kutoka kwangu kuwaambia wewe tano majina. Lakini kama tulitaka kufanya kanuni kidogo kidogo imara zaidi, jambo moja sisi inaweza kufanya ni nje hapa, nje ya int, tunaweza kufanya kitu kama hii, # Define, na tunaweza kufanya MAJINA 5. Hivyo kimsingi, popote mimi kuandika mji mkuu N, mji mkuu wa A, mji mkuu wa M, mji mkuu wa E, mji mkuu S, kwamba kamba, itakuwa nafasi kwamba pamoja na 5 katika kanuni. Au hebu tu kuiita - tutaweza tu kuiita NUMBER. Hivyo mimi nina kofia kufafanua kila NUMBER kuwa 5. Hivyo sasa popote mimi kuwa na idadi 5, mimi unaweza badala yake pamoja na wote NUMBER kofia. Na sasa, kama nataka mabadiliko ya idadi ya ya majina, wote mimi haja ya kufanya ni line hii moja, line nne, ambapo nina # Define namba 5, mabadiliko ya kwamba hadi 10, au mabadiliko ya kwamba hadi 4. Wakati kanuni wako anapata tena, wewe si kwenda kukumbuka maeneo yote kuweka ngapi majina alitaka, na katika ili kwa wewe si miss mmoja, hii ni Njia nzuri ya kufanya hivyo, kupata kitu juu juu na kisha kutumia tu kwamba maneno kila mahali katika kanuni yako. Marcus? MWANAFUNZI: Ni kwamba stylistically preferred kuliko kimataifa kufafanua mara kwa mara n? JASON HIRSCHHORN: Hivyo ni kwamba stylistically preferred kuliko kimataifa kufafanua n mara kwa mara? Hivyo ni kusema unaweza kufanya, int idadi = 5? MWANAFUNZI: Je, wana konsonanti katika C au hakuna? JASON HIRSCHHORN: Au const - katika sawa. Hivyo ni kusema tu variable kimataifa? MWANAFUNZI: Yeah. JASON HIRSCHHORN: Hivyo stylistically, hakuna lazima haki ya mmoja kujibu, lakini wote wawili hao ni bora kuliko tu kutupa hizi random idadi katika kanuni yako. Sisi kuwaita uchawi namba. Wakati mimi kuangalia code yako au wakati mtu yeyote ni kusoma kwa njia ya hayo, hawataki tu namba hizi random kwamba si mantiki. Hata namba 26, ambayo kwa ujumla ni idadi ya herufi katika alfabeti, ni bora kufafanua ALPHABET juu juu na kuokoa namba 26 katika kamba kwamba, kama kwamba hufanya akili. Au juu ya tatizo kuweka moja, badala ya - tena, hatukuwa na majadiliano kuhusu hili katika muda, lakini badala ya kutupa tu 25 katika kila mahali au 10, unaweza kuokoa namba 25 kama QUARTER au 10 kama DIME, na kwamba inafanya kuwa rahisi kwa yeyote ni kusoma kwa njia ya kanuni yako kuelewa kwa nini alichagua kwamba idadi. Na pia kwa ajili yenu, kama wewe milele unataka update ya kanuni yako, inafanya kuwa ni kidogo imara zaidi. Yeah? MWANAFUNZI: Je kanuni hii pia kwenda kwa kuwa inapatikana kwa ajili yetu baada ya? JASON HIRSCHHORN: All wa kanuni hizi kwamba sisi wameandika pamoja ni kwenda kuwa Emailed na wewe guys na inapatikana. Ndiyo. Ili kuuliza mtumiaji kwa ajili ya majina matano. Nasibu kuchagua na magazeti moja ya majina. Ambaye alifanya mstari huu? Hii ni line trickiest hapa. Samahani, Tom. Wewe alifanya kazi nzuri kwa kweli, lakini hii ni kidogo trickier. Marcus, kwenda mbele. MWANAFUNZI: Naam kwanza, wewe ni kwenda haja ya pamoja na stdlib.h time.h. JASON HIRSCHHORN: Hivyo ni kusema katika juu, pamoja na mbili maktaba zaidi. Unataka mimi ni pamoja na S-T-D-L-I-B dot H, Standard Library, na nini alikuwa mtu mwingine? MWANAFUNZI: Time.h. JASON HIRSCHHORN: # pamoja time.h. Basi hizi ni mbili zaidi maktaba. Mimi kudhani sasa tunakwenda kuwa na kutumia kazi ambayo ni zilizomo katika haya mbili, ambayo ni kwa nini unahitajika pamoja nao? MWANAFUNZI: Hivyo basi, kwanza wewe ni kwenda kutaka kuandika srand. JASON HIRSCHHORN: Srand. MWANAFUNZI: (wakati (0) JASON HIRSCHHORN: Sorry. Srand (wakati ( MWANAFUNZI: 0. JASON HIRSCHHORN: 0. MWANAFUNZI:)), semicolon. JASON HIRSCHHORN: Mwingine paren kufungwa? Semicolon. Mimi nina kwenda tu kuchukua nafasi ya sifuri yako na null. Hivyo itabidi kufanya kuhusu jambo moja, lakini ujumla, utaona NULL, ambayo tutaweza kuzungumzia hii mstari katika pili. MWANAFUNZI: stylistically bora? JASON HIRSCHHORN: Kwa ujumla, watu haki null, lakini kitu kimoja. MWANAFUNZI: Na kisha jina int. JASON HIRSCHHORN: Int jina. MWANAFUNZI: = JASON HIRSCHHORN: = MWANAFUNZI: Rand. JASON HIRSCHHORN: Rand. MWANAFUNZI: () JASON HIRSCHHORN: () MWANAFUNZI: modulo idadi. JASON HIRSCHHORN: Nini modulo? tabia? tabia ya asilimia? MWANAFUNZI: Asilimia tabia. Modulo NUMBER kwamba wewe kuelezwa juu juu. JASON HIRSCHHORN: modulo NUMBER. MWANAFUNZI: Na kisha semicolon. JASON HIRSCHHORN: semicolon. MWANAFUNZI: Na kisha mpya line, printf. JASON HIRSCHHORN: printf. MWANAFUNZI: ( JASON HIRSCHHORN: ( MWANAFUNZI: " JASON HIRSCHHORN: " MWANAFUNZI:% s / n JASON HIRSCHHORN:% s / n MWANAFUNZI: " JASON HIRSCHHORN:% s / n " MWANAFUNZI: Comma, nafasi ya majina. JASON HIRSCHHORN: Nafasi - MWANAFUNZI: Oh, mimi nadhani, nini gani sisi kuiita hapa? JASON HIRSCHHORN: Sisi kuitwa ni majina. MWANAFUNZI: Open bracket, jina. JASON HIRSCHHORN: Open bracket, jina. MWANAFUNZI: Ilifungwa bracket. JASON HIRSCHHORN: Ilifungwa bracket. MWANAFUNZI:) JASON HIRSCHHORN:) MWANAFUNZI: semicolon. JASON HIRSCHHORN: semicolon. OK, hebu kuokoa. Hebu kufanya kanuni hii. Wanafunzi. Hebu kukimbia kanuni hii. Wanafunzi. Si. / Mwanafunzi. . / Wanafunzi. Jina moja. Tutaweza kusema Daudi. Jina mbili, RJ. Jina tatu, Rob. Jina nne, Lucas. Jina tano, Yusufu. Na kisha Prints nje Joseph tena. Hivyo basi mimi kukimbia hii tena. Basi mimi kufanya majina sawa. Daudi, RJ, Rob, Lucas, Yusufu. Na alinipa Daudi wakati huu. Hivyo sikuwa kitu kimoja, lakini lilitoa mimi kitu tofauti, na kwamba kwa sababu, bila shaka, sisi ni kuuliza kwa jina random. Hivyo nadhani, msingi mbali ya mimi Mabedui kuzunguka chumba, kwamba watu wengi pengine got kwanza sehemu ya haki, kuanzisha kwamba safu na kisha kupata majina yote. Mimi kuzungumza juu ya mistari ya 10 kupitia 16. Lakini mistari 18 kupitia 21 pengine ni baadhi ya mambo hawajaona kabla, hivyo hebu kwenda kwa njia hizo. Mstari huu, srand wakati NULL kimsingi ni - sorry, basi turuke mstari, rand (). Kwamba anatoa simu random, integer random. Na kama wewe hit rand mtu, ambayo mengi ya alivyofanya - M-A-N nafasi R-A-N-D - katika terminal kama hii, M-A-N nafasi ya R-A-N-D, hit kuingia. Ungependa kuja na mwongozo na itakuwa na uwezo wa kusoma kwamba rand amri matokeo num Pseudo random ka baada ya mbegu idadi random jenereta moja. Hivyo kwamba ni maelezo. Hiyo ni nini rand gani, anatoa wewe idadi random wakati wewe piga kwamba kazi. Kwa bahati mbaya, si kweli random kwa sababu kama wewe piga tu random bila kupata ni baadhi ya mbegu, baadhi ya kuanzia, itakuwa daima kuchagua moja moja na anatumia formula kuamua moja ijayo. Hivyo kama wewe piga rand, ni itabidi tu kukupa kitu kimoja. Itakuwa sana kutabirika. Ni kweli si kuwa random. Hivyo nini tunahitaji kufanya, per ya Marcus maelekezo na mimi, walikuwa mbegu ya rand na kitu kingine, ambayo ni nini kazi srand gani. Ni mbegu rand na kitu kidogo zaidi random kuliko kitu kimoja, na yeye ni pamoja na mbegu NULL muda, ambayo ni, tu kwa mkataba, sasa wakati katika sekunde. Hivyo wewe ni kuchukua kwamba kila mtu si kwenda kukimbia katika kanuni halisi pili huo, hivyo ni bet salama kwamba wakati NULL ni kwenda kuwa tofauti kila wakati kanuni hii ni kukimbia. Salama bet kuwa hivyo, srand mapenzi mbegu rand na kitu tofauti kila moja wakati. Hivyo kwa mkataba, wakati sisi kufanya unataka idadi random, sisi kuandika mstari huu, srand wakati null, kutupatia kiasi zaidi random mbegu, na kisha sisi kukimbia rand, ambayo inatupa simu random. Yeah? MWANAFUNZI: Je, unaweza kusema nini maana ya mbegu? JASON HIRSCHHORN: Mbegu kama katika - hivyo rand ni kwenda kuchukua baadhi ya idadi na ni kwenda kutumia baadhi formula ya kufika huko. Hivyo ni kwenda kuanza na kitu na kisha kurejea ndani kitu ya msingi mbali ya formula kwamba. Kama wewe daima kuwapa kitu kimoja, ni daima kwenda kugeuka ndani kitu kimoja. Ili kwamba jambo la kwanza kutoa ni mbegu. Hivyo unataka kumpa kitu tofauti na kuanza nje na, na hivyo hajaigeuza kuwa kitu tofauti. Na kisha hatimaye, line 20, % hii inaitwa modulo, na kwamba ni utata. Hiyo ni kitu ambacho ni kidogo mbalimbali hapa kwamba wewe si kweli kuwa katika math halisi ya maisha. Lakini kimsingi, wakati wewe kuchukua kubwa idadi na kugawanya katika C, nini kinachotokea kwa salio? MWANAFUNZI: Ni anapata truncated. HIRSCHHORN JASON: Ni anapata truncated. Hivyo 20 kugawanywa na 3 ni nini? Je, hiyo kurudi wewe, 20 kugawanywa na 3. Samahani, 10 kugawanywa na 3. Je, hiyo kurudi kwenu? MWANAFUNZI: [inaudible]. JASON HIRSCHHORN: 10 kugawanywa na 3 tu anarudi 3, si 3 salio 1. Hivyo kile 10 modulo 3 anarudi ni tu salio, 1. Hivyo kama alitaka kujua nini 10 kugawanywa na 3 kweli alikuwa, ungekuwa kufanya 10 kugawanywa na 3, utaweza kupata 3 yako, na kisha wewe d kufanya 10 modulo 3, na Ningependa kupata 1. Hivyo d kutambua kwamba 10 kugawanywa na 3 ni 3, salio 1. Na katika mstari huu, rand inaweza kuwa yoyote integer, kimsingi. Hivyo modulo ni kusema, kuigawanya na simu, ambayo ni katika kesi hii 5. Na kama wewe milele kugawanya na posta, integer daima ina kuwa chini ya idadi hiyo. Hivyo kama wewe ni kugawa na idadi 5, salio ni daima itakuwa sifuri kwa njia ya nne. Hiyo tu jinsi math kazi nje. Hivyo idadi kubwa moduloed na ndogo idadi daima kurudi salio na daima kurudi baadhi idadi hiyo ni chini ya idadi wewe kugawanywa na. Je, mtu yeyote una maswali yoyote kuhusu modulo, kwa sababu atakuja katika sana, Handy sana, hivyo mimi nataka kuhakikisha kila mtu anaelewa hivyo? Baridi. Na tuliona kwamba mpango huu kazi. OK, kuhama. Hivyo ijayo, tunakwenda kwenda katika kazi, na tunakwenda kwenda njia ya mapumziko ya mambo haya pretty haraka kwa sababu nataka kupata amri line mabishano. Hivyo kazi ni kimsingi, kama wameweza kuona, nyeusi masanduku. Wao kuchukua mambo katika vigezo kuitwa, wao kufanya kitu kwao, ama mabadiliko yao au kuunda baadhi ya madhara, na hatimaye, wakamtemea mate kitu nje, ambayo ni thamani ya kurudi. Mtu yeyote anaweza kunipa sababu moja nini tunataka kutumia kazi? Mtu yeyote? Sababu moja kwa nini tunatarajia kutumia kazi? Mtu yeyote? Nikaona mikono miwili. Nini sababu nzuri? Marcus? MWANAFUNZI: Kama una kuwaita huo chunk ya kanuni mara nyingi. JASON HIRSCHHORN: Sawa, kama unahitaji kuwaita chunk hiyo ya kanuni mara nyingi. Jeff, je una sababu tofauti? MWANAFUNZI: Tu ili unaweza kanuni chini. JASON HIRSCHHORN: Unaweza kanuni chini. Haki. Kama unataka kufanya kitu mengi - katika kanuni uliopita, mimi nilikuwa na imeandikwa kupata kamba mara tano, lakini kwa kitanzi inafanya kuangalia nicer na una kuandika chini ya kanuni. Kazi ni wazo sawa. Kama mimi nataka kufanya kitu kimoja mengi, hoja hiyo kwa kazi na wito kwamba kazi kila wakati. Kwamba kufanya jambo kwa ajili yenu. Hiyo ni sababu kubwa kutumia kazi. Hivyo anatomy ya kazi. kazi mapenzi kwa ujumla kuangalia kama hii. Hivyo itabidi kuanza na aina ya kurudi, kisha utapata jina. Ni itabidi kuchukua hoja, vinginevyo inayojulikana kama vigezo, na ndani ya wale braces curly, itabidi kuandika code yako. Tumeona moja ya kazi mengi. Hiyo ni kuu. Hapa ni kuu superimposed kwenye kwamba anatomy nilishawahi. Je int haki hapa yanamaanisha? Je int maana? Wakati mimi kuandika int kuu (batili). MWANAFUNZI: Kurudi aina? JASON HIRSCHHORN: Samahani? MWANAFUNZI: aina ya kurudi. JASON HIRSCHHORN: Int ni kurudi aina, hasa haki. Kuu anarudi int. Je, ni kuu? MWANAFUNZI: Kazi jina. JASON HIRSCHHORN: Kuu ni jina la kazi. Hasa haki. Na batili? Je, ni utupu ndani ya mabano? MWANAFUNZI: Ni haina kuchukua thamani yoyote ya nje. JASON HIRSCHHORN: Hivyo utupu - haki. Ndani ya mabano, sisi kuweka vigezo au hoja kazi inachukua, yale yanayoendelea ndani ya boksi nyeusi. Wakati kuandika batili, wewe ni kusema hii inachukua kitu in Hivyo int utupu kuu ina maana kuu ya si kuchukua kitu in Ndani ya braces curly, tuna baadhi ya kanuni, na kisha tunaona mwishoni kurudi sifuri. Je kurudi sifuri maana? Naam, sisi aliyesema kuhusu aina ya kurudi. Kuu ya mahitaji ya kurudi int. Hiyo ni nini mstari huu gani. Kuirudisha int, sifuri. Bila shaka, hatujaona kwamba mengi kwa sababu katika programu sisi kufanya na mashine sisi kufanya na watunzi sisi kutumia siku hizi, wewe hawana haja ya kuwa mstari. Kuu ni maalum kutosha kwamba anajua wakati wewe kufikia mwisho wa kuu, tu kurudi sifuri kama kila kitu akaenda vizuri. Kwa kweli, kama kitu haina kwenda vizuri, kuu mara nyingi kurudi tofauti idadi akionyesha kwamba kitu potoka na programu yako. Hivyo kwa ujumla wakati unaweza kuona kanuni, wewe wala kuandika kurudi sifuri, lakini ni vizuri kujua kwamba kinatokea nyuma ya pazia kwa sababu wakati wewe kuandika aina nyingine ya kazi, wewe ni kwenda haja ya ni pamoja na mstari kurudi. Kama wewe ni kusema mimi nina kwenda kurudi int, una kuandika kurudi kitu. Kama kusema utupu hadi hapa katika mwanzo, utupu kuu batili, kwa mfano, basi ni si kurudi kitu chochote - utupu maana kitu - hivyo huna haja ya kuwa mstari wa kurudi. Lakini wewe milele kuandika kitu ambacho si utupu kwa aina ya kurudi, unahitaji Mpya kwamba anasema kurudi na wewe haja ya kuweka kitu pale kwamba mechi aina. Maswali yoyote kuhusu hilo? Tamu. Upeo. Hii ni kitu tumekuwa kuguswa juu pia. Kutofautiana kila, kama tujuavyo, ina baadhi ya upeo, na kwamba kimsingi kuzungumza juu ambapo kutofautiana au anaweza kuwa referenced. Na mimi kama kusema nini kinatokea katika braces curly anakaa ndani ya braces curly. Hivyo kwa mfano, kama sisi kuangalia kanuni hii, sisi ni kufafanua variable kimataifa nje ya kuu, int a, hapa juu kwa juu. Sisi ni wito mwingine int ndani kuu. Tuna braces baadhi ya zaidi curly, na sisi ni wito mwingine a int. Tuna tatu katika kanuni. Haya si kitu kimoja. Nimekuwa umba tatu vigezo tofauti. Basi ndani ya hizi curly ndani braces, nasema 4 =. Ambayo ni kwamba kuzungumza juu, kwanza moja, moja ya pili, au moja ya tatu? MWANAFUNZI: moja ya tatu. JASON HIRSCHHORN: Ni kuzungumza juu ya theluthi moja. Wote wa wale kweli unaweza kuwa kuongelea katika hili hasa mfano kwa sababu upeo wao wote huenda katika haya yaliyomo braces curly. Hata hivyo, wakati wewe piga mambo sawa jina, kuna kitu kinachoitwa mafichoni. Hivyo tu kuhusika na au kurekebisha au kutumia karibuni zaidi kutofautiana, au mmoja karibu na wewe. Hivyo ndani ya hapa, a hii ya tatu ni karibu na mstari huo, = 4, hivyo huathiri moja ya tatu. Na mstari wa mwisho, = 2, ambayo ni kwamba kuzungumza juu, kwanza, pili, au tatu? MWANAFUNZI: Pili. JASON HIRSCHHORN: Ni kuzungumza kuhusu a pili. Bila shaka, ya tatu ni karibu na katika kanuni, lakini wa tatu haipo nje wale braces curly. Mara baada ya kupata na kwamba curly kufungwa brace, ni kama ni gone, kimsingi. Hivyo wawili tu una kushoto ni wale mbili za kwanza, na bila shaka, sasa ni karibu na moja ya pili. Hivyo kwamba ni jambo zuri kukumbuka juu ya upeo. Kwa mfano, mimi nina uhakika umefanya wamekutana hii katika kufanya wakati kitanzi. Kama wewe initialize ndani ya kutofautiana wala wakati kitanzi na kisha wewe kujaribu kupata huduma hiyo nje, pengine got baadhi ya onyo kama, hii kutofautiana haipo. Hiyo ni kwa sababu ya wazo upeo, kwamba mambo tu kuwepo ndani ya wale braces curly. Curly braces ni kama kumkumbatia kubwa kwamba wewe ni kutoa na kanuni yako, ni mwingine njia ya kufikiri juu yake. Hivyo hii ni kazi nyingine, kitu kwa nyie na kanuni, hellofunction.c. Tunakwenda ruka kwamba kwa sasa, lakini hii ni kitu Mimi moyo mazoezi ya juu yako mwenyewe. Kuandika mpango katika ambayo kuu wito kazi nyingine kwamba Prints nje salamu kwa mtumiaji. Ni kimsingi kuchukua dunia hujambo na abstracting kwamba printf katika kazi nyingine. Lakini sisi siyo kwenda kufanya kwamba hivi sasa kwa sababu hatuna kama muda mwingi kushoto kama napenda kuwa walipenda. Hivyo kazi ya tamko. Tumeona hii kabla vilevile. Kama unataka kuandika kazi nyingine, unahitaji basi kompyuta kujua na kuu kujua kwamba ipo. Basi nini hatuwezi ni juu kuu, sisi kuandika aina ya kurudi, jina, na vigezo, na kisha chini chini kuu, hapa chini, sisi kweli nakala kuwa mstari na kisha kuandika kanuni halisi. Hivyo njia hii, kama wewe piga kazi katika kuu saa ya juu, kuu anajua kwamba hujambo ipo, kwa mfano, kama ningekuwa kuwaita hello, na kisha inaonekana kwa utekelezaji chini chini. Kile kinachotokea kama mimi si pamoja na hii line up ya juu, utupu hujambo (batili)? Kama mimi si ni pamoja na line hii na wito kuu hello, mimi nina kwenda kupata hitilafu. Mimi naenda kupata kosa kwa sababu mkusanyaji hajui kwamba jambo hili lipo. Hii ni sawa na kwa nini sisi wala # pamoja cs50.h. Nini kimsingi cs50.h ni kufanya ni kuweka kupata kamba hadi hapo. Ni kuweka kupata int hadi huko. Ni kuweka wote wa kazi hizo prototypes juu kabla kuu ili wakati wewe kuwaita katika kuu, kuu anajua kuwa mambo haya zipo. Hiyo ni nini wale h. Files kufanya. Na hivyo kama wewe ni kwenda kufanya yako mwenyewe kazi, nimepata kuhakikisha kuweka kwamba mfano hadi huko. Maswali yoyote kuhusu hii hadi sasa? Amri line mabishano. Hii ni nini tunakwenda kumaliza juu, na kisha hopefully tutaweza itapunguza katika pset baadhi. Mimi sijui kama tutaweza kuwa na uwezo wa itapunguza kwamba kwa sababu ya muda, lakini na wewe guys ambao ni hapa, na kama wewe guys wanataka kusema baada kwa kidogo, sisi wanaweza kwenda juu yake nje. Lakini sisi ni kwenda kumaliza na amri line hoja kwa ajili ya mwisho dakika 15. Sisi ari, Michael? Wewe macho? Nzuri. Sijui kama wewe kulala kwa macho yako imefungwa. Itakuwa ni gumu. Amri line mabishano. Wale ni moja ya njia ya kupita habari katika mpango. Hatimaye, tutaweza kukutana wengine. Lakini kimsingi, tunakwenda na kuacha kuandika int kuu (utupu) kama tunataka kuchukua baadhi ya hoja mstari amri. Sisi ni kwenda kuandika jambo hili kuitwa int kuu (int argc, kamba argv, mabano. Kwamba ni utata. Hiyo mengi ya barua ambayo si katika binadamu Kiingereza, hivyo tunakwenda kinafafanua haki yao sasa. Argc anasimama kwa kuhesabu hoja - na tena, yote haya mapenzi kuwa inapatikana online - na kwamba idadi ya hoja. Argv anasimama kwa vector hoja, na wale ni hoja wenyewe. Ni safu ya masharti. Tumekuwa kweli kuonekana safu ya masharti kabla ya leo. Sisi aliumba moja katika mwisho mpango sisi coded. Hivyo hapa ni mfano. Mimi kuandika. / Ohai cs50 sehemu juu ya mstari amri yangu. Argc katika kesi hii ni sawa 3. Argv mabano 0 ni ohai, argv mabano 1 ni cs50, argv mabano 2 ni sehemu. Tena, argc ni idadi ya hoja, na safari wewe juu kidogo kidogo, sisi daima kuhesabu jina la kazi kama hoja ya kwanza. Hivyo katika kesi hii, kuna mambo matatu hoja, jina la kazi na kisha wale mbili kwamba mimi typed in Ijayo, sisi ni kwenda kuwaokoa wale hoja wenyewe katika argv. Na tena, kama tuliona kabla, sisi alifanya hii katika programu ya mwisho sisi coded. Unaweza hoja kupitia safu ya argv na kupata masharti hayo. Hiyo ni kimsingi sisi alivyofanya katika mwisho wa programu yetu ya mwisho. Sisi ilichukua jina random na kisha akaenda majina mabano chochote na kuchapishwa nje kamba iko huko. Juu ya safu moja tu, kwa sababu masharti wenyewe ni arrays, kama kuongelea, unaweza kuwa na arrays ya arrays, ambayo ni kimsingi ni nini argv ni. Njia moja unaweza kufikiri juu ya hii ni safu na nguzo. Siwezi kuteka kwamba hivi sasa. Hivyo argv - si kwamba kufutwa. Hebu kuteka chini ya ohai. Hivyo kama mimi aliandika katika, ohai sehemu cs50, Mimi nina kwenda butu sehemu kwa ajili ya mfano huu. Lakini kimsingi, yangu multi-dimensional safu, ohai cs50, tunakwenda kufanya dhehebu. Hivyo hapa, mimi wanaweza kupata - kama mimi tu kutoa argv namba moja - hii ni sahihi. Nini kibaya katika mchoro huu? MWANAFUNZI: Anza katika sifuri. JASON HIRSCHHORN: Ni lazima kuanza na sifuri. Mimi lazima pengine pia mzunguko yake, lakini tangu nimekuwa tayari inayotolewa juu, mimi nina ataondoka juu huko kwa sasa. Lakini kuanza saa sifuri. Hiyo ni haki. Samahani kama hii ni ndogo. Unaweza guys aina ya kuona? Hivyo kama mimi kufanya argv 0, mimi itabidi kupata yote ya ohai. Kama mimi kufanya argv 1, mimi itabidi kupata yote ya cs50. Kama mimi kufanya argv 2, mimi itabidi kupata yote ya dhehebu. Lakini sasa, kama tulivyosema, masharti ni arrays wenyewe. Hivyo nini siwezi kufanya ni naweza kutibu hii kama safu multi-dimensional, na mimi wanaweza kufanya kitu pamoja na mistari ya argv 0, 0, ambayo inatoa mimi tu tabia 0. Argv 0, 1, ambayo inatoa mimi tu h. Argv 1, 3, ambayo inatoa mimi tu hii 0 chini hapa katika cs50. Hivyo kwa sababu masharti wenyewe ni arrays, sisi ni kuweka kwamba katika safu nyingine. Sisi sasa kuwa na safu ya arrays, na sisi unaweza index katika safu yetu ya kwanza na kisha index katika safu yetu ya pili. Na kama ungependa kutarajia, sisi kufanya hivyo na kuweka tu hizo mbili - sisi kufanya mabano mraba tu haki ya karibu na mtu mwingine. Hivyo katika mfano huu, argv 1 ni cs50 na argv 1, 2, kama sisi alisema, ni 5 tu. Je, mtu yeyote una maswali yoyote kuhusu multi-dimensional arrays? Nyie ni kufanya kutisha. Tamu. Hivyo tuna mpango mwingine hapa hapa, na hili ni jambo la mwisho tuko kwenda kufanya hivi sasa. Hivyo mimi nataka wewe uandike mpango kwamba inachukua mtumiaji jina kamili, wawili tu mbili amri line hoja, na hatimaye, magazeti nje salamu kwa user kuwa ni pamoja na majina yao ya kwanza. Hivyo kwa nini wewe si kuchukua tatu au nne dakika ya kufanya hili, na kisha tutaweza kwenda juu yake kama kikundi, na basi tutaweza wrap up? Na tena, hapa, wakati sisi kusema kuchukua mtumiaji jina kamili kwa maelezo wa tatizo hili, ni lazima kuwa amri line hoja, si kutumia kupata kamba. Yeah, Marcus? MWANAFUNZI: Hivyo unaposema mbili amri line hoja, ni kwamba kwa kuongeza . / Kukimbia, au - JASON HIRSCHHORN: Good swali. Je, ikiwa ni pamoja /. Kukimbia, tatu amri line mabishano. Au ikiwa ni pamoja /. Msako, katika kesi hii, kwa sababu hiyo ni jina la faili hii. Hivyo argc itakuwa tatu. Lakini nataka hoja mbili tu kutolewa kwa mpango. Mimi lazima bayana kwamba. Mimi itabidi kufanya mabadiliko kabla mimi baada ya haya na kuwatuma nyie. MWANAFUNZI: Je, kama wewe kuwa na jina kati? JASON HIRSCHHORN: Kama una katikati jina, uko nje ya bahati. Samahani. Au kama wewe tu kwenda na Shakira, wewe ni pia nje ya bahati. Yeah? MWANAFUNZI: Hivyo wakati watu hawana cs50.h, je, wao kufafanua argv kama Char nyota argv? Au ni bado alimwita kamba argv? JASON HIRSCHHORN: Ndiyo. Hivyo kamba, tena, sisi kufunika juu ya kile hasa kinachotokea huko. Hiyo kwenda unpacked labda Jumatano, lakini hivi karibuni. Ni kama magurudumu mafunzo. Kwa sababu kimsingi, ni kitu kimoja. Basi hebu kuchukua mwingine dakika ya mpango hii, na kisha sisi kwenda juu ya ni kama kundi, na kisha kama nilivyosema, wrap up. Na nadhani wao ni bado ziada pipi, hivyo nyie lazima hopefully kuchukua kwamba, au tafadhali kuchukua hiyo. Pole kama wewe bado kuandika, lakini nataka kupiga mbizi katika na sisi unaweza kumaliza kwa pamoja. Hivyo nimeandika katika, # ni pamoja na cs50.h, # stdio.h pamoja. int kuu (utupu), curly brace, curly brace, ndani ya mistari mitatu ya pseudocode, kuchukua mtumiaji jina kamili, mbili na mbili tu mstari amri hoja, magazeti nje salamu kwa user kuwa ni pamoja na majina yao ya kwanza. Hivyo moja ya kwanza, kuchukua mtumiaji jina kamili. Ambaye anaweza kunisaidia kuchukua mtumiaji jina kamili? Jinsi gani mimi kufanya kuwa sehemu? Je, guys kufanya kwamba sehemu ya kwanza? Kuchukua user jina kamili la. Naam, kwa kuwa moja ya mstari amri hoja, nini anatakiwa kuandika? Nifanye kubadilisha juu kazi yangu tamko? MWANAFUNZI: Wewe hawataki kuwa ni batili tena. JASON HIRSCHHORN: Hasa. Mimi sitaki kuwa ni batili. Nini mimi nataka kuwa? MWANAFUNZI: Int argc. JASON HIRSCHHORN: Int argc. MWANAFUNZI: Kamba argv. JASON HIRSCHHORN: Kamba argv. MWANAFUNZI: Bracket, bracket. JASON HIRSCHHORN: Bracket, bracket. Hiyo ni kweli kabisa, na kwamba kweli jinsi mimi nina kwenda kupata mtumiaji jina kamili. Wao wanaenda kuiweka katika huko. Hivyo moja hiyo kufanyika. Hivyo sasa nataka mbili na mbili tu amri line mabishano. Basi Nuhu, nini ni njia moja naweza kuangalia idadi ya amri line hoja mimi? MWANAFUNZI: Wewe kufanya kama taarifa. JASON HIRSCHHORN: Kama taarifa, hasa. Je, mimi nataka kama hali? MWANAFUNZI: Kama argc mkuu zaidi kuliko 3. JASON HIRSCHHORN: Kama argc ni kubwa zaidi kuliko 3. Kama argc mkuu zaidi kuliko 3, nini mimi? MWANAFUNZI: Rejea 1. JASON HIRSCHHORN: Kurudi 1. Je kwamba kuhakikisha nina mbili na mbili tu? MWANAFUNZI: Hapana Kama argc ni mkubwa kuliko 3 na chini ya 2. JASON HIRSCHHORN: Kama argc ni mkubwa ya 3 na argc ni chini ya 2. Nini njia moja naweza kuandika hii katika tu mstari mmoja, au bila ya kutumia na Boolean operator? MWANAFUNZI: Ni si sawa na 2. JASON HIRSCHHORN: Kama argc si sawa na 2. Hasa. Hivyo kama argc si sawa na 2, kwamba atanipa mpango huu, Msako, wakati mimi kukimbia, na kwamba atanipa ngapi amri line hoja? Jinsi wengi mimi kuangalia kwa? Sorry. Hebu reword kwamba. Kama argc = 2, jinsi mambo mengi alifanya mtumiaji kuandika katika upinzani? MWANAFUNZI: Moja. JASON HIRSCHHORN: Tu moja. Hivyo kabla, walikuwa sahihi, Nuhu. Nini mimi kweli haja ya kuweka huko? MWANAFUNZI: Hiyo ni sawa 3. JASON HIRSCHHORN: argc haina 3 sawa. Nataka sawa 3 kwa sababu nataka Msako pamoja na wengine wawili. Hivyo kama argc haina 3 sawa, kurudi 1. Mbona ulisema kurudi 1? MWANAFUNZI: Kwa sababu kwamba maana yake ni makosa. JASON HIRSCHHORN: Hiyo ina maana ni vibaya, na nini kwamba kwenda kufanya? MWANAFUNZI: Re-kuchochea mtumiaji. JASON HIRSCHHORN: Ni kwenda kuacha mpango, hivyo itakuwa na kukimbia tena, lakini hatuna kitu katika hapa kuomba tena. Mimi si kuuliza kwa ajili hiyo. Hivyo kwamba ni kweli kabisa. Kurudi 1 tu quits mpango. Kubwa. Na magazeti nje salamu kwa mtumiaji kuwa ni pamoja na majina yao ya kwanza. Jinsi gani naweza kufanya hivyo? Anna? MWANAFUNZI: printf. JASON HIRSCHHORN: printf. MWANAFUNZI: (" JASON HIRSCHHORN: ( MWANAFUNZI: "hello JASON HIRSCHHORN: "hello MWANAFUNZI:% s JASON HIRSCHHORN:% s MWANAFUNZI: / n JASON HIRSCHHORN: / n MWANAFUNZI: ", JASON HIRSCHHORN: ", MWANAFUNZI: argv JASON HIRSCHHORN: Samahani? MWANAFUNZI: argv JASON HIRSCHHORN: argv MWANAFUNZI: Square mabano 1. JASON HIRSCHHORN: Square mabano? MWANAFUNZI: 1. JASON HIRSCHHORN: 1. MWANAFUNZI: Na) semicolon. JASON HIRSCHHORN:) semicolon. Hebu kukimbia hii. Kufanya Msako. . / Msako. Ni tu kuacha. Kwa nini alifanya hivyo kuacha? MWANAFUNZI: Hukunipaka hoja yoyote. JASON HIRSCHHORN: Mimi si kuweka hoja yoyote in Inaonekana ni kubwa. You guys misumari hiyo. Hivyo tena, akaenda katika argv na wewe checked katika argc mwanzo. Wale ni mbili muhimu mambo ya kukumbuka. Hivyo katika mwisho wetu dakika mbili kabla ya sisi kuondoka, sisi si kupata pset mbili, lakini kama nilivyosema, kama unataka kukaa baada ya kwa dakika 10, napenda yeye furaha kwenda juu na nyie mantiki kwa seti tatizo hizi. Tulikuwa na mengi kufunika leo hivyo sikuweza kupata kwao. Ujumla, mimi kama ni pamoja na kwamba mwishoni. Hivyo kama unataka fimbo karibu, fimbo karibu kwa dakika 10. Tutaweza kufanya hivyo. Basi, kama nilivyoeleza hapo mwanzoni, pset sifuri na moja, tutaweza kupata kwamba maoni nyuma yenu haraka iwezekanavyo. Lengo ni kupata pset moja maoni, sehemu ya maoni, kabla pset mbili ni kutokana. Hivyo kama wewe alifanya makosa ya baadhi au stylistically, mambo inaweza kuwa bora, itabidi kwamba taarifa hivyo si kufanya mambo sawa katika pset mbili. Na kisha katika siku zijazo, utapata kila ya pset maoni yako na maoni nyuma kabla ya moja ijayo ni kutokana. Mwisho, kama mimi naweza kuweka katika mwingine kuziba kwa maoni. Hii ni sehemu yako ya kwanza. Ilikuwa ni sehemu yangu ya kwanza kufundisha mwaka huu. Kwenda huko. Kuandika mambo ya ajabu, nzuri na mbaya, nami kutumia kufanya sehemu bora wakati ujao. Na ya mwisho, tena, kama unahitaji kitu chochote, basi mimi kujua. Mimi nina furaha zaidi kuliko kuwasaidia nyie. Kama unataka tu pipi, mimi itakuwa na pipi ya ziada. Nina furaha kwa kuleta kwa wewe. Hii ni kwenda kuwa kozi ya kushangaza. Hii ni moja ya, kama si favorite yangu Bila shaka, Nimekuwa kuchukuliwa katika maisha yangu yote, na natumaini itakuwa kwamba ajabu kwa ajili yenu. Hivyo nataka kufanya kila kitu katika uwezo wangu kufanya ni kwamba kutisha kwa ajili yenu. Mimi naenda kutuma nje email kama wewe ni katika sehemu yangu au Nuhu, na kwenda kujaribu na ratiba na kila moja ya nyie muda wa kuangalia katika zaidi ya wiki michache ijayo ili niweze kupata hisia ya kile yako CS background ni, na itakuwa pia kusaidia mimi Tailor hizi sehemu bora kukidhi mahitaji yako. Hivyo kwamba ni nini nimekuwa got lined up. Tena, Mimi nitawaoneni nje kama unataka kuwa huko. Hii ilikuwa wiki mbili sehemu. Asante guys sana.