1 00:00:00,000 --> 00:00:00,500 2 00:00:00,500 --> 00:00:02,640 ZAMYLA CHAN: Ni-me, Zamyla. 3 00:00:02,640 --> 00:00:06,950 Leo, tunakwenda kutekeleza Mario, ambapo sisi kuteka Mario 4 00:00:06,950 --> 00:00:10,730 piramidi kamili kwa ajili yake na kuruka juu. 5 00:00:10,730 --> 00:00:14,430 Hebu kuvunja chini kazi ndogo kwa tatizo hili. 6 00:00:14,430 --> 00:00:17,930 >> Kwanza, tunataka kuchochea mtumiaji kwa urefu wa piramidi. 7 00:00:17,930 --> 00:00:20,510 Na kisha tunataka kuhakikisha kwamba kwamba pembejeo ni halali. 8 00:00:20,510 --> 00:00:23,280 Na kisha tunakwenda wanataka kuteka piramidi. 9 00:00:23,280 --> 00:00:26,850 >> Hivyo hebu majadiliano juu na kusababisha na kuthibitisha user pembejeo. 10 00:00:26,850 --> 00:00:29,920 Ni ili kuangalia kitu kama hii, kitanzi do-wakati kwamba 11 00:00:29,920 --> 00:00:33,250 humshauri mtumiaji kwa integer na kisha tu kurudia 12 00:00:33,250 --> 00:00:35,700 kama kwamba integer ni batili. 13 00:00:35,700 --> 00:00:38,220 Hivyo kile lazima hali hii kuwa? 14 00:00:38,220 --> 00:00:40,630 >> Kwa hili, hebu kwenda nyuma na vipimo. 15 00:00:40,630 --> 00:00:46,240 Naam, spec anatueleza kwamba yoyote halali urefu ni kwenda kuwa kati ya 0 na 23, 16 00:00:46,240 --> 00:00:47,350 umoja. 17 00:00:47,350 --> 00:00:51,400 Hivyo basi hiyo ina maana kwamba yoyote batili urefu ni kwenda kuwa chini ya 0 18 00:00:51,400 --> 00:00:53,840 au zaidi ya 23. 19 00:00:53,840 --> 00:00:57,220 >> Hivyo sasa kwamba tuna habari hii, hebu kubuni hali yetu. 20 00:00:57,220 --> 00:00:59,230 Lakini tunahitaji kuwa makini, kwa sababu sasa tuna 21 00:00:59,230 --> 00:01:02,130 Booleans mbili kwamba tunataka kutathmini. 22 00:01:02,130 --> 00:01:04,150 >> Hapa nimekuwa zinazotolewa wewe na meza ukweli. 23 00:01:04,150 --> 00:01:07,520 Hii inaruhusu sisi kuchukua mbili Booleans, Boolean moja na mbili. 24 00:01:07,520 --> 00:01:13,600 Na tunaweza kutathmini ama bool1 na bool2 au bool1 au bool2. 25 00:01:13,600 --> 00:01:17,390 >> Basi nini tofauti kati na na au? 26 00:01:17,390 --> 00:01:21,810 Naam, bool1 na bool2 mapenzi kutathmini kwa kweli ikiwa na tu 27 00:01:21,810 --> 00:01:25,680 kama Booleans yote ni ya kweli, ilhali au operesheni 28 00:01:25,680 --> 00:01:30,190 itakuwa kweli kama aidha moja ya Booleans au yote ni ya kweli. 29 00:01:30,190 --> 00:01:33,110 Hivyo, pamoja na hili akilini, kuona kama unaweza kufikiri 30 00:01:33,110 --> 00:01:37,460 nini hali mwafaka kwa do-wakati kitanzi yako kwa n batili 31 00:01:37,460 --> 00:01:38,850 ni kwenda kuwa. 32 00:01:38,850 --> 00:01:43,540 >> Pamoja na kwamba, tumekuwa ilisababisha na kuthibitishwa user kwa urefu wa piramidi 33 00:01:43,540 --> 00:01:44,550 kwamba wanataka. 34 00:01:44,550 --> 00:01:47,740 Hivyo sasa, ni juu yetu kuteka piramidi. 35 00:01:47,740 --> 00:01:50,520 piramidi kamili kwa hili tatizo itakuwa kuangalia kidogo 36 00:01:50,520 --> 00:01:56,340 kama hii, ambapo tuna piramidi kushoto, baadhi pengo, na kisha piramidi haki. 37 00:01:56,340 --> 00:01:58,630 Basi hebu kuvunja hii chini kidogo. 38 00:01:58,630 --> 00:02:03,510 >> Kama mimi kwenda kwa mhariri wa maandishi yangu, hapa mimi wameweza inayotolewa us kushoto na kompyuta piramidi. 39 00:02:03,510 --> 00:02:05,160 Lakini hiyo si kufanya. 40 00:02:05,160 --> 00:02:10,139 Nini tunataka kufanya ni tunataka kujenga kulia na kompyuta piramidi kwanza. 41 00:02:10,139 --> 00:02:13,580 Hivyo kufanya hili, kushinikiza tu hashes yangu pamoja na upande, 42 00:02:13,580 --> 00:02:18,240 Mimi tu kwenda kuweka baadhi ya wahusika katika kati, dots hizi tu. 43 00:02:18,240 --> 00:02:22,560 Kisha mimi nina kwenda kuweka mbili juu ya line ya pili, na moja juu ya mstari huo. 44 00:02:22,560 --> 00:02:26,070 Na hivyo hapa nina kulia na kompyuta piramidi. 45 00:02:26,070 --> 00:02:28,540 >> Baada ya hapo, mimi nina kwenda kwa kwenda nyuma ya mstari wa juu 46 00:02:28,540 --> 00:02:33,930 na kuweka katika pengo, ambayo ni, kwa spec, nafasi mbili. 47 00:02:33,930 --> 00:02:37,680 Basi mimi nina kwenda kujaza upande wa pili wa piramidi. 48 00:02:37,680 --> 00:02:42,030 Mimi nina kwenda kwa safu ya pili, kuandika nafasi mbili kwa pengo na kisha mbili 49 00:02:42,030 --> 00:02:42,920 hashes. 50 00:02:42,920 --> 00:02:47,020 Nyuma ya safu ya tatu nafasi mbili kwa pengo na hashes tatu. 51 00:02:47,020 --> 00:02:51,480 Na mwisho, nafasi mbili kwa pengo na hashes nne. 52 00:02:51,480 --> 00:02:54,400 Hivyo kwamba ni nini full piramidi itakuwa kuangalia kama. 53 00:02:54,400 --> 00:02:57,260 >> Bila shaka, hatutaki dots hizi katika njia. 54 00:02:57,260 --> 00:03:01,220 Hivyo sisi ni kwenda kuchukua nafasi ya hizi dots kwa kuweka baadhi ya maeneo katika. 55 00:03:01,220 --> 00:03:03,720 Moja, mbili, tatu katika mstari wa kwanza. 56 00:03:03,720 --> 00:03:05,650 Moja, mbili juu ya pili. 57 00:03:05,650 --> 00:03:08,200 Na moja juu ya mstari wa tatu. 58 00:03:08,200 --> 00:03:12,060 Hivyo hii ni nini tunataka kufanya kama sisi alitaka kufanya tu piramidi kamili, 59 00:03:12,060 --> 00:03:13,700 kusema, katika mhariri wa maandishi yetu. 60 00:03:13,700 --> 00:03:15,860 >> Basi hebu kuchukua hii, kuelewa mwelekeo, 61 00:03:15,860 --> 00:03:19,870 na kubadilisha kwa mabavu na baadhi pseudocode. 62 00:03:19,870 --> 00:03:24,500 Kwa kila mstari wa piramidi, tunataka magazeti piramidi kushoto na kisha 63 00:03:24,500 --> 00:03:26,580 pengo na kisha piramidi haki. 64 00:03:26,580 --> 00:03:30,260 Kwa piramidi kushoto, sisi magazeti zinazohitajika kiasi cha nafasi, 65 00:03:30,260 --> 00:03:31,740 ikifuatiwa na hashes. 66 00:03:31,740 --> 00:03:35,030 Kisha sisi magazeti pengo, ambayo ni mbili tu nafasi kila wakati. 67 00:03:35,030 --> 00:03:38,080 Na katika piramidi haki, sisi magazeti zinazohitajika idadi ya hashes. 68 00:03:38,080 --> 00:03:41,410 >> Kwa safu ya pili, tulifanya huo halisi ya mchakato. 69 00:03:41,410 --> 00:03:44,510 Sisi magazeti mazingira kwa ajili ya kushoto piramidi, zinazohitajika kiasi 70 00:03:44,510 --> 00:03:49,930 ya hashes, pengo, nafasi mbili, na kisha hashes kwa piramidi haki. 71 00:03:49,930 --> 00:03:52,490 >> Hebu kukabiliana na mfano kwa piramidi kushoto. 72 00:03:52,490 --> 00:03:55,660 Kama mimi alikuwa, kwa madhumuni ya mfano huu, urefu 73 00:03:55,660 --> 00:03:58,790 ya nane ombi kwa user, basi mstari yangu ya kwanza 74 00:03:58,790 --> 00:04:01,020 ingekuwa hash moja na nafasi saba. 75 00:04:01,020 --> 00:04:03,860 mstari yangu ya pili ingekuwa mbili hashes, nafasi sita. 76 00:04:03,860 --> 00:04:06,749 Tatu mfululizo, hashes tatu, nafasi tano. 77 00:04:06,749 --> 00:04:09,040 Pengine unaweza kufanya hivyo mwenyewe kwa urefu wa nane 78 00:04:09,040 --> 00:04:13,470 na kuamua kwa kila mstari ni wangapi hashes na jinsi nafasi nyingi unahitaji. 79 00:04:13,470 --> 00:04:16,209 Lakini nini tunataka kufanya ni tunataka abstract yake. 80 00:04:16,209 --> 00:04:22,660 Hivyo naomba kwa mstari yoyote nth, jinsi wengi hashes na jinsi nafasi nyingi tunahitaji? 81 00:04:22,660 --> 00:04:25,410 >> Sasa, kama wewe kuamua mfano kwa hashes wangapi 82 00:04:25,410 --> 00:04:29,920 na jinsi nafasi nyingi unahitaji kwa ajili ya yoyote mstari nth kwa urefu fulani, 83 00:04:29,920 --> 00:04:32,910 kumbuka kuwa makini ya jinsi wewe ni Indexing. 84 00:04:32,910 --> 00:04:37,160 Nini maana na hii ni kwamba katika kila siku maisha wengi wetu kuanza kuhesabu kwa moja. 85 00:04:37,160 --> 00:04:39,680 Hivyo safu ya kwanza itakuwa namba moja. 86 00:04:39,680 --> 00:04:43,620 Na safu ya pili itakuwa mstari namba mbili, kadhalika na kadhalika. 87 00:04:43,620 --> 00:04:47,620 >> Lakini katika sayansi ya kompyuta na CS50, sisi ni zero-indexed. 88 00:04:47,620 --> 00:04:50,750 Hivyo sisi kweli kuanza kuhesabu saa sifuri. 89 00:04:50,750 --> 00:04:54,020 Hivyo safu ya kwanza ingekuwa kuwa mstari simu zero. 90 00:04:54,020 --> 00:04:56,640 Na safu ya pili itakuwa mstari namba moja. 91 00:04:56,640 --> 00:05:02,510 Hivyo kama mimi alikuwa urefu wa nane kwa piramidi yangu, basi thamani ya mwisho ya n 92 00:05:02,510 --> 00:05:05,850 ingekuwa kweli kuwa saba na si minane. 93 00:05:05,850 --> 00:05:07,010 >> Hivyo kuwa makini kuhusu hili. 94 00:05:07,010 --> 00:05:10,750 Na kuwa na ufahamu wakati wewe ni kuamua muundo yako iwe yako zero-indexed 95 00:05:10,750 --> 00:05:12,360 au moja ya indexed 96 00:05:12,360 --> 00:05:13,070 >> SAWA. 97 00:05:13,070 --> 00:05:15,380 Hivyo sasa kwamba tuna mfano kwa piramidi kushoto, 98 00:05:15,380 --> 00:05:18,650 tunahitaji kuamua mfano kwa pengo. 99 00:05:18,650 --> 00:05:20,480 Kwa bahati nzuri, hii ni kweli ni rahisi. 100 00:05:20,480 --> 00:05:22,690 Ni tu daima nafasi mbili. 101 00:05:22,690 --> 00:05:25,240 >> Hivyo sasa sisi kuendelea na mfano wa kulia. 102 00:05:25,240 --> 00:05:27,220 safu ya kwanza itakuwa na hash moja. 103 00:05:27,220 --> 00:05:28,640 safu ya pili miwili. 104 00:05:28,640 --> 00:05:29,530 Tatu mstari, tatu. 105 00:05:29,530 --> 00:05:30,790 Kadhalika na kadhalika. 106 00:05:30,790 --> 00:05:35,540 Hivyo tena, kuamua kwa yoyote abstract n na urefu yoyote jinsi hashes wengi 107 00:05:35,540 --> 00:05:38,810 na nafasi ngapi kila mstari wanapaswa kuwa. 108 00:05:38,810 --> 00:05:39,700 >> SAWA. 109 00:05:39,700 --> 00:05:45,050 Hivyo tunajua kwamba kwa kila sisi mstari haja ya kuendesha baadhi mchakato. 110 00:05:45,050 --> 00:05:46,600 Jinsi gani sisi kufanya hivyo? 111 00:05:46,600 --> 00:05:50,440 Naam, sisi kutumia kwa kitanzi kujenga, zikiwemo za initialization, 112 00:05:50,440 --> 00:05:52,310 hali, na update. 113 00:05:52,310 --> 00:05:54,830 Kwa loops inaweza kutumika kurudia taratibu. 114 00:05:54,830 --> 00:05:59,610 >> Hivyo kusema mimi nataka kusema hello, Mara dunia 50, kisha yangu kwa kitanzi 115 00:05:59,610 --> 00:06:03,510 bila kuangalia kitu kama hii, ambapo Mimi initialize variable yangu na sifuri. 116 00:06:03,510 --> 00:06:06,200 hali ni kwamba i ni chini ya 50. 117 00:06:06,200 --> 00:06:09,670 Na kisha update ni kwamba nyongeza kwa moja kila wakati. 118 00:06:09,670 --> 00:06:14,700 Kwa hiyo kile hii itakuwa kufanya itakuwa magazeti hello, mara dunia 50 mfululizo. 119 00:06:14,700 --> 00:06:18,080 >> Sasa, kusema nilitaka iterate zaidi ya urefu wa piramidi. 120 00:06:18,080 --> 00:06:21,560 Kisha badala ya coding ngumu baadhi ya thamani katika hali, 121 00:06:21,560 --> 00:06:23,280 Mimi tu kutumia urefu kutofautiana. 122 00:06:23,280 --> 00:06:27,180 Kwa hiyo kile hii kufanya ni iterate zaidi ya urefu kila mstari. 123 00:06:27,180 --> 00:06:30,280 Na siwezi kufanya kitu ndani ya mwili wa kitanzi kwamba. 124 00:06:30,280 --> 00:06:32,710 >> Je, tunataka kufanya ndani ya mwili wa kitanzi? 125 00:06:32,710 --> 00:06:36,550 Naam, kama tulivyoonyesha kabla, tunataka magazeti nafasi na hashes 126 00:06:36,550 --> 00:06:40,730 kwa piramidi kushoto na kisha magazeti nafasi mbili na kisha magazeti hashes. 127 00:06:40,730 --> 00:06:42,500 Hivyo tumekuwa tayari figured kwamba nje. 128 00:06:42,500 --> 00:06:45,670 Ili tuweze kuanza kujaza katika mpango wetu mengi zaidi. 129 00:06:45,670 --> 00:06:49,850 >> Hapa nina nje kwa kitanzi kwamba iterates juu ya kila mstari katika piramidi. 130 00:06:49,850 --> 00:06:53,340 Na ndani ya mwili kwamba mimi nina kwenda magazeti nafasi tena na tena, 131 00:06:53,340 --> 00:06:56,860 hashes tena na tena, na kisha pengo, na kisha hashes kwa piramidi haki, 132 00:06:56,860 --> 00:07:00,440 na kisha, mwisho, mpya line ya kuanza mfululizo ijayo. 133 00:07:00,440 --> 00:07:02,860 >> Pamoja na kwamba, tumekuwa ilisababisha user kwa ajili ya pembejeo. 134 00:07:02,860 --> 00:07:04,510 Tumekuwa alifanya uhakika kwamba ni halali. 135 00:07:04,510 --> 00:07:06,280 Na kisha tumekuwa inayotolewa piramidi. 136 00:07:06,280 --> 00:07:09,540 Hivyo Mario unaweza mafanikio kupanda piramidi. 137 00:07:09,540 --> 00:07:10,970 >> Jina langu ni Zamyla. 138 00:07:10,970 --> 00:07:13,840 Na hii ni CS50. 139 00:07:13,840 --> 00:07:15,419