ZAMYLA CHAN: این یک من، Zamyla. امروز، ما قصد داریم برای اجرای ماریو، که در آن ما جلب ماریو یک هرم کامل برای او به انتخاب بیش از. بیایید شکستن وظایف فرعی برای این مشکل است. اول، ما می خواهیم به سریع کاربر برای ارتفاع هرم. و سپس ما خواهید مطمئن شوید که ورودی معتبر است. و سپس ما در حال رفتن به می خواهم به رسم هرم. بنابراین اجازه دهید در مورد باعث صحبت و اعتبار ورودی کاربر. این ممکن است چیزی شبیه نگاه این، یک حلقه انجام دهند در حالی که دهید کاربر برای عدد صحیح و پس از آن تنها تکرار در صورتی که عدد صحیح نامعتبر است. پس چه باید این وضعیت می شود؟ برای این کار، اجازه بازگشت به مشخصات. خوب، تنظیمات به ما می گوید که هر معتبر ارتفاع است که به بین 0 و 23 باشد، شامل. بنابراین پس از آن که بدان معنی است که هر نامعتبر ارتفاع است برای رفتن به کمتر از 0 و یا بیش از 23. بنابراین در حال حاضر که ما از این اطلاعات، اجازه دهید به طراحی وضعیت ما. اما ما باید مراقب باشید، چون در حال حاضر ما دو Booleans که ما می خواهیم به بررسی. در اینجا من به شما ارائه کرده ایم با یک جدول درستی. این اجازه می دهد تا ما را به دو Booleans می، بولی یک و دو. و ما می توانیم هم bool1 ارزیابی و bool2 یا bool1 یا bool2. بنابراین چه تفاوت بین و و یا؟ خب، bool1 و bool2 خواهد شد ارزیابی درست است اگر و تنها اگر هر دو Booleans می درست باشد، در حالی که یا عملیات درست خواهد بود اگر هر یک از Booleans می یا هر دو درست است. بنابراین با این در ذهن، ببینید اگر شما می توانید از شکل چه شرایط مناسب برای حلقه انجام دهند در حالی خود را برای یک n نامعتبر در حال رفتن به. با آن، ما را وادار و اعتبار کاربر برای ارتفاع هرم که آنها می خواهند. بنابراین در حال حاضر، آن را تا به ما به منظور جلب هرم. هرم کامل برای این مشکل یک کمی نگاه کنید مثل این، که در آن ما یک هرم سمت چپ، برخی شکاف، و پس از آن یک هرم است. بنابراین اجازه دهید این شکستن یک کمی. اگر من به ویرایشگر متن من بروید، در اینجا من کشیده شده ما یک هرم سمت چپ تراز وسط قرار دارد. اما انجام خواهد داد. آنچه ما می خواهیم انجام دهیم این است که ما می خواهید ایجاد یک هرم در تراز راست قرار اول است. بنابراین برای این کار، به فقط با فشار رشته هش من همراه را به سمت، من فقط رفتن به قرار دادن برخی از شخصیت های در میان، فقط این نقطه است. سپس من قصد دارم برای قرار دادن دو در خط بعدی، و یکی بر روی آن خط. و بنابراین در اینجا من یک تراز راست قرار دارد هرم. پس از آن، من قصد دارم به بازگشت به ردیف بالا و در فاصله، قرار است که است، در تنظیمات، دو فضا. سپس من قصد دارم برای پر کردن در طرف دیگر از هرم. من قصد دارم برای رفتن به سطر دوم، ارسال دو فضا برای شکاف و پس از آن دو می کردند. برگشت به ردیف سوم، دو فضا برای شکاف و سه رشته هش. و در پایان، دو فضا برای شکاف و چهار رشته هش. به طوری که آنچه کامل هرم خواهد شد. البته، ما نمی خواهیم این نقاط در راه است. بنابراین ما قصد داریم به جای این نقطه با قرار دادن برخی از فضاهای در. یک، دو، سه در خط اول. یک، دو در دوم. و یکی در خط سوم. پس این است که آنچه که ما اگر ما می خواستم فقط یک هرم کامل، می گویند، در ویرایشگر متن است. بنابراین اجازه دهید این، درک الگوها، و تبدیل آن به برخی از شبه. برای هر سطر از هرم، ما می خواهیم به چاپ هرم به چپ و سپس شکاف و سپس هرم است. برای هرم سمت چپ، ما چاپ مقدار لازم از فاصله، به دنبال آن رشته هش. سپس ما شکاف، چاپ که فقط دو فضا در هر زمان است. و در هرم درست است، ما چاپ تعداد لازم از رشته هش. برای ردیف دوم، ما انجام روند دقیق همان. ما چاپ فضاهای برای چپ هرم، مقدار لازم از رشته هش، فاصله، دو فضا، و پس از آن هش برای هرم است. اجازه دهید به مقابله الگوی برای هرم سمت چپ. اگر من، برای اهداف این مثال، یک ارتفاع هشت درخواست شده توسط کاربر، پس از آن ردیف اول من یکی هش و هفت فضاهای دارند. ردیف دوم من می خواهم که دو رشته هش، شش فاصله است. ردیف سوم، سه رشته هش، پنج فاصله است. شما احتمالا می تواند این کار را انجام خودتان را برای یک ارتفاع هشت و تعیین برای هر سطر که چگونه بسیاری از رشته هش و چگونه بسیاری از فضاهای شما نیاز دارید. اما آنچه ما می خواهیم انجام دهیم این است ما به انتزاعی آن را می خواهم. بنابراین من از شما می خواهم برای هر ردیف n ام، چگونه بسیاری از رشته هش و چگونه بسیاری از فضاهای نیاز داریم؟ در حال حاضر، به عنوان شما را تعیین الگوی برای چند رشته هش و چگونه بسیاری از فضاهای شما را برای نیاز هر ردیف n ام برای یک ارتفاع داده شده، به یاد داشته باشید که مراقب باشید از چگونه شما نمایه سازی. چه منظورم این است که این است که در هر روز زندگی بسیاری از ما شروع به شمارش به یک است. بنابراین در ردیف اول می شود شماره یک. و ردیف دوم خواهد بود ردیف شماره دو، غیره و غیره. اما در علوم کامپیوتر و CS50، ما به صفر نمایه میشود. پس ما در واقع شروع به شمارش صفر. بنابراین سطر اول را شماره ردیف صفر است. و ردیف دوم خواهد بود تعداد ردیف یکی. بنابراین اگر من به ارتفاع هشت حال برای هرم من، و سپس آخرین مقدار n در واقع هفت و هشت است. بنابراین مراقب باشید در مورد این باشد. و آگاه باشید زمانی که شما تعیین الگوی خود را که آیا خود را صفر نمایه و یا یک نمایه خوب. بنابراین در حال حاضر که ما الگوی برای هرم سمت چپ، ما نیاز به تعیین الگوی برای شکاف. خوشبختانه، این واقعا آسان است. این فقط همیشه دو فضا است. بنابراین در حال حاضر ما به الگوی مناسب ادامه دهید. سطر اول یک هش. ردیف دوم، دو. ردیف سوم، سه. غیره و غیره. پس دوباره، تعیین برای هر انتزاعی n و هر ارتفاع که چگونه بسیاری از رشته هش و فضاهای چند هر سطر باید داشته باشد. خوب. بنابراین ما می دانیم که برای هر ردیف ما نیاز به انجام برخی از فرایند. چگونه ما آن را انجام دهیم؟ خب، ما با استفاده از برای ساختار حلقه، متشکل از مقدار دهی اولیه، وضعیت، و به روز رسانی. برای حلقه استفاده می شود به تکرار فرآیندهای. بنابراین می گویند من می خواهم آن را به گفتن سلام، جهان 50 بار، و سپس من برای حلقه چیزی شبیه به این، که در آن من متغیر من مقداردهی اولیه به صفر است. این وضعیت این است که من کمتر از 50 است. و پس از آن به روز رسانی است که آن را افزایش توسط یکی در هر زمان. پس چه این کار را انجام می شود چاپ سلام، جهان 50 بار در یک ردیف. در حال حاضر، می گویند من می خواستم به تکرار در طول ارتفاع هرم. سپس به جای برنامه نویسی سخت برخی از ارزش در شرایط، من فقط با استفاده از ارتفاع متغیر. پس چه انجام این کار خواهد تکرار است در طول ارتفاع هر سطر. و من می توانم چیزی در درون انجام از بدن که حلقه. ما چه می خواهیم به انجام در داخل بدن از حلقه؟ خوب، همانطور که ما قبل نشان داد، ما می خواهیم به چاپ فضاها و هش برای هرم سمت چپ و سپس چاپ دو فضا و سپس چاپ رشته هش. بنابراین ما در حال حاضر نمیفهمد که. بنابراین ما می توانیم شروع به پر در برنامه ما خیلی بیشتر. در اینجا من یک خارجی برای حلقه که تکرار می کند در هر سطر در هرم. و در داخل است که بدن من به چاپ فضاهای بارها و بارها، هش بارها و بارها، و پس از آن شکاف، و پس از آن رشته های هش هرم راست، و پس از آن، در نهایت، جدید خط شروع سطر بعدی. با آن، ما را وادار به کاربر برای ورودی. ما مطمئن هستیم که آن را معتبر ساخته شده است. و سپس ما هرم کشیده ام. بنابراین ماریو می تواند با موفقیت بالا رفتن از هرم. نام من ... است Zamyla است. و این CS50.