1 00:00:00,000 --> 00:00:00,500 2 00:00:00,500 --> 00:00:02,640 ZAMYLA تشان: انها لي، Zamyla. 3 00:00:02,640 --> 00:00:06,950 اليوم، ونحن في طريقنا لتنفيذ ماريو، حيث نلفت ماريو 4 00:00:06,950 --> 00:00:10,730 الهرم الكامل له للقفز فوق. 5 00:00:10,730 --> 00:00:14,430 دعونا كسر المهام الفرعية لهذه المشكلة. 6 00:00:14,430 --> 00:00:17,930 >> أولا، نريد أن مطالبة المستخدم لارتفاع الهرم. 7 00:00:17,930 --> 00:00:20,510 وبعد ذلك نحن نريد أن نتأكد أن هذا المدخل هو صالح. 8 00:00:20,510 --> 00:00:23,280 ثم نحن في طريقنا ل أريد أن ألفت الهرم. 9 00:00:23,280 --> 00:00:26,850 >> لذلك دعونا نتحدث عن دفع والتحقق من صحة إدخال المستخدم. 10 00:00:26,850 --> 00:00:29,920 قد يبدو شيء من هذا القبيل هذا، حلقة افعل في حين أن 11 00:00:29,920 --> 00:00:33,250 يطالب المستخدم ل صحيح ثم يكرر الوحيدة 12 00:00:33,250 --> 00:00:35,700 إذا كان ذلك صحيحا غير صالح. 13 00:00:35,700 --> 00:00:38,220 وذلك ما ينبغي أن يكون هذا الشرط؟ 14 00:00:38,220 --> 00:00:40,630 >> لهذا، دعونا نعود مواصفات. 15 00:00:40,630 --> 00:00:46,240 حسنا، والمواصفات يخبرنا بأن أي صالحة ارتفاع سيكون بين 0 و 23، 16 00:00:46,240 --> 00:00:47,350 شامل. 17 00:00:47,350 --> 00:00:51,400 حتى ذلك الحين وهذا يعني أن أي غير صالحة ارتفاع ستكون أقل من 0 18 00:00:51,400 --> 00:00:53,840 أو أكثر من 23. 19 00:00:53,840 --> 00:00:57,220 >> حتى الآن أن لدينا هذه المعلومات، دعونا تصميم حالتنا. 20 00:00:57,220 --> 00:00:59,230 ولكن علينا أن نكون حذرين، لان لدينا الان 21 00:00:59,230 --> 00:01:02,130 اثنين من القيم المنطقية التي نريد تقييم. 22 00:01:02,130 --> 00:01:04,150 >> هنا لقد قدمت لكم مع جدول الحقيقة. 23 00:01:04,150 --> 00:01:07,520 وهذا يسمح لنا باتخاذ اثنين القيم المنطقية، منطقية واحد واثنين. 24 00:01:07,520 --> 00:01:13,600 ونستطيع أن نقيم إما bool1 وbool2 أو bool1 أو bool2. 25 00:01:13,600 --> 00:01:17,390 >> إذن ما هو الفرق بين ووأو؟ 26 00:01:17,390 --> 00:01:21,810 حسنا، bool1 وbool2 سوف تقييم إلى true إذا وفقط 27 00:01:21,810 --> 00:01:25,680 إذا كان كل القيم المنطقية صحيحة، في حين أن عملية أو 28 00:01:25,680 --> 00:01:30,190 سوف يكون صحيحا إذا كان أي واحد من والقيم المنطقية أو كلاهما صحيح. 29 00:01:30,190 --> 00:01:33,110 حتى مع هذا في الاعتبار، نرى ما اذا كان يمكنك معرفة 30 00:01:33,110 --> 00:01:37,460 ما الشرط المناسب ل لديك حلقة افعل حين لن صالح 31 00:01:37,460 --> 00:01:38,850 سوف يكون. 32 00:01:38,850 --> 00:01:43,540 >> مع ذلك، لقد دفعت والتحقق من صحتها المستخدم لارتفاع الهرم 33 00:01:43,540 --> 00:01:44,550 انهم يريدون. 34 00:01:44,550 --> 00:01:47,740 وحتى الآن، والامر متروك لنا رسم الهرم. 35 00:01:47,740 --> 00:01:50,520 الهرم الكامل لهذا والمشكلة تبدو قليلا 36 00:01:50,520 --> 00:01:56,340 مثل هذا، حيث لدينا الهرم الأيسر، بعض الثغرات، ثم هرم الصحيح. 37 00:01:56,340 --> 00:01:58,630 لذلك دعونا كسر هذه أسفل قليلا. 38 00:01:58,630 --> 00:02:03,510 >> اذا ذهبت الى محرر النص الخاص بي، وهنا لدي رسمها لنا الهرم الانحياز اليسار. 39 00:02:03,510 --> 00:02:05,160 ولكن ذلك لن تفعل. 40 00:02:05,160 --> 00:02:10,139 ما نريد أن نفعله هو أننا نريد ل إنشاء الهرم باتجاه اليمين أولا. 41 00:02:10,139 --> 00:02:13,580 حتى للقيام بذلك، لدفع فقط تجزئات بلدي جنبا إلى جنب إلى جنب، 42 00:02:13,580 --> 00:02:18,240 أنا ذاهب لمجرد وضع بعض الأحرف في بين، فقط هذه النقاط. 43 00:02:18,240 --> 00:02:22,560 ثم انا ذاهب الى وضع اثنين على السطر التالي، واحدة على هذا الخط. 44 00:02:22,560 --> 00:02:26,070 وحتى هنا لدي الهرم الانحياز الحق. 45 00:02:26,070 --> 00:02:28,540 >> بعد ذلك، أنا ذاهب ل أعود إلى الصف العلوي 46 00:02:28,540 --> 00:02:33,930 ووضع في الفجوة، والتي هو، في المواصفات، مسافتين. 47 00:02:33,930 --> 00:02:37,680 ثم انا ذاهب الى ملء الجانب الآخر من الهرم. 48 00:02:37,680 --> 00:02:42,030 انا ذاهب للذهاب إلى الصف الثاني، والكتابة مسافتين للفجوة ثم اثنين 49 00:02:42,030 --> 00:02:42,920 علامات الرقم. 50 00:02:42,920 --> 00:02:47,020 العودة إلى الصف الثالث، مسافتين لالفجوة وثلاثة التجزئة. 51 00:02:47,020 --> 00:02:51,480 وفي النهاية، مسافتين لالفجوة وأربعة التجزئة. 52 00:02:51,480 --> 00:02:54,400 وهذا ما كامل سوف تبدو وكأنها هرم. 53 00:02:54,400 --> 00:02:57,260 >> بالطبع، نحن لا نريد هذه النقاط في الطريق. 54 00:02:57,260 --> 00:03:01,220 لذلك نحن ذاهبون إلى استبدال هذه النقاط عن طريق وضع بعض المساحات في. 55 00:03:01,220 --> 00:03:03,720 واحد، اثنان، ثلاثة في السطر الأول. 56 00:03:03,720 --> 00:03:05,650 واحد، اثنان في الثاني. 57 00:03:05,650 --> 00:03:08,200 واحد في السطر الثالث. 58 00:03:08,200 --> 00:03:12,060 لذلك هذا هو ما سنفعله إذا كنا يريد أن يجعل مجرد الهرم الكامل، 59 00:03:12,060 --> 00:03:13,700 أقول، في محرر نص لدينا. 60 00:03:13,700 --> 00:03:15,860 >> لذلك دعونا نلقي هذا، فهم أنماط، 61 00:03:15,860 --> 00:03:19,870 وتحويله الى بعض التعليمات البرمجية المستعارة. 62 00:03:19,870 --> 00:03:24,500 لكل صف من الهرم، ونحن نريد لطباعة الهرم اليسار وبعد ذلك 63 00:03:24,500 --> 00:03:26,580 الفجوة ثم الهرم الصحيح. 64 00:03:26,580 --> 00:03:30,260 لهرم الأيسر، نطبع الكمية المطلوبة من مسافات، 65 00:03:30,260 --> 00:03:31,740 تلاه التجزئة. 66 00:03:31,740 --> 00:03:35,030 ثم نحن طباعة الفجوة، والتي غير اثنين فقط من المساحات في كل مرة. 67 00:03:35,030 --> 00:03:38,080 وفي الهرم الحق، ونحن طباعة العدد المطلوب من التجزئات. 68 00:03:38,080 --> 00:03:41,410 >> للصف الثاني، أجرينا نفس العملية بالضبط. 69 00:03:41,410 --> 00:03:44,510 نحن طباعة مساحات لليسار الهرم، الكمية المطلوبة 70 00:03:44,510 --> 00:03:49,930 من التجزئة، الفجوة، مسافتين، و ثم التجزئة للهرم الصحيح. 71 00:03:49,930 --> 00:03:52,490 >> دعونا معالجة نمط لهرم الأيسر. 72 00:03:52,490 --> 00:03:55,660 إذا كان لي، لأغراض من هذا المثال، يبلغ ارتفاعه 73 00:03:55,660 --> 00:03:58,790 ثمانية طلبته المستخدم، ثم بلدي الصف الأول 74 00:03:58,790 --> 00:04:01,020 سيكون التجزئة واحد وسبعة مسافات. 75 00:04:01,020 --> 00:04:03,860 وسيكون لي الصف الثاني لديها اثنين من التجزئة، ستة مسافات. 76 00:04:03,860 --> 00:04:06,749 الصف الثالث، ثلاثة التجزئة، خمس مسافات. 77 00:04:06,749 --> 00:04:09,040 ربما يمكنك القيام بذلك نفسك لارتفاع ثمانية 78 00:04:09,040 --> 00:04:13,470 وتحدد لكل صف كم التجزئة وعدد الأماكن التي تحتاج إليها. 79 00:04:13,470 --> 00:04:16,209 ولكن ما نريد القيام به هو نريد أن خلاصة ذلك. 80 00:04:16,209 --> 00:04:22,660 لذلك أطلب منكم أي صف الألف، كم التجزئة وعدد المساحات التي نحتاجها؟ 81 00:04:22,660 --> 00:04:25,410 >> الآن، كما يمكنك تحديد نمط لكيفية العديد من التجزئات 82 00:04:25,410 --> 00:04:29,920 وكم المساحات تحتاج ل أي صف الألف لارتفاع معين، 83 00:04:29,920 --> 00:04:32,910 تذكر أن نكون حذرين من كيف كنت فهرسة. 84 00:04:32,910 --> 00:04:37,160 ما أعنيه بهذا هو أنه في كل يوم حياة معظمنا يبدأ العد من واحد. 85 00:04:37,160 --> 00:04:39,680 حتى الصف الأول سيكون رقم واحد. 86 00:04:39,680 --> 00:04:43,620 والصف الثاني سيكون التوالي عدد اثنين، هلم جرا وهكذا دواليك. 87 00:04:43,620 --> 00:04:47,620 >> ولكن في علوم الكمبيوتر و CS50، نحن صفر فهرستها. 88 00:04:47,620 --> 00:04:50,750 لذلك نحن في الواقع بدء العد عند مستوى الصفر. 89 00:04:50,750 --> 00:04:54,020 حتى أن الصف الأول يكون الصف الرقم صفر. 90 00:04:54,020 --> 00:04:56,640 والصف الثاني سيكون الصف رقم واحد. 91 00:04:56,640 --> 00:05:02,510 حتى إذا كان على ارتفاع ثمانية ل بلدي الهرم، ثم القيمة الأخيرة من ن 92 00:05:02,510 --> 00:05:05,850 سيكون في الواقع سبعة وليس ثمانية. 93 00:05:05,850 --> 00:05:07,010 >> لذا كن حذرا حول هذا الموضوع. 94 00:05:07,010 --> 00:05:10,750 ويكون على بينة عندما كنت تحديد أسلوبك ما إذا كانت لديك صفر فهرستها 95 00:05:10,750 --> 00:05:12,360 أو واحد فهرستها 96 00:05:12,360 --> 00:05:13,070 >> حسنا. 97 00:05:13,070 --> 00:05:15,380 حتى الآن أن لدينا نمط لهرم الأيسر، 98 00:05:15,380 --> 00:05:18,650 نحن بحاجة إلى تحديد نمط لهذه الفجوة. 99 00:05:18,650 --> 00:05:20,480 لحسن الحظ، وهذا هو السهل حقا. 100 00:05:20,480 --> 00:05:22,690 انها مجرد دائما مسافتين. 101 00:05:22,690 --> 00:05:25,240 >> حتى الآن أن نشرع في نمط الصحيح. 102 00:05:25,240 --> 00:05:27,220 سوف الصف الأول يكون التجزئة واحد. 103 00:05:27,220 --> 00:05:28,640 الصف الثاني، وهما. 104 00:05:28,640 --> 00:05:29,530 الصف الثالث، ثلاثة. 105 00:05:29,530 --> 00:05:30,790 هكذا وهكذا دواليك. 106 00:05:30,790 --> 00:05:35,540 ذلك مرة أخرى، وتحديد أي مجردة ن وأي ارتفاع عدد التجزئات 107 00:05:35,540 --> 00:05:38,810 وكيف العديد من المساحات يجب أن يكون كل صف. 108 00:05:38,810 --> 00:05:39,700 >> حسنا. 109 00:05:39,700 --> 00:05:45,050 لذلك نعرف ان لكل أننا التوالي تحتاج إلى إجراء بعض العمليات. 110 00:05:45,050 --> 00:05:46,600 كيف نفعل ذلك؟ 111 00:05:46,600 --> 00:05:50,440 حسنا، نحن نستخدم لبناء حلقة، تتألف من التهيئة، 112 00:05:50,440 --> 00:05:52,310 شرط، والتحديث. 113 00:05:52,310 --> 00:05:54,830 لحلقات يمكن استخدام لتكرار العمليات. 114 00:05:54,830 --> 00:05:59,610 >> لذلك أقول أريد أن أقول مرحبا، العالم 50 مرة، ثم لبلدي حلقة 115 00:05:59,610 --> 00:06:03,510 سوف ننظر بشيء من هذا القبيل، حيث أنا تهيئة المتغير بلدي إلى الصفر. 116 00:06:03,510 --> 00:06:06,200 الشرط هو أنني أقل من 50. 117 00:06:06,200 --> 00:06:09,670 ثم التحديث هو أنه الزيادات من جانب واحد في كل مرة. 118 00:06:09,670 --> 00:06:14,700 وماذا في ذلك هذا من شأنه أن يفعله هو ل طباعة مرحبا، العالم 50 مرات على التوالي. 119 00:06:14,700 --> 00:06:18,080 >> الآن، ويقول كنت أريد أن تكرار على ارتفاع الهرم. 120 00:06:18,080 --> 00:06:21,560 ثم بدلا من الترميز الصعب بعض القيمة في حالة، 121 00:06:21,560 --> 00:06:23,280 أنا مجرد استخدام ارتفاع متغير. 122 00:06:23,280 --> 00:06:27,180 وماذا في ذلك هذا سوف تفعله هو أعاد على ارتفاع كل صف. 123 00:06:27,180 --> 00:06:30,280 وأستطيع أن أفعل شيئا داخل من الجسم من تلك الحلقة. 124 00:06:30,280 --> 00:06:32,710 >> ماذا نريد أن نفعل داخل الجسم من الحلقة؟ 125 00:06:32,710 --> 00:06:36,550 حسنا، كما أشرنا من قبل، نحن نريد لطباعة المساحات والتجزئة 126 00:06:36,550 --> 00:06:40,730 لهرم الأيسر ثم طباعة مسافتين ثم طباعة التجزئة. 127 00:06:40,730 --> 00:06:42,500 ولذا فإننا قد حظيت بالفعل أن الخروج. 128 00:06:42,500 --> 00:06:45,670 حتى نتمكن من البدء في ملء في برنامجنا الكثير. 129 00:06:45,670 --> 00:06:49,850 >> هنا لدي الخارجي للحلقة بالتكرار عبر كل صف في الهرم. 130 00:06:49,850 --> 00:06:53,340 وداخل هذه الهيئة سأشارك لطباعة المساحات مرارا وتكرارا، 131 00:06:53,340 --> 00:06:56,860 علامات الرقم مرارا وتكرارا، ثم الفجوة، ثم يفرم لهرم الصحيح، 132 00:06:56,860 --> 00:07:00,440 ومن ثم، أخيرا، جديدة خط لبدء الصف التالي. 133 00:07:00,440 --> 00:07:02,860 >> مع ذلك، لقد دفعت المستخدم للمدخلات. 134 00:07:02,860 --> 00:07:04,510 لقد تأكدوا من صحته. 135 00:07:04,510 --> 00:07:06,280 وبعد ذلك قمنا رسم الهرم. 136 00:07:06,280 --> 00:07:09,540 لذا ماريو يمكن بنجاح تسلق الهرم. 137 00:07:09,540 --> 00:07:10,970 >> اسمي Zamyla. 138 00:07:10,970 --> 00:07:13,840 وهذا هو CS50. 139 00:07:13,840 --> 00:07:15,419