1 00:00:08,119 --> 00:00:11,630 [Powered by Google Translate] DAVID J. مالان: كل الحق، وهذا هو CS50، وهذا هو 2 00:00:11,630 --> 00:00:14,790 بدء من الأسبوع الثاني. 3 00:00:14,790 --> 00:00:16,300 شكرا لك. 4 00:00:16,300 --> 00:00:19,000 دعونا نبدأ هنا مع مكالمة هاتفية. 5 00:00:19,000 --> 00:00:30,005 أنا على وشك أن طلب 617-CS50-BUG. 6 00:00:30,005 --> 00:00:31,230 CS50: هذا هو CS50. 7 00:00:31,230 --> 00:00:33,930 في حياة طفل المكوك، اضغط 1. 8 00:00:33,930 --> 00:00:36,660 للبدء من جديد، اضغط 9. 9 00:00:36,660 --> 00:00:38,180 DAVID J. مالان: حتى أنه قال في حياة طفل المكوك، اضغط 1. 10 00:00:38,180 --> 00:00:41,560 لذلك نحن في طريقنا للضغط 1. 11 00:00:41,560 --> 00:00:43,230 CS50: ما هو أصلك؟ 12 00:00:43,230 --> 00:00:45,340 لرباعية، اضغط 1. 13 00:00:45,340 --> 00:00:47,080 ماثر، اضغط 2. 14 00:00:47,080 --> 00:00:49,240 بويلستون، اضغط 3. 15 00:00:49,240 --> 00:00:51,280 لامونت، اضغط 4. 16 00:00:51,280 --> 00:00:53,210 م قاعة، اضغط 5. 17 00:00:53,210 --> 00:00:55,660 للبدء من جديد، اضغط 0. 18 00:00:55,660 --> 00:00:59,590 DAVID J. مالان: سنقوم اضغط 1 لرباعية. 19 00:00:59,590 --> 00:01:03,610 CS50: المكوك التالي يترك في هذه اللحظة بالذات PM 1:10، و 20 00:01:03,610 --> 00:01:09,820 ثم في الساعة 1:20، 1:30 PM، 1:40. 21 00:01:09,820 --> 00:01:12,030 هذا هو CS50. 22 00:01:12,030 --> 00:01:15,570 >> DAVID J. مالان: ولهذا فإن صوت CS50 ل. 23 00:01:15,570 --> 00:01:18,030 وانها مثال على أنواع المشاريع النهائية، ل 24 00:01:18,030 --> 00:01:19,500 سبيل المثال، يمكنك قضم نحو 25 00:01:19,500 --> 00:01:20,600 نهاية الفصل الدراسي. 26 00:01:20,600 --> 00:01:23,840 على سبيل المثال، أن shuttleboy.cs50.net موجود - 27 00:01:23,840 --> 00:01:28,200 في الواقع مشروع التي كتبت الأولى بعد أخذ CS51 28 00:01:28,200 --> 00:01:29,740 مرة عندما كنت في المرحلة الجامعية. 29 00:01:29,740 --> 00:01:32,250 وهنا كان الإلهام في ذلك الوقت، كان كل ما كان 30 00:01:32,250 --> 00:01:34,320 كان حافلات مكوكية طباعة الجداول الزمنية، وهناك لا 31 00:01:34,320 --> 00:01:35,970 فكرة تبحث الامور على الانترنت. 32 00:01:35,970 --> 00:01:38,730 ولذا فإنني نوع من حمامة في واحدة نهاية الأسبوع، من خلال سكب 33 00:01:38,730 --> 00:01:41,460 طباعة الجدول الزمني، واستدار إلى برنامج كمبيوتر. 34 00:01:41,460 --> 00:01:43,790 في ذلك الوقت، حدث في برنامج كمبيوتر لتكون مكتوبة 35 00:01:43,790 --> 00:01:47,110 في C. وفعلا قمت بتشغيل من قبل فتى المكوك في كتابة 36 00:01:47,110 --> 00:01:48,600 مطالبة امض مثل كنا نقوم به حتى الآن. 37 00:01:48,600 --> 00:01:50,450 لكن على مر السنين، انها تطورت في لحظة 38 00:01:50,450 --> 00:01:51,390 الرسائل بوت. 39 00:01:51,390 --> 00:01:53,970 انها تطورت في الآونة الأخيرة إلى هذا الموقع، إلى 40 00:01:53,970 --> 00:01:57,720 SMS المستندة إلى أداة، وكذلك في هذه الأداة صوت مقرا لها. 41 00:01:57,720 --> 00:02:00,170 وهذا هو التلميح في أنواع الأشياء التي يمكنك 42 00:02:00,170 --> 00:02:02,380 القيام به لنفسك في نهاية الفصل الدراسي لل. 43 00:02:02,380 --> 00:02:05,490 >> على سبيل المثال، هناك، من إصدار SMS بوي المكوك يحدث 44 00:02:05,490 --> 00:02:06,510 للعمل على النحو التالي. 45 00:02:06,510 --> 00:02:10,880 إذا، على الهاتف الخليوي الخاص بك، يمكنك إرسال رسالة نصية إلى 41411 و 46 00:02:10,880 --> 00:02:14,300 ثم أرسل sboy رمز خاص، خدمة نقل مكوكية من حياة طفل، 47 00:02:14,300 --> 00:02:18,350 A B تليها، وعند A هو الأصل وB هو 48 00:02:18,350 --> 00:02:19,070 الوجهة - 49 00:02:19,070 --> 00:02:21,030 على سبيل المثال، بويلستون الفضاء رباعي - 50 00:02:21,030 --> 00:02:23,330 ما يجب أن نعود في غضون ثوان قليلة هو نص 51 00:02:23,330 --> 00:02:25,820 رسالة من فتى المكوك عندما أقول لك بالضبط 52 00:02:25,820 --> 00:02:28,990 المكوكات القليلة المقبلة هي، من تلك النقطة A التي سوف 53 00:02:28,990 --> 00:02:29,640 نقطة B. 54 00:02:29,640 --> 00:02:32,510 وهذا هو مثال أكثر من عام ما يعرف 55 00:02:32,510 --> 00:02:33,920 باستخدام API. 56 00:02:33,920 --> 00:02:36,930 >> هكذا على سبيل المثال، وهذا هو shuttleboy.cs50.net هنا فقط، في 57 00:02:36,930 --> 00:02:39,300 الفعلية على شبكة الإنترنت تجسد هذا. 58 00:02:39,300 --> 00:02:42,480 ولكن البيانات التي تؤكد هذه وغيرها من التطبيقات التي CS50 59 00:02:42,480 --> 00:02:45,560 ويتعرض كل وضعت للجميع هنا في شكل 60 00:02:45,560 --> 00:02:49,340 واجهات برمجة التطبيقات واجهات برمجة التطبيقات. 61 00:02:49,340 --> 00:02:52,220 وهذا هو مجرد وسيلة أخرى للقول أن الناس تحب ونحن على 62 00:02:52,220 --> 00:02:56,010 وقد قضى شبكة الإنترنت وغيرها خلق بعض الوقت 63 00:02:56,010 --> 00:02:59,970 البرامج التي يمكنك استخدامها من أجل انتزاع البيانات من ولنا 64 00:02:59,970 --> 00:03:02,510 ثم بناء التطبيقات الخاصة بك على رأس 65 00:03:02,510 --> 00:03:03,840 لذلك مجموعة البيانات. 66 00:03:03,840 --> 00:03:06,610 هكذا على سبيل المثال، هذا API بوي الصفحة المكوك هنا، والتي 67 00:03:06,610 --> 00:03:09,390 يحدث أن تكون في دليل CS50، أساسا وثائق 68 00:03:09,390 --> 00:03:13,080 كيف يمكنك أن تذهب نحو طرح CS50 خوادم للبيانات. 69 00:03:13,080 --> 00:03:16,240 على سبيل المثال، إذا كنت على دراية ملفات CSV، فاصلة 70 00:03:16,240 --> 00:03:18,940 فصل القيم، وهذه هي مجرد نوع من سريعة وقذرة 71 00:03:18,940 --> 00:03:20,310 التفوق مثل ملفات. 72 00:03:20,310 --> 00:03:23,110 لذلك يمكنك أن تطلب بوي المكوك لكافة البيانات على كل من 73 00:03:23,110 --> 00:03:25,090 المنازل وإحداثيات GPS الخاصة بهم، وسوف تحصل على 74 00:03:25,090 --> 00:03:27,300 مرة أخرى، أساسا، جدول من هذا القبيل أن 75 00:03:27,300 --> 00:03:30,820 يمكنك أن تقرأ بعد ذلك في برنامج خاص بك ومن ثم 76 00:03:30,820 --> 00:03:33,250 توليد النتائج، مثل المكوك نفسه بوي 77 00:03:33,250 --> 00:03:34,160 يحدث أن تفعل. 78 00:03:34,160 --> 00:03:37,030 بالنسبة لأولئك أكثر دراية، تمثيل البيانات أكثر حداثة 79 00:03:37,030 --> 00:03:39,420 وتشمل JSON، وجافا سكريبت تدوين كائن. 80 00:03:39,420 --> 00:03:40,620 سوف شيء يعود لكم نحو 81 00:03:40,620 --> 00:03:41,720 نهاية الفصل الدراسي. 82 00:03:41,720 --> 00:03:45,440 >> ولكن مرة أخرى، وهذا هو مجرد واحدة من العديد من واجهات برمجة التطبيقات الخاصة CS50. 83 00:03:45,440 --> 00:03:48,320 والشيء المثير هو الآن، في هذه الأيام، والفيسبوك 84 00:03:48,320 --> 00:03:51,110 تويتر وغوغل والى حد كبير كل موقع من شعبية 85 00:03:51,110 --> 00:03:54,130 هناك نوعا من API، وهو ما يعني إذا كنت تقرأ 86 00:03:54,130 --> 00:03:56,620 الوثائق على موقعه على الانترنت، قمت بالتسجيل للحصول على 87 00:03:56,620 --> 00:03:59,980 حساب، يمكنك البدء ثم كتابة البرمجيات على رأس 88 00:03:59,980 --> 00:04:03,680 كل الوسائل أو البيانات التي توفر الشركة هناك. 89 00:04:03,680 --> 00:04:06,210 واحد حتى من الزملاء لدينا التدريس الخاصة بضع سنوات إلى الوراء 90 00:04:06,210 --> 00:04:07,620 كتب نسخة ماك من هذا. 91 00:04:07,620 --> 00:04:10,990 لذلك على الرابط بعنوان ماك هنا في أعلى اليسار، يمكنك فعلا 92 00:04:10,990 --> 00:04:13,940 تحميل عنصر واجهة مستخدم نظام التشغيل Mac OS الذي يعمل على ماك الخاص بك أن تفعل 93 00:04:13,940 --> 00:04:15,040 نفس أنواع الأشياء. 94 00:04:15,040 --> 00:04:17,970 لذلك فمن كل شيء عن بناء على أعلى من مجموعات البيانات مثل هذه. 95 00:04:17,970 --> 00:04:21,839 ولكن أكثر على ذلك في نهاية الفصل الدراسي. 96 00:04:21,839 --> 00:04:25,780 >> لذلك دعونا الغوص في سريعة حقيقية لخلل، لمجرد الحصول على نوع من 97 00:04:25,780 --> 00:04:27,990 تحسنت الامور اليوم، وأعتقد مرة أخرى على بعض 98 00:04:27,990 --> 00:04:29,660 بحثنا في الامور الاسبوع الماضي. 99 00:04:29,660 --> 00:04:32,840 على وجه الخصوص، اسمحوا لي أن تمضي قدما وسحب ما يصل، ويقول، 100 00:04:32,840 --> 00:04:34,080 هذا المثال هنا. 101 00:04:34,080 --> 00:04:37,500 Buggy1.c، وهذا متاح على الموقع الإلكتروني للدورة وإذا كنت 102 00:04:37,500 --> 00:04:40,250 ترغب في تحميل البرنامج وكزة حول نفسك. 103 00:04:40,250 --> 00:04:43,520 ولكن دعونا هنا في تكبير هذا البرنامج القصير إلى حد ما، وفقط 104 00:04:43,520 --> 00:04:46,550 خلاصة بسرعة فائقة بعض اللبنات الأساسية التي 105 00:04:46,550 --> 00:04:48,880 نحن حقا سوف نبدأ اتخاذ أمرا مفروغا منه. 106 00:04:48,880 --> 00:04:51,860 >> حتى الاشياء الزرقاء، في خطوط من 1 إلى 9، ليست سوى 107 00:04:51,860 --> 00:04:53,670 الكرة اللينة الأسئلة. 108 00:04:53,670 --> 00:04:54,590 لذلك فان هذه التعليقات فقط. 109 00:04:54,590 --> 00:04:56,230 ليس لديهم معنى وظيفية. 110 00:04:56,230 --> 00:04:58,460 ولكنهم التعليقات بمعنى انهم يلاحظ أن 111 00:04:58,460 --> 00:05:02,010 قدم لي، والإنسان، بحيث لنفسي في محاضرة وبعد 112 00:05:02,010 --> 00:05:04,340 محاضرة، أستطيع أن أتذكر فعلا ما هذا البرنامج 113 00:05:04,340 --> 00:05:07,120 لا دون الحاجة إلى قراءة من خلال ذلك سطرا سطرا و 114 00:05:07,120 --> 00:05:08,990 إعادة التاريخ في ذهني. 115 00:05:08,990 --> 00:05:11,000 وعلاوة على ذلك، إذا كنت تسليم هذا البرنامج إلى شخص آخر مثل 116 00:05:11,000 --> 00:05:14,420 لك، انها أكثر وضوحا بالنسبة لك، لأن من مثل هذه التعليقات، 117 00:05:14,420 --> 00:05:16,680 ما البرنامج يفعل فعلا، أو على الأقل ما 118 00:05:16,680 --> 00:05:18,210 من المفترض أن تقوم به لبرنامج. 119 00:05:18,210 --> 00:05:20,760 أم لا فإنه من الصحيح هو مسألة أخرى تماما. 120 00:05:20,760 --> 00:05:25,040 الآن، في C، مع متعدد الخطوط التعليقات، أذكر أنه في خط 121 00:05:25,040 --> 00:05:27,880 واحد هو هنا رمز السحر، / *. 122 00:05:27,880 --> 00:05:30,380 فهذا يعني هنا يأتي بداية لتعليق. 123 00:05:30,380 --> 00:05:34,560 وشيء آخر يهم حتى تصل إلى نهاية فاصل، 124 00:05:34,560 --> 00:05:36,700 وهو * /، عكس ذلك. 125 00:05:36,700 --> 00:05:39,120 وبالتالي فإن حقيقة أن لدي بعض النجوم 80-الغريب هنا من 126 00:05:39,120 --> 00:05:41,550 من اليسار إلى اليمين هو في الحقيقة مجرد التفاصيل الجمالية. 127 00:05:41,550 --> 00:05:43,370 هذا لا معنى له وظيفية. 128 00:05:43,370 --> 00:05:44,490 >> الآن ماذا عن خط 11؟ 129 00:05:44,490 --> 00:05:46,940 ماذا تفعل في هذه شروط للشخص العادي؟ 130 00:05:51,560 --> 00:05:52,540 ما هذا؟ 131 00:05:52,540 --> 00:05:54,280 AUDIENCE: يتضمن هذا المعيار. 132 00:05:54,280 --> 00:05:54,740 DAVID J. مالان: OK، وحسن. 133 00:05:54,740 --> 00:05:57,500 لذلك يتضمن مكتبة stdio.h. 134 00:05:57,500 --> 00:05:58,230 فماذا يعني ذلك؟ 135 00:05:58,230 --> 00:06:01,570 حسنا، داخل هذا الملف، stdio.h، هي مجموعة كاملة من 136 00:06:01,570 --> 00:06:03,320 وظيفة الإعلانات - 137 00:06:03,320 --> 00:06:05,290 وهذا هو، التعليمات البرمجية التي كتب شخص آخر. 138 00:06:05,290 --> 00:06:08,160 وخير مثال على وظيفة هذا ما أعلن في 139 00:06:08,160 --> 00:06:10,250 stdio.h هو - 140 00:06:10,250 --> 00:06:11,980 الذي مفضلة من قبل الآن؟ 141 00:06:11,980 --> 00:06:14,300 printf ذلك، واحدة من أكثرها شيوعا لاستخدام، وبالتأكيد 142 00:06:14,300 --> 00:06:15,840 في وقت مبكر، من أن المكتبة هي هناك. 143 00:06:15,840 --> 00:06:19,290 إذا أستبعد أن سطر من التعليمات البرمجية، ضجيج سوف يصيح 144 00:06:19,290 --> 00:06:22,550 في وجهي شيئا حول استخدام رمز غير معلنة. 145 00:06:22,550 --> 00:06:24,930 شيء غير معلنة وربما كان الكلمة، وذلك لأن 146 00:06:24,930 --> 00:06:27,770 نحن لم أبلغ ما يبدو المترجم printf 147 00:06:27,770 --> 00:06:29,230 تحب ما لم ندرج هذا الخط. 148 00:06:29,230 --> 00:06:31,830 وأكثر من ذلك وصولا الى الأرض، حقا، ما هذا الخط هو يقول 149 00:06:31,830 --> 00:06:34,890 فتح هذا الملف، stdio.h، أينما كان على الخادم في 150 00:06:34,890 --> 00:06:38,200 القرص الصلب، أو الأقراص الجهاز الثابت، ولصق نسخة-IT 151 00:06:38,200 --> 00:06:40,240 هناك حق في ملفي، ولا اكون 152 00:06:40,240 --> 00:06:41,730 الحاجة إلى القيام بذلك يدويا. 153 00:06:41,730 --> 00:06:44,420 >> الآن، بمجرد ان نحصل عليها هنا الى الأصل، قبل وقت طويل سنبدأ 154 00:06:44,420 --> 00:06:46,900 وبصرف النظر عما إغاظة الباحث وما هو باطل. 155 00:06:46,900 --> 00:06:48,430 لكن في الوقت الراهن، دعونا ننظر في الخطوط الثلاثة 156 00:06:48,430 --> 00:06:50,350 في غضون 15 إلى 17. 157 00:06:50,350 --> 00:06:52,250 هذا أنا هنا كما يدعي عربات التي تجرها الدواب. 158 00:06:52,250 --> 00:06:54,900 السطر 7 في تعليقاتي يقول "يجب طباعة 10 159 00:06:54,900 --> 00:06:59,410 العلامات النجمية ولكن لا. "لماذا لا تتم طباعة هذا، في الواقع، 160 00:06:59,410 --> 00:07:01,097 10 نجوم من هذا القبيل؟ 161 00:07:01,097 --> 00:07:02,347 AUDIENCE: [غير مسموع]. 162 00:07:05,210 --> 00:07:05,800 DAVID J. مالان: بالضبط. 163 00:07:05,800 --> 00:07:08,720 تلاحظ بحيث بدأنا العد من 0. 164 00:07:08,720 --> 00:07:10,780 وهذا هو في الواقع الاتفاقية في البرمجة و 165 00:07:10,780 --> 00:07:13,230 علوم الحاسب الآلي بشكل عام، بدءا من الاعتماد 166 00:07:13,230 --> 00:07:14,610 من 0 بدلا من 1. 167 00:07:14,610 --> 00:07:16,690 وهذا حقا تستمد فقط من حقيقة أنه، ل 168 00:07:16,690 --> 00:07:18,940 المثال، عندما كان لدينا ثمانية أشخاص حتى على المسرح، عندما 169 00:07:18,940 --> 00:07:20,680 كانوا لا أحد كان رفع أيديهم، 170 00:07:20,680 --> 00:07:22,340 جميع الأصفار على نحو فعال. 171 00:07:22,340 --> 00:07:24,260 ولذا من مجرد نوع من اتفاقية الكمبيوتر بحيث، 172 00:07:24,260 --> 00:07:26,030 لذلك، لتبدأ العد من 0. 173 00:07:26,030 --> 00:07:29,130 إذا كان هذا هو أقل عدد يمكن أن تمثل في ثنائي. 174 00:07:29,130 --> 00:07:32,270 >> حتى هنا لقد بدأنا أنا تهيئة إلى 0. 175 00:07:32,270 --> 00:07:34,230 لقد وضعنا أنا تساوي 0. 176 00:07:34,230 --> 00:07:37,780 ولكن بعد ذلك أنا جعلت هذا الخطأ هنا، قائلا أنا أقل من أو 177 00:07:37,780 --> 00:07:38,820 تساوي 10. 178 00:07:38,820 --> 00:07:41,700 ولكن إذا كنت تعتقد أنه من خلال ذلك، إذا كنت تبدأ عند 0 ثم أذهب 179 00:07:41,700 --> 00:07:46,410 يصل إلى 1، 2، 3، 4، 5، 6، 7، 8، 9، 10، أنا ذاهب إلى الواقع 180 00:07:46,410 --> 00:07:49,980 طباعة من أصل 11 نجوم على الشاشة، لأنني قد ارتفعت 181 00:07:49,980 --> 00:07:52,410 لوتساوي 10. 182 00:07:52,410 --> 00:07:55,090 وبالتالي فإن حل سهل هنا هو ماذا بعد ذلك؟ 183 00:07:55,090 --> 00:07:56,070 AUDIENCE: [غير مسموع]. 184 00:07:56,070 --> 00:07:57,350 DAVID J. مالان: مجرد تغيير إلى أقل من. 185 00:07:57,350 --> 00:07:59,700 إذا كنت تريد حقا، هل يمكن أن تفعل ذلك. 186 00:07:59,700 --> 00:08:01,370 ولكن بصفة عامة، انها عبس التي عليها. 187 00:08:01,370 --> 00:08:04,020 وابتداء ذلك لحساب من 0 هو مجرد شيء يجب أن 188 00:08:04,020 --> 00:08:05,510 التعود على عادة. 189 00:08:05,510 --> 00:08:07,810 الآن، ماذا عن هذا كله بناء في حد ذاته؟ 190 00:08:07,810 --> 00:08:10,640 هذا السطر 15 demarks حلقة For. 191 00:08:10,640 --> 00:08:12,510 لذلك ليست وظيفة. 192 00:08:12,510 --> 00:08:13,640 انها مجرد بيان. 193 00:08:13,640 --> 00:08:16,180 انها حلقات بناء، كما رأينا في سكراتش. 194 00:08:16,180 --> 00:08:17,600 ولها ثلاثة أجزاء. 195 00:08:17,600 --> 00:08:19,740 تلاحظ أن هناك جزء أول من 196 00:08:19,740 --> 00:08:21,350 يسار الفاصلة المنقوطة. 197 00:08:21,350 --> 00:08:24,200 هناك في الجزء الأوسط بين الفواصل المنقوطة اثنين. 198 00:08:24,200 --> 00:08:26,250 وبعد ذلك هناك الجزء الأيمن إلى اليمين 199 00:08:26,250 --> 00:08:27,640 من الفاصلة المنقوطة الثانية. 200 00:08:27,640 --> 00:08:31,822 الآن، وأول هذه يفعل ما؟ 201 00:08:31,822 --> 00:08:33,679 AUDIENCE: [غير مسموع]. 202 00:08:33,679 --> 00:08:34,270 DAVID J. مالان: هناك عودة؟ 203 00:08:34,270 --> 00:08:34,816 نعم؟ 204 00:08:34,816 --> 00:08:35,980 AUDIENCE: تهيئة. 205 00:08:35,980 --> 00:08:36,850 >> DAVID J. مالان: تهيئة. 206 00:08:36,850 --> 00:08:37,840 فماذا يعني هذا؟ 207 00:08:37,840 --> 00:08:40,690 لقد أعلنا متغير يسمى ط. 208 00:08:40,690 --> 00:08:43,840 فإنه من نوع int، لأنني أنا الباحث المحدد. 209 00:08:43,840 --> 00:08:46,470 وأنا تهيئة الأول للقيمة 0. 210 00:08:46,470 --> 00:08:47,730 ذلك ما هذا القول حقا؟ 211 00:08:47,730 --> 00:08:50,680 قائلا انها فعالة لجهاز الكمبيوتر يا، أعطني ما يكفي 212 00:08:50,680 --> 00:08:53,660 الذاكرة، ذاكرة الوصول العشوائي بما فيه الكفاية، لتناسب عددا، ومن ثم وضع 213 00:08:53,660 --> 00:08:56,130 عدد 0 في أن قطعة من RAM. 214 00:08:56,130 --> 00:08:59,100 وبوصفها جانبا، وكيف كبيرة هو الباحث عادة، على الأقل داخل 215 00:08:59,100 --> 00:09:00,280 من الجهاز؟ 216 00:09:00,280 --> 00:09:01,000 AUDIENCE: 32 بت. 217 00:09:01,000 --> 00:09:01,670 DAVID J. مالان: 32 بت. 218 00:09:01,670 --> 00:09:04,890 بحيث يعني تعطيني 32 بت، والمعروف باسم 4 بايت، 219 00:09:04,890 --> 00:09:07,250 ووضع القيمة 0 في ذلك، والتي من السهل جدا ل 220 00:09:07,250 --> 00:09:09,110 هذا يعني فقط تعيين كافة البتات إلى 0. 221 00:09:09,110 --> 00:09:11,690 >> حتى الآن، والجزء الثاني هنا هو الشرط. 222 00:09:11,690 --> 00:09:14,590 والشرط، وكما يوحي اسمها، هو ما يتم فحص 223 00:09:14,590 --> 00:09:18,100 مرة أخرى ومرة ​​أخرى ومرة ​​أخرى حول ما إذا كان هذا صحيح أو خطأ. 224 00:09:18,100 --> 00:09:21,410 لذلك هذا هو فقط أقول القيام الأسطر التالية من التعليمات البرمجية - 225 00:09:21,410 --> 00:09:23,950 أي 16 خط، لأن هذا هو واحد فقط بادئة 226 00:09:23,950 --> 00:09:24,820 تحت - 227 00:09:24,820 --> 00:09:26,980 طالما أنا أقل من 10. 228 00:09:26,980 --> 00:09:30,520 وبعد كل التكرار من خلال هذه الحلقة، قم بما 229 00:09:30,520 --> 00:09:33,840 incrementation، وهو في هذه الحالة هو أنني + +. 230 00:09:33,840 --> 00:09:35,580 الآن، فإنه لا يجب أن تكون ط + +. 231 00:09:35,580 --> 00:09:37,610 يمكن أن يكون الأول -. 232 00:09:37,610 --> 00:09:39,860 ولكن إذا فعلت ذلك، ما هو السلوك يحدث 233 00:09:39,860 --> 00:09:41,370 أن يكون لهذا البرنامج؟ 234 00:09:41,370 --> 00:09:42,290 AUDIENCE: انها ستكون حلقة لا نهائية. 235 00:09:42,290 --> 00:09:44,060 DAVID J. مالان: إنه سيكون نوعا من حلقة لا نهائية، 236 00:09:44,060 --> 00:09:47,720 الا اذا حصلنا على الحظ بعد 2 مليار سلبية أو نحو ذلك. 237 00:09:47,720 --> 00:09:51,320 ربما سوف يلتف حول الأشياء، فقط من خلال طبيعة محدودة 238 00:09:51,320 --> 00:09:53,930 عدد البتات أننا خصصت لكثافة العمليات. 239 00:09:53,930 --> 00:09:56,270 ولكن ومن المؤكد انه سيؤدي إلى تكرار أكثر بكثير من 10 و 240 00:09:56,270 --> 00:09:58,630 بالتأكيد أكثر من 11 مرات هنا. 241 00:09:58,630 --> 00:10:02,240 >> والآن، تماما كما جانبا، أدرك أنني + + وأنا - 242 00:10:02,240 --> 00:10:04,420 هي في الواقع مجرد السكر النحوية. 243 00:10:04,420 --> 00:10:07,210 انها مجرد اختصار لتدوين ما هو أكثر من ذلك بقليل 244 00:10:07,210 --> 00:10:08,720 مكتوب بشكل واضح على النحو التالي: 245 00:10:08,720 --> 00:10:11,200 ط = ط + 1. 246 00:10:11,200 --> 00:10:13,460 هذا هو مطابق لط + +. 247 00:10:13,460 --> 00:10:15,860 أنها مجرد نوع من أجمل يبدو أن أقول إنني + +. 248 00:10:15,860 --> 00:10:17,490 انها أكثر اقتضابا، أكثر قابلية للقراءة. 249 00:10:17,490 --> 00:10:19,030 ولذا فإن معظم الناس أن بدلا من ذلك. 250 00:10:19,030 --> 00:10:21,840 ولكن هذا هو عمليا مطابقة لل 251 00:10:21,840 --> 00:10:22,900 ما رأيناه فقط. 252 00:10:22,900 --> 00:10:27,770 لذلك وباختصار، فإن حل سريع هنا هو فقط أن أقول إنني تكرار 253 00:10:27,770 --> 00:10:30,690 من 0 كل وسيلة تصل إلى أقل من 10. 254 00:10:30,690 --> 00:10:32,700 وبعد ذلك سوف نحصل على 10 نجوم الواقع. 255 00:10:32,700 --> 00:10:33,430 >> لذلك دعونا نحاول ذلك. 256 00:10:33,430 --> 00:10:35,310 اسمحوا لي أن فتح المعبر في الأسفل. 257 00:10:35,310 --> 00:10:37,420 اسمحوا لي أن انتقل إلى الدليل أن هذا هو فيه. 258 00:10:37,420 --> 00:10:40,030 وانا ذاهب لتجميع يدويا مع ضجيج في الوقت الراهن. 259 00:10:40,030 --> 00:10:44,880 وانا ذاهب الى ترجمة هذا كما buggy1.c، أدخل. 260 00:10:44,880 --> 00:10:50,280 والآن buggy1، لماذا لا يوجد مثل هذا الملف أو الدليل 261 00:10:50,280 --> 00:10:52,026 دعا buggy1؟ 262 00:10:52,026 --> 00:10:53,850 AUDIENCE: [غير مسموع]. 263 00:10:53,850 --> 00:10:54,240 DAVID J. مالان: نعم. 264 00:10:54,240 --> 00:10:55,420 حتى انه دعا فعلا a.out. 265 00:10:55,420 --> 00:10:57,480 أذكر ذلك فقط إذا قمت بتشغيل ضجيج، حيث هو ضجيج 266 00:10:57,480 --> 00:11:00,420 مترجم، وأنت لم تحدد الاسم الذي تريد 267 00:11:00,420 --> 00:11:03,550 تعطي لبرنامجك، انها سوف الافتراضي إلى a.out. 268 00:11:03,550 --> 00:11:05,030 حتى إذا كنت تفعل في الواقع ليرة سورية - 269 00:11:05,030 --> 00:11:05,510 عفوا. 270 00:11:05,510 --> 00:11:07,680 وأنا didn't - قضية الأسود والأبيض بعض 271 00:11:07,680 --> 00:11:08,840 واجهت تم إصلاح. 272 00:11:08,840 --> 00:11:10,670 ولكن اسمحوا لي أن تفعل هذا. 273 00:11:10,670 --> 00:11:14,570 يوجد لدينا a.out على الجانب الأيسر هناك. 274 00:11:14,570 --> 00:11:17,360 لذلك لدينا لتشغيل a.out بدلا من buggy1. 275 00:11:17,360 --> 00:11:19,140 >> لذلك اسمحوا لي نمضي قدما ونفعل ذلك. 276 00:11:19,140 --> 00:11:22,840 / a.out، أدخل. 277 00:11:22,840 --> 00:11:26,160 وعلى ما يبدو لي لم يفعل ماذا؟ 278 00:11:26,160 --> 00:11:26,620 AUDIENCE: حفظ. 279 00:11:26,620 --> 00:11:27,390 DAVID J. مالان: حفظ الملف الخاص بي. 280 00:11:27,390 --> 00:11:31,520 بحيث يتم حلها بسهولة عن طريق ضرب S التحكم، أو الذهاب إلى 281 00:11:31,520 --> 00:11:33,450 ملف، حفظ، كما هو الحال في معظم البرامج. 282 00:11:33,450 --> 00:11:36,360 اسمحوا لي هنا تنخفض، مسح الشاشة، تشغيله مرة أخرى. 283 00:11:36,360 --> 00:11:37,960 ومازال هناك خلل. 284 00:11:37,960 --> 00:11:41,618 ذلك ما يحدث - 285 00:11:41,618 --> 00:11:42,980 AUDIENCE: لم يتم ترجمة. 286 00:11:42,980 --> 00:11:44,040 DAVID J. مالان: آه، جيد. 287 00:11:44,040 --> 00:11:45,010 لم أكن ترجمة عليه. 288 00:11:45,010 --> 00:11:47,250 مثل احمق، أنا أبحث في رمز لمعرفة ما هو الخطأ. 289 00:11:47,250 --> 00:11:51,275 buggy1.c حتى رنة، a.out الآن. 290 00:11:51,275 --> 00:11:52,640 وتفو، المحفوظة. 291 00:11:52,640 --> 00:11:55,090 >> بحيث يبدو قليلا القبيح لأنه ليس هناك خط جديد 292 00:11:55,090 --> 00:11:55,970 في أي مكان في البرنامج. 293 00:11:55,970 --> 00:11:57,390 ولكن مرة أخرى، وهذا مجرد التفاصيل الجمالية. 294 00:11:57,390 --> 00:11:59,430 وعلى الأقل إذا نحن نعول تلك خارج، يجب علينا 295 00:11:59,430 --> 00:12:01,160 نرى الآن 10 نجوم من هذا القبيل. 296 00:12:01,160 --> 00:12:03,260 حسنا، ماذا عن هذا المثال الاحماء الثانية؟ 297 00:12:03,260 --> 00:12:07,750 حتى في buggy2، أزعم أن هذا الإصدار أيضا، سيتم طباعة 298 00:12:07,750 --> 00:12:10,110 10 نجوم، واحد في كل سطر. 299 00:12:10,110 --> 00:12:12,340 حتى هذا الوقت، ولدي حرف السطر، فقط لجعل 300 00:12:12,340 --> 00:12:13,520 أجمل الأشياء قليلا. 301 00:12:13,520 --> 00:12:15,410 ولكن بدلا من ذلك ما يمكنني الحصول على هذا. 302 00:12:15,410 --> 00:12:19,590 لذلك اسمحوا لي أن تفعل buggy2.c رنة، أدخل. 303 00:12:19,590 --> 00:12:21,790 الآن انه دعا مرة أخرى a.out. 304 00:12:21,790 --> 00:12:23,130 دخول. 305 00:12:23,130 --> 00:12:26,900 أرى سطر واحد فقط جديد، فقط السطر الأخير جدا جديدة 306 00:12:26,900 --> 00:12:29,370 يتحرك موجه بلدي إلى السطر التالي. 307 00:12:29,370 --> 00:12:32,660 وحتى الآن بوضوح لقد تم طباعة *، ثم سطر جديد، 308 00:12:32,660 --> 00:12:33,990 *، ثم سطر جديد. 309 00:12:33,990 --> 00:12:35,490 ولكن ما هو الخطأ هنا؟ 310 00:12:35,490 --> 00:12:35,974 نعم؟ 311 00:12:35,974 --> 00:12:37,224 AUDIENCE: [غير مسموع]. 312 00:12:39,850 --> 00:12:40,470 >> DAVID J. مالان: بالضبط. 313 00:12:40,470 --> 00:12:44,110 على عكس ذلك بعض اللغات، مثل بيثون، حيث المسافة البادئة 314 00:12:44,110 --> 00:12:46,030 في الواقع معنى وظيفية، في 315 00:12:46,030 --> 00:12:47,150 اللغة مثل C - 316 00:12:47,150 --> 00:12:49,140 كما سنرى، PHP، جافا سكريبت - 317 00:12:49,140 --> 00:12:51,940 المسافة البادئة هو في الحقيقة مجرد لفائدة البشر. 318 00:12:51,940 --> 00:12:55,690 وبالتالي فإن حقيقة أن كنت بادئة السطر 16 و 17 يبدو رائعا، 319 00:12:55,690 --> 00:12:57,530 ولكن هذا لا معنى له هنا الوظيفية. 320 00:12:57,530 --> 00:13:00,700 إذا كنت أريد كلا الخطين لتنفيذ كجزء من ل 321 00:13:00,700 --> 00:13:05,140 حلقة، ثم يجب أن أرفق لهم في الأقواس المتعرجة من قبل ذلك. 322 00:13:05,140 --> 00:13:08,540 يمكنك قص الزاوية الوحيدة التي وحذفت الأقواس المتعرجة إذا 323 00:13:08,540 --> 00:13:10,036 ما هي القضية؟ 324 00:13:10,036 --> 00:13:10,410 AUDIENCE: سطر واحد فقط. 325 00:13:10,410 --> 00:13:11,130 DAVID J. مالان: سطر واحد فقط. 326 00:13:11,130 --> 00:13:15,280 ذلك أن مجرد نوع من لطيفة نوعا من التفصيل بناء الجملة بحيث 327 00:13:15,280 --> 00:13:17,900 لا تضيعوا الوقت في كتابة ثلاثة خطوط، اثنان منها 328 00:13:17,900 --> 00:13:20,040 الأقواس المتعرجة، لمجرد كتابة سطر واحد من التعليمات البرمجية. 329 00:13:20,040 --> 00:13:21,650 ولكن إذا كان لديك اثنين أو أكثر من خطوط، ونحن 330 00:13:21,650 --> 00:13:22,860 تحتاج بالفعل للقيام بذلك. 331 00:13:22,860 --> 00:13:24,210 >> لذلك اسمحوا لي الآن حفظ هذا. 332 00:13:24,210 --> 00:13:27,140 اسمحوا لي أن تمضي قدما وضجيج إعادة تشغيل. 333 00:13:27,140 --> 00:13:31,375 ثم اسمحوا لي أن أعد تشغيل a.out، والآن يمكنني الحصول على واحد منهم في كل سطر. 334 00:13:31,375 --> 00:13:33,670 الآن، a.out مرة أخرى نوع من اسم البكم للبرنامج. 335 00:13:33,670 --> 00:13:37,500 كيف يمكنني معرفة ضجيج في الواقع لإعطاء اسم ملف البيانات 336 00:13:37,500 --> 00:13:39,820 وهذا أكثر سهولة، مثل buggy2 نفسها؟ 337 00:13:43,200 --> 00:13:44,466 قليلا أكثر وضوحا؟ 338 00:13:44,466 --> 00:13:45,220 AUDIENCE: [غير مسموع]. 339 00:13:45,220 --> 00:13:47,810 DAVID J. مالان: OK، حتى أتمكن من اتخاذ فعلا جدا 340 00:13:47,810 --> 00:13:51,000 سهل الاستعمال واختصار جعل مجرد كتابة buggy2. 341 00:13:51,000 --> 00:13:53,840 أنا لا تحدده. ج في هذه الحالة، وضرب أدخل. 342 00:13:53,840 --> 00:13:58,530 وجعل ما يفعله هو أنه يجمع buggy2.c بالنسبة لي من قبل 343 00:13:58,530 --> 00:14:00,260 طرح ضجيج للقيام بذلك. 344 00:14:00,260 --> 00:14:05,100 على وجه التحديد، فإنه يدعو ضجيج، ضجيج تشغيله باستخدام طريقة أكثر 345 00:14:05,100 --> 00:14:08,540 وسائط سطر الأوامر أو التبديل مما كنت تحتاج بالفعل. 346 00:14:08,540 --> 00:14:11,270 في الوقت المناسب، سوف نعود إلى ما كل هذه مختلف 347 00:14:11,270 --> 00:14:13,810 التعبير يعني الواصلة خفي. 348 00:14:13,810 --> 00:14:16,910 لكن في الوقت الراهن، وهذا مجرد توفير البيانات عناء 349 00:14:16,910 --> 00:14:19,600 الحاجة إلى تذكر والحاجة إلى كتابة من كل تلك 350 00:14:19,600 --> 00:14:21,150 الواصلة التعبيرات المختلفة. 351 00:14:21,150 --> 00:14:23,240 وعقب منه هو في نهاية المطاف 352 00:14:23,240 --> 00:14:25,900 والآن بعد أن لدي buggy2. 353 00:14:25,900 --> 00:14:27,480 إذا كنت ترغب في القيام بذلك يدويا، على الرغم من أنني 354 00:14:27,480 --> 00:14:28,775 يمكن القيام بذلك بدلا - 355 00:14:28,775 --> 00:14:34,110 رنة-O buggy2 ثم buggy2.c. 356 00:14:34,110 --> 00:14:37,980 وسوف تعطي لي وبالمثل ملف يسمى buggy2. 357 00:14:37,980 --> 00:14:39,710 >> لذلك باختصار، ضجيج هو مترجم. 358 00:14:39,710 --> 00:14:43,080 جعل هو مجرد أداة سهلة الاستخدام التي سنكون باستخدام أكثر 359 00:14:43,080 --> 00:14:44,420 وأكثر من ذلك، لأنه يبدأ لمجرد 360 00:14:44,420 --> 00:14:47,330 تبسيط الأمور بالنسبة لنا. 361 00:14:47,330 --> 00:14:49,430 ونعود 0، أخيرا. 362 00:14:49,430 --> 00:14:51,890 في الوقت الحالي، لمجرد، ولكن سنبدأ هذا الجزء إغاظة 363 00:14:51,890 --> 00:14:52,930 واليوم يوم الاربعاء. 364 00:14:52,930 --> 00:14:55,560 أي أسئلة على أي من هذه؟ 365 00:14:55,560 --> 00:14:56,450 نعم؟ 366 00:14:56,450 --> 00:14:58,234 AUDIENCE: [غير مسموع] 367 00:14:58,234 --> 00:15:00,020 LS تهمك هناك؟ 368 00:15:00,020 --> 00:15:01,710 DAVID J. مالان: OK. 369 00:15:01,710 --> 00:15:05,880 عندما كنت ليرة سورية المكتوبة تهمك، التي كان لي القيام ببعض السحر 370 00:15:05,880 --> 00:15:07,160 وراء الكواليس لإصلاح الخلل. 371 00:15:07,160 --> 00:15:09,370 لقد نسيت، مثل كنا نقول الكثير منكم على 372 00:15:09,370 --> 00:15:11,600 ولوحات المناقشات، القيام - 373 00:15:11,600 --> 00:15:17,220 سوف نفعل ذلك الآن - سودو يم ص التحديث appliance50. 374 00:15:17,220 --> 00:15:19,790 يصيح، ان هذا الحق المنصوص. 375 00:15:19,790 --> 00:15:23,240 وبالتالي فإن الأجهزة مثل نظام التشغيل. 376 00:15:23,240 --> 00:15:25,650 انها تعمل نظام التشغيل هذا يسمى فيدورا. 377 00:15:25,650 --> 00:15:27,450 والآن بسبب بطء الاتصال بإنترنت، لقد 378 00:15:27,450 --> 00:15:28,260 مسقي حقا. 379 00:15:28,260 --> 00:15:31,620 تشغيل التحديث سودو حتى يم، ونحن نقول لك أن تفعل في 380 00:15:31,620 --> 00:15:34,080 مجموعة مشكلة، هو مثل أساسا تشغيل التحديثات التلقائية 381 00:15:34,080 --> 00:15:35,420 في Mac OS أو Windows. 382 00:15:35,420 --> 00:15:37,280 والسبب في تشغيل هذا في بداية جدا من 383 00:15:37,280 --> 00:15:39,640 المشكلة هي مجموعة لأنه عندما أنشأنا الأجهزة، I 384 00:15:39,640 --> 00:15:42,480 عابث، وأنا قدمت عرضا عن برامج البحث الخاصة بك 385 00:15:42,480 --> 00:15:45,210 أسود على شاشة سوداء، وهذا هو السبب كنت لا ترى لهم 386 00:15:45,210 --> 00:15:45,860 بشكل افتراضي. 387 00:15:45,860 --> 00:15:48,020 ولكن أحدث إصدار من حل هذه الأجهزة. 388 00:15:48,020 --> 00:15:50,500 وسوف أقوم بإصلاح أنه خلال فترة انقطاع مرة واحدة لدي الإنترنت 389 00:15:50,500 --> 00:15:51,280 الاتصال. 390 00:15:51,280 --> 00:15:54,630 >> وبالتالي فإن الاسعار يخفي فقط خطأي، تكتم جدا، 391 00:15:54,630 --> 00:15:55,730 على ما يبدو. 392 00:15:55,730 --> 00:15:56,980 أسئلة أخرى؟ 393 00:15:59,750 --> 00:16:00,668 نعم؟ 394 00:16:00,668 --> 00:16:02,012 AUDIENCE: أين جعل تأتي من؟ 395 00:16:02,012 --> 00:16:03,810 [غير مسموع] 396 00:16:03,810 --> 00:16:04,280 DAVID J. مالان: سؤال جيد. 397 00:16:04,280 --> 00:16:05,460 أين جعل تأتي من؟ 398 00:16:05,460 --> 00:16:09,390 وهو عبارة عن برنامج لينكس التي كانت موجودة لسنوات عديدة وطويلة 399 00:16:09,390 --> 00:16:10,570 قبل CS50. 400 00:16:10,570 --> 00:16:12,930 وأنه يأتي مع نظام التشغيل مثل فيدورا. 401 00:16:12,930 --> 00:16:14,830 لا يأتي ذلك من مكتبة CS50. 402 00:16:14,830 --> 00:16:17,560 في الواقع، فإن الشيء الوحيد الذي يأتي من مكتبة CS50 403 00:16:17,560 --> 00:16:20,470 حتى الآن، التي شاهدناها، هي GetString، GetInt، وكلها 404 00:16:20,470 --> 00:16:25,550 احصل على وظائف تلك، وسلسلة كلمة واحدة، وبعض 405 00:16:25,550 --> 00:16:26,575 ما، كلمة BOOL. 406 00:16:26,575 --> 00:16:29,180 ولكن سنقوم ندف أنه بغض النظر أننا عندما يغوص في CS50 407 00:16:29,180 --> 00:16:30,580 الأجهزة نفسها. 408 00:16:30,580 --> 00:16:32,820 >> لذلك نعم، سؤال واحد هنا. 409 00:16:32,820 --> 00:16:36,636 AUDIENCE: عند تقديم وثم قال عربات التي تجرها الدواب، كيف 410 00:16:36,636 --> 00:16:39,980 تعرف الكمبيوتر [غير مسموع]؟ 411 00:16:39,980 --> 00:16:40,520 DAVID J. مالان: سؤال جيد. 412 00:16:40,520 --> 00:16:43,830 لذلك عندما قمت بتشغيل فقط جعل buggy1 أو جعل buggy2، كيف 413 00:16:43,830 --> 00:16:45,220 لا تجعل تعلم؟ 414 00:16:45,220 --> 00:16:49,900 حتى افتراضيا، إذا قمت بكتابة جعل buggy1، وجعل بالبحث عن 415 00:16:49,900 --> 00:16:52,330 دعا buggy1.c الملف. 416 00:16:52,330 --> 00:16:55,570 وبعد ذلك ينفذ الأوامر المناسبة ضجيج، 417 00:16:55,570 --> 00:17:00,380 وبالتالي تجاوز ملف الإخراج الافتراضي دعا a.out. 418 00:17:00,380 --> 00:17:03,670 في الواقع، إذا نظرنا إلى ما تقدم، ما - 419 00:17:03,670 --> 00:17:04,839 دعونا إنهاء هذا. 420 00:17:04,839 --> 00:17:09,530 إذا نظرنا إلى ما كان يقوم به في الواقع جعل، وجعل buggy2، 421 00:17:09,530 --> 00:17:10,470 انها بالفعل حتى الآن. 422 00:17:10,470 --> 00:17:13,020 لذلك اسمحوا لي إزالة الأمر RM، على 423 00:17:13,020 --> 00:17:14,319 برنامج كتبت من قبل. 424 00:17:14,319 --> 00:17:17,319 كتابة Y-E-S لتأكيد أن أريد لإزالته. 425 00:17:17,319 --> 00:17:20,480 إذا كنت تفعل الآن جعل، لاحظ أن في هذا الخط طويل جدا، 426 00:17:20,480 --> 00:17:22,980 هناك هذا آخر شيء هنا، buggy2-O. 427 00:17:22,980 --> 00:17:26,959 كل ذلك يجعل تفعل تمر هذه الحجة، إذا جاز التعبير، ل 428 00:17:26,959 --> 00:17:29,665 رنة، لدرجة أنني لا يجب أن اكتبه بنفسي. 429 00:17:29,665 --> 00:17:32,660 >> كل الحق، لذلك بضع السريع الإدارية 430 00:17:32,660 --> 00:17:33,470 الإعلانات. 431 00:17:33,470 --> 00:17:36,940 حتى لأقسام، والتي بدأت رسميا هذا المقبلة 432 00:17:36,940 --> 00:17:38,970 الأحد، فأنت تريد دائما لتحقيق ذلك، إذا 433 00:17:38,970 --> 00:17:40,120 لديك واحدة، جهاز كمبيوتر محمول. 434 00:17:40,120 --> 00:17:42,570 إذا لم يكن لديك جهاز كمبيوتر محمول، لا يمد يده لي من قبل 435 00:17:42,570 --> 00:17:43,580 إسقاط لي رسالة بالبريد الالكتروني. 436 00:17:43,580 --> 00:17:44,810 وسنقوم معرفة سير العمل. 437 00:17:44,810 --> 00:17:47,100 ما عموما ستجد في القسم هو انهم جزء 438 00:17:47,100 --> 00:17:48,770 المفاهيمي، كجزء التدريب العملي على. 439 00:17:48,770 --> 00:17:52,190 سنستخدم تحديدا قسم من الأسئلة، وهي جزء من 440 00:17:52,190 --> 00:17:54,110 هذا الأسبوع مجموعة المشكلة، على المشي من خلال بعض 441 00:17:54,110 --> 00:17:55,820 المفاهيمي المواد من المحاضرة. 442 00:17:55,820 --> 00:17:57,480 وهذا كل ما في المجموعة المشكلة الحالية. 443 00:17:57,480 --> 00:18:00,010 وسنقوم أيضا الغوص في بعض التدريب العملي على الأنشطة، وأحيانا 444 00:18:00,010 --> 00:18:02,190 سوف تكون هناك حاجة منها لتقديمها، وأحيانا من 445 00:18:02,190 --> 00:18:02,830 والتي سوف لا. 446 00:18:02,830 --> 00:18:04,630 على سبيل المثال، هذا الأسبوع الأول، وكنت يعني انهم فقط باعتبارها 447 00:18:04,630 --> 00:18:05,780 الاحماء ممارسة الرياضة. 448 00:18:05,780 --> 00:18:07,800 وسوف تجد أن هذه المشاكل هي في الواقع تماما. 449 00:18:07,800 --> 00:18:10,220 كنت من المفترض أن تكون صغيرة إلى حد ما، ولكن ليس بالضرورة 450 00:18:10,220 --> 00:18:13,100 برامج تافهة في الكتابة، التي ليست بالضرورة 451 00:18:13,100 --> 00:18:16,230 جيد الفرص المثيرة في حد ذاتها ولكنها ل 452 00:18:16,230 --> 00:18:19,620 ممارسة مع بناء الجملة، مع وظائف جديدة، في راحة من 453 00:18:19,620 --> 00:18:21,900 القسم حيث لديك عدد قليل من زملائك وتقديم 454 00:18:21,900 --> 00:18:22,870 كذلك TF الخاص بك. 455 00:18:22,870 --> 00:18:26,210 >> وماذا سنفعل مع مرور الوقت هو استخدام أداة تسمى CS50 المسافات، 456 00:18:26,210 --> 00:18:28,940 حيث بدلا من مجرد استخدام الأجهزة CS50، فسوف 457 00:18:28,940 --> 00:18:32,450 بدلا من الذهاب إلى صفحة ويب في مستعرض، حيث عليك أن تكون قادرا 458 00:18:32,450 --> 00:18:35,610 لكتابة التعليمات البرمجية في إطار مستعرض خلال الباب. 459 00:18:35,610 --> 00:18:38,240 ثم إذا كنت تختار في، يمكن زملائك التدريس ثم عرض 460 00:18:38,240 --> 00:18:40,980 كل ما هو كنت تكتب على الشاشة في المتصفح 461 00:18:40,980 --> 00:18:43,930 نافذة حتى في وسط الصف، سواء مجهول أو 462 00:18:43,930 --> 00:18:47,250 علنا، بحيث أنه غير قادر على المشي بعد ذلك من خلال مع 463 00:18:47,250 --> 00:18:50,080 زملائك ما فعلتم حسنا، ماذا يمكنك أن تفعل جيدا. 464 00:18:50,080 --> 00:18:52,750 ومرة أخرى، يمكن أن تطمئن كل هذا لطيف مجهولة المصدر. 465 00:18:52,750 --> 00:18:54,410 ولكن سوف يكون فرصة لطيفة لأكثر من ذلك بكثير 466 00:18:54,410 --> 00:18:56,810 التفاعل من شيء من هذا القبيل يسمح محاضرة. 467 00:18:56,810 --> 00:18:58,910 >> في غضون ذلك، سيكون لدينا هذه الأمور تسمى سوبر 468 00:18:58,910 --> 00:19:01,610 أقسام، والتي هي اختيارية ولكنها مفتوحة للجميع في 469 00:19:01,610 --> 00:19:04,030 الطبقة، بحيث يمكنك القيام بذلك بشكل جماعي أكثر لل 470 00:19:04,030 --> 00:19:05,190 تعيين مشكلة واحدة. 471 00:19:05,190 --> 00:19:06,010 وهنا الجدول الزمني. 472 00:19:06,010 --> 00:19:08,870 تم نشر هذا أيضا على الصفحة الرئيسية في cs50.net. 473 00:19:08,870 --> 00:19:10,850 لاحظت أن هناك سوف يكون القراصنة محددة 474 00:19:10,850 --> 00:19:12,430 1 غدا بعد الظهر. 475 00:19:12,430 --> 00:19:15,460 وسوف نقوم الفيلم واحدا اليوم وغدا واحدة وبنشر هذه 476 00:19:15,460 --> 00:19:16,720 على الانترنت في غضون 24 ساعة. 477 00:19:16,720 --> 00:19:19,370 حتى إذا كنت لا يمكن أن تجعل أي من هذه الأوقات، لا داعي للقلق. 478 00:19:19,370 --> 00:19:22,720 ومرة أخرى، والجدول الزمني غير متواجد حاليا في cs50.net. 479 00:19:22,720 --> 00:19:25,350 >> من حيث تقطيع نفسه، كان ينبغي أن حصلت لك 480 00:19:25,350 --> 00:19:28,520 إرسال تعليمات لك أن تذهب إلى الصفحة الرئيسية للدورة لإيجاد 481 00:19:28,520 --> 00:19:29,610 من القسم الخاص بك. 482 00:19:29,610 --> 00:19:32,890 إذا كانت الحياة قد تغيرت وتحتاج إلى تغيير القسم الخاص بك، 483 00:19:32,890 --> 00:19:33,560 لا مشكلة. 484 00:19:33,560 --> 00:19:37,900 العودة إلى هذا العنوان نفسه، cs50.net/section، المفرد، 485 00:19:37,900 --> 00:19:40,090 وعليك ملء النموذج مماثلة بحيث يمكنك 486 00:19:40,090 --> 00:19:41,260 ثم يقدم لنا تفضيلاتك. 487 00:19:41,260 --> 00:19:43,360 وسنتابع مع نهاية الأسبوع، كما أن ما في وسعنا 488 00:19:43,360 --> 00:19:44,240 استيعاب. 489 00:19:44,240 --> 00:19:49,530 في الأسبوع الماضي، أن أذكر اقترحنا استخدام CS50 ناقش، 490 00:19:49,530 --> 00:19:51,370 في سياق أداة المناقشة، في المحاضرة. 491 00:19:51,370 --> 00:19:53,680 لذلك كان علينا أن 40 سؤالا وطلب و 492 00:19:53,680 --> 00:19:54,720 أجاب خلال المحاضرة. 493 00:19:54,720 --> 00:19:56,280 هكذا بدا الأمر للعمل بشكل جيد، لذلك سوف نواصل 494 00:19:56,280 --> 00:19:57,180 محاولة للقيام بذلك. 495 00:19:57,180 --> 00:19:59,600 إذا، خلال المحاضرة، كنت لا تشعر بالراحة فقط تربية 496 00:19:59,600 --> 00:20:00,780 يدك، لا مشكلة. 497 00:20:00,780 --> 00:20:04,640 انتقل إلى cs50.net/discuss، بعد هناك، واحدة من تعليمنا 498 00:20:04,640 --> 00:20:07,270 سوف الزملاء إما إلكترونيا أو الإجابة عليه من رفع 499 00:20:07,270 --> 00:20:10,620 ومن ناحية نيابة عنك مجهول أن يطلب، تبعا 500 00:20:10,620 --> 00:20:12,470 على طبيعة المسألة. 501 00:20:12,470 --> 00:20:15,000 ومن حيث ردود الفعل، وسوف تكون عادة psets 502 00:20:15,000 --> 00:20:16,760 عاد في غضون أسبوع. 503 00:20:16,760 --> 00:20:19,080 لأنه يأخذ بعض الوقت لأقسام لتحقيق 504 00:20:19,080 --> 00:20:22,430 التوازن، فإن pset الأولى، 0 و 1، يكون قليلا 505 00:20:22,430 --> 00:20:24,130 كما تأخر تهدأ الأمور. 506 00:20:24,130 --> 00:20:27,130 ولكن لا تنزعج لذلك في الأسابيع المقبلة. 507 00:20:27,130 --> 00:20:29,750 >> كل الحق، لذلك اسمحوا لي أن أطرح على بلدي خطيرة 508 00:20:29,750 --> 00:20:31,040 صوت لمجرد لحظة. 509 00:20:31,040 --> 00:20:32,690 لذلك هذا هو الواقع للاهتمام أن يكون المناخ 510 00:20:32,690 --> 00:20:35,210 بعد هذه المناقشة، مع ما كل الأشياء الأخرى 511 00:20:35,210 --> 00:20:37,310 يجري على الحرم الجامعي بها ذات الصلة. 512 00:20:37,310 --> 00:20:40,220 ولكن بالتأكيد CS50 تمت زيارتها تاريخها من هذا خاصة 513 00:20:40,220 --> 00:20:43,360 الموضوع، بقدر ما في كل عام، وهذا بالطبع، بالنسبة للعديد من 514 00:20:43,360 --> 00:20:46,910 سنوات، لوحات الإعلان ما يقرب من 3٪ من الدرجة. 515 00:20:46,910 --> 00:20:51,620 هذه آخر سنة 2011، CS50 الإعلان، واستقل 35 طالبا. 516 00:20:51,620 --> 00:20:54,120 هذه ليست، كما أعتقد، بسبب عدم وضوح. 517 00:20:54,120 --> 00:20:56,760 ندرك أن المنهج في الدورة، وهناك صفحة من 518 00:20:56,760 --> 00:20:59,020 بيان يشرح فيها الخطوط. 519 00:20:59,020 --> 00:21:01,350 ويتكرر ذلك البيان نفسه على كل واحد من 520 00:21:01,350 --> 00:21:03,070 المشكلة يضع على صفحة واحدة. 521 00:21:03,070 --> 00:21:05,760 >> لذلك أنا أذكر هذا اليوم فقط حقا لجعل 522 00:21:05,760 --> 00:21:07,030 وإذ تضع في اعتبارها هذا الناس. 523 00:21:07,030 --> 00:21:08,080 ولقد حاولنا أشياء مختلفة. 524 00:21:08,080 --> 00:21:10,630 وعلى ما اعتقد اننا سنفعل اليوم تأخذ فقط لحظة ل 525 00:21:10,630 --> 00:21:13,830 ننظر في الواقع في بعض الحالات السابقة التي ظهرت. 526 00:21:13,830 --> 00:21:16,160 بدلا من إبقاء هذه الأسرار القذرة اقل، في الواقع 527 00:21:16,160 --> 00:21:19,170 نشير إلى ما قد قمت به و الطلاب كيف أننا الكشف عن 528 00:21:19,170 --> 00:21:21,630 وذلك حقا ما هو الدافع الشامل لل 529 00:21:21,630 --> 00:21:23,950 حتى بعد هذه المحادثة. 530 00:21:23,950 --> 00:21:27,060 حتى مع ذلك، فإن الخط هو أساسا هذا - 531 00:21:27,060 --> 00:21:29,200 في المنهج، فنحن نرحب بك، وتشجع لكم، ل 532 00:21:29,200 --> 00:21:30,210 الحديث مع زملاء الدراسة. 533 00:21:30,210 --> 00:21:31,910 هذا هو الغرض الأساسي من وجود هذه التعاونية 534 00:21:31,910 --> 00:21:34,470 ساعات العمل في أننبرغ وتشجيع الناس لل 535 00:21:34,470 --> 00:21:35,755 المشروع النهائي للعمل معا. 536 00:21:35,755 --> 00:21:38,590 ولكن ويوجه السطر عند يحين وقت الكتابة فعلا 537 00:21:38,590 --> 00:21:39,790 لديك الحل النهائي. 538 00:21:39,790 --> 00:21:42,590 يتحدث باللغة الإنجليزية، ودفع غرامة تماما، متحدثا في رمز زائف، 539 00:21:42,590 --> 00:21:43,400 غرامة تماما. 540 00:21:43,400 --> 00:21:46,340 البريد الإلكتروني الخاص بك زميل pset، والسماح لهم نظرة على 541 00:21:46,340 --> 00:21:48,610 الشاشة كما أيدي تواصل الكتابة، 542 00:21:48,610 --> 00:21:50,110 على الخط أيضا. 543 00:21:50,110 --> 00:21:52,250 لا ننظر إلى المنهج لخطوط خاصة. 544 00:21:52,250 --> 00:21:55,850 >> ولكن فقط لرسم صورة لكيفية هذا هو للأسف 545 00:21:55,850 --> 00:21:58,370 الواقع، ندرك أن هناك العديد من المواقع الى ان هناك 546 00:21:58,370 --> 00:22:01,490 لها حلول من هذه الفئة وفئات أخرى كثيرة. 547 00:22:01,490 --> 00:22:04,940 حقيقة أن كنت أو نحو 3٪ من تعلم أن هذا موجود 548 00:22:04,940 --> 00:22:07,240 يعني أننا نعلم أن هذا موجود. 549 00:22:07,240 --> 00:22:09,340 حقيقة أن هناك العديد من المواقع مثل هذا المكان الذي 550 00:22:09,340 --> 00:22:11,540 يمكن دفع مبلغ من المال للقيام بالفعل مجموعات مشكلتك - وهذا كان 551 00:22:11,540 --> 00:22:13,450 حالة الفعلية التي خرجت العام الماضي. 552 00:22:13,450 --> 00:22:15,790 هذا هو موقع على الانترنت يسمى odesk.com. 553 00:22:15,790 --> 00:22:20,090 وكان تيم اسم الشخص الذي كان هنا نشرها على 554 00:22:20,090 --> 00:22:24,580 طلب هذا الموقع وشخص للقيام pset له 7 في 555 00:22:24,580 --> 00:22:25,570 هذه الحالة بالذات. 556 00:22:25,570 --> 00:22:28,350 حسنا، odesk.com جدا، وقادر على جوجل، ونحن أيضا 557 00:22:28,350 --> 00:22:30,310 جيدة جدا في غوغلينغ. 558 00:22:30,310 --> 00:22:32,360 هنا، أيضا، هناك مواقع - وهذا واحد من بدلا 559 00:22:32,360 --> 00:22:34,234 الفظيعة، بصراحة. 560 00:22:34,234 --> 00:22:38,050 [ضحك] 561 00:22:38,050 --> 00:22:39,610 DAVID J. مالان: الطريف عن هذا الموقع هو إذا 562 00:22:39,610 --> 00:22:41,970 تقرأ عن الصفحة، يتحدثون عن الشركات الخاصة 563 00:22:41,970 --> 00:22:44,390 الثقافة وكيف هو خدمة العملاء على رقم واحد 564 00:22:44,390 --> 00:22:46,190 الأولوية، للتأكد من أن المهام الخاصة بك الحصول على 565 00:22:46,190 --> 00:22:47,890 تحولت في الوقت المحدد. 566 00:22:47,890 --> 00:22:50,580 >> ولكن بكل جدية، ومرة ​​أخرى، فإن حقيقة أن هذه المواقع 567 00:22:50,580 --> 00:22:52,910 موجودة، ندرك أننا أيضا ندرك 568 00:22:52,910 --> 00:22:53,730 هذه الأنواع من المواقع. 569 00:22:53,730 --> 00:22:55,890 واعطيكم فكرة عما يشكل هذا عموما 570 00:22:55,890 --> 00:22:58,570 يأخذ، ونحن عموما لم يكن لديك فضائح كبيرة حيث الناس 571 00:22:58,570 --> 00:23:01,080 وتتعاون على أي نوع من نطاق واسع، وإنما 572 00:23:01,080 --> 00:23:04,540 انها هذه اللحظات وقت متأخر من الليل من الضعف، حيث لديك حتى 573 00:23:04,540 --> 00:23:07,550 الكثير لتفعله، انها 4:00، كنت منهكة لك، وأنت 574 00:23:07,550 --> 00:23:09,770 اعتقد لنفسك، حسنا، اسمحوا لي أن مجرد إلقاء نظرة على بلدي 575 00:23:09,770 --> 00:23:11,770 الحجرة أو رمز صديقي أو ما شابه ذلك. 576 00:23:11,770 --> 00:23:14,800 وتشمل مظاهر هذا للأسف طالب 577 00:23:14,800 --> 00:23:17,640 A شيء من هذا القبيل وتقديم الطالب تقديم B 578 00:23:17,640 --> 00:23:20,370 شيء من هذا القبيل، والتي بالتأكيد، في كمبيوتر 579 00:23:20,370 --> 00:23:23,830 علوم الصف، هو ملحوظ من السهل للعلماء الكمبيوتر 580 00:23:23,830 --> 00:23:25,690 للكشف عن البرمجيات مع. 581 00:23:25,690 --> 00:23:28,410 هذا هو آخر نموذج المشتركة، حيث كنت نوع من 582 00:23:28,410 --> 00:23:31,010 تعمل جنبا إلى جنب مع شخص ما، ربما في الحديث 583 00:23:31,010 --> 00:23:32,360 الإنجليزية، على ما يرام، شبة الكود. 584 00:23:32,360 --> 00:23:35,080 ولكن بعد ذلك يأتي الوقت لتقديم الواقع، وعلى psets 585 00:23:35,080 --> 00:23:37,910 مجرد الحصول على تبادل عبر البريد الإلكتروني أو دروببوإكس أو ما شابه ذلك. 586 00:23:37,910 --> 00:23:41,120 ولكن في محاولة لجعله أقل وضوحا أن هذا هو 587 00:23:41,120 --> 00:23:44,830 ما حدث، ثم وهذا هو ما تقدم. 588 00:23:44,830 --> 00:23:47,880 وهذا أيضا لا يصل رحلة مكتوبة جيدا قطعة من 589 00:23:47,880 --> 00:23:50,360 البرمجيات مثل لدينا للكشف عن الحقيقة 590 00:23:50,360 --> 00:23:51,280 هذه الأنواع من الأشياء. 591 00:23:51,280 --> 00:23:53,760 وبالفعل ما نقوم به هو برنامج التشغيل الذي يقارن كل من 592 00:23:53,760 --> 00:23:55,540 هذا العام المقدمة ضد كل من في العام الماضي 593 00:23:55,540 --> 00:23:57,380 التقارير، ضد كل شيء وجدنا على 594 00:23:57,380 --> 00:24:00,060 الإنترنت، ضد كل موقع العمل هناك. 595 00:24:00,060 --> 00:24:01,710 كل شيء الآلي للغاية. 596 00:24:01,710 --> 00:24:05,665 وهكذا نفعل ذلك حقا في الإنصاف كبيرة على 97٪ من 597 00:24:05,665 --> 00:24:07,760 تعمل حقا حميرهم قبالة في هذا وأخرى في 598 00:24:07,760 --> 00:24:11,530 الطبقات، ووضع في كل ذلك الجهد حتى أن العمل 599 00:24:11,530 --> 00:24:13,030 في نهاية المطاف هو ما تقدمه بنفسها. 600 00:24:13,030 --> 00:24:14,220 ويمكنني أن تستمر لالأعمار. 601 00:24:14,220 --> 00:24:16,030 >> هذه ليست سوى عدد قليل من الحالات في العام الماضي. 602 00:24:16,030 --> 00:24:19,350 قدم عدد قليل من الطلاب لهذه الملفات مماثل pset 2، 603 00:24:19,350 --> 00:24:22,460 pset 3، pset 4، pset 5، pset 6، pset 9. 604 00:24:22,460 --> 00:24:26,360 في هذه الحالة، كان هذا الاختبار 0 و في العام الماضي، حيث اثنين 605 00:24:26,360 --> 00:24:29,570 قدم الطلاب مطابق هذه الجملة من بين العديد من 606 00:24:29,570 --> 00:24:32,210 الآخرين "، وطلب من نوع -" نقطة، نقطة، نقطة. 607 00:24:32,210 --> 00:24:34,530 وحتى مع ذلك في فئة (600) لم نكتشف هذا 608 00:24:34,530 --> 00:24:36,310 على قدم مسابقات. 609 00:24:36,310 --> 00:24:39,080 لذلك باختصار، هذا - بصراحة، أنا أكره وجود هذا النوع من 610 00:24:39,080 --> 00:24:41,300 المحادثة - ولكن هذا هو حقا جهد متعمد 611 00:24:41,300 --> 00:24:43,540 هذا العام في محاولة لخفض هذا العدد. 612 00:24:43,540 --> 00:24:45,650 لأنه حتى وإن نقول هذه الأنواع من الأشياء كل 613 00:24:45,650 --> 00:24:48,100 العام، وأعتقد أن واقع بعد أن سكن عليه لعدد قليل 614 00:24:48,100 --> 00:24:50,800 المزيد من الثواني من المعتاد والواقع مشيرا للتو 615 00:24:50,800 --> 00:24:53,600 أن ما قد يبدو مثل إيه، وليس مثل هذه الصفقة الكبيرة، على الأقل 616 00:24:53,600 --> 00:24:56,390 بذاكرتي إلى هذه اللحظة بالذات، سواء في الإنصاف لل 617 00:24:56,390 --> 00:25:00,100 لنفسك وزملائك هنا. 618 00:25:00,100 --> 00:25:02,480 إذا كان الأمر كذلك لديك أي أسئلة من أي وقت مضى إلى حيث خط 619 00:25:02,480 --> 00:25:04,290 هو، يرجى التوصل للتو بالنسبة لي شخصيا. 620 00:25:04,290 --> 00:25:07,190 ولكن كان الجواب دائما، وشدد تماما على 621 00:25:07,190 --> 00:25:09,090 آخر دقيقة، نقدا في يوم واحد في وقت متأخر. 622 00:25:09,090 --> 00:25:11,080 أو إذا انها مسألة عدم وجود أي يوما في وقت متأخر، 623 00:25:11,080 --> 00:25:12,900 بصراحة، البريد الالكتروني لي شخصيا. 624 00:25:12,900 --> 00:25:14,110 سنقوم معرفة شيء ما. 625 00:25:14,110 --> 00:25:17,480 من فضلك لا تضع وقتك هنا في جامعة هارفارد للخطر. 626 00:25:17,480 --> 00:25:18,570 >> الآن، أعتقد أننا يجب التخفيف من الحالة المزاجية، لذلك أنا 627 00:25:18,570 --> 00:25:20,264 كما شملت هذه الشريحة التالية. 628 00:25:20,264 --> 00:25:22,770 [ضحك] 629 00:25:22,770 --> 00:25:23,630 DAVID J. مالان: هذا الموقع كان كبيرا. 630 00:25:23,630 --> 00:25:24,820 أنا فعلا حصلت قليلا يصرف. 631 00:25:24,820 --> 00:25:26,330 هناك هذا واحد. 632 00:25:26,330 --> 00:25:29,590 وكان هذا واحد ثم مدهشة. 633 00:25:29,590 --> 00:25:35,190 حسنا، أعتقد ذلك لأنه في ساعة متأخرة من ليلة هريرة عند اتخاذ 634 00:25:35,190 --> 00:25:36,040 تلك القرارات. 635 00:25:36,040 --> 00:25:40,110 كل الحق، لذا فإن العودة إلى الأشياء أكثر متعة وأقل خطورة، مثل 636 00:25:40,110 --> 00:25:40,780 الظروف. 637 00:25:40,780 --> 00:25:43,900 >> كل الحق، وتحدث بإيجاز عن ذلك نحن هذه. 638 00:25:43,900 --> 00:25:46,080 هذا هو الشيء الذي ربما مألوفة تماما عن 639 00:25:46,080 --> 00:25:47,260 عالم الصفر. 640 00:25:47,260 --> 00:25:49,860 وفي العالم من الصفر، لدينا هذه الحاجة في بعض الأحيان إلى 641 00:25:49,860 --> 00:25:51,110 الذهاب جعل الشوك في الطريق. 642 00:25:51,110 --> 00:25:54,840 القيام إما هذا أو ذاك أو هذا الشيء الآخر هنا. 643 00:25:54,840 --> 00:25:58,990 وعندما نريد القيام بذلك، يمكننا استخدام، في C الآن، هذا إذا 644 00:25:58,990 --> 00:26:00,860 بناء آخر. 645 00:26:00,860 --> 00:26:06,420 ثم لدينا هنا التعبيرات المنطقية. 646 00:26:06,420 --> 00:26:09,260 على سبيل المثال، التعبيرات المنطقية هنا، يمكننا OR 647 00:26:09,260 --> 00:26:12,260 بعضهم البعض، بمعنى أن لدينا هذا الشرط OR 648 00:26:12,260 --> 00:26:13,200 هذا الشرط. 649 00:26:13,200 --> 00:26:15,100 ويمكننا معا، بمعنى أننا نريد أن 650 00:26:15,100 --> 00:26:17,710 تحقق هذا الشرط والشرط الذي. 651 00:26:17,710 --> 00:26:22,440 وهنا لدينا الآن بيان التبديل، وهو ليس كذلك 652 00:26:22,440 --> 00:26:26,040 بناء جملة مماثلة لتلك الأنواع من الظروف، ولكنه 653 00:26:26,040 --> 00:26:30,160 يتيح لنا أن نفعل ما يعادل إذا، الا اذا، الا اذا، آخر 654 00:26:30,160 --> 00:26:34,990 إذا، وما شابه ذلك من تعداد ببساطة كل حالة على حدة 655 00:26:34,990 --> 00:26:36,670 كل حالة على حدة من قبل. 656 00:26:36,670 --> 00:26:38,370 حتى رأينا تلك آخر مرة. 657 00:26:38,370 --> 00:26:40,430 وبدأت بعد ذلك نحن تمس أشياء مثل الحلقات. 658 00:26:40,430 --> 00:26:42,070 رأينا واحد من هذه فقط قبل لحظة. 659 00:26:42,070 --> 00:26:44,180 ولكن هناك حلقات أخرى هذه التركيبات. 660 00:26:44,180 --> 00:26:46,370 >> على سبيل المثال، هذا واحد هنا. 661 00:26:46,370 --> 00:26:50,140 ذلك في حين أن (شرط)، هل هذا الشيء مرارا وتكرارا. 662 00:26:50,140 --> 00:26:53,070 بشكل أساسي، ما يبدو أن يكون مختلفا بين هذه 663 00:26:53,070 --> 00:26:55,760 لحلقة وهذه الحلقة بينما هنا؟ 664 00:27:00,810 --> 00:27:05,045 هذه لحلقة وحلقة هذا الوقت. 665 00:27:05,045 --> 00:27:07,840 نعم؟ 666 00:27:07,840 --> 00:27:08,800 ما هذا؟ 667 00:27:08,800 --> 00:27:10,050 AUDIENCE: [غير مسموع]. 668 00:27:14,632 --> 00:27:15,120 DAVID J. مالان: جيد. 669 00:27:15,120 --> 00:27:17,130 ذلك في حين أنه في حالة لحلقة، وهناك بوضوح 670 00:27:17,130 --> 00:27:17,940 أكثر بناء الجملة. 671 00:27:17,940 --> 00:27:20,560 هناك هذا التهيئة، وهناك هذا التحديث. 672 00:27:20,560 --> 00:27:23,820 في حلقة من الوقت، هناك فقط هذا الشرط. 673 00:27:23,820 --> 00:27:26,630 لذلك يبدو أنه من انخفاضها قليلا مقابل ل 674 00:27:26,630 --> 00:27:28,770 حلقة، وهو ما يعني إذا كنا نريد أن يكون المتغيرات ونحن نريد 675 00:27:28,770 --> 00:27:30,800 أن يكون incrementation، لدينا فعلا 676 00:27:30,800 --> 00:27:32,500 القيام بذلك الشيء أنفسنا. 677 00:27:32,500 --> 00:27:34,420 >> لذلك اسمحوا لي المضي قدما وفتح gedit. 678 00:27:34,420 --> 00:27:36,320 اسمحوا لي أن التحول إلى الجهاز. 679 00:27:36,320 --> 00:27:38,110 ودعونا نفعل مجرد مثال سريع القليل الذي 680 00:27:38,110 --> 00:27:40,550 يميز واحدة من هذه من جهة أخرى. 681 00:27:40,550 --> 00:27:42,490 وفي الجزء الخلفي من ذهني هنا، أود أن أقول شيئا واحدا. 682 00:27:42,490 --> 00:27:44,120 ذكرت على وجه التحديد اسم تيم. 683 00:27:44,120 --> 00:27:47,740 كان تيم فعلا شخص أن الطالب حاولت أن تجد للقيام 684 00:27:47,740 --> 00:27:48,680 من الواجبات المنزلية بالنسبة لهم. 685 00:27:48,680 --> 00:27:51,280 لم يكن لدينا في هذا القسم تيم معين. 686 00:27:51,280 --> 00:27:53,690 كان يدرك ذلك، خشية أن يكشف الطالب، وليس الطلاب. 687 00:27:53,690 --> 00:27:55,720 كان شخص عشوائي على شبكة الإنترنت القيام بأشياء 688 00:27:55,720 --> 00:27:57,180 من العام الماضي وكيل. 689 00:27:57,180 --> 00:27:58,670 لذا نجد ذلك أيضا. 690 00:27:58,670 --> 00:28:00,630 حتى في هذه الحالة هنا، اسمحوا لي أن المضي قدما في 691 00:28:00,630 --> 00:28:02,810 فتح ملف جديد. 692 00:28:02,810 --> 00:28:04,800 ملف، جديد. 693 00:28:04,800 --> 00:28:06,050 هذا يعطيني علامة التبويب هنا. 694 00:28:06,050 --> 00:28:09,940 اسمحوا لي أن تمضي قدما واحفظ loop.c. 695 00:28:09,940 --> 00:28:11,810 اسمحوا لي ان اذهب وانقر فوق حفظ. 696 00:28:11,810 --> 00:28:15,340 ثم إلى هنا، دعونا نمضي قدما والبدء في الكتابة 697 00:28:15,340 --> 00:28:16,605 # تشمل . 698 00:28:19,116 --> 00:28:20,520 اسمحوا لي تكبير. 699 00:28:20,520 --> 00:28:23,410 الآن سوف نقوم به الباحث الرئيسي (الفراغ). 700 00:28:23,410 --> 00:28:30,020 والآن اسمحوا لي نمضي قدما ونفعل ل (كثافة العمليات ط = 0، وأنا < 701 00:28:30,020 --> 00:28:33,480 أوه، 10؛ أنا + +). 702 00:28:33,480 --> 00:28:36,620 والآن انا ذاهب للذهاب قدما ونفعل طباعة النجم الذي أنا 703 00:28:36,620 --> 00:28:37,890 فعلوا ذلك. 704 00:28:37,890 --> 00:28:39,390 ثم في نهاية هذا البرنامج، ونحن في طريقنا لمجرد 705 00:28:39,390 --> 00:28:41,130 طباعة سطر جديد، فقط حتى أن بلدي موجه 706 00:28:41,130 --> 00:28:42,470 لا تبدو جميع فوضوي. 707 00:28:42,470 --> 00:28:45,170 العودة 0. 708 00:28:45,170 --> 00:28:47,610 يبدو صحيحة من حيث التركيب؟ 709 00:28:47,610 --> 00:28:48,040 حتى الآن. 710 00:28:48,040 --> 00:28:48,560 لذلك دعونا نرى. 711 00:28:48,560 --> 00:28:51,290 >> لذلك اسمحوا لي التصغير، انتقل إلى إطار المحطة الطرفية بلدي. 712 00:28:51,290 --> 00:28:54,570 واسمحوا لي أن تمضي قدما وتشغيل حلقة، لأنني يسمى هذا 713 00:28:54,570 --> 00:28:55,690 الشيء loop.c. 714 00:28:55,690 --> 00:28:56,780 لذلك حلقة. 715 00:28:56,780 --> 00:28:57,840 يبدو أن تجمع OK. 716 00:28:57,840 --> 00:29:00,210 اسمحوا لي أن تشغيل حلقة، وأدخل الآن. 717 00:29:00,210 --> 00:29:01,820 ويبدو أنها قد طبعت 10 نجوم. 718 00:29:01,820 --> 00:29:03,780 لذلك دعونا تحويل هذا فقط لحلقة حين ونرى ما 719 00:29:03,780 --> 00:29:05,220 أنواع من الأمور التي يتعثر. 720 00:29:05,220 --> 00:29:11,290 وذلك بدلا من هذا، اسمحوا لي ان اذهب من هنا ويقول بينما أنا هو 721 00:29:11,290 --> 00:29:12,760 أقل من 10 - 722 00:29:12,760 --> 00:29:14,910 اسمحوا لي أن يتخلص من لحلقة. 723 00:29:14,910 --> 00:29:17,170 OK، لذلك لدينا بضع مشاكل بالفعل. 724 00:29:17,170 --> 00:29:21,110 وبالتالي فإن الشرط هو نفسه، ولكن أنا في عداد المفقودين من الواضح أن 725 00:29:21,110 --> 00:29:21,680 التهيئة. 726 00:29:21,680 --> 00:29:23,840 أنا في عداد المفقودين في incrementation. 727 00:29:23,840 --> 00:29:28,020 ذلك ما ينبغي أن المترجم المرجح ان اقول لي عندما أحاول أن 728 00:29:28,020 --> 00:29:29,170 ترجمة هذا البرنامج؟ 729 00:29:29,170 --> 00:29:29,666 نعم؟ 730 00:29:29,666 --> 00:29:31,154 AUDIENCE: [غير مسموع]. 731 00:29:31,154 --> 00:29:31,650 >> DAVID J. مالان: جيد. 732 00:29:31,650 --> 00:29:34,180 لذلك يحدث أن أقول شيئا مثل غير معلنة - في هذا 733 00:29:34,180 --> 00:29:35,280 الحالة، متغير ط. 734 00:29:35,280 --> 00:29:37,980 وبالفعل، واستخدام معرف غير معروفة ط. 735 00:29:37,980 --> 00:29:40,960 وحتى هذا هو على النقيض مع لغات مثل PHP و 736 00:29:40,960 --> 00:29:43,120 بيثون وروبي، والتي قد تكون بعض مألوفة، 737 00:29:43,120 --> 00:29:44,820 حيث يمكنك مجرد نوع من البدء في استخدام المتغيرات 738 00:29:44,820 --> 00:29:47,420 طوعا أو كرها وليس لديها ما يدعو للقلق معلنا لهم 739 00:29:47,420 --> 00:29:48,560 دائما صراحة. 740 00:29:48,560 --> 00:29:51,770 في C وبلغات مثل جافا و C + +، عليك أن تكون 741 00:29:51,770 --> 00:29:53,020 سوبر صريحة. 742 00:29:53,020 --> 00:29:55,760 وإذا كنت ترغب في متغير يسمى الأول، عليك أن تخبرني 743 00:29:55,760 --> 00:29:57,360 أي نوع من متغير هو عليه. 744 00:29:57,360 --> 00:29:59,360 لذلك نحن ستكون لدينا لإصلاح هذه على النحو التالي. 745 00:29:59,360 --> 00:30:05,510 أنا ذاهب لدينا للذهاب هنا واكتب كثافة العمليات ط، وبالتالي، 746 00:30:05,510 --> 00:30:07,860 لقد أعلنت متغير يسمى ط. 747 00:30:07,860 --> 00:30:09,180 الآن، لقد تخطي خطوة واحدة. 748 00:30:09,180 --> 00:30:11,340 لقد الواضح أنه لم يتم تهيئة، ولكن انظر دعونا إذا كان ذلك في 749 00:30:11,340 --> 00:30:13,650 توقف ضجيج الأقل يجعل الشكوى. 750 00:30:13,650 --> 00:30:15,770 لذلك اسمحوا لي إعادة صنع هذا البرنامج. 751 00:30:15,770 --> 00:30:16,770 >> حسنا، الآن انها تشكو فقط 752 00:30:16,770 --> 00:30:17,870 لسبب مختلف. 753 00:30:17,870 --> 00:30:21,130 "متغير غير مهيأة" أنا "عند استخدامها هنا." كل الحق، لذلك 754 00:30:21,130 --> 00:30:22,340 وهذا صريح جدا. 755 00:30:22,340 --> 00:30:25,510 تهيئة يعني فقط تعيينها إلى قيمة متساوية. 756 00:30:25,510 --> 00:30:30,820 ولقد فعلت ذلك لا، لذلك اسمحوا لي أن أحاول يساوي 0. 757 00:30:30,820 --> 00:30:35,030 الآن دعونا نحاول مرة أخرى وهذا ضجيج إعادة تشغيل. 758 00:30:35,030 --> 00:30:36,140 جمعت هذه المرة. 759 00:30:36,140 --> 00:30:37,210 وأنا على وشك لتشغيله. 760 00:30:37,210 --> 00:30:43,120 لكن كبير حلقة لا نهائية من العمر، وذلك لأن لقد فعلت 761 00:30:43,120 --> 00:30:45,530 التهيئة، لقد فعلت الشرط، ولكن لقد فعلت أبدا 762 00:30:45,530 --> 00:30:47,030 أي نوع من incrementation. 763 00:30:47,030 --> 00:30:48,780 فكيف أفعل incrementation؟ 764 00:30:48,780 --> 00:30:51,170 حسنا، في حلقة من الوقت، بدا الامر وكأننا أنا ستكون لدينا 765 00:30:51,170 --> 00:30:54,180 للقيام بذلك داخل الحلقة، لأن الكثير مثل أول 766 00:30:54,180 --> 00:30:56,570 الأسبوع أمثلة للقيام بنيات حلقات، مثل مع 767 00:30:56,570 --> 00:30:59,040 الجوارب ومع العد الذاتي، كان علينا أن نفعل 768 00:30:59,040 --> 00:31:01,550 شيء في النهاية، أود العودة إلى السطر التالي. 769 00:31:01,550 --> 00:31:05,040 ماذا لو أنا نمضي قدما ونفعل هذا أنا هنا + +؟ 770 00:31:05,040 --> 00:31:06,030 دعونا لا ترجمة حتى هذا. 771 00:31:06,030 --> 00:31:06,890 التقاط لي بالفعل. 772 00:31:06,890 --> 00:31:09,704 ما هو الخطأ هنا؟ 773 00:31:09,704 --> 00:31:10,690 AUDIENCE: [غير مسموع]. 774 00:31:10,690 --> 00:31:11,770 >> DAVID J. مالان: لذلك بالتأكيد ليست الباحث. 775 00:31:11,770 --> 00:31:13,080 انها ط. 776 00:31:13,080 --> 00:31:15,110 والأقواس المتعرجة، مثل قبل، 777 00:31:15,110 --> 00:31:16,800 المسافة البادئة ليست كافية. 778 00:31:16,800 --> 00:31:18,410 حتى الآن لدي هذا بناء. 779 00:31:18,410 --> 00:31:21,780 حتى وأنا أقل من 10، وطباعة نجم، 780 00:31:21,780 --> 00:31:23,220 زيادة بعد ذلك. 781 00:31:23,220 --> 00:31:25,680 والطريقة التي يعمل حلقة بينما هو أن تصل في أقرب وقت لك 782 00:31:25,680 --> 00:31:29,630 السفلي من الحلقة، وهو في هذه الحالة يبدو وكأنه خط 10، 783 00:31:29,630 --> 00:31:32,880 انها سوف نعود إلى السطر 6، وعند هذه النقطة 784 00:31:32,880 --> 00:31:34,400 وسيتم فحص حالة مرة أخرى. 785 00:31:34,400 --> 00:31:37,500 وإذا كنت لا تزال أقل من 10، وسنفعل 8 و خطوط 786 00:31:37,500 --> 00:31:41,250 ثم 9، ثم سنقوم تصل إلى 10، والعودة إلى 6، ومرة ​​أخرى 787 00:31:41,250 --> 00:31:45,580 مرة أخرى، ومرة ​​أخرى ومرة ​​أخرى، طالما أنا أقل من 10. 788 00:31:45,580 --> 00:31:47,860 لذلك دعونا إعادة تشغيل جعل هنا. 789 00:31:47,860 --> 00:31:48,940 >> حسنا، قمنا بتجميع بخير. 790 00:31:48,940 --> 00:31:50,300 اسمحوا لي أن أعد تشغيل الحلقة. 791 00:31:50,300 --> 00:31:52,620 والآن يبدو فعلا للعمل. 792 00:31:52,620 --> 00:31:55,100 حتى هنا إيجابيات وسلبيات؟ 793 00:31:55,100 --> 00:31:58,910 حسنا، حتى الآن هناك في الواقع ليست كاملة من منظمة التحرير الفلسطينية - 794 00:31:58,910 --> 00:31:59,420 لطيف جدا. 795 00:31:59,420 --> 00:32:01,870 حسنا، ذلك كان - آه، ذلك كان مجرد حادث. 796 00:32:01,870 --> 00:32:05,200 كل الحق، لذلك دعونا نعود الى لحلقة. 797 00:32:05,200 --> 00:32:07,530 حتى لحلقات لطيفة لأنهم صريحة فائقة. 798 00:32:07,530 --> 00:32:09,720 وعلى الرغم من انهم عالي الكعب قليلا في الكتابة، فإنه من 799 00:32:09,720 --> 00:32:11,500 قوية جدا، وأنه يسمح لك أن تفعل 800 00:32:11,500 --> 00:32:12,980 أشياء متعددة في وقت واحد. 801 00:32:12,980 --> 00:32:16,240 بينما الحلقات لا يبدو أن لديها كمية كبيرة من القيمة فقط 802 00:32:16,240 --> 00:32:18,500 حتى الآن، لأنه يشعر وكأنه لدينا فقط لبذل المزيد من العمل. 803 00:32:18,500 --> 00:32:20,670 لدينا لوضع التهيئة هنا، في 804 00:32:20,670 --> 00:32:23,480 تحديث إلى هنا، وعلينا أن نتذكر أن تفعل كل ذلك. 805 00:32:23,480 --> 00:32:26,260 لذلك سنرى في الوقت الذي تقدم الحلقات بينما في الواقع 806 00:32:26,260 --> 00:32:29,380 أنفسهم لسياقات مختلفة فقط، بيانات مختلفة 807 00:32:29,380 --> 00:32:33,900 هياكل مثل القوائم والجداول التجزئة، أشياء نصل الى 808 00:32:33,900 --> 00:32:34,970 منتصف الفصل الدراسي. 809 00:32:34,970 --> 00:32:37,900 لكن في الوقت الراهن، ونعرف أن هناك هذا النوع الثالث يعرف باسم افعل 810 00:32:37,900 --> 00:32:38,480 بينما الحلقة. 811 00:32:38,480 --> 00:32:39,540 ولقد رأينا هذا لفترة وجيزة. 812 00:32:39,540 --> 00:32:41,830 وهذا قد يكون من المفيد السوبر مع pset 1. 813 00:32:41,830 --> 00:32:45,570 أي وقت تريد أن تفعل شيئا ثم تحقق مما إذا 814 00:32:45,570 --> 00:32:48,940 تعاونت المستخدم، وإذا لم يفعلوا، أن تفعل ذلك مرة أخرى، وتأليف 815 00:32:48,940 --> 00:32:51,460 في حين يفسح المجال لحلقة هذا النوع من المنطق. 816 00:32:51,460 --> 00:32:55,640 لأنه كما طلب من الأعلى إلى الأسفل يشير إلى هنا، 817 00:32:55,640 --> 00:32:57,750 لا يعني ذلك حرفيا. 818 00:32:57,750 --> 00:32:59,830 والقيام بذلك مرارا وتكرارا، ما قد يمكن أن يكون؟ 819 00:32:59,830 --> 00:33:03,000 ربما يعني GetInt الاتصال أو GetString ثم 820 00:33:03,000 --> 00:33:05,830 التحقق من قيمة GetInt أو GetString ثم الصراخ 821 00:33:05,830 --> 00:33:08,260 في المستخدم إن لم تكن قد تعاونت من قبل ندعوه 822 00:33:08,260 --> 00:33:10,100 مرارا وتكرارا وتكرارا. 823 00:33:10,100 --> 00:33:11,730 حيث كنت تريد أن تفعل شيئا مرة واحدة، 824 00:33:11,730 --> 00:33:13,210 ثم تحقق بعض شرط. 825 00:33:13,210 --> 00:33:14,110 >> لذلك دعونا نحاول ذلك. 826 00:33:14,110 --> 00:33:17,130 اسمحوا لي أن تغيير هذا الواقع الآن وحلقة افعل الوقت. 827 00:33:17,130 --> 00:33:18,830 وانا ذاهب الى المضي قدما والقيام بما يلي. 828 00:33:18,830 --> 00:33:21,830 تفعل ذلك ما يلي. 829 00:33:21,830 --> 00:33:26,870 دعونا نفعل كثافة العمليات ط = GetInt ()، ولكن دعونا نقول أولا المستخدم 830 00:33:26,870 --> 00:33:27,410 ما يجب القيام به. 831 00:33:27,410 --> 00:33:29,050 ذلك قليلا مختلفا هذه المرة. 832 00:33:29,050 --> 00:33:31,270 "اعطني كثافة العمليات". 833 00:33:31,270 --> 00:33:32,910 ولذا فإنني سوف تستخدم printf لذلك. 834 00:33:32,910 --> 00:33:35,740 والآن انا ذاهب للذهاب إلى هنا، وأنا ذاهب للقيام بذلك 835 00:33:35,740 --> 00:33:41,520 بينما أنا هو، دعنا نقول، أكبر من - 836 00:33:41,520 --> 00:33:47,540 دعونا نرى، وأنا هو، دعنا نقول، أي أقل من 0، أو هو أنا 837 00:33:47,540 --> 00:33:48,730 أكبر من 10. 838 00:33:48,730 --> 00:33:51,810 وبعبارة أخرى، أريد رقم من 1 إلى 9، فقط 839 00:33:51,810 --> 00:33:52,720 تعسفية. 840 00:33:52,720 --> 00:33:55,290 حتى أنا باستخدام تعبير منطقي مجتمعة هنا ل 841 00:33:55,290 --> 00:33:59,930 تأكد من أنني أقل من 0 أو أكبر من 10، والتي 842 00:33:59,930 --> 00:34:02,530 الحالة سوف أفعل هذه الحلقة هنا مرة أخرى. 843 00:34:02,530 --> 00:34:04,400 ذلك مرة أخرى، القيام بذلك - 844 00:34:04,400 --> 00:34:08,480 بينما كنت أقل من 0 أو أنا أكبر من 10. 845 00:34:08,480 --> 00:34:11,440 >> حتى الآن دعونا نمضي قدما ونفعل ذلك مرة واحدة لقد فعلت ذلك. 846 00:34:11,440 --> 00:34:13,270 دعونا نفعل مجرد الاختيار التعقل سريعة. 847 00:34:13,270 --> 00:34:18,929 printf ("شكرا، أنا هو د٪"، ط). 848 00:34:18,929 --> 00:34:21,350 لذلك هذا برنامج بسيط يطلب من المستخدم لكثافة العمليات، 849 00:34:21,350 --> 00:34:24,000 يجعل متأكد من أنها في بعض مجموعة من 1 إلى 9 شاملة، 850 00:34:24,000 --> 00:34:26,280 ثم يشكر المستخدم من خلال تذكير لهم ما فقط 851 00:34:26,280 --> 00:34:27,940 كتبته في، تماما كما شيك التعقل قليلا. 852 00:34:27,940 --> 00:34:30,659 ولكن دعونا نرى ما اذا كان هذا يعمل على النحو المنشود. 853 00:34:30,659 --> 00:34:34,533 اسمحوا لي ان اذهب والرأس إلى أسفل هنا إعادة تشغيل جعل حلقة. 854 00:34:34,533 --> 00:34:35,350 هم. 855 00:34:35,350 --> 00:34:38,600 "استخدام معرف غير معروفة 'ط'". هذا غريب. 856 00:34:38,600 --> 00:34:41,509 اعتقد اننا حل ذلك. 857 00:34:45,489 --> 00:34:47,560 نفس الأعراض ولكن شفرة مختلفة. 858 00:34:47,560 --> 00:34:47,899 نعم؟ 859 00:34:47,899 --> 00:34:50,191 AUDIENCE: [غير مسموع] داخل اثنان، علينا أن 860 00:34:50,191 --> 00:34:52,639 [غير مسموع]. 861 00:34:52,639 --> 00:34:53,260 >> DAVID J. مالان: بالضبط. 862 00:34:53,260 --> 00:34:55,989 ولذلك فإن هذا يؤدي بنا إلى الواقع المعروف باسم نطاق الموضوع. 863 00:34:55,989 --> 00:34:59,350 تبين أن C، مرة أخرى، فإنه يأخذ حقا لكم حرفيا. 864 00:34:59,350 --> 00:35:02,970 وإذا كنت تفعل شيئا من هذا القبيل حيث تقوم بتعريفه الباحث 865 00:35:02,970 --> 00:35:06,120 وبعد ذلك تعيين بعض القيمة، ولكن يمكنك أن تفعل ذلك من داخل 866 00:35:06,120 --> 00:35:09,840 زوج من الأقواس المتعرجة، ما يفعله هو أنه C تفترض 867 00:35:09,840 --> 00:35:14,800 نريد فقط تلك المعروفة باسم 32 بت أنا في الوجود داخل 868 00:35:14,800 --> 00:35:18,200 سياق هذه الأقواس المتعرجة، في سياق خطوط 869 00:35:18,200 --> 00:35:22,420 من 6 إلى 9. حتى يتم تعريف الأول، ويتم تعيينه من 870 00:35:22,420 --> 00:35:26,530 القيمة في السطر 8، ولكن بمجرد الحصول على خارج 871 00:35:26,530 --> 00:35:30,270 خط 9 تحت متعرج، وأنا لم يعد في 872 00:35:30,270 --> 00:35:31,910 النطاق، إذا جاز التعبير. 873 00:35:31,910 --> 00:35:35,030 S-C-O-P-E. انها لم تعد في السياق الصحيح. 874 00:35:35,030 --> 00:35:37,940 الآن لذلك ليس هناك ط، لذلك فمن كما لو كان لدينا ولا حتى 875 00:35:37,940 --> 00:35:38,770 أعلن ذلك على الإطلاق. 876 00:35:38,770 --> 00:35:41,520 >> حتى ما هو الإصلاح ثم عن شيء مثل هذا، إذا كان 877 00:35:41,520 --> 00:35:44,300 السبب هو أن يتم تعريف أنا داخل الأقواس المتعرجة، والتي 878 00:35:44,300 --> 00:35:45,120 سيئة على ما يبدو؟ 879 00:35:45,120 --> 00:35:45,410 هنا؟ 880 00:35:45,410 --> 00:35:46,820 AUDIENCE: [غير مسموع]. 881 00:35:46,820 --> 00:35:47,150 DAVID J. مالان: نعم. 882 00:35:47,150 --> 00:35:48,710 حتى نتمكن من تهيئة خارج. 883 00:35:48,710 --> 00:35:53,530 لذلك اسمحوا لي المضي قدما وحذف الأجزاء إعلان بموجبه 884 00:35:53,530 --> 00:35:55,820 I تحديد نوع، واسمحوا لي أن نفعل ذلك هنا. 885 00:35:55,820 --> 00:36:00,220 حتى في السطر 5، تقول الآن "اعطني الباحث". يطلق عليه ط. 886 00:36:00,220 --> 00:36:03,400 تلاحظ في السطر 9، وأنا لا أريد أن أفعل هذا، لأنني 887 00:36:03,400 --> 00:36:04,830 لديك 32 بت. 888 00:36:04,830 --> 00:36:06,140 أنا لا أريد أن أسأل عن جهاز الكمبيوتر 889 00:36:06,140 --> 00:36:07,630 32 بت مختلفة. 890 00:36:07,630 --> 00:36:09,850 أريد أن استخدام هذه نفس 32 بت. 891 00:36:09,850 --> 00:36:13,190 والآن أنا لأنه أعلن في السطر 5، انها لا تزال شرعي 892 00:36:13,190 --> 00:36:16,550 لاستخدامه في السطر 11 والسطر 12. 893 00:36:16,550 --> 00:36:19,310 >> لذلك اسمحوا لي أن أحاول إعادة ترجمة هذا ونرى 894 00:36:19,310 --> 00:36:20,490 إذا توقف عن الصراخ ضجيج. 895 00:36:20,490 --> 00:36:22,380 جعل حلقة. 896 00:36:22,380 --> 00:36:25,470 حتى الآن هو "إعلان ضمني من وظيفة 897 00:36:25,470 --> 00:36:29,880 'GetInt' غير صالح في C99. "ما هذا؟ 898 00:36:29,880 --> 00:36:30,400 نعم؟ 899 00:36:30,400 --> 00:36:32,330 AUDIENCE: [غير مسموع]. 900 00:36:32,330 --> 00:36:32,690 DAVID J. مالان: نعم. 901 00:36:32,690 --> 00:36:35,520 حتى الآن بعد أن أنا باستخدام GetInt الواقع، وهذا ليس شيئا 902 00:36:35,520 --> 00:36:38,190 الذي يأتي فقط مع C. وهذا يأتي من CS50. 903 00:36:38,190 --> 00:36:39,890 لذلك نحن في حاجة الى ذلك هنا. 904 00:36:39,890 --> 00:36:41,450 واسمحوا لي أن أعود إلى أسفل موجه 905 00:36:41,450 --> 00:36:43,500 وهنا إعادة تشغيل بها. 906 00:36:43,500 --> 00:36:44,160 حسنا، في نهاية المطاف. 907 00:36:44,160 --> 00:36:46,270 الآن لقد عقدنا العزم أن الخطأ وغيرها. 908 00:36:46,270 --> 00:36:48,930 اسمحوا لي الآن تشغيل حلقة ونرى ما سيحدث. 909 00:36:48,930 --> 00:36:51,740 "اعطني الباحث". سوف أعطيها 11. 910 00:36:51,740 --> 00:36:53,100 سوف أعطيها -1. 911 00:36:53,100 --> 00:36:54,470 سوف أعطيها فو. 912 00:36:54,470 --> 00:36:56,080 سوف أعطيها 5. 913 00:36:56,080 --> 00:36:57,450 والآن يعمل في الواقع. 914 00:36:57,450 --> 00:36:59,410 ولكن موجه لسبب تغير هنا. 915 00:36:59,410 --> 00:37:02,800 لماذا تقول محاولة واحدة من هذه الأوقات ولكن تعطيني 916 00:37:02,800 --> 00:37:03,920 الباحث الآخر ثلاث مرات؟ 917 00:37:03,920 --> 00:37:05,500 لماذا هو أن سلوك مختلفة؟ 918 00:37:05,500 --> 00:37:06,980 أعطاه سلسلة: الجمهور. 919 00:37:06,980 --> 00:37:07,830 DAVID J. مالان: آسف؟ 920 00:37:07,830 --> 00:37:08,570 AUDIENCE: أنت أعطاه سلسلة. 921 00:37:08,570 --> 00:37:08,990 DAVID J. مالان: نعم. 922 00:37:08,990 --> 00:37:11,450 وقدم لذلك نحن من سلسلة في هذه المحاولة الثالثة، 923 00:37:11,450 --> 00:37:12,490 عندما كتبت فو. 924 00:37:12,490 --> 00:37:13,200 فو سلسلة. 925 00:37:13,200 --> 00:37:14,340 من الواضح انها ليست الباحث. 926 00:37:14,340 --> 00:37:17,500 والطريقة التي نفذت CS50 هو أننا GetInt 927 00:37:17,500 --> 00:37:20,330 لا شيء من معرفة ما اذا كان أقل من 0 أو أكبر من 10 928 00:37:20,330 --> 00:37:22,260 بالنسبة لك، لأننا نعرف كيف مقدما أي نوع من 929 00:37:22,260 --> 00:37:23,130 الباحث تريد؟ 930 00:37:23,130 --> 00:37:25,880 ولكن يمكننا التحقق الحد الأدنى بالنسبة لك، فإن المستخدم لا يقل عن 931 00:37:25,880 --> 00:37:26,730 اكتب عددا صحيحا؟ 932 00:37:26,730 --> 00:37:30,500 واذا لم يفعلوا، ونحن يصيح في المستخدم بكتابة "إعادة المحاولة" على 933 00:37:30,500 --> 00:37:31,440 الشاشة. 934 00:37:31,440 --> 00:37:34,210 >> حتى الآن لدينا برنامج هذا ما حلقات. حسنا. 935 00:37:34,210 --> 00:37:37,070 الآن، أي من هذه هو نوع من أفضل بناء؟ 936 00:37:37,070 --> 00:37:39,060 لذلك هذا هو المكان الذي تبدأ الأمور للحصول على القليل من الفوضى، في 937 00:37:39,060 --> 00:37:42,360 حقيقة أن عليك أن تتذكر لتعريف متغير هنا 938 00:37:42,360 --> 00:37:44,630 إذا كنت ترغب في استخدامه داخل بعض 939 00:37:44,630 --> 00:37:46,460 مجعد الأقواس وخارجها. 940 00:37:46,460 --> 00:37:48,490 ولكن حتى لو كان هذا يبدو قليلا خفي في البداية 941 00:37:48,490 --> 00:37:50,750 وهلة، مرة أخرى فقط، تذكر منطق بسيط. 942 00:37:50,750 --> 00:37:54,630 من اجل استخدام أي شيء في C، سواء كان ذلك في وظيفة أو 943 00:37:54,630 --> 00:37:57,680 انها متغير، لديك لإدراجه إذا كان وظيفة 944 00:37:57,680 --> 00:37:59,770 في بعض المكتبات، أو تحتاج أن تعلن ذلك. 945 00:37:59,770 --> 00:38:02,405 ولكن الآن تحتاج إلى أن تضع في اعتبارها إضافية من حقيقة أن 946 00:38:02,405 --> 00:38:04,940 كنت معلنا في نطاق الحق. 947 00:38:04,940 --> 00:38:08,150 كنت لا ضعه بإحكام جدا داخل قوسين. 948 00:38:08,150 --> 00:38:09,410 >> لذلك اسمحوا لي لفة في الواقع مرة أخرى. 949 00:38:09,410 --> 00:38:12,660 إذا رجعنا لدينا على سبيل المثال من قبل، وتذهب I 950 00:38:12,660 --> 00:38:19,245 عودة إلى الباحث عن، وكثافة العمليات ط = 0، وأنا <10، وأنا + +، وأنا 951 00:38:19,245 --> 00:38:26,370 القيام نجوم printf، مثل هذا، ومن ثم إغلاق PAREN، والآن 952 00:38:26,370 --> 00:38:30,410 printf أنا الآن - 953 00:38:30,410 --> 00:38:33,500 وفقا لنفس المنطق، ماذا سيحدث عندما أحاول 954 00:38:33,500 --> 00:38:35,500 ترجمة هذا البرنامج؟ 955 00:38:35,500 --> 00:38:36,790 AUDIENCE: معرف غير صالح. 956 00:38:36,790 --> 00:38:38,560 DAVID J. مالان: لذلك فمن غير صالح معرف آخر، 957 00:38:38,560 --> 00:38:39,470 غير معلنة معرف. 958 00:38:39,470 --> 00:38:41,810 الآن، والسبب هو مختلفة قليلا. 959 00:38:41,810 --> 00:38:44,370 هناك بالطبع لا الأقواس المتعرجة هنا، ولكن في نفس 960 00:38:44,370 --> 00:38:46,790 الفكرة، نفس القصة من نطاق تطبيق. 961 00:38:46,790 --> 00:38:50,340 إذا كنت قد أعلنت متغير وكأنني داخل من 962 00:38:50,340 --> 00:38:53,960 لحلقة، حتى لو كنت لم تكتب صراحة مجعد 963 00:38:53,960 --> 00:38:56,980 الأقواس، يفكر فيها عقليا بأنه لا يزال هناك، والتي 964 00:38:56,980 --> 00:39:00,310 الحالة أنا داخل صالحة فقط للللحلقة. 965 00:39:00,310 --> 00:39:03,080 ولا يصح تحصل مرة واحدة إلى السطر التالي، والذي في 966 00:39:03,080 --> 00:39:05,090 هذه الحالة الآن 10. 967 00:39:05,090 --> 00:39:09,060 فقط حتى عدد قليل من القضايا ذات النطاق وما شابه ذلك. 968 00:39:09,060 --> 00:39:12,620 كل الحق، أي سؤال؟ 969 00:39:12,620 --> 00:39:15,310 >> حسنا، لذلك هذا هو النوع من البرامج قليلا تافهة، 970 00:39:15,310 --> 00:39:17,450 الطباعة نجوم فقط قليلا. 971 00:39:17,450 --> 00:39:20,400 ولكن دعونا نرى إذا كنت تتذكر هذه الأغنية هنا. 972 00:39:20,400 --> 00:39:22,530 هذه هي أغنية مزعج بشكل لا يصدق الاطفال والغناء على 973 00:39:22,530 --> 00:39:23,550 الحافلة المدرسية وما شابه ذلك. 974 00:39:23,550 --> 00:39:25,990 ولكن ما هو لطيفة عن ذلك هو أن لديها هذه دوروية، 975 00:39:25,990 --> 00:39:27,910 حيث انها "99 زجاجات من البيرة على الحائط، 976 00:39:27,910 --> 00:39:28,520 99 زجاجة من البيرة. 977 00:39:28,520 --> 00:39:31,030 تأخذ واحدة لأسفل، تمرير حولها، 98 زجاجات من البيرة على 978 00:39:31,030 --> 00:39:34,330 الجدار ". وبعد ذلك أغنية يكرر 97، ثم 96، ثم 979 00:39:34,330 --> 00:39:38,040 95، ثم 94، على طول الطريق إلى 0 إذا كنت حصلت فعلا أن 980 00:39:38,040 --> 00:39:38,920 حتى في الحافلة. 981 00:39:38,920 --> 00:39:41,960 لذلك هذا هو برنامج لطيف لفرز من تنفيذ، لأن بلدي 982 00:39:41,960 --> 00:39:43,650 والله لو قد قمت بتطبيق هذا فقط مع عدد قليل 983 00:39:43,650 --> 00:39:46,660 الأسطر من التعليمات البرمجية، هل يمكن أن بصق كلمات كامل لهذه 984 00:39:46,660 --> 00:39:48,240 أغنية بسرعة. 985 00:39:48,240 --> 00:39:50,420 ولكن على طول الطريق، يمكننا أن نبدأ الآن لندف بصرف النظر بعض 986 00:39:50,420 --> 00:39:52,460 من بنيات أساسية وحلقات هذه أيضا الآن 987 00:39:52,460 --> 00:39:55,830 أعرض الوظائف التي نكتب أنفسنا، إرجاع القيم 988 00:39:55,830 --> 00:39:57,020 أننا تمرير حولها. 989 00:39:57,020 --> 00:39:58,910 ولكن أولا، لماذا لا نذهب إلى الأمام وتأخذ لدينا خمس دقائق 990 00:39:58,910 --> 00:39:59,320 كسر هنا؟ 991 00:39:59,320 --> 00:40:01,480 وعندما نعود، ونحن سوف يغني هذه الأغنية. 992 00:40:05,680 --> 00:40:08,760 >> كل الحق، لذلك نحن مرة أخرى. 993 00:40:08,760 --> 00:40:11,850 وعندما أقول نحن سوف يغني هذه الأغنية الآن، يعني 994 00:40:11,850 --> 00:40:13,250 برمجيا، وليس لفظيا. 995 00:40:13,250 --> 00:40:19,370 حتى هنا لدينا beer1.c، التي تعد واحدة تنفيذ هذا 996 00:40:19,370 --> 00:40:20,580 أغنية معينة. 997 00:40:20,580 --> 00:40:23,110 ومجرد أن يكون واضحا، بالنسبة لأولئك غير مألوف مع ما 998 00:40:23,110 --> 00:40:24,460 هذا يبدو وكأنه شيء، اسمحوا لي أن المضي قدما 999 00:40:24,460 --> 00:40:27,070 وجعل beer1، أدخل. 1000 00:40:27,070 --> 00:40:30,400 والآن اسمحوا لي تشغيل beer1، وما نراه سوف - كم عدد زجاجات 1001 00:40:30,400 --> 00:40:31,140 وسوف يكون هناك من البيرة؟ 1002 00:40:31,140 --> 00:40:33,240 أنا اكتب في 99، مثل تقول الأغنية. 1003 00:40:33,240 --> 00:40:34,040 دخول. 1004 00:40:34,040 --> 00:40:35,650 والآن إذا كنا من خلال التمرير - 1005 00:40:35,650 --> 00:40:38,280 عفوا - إذا كنا التمرير خلال كل هذا، سنرى أن 1006 00:40:38,280 --> 00:40:41,350 لم هذه الأغنية الغناء الواقع كله. 1007 00:40:44,050 --> 00:40:44,540 انتظر لحظة. 1008 00:40:44,540 --> 00:40:46,240 شريط التمرير بلدي قليلا عابث. 1009 00:40:46,240 --> 00:40:47,940 دعونا استخدام أكبر النافذة. 1010 00:40:47,940 --> 00:40:53,500 حتى 99، beer1، هناك نذهب. 1011 00:40:53,500 --> 00:40:56,420 حتى هنا لدينا أغنية كاملة، سونغ أسرع بكثير من قبل 1012 00:40:56,420 --> 00:40:58,450 الكمبيوتر مما كان يمكن أن يكون من قبلنا. 1013 00:40:58,450 --> 00:41:00,340 لاحظت ذلك، على الرغم من الطبيعة الدورية هنا. 1014 00:41:00,340 --> 00:41:03,380 تقول 99، ثم 99، ثم "تأخذ واحدة لأسفل، نقله 1015 00:41:03,380 --> 00:41:04,740 حول "، ثم 98. 1016 00:41:04,740 --> 00:41:06,640 والآن يكرر مرة أخرى ومرة ​​أخرى. 1017 00:41:06,640 --> 00:41:08,840 >> لذلك هذا هو في الواقع فرصة مثالية لنوع من 1018 00:41:08,840 --> 00:41:10,400 حلقات بناء. 1019 00:41:10,400 --> 00:41:12,950 لاحظت أن أنا نوع من قطع زاوية هنا. 1020 00:41:12,950 --> 00:41:15,960 تلاحظ أن أقوله "98 زجاجات من البيرة على الحائط، 1021 00:41:15,960 --> 00:41:19,010 بلغت 97 زجاجات من البيرة على الحائط "، وأن ذلك مجرد 1022 00:41:19,010 --> 00:41:21,640 أنه عندما نحصل على واحدة من زجاجات البيرة، وأنا لم يكن لديك 1023 00:41:21,640 --> 00:41:23,300 ما يدعو للقلق حول قواعد اللغة الإنجليزية. 1024 00:41:23,300 --> 00:41:25,790 ولكن يمكننا أيضا إصلاح هذا مع القليل من إذا 1025 00:41:25,790 --> 00:41:26,910 الشرط، ربما. 1026 00:41:26,910 --> 00:41:30,110 إذا كان هذا الرقم المفرد، والمضي قدما ويقول "زجاجة"، 1027 00:41:30,110 --> 00:41:31,840 إذا وإلا فإنه من الجمع، ويقول "زجاجات". 1028 00:41:31,840 --> 00:41:34,150 لكن في الوقت الراهن، وأنا قطع تماما تلك الزاوية. 1029 00:41:34,150 --> 00:41:35,520 لذلك دعونا نرى ما لدينا هنا. 1030 00:41:35,520 --> 00:41:37,150 لذلك نحن قد حصلت على بعض التعليقات في الأعلى. 1031 00:41:37,150 --> 00:41:39,450 أنا بما هاتين المكتبتين، كما 1032 00:41:39,450 --> 00:41:41,140 كنا عادة. 1033 00:41:41,140 --> 00:41:43,610 واسمحوا لي الآن انتقل لأسفل إلى أول 1034 00:41:43,610 --> 00:41:44,990 الفعلية الأسطر من التعليمات البرمجية. 1035 00:41:44,990 --> 00:41:47,020 السطر 17 ينطلق الرئيسية. 1036 00:41:47,020 --> 00:41:50,610 خط 21 و 20 وعدد زجاجات من البيرة سيكون هناك؟ 1037 00:41:50,610 --> 00:41:52,060 ثم أعطي الكلمة GetInt. 1038 00:41:52,060 --> 00:41:53,800 والآن لدي قليلا من التعقل الاختيار. 1039 00:41:53,800 --> 00:41:57,030 >> لذلك هذا هو الاتفاقية التي سنبدأ الآن اعتماد ل 1040 00:41:57,030 --> 00:41:59,620 أكثر صرامة تحقق مدخلات المستخدم. 1041 00:41:59,620 --> 00:42:01,710 في بعض الأحيان كنت لا تريد أن تدفع لهم مرة أخرى 1042 00:42:01,710 --> 00:42:02,630 ومرة أخرى ومرة ​​أخرى. 1043 00:42:02,630 --> 00:42:05,620 إذا كان المستخدم مسامير وعدم التعاون، ودفع غرامة. 1044 00:42:05,620 --> 00:42:07,430 إنهاء وفقط لا تتعامل معها. 1045 00:42:07,430 --> 00:42:08,990 وهكذا وهذا ما أفعله هنا. 1046 00:42:08,990 --> 00:42:12,520 إذا كان n أقل من 1، وانا ذاهب لمجرد الصراخ للمستخدم، 1047 00:42:12,520 --> 00:42:14,330 "عذرا، هذا لا معنى له". ومن ثم أنا ذاهب إلى 1048 00:42:14,330 --> 00:42:16,650 العودة تعسفا 1. 1049 00:42:16,650 --> 00:42:18,550 ذلك مرة أخرى، وهذا هو مجرد اتفاقية لتعتاد على. 1050 00:42:18,550 --> 00:42:19,850 في الوقت الراهن، واعتبر على الإيمان. 1051 00:42:19,850 --> 00:42:22,700 ولكن حتى الآن، ونحن كنت دائما العودة 0، لأن 1052 00:42:22,700 --> 00:42:25,204 لقد قلنا العائدين 0 يدل على ماذا؟ 1053 00:42:25,204 --> 00:42:26,000 AUDIENCE: النجاح. 1054 00:42:26,000 --> 00:42:27,320 DAVID J. مالان: نجاح، هذا كل شيء. 1055 00:42:27,320 --> 00:42:29,740 حتى الآن بعد أن بدأنا أخيرا للتفكير 1056 00:42:29,740 --> 00:42:31,330 غير النجاحات - 1057 00:42:31,330 --> 00:42:33,760 وبعبارة أخرى، وحالات الزاوية، حالات الخطأ - 1058 00:42:33,760 --> 00:42:37,520 الآن لدي إمدادات لا حصر له، أو على الأقل 4000000000 1059 00:42:37,520 --> 00:42:39,790 ممكن الأشياء التي يمكن ان تتعرض له في برامج بلدي. 1060 00:42:39,790 --> 00:42:42,300 وأستطيع أن أبدأ تكليفهم الأرقام الفردية. 1061 00:42:42,300 --> 00:42:44,340 الآن، عموما يكفي فقط للعودة 1062 00:42:44,340 --> 00:42:45,730 شيء غير 0. 1063 00:42:45,730 --> 00:42:48,040 لذلك نحن في طريقنا للعودة ببساطة الآن 1 ل. 1064 00:42:48,040 --> 00:42:51,440 ولكن السبب يعود ل1 هو أنه بمجرد عودتك 1065 00:42:51,440 --> 00:42:55,110 1، تخمين ما يحدث لبقية البرنامج؟ 1066 00:42:55,110 --> 00:42:55,720 تتوقف. 1067 00:42:55,720 --> 00:42:56,560 هذا هو. 1068 00:42:56,560 --> 00:42:59,150 وبالتالي فإن حقيقة أن أنا العودة 1 هو فعال 1069 00:42:59,150 --> 00:43:02,950 إن تلامس تنفيذ هذا البرنامج بحيث 1070 00:43:02,950 --> 00:43:06,780 فلا شيء تحت خط 27 متابعة تنفيذ. 1071 00:43:06,780 --> 00:43:09,210 حالما يعود الرئيسية، هذا هو عليه. 1072 00:43:09,210 --> 00:43:13,160 >> كل الحق، لذلك إذا كان المستخدم لا نصل إلى التعاون وخط 30 1073 00:43:13,160 --> 00:43:15,680 لأنها كتبت في عدد المشروعة، وهنا بلدي 1074 00:43:15,680 --> 00:43:16,990 تنفيذ هذه الأغنية. 1075 00:43:16,990 --> 00:43:19,050 لذلك أنا لأول مرة طباعة حرف السطر الجديد، لمجرد 1076 00:43:19,050 --> 00:43:19,880 الجماليات. 1077 00:43:19,880 --> 00:43:21,500 لدي الآن للحلقة. 1078 00:43:21,500 --> 00:43:22,930 وتلاحظ أنني أفعل أشياء في بت 1079 00:43:22,930 --> 00:43:23,880 من اتجاه مختلف. 1080 00:43:23,880 --> 00:43:26,210 ليس لدي للقيام أقل من، وأنا لم يكن لديك للقيام + +. 1081 00:43:26,210 --> 00:43:30,660 أستطيع أن أقول بدلا من ذلك تهيئة متغير الأول، تعيين يساوي 1082 00:43:30,660 --> 00:43:35,080 ن، وعدد المستعمل في طباعة، ثم القيام بما يلي، لذلك 1083 00:43:35,080 --> 00:43:39,590 دمت أكبر من 0، ثم أنا - 1084 00:43:39,590 --> 00:43:42,070 الانتهاء مرة واحدة أنت واحد من هذه الحلقة التكرار. 1085 00:43:42,070 --> 00:43:44,310 حتى نتمكن من العد التنازلي للحلقة باستخدام كذلك. 1086 00:43:44,310 --> 00:43:47,520 الآن، وهذا هو الى حد كبير الاسبوع 1 الاشياء الآن، مع printf. 1087 00:43:47,520 --> 00:43:51,770 حتى الطباعة "د٪ زجاجات من البيرة على الحائط". طباعة "٪ د 1088 00:43:51,770 --> 00:43:54,990 زجاجات من البيرة. "" خذ واحدة إلى أسفل، تمرير حولها ". طباعة 1089 00:43:54,990 --> 00:43:58,880 "٪ زجاجات من البيرة د على الجدار." لذلك لا يزال د٪، ولكن 1090 00:43:58,880 --> 00:44:02,770 تلاحظ أن حجة إلى printf يتغير. 1091 00:44:02,770 --> 00:44:05,840 بعد الفاصلة، ولدي أنا، لأنني أريد أن أقول 99. 1092 00:44:05,840 --> 00:44:08,590 بعد هذا فاصلة، ولدي أنا، لأنني أريد أن أقول 99. 1093 00:44:08,590 --> 00:44:14,030 بعد هذا فاصلة، ولدي أنا - 1، لأنني أريد أن أقول 98 في 1094 00:44:14,030 --> 00:44:16,260 هذا التكرار الأول، وهكذا دواليك. 1095 00:44:16,260 --> 00:44:18,520 والآن إلى هنا، ولدي فقط بعض تصريحات غبية قليلا. 1096 00:44:18,520 --> 00:44:22,270 ثم خط 42، I بإرجاع 0 من الاتفاقية، مما يدل على أن 1097 00:44:22,270 --> 00:44:23,650 كل شيء على ما يرام. 1098 00:44:23,650 --> 00:44:24,490 >> ماذا لو أخطأ ذلك I؟ 1099 00:44:24,490 --> 00:44:26,350 قد ما خطأ شائع هنا يكون؟ 1100 00:44:26,350 --> 00:44:29,200 حسنا، ماذا لو قلت عن طريق الخطأ حسنا، أنا لا أريد أن نعول 1101 00:44:29,200 --> 00:44:31,640 وصولا الى 0، 0 أريد زجاجات من البيرة على الحائط؟ 1102 00:44:31,640 --> 00:44:34,620 لذلك أنا أقول، وأنا أكبر من أو تساوي 0. 1103 00:44:34,620 --> 00:44:38,920 ما يحدث أن تكون الأعراض التي أرى الآن إذا كنت إعادة ترجمة 1104 00:44:38,920 --> 00:44:41,173 beer1 وتشغيله؟ 1105 00:44:41,173 --> 00:44:42,120 AUDIENCE: السلبية. 1106 00:44:42,120 --> 00:44:43,590 DAVID J. مالان: نعم، انها ستعمل تذهب سلبية. 1107 00:44:43,590 --> 00:44:45,950 هذا خطأ خارج عن طريق واحد، وهو لا يصدق 1108 00:44:45,950 --> 00:44:47,270 خطأ شائع لجعل. 1109 00:44:47,270 --> 00:44:48,960 دعونا نذهب بالفعل إلى إطار المحطة الطرفية ونفعل ذلك 1110 00:44:48,960 --> 00:44:50,620 هنا، لذلك يمكننا أن نرى أكثر في المرة الواحدة. 1111 00:44:50,620 --> 00:44:53,280 أدخل و 99 زجاجة من البيرة. 1112 00:44:53,280 --> 00:44:56,580 إغلاق، ولكن ذهبنا من أي وقت مضى حتى قليلا بعيدا جدا. 1113 00:44:56,580 --> 00:45:00,500 غنى أغنية ونحن بعيد جدا أسفل، بحيث ضربنا الآن 1114 00:45:00,500 --> 00:45:01,510 عدد السلبية. 1115 00:45:01,510 --> 00:45:03,680 لذلك لا يعمل تماما. 1116 00:45:03,680 --> 00:45:06,450 >> كل الحق، حتى نتمكن من إصلاح بسهولة أن من خلال العودة إلى 1117 00:45:06,450 --> 00:45:07,650 ما كان عليه مرة واحدة. 1118 00:45:07,650 --> 00:45:10,360 ولكن ما هي بعض الفرص الآن لل 1119 00:45:10,360 --> 00:45:11,190 تحسين؟ 1120 00:45:11,190 --> 00:45:17,200 حسنا، اسمحوا لي أن فتح beer2.c وانزل هنا ونلقي 1121 00:45:17,200 --> 00:45:19,310 ننظر في هذا الإصدار. 1122 00:45:19,310 --> 00:45:21,370 ما هو أول شيء يقفز في لكم ومختلفة 1123 00:45:21,370 --> 00:45:23,715 في هذا الإصدار هنا؟ 1124 00:45:23,715 --> 00:45:24,190 AUDIENCE: [غير مسموع]. 1125 00:45:24,190 --> 00:45:26,510 DAVID J. مالان: نعم، لذلك لا مزيد من الأول، أنها وقعت بسبب 1126 00:45:26,510 --> 00:45:29,350 لي انك تعرف ما هي، أنا أسأل المستخدم N، ثم أنا 1127 00:45:29,350 --> 00:45:33,580 وضع ط ن تساوي، ثم أنا أنا المتغيرة، ولكن أنا أبدا 1128 00:45:33,580 --> 00:45:34,590 ن لمس مرة أخرى. 1129 00:45:34,590 --> 00:45:37,390 ذلك ما كان هيك وجهة لك تخصيص آخر 32 1130 00:45:37,390 --> 00:45:45,210 دعا بت أنا فقط حتى أستطيع أن لديك متغير مختلفة؟ 1131 00:45:45,210 --> 00:45:47,960 حتى في هذه الحالة، وأنا نوع من الاعتراف بأن لا لزوم لها 1132 00:45:47,960 --> 00:45:49,190 تصميم الميزة. 1133 00:45:49,190 --> 00:45:52,730 وأنا ذاهب الآن أن أقول حين n هو أكبر من 0، انتقل 1134 00:45:52,730 --> 00:45:56,180 قبل وطباعة نفس الأغنية، تمرير ن إلى printf كما 1135 00:45:56,180 --> 00:46:00,210 2 الحجة، ون - 1 كوسيطة ثانية هنا إلى أسفل. 1136 00:46:00,210 --> 00:46:02,930 ومن ثم على كل التكرار من هذه الحلقة، والمضي قدما فقط 1137 00:46:02,930 --> 00:46:05,080 إنقاص ن نفسه. 1138 00:46:05,080 --> 00:46:06,960 الآن، وظيفيا، وهذا البرنامج 1139 00:46:06,960 --> 00:46:08,010 ستكون متطابقة. 1140 00:46:08,010 --> 00:46:10,730 إذا كنت اكتب في 99، N يبدأ في 99. 1141 00:46:10,730 --> 00:46:12,890 I إنقاص، إنقاص، إنقاص، إنقاص. 1142 00:46:12,890 --> 00:46:15,875 أنا ذاهب للحصول على كل الطريق وصولا الى "واحد زجاجة من البيرة على 1143 00:46:15,875 --> 00:46:16,740 الجدار، زجاجة واحدة من البيرة. 1144 00:46:16,740 --> 00:46:18,020 تأخذ واحدة لأسفل، تمرير حولها. 1145 00:46:18,020 --> 00:46:21,480 0 زجاجات من البيرة على الحائط ". النهاية، لأن فعلت 1146 00:46:21,480 --> 00:46:23,200 الحصول على حالة الصحيح. 1147 00:46:23,200 --> 00:46:24,280 انها أكبر من 0. 1148 00:46:24,280 --> 00:46:26,220 لم أكن جعل هذا الخطأ. 1149 00:46:26,220 --> 00:46:28,470 >> ذلك الذي هو أفضل، إصدار واحد أو إصدار اثنين؟ 1150 00:46:31,380 --> 00:46:33,480 لذلك أنا سمعت حفنة من تذمر لمدة سنتين. 1151 00:46:33,480 --> 00:46:34,730 لماذا اثنين؟ 1152 00:46:37,210 --> 00:46:38,225 ما هذا؟ 1153 00:46:38,225 --> 00:46:39,215 AUDIENCE: [غير مسموع]. 1154 00:46:39,215 --> 00:46:40,070 DAVID J. مالان: أوه، حسنا. 1155 00:46:40,070 --> 00:46:42,870 لذلك لن تذهب أقل من 0، ولكن تذكر، في نسخة واحدة، في 1156 00:46:42,870 --> 00:46:45,870 لم الإصدار الصحيح الأصلي لا يذهب أقل من 0 أيضا. 1157 00:46:45,870 --> 00:46:48,340 تذكر ذلك أن هذا هو الإصدار الصحيح. 1158 00:46:48,340 --> 00:46:51,630 لذلك دعونا على الأقل مقارنة إصدارين الصحيح. 1159 00:46:51,630 --> 00:46:53,300 ما هو حجة لصالح إصدار 1160 00:46:53,300 --> 00:46:55,146 2 الحالي، MMM، أفضل؟ 1161 00:46:55,146 --> 00:46:55,642 نعم؟ 1162 00:46:55,642 --> 00:46:57,630 AUDIENCE: ويستخدم مساحة أقل. 1163 00:46:57,630 --> 00:46:59,530 DAVID J. مالان: حسنا، لذلك فإنه يستخدم مساحة أقل، أليس كذلك؟ 1164 00:46:59,530 --> 00:47:02,900 في حين تستخدم 32 بت إصدار واحد لN، ثم آخر 1165 00:47:02,900 --> 00:47:07,680 32 بت لأني. 1166 00:47:07,680 --> 00:47:10,060 الإصدار الثاني يستخدم فقط 32 بت لN، بحيث 1167 00:47:10,060 --> 00:47:11,700 ويبدو أن زائد. 1168 00:47:11,700 --> 00:47:12,950 أفكار أخرى؟ 1169 00:47:18,070 --> 00:47:21,520 لا أحد يجادل تريد لصالح واحد؟ 1170 00:47:21,520 --> 00:47:22,070 نعم؟ 1171 00:47:22,070 --> 00:47:25,240 AUDIENCE: لديك لاستخدام سطر إضافي من التعليمات البرمجية ل n -. 1172 00:47:25,240 --> 00:47:26,090 >> DAVID J. مالان: حسنا، بالتأكيد. 1173 00:47:26,090 --> 00:47:26,960 بحيث من العدل. 1174 00:47:26,960 --> 00:47:29,040 لذلك هذا فقط، على الأقل بالنسبة لي - 1175 00:47:29,040 --> 00:47:31,940 أعني، هذا الواقع يشعر ميسييه قليلا، وحقيقة أن 1176 00:47:31,940 --> 00:47:35,120 لا أستطيع نوع من تغليف كل منطق بلدي في واحد 1177 00:47:35,120 --> 00:47:38,030 جميل الخط، لحلقة، كما يمكن للحلقة. 1178 00:47:38,030 --> 00:47:40,240 هنا، النوع الأول من أن تك على هذا N - 1179 00:47:40,240 --> 00:47:41,120 في نهاية الحلقة، وذلك لأن 1180 00:47:41,120 --> 00:47:42,550 من الضروري منطقيا. 1181 00:47:42,550 --> 00:47:45,190 ولكنه نوع من التدليك لي بطريقة خاطئة، فقط لأنها 1182 00:47:45,190 --> 00:47:48,260 يبدو منفصلا عن منطق هنا، على الرغم من، 1183 00:47:48,260 --> 00:47:49,430 مرة أخرى، فإنه من الضروري. 1184 00:47:49,430 --> 00:47:50,990 أفكار أخرى؟ 1185 00:47:50,990 --> 00:47:51,490 نعم؟ 1186 00:47:51,490 --> 00:47:52,740 AUDIENCE: [غير مسموع]. 1187 00:47:57,990 --> 00:47:58,350 >> DAVID J. مالان: نعم. 1188 00:47:58,350 --> 00:48:00,730 حتى ما إذا كنت بدلا من ذلك، في نهاية الأغنية، أردت أن 1189 00:48:00,730 --> 00:48:02,950 طباعة مرة أخرى اسم الأغنية؟ 1190 00:48:02,950 --> 00:48:05,660 مثل "شكرا للعب 99 زجاجات من البيرة"، أو شيء 1191 00:48:05,660 --> 00:48:06,690 سخيفة من هذا القبيل؟ 1192 00:48:06,690 --> 00:48:09,750 ولكن، نقطة أردت الوصول إلى القيمة الأصلية. 1193 00:48:09,750 --> 00:48:13,180 حقيقة أن كنت قد تحور أو تغير ن على كل 1194 00:48:13,180 --> 00:48:16,330 دمرت التكرار، وبالتالي قيمته الأصلية 1195 00:48:16,330 --> 00:48:18,650 يعني انك لا يمكن ان تفعل ذلك في نهاية المطاف. 1196 00:48:18,650 --> 00:48:20,660 الآن، يمكن القول، من الواضح أننا لا نريد أن نفعل 1197 00:48:20,660 --> 00:48:21,450 أن في هذا البرنامج. 1198 00:48:21,450 --> 00:48:22,350 لذلك من يهتم؟ 1199 00:48:22,350 --> 00:48:23,630 ولكن هذا نقطة صحيحة جدا. 1200 00:48:23,630 --> 00:48:25,520 وإلى أن نكون صادقين، وهناك حقا لا أحد 1201 00:48:25,520 --> 00:48:26,630 الجواب الصحيح هنا. 1202 00:48:26,630 --> 00:48:28,740 انهم على حد سواء صحيحة. 1203 00:48:28,740 --> 00:48:30,210 يمكن مقتنع في اي من الاتجاهين. 1204 00:48:30,210 --> 00:48:33,310 أقول ذلك، بصفة عامة، انها جيدة اذا كنت المبدأ 1205 00:48:33,310 --> 00:48:36,030 سؤال المستخدم عن بعض القيمة وكنت المخزنة في متغير 1206 00:48:36,030 --> 00:48:38,730 مثل N، فقط نوع من حيث المبدأ، هو على الأرجح جيدة 1207 00:48:38,730 --> 00:48:40,160 للحفاظ على هذه حولها. 1208 00:48:40,160 --> 00:48:43,400 وأي البيانات التي تريد يتحور مرة أخرى ومرة ​​أخرى، فقط 1209 00:48:43,400 --> 00:48:46,030 تعطي لنفسك نسخة من هذا المتغير، لذلك فقط ان كنت 1210 00:48:46,030 --> 00:48:47,830 الحصول على النسخة الأصلية. 1211 00:48:47,830 --> 00:48:51,040 كنت تنفق 32 المزيد بت، ولكن الواقع هو هذا 1212 00:48:51,040 --> 00:48:53,490 الكمبيوتر و، مثل، اثنين غيغا بايت من ذاكرة الوصول العشوائي في هذه الأيام، 1213 00:48:53,490 --> 00:48:55,310 ونحن مراوغة أكثر من 32 بت؟ 1214 00:48:55,310 --> 00:48:56,320 الحقيقة ليست مثل هذه الصفقة الكبيرة. 1215 00:48:56,320 --> 00:48:58,550 وحتى على هذا الجهاز هنا، مع نصف أزعج أو 1216 00:48:58,550 --> 00:49:01,700 غيغا بايت من ذاكرة الوصول العشوائي، 32 بت مقابل 64 بت، 1217 00:49:01,700 --> 00:49:02,920 لا مثل هذه الصفقة الكبيرة. 1218 00:49:02,920 --> 00:49:05,890 بالتأكيد اليوم، فإنه سيكون وسيلة تطغى عليها حجم 1219 00:49:05,890 --> 00:49:08,400 من البرنامج نفسه، والتي ستكون عدة مئات من 1220 00:49:08,400 --> 00:49:10,890 كيلو بايت، إن لم يكن ميغابايت قليلة، في هذه الأيام. 1221 00:49:10,890 --> 00:49:13,550 >> معقولة حتى المخاوف، لا أحد الإجابة الصحيحة. 1222 00:49:13,550 --> 00:49:15,490 ولكن على الأقل هذه هي الأفكار التي ينبغي أن تبدأ في 1223 00:49:15,490 --> 00:49:16,790 تذهب من خلال عقلك؟ 1224 00:49:16,790 --> 00:49:19,600 لأنه في pset 0، على الرغم من أننا حقا المتوقع فقط 1225 00:49:19,600 --> 00:49:22,340 صحة، أو على الأقل التنازل البق المختلفة التي 1226 00:49:22,340 --> 00:49:25,440 كنت قد واجهت، ونحن نمضي قدما، والتصميم هو 1227 00:49:25,440 --> 00:49:27,910 سيكون جانبا رئيسيا آخر، وكلاهما من كتابة التعليمات البرمجية 1228 00:49:27,910 --> 00:49:29,770 وأيضا لدينا تقييم التعليمات البرمجية. 1229 00:49:29,770 --> 00:49:32,310 وذلك على الأقل التفكير في مثل هذه الامور. 1230 00:49:32,310 --> 00:49:35,590 ويعمل شيئا لمجرد لا يعني انها جيدة، 1231 00:49:35,590 --> 00:49:37,130 لا يعني انها مصممة تصميما جيدا. 1232 00:49:37,130 --> 00:49:38,820 وهذا واحد من الأشياء التدريس والزملاء 1233 00:49:38,820 --> 00:49:41,990 سوف تساعدنا مجموعات مشكلة ندف جزء مع مرور الوقت. 1234 00:49:41,990 --> 00:49:45,020 >> حسنا، ماذا عن، دعنا نقول، هذا الإصدار هنا؟ 1235 00:49:45,020 --> 00:49:49,090 اسمحوا لي أن تفعل شيئا قليلا مثير هنا في لحظة. 1236 00:49:49,090 --> 00:49:50,740 أولا اسمحوا لي التخلص من هذا. 1237 00:49:50,740 --> 00:49:54,120 والآن دعونا إصلاح هذه المشكلة النحوية. 1238 00:49:54,120 --> 00:49:58,780 حتى في هذا الإصدار، أريد أن إصلاح النحو بحيث، 1239 00:49:58,780 --> 00:50:02,460 بدلا من أن أقول ليالي قوسين، مثل "زجاجة" 1240 00:50:02,460 --> 00:50:03,360 أو "زجاجات" - 1241 00:50:03,360 --> 00:50:04,900 أنا لا أريد لخفض تلك الزاوية - 1242 00:50:04,900 --> 00:50:08,350 وأود أيضا أن طباعة حيوي من كلمة "زجاجات" 1243 00:50:08,350 --> 00:50:12,820 أو "زجاجة"، وذلك باستخدام العناصر النائبة بالتالي هذه٪ S اليوم. 1244 00:50:12,820 --> 00:50:16,550 لذلك أنا بحاجة للتحقق ما هو مشروط قيمة ط. 1245 00:50:16,550 --> 00:50:19,590 واذا كان 1، أريد أن أقول "زجاجة"، وإذا كان أي شيء قد حان 1246 00:50:19,590 --> 00:50:23,115 آخر، أريد أن أقول "زجاجات". لذلك دعونا نحاول أن نفعل هذا. 1247 00:50:23,115 --> 00:50:31,340 حتى لو كنت == 1، ثم اسمحوا لي أن تمضي قدما وتعلن - 1248 00:50:31,340 --> 00:50:34,080 أحتاج إلى سلسلة، لذلك اسمحوا لي أن تفعل S1 السلسلة، لأنها 1249 00:50:34,080 --> 00:50:36,070 السلسلة الأولى يهمني في الوقت الحالي. 1250 00:50:36,070 --> 00:50:40,980 انا ذاهب الى القول "زجاجة". ومن ثم، دعونا نرى، سلسلة 1251 00:50:40,980 --> 00:50:43,110 S2 - وساوضح حيث أنا ذاهب في لحظة - 1252 00:50:43,110 --> 00:50:47,650 "زجاجات". أذكر ذلك أنه في هذه الأغنية، ونحن بحاجة إلى أن تكون قادرة 1253 00:50:47,650 --> 00:50:50,580 لطباعة الأشياء، واثنين من كلمات مختلفة محتملة. 1254 00:50:50,580 --> 00:50:53,590 إذا كان الأمر كذلك فإننا نتطلع إلى هنا، لاحظ أنه عندما نصل إلى 1255 00:50:53,590 --> 00:50:56,440 هذا المثال هنا "زجاجتين من البيرة على الحائط، 1256 00:50:56,440 --> 00:50:59,490 زجاجتين من البيرة، أسفل تأخذ واحدة، تمرير حولها "، أريد 1257 00:50:59,490 --> 00:51:02,380 هذا السطر الرابع أن أقول الآن "واحد زجاجة من البيرة على 1258 00:51:02,380 --> 00:51:04,900 الجدار "، لذلك أنا بحاجة لاتخاذ قرار، لا أريد أن أقول" زجاجات "أو 1259 00:51:04,900 --> 00:51:07,780 "زجاجة"؟ لذلك أنا ذاهب الى القول بشكل تعسفي، كل الحق، 1260 00:51:07,780 --> 00:51:10,530 أنا ذاهب لإعلان متغير يسمى الآن S1، سلسلة 1261 00:51:10,530 --> 00:51:13,830 واحد، أن يحدث للحصول على توصيله هنا وهنا أيضا، 1262 00:51:13,830 --> 00:51:16,070 لأن هذه الكلمات هي دائما متطابقة، فقط بسبب 1263 00:51:16,070 --> 00:51:17,290 طبيعة الأغنية. 1264 00:51:17,290 --> 00:51:20,100 وانا ذاهب لاستدعاء أي كلمة S2 أريد أن 1265 00:51:20,100 --> 00:51:21,560 تظهر في نهاية المطاف هنا. 1266 00:51:21,560 --> 00:51:25,530 الآن، حرفيا، 99 مرات من أصل 100، انها ستكون 1267 00:51:25,530 --> 00:51:28,820 نفسه في كل من تلك الحالات، وذلك لأن الجمع 3 هو (2)، 1268 00:51:28,820 --> 00:51:30,200 الجمع، 4 هو الجمع. 1269 00:51:30,200 --> 00:51:34,640 لكن في هذه الحالة الزاوية، حيث نصل ​​إلى 2 ثم 1، أو 1270 00:51:34,640 --> 00:51:37,250 حتى 1 ثم 0، انا بحاجة الى هذا المنطق. 1271 00:51:37,250 --> 00:51:41,020 لذلك لا بد لي من قضاء بعض الوقت في قانون بلدي الحصول على هذا الحق. 1272 00:51:41,020 --> 00:51:47,530 حتى لو كنت تفعل هذا، إذا كنت == 1، ثم S1 تعيين يساوي "زجاجة" 1273 00:51:47,530 --> 00:51:52,010 وS2 تساوي "زجاجات"، لأن هذا سيكون لمدة 1 1274 00:51:52,010 --> 00:51:56,340 وزجاجة، ويكون هذا ل 0 زجاجات. 1275 00:51:56,340 --> 00:51:58,250 وهذا هنا، ماذا تمثل هذه؟ 1276 00:51:58,250 --> 00:51:59,780 لمجرد أن يكون واضحا. 1277 00:51:59,780 --> 00:52:00,620 هذا هو مجرد تعليق. 1278 00:52:00,620 --> 00:52:03,730 وبالتالي فإن حقيقة أنه يمكن أن يكون مفرد الأسطر تعليقات يعني أنك 1279 00:52:03,730 --> 00:52:06,110 يمكن التعليق التعليمات البرمجية مثل هذا، لكنها شائعة أخرى 1280 00:52:06,110 --> 00:52:09,050 نموذج، أيضا، هو أنه إذا كان لديك عبارة فائقة القصيرة التي 1281 00:52:09,050 --> 00:52:11,410 تريد أن تضع نفسك وانها مجرد لوضع أكثر قابلية للقراءة 1282 00:52:11,410 --> 00:52:13,270 ذلك الحق في نهاية السطر من التعليمات البرمجية، يمكنك 1283 00:52:13,270 --> 00:52:15,230 القيام بشيء من هذا القبيل على الاطلاق. 1284 00:52:15,230 --> 00:52:20,150 >> حتى الآن ما إذا كنت تفعل ذلك؟ والا اذا كنت لا تساوي 1. 1285 00:52:20,150 --> 00:52:21,620 ذلك الانفجار يساوي - 1286 00:52:21,620 --> 00:52:23,150 ومن المعروف تعجب ب "الانفجار". 1287 00:52:23,150 --> 00:52:25,080 ذلك الانفجار = 1. 1288 00:52:25,080 --> 00:52:28,530 حتى لو كنت لا تساوي 1، ما أريد القيام به بدلا؟ 1289 00:52:28,530 --> 00:52:31,700 حسنا، الكلمة الأولى أريد أن أكون ماذا؟ 1290 00:52:34,620 --> 00:52:40,030 لذلك يجب أن تكون سلسلة 1 "زجاجات" لزجاجات الجمع، 1291 00:52:40,030 --> 00:52:42,440 وبعد ذلك سوف يكون هذا الجمع "زجاجات" أيضا، في الوقت الراهن. 1292 00:52:42,440 --> 00:52:43,800 وسنرى ما إذا كان هذا يحصل فعلا لنا 1293 00:52:43,800 --> 00:52:44,870 حيث نريد أن نذهب. 1294 00:52:44,870 --> 00:52:47,680 حتى الآن إذا كنت انتقل لأسفل هنا، لاحظ أنني في توصيل 1295 00:52:47,680 --> 00:52:50,170 لست أنا فقط، ولكن S1. 1296 00:52:50,170 --> 00:52:51,860 أنا في الأول ويسد S1. 1297 00:52:51,860 --> 00:52:54,440 ثم إلى هنا، وأنا ناقص 1، والذي هو نفس 1298 00:52:54,440 --> 00:52:55,920 من قبل، ولكن S2. 1299 00:52:55,920 --> 00:52:58,730 وبعبارة أخرى، أريد أن الكلمة الإنجليزية لتغيير أساس 1300 00:52:58,730 --> 00:52:59,930 على هذا المنطق. 1301 00:52:59,930 --> 00:53:03,310 الآن، هناك بالفعل بعض المشاكل في هذا القانون. 1302 00:53:03,310 --> 00:53:08,460 ما هو كسر بالفعل من بوابة هنا؟ 1303 00:53:08,460 --> 00:53:10,796 نعم؟ 1304 00:53:10,796 --> 00:53:13,210 AUDIENCE: [غير مسموع]. 1305 00:53:13,210 --> 00:53:13,800 >> DAVID J. مالان: بالضبط. 1306 00:53:13,800 --> 00:53:16,030 حتى لقد انتهكت بالفعل الدرس النطاق. 1307 00:53:16,030 --> 00:53:19,610 حتى لقد أعلن I S1 و S2، ولكن لقد فعلت ذلك من داخل 1308 00:53:19,610 --> 00:53:22,980 مجعد الأقواس، وهو ما يعني نعم، هذا الكود والعمل لمدة تصل 1309 00:53:22,980 --> 00:53:27,430 حتى خط 42، ولكن سرعان ما ضرب خط 43، تخمين ما لم 1310 00:53:27,430 --> 00:53:28,900 يعد موجودا؟ 1311 00:53:28,900 --> 00:53:32,600 حسنا، تخمين ما لم يعد في نطاق - لا S1 أو S2. 1312 00:53:32,600 --> 00:53:33,780 لذلك لدينا لإصلاح هذه. 1313 00:53:33,780 --> 00:53:36,180 لذلك اسمحوا لي حذف الإعلانات. 1314 00:53:36,180 --> 00:53:39,320 وسأترك أسماء المتغيرات وحذف هذا هنا 1315 00:53:39,320 --> 00:53:40,120 وحذف هذا هنا. 1316 00:53:40,120 --> 00:53:43,557 وينبغي في ما أعلن حقا خطوط هذه الأشياء؟ 1317 00:53:43,557 --> 00:53:44,960 AUDIENCE: [غير مسموع]. 1318 00:53:44,960 --> 00:53:45,410 DAVID J. مالان: نعم، وربما حتى 1319 00:53:45,410 --> 00:53:46,850 الحق هنا، 33-ISH. 1320 00:53:46,850 --> 00:53:50,670 حتى S1 سلسلة ثم سلسلة S2. 1321 00:53:50,670 --> 00:53:51,950 وكما تبين، يمكنني أن أفعل هذا. 1322 00:53:51,950 --> 00:53:54,260 إذا كنت معلنا متغيرين من نفس النوع، 1323 00:53:54,260 --> 00:53:57,420 يمكنك في الواقع مجرد استخدام فاصلة وذلك في جميع C. 1324 00:53:57,420 --> 00:53:58,970 الحق، وحتى الآن لدي اثنين من المتغيرات - 1325 00:53:58,970 --> 00:53:59,860 S1 و S2. 1326 00:53:59,860 --> 00:54:02,000 أنا تكليفهم القيم الموجودة في هذه 1327 00:54:02,000 --> 00:54:04,210 الظروف هنا، أو هنا. 1328 00:54:04,210 --> 00:54:06,690 ومن ثم أنا باستخدام عليهم أدناه. 1329 00:54:06,690 --> 00:54:10,960 مدى وهذا يحدث الآن للعمل؟ 1330 00:54:10,960 --> 00:54:12,740 >> حسنا، انها لا تزال عربة صغيرة، ولكن دعونا نرى ما لا يقل عن 1331 00:54:12,740 --> 00:54:13,730 إلى أي مدى نحن قد حصلت. 1332 00:54:13,730 --> 00:54:16,500 لذلك اسمحوا لي المضي قدما وجعل beer3. 1333 00:54:16,500 --> 00:54:17,695 هذا هو beer3؟ 1334 00:54:17,695 --> 00:54:19,410 نعم، هذا هو beer3. 1335 00:54:19,410 --> 00:54:21,510 واسمحوا لي الآن المضي قدما وتشغيل beer3. 1336 00:54:21,510 --> 00:54:23,820 399 99. 1337 00:54:23,820 --> 00:54:25,840 يمكننا تخطي ربما أكثر منهم. 1338 00:54:25,840 --> 00:54:29,100 وهنا إلى أسفل، ننظر في ذلك. 1339 00:54:29,100 --> 00:54:31,110 "واحد زجاجة من البيرة على الحائط، زجاجة واحدة من البيرة، واتخاذ 1340 00:54:31,110 --> 00:54:34,306 أحدهما أسفل، تمرير حولها، 0 زجاجات من البيرة على الحائط ". 1341 00:54:34,306 --> 00:54:37,570 ولكن أنا ألفت انتباه سعادتكم إلى النصف فقط من الحل. 1342 00:54:37,570 --> 00:54:39,620 نوع من ثمل هنا. 1343 00:54:39,620 --> 00:54:43,030 لذلك يبدو أن الحالات تنشأ الزاوية عندما يساوي ما 1344 00:54:43,030 --> 00:54:44,030 قيمتين؟ 1345 00:54:44,030 --> 00:54:45,020 AUDIENCE: 2، 1. 1346 00:54:45,020 --> 00:54:46,190 DAVID J. مالان: 2 و 1. 1347 00:54:46,190 --> 00:54:48,180 انها ليست (1) وليس 1. 1348 00:54:48,180 --> 00:54:51,890 انها حقا مجرد هذه الماضيين موشحات من هذه الأغنية. 1349 00:54:51,890 --> 00:54:53,890 فماذا أريد القيام به بدلا؟ 1350 00:54:53,890 --> 00:54:58,890 لذلك يبدو لي أن القبض على الحالة التي يكون فيها إذا كنت غير == إلى 1، 1351 00:54:58,890 --> 00:55:02,240 ثم الكلمة الأولى هي "زجاجة"، ولكن الكلمة الثانية 1352 00:55:02,240 --> 00:55:07,230 هو "زجاجات". ولكن هنا، أريد أن تغيير هذا أن يكون == 2. 1353 00:55:07,230 --> 00:55:08,570 وإذا كان هذا هو الحال، ماذا أريد 1354 00:55:08,570 --> 00:55:09,620 الكلمة الأولى أن تكون؟ 1355 00:55:09,620 --> 00:55:10,430 الجمهور: "زجاجات". 1356 00:55:10,430 --> 00:55:12,890 DAVID J. مالان: "زجاجات"، وذلك لمدة الزجاجات. 1357 00:55:12,890 --> 00:55:14,690 ومن ثم ينبغي أن تكون هذه الكلمة هنا - 1358 00:55:14,690 --> 00:55:15,340 الجمهور: "زجاجة". 1359 00:55:15,340 --> 00:55:17,316 DAVID J. مالان: "زجاجة"، بصيغة المفرد. 1360 00:55:20,430 --> 00:55:25,160 >> حسنا، دعونا تصغير، العودة إلى هنا، وإعادة تشغيل جعل، 1361 00:55:25,160 --> 00:55:28,590 إعادة تشغيل beer3، اكتب 99 مرة أخرى. 1362 00:55:28,590 --> 00:55:30,710 حسنا، "خطأ الإنقسام (الأساسية ملقاة)." 1363 00:55:30,710 --> 00:55:32,780 ما الخطأ الذي قمت به؟ 1364 00:55:36,050 --> 00:55:38,722 AUDIENCE: ليس لديك قيمة [غير مسموع]. 1365 00:55:38,722 --> 00:55:40,480 DAVID J. مالان: آه، نقطة ممتازة. 1366 00:55:40,480 --> 00:55:43,310 كل الحق، لذلك ما هو الخطأ هنا؟ 1367 00:55:43,310 --> 00:55:45,450 ذلك خطأ تجزئة، ونحن في طريقنا لرؤية الواقع 1368 00:55:45,450 --> 00:55:49,020 هذا مرات قليلة جدا في المستقبل، بشكل متعمد. 1369 00:55:49,020 --> 00:55:51,030 لكن في الوقت الراهن، ماذا يعني هذا في الواقع؟ 1370 00:55:51,030 --> 00:55:53,620 A خطأ تجزئة دائما تقريبا يعني أن لديك 1371 00:55:53,620 --> 00:55:56,760 حاول بطريقة أو بأخرى للوصول إلى الذاكرة، ذاكرة الوصول العشوائي في جهاز الكمبيوتر الخاص بك، 1372 00:55:56,760 --> 00:56:00,600 ان كنت لا الخاصة، التي لم تكن قد طلبت فعلا 1373 00:56:00,600 --> 00:56:02,050 نظام التشغيل ل. 1374 00:56:02,050 --> 00:56:04,440 حتى في هذه الحالة، لاحظ ما فعلته، وهو 1375 00:56:04,440 --> 00:56:05,870 معيبة في منطق بلدي. 1376 00:56:05,870 --> 00:56:09,500 وقد كلفت S1 و S2 قيمة تساوي 1 إذا كنت. 1377 00:56:09,500 --> 00:56:11,590 لقد فعلت أيضا أنه إذا كنت يساوي 2. 1378 00:56:11,590 --> 00:56:13,710 ولكنني لم تفعل ذلك في عدد لا حصر له من غيرها 1379 00:56:13,710 --> 00:56:14,690 الاحتمالات - 1380 00:56:14,690 --> 00:56:17,940 على وجه الخصوص، 3 أو 4 أو نقطة، نقطة، نقطة، 99. 1381 00:56:17,940 --> 00:56:20,100 لذلك يمكن للمرء أن يكون إصلاح هذه فقط دعونا 1382 00:56:20,100 --> 00:56:22,190 لديك حالة آخر. 1383 00:56:22,190 --> 00:56:26,780 واسمحوا لي ان اذهب هنا ويقولون S1 يساوي - 1384 00:56:26,780 --> 00:56:28,180 وينبغي أن يكون ما هنا؟ 1385 00:56:28,180 --> 00:56:28,750 AUDIENCE: [غير مسموع]. 1386 00:56:28,750 --> 00:56:30,460 >> DAVID J. مالان: "زجاجات"، لأنه في الحالة العامة، 1387 00:56:30,460 --> 00:56:32,020 انها مجرد الشيء نفسه. 1388 00:56:32,020 --> 00:56:35,580 يساوي ذلك الاقتباس، نهاية الاقتباس "زجاجات". ذلك لجمع 1389 00:56:35,580 --> 00:56:41,010 زجاجات، وبعد ذلك هنا، لزجاجات الجمع. 1390 00:56:41,010 --> 00:56:44,580 حسنا، لذلك اسمحوا لي أن أعود الآن إلى إطار المحطة الطرفية بلدي، 1391 00:56:44,580 --> 00:56:47,200 إعادة ترجمة وإعادة تشغيله. 1392 00:56:47,200 --> 00:56:48,440 99. 1393 00:56:48,440 --> 00:56:49,150 يا للعجب. 1394 00:56:49,150 --> 00:56:50,610 ودعونا نفعل شيك التعقل سريعة. 1395 00:56:50,610 --> 00:56:52,400 من الناحية الفنية، لكنا تريد أن تقرأ كل هذه للتأكد من 1396 00:56:52,400 --> 00:56:53,370 انهم الصحيح، ولكن دعونا ننظر إلى 1397 00:56:53,370 --> 00:56:54,640 الأقل الجناة المعروفة. 1398 00:56:54,640 --> 00:56:57,370 3 زجاجات، 2 زجاجات، 2 زجاجات، 1 1399 00:56:57,370 --> 00:57:00,380 زجاجة، 1 زجاجة، 0 زجاجات. 1400 00:57:00,380 --> 00:57:03,080 يبدو أننا على الأقل ثابتة في الوقت الراهن. 1401 00:57:03,080 --> 00:57:06,010 لكن الصيد هنا هو أن ما فوضى فظيعة وهذا هو الله 1402 00:57:06,010 --> 00:57:07,470 فقط من أجل حل غبي 1403 00:57:07,470 --> 00:57:09,540 حرف واحد التفاصيل النحوية. 1404 00:57:09,540 --> 00:57:11,150 ولذلك لا يوجد سبب نوع من أنني قطعت هذه الزاوية 1405 00:57:11,150 --> 00:57:14,090 في وقت سابق، لأنه مجرد مزعج تماما لدينا ل 1406 00:57:14,090 --> 00:57:15,020 اكتب هذا الرمز من ذلك بكثير. 1407 00:57:15,020 --> 00:57:17,530 ولكن تبين أن هناك طرق أكثر أناقة قليلا من 1408 00:57:17,530 --> 00:57:20,110 معربا عن نفس الشيء بالضبط. 1409 00:57:20,110 --> 00:57:22,040 ويمكننا أن نفعل هذا على النحو التالي. 1410 00:57:22,040 --> 00:57:23,890 >> اسمحوا لي أن اترك هذا على الشاشة للحظة و 1411 00:57:23,890 --> 00:57:27,320 إدخال ما يعرف باسم مشغل الثلاثي. 1412 00:57:27,320 --> 00:57:29,600 هذا هو نوع من الخطوط الملاحية المنتظمة واحد وهذا ما يعني فقط لجعل لدينا 1413 00:57:29,600 --> 00:57:31,880 يعيش أكثر جنسية قليلا، كما وعدت. 1414 00:57:31,880 --> 00:57:33,130 وانا ذاهب الى القيام بذلك على النحو التالي. 1415 00:57:33,130 --> 00:57:35,810 أعطني سلسلة دعا S1، واسمحوا لي 1416 00:57:35,810 --> 00:57:37,200 تعيينه على النحو التالي. 1417 00:57:37,200 --> 00:57:39,900 (ط == 1)؟ 1418 00:57:39,900 --> 00:57:47,820 "زجاجة"، وإلا "زجاجات". سلسلة S2 يحصل (ط == 2)؟ 1419 00:57:47,820 --> 00:57:52,670 "زجاجة"، وإلا "زجاجات". 1420 00:57:52,670 --> 00:57:57,050 فما هو الفرق ثم هنا؟ 1421 00:57:57,050 --> 00:57:59,370 هذين الخطين من التعليمات البرمجية، كما أرى، يمكن 1422 00:57:59,370 --> 00:58:02,200 استبدال هذه الفوضى كلها. 1423 00:58:02,200 --> 00:58:04,280 لذلك أنا أسميها فوضى، فقط لأنها نوع من التدليك لي 1424 00:58:04,280 --> 00:58:05,940 الخطأ الطريقة أنه من خطوط الكثير من التعليمات البرمجية. 1425 00:58:05,940 --> 00:58:06,650 ليس من الخطأ. 1426 00:58:06,650 --> 00:58:07,700 انها ليست سيئة التصميم. 1427 00:58:07,700 --> 00:58:10,140 مثل، وهذا هو الصحيح تماما، وغرامة تماما. 1428 00:58:10,140 --> 00:58:12,970 ولكن الترميز يحصل مملة إذا كان لديك للتعبير عن نفسك حتى 1429 00:58:12,970 --> 00:58:15,530 اللعنة على وجه التحديد مرة أخرى ومرة ​​أخرى ومرة ​​أخرى مع بسيطة 1430 00:58:15,530 --> 00:58:16,620 مثل هذا السيناريو. 1431 00:58:16,620 --> 00:58:19,470 لذلك لديه بعض اختصارات C، مثل هذا. 1432 00:58:19,470 --> 00:58:24,270 لذلك هذا الأساس يقول تعلن سلسلة دعا S1 و 1433 00:58:24,270 --> 00:58:32,610 تعيين أنه إما هذه القيمة أو هذه القيمة إذا كنت غير == - 1434 00:58:32,610 --> 00:58:35,290 عذرا، يجب أن أقول هذا بشكل أكثر وضوحا. 1435 00:58:35,290 --> 00:58:41,680 إعلان متغير S1، تعيين هذه القيمة أنه إذا كان هذا هو الصحيح. 1436 00:58:41,680 --> 00:58:44,280 خلاف ذلك، عين له هذه القيمة. 1437 00:58:44,280 --> 00:58:47,220 لذلك وبعبارة أخرى، وهذا هو نوع من وسيلة من سطر واحد من 1438 00:58:47,220 --> 00:58:51,490 والا اذا قائلا لكنه لا يفعل واجب على طول الطريق. 1439 00:58:51,490 --> 00:58:55,540 حتى لو كنت هي 1، ثم المضي قدما ونسمي هذا "زجاجة". و 1440 00:58:55,540 --> 00:58:59,830 ثم وهذا آخر، يطلق عليه "زجاجات". وفي الوقت نفسه، S2، في 1441 00:58:59,830 --> 00:59:04,060 الكلمة الثانية أننا في حاجة إلى تعريف، إذا كنت يساوي 2، سنقوم 1442 00:59:04,060 --> 00:59:08,350 تعيين S2 ب "زجاجة". خلاف ذلك، لأنها مجموعة "زجاجات". وما 1443 00:59:08,350 --> 00:59:11,460 يعني الآن أستطيع أن تذهب من خلال ذلك، وحذف كافة 1444 00:59:11,460 --> 00:59:12,860 تلك الأسطر من التعليمات البرمجية. 1445 00:59:12,860 --> 00:59:17,220 وعندما أقول، يبعث على السخرية إلى حد ما، أن هذا هو الآن 1446 00:59:17,220 --> 00:59:20,060 أكثر جنسية، انها أكثر جنسية في نوع من الشعور الأسلوبية. 1447 00:59:20,060 --> 00:59:22,660 حقيقة أن وظيفيا، هذا الرمز هو الذهاب فعلا إلى 1448 00:59:22,660 --> 00:59:24,610 تفعل الشيء نفسه بالضبط. 1449 00:59:24,610 --> 00:59:26,890 وعلى الرغم من أنه قد ننظر قليلا خفي في البداية 1450 00:59:26,890 --> 00:59:29,250 وهلة، لأننا لم نر هذا البناء قبل، كنت 1451 00:59:29,250 --> 00:59:31,850 يقولون ان انه سيكون في نهاية المطاف إلى أن تكون أكثر من ذلك بكثير 1452 00:59:31,850 --> 00:59:34,820 قراءة وأسهل بكثير لأننا بشر لفرز من 1453 00:59:34,820 --> 00:59:36,830 فهم، لأنه الآن يمكنك أن تقرأ فقط 1454 00:59:36,830 --> 00:59:38,830 رمز كل على سطر واحد. 1455 00:59:38,830 --> 00:59:41,550 انها لا تزال مماثلة في الروح إلى الإطار المتكامل، حيث هذا هو 1456 00:59:41,550 --> 00:59:44,920 حالة وثم وهذا هو ما هو داخل هذا إذا و 1457 00:59:44,920 --> 00:59:46,480 ما هو داخل آخر. 1458 00:59:46,480 --> 00:59:49,450 ولكن يمكننا أن نفعل هذا بكثير فقط أكثر أناقة. 1459 00:59:49,450 --> 00:59:52,650 >> وإذا ذهبت الآن إلى محطة بلدي، بعد أن حذف جميع 1460 00:59:52,650 --> 00:59:55,530 هذه الخطوط وحلت محلها مع اثنين من تلك فقط، 1461 00:59:55,530 --> 01:00:00,150 إعادة ترجمة وإعادة تشغيل زجاجات من البيرة مع 99، لاحظ أن بلدي 1462 01:00:00,150 --> 01:00:03,350 النحو هو، في الواقع، لا يزال صحيحا. 1463 01:00:03,350 --> 01:00:06,160 ذلك مرة أخرى، وهو أمر لبدء. 1464 01:00:06,160 --> 01:00:08,840 2 زجاجة من البيرة، 1 زجاجة من البيرة. 1465 01:00:08,840 --> 01:00:09,370 يبدو الحق. 1466 01:00:09,370 --> 01:00:10,100 نعم. 1467 01:00:10,100 --> 01:00:13,900 هناك لذلك لدينا حل مقتضبة أكثر من ذلك بكثير. 1468 01:00:13,900 --> 01:00:16,020 لذلك هذا، أيضا، كما تحصل على أكثر راحة مع C، وليس 1469 01:00:16,020 --> 01:00:18,630 بالضرورة مع pset الأول أو الثاني حتى، ولكن 1470 01:00:18,630 --> 01:00:21,170 ندرك أن هذه التركيبات يمكن أن تسمح لنا أن تفعل أشياء من أي وقت مضى 1471 01:00:21,170 --> 01:00:22,810 أكثر أناقة. 1472 01:00:22,810 --> 01:00:25,200 الآن دعونا نفعل شيئا واحدا أخرى هنا. 1473 01:00:25,200 --> 01:00:31,460 اسمحوا لي أن تمضي قدما وفتح return1.c. 1474 01:00:31,460 --> 01:00:34,340 الآن دعونا نبدأ في حل مشكلة أخرى بطريقة 1475 01:00:34,340 --> 01:00:37,140 يسمح لنا لكتابة رمز أكثر تطورا. 1476 01:00:37,140 --> 01:00:39,960 >> حتى هنا برنامج بسيط قليلا هدفها في الحياة 1477 01:00:39,960 --> 01:00:41,870 هو زيادة القيم. 1478 01:00:41,870 --> 01:00:43,100 وفعلا، دعونا اتخاذ خطوة إلى الوراء. 1479 01:00:43,100 --> 01:00:44,400 اسمحوا لي أن القيام بذلك يدويا. 1480 01:00:44,400 --> 01:00:52,200 اسمحوا لي أن تفعل تشمل والباحث الرئيسي (الفراغ). 1481 01:00:52,200 --> 01:00:53,450 واسمحوا لي أن أسمي هذا increment.c. 1482 01:00:57,150 --> 01:00:58,570 وماذا أريد أن أفعل؟ 1483 01:00:58,570 --> 01:01:02,240 انا ذاهب الى المضي قدما وتقول شيئا مثل - 1484 01:01:02,240 --> 01:01:04,280 وسندعو الأرقام نفسها - 1485 01:01:04,280 --> 01:01:04,980 الباحث العاشر. 1486 01:01:04,980 --> 01:01:13,670 حتى يحصل الباحث X 2؛ printf X هو د٪، سطر جديد، X. 1487 01:01:13,670 --> 01:01:16,780 لذلك أنا كتابة سريعة، ولكن نوع من الاشياء المألوفة الآن. 1488 01:01:16,780 --> 01:01:18,830 ثم انا ذاهب الى القيام X + +. 1489 01:01:18,830 --> 01:01:21,710 ثم أنا ذاهب لطباعة تلك الجملة نفسها مرة أخرى. 1490 01:01:21,710 --> 01:01:24,550 ثم انا ذاهب الى بإرجاع 0 فقط لإنهاء البرنامج. 1491 01:01:24,550 --> 01:01:25,960 كل الحق، لذلك هذا هو البرنامج الذي 1492 01:01:25,960 --> 01:01:26,960 زيادات رقم. 1493 01:01:26,960 --> 01:01:29,830 انه سيكون أول من تهيئة شيء ل2، ومن ثم فإنه من 1494 01:01:29,830 --> 01:01:33,470 الذهاب الى زيادة ذلك وطباعته مرة أخرى. 1495 01:01:33,470 --> 01:01:36,930 >> لذلك دعونا تشغيل الزيادة، برنامج بسيط بشكل لا يصدق. 1496 01:01:36,930 --> 01:01:40,940 ولكن لنفترض الآن أنني أريد أن قيمة مكعب، بذلك 1497 01:01:40,940 --> 01:01:42,490 إلى حد ما شيئا التعسفي. 1498 01:01:42,490 --> 01:01:45,140 وأريد فعلا أن تفعل X يحصل على المكعب منه. 1499 01:01:45,140 --> 01:01:47,570 لذلك يمكن أن تستخدم ما يسمى وظيفة الأسرى، ولكن أنا لا 1500 01:01:47,570 --> 01:01:48,650 حيث أن نعرف حقا هو حتى الان. 1501 01:01:48,650 --> 01:01:50,580 لذلك أنا ذاهب الى القيام بذلك بالطريقة القديمة الطراز. 1502 01:01:50,580 --> 01:01:54,550 X X يساوي أضعاف هذه الأوقات X X مرات. 1503 01:01:54,550 --> 01:01:56,880 لذلك أنا التكعيب القيمة، ضرب من قبل نفسه مرة أخرى 1504 01:01:56,880 --> 01:02:00,440 ومرة أخرى ومرة ​​أخرى، حتى يتسنى لنا الحصول على الطاقة 1505 01:02:00,440 --> 01:02:02,050 من 3 في هذه الحالة. 1506 01:02:02,050 --> 01:02:06,000 حتى الآن يجب أن أعداد أود أن تكون طباعة، كما سنرى 1507 01:02:06,000 --> 01:02:08,450 هنا - جعل الزيادة، لذلك في الواقع ليس حقا زيادة 1508 01:02:08,450 --> 01:02:10,260 بعد الآن، ولكن سوف نترك الاسم وحده - 1509 01:02:10,260 --> 01:02:11,590 2 ثم 8. 1510 01:02:11,590 --> 01:02:17,670 الآن، لدينا بدايات فرصة لصقل 1511 01:02:17,670 --> 01:02:21,570 هنا، حيث هذا الشيء التكعيب من ضرب عدد 1512 01:02:21,570 --> 01:02:24,680 قد حد ذاته في حد ذاته في حد ذاته يشعر مثل هذا يكون مجرد 1513 01:02:24,680 --> 01:02:27,920 من المفيد الحصول على وظيفة، مثل الكثير شخص قرر 1514 01:02:27,920 --> 01:02:30,430 منذ سنوات - كما تعلمون، نوع من المفيد لو واحد منا يجلس 1515 01:02:30,430 --> 01:02:33,120 ويكتب ذلك printf أن بقية العالم يمكن استخدامه، 1516 01:02:33,120 --> 01:02:36,160 لماذا لا نجلس وكتابة دالة يسمى مكعب 1517 01:02:36,160 --> 01:02:39,250 التي لا التكعيب هذا بالنسبة لنا لذلك نحن لا يجب أن يدويا 1518 01:02:39,250 --> 01:02:41,500 تنفيذ فكرة التكعيب القيم هنا؟ 1519 01:02:41,500 --> 01:02:44,040 >> ذلك مثال بسيط، ولكن دعونا نمضي قدما واستخدام هذا بوصفه 1520 01:02:44,040 --> 01:02:46,280 فرصة لكتابة وظيفة الخاصة بنا. 1521 01:02:46,280 --> 01:02:49,110 لذلك حتى الآن، لقد استخدمنا المعلومات الرئيسية، ونحن قد استخدمت الأخرى 1522 01:02:49,110 --> 01:02:51,780 وظائف الناس، لكننا لم يكتب عاداتنا وتقاليدنا. 1523 01:02:51,780 --> 01:02:52,650 حتى هنا نذهب. 1524 01:02:52,650 --> 01:02:56,330 انا ذاهب الى المضي قدما في الكتابة دالة يسمى المكعب. 1525 01:02:56,330 --> 01:02:58,490 وانا ذاهب الى انها قد تأخذ مدخلا. 1526 01:02:58,490 --> 01:03:02,070 حتى مدخلاتها سيكون عدد صحيح. 1527 01:03:02,070 --> 01:03:03,570 وما هو الذهاب الى القيام به؟ 1528 01:03:03,570 --> 01:03:08,500 انها سوف تعلن خرج الباحث = المدخلات المدخلات مرات 1529 01:03:08,500 --> 01:03:09,880 مرات الإدخال. 1530 01:03:09,880 --> 01:03:12,190 وبعد ذلك يحدث أن خرج للعودة. 1531 01:03:12,190 --> 01:03:14,500 ومن ثم لا بد لي من أن تكون محددة الآن. 1532 01:03:14,500 --> 01:03:16,820 هذه الوظيفة هو الذهاب لإرجاع INT. 1533 01:03:16,820 --> 01:03:19,130 ذلك ثم هنا هو كيف كنت اكتب الوظائف الخاصة بك. 1534 01:03:19,130 --> 01:03:20,850 عليك أن تقرر أولا ما هو اسم الخاص بك 1535 01:03:20,850 --> 01:03:21,720 وظيفة ستكون. 1536 01:03:21,720 --> 01:03:23,964 وعموما، شيء تفسيرية جيدة، ولذا فإنني سوف 1537 01:03:23,964 --> 01:03:25,060 يطلق عليه مكعب. 1538 01:03:25,060 --> 01:03:27,180 ثم لديك لتحديد ما يحدث في العودة، ما هو 1539 01:03:27,180 --> 01:03:28,240 انتاجها ستكون. 1540 01:03:28,240 --> 01:03:29,595 وليس لدينا خيارات كثيرة أن بعد. 1541 01:03:29,595 --> 01:03:32,260 الباحث، شار، تطفو، BOOL، السلسلة. 1542 01:03:32,260 --> 01:03:34,260 في الوقت الراهن، أنا ذاهب إلى العصا مع الباحث، لأنني أريد ذلك 1543 01:03:34,260 --> 01:03:35,880 لإرجاع عدد صحيح. 1544 01:03:35,880 --> 01:03:38,770 ثم لديك لتحديد ما مدخلاته، إن وجدت، هي. 1545 01:03:38,770 --> 01:03:41,570 وإذا كان مكعب يأخذ حجة، يأخذ شيئا بين 1546 01:03:41,570 --> 01:03:44,970 أقواس، يجب ان تعطي هذه الحجة اسم بحيث 1547 01:03:44,970 --> 01:03:47,860 يمكنك يطلق عليه شيء كما كنت تنفيذ أو الكتابة 1548 01:03:47,860 --> 01:03:50,550 هذه الوظيفة، وعليك أن تعطيه النوع، وهو في هذه 1549 01:03:50,550 --> 01:03:51,810 الحالة ستكون كثافة العمليات. 1550 01:03:51,810 --> 01:03:54,690 لذلك باختصار، هي وظيفة المكعب التي تأخذ عدد صحيح 1551 01:03:54,690 --> 01:03:57,560 وكمدخل بإرجاع عدد صحيح والإخراج. 1552 01:03:57,560 --> 01:03:59,240 >> فماذا تفعل مع هذا المدخل؟ 1553 01:03:59,240 --> 01:04:03,710 حسنا، في السطر 14، أعلن إخراج متغير يسمى، وأنا 1554 01:04:03,710 --> 01:04:07,410 تعيين له قيمة، والمدخلات المدخلات مرات مرات الإدخال. 1555 01:04:07,410 --> 01:04:11,490 ثم أعود الإخراج. 1556 01:04:11,490 --> 01:04:14,890 فكيف يمكنني استخدام هذا بعد ذلك؟ 1557 01:04:14,890 --> 01:04:19,210 ما يمكنني تغيير أبرز هذه الشخصيات على الخط 1558 01:04:19,210 --> 01:04:21,006 7 إلى أن، هل تعتقد؟ 1559 01:04:21,006 --> 01:04:21,800 AUDIENCE: [غير مسموع]. 1560 01:04:21,800 --> 01:04:25,570 DAVID J. مالان: نعم، حتى مكعب العاشر. 1561 01:04:25,570 --> 01:04:28,290 حتى X هو متغير، وهذا يعني انها تحمل بعض القيمة. 1562 01:04:28,290 --> 01:04:30,190 لحسن الحظ، انها من نوع عدد صحيح. 1563 01:04:30,190 --> 01:04:34,280 ولأن X هو الباحث، وهذا يعني أنني يمكن أن تمر عليه في المكعب. 1564 01:04:34,280 --> 01:04:39,500 وعلى الرغم من أنني تجاوز قيمة x مع قيمة 1565 01:04:39,500 --> 01:04:42,780 العاشر مكعب، كما كان الحال حتى الآن، في أي وقت تقوم 1566 01:04:42,780 --> 01:04:46,150 لديك علامة المساواة وسطر من التعليمات البرمجية، والاشياء على الحق 1567 01:04:46,150 --> 01:04:49,090 يعدم ومن ثم يحصل المسندة إلى 1568 01:04:49,090 --> 01:04:50,150 قيمة على اليمين. 1569 01:04:50,150 --> 01:04:52,950 وبالتالي فإن ترتيب العمليات كما كنا نأمل. 1570 01:04:52,950 --> 01:04:56,620 فهل هذا العمل؟ 1571 01:04:56,620 --> 01:04:58,410 حسنا، اسمحوا لي هنا تنخفض. 1572 01:04:58,410 --> 01:04:59,970 اسمحوا لي أن فتح نافذتي المحطة الطرفية. 1573 01:04:59,970 --> 01:05:03,610 اسمحوا لي أن لا تجعل الزيادة، أدخل. 1574 01:05:03,610 --> 01:05:07,140 "إعلان ضمني من" المكعب "وظيفة في غير صالح 1575 01:05:07,140 --> 01:05:13,700 C99. "بوصفها جانبا، C99 يشير إلى C اللغة كما كان 1576 01:05:13,700 --> 01:05:16,790 وكان الذي حدد في عام 1999، تحديثا على نسخة من 1577 01:05:16,790 --> 01:05:19,360 عام 1989، وهو التحديث عبر الأصلي. 1578 01:05:19,360 --> 01:05:21,740 ذلك أن كل ما الوسائل. 1579 01:05:21,740 --> 01:05:24,250 >> فماذا يعني ذلك أن "إعلان ضمني 1580 01:05:24,250 --> 01:05:26,790 "المكعب" وظيفة غير صالح؟ "انها هنا. 1581 01:05:26,790 --> 01:05:28,430 فهي موجودة مباشرة في السطر 12. 1582 01:05:28,430 --> 01:05:30,460 AUDIENCE: [غير مسموع]. 1583 01:05:30,460 --> 01:05:30,730 DAVID J. مالان: ما هذا؟ 1584 01:05:30,730 --> 01:05:32,470 AUDIENCE: أنها ليست من قبل. 1585 01:05:32,470 --> 01:05:33,540 DAVID J. مالان: أنها ليست من قبل. 1586 01:05:33,540 --> 01:05:34,740 لذلك هذا هو الشيء. 1587 01:05:34,740 --> 01:05:38,190 C هو نوع من الغباء، أو المجمعين C هي نوع من الغباء. 1588 01:05:38,190 --> 01:05:41,060 انهم حقا إلا ما كنت اقول لهم القيام به. 1589 01:05:41,060 --> 01:05:44,770 وأنها، على وجه الخصوص، للقراءة فقط أعلى التعليمات البرمجية إلى أسفل، 1590 01:05:44,770 --> 01:05:45,620 من اليسار إلى اليمين. 1591 01:05:45,620 --> 01:05:49,140 إذا كان الأمر كذلك المترجم، ضجيج، وقراءة التعليمات البرمجية، خط 1، 1592 01:05:49,140 --> 01:05:50,120 الأرقام إلى كيفية القيام بذلك. 1593 01:05:50,120 --> 01:05:50,940 أوه، هنا يأتي الرئيسي. 1594 01:05:50,940 --> 01:05:53,000 حسنا، اسمحوا لي أن تمضي قدما ويعلن متغير x. 1595 01:05:53,000 --> 01:05:54,160 اسمحوا لي طباعة شيء ما. 1596 01:05:54,160 --> 01:05:55,890 السطر 7، ما هيك هو المكعب؟ 1597 01:05:55,890 --> 01:05:58,230 ليست إعلانها في stdio.h. 1598 01:05:58,230 --> 01:06:00,950 لا يأتي مع C. ليس لدي فكرة عما يجب القيام به. 1599 01:06:00,950 --> 01:06:03,960 وهكذا ضجيج كفالات عادل وإنهاء مع تلك الرسالة الخطأ. 1600 01:06:03,960 --> 01:06:05,850 حتى نتمكن من إصلاح هذا في عدة طرق. 1601 01:06:05,850 --> 01:06:10,530 يمكننا تعليم ضجيج ما هو مكعب فقط عن طريق تحريك حيث 1602 01:06:10,530 --> 01:06:11,820 الإعلان هو. 1603 01:06:11,820 --> 01:06:14,640 لذلك أنا قص ولصق من فوق الرئيسي. 1604 01:06:14,640 --> 01:06:17,770 ندرك الآن أن مجرد الرئيسي لم يعد الأولى، فإنه من 1605 01:06:17,770 --> 01:06:19,150 لا يزال تنفيذها بشكل افتراضي. 1606 01:06:19,150 --> 01:06:20,060 الرئيسي هو الرئيسي. 1607 01:06:20,060 --> 01:06:21,022 انها اسم الدالة الافتراضية. 1608 01:06:21,022 --> 01:06:22,930 لا يهم أين هو في ملف. 1609 01:06:22,930 --> 01:06:26,910 ولكن على الأقل الآن شهدت ضجيج مكعب قبل أن استخدامها. 1610 01:06:26,910 --> 01:06:28,500 لذلك دعونا نرى ما اذا كان هو ضجيج أكثر سعادة الآن. 1611 01:06:28,500 --> 01:06:31,410 جعل الزيادة، فإنه يجمع هذه المرة. 1612 01:06:31,410 --> 01:06:33,060 >> اسمحوا لي أن تشغيل الزيادة. 1613 01:06:33,060 --> 01:06:34,810 وبالفعل، يبدو أن العمل. 1614 01:06:34,810 --> 01:06:36,810 الآن، يمكنك الخروج مع سيناريوهات نهاية المطاف حيث 1615 01:06:36,810 --> 01:06:38,650 انها ليست مجدية لوضع كل وظيفة 1616 01:06:38,650 --> 01:06:39,740 فوق كل وظيفة أخرى. 1617 01:06:39,740 --> 01:06:42,140 سوف واجهتك مشكلة في هذا حلقة لا نهائية في الواقع، 1618 01:06:42,140 --> 01:06:43,480 حيث هذا الرجل يريد أن يكون هنا ولكن هذا 1619 01:06:43,480 --> 01:06:44,390 الرجل يجب أن يكون هناك. 1620 01:06:44,390 --> 01:06:45,830 بحيث لا يعمل دائما. 1621 01:06:45,830 --> 01:06:49,020 الحمد لله كان الأمر كذلك، C لها حل أكثر أناقة. 1622 01:06:49,020 --> 01:06:50,790 انا ذاهب الى وضع هذا الى حيث كان، فقط لأنني 1623 01:06:50,790 --> 01:06:53,390 تفضل، على سبيل المبدأ، أن تكون دائما الرئيسي 1624 01:06:53,390 --> 01:06:55,550 في الجزء العلوي، لأنه لطيف فقط لرؤية ما هذا البرنامج 1625 01:06:55,550 --> 01:06:56,920 لا بشكل افتراضي. 1626 01:06:56,920 --> 01:06:58,950 وما أنا ذاهب الى القيام به هنا هو أن يعلن ما يسمى 1627 01:06:58,950 --> 01:07:00,250 نموذج أولي. 1628 01:07:00,250 --> 01:07:05,730 أنا ذاهب لإعادة يعلن مهامي مكعب من حرفيا 1629 01:07:05,730 --> 01:07:07,180 النسخ واللصق. 1630 01:07:07,180 --> 01:07:08,290 في الواقع، هذا ليس حرفيا. 1631 01:07:08,290 --> 01:07:13,060 حرفيا حتى نسخ ولصق السطر 15 1632 01:07:13,060 --> 01:07:15,160 حتى فوق خط 6. 1633 01:07:15,160 --> 01:07:17,010 لا يهم ما هذا الخط ينتهي على. 1634 01:07:17,010 --> 01:07:18,380 يحدث أن يكون على خط 4. 1635 01:07:18,380 --> 01:07:19,950 ولكنه يجب أن يكون الهدف الرئيسي من قبل. 1636 01:07:19,950 --> 01:07:21,150 ولكن لاحظ الفرق. 1637 01:07:21,150 --> 01:07:24,100 السطر 4 ينتهي بفاصلة منقوطة، وهو ما يعني مهلا، 1638 01:07:24,100 --> 01:07:27,510 رنة، تأخذ في كلمة بلدي لذلك أن هناك وظيفة 1639 01:07:27,510 --> 01:07:31,350 دعا المكعب الذي يأخذ الباحث وتقوم بإرجاع عدد صحيح. 1640 01:07:31,350 --> 01:07:33,020 ولكن أنا لا ستعمل اقول لكم ما هو عليه حتى الان. 1641 01:07:33,020 --> 01:07:35,180 أعرف فقط أن أعدكم أن أقول لك في نهاية المطاف. 1642 01:07:35,180 --> 01:07:38,490 وبالفعل، والآن لا بأس أن هذا هو في الأسفل. 1643 01:07:38,490 --> 01:07:41,275 >> لذلك هذا هو أفضل بشكل عام، وذلك لأن ثم في الجزء العلوي من 1644 01:07:41,275 --> 01:07:44,240 الملف الخاص بك، يمكنك حشرجة الموت قبالة وسريعة لإطلاق النار، سطر واحد 1645 01:07:44,240 --> 01:07:46,470 كل ما أسماء الدالات الخاصة بك، ما لهم 1646 01:07:46,470 --> 01:07:49,120 المدخلات هي، ما هي نتائجها. 1647 01:07:49,120 --> 01:07:52,210 وأن تكون أكثر وضوحا، والمدخلات الوسيطة أو عموما يعني 1648 01:07:52,210 --> 01:07:54,110 المعلمة، مترادفين. 1649 01:07:54,110 --> 01:07:56,890 خرج يعني قيمة الإرجاع، ماذا 1650 01:07:56,890 --> 01:07:58,700 ومن ناحية back to ي. 1651 01:07:58,700 --> 01:08:03,420 حتى في هذه الحالة هنا، قد أعلن مكعب في القمة، ولكن 1652 01:08:03,420 --> 01:08:06,940 محددة، والمعروف باسم تنفيذها، في الجزء السفلي. 1653 01:08:06,940 --> 01:08:09,620 حتى الآن دعونا نعود هنا وإعادة تشغيل هذا. 1654 01:08:09,620 --> 01:08:13,430 لذلك اسمحوا لي الآن المضي قدما وإعادة تشغيل جعل، إعادة تشغيل الزيادة. 1655 01:08:13,430 --> 01:08:16,500 ويبدو الآن أن تعمل على ما يرام. 1656 01:08:16,500 --> 01:08:19,450 حتى الآن لا يمكننا المضي قدما وعامل شيئا مثل 1657 01:08:19,450 --> 01:08:23,720 البيرة سبيل المثال في هذا الإصدار الرابع. 1658 01:08:23,720 --> 01:08:25,590 لذلك اسمحوا لي انزل هنا. 1659 01:08:25,590 --> 01:08:28,149 وتلاحظ أن النوع الأول من هذا الدرس لأخذ القلب للتو. 1660 01:08:28,149 --> 01:08:31,140 حقيقة أنني كنت الغناء مقطع نفسه مرة أخرى و 1661 01:08:31,140 --> 01:08:34,130 مرارا وتكرارا، خط جوقة نفسه في الأغنية، ورأى 1662 01:08:34,130 --> 01:08:36,439 مثل لماذا لا أستطيع أن عامل للخروج الى وظيفة؟ 1663 01:08:36,439 --> 01:08:38,470 وبالفعل، وهذا ينبغي أن يكون واحدا من الدوافع. 1664 01:08:38,470 --> 01:08:40,960 بالإضافة إلى حقيقة أن شخص آخر في العالم قد ترغب 1665 01:08:40,960 --> 01:08:42,390 لاستخدام وظيفة المكعب - 1666 01:08:42,390 --> 01:08:44,560 وهذا سبب وجيه لعامل شيء والكتابة الخاصة بك 1667 01:08:44,560 --> 01:08:45,720 العرف وظيفة الخاصة - 1668 01:08:45,720 --> 01:08:48,720 إذا كان هناك جزء من التعليمات البرمجية في البرنامج الذي يجعل فقط 1669 01:08:48,720 --> 01:08:51,370 المفاهيمي المعنى، الذي نوع من تريد أن تقدم له 1670 01:08:51,370 --> 01:08:53,740 الاسم - مثل جوقة، في هذه الحالة - 1671 01:08:53,740 --> 01:08:57,380 ثم يمكنك كتابة بالمثل أن كدالة منفصلة. 1672 01:08:57,380 --> 01:08:59,560 لم يكن لديك لكتابة كل شيء في الرئيسية فقط إذا كان 1673 01:08:59,560 --> 01:09:02,609 يشعر النظيف لفصل بها وإعطائها اسما. 1674 01:09:02,609 --> 01:09:05,529 >> حتى في هذه الحالة هنا، لاحظ أن لدي تعليق على قمة 1675 01:09:05,529 --> 01:09:06,859 هذه الوظيفة أن تغني فقط حول 1676 01:09:06,859 --> 01:09:08,630 تحديد عدد الزجاجات. 1677 01:09:08,630 --> 01:09:10,609 تلاحظ هنا بأني لا تحتاج إلى استدعاء هذه 1678 01:09:10,609 --> 01:09:12,520 الأشياء المدخلات والمخرجات. 1679 01:09:12,520 --> 01:09:16,090 في الواقع، وهذه المرة أنا فقط ودعا لي ب مدخلات للزجاجة. 1680 01:09:16,090 --> 01:09:19,960 وتلاحظ هنا، يشير الفراغ ماذا؟ 1681 01:09:19,960 --> 01:09:21,309 أن جوقة - 1682 01:09:21,309 --> 01:09:22,660 AUDIENCE: لا يرده. 1683 01:09:22,660 --> 01:09:23,870 DAVID J. مالان: لا ترجع قيمة. 1684 01:09:23,870 --> 01:09:26,800 وبالفعل، لم يكن لديك وظائف لإرجاع القيم. 1685 01:09:26,800 --> 01:09:28,060 فإنها يمكن أن تفعل شيئا فقط. 1686 01:09:28,060 --> 01:09:30,270 يمكن أن يكون ما يسمى الآثار الجانبية، وهو في هذه 1687 01:09:30,270 --> 01:09:33,109 القضية هي مجرد حفنة كاملة من الطباعة على الشاشة. 1688 01:09:33,109 --> 01:09:36,580 تلاحظ ذلك أن هذا الرمز هنا، وأنا حرفيا فقط من سرق 1689 01:09:36,580 --> 01:09:37,680 المثال السابق. 1690 01:09:37,680 --> 01:09:39,930 والفرق الوحيد هو بدلا من استخدام ط كما بلدي 1691 01:09:39,930 --> 01:09:42,890 متغير، وأنا الآن باستخدام ب كمتغير بلدي. 1692 01:09:42,890 --> 01:09:45,880 ذلك لدي هنا ب أسفل، ولدي هنا ب أسفل، ولدي ب 1693 01:09:45,880 --> 01:09:47,109 ناقص 1 إلى هنا. 1694 01:09:47,109 --> 01:09:49,279 ولكن رمز هو بالضبط نفس الشيء. 1695 01:09:49,279 --> 01:09:52,529 ولكن فقط لتظهر لك الآن كيف يمكننا استخدام هذا، اسمحوا لي ان اذهب 1696 01:09:52,529 --> 01:09:56,780 قبل تغيير الواقع وهذا وجود لحلقة. 1697 01:09:56,780 --> 01:10:03,850 ل (كثافة العمليات ط = ن؛ ط> ن؛ ط -). 1698 01:10:03,850 --> 01:10:06,230 >> حتى لقد سرقت لي ان من المثال السابق. 1699 01:10:06,230 --> 01:10:08,970 في السابق، كان ذلك في خط ال 37 التي كنت قد بدأت 1700 01:10:08,970 --> 01:10:10,640 الغناء في هذه الاغنية مزعج. 1701 01:10:10,640 --> 01:10:15,810 ولكن بدلا من ذلك، أنا مجرد الذهاب الى الكلمة الآن جوقة ط. 1702 01:10:15,810 --> 01:10:16,870 القيام به. 1703 01:10:16,870 --> 01:10:20,260 حتى الآن في كل من هذه الحلقة التكرار، وأنا أسمي هذا الآخر 1704 01:10:20,260 --> 01:10:22,220 وظيفة، جوقة، وأنني حدث في الكتابة. 1705 01:10:22,220 --> 01:10:24,110 لم يكتب من قبل شخص آخر منذ سنوات. 1706 01:10:24,110 --> 01:10:27,930 ولكن جوقة، وفي الوقت نفسه، يستخدم لطباعة printf 1707 01:10:27,930 --> 01:10:29,840 من هذه الخطوط الأربعة. 1708 01:10:29,840 --> 01:10:32,720 ولكن الحقيقة أن ادعو جوقة مرارا وتكرارا في 1709 01:10:32,720 --> 01:10:35,900 حلقة يعني أنني ذاهب إلى الحصول عليها، في النهاية، على 1710 01:10:35,900 --> 01:10:39,310 نفس الأغنية بالضبط كما قلت حتى الآن. 1711 01:10:39,310 --> 01:10:42,130 لذلك باختصار، والآن إذا كنت ننظر إلى الوراء في قانون بلدي، على الرغم من 1712 01:10:42,130 --> 01:10:44,240 وهذا يعادل وظيفيا، لاحظ أنه من 1713 01:10:44,240 --> 01:10:46,020 بدءا من الحصول على أكثر قابلية للقراءة. 1714 01:10:46,020 --> 01:10:48,410 أنا لا أعرف بالضبط كيف GetInt 1715 01:10:48,410 --> 01:10:49,250 وينفذ. 1716 01:10:49,250 --> 01:10:52,050 بصراحة، أنا لا أعرف كيف يتم تطبيق جوقة. 1717 01:10:52,050 --> 01:10:52,970 ولكن لا يهم بالنسبة لي. 1718 01:10:52,970 --> 01:10:55,620 لا يهمني، لأنه الآن لا أستطيع نوعا ما، كإنسان، وقراءة 1719 01:10:55,620 --> 01:10:57,050 هذا من أعلى إلى أسفل. 1720 01:10:57,050 --> 01:10:59,950 ولأن تتم تسمية وظائف وفقا لما 1721 01:10:59,950 --> 01:11:02,910 القيام به، هو قراءة قانون بلدي على نحو متزايد. 1722 01:11:02,910 --> 01:11:05,190 وكما برامجنا الحصول على أكثر تعقيدا - 1723 01:11:05,190 --> 01:11:07,220 بحلول نهاية الفصل الدراسي، وعليك أن تكون كتابة مئات الأسطر 1724 01:11:07,220 --> 01:11:10,970 من التعليمات البرمجية في لغات مثل PHP وجافا سكريبت وما شابه ذلك - 1725 01:11:10,970 --> 01:11:13,550 ستجد أنه من أسهل بكثير من لتتبع 1726 01:11:13,550 --> 01:11:14,080 ما قمت به. 1727 01:11:14,080 --> 01:11:15,810 وعند بدء التعاون مع الأصدقاء أو 1728 01:11:15,810 --> 01:11:19,010 الشركاء أو الزملاء، عليك أن تكون قادرا على كتابة أكثر من ذلك بكثير 1729 01:11:19,010 --> 01:11:22,910 برامج ضخمة من خلال البدء في ممارسة هذه الأساسية 1730 01:11:22,910 --> 01:11:23,990 بناء كتل. 1731 01:11:23,990 --> 01:11:25,550 >> حتى مع أن قال، لماذا لا نسميها في اليوم؟ 1732 01:11:25,550 --> 01:11:27,190 وسوف نرى لك يوم الاربعاء. 1733 01:11:27,190 --> 01:11:33,611 [تصفيق]