1 00:00:00,000 --> 00:00:00,982 2 00:00:00,982 --> 00:00:11,293 >> [MIZIK jwe] 3 00:00:11,293 --> 00:00:13,580 >> ROB BOWDEN: Se mwen, Rob. 4 00:00:13,580 --> 00:00:16,540 Se pou nou mache nan ki jan aplike Mario. 5 00:00:16,540 --> 00:00:21,040 Se konsa, premye bagay nou bezwen fè se de motive-itilizatè a pou D 'a. 6 00:00:21,040 --> 00:00:24,440 >> Nou bezwen mande yo egzakteman ki jan wotè piramid la ta dwe. 7 00:00:24,440 --> 00:00:27,110 Se konsa, isit la, nou wè n ap fè wotè = GetInt. 8 00:00:27,110 --> 00:00:32,479 Yon Apre sa, sonje ke fonksyon an GetInt se aplike nan CS50 nan 9 00:00:32,479 --> 00:00:38,060 bibliyotèk, se konsa moute tèt, nou bezwen sonje # enkli cs50.h. 10 00:00:38,060 --> 00:00:41,360 >> Se konsa, poukisa nou gen sa a vlope nan yon bouk fè-pandan y ap? 11 00:00:41,360 --> 00:00:45,080 Oke, nou menm tou nou bezwen sonje ke D 'itilizatè a gen yo dwe ki valid. 12 00:00:45,080 --> 00:00:46,910 Ki sa ki yon opinyon valab? 13 00:00:46,910 --> 00:00:51,460 Oke espèk nan pset espesyalman di ki yon wotè pi piti pase 0 oswa pi plis 14 00:00:51,460 --> 00:00:54,530 pase 23 se valab. 15 00:00:54,530 --> 00:00:59,030 >> Se konsa, moute isit la, nou wè ke nou ap defini yon konstan rele MAX_HEIGHT ak nan 16 00:00:59,030 --> 00:01:00,750 valè de 23. 17 00:01:00,750 --> 00:01:06,380 Sa a bouk fè-pandan y ap ap kontinye pandan y ap wotè pi piti pase 0 oswa MAX_HEIGHT se 18 00:01:06,380 --> 00:01:11,870 mwens pase wotè, ki vle di ke 23 se mwens pase wotè an. 19 00:01:11,870 --> 00:01:15,390 Se konsa, si wotè se 24 oswa pi plis, nou pral kontinye loupin. 20 00:01:15,390 --> 00:01:18,300 Sonje ke fè-pandan y ap pasan yo trè itil chak fwa nou vle jwenn 21 00:01:18,300 --> 00:01:22,070 D 'itilizatè yo ak Lè sa a, valide li, depi nou inevitableman bezwen mande itilizatè a nan 22 00:01:22,070 --> 00:01:25,010 omwen yon fwa pou valè a yo vle. 23 00:01:25,010 --> 00:01:28,500 >> Se konsa, yon fwa nou gen opinyon-yo, nou kapab kounye a bati piramid la. 24 00:01:28,500 --> 00:01:31,940 Youn nan ke trik nouvèl yo nan pwoblèm sa a mete an se ke nou gen yo kòmanse nan tèt yo nan 25 00:01:31,940 --> 00:01:32,750 piramid la. 26 00:01:32,750 --> 00:01:36,800 Ou pa ka printf anba a nan la piramid ak Lè sa a, bati wout ou yo. 27 00:01:36,800 --> 00:01:38,830 Se konsa, kite yo gade nan egzanp lan soti nan espèk a pset. 28 00:01:38,830 --> 00:01:41,530 29 00:01:41,530 --> 00:01:45,430 >> Nou wè isit la ke lè nou antre nan yon wotè nan 8, anba la anpil nan la 30 00:01:45,430 --> 00:01:48,660 piramid simagri nèf achaj. 31 00:01:48,660 --> 00:01:52,990 Yon nivo moute soti nan ke simagri yon sèl espas ak uit achaj. 32 00:01:52,990 --> 00:01:58,250 Yon nivo moute soti nan se sa ki de espas ak sèt achaj yo, tout wout la jouk nou 33 00:01:58,250 --> 00:02:03,050 jwenn nan tèt la nan piramid la, ki se uit nivo moute, ki simagri sèt 34 00:02:03,050 --> 00:02:06,000 espas ak de achaj. 35 00:02:06,000 --> 00:02:08,810 Se konsa, sonje ke nou gen fè nivo tèt sa a an premye. 36 00:02:08,810 --> 00:02:11,620 37 00:02:11,620 --> 00:02:18,500 >> Isit la nou ap iteration soti nan la tèt nivo, ranje 8, k ap kontinye 38 00:02:18,500 --> 00:02:22,150 jouk ranje rive nan 0. 39 00:02:22,150 --> 00:02:25,820 Espas Se konsa, ki jan anpil t 'nou bezwen ekri ak lèt ​​detache nan ki tèt ranje? 40 00:02:25,820 --> 00:02:29,310 Nou enprime sèt espas ak de achaj. 41 00:02:29,310 --> 00:02:34,450 Se konsa, nimewo a nan espas nou vle se ranje a ki te sou mwens 1. 42 00:02:34,450 --> 00:02:39,310 >> Si tèt ranje a se 8, 8 mwens 1 ba nou sèt espas. 43 00:02:39,310 --> 00:02:43,770 Lè sa a, nou gen yon bouk ki pral ekri an lèt detache soti chak yon sèl espas nan yon tan. 44 00:02:43,770 --> 00:02:47,450 Se konsa, lè espas se 7, sa a bouk sèt fwa, enprime 45 00:02:47,450 --> 00:02:50,300 sèt espas endividyèl elèv yo. 46 00:02:50,300 --> 00:02:54,672 >> Se konsa, kounye a nou bezwen ekri ak lèt ​​detache achaj sa yo nan fen a nan piramid la. 47 00:02:54,672 --> 00:02:57,930 Se konsa, isit la, nou bezwen kalkile ki kantite achaj. 48 00:02:57,930 --> 00:03:01,930 Nou wè ke nou ap fè wotè ranje mwens plis 2. 49 00:03:01,930 --> 00:03:04,170 Se konsa, kouman t 'nou jwenn sa? 50 00:03:04,170 --> 00:03:08,630 >> Sonje ke tèt la nan piramid lan se ranje 8, epi wotè a se 8. 51 00:03:08,630 --> 00:03:10,890 Apre sa, nou toujou enprime de achaj. 52 00:03:10,890 --> 00:03:15,420 Se konsa, omwen nan anpil, 8 mwens 8 plis 2 ban nou repons kòrèk la. 53 00:03:15,420 --> 00:03:19,170 Lè sa a, konsidere anba a nan piramid la, ranje 1. 54 00:03:19,170 --> 00:03:24,020 Ranje Tay mwens pral ban nou 7yèm, ak Lè sa a, plis 2 ban nou nèf achaj, 55 00:03:24,020 --> 00:03:26,620 ki se egzakteman nimewo a nan achaj ke nou enprime. 56 00:03:26,620 --> 00:03:29,880 Se konsa, sa a se fòmil la nou vle sèvi ak kalkile kantite 57 00:03:29,880 --> 00:03:32,220 achaj nan chak ranje. 58 00:03:32,220 --> 00:03:36,020 >> Lè l sèvi avèk ladan nimewo, nou Lè sa a, gen yon lòt pou bouk, sanble anpil ak nan 59 00:03:36,020 --> 00:03:41,270 pou bouk ke nou itilize pou espas yo, ki iterates kantite achaj fwa 60 00:03:41,270 --> 00:03:43,720 enprime yon hash sèl chak fwa. 61 00:03:43,720 --> 00:03:46,010 Sou tèt ranje a, ki pral ekri ak lèt ​​detache de achaj. 62 00:03:46,010 --> 00:03:48,390 Sou ranje anba a, ki pral ekri ak lèt ​​detache nèf achaj. 63 00:03:48,390 --> 00:03:52,610 Apre sa, youn ak lòt ranje pral enprime chak kantite achaj nan ant. 64 00:03:52,610 --> 00:03:57,340 >> Lè sa a, nan fen a anpil, nou bezwen ekri ak lèt ​​detache nouvo liy nou an pou yo ale nan pwochen an 65 00:03:57,340 --> 00:03:59,400 ranje nan piramid la. 66 00:03:59,400 --> 00:04:03,070 Finalman, nou bezwen ekri ak lèt ​​detache liy nan nouvo nan fen ranje a yo nan lòd yo 67 00:04:03,070 --> 00:04:06,260 kontinye pwochen an ranje nan piramid la. 68 00:04:06,260 --> 00:04:08,980 Apre sa, nan fen pwogram nou an, nou gen retounen nan 0. 69 00:04:08,980 --> 00:04:12,770 >> Tankou pou chak espèk nan pset, retounen nan 0 se pa entèdi sa nesesè. 70 00:04:12,770 --> 00:04:15,710 Men, li siyifi ke prensipal se fè. 71 00:04:15,710 --> 00:04:17,610 Non mwen se Rob, ak sa a te Mario. 72 00:04:17,610 --> 00:04:22,470 >> [MIZIK jwe] 73 00:04:22,470 --> 00:04:25,558