ZAMYLA تشان: انها لي، Zamyla. اليوم، ونحن في طريقنا لتنفيذ ماريو، حيث نلفت ماريو الهرم الكامل له للقفز فوق. دعونا كسر المهام الفرعية لهذه المشكلة. أولا، نريد أن مطالبة المستخدم لارتفاع الهرم. وبعد ذلك نحن نريد أن نتأكد أن هذا المدخل هو صالح. ثم نحن في طريقنا ل أريد أن ألفت الهرم. لذلك دعونا نتحدث عن دفع والتحقق من صحة إدخال المستخدم. قد يبدو شيء من هذا القبيل هذا، حلقة افعل في حين أن يطالب المستخدم ل صحيح ثم يكرر الوحيدة إذا كان ذلك صحيحا غير صالح. وذلك ما ينبغي أن يكون هذا الشرط؟ لهذا، دعونا نعود مواصفات. حسنا، والمواصفات يخبرنا بأن أي صالحة ارتفاع سيكون بين 0 و 23، شامل. حتى ذلك الحين وهذا يعني أن أي غير صالحة ارتفاع ستكون أقل من 0 أو أكثر من 23. حتى الآن أن لدينا هذه المعلومات، دعونا تصميم حالتنا. ولكن علينا أن نكون حذرين، لان لدينا الان اثنين من القيم المنطقية التي نريد تقييم. هنا لقد قدمت لكم مع جدول الحقيقة. وهذا يسمح لنا باتخاذ اثنين القيم المنطقية، منطقية واحد واثنين. ونستطيع أن نقيم إما bool1 وbool2 أو bool1 أو bool2. إذن ما هو الفرق بين ووأو؟ حسنا، bool1 وbool2 سوف تقييم إلى true إذا وفقط إذا كان كل القيم المنطقية صحيحة، في حين أن عملية أو سوف يكون صحيحا إذا كان أي واحد من والقيم المنطقية أو كلاهما صحيح. حتى مع هذا في الاعتبار، نرى ما اذا كان يمكنك معرفة ما الشرط المناسب ل لديك حلقة افعل حين لن صالح سوف يكون. مع ذلك، لقد دفعت والتحقق من صحتها المستخدم لارتفاع الهرم انهم يريدون. وحتى الآن، والامر متروك لنا رسم الهرم. الهرم الكامل لهذا والمشكلة تبدو قليلا مثل هذا، حيث لدينا الهرم الأيسر، بعض الثغرات، ثم هرم الصحيح. لذلك دعونا كسر هذه أسفل قليلا. اذا ذهبت الى محرر النص الخاص بي، وهنا لدي رسمها لنا الهرم الانحياز اليسار. ولكن ذلك لن تفعل. ما نريد أن نفعله هو أننا نريد ل إنشاء الهرم باتجاه اليمين أولا. حتى للقيام بذلك، لدفع فقط تجزئات بلدي جنبا إلى جنب إلى جنب، أنا ذاهب لمجرد وضع بعض الأحرف في بين، فقط هذه النقاط. ثم انا ذاهب الى وضع اثنين على السطر التالي، واحدة على هذا الخط. وحتى هنا لدي الهرم الانحياز الحق. بعد ذلك، أنا ذاهب ل أعود إلى الصف العلوي ووضع في الفجوة، والتي هو، في المواصفات، مسافتين. ثم انا ذاهب الى ملء الجانب الآخر من الهرم. انا ذاهب للذهاب إلى الصف الثاني، والكتابة مسافتين للفجوة ثم اثنين علامات الرقم. العودة إلى الصف الثالث، مسافتين لالفجوة وثلاثة التجزئة. وفي النهاية، مسافتين لالفجوة وأربعة التجزئة. وهذا ما كامل سوف تبدو وكأنها هرم. بالطبع، نحن لا نريد هذه النقاط في الطريق. لذلك نحن ذاهبون إلى استبدال هذه النقاط عن طريق وضع بعض المساحات في. واحد، اثنان، ثلاثة في السطر الأول. واحد، اثنان في الثاني. واحد في السطر الثالث. لذلك هذا هو ما سنفعله إذا كنا يريد أن يجعل مجرد الهرم الكامل، أقول، في محرر نص لدينا. لذلك دعونا نلقي هذا، فهم أنماط، وتحويله الى بعض التعليمات البرمجية المستعارة. لكل صف من الهرم، ونحن نريد لطباعة الهرم اليسار وبعد ذلك الفجوة ثم الهرم الصحيح. لهرم الأيسر، نطبع الكمية المطلوبة من مسافات، تلاه التجزئة. ثم نحن طباعة الفجوة، والتي غير اثنين فقط من المساحات في كل مرة. وفي الهرم الحق، ونحن طباعة العدد المطلوب من التجزئات. للصف الثاني، أجرينا نفس العملية بالضبط. نحن طباعة مساحات لليسار الهرم، الكمية المطلوبة من التجزئة، الفجوة، مسافتين، و ثم التجزئة للهرم الصحيح. دعونا معالجة نمط لهرم الأيسر. إذا كان لي، لأغراض من هذا المثال، يبلغ ارتفاعه ثمانية طلبته المستخدم، ثم بلدي الصف الأول سيكون التجزئة واحد وسبعة مسافات. وسيكون لي الصف الثاني لديها اثنين من التجزئة، ستة مسافات. الصف الثالث، ثلاثة التجزئة، خمس مسافات. ربما يمكنك القيام بذلك نفسك لارتفاع ثمانية وتحدد لكل صف كم التجزئة وعدد الأماكن التي تحتاج إليها. ولكن ما نريد القيام به هو نريد أن خلاصة ذلك. لذلك أطلب منكم أي صف الألف، كم التجزئة وعدد المساحات التي نحتاجها؟ الآن، كما يمكنك تحديد نمط لكيفية العديد من التجزئات وكم المساحات تحتاج ل أي صف الألف لارتفاع معين، تذكر أن نكون حذرين من كيف كنت فهرسة. ما أعنيه بهذا هو أنه في كل يوم حياة معظمنا يبدأ العد من واحد. حتى الصف الأول سيكون رقم واحد. والصف الثاني سيكون التوالي عدد اثنين، هلم جرا وهكذا دواليك. ولكن في علوم الكمبيوتر و CS50، نحن صفر فهرستها. لذلك نحن في الواقع بدء العد عند مستوى الصفر. حتى أن الصف الأول يكون الصف الرقم صفر. والصف الثاني سيكون الصف رقم واحد. حتى إذا كان على ارتفاع ثمانية ل بلدي الهرم، ثم القيمة الأخيرة من ن سيكون في الواقع سبعة وليس ثمانية. لذا كن حذرا حول هذا الموضوع. ويكون على بينة عندما كنت تحديد أسلوبك ما إذا كانت لديك صفر فهرستها أو واحد فهرستها حسنا. حتى الآن أن لدينا نمط لهرم الأيسر، نحن بحاجة إلى تحديد نمط لهذه الفجوة. لحسن الحظ، وهذا هو السهل حقا. انها مجرد دائما مسافتين. حتى الآن أن نشرع في نمط الصحيح. سوف الصف الأول يكون التجزئة واحد. الصف الثاني، وهما. الصف الثالث، ثلاثة. هكذا وهكذا دواليك. ذلك مرة أخرى، وتحديد أي مجردة ن وأي ارتفاع عدد التجزئات وكيف العديد من المساحات يجب أن يكون كل صف. حسنا. لذلك نعرف ان لكل أننا التوالي تحتاج إلى إجراء بعض العمليات. كيف نفعل ذلك؟ حسنا، نحن نستخدم لبناء حلقة، تتألف من التهيئة، شرط، والتحديث. لحلقات يمكن استخدام لتكرار العمليات. لذلك أقول أريد أن أقول مرحبا، العالم 50 مرة، ثم لبلدي حلقة سوف ننظر بشيء من هذا القبيل، حيث أنا تهيئة المتغير بلدي إلى الصفر. الشرط هو أنني أقل من 50. ثم التحديث هو أنه الزيادات من جانب واحد في كل مرة. وماذا في ذلك هذا من شأنه أن يفعله هو ل طباعة مرحبا، العالم 50 مرات على التوالي. الآن، ويقول كنت أريد أن تكرار على ارتفاع الهرم. ثم بدلا من الترميز الصعب بعض القيمة في حالة، أنا مجرد استخدام ارتفاع متغير. وماذا في ذلك هذا سوف تفعله هو أعاد على ارتفاع كل صف. وأستطيع أن أفعل شيئا داخل من الجسم من تلك الحلقة. ماذا نريد أن نفعل داخل الجسم من الحلقة؟ حسنا، كما أشرنا من قبل، نحن نريد لطباعة المساحات والتجزئة لهرم الأيسر ثم طباعة مسافتين ثم طباعة التجزئة. ولذا فإننا قد حظيت بالفعل أن الخروج. حتى نتمكن من البدء في ملء في برنامجنا الكثير. هنا لدي الخارجي للحلقة بالتكرار عبر كل صف في الهرم. وداخل هذه الهيئة سأشارك لطباعة المساحات مرارا وتكرارا، علامات الرقم مرارا وتكرارا، ثم الفجوة، ثم يفرم لهرم الصحيح، ومن ثم، أخيرا، جديدة خط لبدء الصف التالي. مع ذلك، لقد دفعت المستخدم للمدخلات. لقد تأكدوا من صحته. وبعد ذلك قمنا رسم الهرم. لذا ماريو يمكن بنجاح تسلق الهرم. اسمي Zamyla. وهذا هو CS50.