1 00:00:00,000 --> 00:00:13,010 2 00:00:13,010 --> 00:00:18,290 >> ROB BOWDEN: Sveiki, es esmu Rob, un pieņemsim lēkt uz hakeru izdevuma Mario. 3 00:00:18,290 --> 00:00:21,760 Tātad pirmā lieta, kas mums jādara, ir iegūt augstumu no lietotāja. 4 00:00:21,760 --> 00:00:26,290 Šeit mēs esam lūdzot tos nav negatīvs skaitlis ir mazāks par 24, un 5 00:00:26,290 --> 00:00:31,710 mēs izmantot CS50 GetInt funkciju satvert ka vesels skaitlis no lietotāja. 6 00:00:31,710 --> 00:00:35,260 Mēs redzam, mēs esam iekšpusē do-kamēr cilpa , kas turpinās looping kamēr 7 00:00:35,260 --> 00:00:38,400 augstums ir lielāks nekā 23 vai mazāk par 0. 8 00:00:38,400 --> 00:00:42,850 Un tāpēc mēs turpināsim, kamēr lietotājs faktiski dod mums to, ko mēs gribam. 9 00:00:42,850 --> 00:00:46,960 >> Pēc tam, kad mēs esam šo augstumu, mēs nokļūt galvenais cilpa mūsu programmas. 10 00:00:46,960 --> 00:00:49,510 Tāpēc pieņemsim vispirms apskatīt piemēru no PSET spec. 11 00:00:49,510 --> 00:00:52,270 12 00:00:52,270 --> 00:00:56,940 Mēs skat. šajā piemērā, ka tad, kad mēs ievadīt augstumu 4, apakšējā rinda 13 00:00:56,940 --> 00:01:01,520 Pirmais drukā četras hashes, divām telpām, un vēl četri hashes. 14 00:01:01,520 --> 00:01:06,280 >> Pēc tam vienu rindu augstāk drukā vienu kosmosa Trīs hashes, divas telpas, lai 15 00:01:06,280 --> 00:01:09,690 atsevišķi piramīdas, un Pēc tam vēl trīs hashes. 16 00:01:09,690 --> 00:01:13,460 Un galvenais, ka divas telpas, divi hashes, divas telpas, divas hashes. 17 00:01:13,460 --> 00:01:18,090 Un visbeidzot, trīs telpas viens hash, divas atstarpes vienu hash. 18 00:01:18,090 --> 00:01:20,980 Tātad, jums vajadzētu sākt, lai paziņojuma modelis šeit. 19 00:01:20,980 --> 00:01:22,545 >> Apskatīsim kodu par to, kā mēs gatavojamies darīt. 20 00:01:22,545 --> 00:01:25,290 21 00:01:25,290 --> 00:01:28,840 Mēs redzam, ka mēs esam atkārtojot pār visām rindām piramīdas. 22 00:01:28,840 --> 00:01:31,720 Vispirms mēs gribam, lai aprēķinātu vairākas telpas. 23 00:01:31,720 --> 00:01:34,690 Un atcerieties, ka mums ir jāsāk pie piramīdas augšējā un strādāt mūsu 24 00:01:34,690 --> 00:01:37,790 galam, jo ​​mēs nevaram drukāt apakšējā tad vienu rindu uz augšu un 25 00:01:37,790 --> 00:01:39,140 Pēc tam vienu rindu uz augšu. 26 00:01:39,140 --> 00:01:44,030 Tā augšpusē piramīdas, paziņojumā ka vietu skaits ir vienāds 27 00:01:44,030 --> 00:01:45,720 augstums mīnus 1. 28 00:01:45,720 --> 00:01:50,120 Mēs ejam, lai drukātu trīs vietas, tad viens hash un tad divas telpas, lai 29 00:01:50,120 --> 00:01:53,350 atsevišķi un citu hash. 30 00:01:53,350 --> 00:01:57,320 >> Tātad atstarpes ir vienāds augstums mīnus rinda. 31 00:01:57,320 --> 00:02:03,180 Ja rinda ir 1 un mūsu augstums ir 4, kas jums dod mums 3 telpas, kā mēs gribam. 32 00:02:03,180 --> 00:02:06,900 Tad šis cilpa tikai izdrukas ka vietu skaits. 33 00:02:06,900 --> 00:02:12,630 Ja telpās ir trīs, tad mēs ejam izveidot vienotā telpā trīs reizes. 34 00:02:12,630 --> 00:02:18,750 >> Turpinot, tagad mēs vēlamies, lai drukātu hashes kreisā piramīdas, kas 35 00:02:18,750 --> 00:02:20,630 tikai vienāds ar rindas numuru. 36 00:02:20,630 --> 00:02:23,250 Atskatoties šeit, rindā viens, mēs drukāt vienu hash. 37 00:02:23,250 --> 00:02:25,960 Divos rindā mēs drukāt divas, jo trīs rindu mēs drukāt trīs. 38 00:02:25,960 --> 00:02:30,440 Tātad mēs vienkārši cilpu rindu reizes drukāšanas hash simbolu. 39 00:02:30,440 --> 00:02:34,830 Tad visiem rindās piramīdas, mēs drukāt tieši divas atstarpes, lai atdalītu 40 00:02:34,830 --> 00:02:36,360 šīs piramīdas. 41 00:02:36,360 --> 00:02:39,590 >> Un visbeidzot, mēs vēlamies, lai drukātu tiesības pusē piramīdas, kas 42 00:02:39,590 --> 00:02:42,160 atkal tikpat daudz hashes kā kreisajā pusē. 43 00:02:42,160 --> 00:02:45,680 Un tā tas ir pats precīzu cilpa, kā iepriekš šeit. 44 00:02:45,680 --> 00:02:49,445 Visbeidzot, mums ir nepieciešams izveidot jaunu līniju lai pārvietotos uz nākamo rindu 45 00:02:49,445 --> 00:02:51,690 piramīdas un turpinātu drukāšanu. 46 00:02:51,690 --> 00:02:53,010 Un tas arī viss. 47 00:02:53,010 --> 00:02:54,860 Mans vārds ir Rob, un tas bija Mario. 48 00:02:54,860 --> 00:03:01,718