1 00:00:00,000 --> 00:00:11,280 2 00:00:11,280 --> 00:00:13,650 >> سرور 1: حسنا. 3 00:00:13,650 --> 00:00:14,390 نرحب مرة. 4 00:00:14,390 --> 00:00:19,260 هذا هو الأسبوع الثاني من CS50، وليس لدينا حتى الآن تم استخدام وظائف ولكن 5 00:00:19,260 --> 00:00:20,830 اتخذت إلى حد كبير منهم أمرا مفروغا منه. 6 00:00:20,830 --> 00:00:23,430 استخدمنا printf التي لديها الآثار الجانبية للطباعة 7 00:00:23,430 --> 00:00:24,110 الأشياء التي تظهر على الشاشة. 8 00:00:24,110 --> 00:00:25,790 استخدمنا الحصول-int أو الحصول على تعويم. 9 00:00:25,790 --> 00:00:29,230 >> ولكن ماذا لو كنت فعلا تريد لخلق وظائف خاصة بك، حيث أن بعض 10 00:00:29,230 --> 00:00:31,740 كنت قد بدأت بالفعل في القيام به لمشكلة مجموعة واحدة، على الرغم من 11 00:00:31,740 --> 00:00:33,140 ليس مطلوبا بدقة؟ 12 00:00:33,140 --> 00:00:37,150 حسنا، دعونا نمضي قدما وإعادة النظر في ذلك مشكلة فقط يطلب المستخدم ل 13 00:00:37,150 --> 00:00:40,660 اسمهم والطباعة شيء على الشاشة، ولكن في محاولة لعامل من بعض 14 00:00:40,660 --> 00:00:44,000 من القواسم المشتركة التي قمنا ينظر في التعليمات البرمجية لدينا حتى الآن. 15 00:00:44,000 --> 00:00:45,120 لذلك أعني بذلك ما يلي. 16 00:00:45,120 --> 00:00:47,315 >> انا ذاهب الى المضي قدما وخلق برنامج جديد، والدعوة فقط 17 00:00:47,315 --> 00:00:49,320 فإنه hello.c كالمعتاد. 18 00:00:49,320 --> 00:00:53,730 انا ذاهب الى المضي قدما واعطاء نفسي وتشمل io.h القياسية في الأعلى. 19 00:00:53,730 --> 00:00:57,040 انا ذاهب لإعطاء نفسي أيضا استباقي المكتبة CS50 بحيث 20 00:00:57,040 --> 00:00:59,080 أنا لا تحصل صرخ في وبواسطة المترجم. 21 00:00:59,080 --> 00:01:02,400 والآن انا ذاهب الى المضي قدما وتعلن كثافة العمليات، الرئيسية، باطلة. 22 00:01:02,400 --> 00:01:09,020 >> ثم هنا، وهذا هو المكان الذي أريد للبدء في الاستعانة بمصادر خارجية وظائف ل 23 00:01:09,020 --> 00:01:12,090 بعض من وظيفة أخرى أنا نفسي أريد أن أكتب ولكن هذا لا 24 00:01:12,090 --> 00:01:13,820 توجد حاليا. 25 00:01:13,820 --> 00:01:19,210 على سبيل المثال، لنفترض أنني أريد أن إرسال ظيفة تسمح لي ل 26 00:01:19,210 --> 00:01:23,830 طباعة مرحبا، فاصلة، و ثم اسم المستخدم بعض. 27 00:01:23,830 --> 00:01:29,010 بدلا من الاستمرار في القيام printf مرحبا،٪ ليالي، لن يكون ذلك جميلا لو 28 00:01:29,010 --> 00:01:33,380 لم يكن هناك سوى وظيفة تسمى لا printf ولكن اسم المطبوعة؟ 29 00:01:33,380 --> 00:01:36,600 >> لذلك وبعبارة أخرى، أريد أن أكون قادرا على كتابة برنامج أن يفعل قليلا 30 00:01:36,600 --> 00:01:37,710 شيء من هذا القبيل. 31 00:01:37,710 --> 00:01:42,070 أولا، أنا ذاهب الى القول printf الخاص اسم، وبالتالي مطالبة المستخدم ل 32 00:01:42,070 --> 00:01:46,150 تعطيني اسمه أو اسمها، ثم أنا ذاهب الى استخدام مألوفة سلسلة ليالي ل 33 00:01:46,150 --> 00:01:47,290 تعلن سلسلة. 34 00:01:47,290 --> 00:01:50,420 أعطني متغير من نوع السلسلة، نسميها ليالي، وتخزينها في أن 35 00:01:50,420 --> 00:01:52,120 نتيجة استدعاء سلسلة GET. 36 00:01:52,120 --> 00:01:56,060 ولكن الآن في الأسابيع الماضية، وأود أن إلى حد ما مضجر به مرحبا،٪ ق / ن. 37 00:01:56,060 --> 00:01:58,630 38 00:01:58,630 --> 00:02:02,570 >> وبعبارة أخرى، لقد رأيت هذا المثال حفنة من الأوقات، وانها 39 00:02:02,570 --> 00:02:05,280 المثال تافهة لأنه لا يوجد واحد فقط سطر من التعليمات البرمجية بحيث انها حقا ليس 40 00:02:05,280 --> 00:02:06,860 صفقة كبيرة للحفاظ على الكتابة في مرة أخرى. 41 00:02:06,860 --> 00:02:09,990 ولكن لنفترض أن هذا السطر من التعليمات البرمجية في الواقع أصبحت عبئا، و 42 00:02:09,990 --> 00:02:12,900 انها ليست سطر واحد من التعليمات البرمجية ولكنها ل10 الأسطر من التعليمات البرمجية بضعة أسابيع من الآن، 43 00:02:12,900 --> 00:02:15,190 وكنت مجرد تعب من النسخ واللصق أو 44 00:02:15,190 --> 00:02:17,180 إعادة كتابة التعليمات البرمجية نفسها. 45 00:02:17,180 --> 00:02:22,100 لن يكون ذلك جميلا بدلا من القيام printf مرحبا، ق٪ وهكذا دواليك، 46 00:02:22,100 --> 00:02:26,500 لن يكون ذلك جميلا إذا لم يكن هناك سوى وظيفة تسمى اسم الطباعة التي 47 00:02:26,500 --> 00:02:27,560 يأخذ حجة - 48 00:02:27,560 --> 00:02:29,120 وبعبارة أخرى، فإنه يأخذ المدخلات - 49 00:02:29,120 --> 00:02:30,620 ثم منقوطة. 50 00:02:30,620 --> 00:02:33,240 بحيث ظيفة، أليس كذلك يكون لطيفا إذا كانت موجودة؟ 51 00:02:33,240 --> 00:02:36,690 ثم أود أن لا داعي للقلق حول ما printf هو، ما٪ s و كل من 52 00:02:36,690 --> 00:02:39,400 هذه التعقيدات التي هي ليس كل ما مثيرة للاهتمام. 53 00:02:39,400 --> 00:02:40,570 أنها مفيدة. 54 00:02:40,570 --> 00:02:44,700 >> حتى اسم المطبوعة، للأسف، لم يكن اخترع منذ بعض السنوات ال 40 زائد. 55 00:02:44,700 --> 00:02:45,980 لا اعتقد لأنه يكتب واحدة. 56 00:02:45,980 --> 00:02:48,300 ولكن هذا هو الجمال من وجود لغة البرمجة، مثلما هو الحال في 57 00:02:48,300 --> 00:02:52,930 يمكنك تحديد نقطة الصفر كتل مخصصة، لذلك في C وأكثر من أي لغة، يمكنك 58 00:02:52,930 --> 00:02:57,260 تحديد وظيفة الخاص بك، يمكن أن تقوم بتعريف المهام الخاصة بك. 59 00:02:57,260 --> 00:03:01,710 حتى على الرغم من أننا الحصول الرئيسية التي تلقائيا مجانا، يمكننا أن نعلن 60 00:03:01,710 --> 00:03:02,730 وظائف منطقتنا. 61 00:03:02,730 --> 00:03:05,670 >> لذلك أنا ذاهب لجعل بعض الغرف هنا حتى اعلى، وانا ذاهب الى بلدي تعلن 62 00:03:05,670 --> 00:03:08,210 وظيفة الخاصة التي يحدث أن ننظر غريبا بعض الشيء في البداية ولكن سنأتي 63 00:03:08,210 --> 00:03:09,400 نسخ إلى هذا قبل فترة طويلة. 64 00:03:09,400 --> 00:03:12,310 انا ذاهب الى القول باطل، وبالتالي تشير هذه الوظيفة لا 65 00:03:12,310 --> 00:03:16,040 شيء ما، له تأثير جانبي، لكنها لا يعيد شيئا بالنسبة لي في 66 00:03:16,040 --> 00:03:18,810 بنفس الطريقة التي تحصل على الباحث أو الحصول على السلسلة نفسها لا. 67 00:03:18,810 --> 00:03:22,450 وانا ذاهب لإعطاء هذه المهمة ل اسم من اسم المطبوعة، وأنا ذاهب ل 68 00:03:22,450 --> 00:03:26,470 تحديد أن هذا الرجل هو ذاهب الى اتخاذ سلسلة، وانا ذاهب الى الدعوة التي 69 00:03:26,470 --> 00:03:27,600 اسم السلسلة. 70 00:03:27,600 --> 00:03:32,100 أنا يمكن أن نسميها أي شيء أريد، لكنني نريد قانون بلدي ليكون توثيق الذاتي. 71 00:03:32,100 --> 00:03:34,770 وبعبارة أخرى، إذا كان واحد منكم ل فتح هذا الملف وقراءته، هل يمكن 72 00:03:34,770 --> 00:03:39,020 نوع من الاستدلال من اسم ذلك إدخال ما هو الدور الذي يفترض أن تقوم به. 73 00:03:39,020 --> 00:03:42,270 >> والآن أقل من ذلك، وانا ذاهب لفتح متعرج ومتعرج مغلقة، 74 00:03:42,270 --> 00:03:47,140 وهكذا تلاحظ لقد اتبعت نفس نمط على أربعة أسطر من خلال سبعة كما 75 00:03:47,140 --> 00:03:51,622 لقد تم التالية لمدة أسبوع جيدة زائد الآن بين، على سبيل المثال، خطوط تسعة و 76 00:03:51,622 --> 00:03:53,400 14 الذي يؤلف الرئيسي. 77 00:03:53,400 --> 00:03:56,160 وبعبارة أخرى، اسم الطباعة هو وظيفة أخرى. 78 00:03:56,160 --> 00:03:58,990 الآن، والمترجم لن تعرف لنسمي هذا الشيء تلقائيا 79 00:03:58,990 --> 00:04:02,670 لأنني حرفيا اخترع مجرد أنها، ولكنه سيعرف ما زال لاستدعاء الرئيسي 80 00:04:02,670 --> 00:04:08,710 تلقائيا، وبعد ذلك بالطبع في خط 13، وأنا وظيفة الدعوة بلدي. 81 00:04:08,710 --> 00:04:12,805 ولأن لقد أعلن أن وظيفة حتى على أربعة أسطر قبل الرئيسي، 82 00:04:12,805 --> 00:04:16,579 هذا هو ذاهب لتعليم المترجم ما الاقتباس، نهاية الاقتباس، "اسم الطباعة" 83 00:04:16,579 --> 00:04:18,140 ويعني ما ينبغي القيام به. 84 00:04:18,140 --> 00:04:22,700 لذلك أنا نوع من يعطيها مخصص جديد منع في السياق، ويقول، خدش. 85 00:04:22,700 --> 00:04:27,240 >> حتى هنا، لا أستطيع وضع هذا شائع جدا أو نمط متكرر من التعليمات البرمجية وأظل 86 00:04:27,240 --> 00:04:32,300 الكتابة في الصف، printf ٪ و مرحبا،٪ ق / ن "، - 87 00:04:32,300 --> 00:04:36,720 88 00:04:36,720 --> 00:04:37,590 ماذا أريد أن أضع هنا؟ 89 00:04:37,590 --> 00:04:39,200 S؟ 90 00:04:39,200 --> 00:04:41,420 لذلك أريد أن أضع الاسم في هذا السياق. 91 00:04:41,420 --> 00:04:43,440 حتى إشعار قليلا من الانقسام هنا. 92 00:04:43,440 --> 00:04:47,680 لأنني إعلان وظيفة بلدي ولقد نوعا ما يسمى تعسفا 93 00:04:47,680 --> 00:04:50,880 فإنه طباعة اسم، ولأن لدي المحدد بين قوسين أن هذا 94 00:04:50,880 --> 00:04:55,035 وظيفة يأخذ وسيطة واحدة، نوع وهو سلسلة - حتى انها كلمة 95 00:04:55,035 --> 00:05:00,010 أو عبارة أو شيء من هذا القبيل - و ادعو هذا الاسم الحجة، التي 96 00:05:00,010 --> 00:05:04,770 يعني المتغير الوحيد الذي هو في نطاق، إذا جاز التعبير، هو الاسم. 97 00:05:04,770 --> 00:05:07,780 >> S موجود فقط بين ما اثنين الأقواس المتعرجة، وبطبيعة الحال؟ 98 00:05:07,780 --> 00:05:12,990 بشكل جيد، تماما مثل خط 10 عن طريق 14، لذلك تماما مثل يوم الاثنين لا يمكن استخدام 99 00:05:12,990 --> 00:05:17,650 S، ولكن ما يمكنني القيام به هو تمرير S إلى اسم الطباعة. 100 00:05:17,650 --> 00:05:21,030 اسم المطبوعة فقط حتى يحدث لاعطائها اسم مستعار، مرادف، كنية، 101 00:05:21,030 --> 00:05:24,400 واصفا إياه تسمية، والآن استخدامه في هذا الخط. 102 00:05:24,400 --> 00:05:26,840 وحتى الآن اسمحوا لي أن حفظ هذه، تصغير. 103 00:05:26,840 --> 00:05:31,250 >> اسمحوا لي المضي قدما وجعل مرحبا. 104 00:05:31,250 --> 00:05:32,400 تبدو جيدة. 105 00:05:32,400 --> 00:05:36,110 لم بصق أية أخطاء. . / مرحبا أدخل. 106 00:05:36,110 --> 00:05:37,020 ما هو اسمي؟ 107 00:05:37,020 --> 00:05:38,060 ديفيد. 108 00:05:38,060 --> 00:05:39,270 ومرحبا ديفيد. 109 00:05:39,270 --> 00:05:41,820 لذلك ليس كل ما مثيرة، ولكن مجرد التفكير الآن. 110 00:05:41,820 --> 00:05:44,310 لديك الآن أن العنصر نفسه كما فعلنا في خدش ل 111 00:05:44,310 --> 00:05:45,420 جعل المهام الخاصة بنا. 112 00:05:45,420 --> 00:05:46,770 >> ولكن هناك قليلا من مسكتك. 113 00:05:46,770 --> 00:05:50,620 لنفترض أنني لم أفكر حقا هذا من خلال وأنا في الواقع دون 114 00:05:50,620 --> 00:05:54,250 التفكير حقا عن ذلك كتب أن وظيفة هنا. 115 00:05:54,250 --> 00:05:55,420 يشعر معقولة تماما. 116 00:05:55,420 --> 00:05:58,440 في خدش ليس هناك فكرة الموقع في البرامج النصية الخاصة بك. 117 00:05:58,440 --> 00:06:00,670 كنت قد وضعت واحد هنا، واحد هنا، واحد هنا، وأنها قد تبدأ 118 00:06:00,670 --> 00:06:03,310 لننظر قليلا فوضوي إذا لم تقم بذلك يكمن ذلك بدقة، ولكن لم يحدث ذلك 119 00:06:03,310 --> 00:06:05,910 يهم أين جسديا البرامج النصية كانت على الشاشة. 120 00:06:05,910 --> 00:06:09,660 للأسف في C - وهذا هو على خلاف لغات مثل جافا وبايثون 121 00:06:09,660 --> 00:06:13,600 وغيرها التي قد تكون مألوفة مع - للأسف في C، لكي لا 122 00:06:13,600 --> 00:06:15,830 المسألة لمشاهدة ما هو يحدث الآن. 123 00:06:15,830 --> 00:06:19,010 >> وظيفة الافتراضية التي يجري لتنفيذ هو، بطبيعة الحال، الرئيسي. 124 00:06:19,010 --> 00:06:22,290 الرئيسي هو الذهاب الى استدعاء اسم الطباعة على خط الثمانية، ولكن للأسف، و 125 00:06:22,290 --> 00:06:26,660 سوف المترجم لا يعرفون حتى أن اسم الطباعة موجود حتى يحصل على خط 11، 126 00:06:26,660 --> 00:06:28,520 وهو للأسف سيكون متأخرا جدا. 127 00:06:28,520 --> 00:06:30,660 لذلك دعونا لا تجعل مرحبا. 128 00:06:30,660 --> 00:06:32,950 والآن لعنة، واثنين من الأخطاء الناتجة. 129 00:06:32,950 --> 00:06:36,050 وحتى الآن اسمحوا لي أن انتقل لأعلى إلى غاية أولا، كما ينبغي لنا أن نفعل دائما، و 130 00:06:36,050 --> 00:06:39,560 لاحظ أنه يصرخ في وجهي، "إعلان ضمني من وظيفة 131 00:06:39,560 --> 00:06:40,540 طباعة اسم ". 132 00:06:40,540 --> 00:06:43,860 >> لذلك رأيناه هذه الرسالة من قبل، إعلان ضمني من وظيفة. 133 00:06:43,860 --> 00:06:48,080 عندما رأينا هذا النوع من الخطأ؟ 134 00:06:48,080 --> 00:06:49,180 عندما لم أكن على مكتبة. 135 00:06:49,180 --> 00:06:53,470 إذا كنت قد نسيت cs50.h وأود أن أحصل صاح في لسلسلة الحصول على أو الحصول على كثافة العمليات. 136 00:06:53,470 --> 00:06:56,880 ولكن في هذه الحالة، وهذا وظيفة الطباعة الاسم ليس في مكتبة، أليس كذلك؟ 137 00:06:56,880 --> 00:07:00,230 انها حرفيا في هذا الملف، لذلك ما هو حقا مشكلة؟ 138 00:07:00,230 --> 00:07:04,660 >> كذلك للأسف في C، ولكنه يأخذك حتى لا يصدق حرفيا أنه إذا كنت 139 00:07:04,660 --> 00:07:08,640 تريد وظيفة تسمى اسم الطباعة ل موجودة، لديك إما لتنفيذ 140 00:07:08,640 --> 00:07:11,940 أن وظيفة في أعلى جدا من الخاص التعليمات البرمجية بحيث يمكن الوصول إليها لخفض 141 00:07:11,940 --> 00:07:15,070 وظائف، ولكن بصراحة، أن يصبح قذر بسرعة كبيرة. 142 00:07:15,070 --> 00:07:18,160 شخصيا، أنا أحب وضع الرئيسي الأول لأن ثم انه من الواضح جدا ما هو هذا 143 00:07:18,160 --> 00:07:19,890 لا البرنامج للوهلة الأولى. 144 00:07:19,890 --> 00:07:23,290 وبالاضافة الى ذلك، يمكن أن تحصل في زاوية غريبة الحالات التي يكون فيها إذا كان x يريد استدعاء 145 00:07:23,290 --> 00:07:27,530 ذ ذ ولكن يمكن أن نسميه خ، أنت فقط جسديا لا يمكن وضع في الواقع واحدة 146 00:07:27,530 --> 00:07:28,540 فوق الأخرى. 147 00:07:28,540 --> 00:07:31,230 >> ولكن اتضح في C، يمكننا حل هذه ببساطة شديدة. 148 00:07:31,230 --> 00:07:34,010 انا ذاهب الى وضع قليلا من الفضاء هنا، وأنا ذاهب لمجرد 149 00:07:34,010 --> 00:07:38,170 استباقي، ولو إلى حد ما و مكررين الا الذهاب الى تعليم 150 00:07:38,170 --> 00:07:42,320 المترجم أن هناك وظيفة ودعا اسم المطبوعة، فإنه يأخذ سلسلة، 151 00:07:42,320 --> 00:07:46,330 وانا ذاهب الى استدعاء انها تسمية منقوطة. 152 00:07:46,330 --> 00:07:50,220 >> لذلك هذا الآن في أربعة أسطر، ونحن لم أر من قبل، هو إعلان 153 00:07:50,220 --> 00:07:53,940 من اسم وظيفة الطباعة، لكنه فقط وعد أن هذه الوظيفة 154 00:07:53,940 --> 00:07:56,620 في نهاية المطاف أن تحدد، في نهاية المطاف أن تنفذ. 155 00:07:56,620 --> 00:08:00,180 هذا أنا الآن يمكن أن تترك وحدها ل الآن هذا هو تعريف و 156 00:08:00,180 --> 00:08:04,090 التنفيذ، نوع من الميل الأخير لتنفيذ هذا 157 00:08:04,090 --> 00:08:05,130 وظيفة معينة. 158 00:08:05,130 --> 00:08:08,450 لذلك بصراحة انها غبية، فإنه أمر مزعج، ولكن هذا هو الطريق C هو، وانها 159 00:08:08,450 --> 00:08:12,050 لأنه يأخذك حرفيا جدا و، كما ينبغي كمبيوتر بصراحة، 160 00:08:12,050 --> 00:08:16,020 فقط لا بالضبط ما كنت أقول ذلك ل القيام به، وذلك أن يأمر هو المهم. 161 00:08:16,020 --> 00:08:18,940 >> حتى أن تبقي في الاعتبار، ومرة ​​أخرى، تبدأ ل لاحظ تكرار أنماط. 162 00:08:18,940 --> 00:08:21,850 الاحتمالات هي شئتم، إذا كان لديك لا بالفعل، تبدأ تواجه رسائل 163 00:08:21,850 --> 00:08:24,700 مثل هذا الذي يبدو للوهلة الأولى خفي تماما، ولكن إذا كنت تبدأ 164 00:08:24,700 --> 00:08:29,000 للبحث عن هذه الكلمات الرئيسية مثل "إعلان الضمني"، ذكر ل 165 00:08:29,000 --> 00:08:32,380 تعمل في هذه الحالة - وبصراحة، كنت أحيانا حتى الحصول على القليل من الأخضر 166 00:08:32,380 --> 00:08:35,010 رمز الجزرة التي يخبرك أين القضية ربما هو - 167 00:08:35,010 --> 00:08:40,980 يمكنك أن تبدأ في العمل في طريقك من خلال رسائل الخطأ بعد الغيب. 168 00:08:40,980 --> 00:08:45,860 أي أسئلة حول كتابة الخاص وظيفة خاصة في هذا الطريق؟ 169 00:08:45,860 --> 00:08:47,540 >> دعونا نفعل شيئا وهذا هو أكثر قليلا مقنعة. 170 00:08:47,540 --> 00:08:51,760 بدلا من مجرد القيام بشيء ما لديه من الآثار الجانبية لوالطباعة، واسمحوا لي ان اذهب 171 00:08:51,760 --> 00:08:55,340 قدما وحفظ ملف جديد، وسنقوم نسمي هذا positive.c، على الرغم من انها 172 00:08:55,340 --> 00:08:57,600 ستكون مختلفة قليلا مقابل الوقت الماضي. 173 00:08:57,600 --> 00:09:01,910 وهذه المرة، أريد أن إعادة تنفيذ آخر مرة في positive.C سبيل المثال، والتي 174 00:09:01,910 --> 00:09:04,430 يتم إجبار المستخدم لإعطاء لي عدد صحيح موجب. 175 00:09:04,430 --> 00:09:07,280 ولكن اضطررت لاستخدام الحصول على كثافة آخر مرة. 176 00:09:07,280 --> 00:09:10,780 لن يكون لطيفا أنه إذا كان هناك الحصول على وظيفة ودعا الباحث إيجابية 177 00:09:10,780 --> 00:09:13,610 أن أتمكن من مجرد الاستعانة بمصادر خارجية لهذه قطعة من وظائف ل؟ 178 00:09:13,610 --> 00:09:16,480 وبالتالي فإن الفرق هنا هو أننا سوف أكون تنفيذ الحصول على كثافة العمليات الإيجابية، ولكن خلافا ل 179 00:09:16,480 --> 00:09:20,330 اسم المطبوعة التي كان لها أثر جانبي - أنه لم يعودوا شيئا بالنسبة لي مثل 180 00:09:20,330 --> 00:09:21,710 رقم أو سلسلة - 181 00:09:21,710 --> 00:09:25,510 الحصول على كثافة العمليات الإيجابية هو، بطبيعة الحال، والذهاب إلى العودة، ونأمل، وكثافة العمليات إيجابية. 182 00:09:25,510 --> 00:09:26,170 >> لذلك دعونا نفعل ذلك. 183 00:09:26,170 --> 00:09:30,840 وتشمل cs50.h، وتشمل io.h. القياسية 184 00:09:30,840 --> 00:09:33,520 باطلة الرئيسي كثافة العمليات. 185 00:09:33,520 --> 00:09:42,160 والآن هنا، انا ذاهب الى المضي قدما ودعونا نقول الباحث، الذي يطلق عليه ن، يساوي 186 00:09:42,160 --> 00:09:44,270 الحصول على كثافة العمليات إيجابية. 187 00:09:44,270 --> 00:09:49,080 وتماما مثل الحصول على كثافة العمليات موجود بالفعل لأن الموظفين كتب عليه، وانا ذاهب 188 00:09:49,080 --> 00:09:53,950 لنفترض للحظة أن تحصل وجود كثافة إيجابية، وأنا الآن ذاهب 189 00:09:53,950 --> 00:09:57,730 المضي قدما ويقول printf، شكرا لل٪ ط / ن "، ن. 190 00:09:57,730 --> 00:10:02,940 191 00:10:02,940 --> 00:10:07,770 >> وحتى الآن ما إذا كنت تجميع هذا البرنامج، ما ما سيحدث في محطة بلدي 192 00:10:07,770 --> 00:10:09,075 نافذة في الجزء السفلي من الشاشة؟ 193 00:10:09,075 --> 00:10:11,580 194 00:10:11,580 --> 00:10:13,900 انا ذاهب على الارجح الى الحصول على ذلك نفس الخطأ كما كان من قبل. 195 00:10:13,900 --> 00:10:14,570 لذلك دعونا نحاول هذا. 196 00:10:14,570 --> 00:10:16,450 جعل الإيجابية. 197 00:10:16,450 --> 00:10:19,900 ومرة أخرى، الإعلان الضمني من وظيفة، والحصول على كثافة العمليات إيجابية. 198 00:10:19,900 --> 00:10:21,970 حتى نتمكن من حل هذا في زوجين من الطرق. 199 00:10:21,970 --> 00:10:27,310 انا ذاهب الى يبقيه بسيط وعادل وضع الإعلان بلدي هنا والحصول على 200 00:10:27,310 --> 00:10:28,120 الباحث إيجابية. 201 00:10:28,120 --> 00:10:29,720 أنا في حاجة إلى ما يسمى التوقيع. 202 00:10:29,720 --> 00:10:32,410 التوقيع يشير فقط إلى جماليات 203 00:10:32,410 --> 00:10:34,090 السطر الأول من البرنامج. 204 00:10:34,090 --> 00:10:37,420 وذلك ما ينبغي أن يحصل الإيجابية الباحث العودة؟ 205 00:10:37,420 --> 00:10:37,970 >> لذلك فإن كثافة العمليات. 206 00:10:37,970 --> 00:10:41,540 أعني من الناحية المثالية، فإنه العودة شيء من هذا القبيل الباحث إيجابية، ولكن هذا 207 00:10:41,540 --> 00:10:42,160 غير موجود. 208 00:10:42,160 --> 00:10:45,280 لم نشهد أن من بين البيانات المتوفرة لدينا أنواع، لذلك علينا أن نتعامل مع 209 00:10:45,280 --> 00:10:47,170 حقيقة أن لدينا عدد قليل جدا أنواع البيانات للعمل مع. 210 00:10:47,170 --> 00:10:50,360 ولكن يمكننا إرجاع الباحث وعادل نثق أنه سيكون ايجابيا. 211 00:10:50,360 --> 00:10:52,690 انها تسير ليتم استدعاؤها الحصول على كثافة العمليات إيجابية. 212 00:10:52,690 --> 00:10:55,122 >> والآن ماذا عن حججه؟ 213 00:10:55,122 --> 00:10:56,440 يستغرق أي مساهمة؟ 214 00:10:56,440 --> 00:10:58,280 أنها لا تحتاج إلى أي إدخال؟ 215 00:10:58,280 --> 00:11:00,900 لذلك لا تحتاج إلى معرفة في أي شيء مسبقا. 216 00:11:00,900 --> 00:11:03,220 الحصول على سلسلة لا، والحصول على كثافة العمليات لا. 217 00:11:03,220 --> 00:11:06,430 Printf يفعل - فإنه يحتاج إلى بعض مدخلات تمريرها إلى ذلك - واسم المطبوعة 218 00:11:06,430 --> 00:11:09,020 في حاجة الى بعض المدخلات، ولكن الحصول على الباحث إيجابية لا. 219 00:11:09,020 --> 00:11:11,530 لذلك أنا ذاهب الى صراحة قول باطل مترجم. 220 00:11:11,530 --> 00:11:13,470 الفراغ هو غياب أي شيء آخر. 221 00:11:13,470 --> 00:11:17,990 حتى وسائل باطلة لا شيء يجري داخل تلك الأقواس، منقوطة. 222 00:11:17,990 --> 00:11:20,840 >> والآن في الجزء السفلي من الملف الخاص بي - و مرة أخرى، أنا كونها مجرد نوع من الشرج 223 00:11:20,840 --> 00:11:23,640 هنا يضع الرئيسي في القمة، التي هو ممارسة جيدة لهذه الطريقة، 224 00:11:23,640 --> 00:11:26,220 في أي وقت أنت أو أي شخص آخر يفتح الملف الخاص بك، و 225 00:11:26,220 --> 00:11:27,400 وظيفة هو حق هناك. 226 00:11:27,400 --> 00:11:29,660 يمكنك الغوص في من مربع واحد. 227 00:11:29,660 --> 00:11:34,190 حتى الآن انا ذاهب الى تكرار هذه، الحصول على إيجابية الفراغ كثافة، ولكن أنا لا 228 00:11:34,190 --> 00:11:35,430 الذهاب الى ضرب فاصلة منقوطة الآن. 229 00:11:35,430 --> 00:11:38,280 أنا ذاهب لفتح الأقواس المتعرجة، والآن أنا في حاجة للاقتراض 230 00:11:38,280 --> 00:11:39,700 بعض الأفكار من الاثنين. 231 00:11:39,700 --> 00:11:44,450 >> لذلك كما تذكرون، فعلنا شيئا مثل تفعل حين التالية 232 00:11:44,450 --> 00:11:45,830 شيئا ما كان صحيحا. 233 00:11:45,830 --> 00:11:46,630 وماذا أفعل؟ 234 00:11:46,630 --> 00:11:51,540 فعلت شيئا مثل العطاء لي عدد صحيح موجب، 235 00:11:51,540 --> 00:11:52,430 قليلا من موجه. 236 00:11:52,430 --> 00:11:53,540 أنا يمكن استخدام أي كلمات أريد. 237 00:11:53,540 --> 00:11:54,960 ثم اعتدت ماذا؟ 238 00:11:54,960 --> 00:11:59,530 ن الباحث يساوي الحصول على كثافة العمليات، لا الحجج لذلك. 239 00:11:59,530 --> 00:12:00,550 >> وتلاحظ الفرق. 240 00:12:00,550 --> 00:12:04,680 عند استدعاء دالة، عند استخدام وظيفة، وكنت لا تضع في الفراغ. 241 00:12:04,680 --> 00:12:08,570 لك فقط أن تفعل ذلك عندما يعلن وظيفة، وتدريس ما المترجم 242 00:12:08,570 --> 00:12:09,780 يجب أن تتوقع. 243 00:12:09,780 --> 00:12:11,650 لذلك لا تحتاج لوضع إفراغ هناك نفسك. 244 00:12:11,650 --> 00:12:12,940 >> والآن ما هو وضعي؟ 245 00:12:12,940 --> 00:12:19,670 كذلك، ن لا تساوي إيجابية، ولكن هذا مجرد رمز الزائفة. 246 00:12:19,670 --> 00:12:22,530 فكيف يمكنني التعبير عن هذا أكثر نظافة؟ 247 00:12:22,530 --> 00:12:24,090 حتى أقل من أو تساوي الصفر. 248 00:12:24,090 --> 00:12:26,250 ذلك مرة أخرى، لاحظ يمكنك القيام به أقل من أو يساوي. 249 00:12:26,250 --> 00:12:28,100 على الرغم من انها منفصلين الرموز، يمكنك أن تفعل ذلك على 250 00:12:28,100 --> 00:12:29,350 لوحة المفاتيح على هذا النحو. 251 00:12:29,350 --> 00:12:33,950 >> ولكن لا يزال هناك الخلل الذي أنا ثمل آخر مرة أيضا. 252 00:12:33,950 --> 00:12:36,950 لا بد لي من أن تعلن - 253 00:12:36,950 --> 00:12:37,460 بالضبط. 254 00:12:37,460 --> 00:12:39,640 لا بد لي من أن تعلن ن خارج الحلقة. 255 00:12:39,640 --> 00:12:44,180 لذلك أنا بحاجة لوضع ن هنا، وأنا لا ترغب في إعادة تعلن، فإنه هنا 256 00:12:44,180 --> 00:12:46,480 خشية أن الحصول على متغير جديد. 257 00:12:46,480 --> 00:12:48,860 أريد فقط أن تعيين قيمة هنا. 258 00:12:48,860 --> 00:12:54,320 >> والآن أنا لم تفعل تماما هنا. 259 00:12:54,320 --> 00:12:57,290 اسمحوا لي أن نسبق نفسي وأدعي أنني انتهيت. 260 00:12:57,290 --> 00:13:01,220 جعل الإيجابية، والآن هناك خطأ جديد. 261 00:13:01,220 --> 00:13:04,550 السيطرة يصل نهاية وظيفة غير باطلة. 262 00:13:04,550 --> 00:13:07,760 رسالة خطأ جديدة جدا، ولكن إذا كنت النوع من ندف عدا كل من الكلمات، و 263 00:13:07,760 --> 00:13:09,620 ربما يلمح إلى ما هو الخطأ. 264 00:13:09,620 --> 00:13:11,240 >> السيطرة. 265 00:13:11,240 --> 00:13:14,250 السيطرة يعني فقط أن النظام العمليات في البرنامج. 266 00:13:14,250 --> 00:13:16,510 الكمبيوتر هو في السيطرة و حدث خطأ ما. 267 00:13:16,510 --> 00:13:18,510 حتى يصل إلى نهاية وظيفة غير باطلة. 268 00:13:18,510 --> 00:13:21,760 ما هي وظيفة فإنه على ما يبدو في اشارة الى؟ 269 00:13:21,760 --> 00:13:24,790 ما هي وظيفة غير الفراغ؟ 270 00:13:24,790 --> 00:13:27,400 حتى الحصول على كثافة العمليات الإيجابية، وقليلا الخلط في ذلك جيدا، 271 00:13:27,400 --> 00:13:29,010 انها نوع من الفراغ. 272 00:13:29,010 --> 00:13:33,070 أنه يحتوي على مواصفات الفراغ لل الحجج، ولكن انتاجها هو الذهاب الى 273 00:13:33,070 --> 00:13:34,540 يكون من نوع ن. 274 00:13:34,540 --> 00:13:37,260 حتى الكلمة على اليسار هو يسمى نوع الإرجاع. 275 00:13:37,260 --> 00:13:40,320 كلمة في الداخل هنا هو الحجج صفر أو أكثر 276 00:13:40,320 --> 00:13:41,970 أن يأخذ وظيفة. 277 00:13:41,970 --> 00:13:44,060 >> فماذا يجب أن أفعل؟ 278 00:13:44,060 --> 00:13:47,650 عند هذه النقطة في قانون بلدي، حيث تصطف 21 موجه امض الآن، وأنا 279 00:13:47,650 --> 00:13:51,430 لديها كثافة إيجابي داخل المتغير يسمى ن. 280 00:13:51,430 --> 00:13:55,200 كيف يمكنني يعيدها إلى الرئيسية؟ 281 00:13:55,200 --> 00:13:55,960 حرفيا. 282 00:13:55,960 --> 00:13:59,320 العودة ن منقوطة. 283 00:13:59,320 --> 00:14:04,090 >> لذلك تماما كما عاد كولتون قطعة من ورقة مع جوابا لي من خلال إسقاط 284 00:14:04,090 --> 00:14:07,020 أن قطعة من الورق في الأسود الصغير مربع على الطاولة، على أن تفعل ذلك في 285 00:14:07,020 --> 00:14:10,100 الرمز، كنت حرفيا الكتابة فقط، وعودة ن، وانها كما لو كانت كولتون 286 00:14:10,100 --> 00:14:12,140 تسليم لي شيئا المادية الظهر. 287 00:14:12,140 --> 00:14:15,870 في هذه الحالة، ما يحدث هو الحصول على الباحث إيجابية هو الذهاب الى تسليم الظهر 288 00:14:15,870 --> 00:14:19,220 ما يفترض إيجابية صحيح لمن؟ 289 00:14:19,220 --> 00:14:21,380 وأين تنتهي تلك القيمة تصل؟ 290 00:14:21,380 --> 00:14:29,080 التي ينتهي بها المطاف في هذا المتغير، ن، و ثم ننطلق مع خط التسعة. 291 00:14:29,080 --> 00:14:31,920 >> لذلك وبعبارة أخرى، من أجل العمليات، يبدأ هذا البرنامج 292 00:14:31,920 --> 00:14:34,430 المنفذة، ويدرك المترجم، أوه، كنت ترغب في المكتبة؟ 293 00:14:34,430 --> 00:14:36,310 اسمحوا لي ان اذهب الاستيلاء على كل ما في داخل ذلك. 294 00:14:36,310 --> 00:14:37,750 أوه، وتريد مكتبة IO المعيار؟ 295 00:14:37,750 --> 00:14:39,660 اسمحوا لي ان اذهب الاستيلاء على كل ما في داخل ذلك. 296 00:14:39,660 --> 00:14:44,510 ماذا يقول المترجم لنفسه عندما يضرب أربعة أسطر؟ 297 00:14:44,510 --> 00:14:47,980 أوه، كنت وعدت لتنفيذ وظيفة تسمى الحصول إيجابية، ولكن 298 00:14:47,980 --> 00:14:50,820 وسوف نعود لذلك لاحقا، شيء من هذا القبيل. 299 00:14:50,820 --> 00:14:53,450 >> باطلة الرئيسي كثافة يعني هنا فقط ل الشجاعة من برنامجي. 300 00:14:53,450 --> 00:14:54,990 خط سبعة هو مجرد متعرج. 301 00:14:54,990 --> 00:14:59,540 خط الثمانية يقول على اليسار، وإعطاء لي 32 بت لعدد صحيح، الذي يطلق عليه ن. 302 00:14:59,540 --> 00:15:02,160 على الجهة اليمنى، انها قائلا حصول على كثافة العمليات إيجابية. 303 00:15:02,160 --> 00:15:07,120 الآن دعونا نتوقف تلك القصة لأنه الآن أنا لا تبقي تحريك المؤشر إلى أسفل. 304 00:15:07,120 --> 00:15:11,720 المؤشر بلدي يذهب الآن إلى هنا ل ينفذ الآن الحصول على كثافة العمليات إيجابية. 305 00:15:11,720 --> 00:15:13,100 وأعلن الباحث ن. 306 00:15:13,100 --> 00:15:14,040 القيام بما يلي. 307 00:15:14,040 --> 00:15:16,090 Printf يعطيني عددا صحيحا موجبا. 308 00:15:16,090 --> 00:15:19,740 >> الحصول على كثافة من المستخدم، واحفظها في ن، وربما تفعل ذلك مرارا وتكرارا. 309 00:15:19,740 --> 00:15:23,010 هذه الحلقة يعني أن هذا الرمز القوة تنفيذ صعودا وهبوطا مثل هذا مرة أخرى 310 00:15:23,010 --> 00:15:25,810 ومرة أخرى، ولكن عندما يقوم المستخدم أخيرا وتتعاون ويعطيني إيجابية 311 00:15:25,810 --> 00:15:31,750 الباحث، وأنا ضربت خط 21، وعند هذه النقطة يتم تسليم عدد ظهره، والتي واحدة 312 00:15:31,750 --> 00:15:34,280 يجب أن تبرز الآن؟ 313 00:15:34,280 --> 00:15:35,070 تسعة. 314 00:15:35,070 --> 00:15:39,010 السيطرة، إذا جاز التعبير، والعودة على خط التسعة. 315 00:15:39,010 --> 00:15:40,650 هذا هو الخط الذي هو الآن في هذا الاتهام. 316 00:15:40,650 --> 00:15:43,250 >> وهذا ما كان يحدث كل هذه المرة تحت غطاء محرك السيارة، ولكن 317 00:15:43,250 --> 00:15:46,480 عندما استخدمنا ظائف مثل printf أو حتى الحصول على السلسلة التي شخص آخر 318 00:15:46,480 --> 00:15:50,600 كتب لك، ومراقبة كان يجري سلم قبالة إلى سطر التعليمات البرمجية شخص آخر 319 00:15:50,600 --> 00:15:51,290 سطرا سطرا. 320 00:15:51,290 --> 00:15:53,770 انها مجرد أننا لا يمكن أن نرى ذلك ونحن لا يمكن تصور أنه حقا في هذا 321 00:15:53,770 --> 00:15:57,620 برنامج لأنه في بعض الدول الاخرى ملف على القرص الصلب 322 00:15:57,620 --> 00:16:00,000 غير معروف بالنسبة لنا. 323 00:16:00,000 --> 00:16:02,100 لذلك دعونا تجميع الواقع وتشغيل هذا الآن. 324 00:16:02,100 --> 00:16:03,890 >> جعل الإيجابية. 325 00:16:03,890 --> 00:16:05,260 تجميع، وهذا التقدم. 326 00:16:05,260 --> 00:16:06,650 . / إيجابية. 327 00:16:06,650 --> 00:16:08,020 أعطني عددا صحيحا موجبا. 328 00:16:08,020 --> 00:16:08,800 دعونا يكون صعبا. 329 00:16:08,800 --> 00:16:10,430 السلبية 1. 330 00:16:10,430 --> 00:16:11,360 صفر. 331 00:16:11,360 --> 00:16:13,370 دعونا إعطائها 50. 332 00:16:13,370 --> 00:16:18,100 شكرا لل50، وذلك السيطرة وقد عاد الآن. 333 00:16:18,100 --> 00:16:21,750 أي أسئلة، بعد ذلك، على ذلك؟ 334 00:16:21,750 --> 00:16:23,180 نعم؟ 335 00:16:23,180 --> 00:16:25,630 >> [غير مسموع]. 336 00:16:25,630 --> 00:16:26,130 >> أقول مرة أخرى. 337 00:16:26,130 --> 00:16:27,860 أوه، سؤال جيد. 338 00:16:27,860 --> 00:16:31,100 لذلك قد تلاحظ هنا أن موازية أنا نوع من قطع زاوية جرا. 339 00:16:31,100 --> 00:16:35,420 في السطر 12، أقوله، والحصول على كثافة العمليات الإيجابية بإرجاع عدد صحيح، ولكن في نفس 340 00:16:35,420 --> 00:16:39,660 المنطق، لأنها تقف الآن لسبب أنه في خط الستة، أنا أقول أن العائدات الرئيسي 341 00:16:39,660 --> 00:16:44,040 عدد صحيح، ولكن ما يتعين علينا أبدا كان في أي من برامجنا؟ 342 00:16:44,040 --> 00:16:46,470 لقد كان لدينا أبدا ذكر هذه العودة الكلمة المفتاح. 343 00:16:46,470 --> 00:16:49,970 >> لذلك تبين أنه في C، على الأقل إصدار أن نستخدمه 344 00:16:49,970 --> 00:16:55,750 المحرز في عام 1999، من الناحية الفنية، وهذا هو يحدث بالنسبة لك تلقائيا. 345 00:16:55,750 --> 00:16:59,300 في أي وقت تقوم بتنفيذ برنامج ولك تنفيذ دالة يسمى الرئيسي، 346 00:16:59,300 --> 00:17:04,230 وهذه الوظيفة بإرجاع صفر قبل التقصير إذا لم يكن ليقول خلاف ذلك، 347 00:17:04,230 --> 00:17:05,849 والصفر هو مجرد اتفاقية. 348 00:17:05,849 --> 00:17:09,430 العوائد العالم الصفر وبالتالي مشيرا إلى أن كل شيء على ما يرام، 349 00:17:09,430 --> 00:17:13,040 ترك لنا بشكل فعال مع أربعة مليارات الأشياء الممكنة التي يمكن أن تذهب 350 00:17:13,040 --> 00:17:17,530 الخطأ بحيث إذا نعود واحد، أن قد يعني رمز هذا يعني هذا 351 00:17:17,530 --> 00:17:18,310 ذهب شيء خاطئ. 352 00:17:18,310 --> 00:17:20,589 يمكن أن نعود اثنين، وهو ما يعني ذهب هذا الشيء الآخر خاطئ. 353 00:17:20,589 --> 00:17:23,440 يمكن أن نعود أربعة مليارات، والتي يعني ذهب هذا الشيء الآخر خاطئ. 354 00:17:23,440 --> 00:17:27,170 >> وإذا كنت تعتقد الآن حوالي بنفسك كمبيوتر شخصي أو ماكنتوش، قد نتذكر أن 355 00:17:27,170 --> 00:17:29,610 أحيانا تحصل رسائل الخطأ خفي من البرامج التي كنت 356 00:17:29,610 --> 00:17:32,650 استخدام، وأحيانا يكون لها الإنسان وصف ودية، ولكن هناك 357 00:17:32,650 --> 00:17:35,265 في كثير من الأحيان رمز أو رقم على الشاشة؟ 358 00:17:35,265 --> 00:17:37,800 إذا كان هذا لا يأتي إلى الذهن، مجرد ترقب لذلك. 359 00:17:37,800 --> 00:17:40,790 وهذا عادة ما هذه ويشير إلى رموز. 360 00:17:40,790 --> 00:17:44,200 كنت تضمينها في Microsoft Word و البرامج الأخرى بحيث إذا كان ملف 361 00:17:44,200 --> 00:17:48,850 تقرير الشوائب مع الشركة، يمكنك نقول لهم، يا، حصلت على رقم الخطأ 45. 362 00:17:48,850 --> 00:17:51,750 ويعود بعض مبرمج في الشركة يمكن أن ننظر إلى أن ما يصل في حياته 363 00:17:51,750 --> 00:17:54,940 رمز ويقول، يا، وهذا لأنني جعلت هذا الخطأ وهذا هو السبب المستخدم 364 00:17:54,940 --> 00:17:56,240 حصلت هذه الرسالة. 365 00:17:56,240 --> 00:17:59,490 >> ولكن بصراحة، انها مجرد قليلا وتشتيت قليلا مملة ل 366 00:17:59,490 --> 00:18:02,130 نخلص إلى أن، على الأقل لدينا البرامج القليلة الأولى، لذلك قمنا 367 00:18:02,130 --> 00:18:02,970 تم حذف عليه. 368 00:18:02,970 --> 00:18:07,450 ولكن كل هذا الوقت كل واحد من الخاصة بك زارها سرا وظائف رئيسية هذا 369 00:18:07,450 --> 00:18:11,600 الخط إضافتها تلقائيا للكم من قبل مترجم، فقط من خلال اتفاقية ل 370 00:18:11,600 --> 00:18:13,172 يوفر لك بعض الوقت. 371 00:18:13,172 --> 00:18:14,620 >> [غير مسموع]. 372 00:18:14,620 --> 00:18:16,250 >> أنت لا تحتاج إلى إدراجه في الرئيسية. 373 00:18:16,250 --> 00:18:16,700 هذا شيء طيب. 374 00:18:16,700 --> 00:18:20,260 كنت بحاجة لإدراجه لو كنت تنفيذ وظيفة من هذا القبيل. 375 00:18:20,260 --> 00:18:22,850 وإلا فإن وظيفة شقة أن من لا يعمل. 376 00:18:22,850 --> 00:18:24,480 ولكن في الرئيسية، انها ليست ضرورية. 377 00:18:24,480 --> 00:18:28,450 في غضون أسبوع أو اثنين، وسنبدأ الحصول على في هذه العادة مرة واحدة ونحن نريد أن تبدأ 378 00:18:28,450 --> 00:18:29,690 مما يدل على الأخطاء. 379 00:18:29,690 --> 00:18:32,550 سؤال جيد حقا. 380 00:18:32,550 --> 00:18:36,880 >> استراحة اللفظي سريعا جدا في الإشارة إلى أن هذا يوم الجمعة، ونحن لن يكون لها غداء 381 00:18:36,880 --> 00:18:39,980 في حد ذاتها، ولكننا سوف يتناول وجبة العشاء مع بعض الطلاب والموظفين. 382 00:18:39,980 --> 00:18:42,940 إذا كنت ترغب في الانضمام إلينا، ويشعر الحرة للذهاب إلى cs50.net/rsvp. 383 00:18:42,940 --> 00:18:45,030 06:00 يوم الجمعة. 384 00:18:45,030 --> 00:18:47,990 الفضاء هو، كما هو الحال دائما، محدودة، ولكن سنقوم مواصلة القيام على هذه تقريبا 385 00:18:47,990 --> 00:18:51,420 أسبوعيا إذا الفضاء نفاد هذا الاسبوع. 386 00:18:51,420 --> 00:18:56,160 >> وبالتالي فإن التشويق التي توقفنا على كان يوم الاثنين أن سلاسل يمكن في الواقع 387 00:18:56,160 --> 00:19:00,520 يتم فهرستها في، مما يعني فقط لأنك يمكن الحصول على الحرف الأول، و 388 00:19:00,520 --> 00:19:03,770 الحرف الثاني، والحرف الثالث وهكذا دواليك، لأنه يمكنك 389 00:19:03,770 --> 00:19:07,860 أعتقد على نحو فعال من سلسلة، مثل مرحبا، كما يجري في هذه القضية خمسة 390 00:19:07,860 --> 00:19:09,670 رسائل داخل صناديق. 391 00:19:09,670 --> 00:19:13,370 ويمكنك الحصول على كل من تلك مربعات مع ما فعله جملة نحن 392 00:19:13,370 --> 00:19:15,230 يعرض يوم الاثنين؟ 393 00:19:15,230 --> 00:19:16,760 تلك الأقواس المربعة على لوحة المفاتيح. 394 00:19:16,760 --> 00:19:18,980 أن مجرد يعني تذهب إلى موقع الصفر. 395 00:19:18,980 --> 00:19:22,840 >> نبدأ العد من الصفر، لذلك قوس الصفر يعني ح، قوس واحدة 396 00:19:22,840 --> 00:19:25,170 يدل الإلكترونية، وهكذا دواليك. 397 00:19:25,170 --> 00:19:28,490 وهكذا في كل وقت عندما كنا استخدام سلاسل والكتابة في "مرحبا" 398 00:19:28,490 --> 00:19:31,250 و "العالم" وغيرها من الامور على الشاشة، وانه تم تخزينه 399 00:19:31,250 --> 00:19:32,820 في صناديق من هذا القبيل. 400 00:19:32,820 --> 00:19:33,370 واتخاذ تخمين. 401 00:19:33,370 --> 00:19:37,470 ماذا كل مربع تمثل جسديا داخل جهاز الكمبيوتر الخاص بك؟ 402 00:19:37,470 --> 00:19:38,250 >> [غير مسموع]. 403 00:19:38,250 --> 00:19:39,150 >> آسف؟ 404 00:19:39,150 --> 00:19:39,580 >> حرفا. 405 00:19:39,580 --> 00:19:44,760 >> حتى شخصية، وبالتأكيد في حالة سلاسل، والحرف هو فقط 406 00:19:44,760 --> 00:19:46,800 ثمانية بت أو بايت واحد. 407 00:19:46,800 --> 00:19:49,550 لذلك ربما كنت على الأقل غامضة دراية بحقيقة أن لديك 408 00:19:49,550 --> 00:19:50,500 الكمبيوتر لديه ذاكرة. 409 00:19:50,500 --> 00:19:52,110 كان لديه نوعين من الذاكرة على الأقل. 410 00:19:52,110 --> 00:19:54,810 واحد هو القرص الثابت حيث قمت بحفظ الاشياء بشكل دائم، وهذا 411 00:19:54,810 --> 00:19:57,400 عادة كبيرة حتى تتمكن من الأفلام والموسيقى وما إلى ذلك. 412 00:19:57,400 --> 00:20:04,010 >> ثم لديك نوع آخر من الذاكرة دعا RAM، R-A-M، الوصول العشوائي 413 00:20:04,010 --> 00:20:07,510 الذاكرة، وهذا هو نوع من الذاكرة يستخدم عندما يكون الكمبيوتر 414 00:20:07,510 --> 00:20:11,520 قيد التشغيل ولكن إذا فقدت السلطة أو الخاص البطارية يموت، أي شيء المخزنة 415 00:20:11,520 --> 00:20:15,300 في ذاكرة الوصول العشوائي يختفي إذا فقدت السلطة تماما لأنها ليست 416 00:20:15,300 --> 00:20:16,060 الثابتة. 417 00:20:16,060 --> 00:20:19,120 لديك عادة، في هذه الأيام، و أزعج منه، واثنين من العربات، وربما أكثر من ذلك. 418 00:20:19,120 --> 00:20:23,490 والصاعد من ذاكرة الوصول العشوائي هو أنه كثيرا من ذلك بكثير، أسرع بكثير من الأقراص الصلبة 419 00:20:23,490 --> 00:20:27,390 أو حتى في الحالة الصلبة يدفع في هذه الأيام، لكنها عادة ما تكون أكثر مكلفة جدا 420 00:20:27,390 --> 00:20:28,480 لديك أقل من ذلك. 421 00:20:28,480 --> 00:20:32,400 >> حتى محادثة اليوم يشير حقا لذاكرة الوصول العشوائي، وهذا النوع من الذاكرة التي 422 00:20:32,400 --> 00:20:35,270 موجود فقط في حين هناك قوة يجري إدخالها في جهاز الكمبيوتر الخاص بك. 423 00:20:35,270 --> 00:20:40,530 حتى عندما كنت اكتب في H-E-L-L-O، أدخل على لوحة المفاتيح، وH يجري في واحد 424 00:20:40,530 --> 00:20:44,550 بايت من ذاكرة الوصول العشوائي، وE يجري في آخر بايت من ذاكرة الوصول العشوائي، كما هو 425 00:20:44,550 --> 00:20:45,800 بقية الكلمة. 426 00:20:45,800 --> 00:20:49,010 لذلك نذكر ما استطعنا للقيام آخر مرة كان هذا. 427 00:20:49,010 --> 00:20:53,940 اسمحوا لي المضي قدما وفتح ملف التي كنا نسميها string.c، وأذكر 428 00:20:53,940 --> 00:20:56,860 أنه بدا قليلا شيء من هذا القبيل. 429 00:20:56,860 --> 00:20:59,860 اسمحوا لي لفة في الواقع مرة أخرى والتغيير ذلك بالضبط ما يشبه، 430 00:20:59,860 --> 00:21:02,654 طول سلسلة من ليالي. 431 00:21:02,654 --> 00:21:04,560 >> وذلك للبحث في البرنامج هنا. 432 00:21:04,560 --> 00:21:08,530 نحن وتشمل المكتبة CS50 ذلك أن نتمكن من استخدام سلسلة GET. 433 00:21:08,530 --> 00:21:11,400 ندرج io.h القياسية حتى نتمكن من استخدام printf. 434 00:21:11,400 --> 00:21:13,580 لماذا لم ندرج string.h؟ 435 00:21:13,580 --> 00:21:16,980 كان هذا الجديد يوم الاثنين. 436 00:21:16,980 --> 00:21:18,230 لذلك أردنا طول السلسلة. 437 00:21:18,230 --> 00:21:19,090 شارع ينغ. 438 00:21:19,090 --> 00:21:21,470 قرر الناس منذ سنوات، دعونا فقط تكون مقتضبة. 439 00:21:21,470 --> 00:21:24,290 بدلا من اصفا اياه بانه "طول السلسلة" دعنا نسميها "شارع ينغ"، والسماح لل 440 00:21:24,290 --> 00:21:28,540 العالم هذا الرقم، وذلك أن ما نحصل عليه مع الوصول إلى string.h. 441 00:21:28,540 --> 00:21:29,390 >> هذا هو مألوف. 442 00:21:29,390 --> 00:21:30,320 هذا هو مألوف. 443 00:21:30,320 --> 00:21:31,450 هذا هو مألوف. 444 00:21:31,450 --> 00:21:32,370 هذا هو الجديد قليلا. 445 00:21:32,370 --> 00:21:35,420 في السطر 22 - وسوف نعود لهذا، ولكن لنعلم الآن - 446 00:21:35,420 --> 00:21:37,880 وكنت أعرف هذا فقط من وجود قراءة الوثائق أو إذا 447 00:21:37,880 --> 00:21:39,010 كنت على علم بالفعل C - 448 00:21:39,010 --> 00:21:41,510 الحصول على سلسلة أحيانا يمكن أن المسمار. 449 00:21:41,510 --> 00:21:45,130 إذا كان المستخدم أو الخصومة حقا غير المتعاونة وانه أو انها فقط 450 00:21:45,130 --> 00:21:49,450 لا تكتب أي شيء في لوحة المفاتيح أو أنواع كثيرا في لوحة المفاتيح التي 451 00:21:49,450 --> 00:21:53,760 أنه يثقل كاهل ذاكرة الكمبيوتر، من الناحية النظرية، يمكن الحصول على سلسلة العودة 452 00:21:53,760 --> 00:21:56,270 شيء آخر غير سلسلة من الأحرف. 453 00:21:56,270 --> 00:22:01,930 ويمكن أن ترجع قيمة خاصة تسمى NULL في كل مباراة دولية، N-U-L-L، وهذا هو 454 00:22:01,930 --> 00:22:03,390 مجرد ما يسمى قيمة الحارس. 455 00:22:03,390 --> 00:22:08,010 انها قيمة خاصة أن يدل حدث شيء سيئ في هذه الحالة. 456 00:22:08,010 --> 00:22:10,520 ذلك هو عدم وجود سلسلة. 457 00:22:10,520 --> 00:22:16,190 >> فارغة لذلك أنا التحقق من ذلك ببساطة أن، قصة قصيرة طويلة، لينغ شارع و 458 00:22:16,190 --> 00:22:20,230 وظائف الأخرى التي تأتي مع C، إذا انهم يتوقعون سلسلة ولكن يمكنك تمرير لهم 459 00:22:20,230 --> 00:22:23,630 عدم وجود سلسلة، إذا كنت تمر لهم NULL، الكمبيوتر أو البرنامج 460 00:22:23,630 --> 00:22:25,000 فقط سوف تحطم تماما. 461 00:22:25,000 --> 00:22:25,610 سيكون معطلا. 462 00:22:25,610 --> 00:22:27,250 وسوف يلقي بعض رسالة خطأ. 463 00:22:27,250 --> 00:22:28,690 الأشياء السيئة سوف يحدث. 464 00:22:28,690 --> 00:22:31,130 ذلك على الرغم من هذا لا يزال لا يعرف جيدا - 465 00:22:31,130 --> 00:22:33,730 هذا سوف يكون أكثر منطقية في غضون أسبوع أو اثنين - في السطر 22، وهذا هو مجرد 466 00:22:33,730 --> 00:22:38,790 مثال على النفس تدقيق الأخطاء الدفاعية فقط في حالة واحدة من الوقت 467 00:22:38,790 --> 00:22:42,040 مليون شيء يذهب على نحو خاطئ، في سوف برنامجي الأقل لا تحطم الطائرة. 468 00:22:42,040 --> 00:22:45,960 >> إذا كان الأمر كذلك ق لا يساوي شيئا سيئا، لدي هذا لحلقة، وهذا كان 469 00:22:45,960 --> 00:22:47,710 حيث كان لدينا هذا الآخر قطعة جديدة من بناء الجملة. 470 00:22:47,710 --> 00:22:51,580 لدي لحلقة بالتكرار من صفر على ما يصل إلى طول ق. 471 00:22:51,580 --> 00:22:56,140 ثم هنا، كنت طبع ق قوس ط، ولكن لماذا لم أستخدم٪ ج جميع 472 00:22:56,140 --> 00:23:00,770 فجأة بدلا من٪ ق حتى على الرغم من ليالي هي سلسلة؟ 473 00:23:00,770 --> 00:23:02,110 انها شخصية، أليس كذلك؟ 474 00:23:02,110 --> 00:23:06,560 S هو سلسلة، ولكن ليالي قوس شيء، ق قوس ط ط حيث هو صفر 475 00:23:06,560 --> 00:23:10,380 أو واحد أو اثنين، وهذا الفرد حرف في السلسلة، وذلك ل 476 00:23:10,380 --> 00:23:14,970 يحتاج ذلك، printf أن تكون على علم بأن انها في الواقع شخصية يمكن توقعه. 477 00:23:14,970 --> 00:23:18,096 >> ثم أذكر، ما فعله هذا البرنامج فعلا؟ 478 00:23:18,096 --> 00:23:19,848 >> طباعته في الأعمدة. 479 00:23:19,848 --> 00:23:21,120 >> نعم، بالضبط. 480 00:23:21,120 --> 00:23:24,990 انها المطبوعة فقط الكلمة التي كنت اكتب في عمود، حرف واحد في كل سطر. 481 00:23:24,990 --> 00:23:26,190 لذلك دعونا نرى هذا مرة أخرى. 482 00:23:26,190 --> 00:23:27,810 لذا تأكد السلسلة. 483 00:23:27,810 --> 00:23:30,200 جمعت موافق. . / السلسلة. 484 00:23:30,200 --> 00:23:35,560 اسمحوا لي أن اكتب في H-E-L-L-O، أدخل، و في الواقع يمكنني الحصول عليه، خط لكل واحد. 485 00:23:35,560 --> 00:23:37,280 >> لذلك اسمحوا لي أن تفعل الأمثل واحدة هنا. 486 00:23:37,280 --> 00:23:40,240 إذا كنت تفكر في ذلك، وخاصة إذا كنت قد مبرمجة من قبل، هناك 487 00:23:40,240 --> 00:23:43,340 يمكن القول وعدم الكفاءة في خط 24. 488 00:23:43,340 --> 00:23:46,160 وبعبارة أخرى، انها ليست بالضرورة أفضل تصميم. 489 00:23:46,160 --> 00:23:50,200 واضحة، على الأقل مرة واحدة لك تذكر ما ينغ شارع هو، لكنه 490 00:23:50,200 --> 00:23:52,640 تفعل شيئا البكم يحتمل. 491 00:23:52,640 --> 00:23:54,863 ما يمكن أن يكون؟ 492 00:23:54,863 --> 00:23:56,280 >> [غير مسموع]. 493 00:23:56,280 --> 00:23:56,800 >> بالضبط. 494 00:23:56,800 --> 00:24:00,340 انها التحقق من طول ليالي كل مرة واحدة على الرغم من 495 00:24:00,340 --> 00:24:02,980 H-E-L-L-O دائما ما لتكون خمسة أحرف. 496 00:24:02,980 --> 00:24:05,490 في كل مرة من خلال هذه الحلقة، الخمسة لا تغيير. 497 00:24:05,490 --> 00:24:08,750 قد أكون أنا تزايد، ولكن ما هو طول من ليالي على كل 498 00:24:08,750 --> 00:24:09,690 التكرار من هذه الحلقة؟ 499 00:24:09,690 --> 00:24:15,810 انها خمسة، انها خمسة، انها خمسة، و بعد وأنا مع ذلك طرح هذا 500 00:24:15,810 --> 00:24:18,320 السؤال مرارا وتكرارا وتكرارا. 501 00:24:18,320 --> 00:24:20,750 الآن بصراحة، فإن الكمبيوتر هو لعنة سريع، لا أحد يذهب لاحظت وجود 502 00:24:20,750 --> 00:24:23,780 الفرق في هذه الحالة، ولكن هذه الأنواع قرارات التصميم من الفقراء يمكن 503 00:24:23,780 --> 00:24:28,330 بدء لتضيف ما يصل إذا كان المترجم نفسه لا تحاول إصلاح هذا بالنسبة لك الذي 504 00:24:28,330 --> 00:24:30,630 أنه سيكون عادة لا، في الأقل في الأجهزة. 505 00:24:30,630 --> 00:24:31,540 >> لذلك أنا ذاهب للقيام بذلك. 506 00:24:31,540 --> 00:24:34,580 انا ذاهب لإضافة فاصلة بعد أول متغير بلدي، وأنا. 507 00:24:34,580 --> 00:24:37,310 انا ذاهب لإعطاء نفسي آخر متغير، واصفا إياه ن، فقط عن طريق 508 00:24:37,310 --> 00:24:41,330 اتفاقية لأرقام، ثم أنا الذهاب الى تعيين ن قيمة السلسلة 509 00:24:41,330 --> 00:24:42,530 طول ق. 510 00:24:42,530 --> 00:24:46,060 ثم انا ذاهب الى التغيير وضعي ليكون ماذا؟ 511 00:24:46,060 --> 00:24:51,960 انا ذاهب الى تغيير وضعي إلى حين ط أقل من ن. 512 00:24:51,960 --> 00:24:55,700 >> وحتى الآن، كم مرة أنا التحقق من طول ق؟ 513 00:24:55,700 --> 00:25:00,110 مرة واحدة، لكنه موافق للتحقق ط ضد ن مرارا وتكرارا لأنه الآن تلك 514 00:25:00,110 --> 00:25:03,170 القيم لا تتغير فعلا. 515 00:25:03,170 --> 00:25:06,020 الآن في الوقت الراهن، ونعرف تماما أن في أي وقت كنت استدعاء دالة، وهناك القليل من 516 00:25:06,020 --> 00:25:09,930 النفقات العامة، لا يكفي ليثني عليك حقا من أي وقت مضى باستخدام وظائف، ولكن 517 00:25:09,930 --> 00:25:12,750 بالتأكيد عندما يكون هناك سطر من التعليمات البرمجية مثل ذلك - وسوف تحصل على خطوط 518 00:25:12,750 --> 00:25:15,490 أكثر إثارة للاهتمام قبل فترة طويلة - حيث هناك فرصة للتفكير، وإذا كنت 519 00:25:15,490 --> 00:25:18,320 اكتب هذا الرمز، كم مرات أنه سيتم تنفيذ؟ 520 00:25:18,320 --> 00:25:20,950 عليك أن تبدأ في رؤية بمرور الوقت أداء البرامج يمكن 521 00:25:20,950 --> 00:25:21,660 تغيير الواقع. 522 00:25:21,660 --> 00:25:24,110 >> في الواقع، واحدة للمشكلة يضع قمنا فعلت في السنوات الماضية ينطوي 523 00:25:24,110 --> 00:25:27,600 تنفيذ، كما تذكرون من الأسبوع الصفر، المدقق الإملائي، ولكن 524 00:25:27,600 --> 00:25:31,380 المدقق الإملائي التي تهدف إلى دعم قاموس من 150،000 زائد 525 00:25:31,380 --> 00:25:32,860 الكلمات التي نقدمها لكم الرجال. 526 00:25:32,860 --> 00:25:37,100 سيكون لديك لكتابة التعليمات البرمجية التي الأحمال تلك الكلمات إلى ذاكرة الوصول العشوائي، وذلك في 527 00:25:37,100 --> 00:25:40,700 صناديق مثل شاهدنا على الشاشة لحظة مضت، ثم أسرع وقت كما كنت 528 00:25:40,700 --> 00:25:43,740 يمكن، عليك أن تكون قادرا على الإجابة على مسألة شكل، هو هذه الكلمة 529 00:25:43,740 --> 00:25:44,280 أخطاء إملائية؟ 530 00:25:44,280 --> 00:25:45,420 وهذه الكلمة التي بها أخطاء إملائية؟ 531 00:25:45,420 --> 00:25:46,770 وهذه الكلمة التي بها أخطاء إملائية؟ 532 00:25:46,770 --> 00:25:49,525 >> وشيء من هذا القبيل ما كنا فعلت في السنوات الماضية وحولتها إلى، 533 00:25:49,525 --> 00:25:53,500 وإن كان ذلك على أساس اختياري التقيد في و المنافسة من نوع ما، حيث ل 534 00:25:53,500 --> 00:25:59,470 الطلاب الذين يستخدمون أقل من ذاكرة الوصول العشوائي وأقل الوقت، دورات CPU أقل، في نهاية المطاف 535 00:25:59,470 --> 00:26:02,640 محتدما حتى أعلى قليلا زعيم المجلس أو الترتيب الذي وضعنا على 536 00:26:02,640 --> 00:26:04,770 الصفحة الرئيسية للدورة كما قمنا فعلت في السنوات الماضية. 537 00:26:04,770 --> 00:26:08,100 ذلك مرة أخرى، واختياري تماما، لكن هذا يتحدث إلى الفرص تصميم 538 00:26:08,100 --> 00:26:11,250 التي هي مرة واحدة قبل أن نبدأ بناء على قمة بعض هذه 539 00:26:11,250 --> 00:26:14,010 اللبنات الأساسية. 540 00:26:14,010 --> 00:26:16,780 >> لذلك اسمحوا لي العودة إلى هذا الرسم البياني ل مجرد لحظة وتكشف قليلا 541 00:26:16,780 --> 00:26:17,610 شيء أكثر من ذلك. 542 00:26:17,610 --> 00:26:21,400 هذا هو في الواقع سلسلة، والتي اتخذناها الاستفادة من بعض المكتبات، 543 00:26:21,400 --> 00:26:25,150 io.h القياسية التي لديها - 544 00:26:25,150 --> 00:26:26,110 >> Printf. 545 00:26:26,110 --> 00:26:27,860 >> Printf، من بين أمور أخرى. 546 00:26:27,860 --> 00:26:31,540 cs50.h الذي يحصل الباحث والحصول على سلسلة وهكذا دواليك، string.h، التي 547 00:26:31,540 --> 00:26:32,570 كان شارع ينغ. 548 00:26:32,570 --> 00:26:34,800 ولكن اتضح أن هناك بعد آخر. 549 00:26:34,800 --> 00:26:38,540 بصراحة، هناك الكثير والكثير من رأس الملفات التي تعلن وظائف 550 00:26:38,540 --> 00:26:43,320 للمكتبات، ولكن هذا هو ctype.h في طريقها فعلا إلى حد ما 551 00:26:43,320 --> 00:26:46,900 من المفيد لأنني ذاهب على المضي قدما وتنفيذ واحد 552 00:26:46,900 --> 00:26:48,120 برنامج آخر هنا. 553 00:26:48,120 --> 00:26:52,420 >> اسمحوا لي المضي قدما وفتح شيء كتبت في وقت مبكر يسمى 554 00:26:52,420 --> 00:26:55,750 capitalize.c، ودعونا نلقي لننظر كيف يعمل هذا. 555 00:26:55,750 --> 00:27:00,340 لاحظت أن أنا باستخدام، في هذا الإصدار من ذلك، ثلاثة ملفات مألوفة. 556 00:27:00,340 --> 00:27:04,110 لاحظ أنه في خط 18، وأنا الحصول على سطر من النص. 557 00:27:04,110 --> 00:27:07,660 إشعار خط 21، وأنا مدعيا أن التعليمة البرمجية التالية هو الذهاب الى 558 00:27:07,660 --> 00:27:12,170 الاستفادة ثانية، أيا كان المستخدم بكتابتها في، وكيف أفعل ذلك؟ 559 00:27:12,170 --> 00:27:13,300 حسنا، أنا أخذ - 560 00:27:13,300 --> 00:27:14,750 الدروس المستفادة من المرة السابقة - 561 00:27:14,750 --> 00:27:18,370 أنا معلنا ط ن وبالتكرار و أكثر من الأحرف في السلسلة. 562 00:27:18,370 --> 00:27:22,720 ثم ما هو هذا كتلة من التعليمات البرمجية في خط 24 إلى 27 563 00:27:22,720 --> 00:27:24,550 به في شروط للشخص العادي؟ 564 00:27:24,550 --> 00:27:27,766 565 00:27:27,766 --> 00:27:29,730 >> رسالة صغيرة الى الوراء. 566 00:27:29,730 --> 00:27:30,430 >> بالضبط. 567 00:27:30,430 --> 00:27:35,920 إذا ق قوس ط - حتى إذا كان ط ال شخصية، والتي هي محددة 568 00:27:35,920 --> 00:27:40,220 شار في السلسلة، أكبر من أو يساوي إلى أحرف صغيرة لو- 569 00:27:40,220 --> 00:27:42,670 نذكر بأن العطف المزدوجة دلالة و- 570 00:27:42,670 --> 00:27:46,810 ونفس الحرف، ق ط قوس، هو أقل من أو يساوي إلى الياء صغيرة، 571 00:27:46,810 --> 00:27:50,600 وهذا يعني انها لأو ب أو ج أو نقطة، نقطة، نقطة، أو ض، الوسائل التي 572 00:27:50,600 --> 00:27:51,340 انها أحرف صغيرة فيه. 573 00:27:51,340 --> 00:27:52,900 ماذا أريد أن أفعل في هذه الحالة؟ 574 00:27:52,900 --> 00:27:55,010 حسنا، أستطيع أن أفعل ذلك إلى حد ما بغموض، ولكن 575 00:27:55,010 --> 00:27:56,160 دعونا ندف هذا إربا. 576 00:27:56,160 --> 00:28:00,210 >> انا ذاهب الى استدعاء printf والمطبوعات٪ ج لأنني أريد أن طبع هذا 577 00:28:00,210 --> 00:28:01,580 الحرف على الشاشة. 578 00:28:01,580 --> 00:28:06,650 أنا ثم ذاهب الى اتخاذ ق ط قوس، و حرف ط عشر في ليالي، ثم لماذا 579 00:28:06,650 --> 00:28:12,330 أفعل هذا قليل الحيلة هنا، أحرف صغيرة ناقص العاصمة A؟ 580 00:28:12,330 --> 00:28:16,352 ما هو ذاهب لإعطاء لي، بصفة عامة؟ 581 00:28:16,352 --> 00:28:18,600 >> [غير مسموع]. 582 00:28:18,600 --> 00:28:19,390 >> بالضبط. 583 00:28:19,390 --> 00:28:20,860 أنا لا أتذكر حقا - 584 00:28:20,860 --> 00:28:24,390 كان 65 ألف لرأس المال وأنا لا حقا تذكر ما أحرف صغيرة وغير، 585 00:28:24,390 --> 00:28:25,540 ولكن لا يهم. 586 00:28:25,540 --> 00:28:26,580 الكمبيوتر يعرف. 587 00:28:26,580 --> 00:28:30,380 لذلك بقوله، أحرف صغيرة ناقص العاصمة A، انها غريبة أن تكون 588 00:28:30,380 --> 00:28:33,530 يحذف حرف واحد من آخر، ولكن ما هي حروف تحت غطاء محرك السيارة؟ 589 00:28:33,530 --> 00:28:34,520 انهم مجرد أرقام. 590 00:28:34,520 --> 00:28:36,980 لذلك مهما كانت تلك الأرقام، دعونا نتذكر أنه الكمبيوتر 591 00:28:36,980 --> 00:28:38,240 بدلا من لي الإنسان. 592 00:28:38,240 --> 00:28:41,710 >> حتى أحرف صغيرة ناقص A العاصمة و سوف تعطيني الفرق. 593 00:28:41,710 --> 00:28:45,370 كان يحدث أن تكون 32، والتي من شأنها أن تكون الحال بالنسبة للصغيرة ورأس المال ب B 594 00:28:45,370 --> 00:28:45,930 وهكذا دواليك. 595 00:28:45,930 --> 00:28:47,710 يبقى متسقة، والحمد لله. 596 00:28:47,710 --> 00:28:51,930 لذلك أنا أقول أساسا، واتخاذ الحرف الصغير، طرح من أن 597 00:28:51,930 --> 00:28:55,340 الفرق القياسية، والتي يتغير بشكل فعال ق ط قوس من 598 00:28:55,340 --> 00:28:59,400 صغيرة ل، بطبيعة الحال، الكبيرة، بلدي حقا دون الحاجة إلى التفكير 599 00:28:59,400 --> 00:29:03,040 حول أو تذكر، فما هي تلك أرقام عندما تحدثنا عن الثمانية 600 00:29:03,040 --> 00:29:04,800 جاء المتطوعين على خشبة المسرح؟ 601 00:29:04,800 --> 00:29:08,800 الآن وفي الوقت نفسه، في آخر، إذا لم يكن بريد إلكتروني صغيرة كما هو محدد 602 00:29:08,800 --> 00:29:10,400 24 سطرا، فقط طباعته. 603 00:29:10,400 --> 00:29:12,590 أريد فقط أن تلمس الأحرف التي كانت 604 00:29:12,590 --> 00:29:14,410 في الواقع أحرف صغيرة أصلا. 605 00:29:14,410 --> 00:29:15,150 >> لذلك دعونا نرى هذا. 606 00:29:15,150 --> 00:29:17,400 جعل الاستفادة. 607 00:29:17,400 --> 00:29:18,470 المترجمة، موافق. 608 00:29:18,470 --> 00:29:19,730 . / الاستفادة. 609 00:29:19,730 --> 00:29:23,530 واسمحوا لي أن اكتب في H-E-L-L-O في صغيرة، أدخل. 610 00:29:23,530 --> 00:29:26,370 وتلاحظ أن يتم تحويلها إلى أحرف كبيرة. 611 00:29:26,370 --> 00:29:27,940 اسمحوا لي أن تفعل هذا مرة أخرى مع كلمة مختلفة. 612 00:29:27,940 --> 00:29:32,720 ماذا عن D-A-V-I-D مع أول D رسملة كاسم هو عادة؟ 613 00:29:32,720 --> 00:29:33,560 دخول. 614 00:29:33,560 --> 00:29:34,870 لاحظت انها لا تزال صحيحة. 615 00:29:34,870 --> 00:29:40,250 انها مجرد أن أنتج أول D دون تغيير عبر آخر أن بناء. 616 00:29:40,250 --> 00:29:42,170 >> حتى تبقي في الاعتبار، ثم و بضعة أشياء هنا. 617 00:29:42,170 --> 00:29:45,060 واحد، إذا كنت تريد من أي وقت مضى للتحقق اثنين الظروف في آن واحد، ويمكنك لهم 618 00:29:45,060 --> 00:29:46,500 معا كما توقعنا. 619 00:29:46,500 --> 00:29:49,900 يمكنك مقارنة الأحرف بهذه الطريقة وعلاج الشخصيات على نحو فعال 620 00:29:49,900 --> 00:29:53,050 أرقام، ولكن بصراحة، وهذا هو لعنة خفي أنا لن تذكر 621 00:29:53,050 --> 00:29:56,510 كيفية الخروج مع هذا من الصفر دون المنطق من خلال ذلك لفترة طويلة 622 00:29:56,510 --> 00:29:57,140 قليلا من الوقت. 623 00:29:57,140 --> 00:30:00,590 >> لن يكون لطيفا أنه إذا كان شخص ما كتب من هناك وظيفة تسمى هو 624 00:30:00,590 --> 00:30:05,390 خفض التي يمكن الإجابة بالنسبة لي صحيحا أو كاذبة، وأحرف صغيرة هذه الشخصية؟ 625 00:30:05,390 --> 00:30:09,350 كذلك لحسن الحظ، من كتب لم ctype.h ذلك تماما. 626 00:30:09,350 --> 00:30:15,540 اسمحوا لي أن ترتفع هنا وإضافة ctype لج أنواع، والآن اسمحوا لي أن انتقل إلى هنا و 627 00:30:15,540 --> 00:30:18,820 إعادة كتابة هذا الخط على النحو التالي. 628 00:30:18,820 --> 00:30:27,510 >> إذا كان الأمر كذلك يطلق عليه هو أقل من ذلك، أزعم، ق قوس ط، ثم انا ذاهب الى حذف 629 00:30:27,510 --> 00:30:29,400 هذين الخطين تماما. 630 00:30:29,400 --> 00:30:32,570 وحتى الآن شخص آخر، وأنا على أمل، كتب وظيفة تسمى أقل، وذلك 631 00:30:32,570 --> 00:30:36,250 تبين فعلوه وأعلنوا ذلك داخل ctype.h. 632 00:30:36,250 --> 00:30:39,480 والآن أنا ذاهب إلى ترك سطر 27 وحدها، وأنا ذاهب إلى ترك سطر 31 633 00:30:39,480 --> 00:30:41,890 وحدها، ولكن لاحظ كم عندي تشديد قانون بلدي. 634 00:30:41,890 --> 00:30:42,690 انها الآن أنظف. 635 00:30:42,690 --> 00:30:47,250 انها أقل صعوبة لننظر من خلال لأنه الآن وظيفة، علاوة على ذلك، هو 636 00:30:47,250 --> 00:30:50,080 حتى اسمه هو فقط رائعة تفعل ما تقول. 637 00:30:50,080 --> 00:30:51,520 >> حتى الآن أنا ذاهب لإنقاذ هذا. 638 00:30:51,520 --> 00:30:52,930 انا ذاهب للتصغير. 639 00:30:52,930 --> 00:30:56,650 وكما هو الحال في خدش هل يمكن أن يكون القيم المنطقية والقيم المنطقية صحيحة أو 640 00:30:56,650 --> 00:31:01,530 كاذبة، وهذا بالضبط ما هو يعود انخفاض فعالية. 641 00:31:01,530 --> 00:31:02,960 اسمحوا لي أن إعادة ترجمة. 642 00:31:02,960 --> 00:31:04,500 اسمحوا لي أن إعادة التشغيل. 643 00:31:04,500 --> 00:31:07,350 والآن دعونا نحاول مرة أخرى، H-E-L-L-O، أدخل. 644 00:31:07,350 --> 00:31:07,970 هذا امر جيد جدا. 645 00:31:07,970 --> 00:31:10,150 وحاول مرة أخرى، تأكد من أنني لم المسمار شيء ما. 646 00:31:10,150 --> 00:31:11,670 التي يتم رسملتها كذلك. 647 00:31:11,670 --> 00:31:14,190 >> ولكن هذا ليس جيدا بما فيه الكفاية لأن الشيء الآخر أنني لن 648 00:31:14,190 --> 00:31:19,090 تذكر ما لم أعمل من خلال ذلك حقا بعناية على، ويقول، ورقة غير 649 00:31:19,090 --> 00:31:19,920 هذا الخط لعنة. 650 00:31:19,920 --> 00:31:23,450 لن يكون ذلك جميلا إذا كانت هناك وظيفة ودعا إلى العلوي؟ 651 00:31:23,450 --> 00:31:26,930 كذلك اتضح هناك في ctype.h كذلك. 652 00:31:26,930 --> 00:31:30,150 انا ذاهب الى المضي قدما واكتب - 653 00:31:30,150 --> 00:31:31,340 اسمحوا لي أن تحقيق ذلك الخط الخلفي. 654 00:31:31,340 --> 00:31:36,430 بدلا من هذا هنا، اسمحوا لي أن المضي قدما ويقول، بديلا عن٪ ج و 655 00:31:36,430 --> 00:31:42,110 نتيجة لاستدعاء هذه الوظيفة ل العلوي على حرف ال ط ق. 656 00:31:42,110 --> 00:31:45,430 والآن لاحظ أنه يزداد متوازنة قليلا. 657 00:31:45,430 --> 00:31:48,870 لدي لتتبع كيفية العديد من قوسين لقد تفتح وتغلق. 658 00:31:48,870 --> 00:31:50,050 >> وحتى الآن، بل انها أكثر نظافة. 659 00:31:50,050 --> 00:31:53,460 الآن هذا البرنامج هو الحصول على أفضل و تصميم أفضل لأنه يمكن القول 660 00:31:53,460 --> 00:31:56,450 أكثر من هذا بكثير ولكن يمكن قراءتها فإنه ليس دعونا الصحيح. 661 00:31:56,450 --> 00:31:57,600 جعل الاستفادة. 662 00:31:57,600 --> 00:31:58,930 . / الاستفادة. 663 00:31:58,930 --> 00:32:03,220 H-E-L-L-O. دعونا تشغيله مرة أخرى، D-A-V-I-D. موافق، لذلك نحن ما زلنا في 664 00:32:03,220 --> 00:32:04,250 حالة جيدة جدا. 665 00:32:04,250 --> 00:32:06,030 >> ولكن الآن لالعليا. 666 00:32:06,030 --> 00:32:09,720 أقترح أن هناك واحد أكثر الصقل يمكن أن نجعل من شأنه أن يكون 667 00:32:09,720 --> 00:32:12,820 لطيف، يمكن أن تشديد حقا حتى هذا الرمز وتعطينا حقا خمسة 668 00:32:12,820 --> 00:32:15,150 من أصل خمسة لتصميم، على سبيل المثال. 669 00:32:15,150 --> 00:32:16,510 ما يمكن أن يكون لطيفا للتخلص من؟ 670 00:32:16,510 --> 00:32:20,770 حسنا، انظر كيف طويلة لعنة هذه الكتلة من الكود هو فقط أن تفعل شيئا بسيطا. 671 00:32:20,770 --> 00:32:23,850 >> الآن بوصفها جانبا، كما قد تكون لديكم ينظر في قسم السوبر هذا الماضي 672 00:32:23,850 --> 00:32:27,570 عطلة نهاية الأسبوع، لا تحتاج بدقة الأقواس المتعرجة عندما يكون لديك واحد فقط 673 00:32:27,570 --> 00:32:32,180 سطر من التعليمات البرمجية، على الرغم من أننا المقترحة ابقائها بحيث يجعل من ذلك بكثير 674 00:32:32,180 --> 00:32:36,190 أكثر وضوحا، كما هو الحال في خدش وعلى شكل حرف U كتل، ما هو داخل الفرع. 675 00:32:36,190 --> 00:32:40,170 ولكن لن يكون ذلك جميلا لو أن العلوي، عندما تعطى مدخلاته، حولتها 676 00:32:40,170 --> 00:32:44,730 أحرف كبيرة إذا لم تكن كذلك، وما من شأنه من الرائع في حالة العكس إذا 677 00:32:44,730 --> 00:32:47,210 انها أحرف كبيرة بالفعل؟ 678 00:32:47,210 --> 00:32:49,620 يمر من خلال وتترك وحدها. 679 00:32:49,620 --> 00:32:50,660 >> لذلك ربما يفعل ذلك. 680 00:32:50,660 --> 00:32:52,990 يمكن أن أحاول وآمل فقط أن تفعل ذلك، ولكن اسمحوا لي 681 00:32:52,990 --> 00:32:54,450 إدخال شيء آخر. 682 00:32:54,450 --> 00:32:57,440 بدلا من استخدام هذه المحطة التي بنيت في نافذة أسفل هنا، نذكر بأن 683 00:32:57,440 --> 00:33:01,130 هذا الرمز الأسود مربع يمنحك أكبر نافذة الطرفية التي استطيع الكامل 684 00:33:01,130 --> 00:33:02,260 الشاشة إذا أريد؟ 685 00:33:02,260 --> 00:33:05,820 حتى اتضح انهم نوع من الغريب اسمه، ولكن هناك أشياء تسمى هذه 686 00:33:05,820 --> 00:33:10,970 رجل صفحات وصفحات دليل، الرجل لفترة قصيرة، وأستطيع أن الوصول إلى هذه بواسطة 687 00:33:10,970 --> 00:33:14,515 الكتابة الرجل - 688 00:33:14,515 --> 00:33:15,570 ماذا أريد أن اكتب؟ 689 00:33:15,570 --> 00:33:17,830 رجل إلى العليا. 690 00:33:17,830 --> 00:33:21,090 >> والآن لاحظ إذا كان هناك وجود تعمل داخل جهاز الكمبيوتر، في 691 00:33:21,090 --> 00:33:23,970 هذه الحالة الجهاز، الذي هو مجرد نظام التشغيل لينكس، وانها تسير 692 00:33:23,970 --> 00:33:27,920 أن تعطيني مجموعة خفي إلى حد ما من الإخراج، ولكن عليك أن تجد أكثر من الوقت الذي 693 00:33:27,920 --> 00:33:31,720 دائما يتم تنسيق حد كبير نفس ذلك البدء في تعتاد على ذلك. 694 00:33:31,720 --> 00:33:35,130 تلاحظ في أعلى لالعلوي، و على ما يبدو هو نفس الوثائق 695 00:33:35,130 --> 00:33:35,680 للخفض. 696 00:33:35,680 --> 00:33:38,740 من كتب انها ستخفض بعض زوايا ووضع كل ذلك في صفحة واحدة. 697 00:33:38,740 --> 00:33:40,720 الغرض هذه الأشياء 'في الحياة هو أن تحويل 698 00:33:40,720 --> 00:33:42,780 رسالة إلى العلوي أو صغيرة. 699 00:33:42,780 --> 00:33:46,290 >> لاحظ أنه بموجب خلاصة، صفحة الرجل هو تعليم لي ما لدي ملف 700 00:33:46,290 --> 00:33:48,130 لتشمل لاستخدام هذا الشيء. 701 00:33:48,130 --> 00:33:51,320 انها إعطائي لهذه التوقيعات وظائف، وكلاهما، حتى 702 00:33:51,320 --> 00:33:53,510 على الرغم من أننا الآن فقط يهتمون واحد. 703 00:33:53,510 --> 00:33:54,730 هنا الآن وصفا. 704 00:33:54,730 --> 00:33:58,800 لتحويل العلوي الرسالة ج إلى أحرف كبيرة إذا كان ذلك ممكنا. 705 00:33:58,800 --> 00:34:02,280 >> لا يزال غير أن المفيد، ولكن اسمحوا لي ننظر الآن تحت قيمة الإرجاع، والشيء 706 00:34:02,280 --> 00:34:03,520 وهذا ما سلمت. 707 00:34:03,520 --> 00:34:08,600 حتى القيمة التي تم إرجاعها هو ان من الرسالة المحولة أو ج إذا كان 708 00:34:08,600 --> 00:34:09,870 كان التحويل غير ممكن. 709 00:34:09,870 --> 00:34:11,202 ما هو ج؟ 710 00:34:11,202 --> 00:34:12,560 >> الطابع الأصلي. 711 00:34:12,560 --> 00:34:15,370 >> الطابع الأصلي ونحن نعرف أنه من خلال، مرة أخرى، لتصل إلى 712 00:34:15,370 --> 00:34:19,179 ملخص، ولمن كتب هذا وظيفة فقط قررت أن مدخلات 713 00:34:19,179 --> 00:34:22,909 للالعلوي والسفلي لمجرد تسير بصورة تعسفية ليتم استدعاؤها ج. 714 00:34:22,909 --> 00:34:24,909 كان يمكن أن يطلق عليه أي شيء أكثر يريدون، ولكنهم استمروا في ذلك 715 00:34:24,909 --> 00:34:26,270 البساطة ج. 716 00:34:26,270 --> 00:34:27,880 حتى لقد تشاورت الصفحة رجل. 717 00:34:27,880 --> 00:34:31,870 هذه الجملة يطمئن لي أنه إذا انها ليست بريد إلكتروني صغيرة، انها 718 00:34:31,870 --> 00:34:34,969 الذهاب الى مجرد اعطاء لي مرة أخرى ج، الذي هو الكمال، وهو ما يعني أنني يمكن التخلص من 719 00:34:34,969 --> 00:34:36,199 حالتي آخر. 720 00:34:36,199 --> 00:34:39,679 >> لذلك اسمحوا لي العودة إلى GEdit، و الآن اسمحوا لي أن تفعل هذا. 721 00:34:39,679 --> 00:34:41,960 أنا ذاهب لنسخ بيان printf بلدي. 722 00:34:41,960 --> 00:34:45,969 انا ذاهب الى المضي قدما والحق داخل وللحلقة الطباعة التي بها، والحصول على 723 00:34:45,969 --> 00:34:48,760 التخلص من هذا كله الآن إذا بناء. 724 00:34:48,760 --> 00:34:51,860 ليست فكرة سيئة، وكان جدا الصحيح بكثير وبما يتفق مع 725 00:34:51,860 --> 00:34:54,100 كل ما قمنا بشر، ولكن ليس من الضروري فقط. 726 00:34:54,100 --> 00:34:57,070 بمجرد تحقيق بعض المكتبات وجود وظيفة أن شخصا آخر 727 00:34:57,070 --> 00:35:01,340 كتب، أو ربما كنت كتبت في أماكن أخرى ملف، يمكنك استخدامه وحقا 728 00:35:01,340 --> 00:35:02,690 البدء في تشديد التعليمات البرمجية. 729 00:35:02,690 --> 00:35:06,080 >> وعندما أقول أشياء مثل اسلوب جيد، حقيقة أن هذا الشخص يسمى 730 00:35:06,080 --> 00:35:11,490 وظيفة لالعلوي، أو سبق هو انخفاض مفيد رائعة ل 731 00:35:11,490 --> 00:35:12,900 انهم صفي للغاية. 732 00:35:12,900 --> 00:35:16,120 كنت لا ترغب في استدعاء وظائف الخاص x و y و z، التي لديها 733 00:35:16,120 --> 00:35:19,620 من ذلك بكثير، أقل بكثير معنى. 734 00:35:19,620 --> 00:35:25,160 أي أسئلة حول هذه السلسلة من التحسينات؟ 735 00:35:25,160 --> 00:35:28,010 >> لذلك يكفي أن نقول واحدا من الوجبات السريعة هو حتى مع المشكلة الخاصة بك 736 00:35:28,010 --> 00:35:30,960 تعيين - ربما المشكلة مجموعة واحدة، ولكن بالتأكيد تعيين P اثنين وما بعده، حتى 737 00:35:30,960 --> 00:35:34,380 عندما يكونون الصحيح لا يعني بالضرورة يعني أنها هي مثالية فقط 738 00:35:34,380 --> 00:35:36,155 بعد أو بشكل خاص مصممة تصميما جيدا. 739 00:35:36,155 --> 00:35:38,420 هذا هو المحور الآخر ل نبدأ في التفكير. 740 00:35:38,420 --> 00:35:41,730 لذلك كان هذا السلسلة داخل الخاص بك ذاكرة الكمبيوتر، ولكن إذا كان لديك 741 00:35:41,730 --> 00:35:46,180 مجمله مجموعة من الشخصيات مثل H-E-L-L-O داخل ذاكرة الوصول العشوائي، وافترض 742 00:35:46,180 --> 00:35:51,330 ان كنت في دعوة البرنامج الحصول على سلسلة عدة مرات بحيث كنت 743 00:35:51,330 --> 00:35:54,200 استدعاء الحصول على سلسلة واحدة، ثم ل استدعاء الحصول على سلسلة مرة أخرى. 744 00:35:54,200 --> 00:35:55,880 حسنا، ما الذي يحدث ل يحدث على مر الزمن؟ 745 00:35:55,880 --> 00:35:59,170 >> وبعبارة أخرى، إذا كان لديك خط رمز، وإن كان خارج السياق، مثل 746 00:35:59,170 --> 00:36:02,120 سلسلة ليالي يحصل - 747 00:36:02,120 --> 00:36:02,960 دعونا نفعل ذلك. 748 00:36:02,960 --> 00:36:05,270 اسم السلسلة يساوي الحصول على السلسلة. 749 00:36:05,270 --> 00:36:08,590 لذلك افترض هو المقصود أن سطر من التعليمات البرمجية ليطلب من المستخدم لاسمه أو اسمها. 750 00:36:08,590 --> 00:36:14,580 ويهدف هذا السطر التالي من التعليمات البرمجية لطرح المستخدم له أو لها المدرسة، و 751 00:36:14,580 --> 00:36:15,920 هذا السطر التالي، وهكذا دواليك. 752 00:36:15,920 --> 00:36:18,150 لنفترض أننا يتساءلون للمستخدم لآخر و 753 00:36:18,150 --> 00:36:19,750 آخر وسلسلة أخرى. 754 00:36:19,750 --> 00:36:22,390 انهم ذاهبون الى البقاء في الذاكرة في نفس الوقت. 755 00:36:22,390 --> 00:36:24,280 واحد لن هزم الآخر. 756 00:36:24,280 --> 00:36:26,420 المدرسة ليست الكتابة من جهة أخرى. 757 00:36:26,420 --> 00:36:28,520 ولكن أين هم جميعا في نهاية المطاف في الذاكرة؟ 758 00:36:28,520 --> 00:36:32,030 >> حسنا، إذا بدأنا رسم على الشاشة، والتي يمكننا استخدام هذا الشيء 759 00:36:32,030 --> 00:36:35,800 هنا مثل السبورة، إذا كان هذا الأسود يمثل المستطيل بلدي الكمبيوتر 760 00:36:35,800 --> 00:36:39,800 الذاكرة، وأنا ذاهب لبدء تعسفا تقسيمه يصل الى مربعات صغيرة، 761 00:36:39,800 --> 00:36:42,120 يمثل كل منها بايت واحد من الذاكرة. 762 00:36:42,120 --> 00:36:46,560 بصراحة، إذا كان لديك غيغابايت من ذاكرة الوصول العشوائي في هذه الأيام، لديك مليار بايت 763 00:36:46,560 --> 00:36:49,540 من الذاكرة في جهاز الكمبيوتر الخاص بك، لذلك مليار من هذه الساحات. 764 00:36:49,540 --> 00:36:52,110 لذلك يكفي أن نقول، وهذا ليست في الحقيقة على نطاق كبير. 765 00:36:52,110 --> 00:36:58,250 >> لكننا يمكن أن تبقي رسم كل هذه واضح ليس على نطاق الساحات، وهذا 766 00:36:58,250 --> 00:37:01,260 يمثل جماعي ذاكرة جهاز الكمبيوتر الخاص بي. 767 00:37:01,260 --> 00:37:03,136 الآن سنفعل مجرد نقطة، نقطة، نقطة. 768 00:37:03,136 --> 00:37:06,260 لذلك وبعبارة أخرى، عندما كنت الآن مطالبة المستخدم مع سلسلة الحصول على أن تعطيني 769 00:37:06,260 --> 00:37:07,350 سلسلة، ماذا يحدث؟ 770 00:37:07,350 --> 00:37:14,270 إذا أنواع المستخدم في "مرحبا"، التي ينتهي حتى في H-E-L-L-O. ولكن لنفترض أن 771 00:37:14,270 --> 00:37:15,720 مستخدم ثم في أنواع - 772 00:37:15,720 --> 00:37:17,250 في الواقع، لا ينبغي لي أن فعلت مرحبا لأننا نطلب 773 00:37:17,250 --> 00:37:18,330 لهم عن أسمائهم. 774 00:37:18,330 --> 00:37:20,580 لذلك دعونا نذهب مرة أخرى إذا أستطيع أن أفعل ذلك. 775 00:37:20,580 --> 00:37:26,130 >> حتى لو كنت اكتب في D-A-V-I-D لاسمي، ولكن أذكر أن السطر الثاني من 776 00:37:26,130 --> 00:37:29,220 كان رمز السلسلة الحصول مرة أخرى للحصول على مدرستهم. 777 00:37:29,220 --> 00:37:32,090 أين هي تلك الكلمة أن المستخدم أنواع في سبيلنا للذهاب في المرة القادمة؟ 778 00:37:32,090 --> 00:37:38,290 حسنا، ربما انها سوف تذهب الى H-A-R-V-A-R-D. حتى على الرغم من أنني قمت 779 00:37:38,290 --> 00:37:41,560 رسمها على أنها صفين، وهذا هو فقط مجموعة كاملة من وحدات البايت في حياتك 780 00:37:41,560 --> 00:37:42,710 ذاكرة الوصول العشوائي بالكمبيوتر. 781 00:37:42,710 --> 00:37:46,560 هناك مشكلة الآن لأنه الآن إذا أنا باستخدام ذاكرة الوصول العشوائي في هذا معقول جدا 782 00:37:46,560 --> 00:37:49,910 ولكن نوع من السذاجة الطريق، ما يمكنك لا يبدو التمييز؟ 783 00:37:49,910 --> 00:37:52,640 784 00:37:52,640 --> 00:37:54,680 حيث تبدأ واحدة، وحيث ينتهي احدة، أليس كذلك؟ 785 00:37:54,680 --> 00:37:55,860 انهم نوع من عدم وضوح معا. 786 00:37:55,860 --> 00:37:57,920 >> حتى اتضح الكمبيوتر لا تفعل هذا. 787 00:37:57,920 --> 00:38:04,720 اسمحوا لي أن انتقل فعلا العودة في الوقت المناسب ل عدد قليل من الشخصيات، وبدلا من هارفارد 788 00:38:04,720 --> 00:38:09,570 الذهاب مباشرة بعد اسم المستخدم، يحصل المستخدم على الواقع، وراء 789 00:38:09,570 --> 00:38:12,000 الكواليس، حرف خاص إدراج من قبل 790 00:38:12,000 --> 00:38:13,885 الكمبيوتر بالنسبة له أو لها. 791 00:38:13,885 --> 00:38:19,470 / 0، والمعروف باسم الطابع NUL دعا مزعج N-U-L، وليس 792 00:38:19,470 --> 00:38:22,190 N-U-L-L، ولكن أن تكتب على أنها / 0. 793 00:38:22,190 --> 00:38:27,130 انها مجرد جميع البتات صفر هو علامة في بين الكلمة الأولى التي المستخدم 794 00:38:27,130 --> 00:38:28,290 كتبته والثانية. 795 00:38:28,290 --> 00:38:33,020 >> حتى هارفارد في الواقع ينتهي حتى الآن لأن هذا تسلسل الأحرف 796 00:38:33,020 --> 00:38:36,110 وأكثر واحد / 0. 797 00:38:36,110 --> 00:38:41,690 لذلك وبعبارة أخرى، من خلال وجود هذه القيم الحارس، وثمانية صفر متجاورة 798 00:38:41,690 --> 00:38:45,220 بت، يمكنك أن تبدأ الآن للتمييز حرف واحد من آخر. 799 00:38:45,220 --> 00:38:49,720 لذلك كل هذا الوقت ما كان "مرحبا" هي في الواقع "مرحبا" مع / 0، و 800 00:38:49,720 --> 00:38:53,580 وفي الوقت نفسه، هناك ربما بشكل جيد للغاية يكون قليلا جدا أكثر من ذاكرة الوصول العشوائي 801 00:38:53,580 --> 00:38:56,400 داخل الكمبيوتر. 802 00:38:56,400 --> 00:38:57,810 >> اسمحوا لي أن تفعل شيئا واحدا أخرى الآن. 803 00:38:57,810 --> 00:39:01,800 اتضح أن كل هذه الساحات لقد تم رسم، هم، نعم، 804 00:39:01,800 --> 00:39:06,140 سلاسل، ولكن بشكل عام، هذه الأمور هي المصفوفات. 805 00:39:06,140 --> 00:39:10,590 صفيف هو مجرد جزء من الذاكرة هذا هو العودة إلى الوراء إلى العودة إلى الوراء، 806 00:39:10,590 --> 00:39:15,130 والتي عادة ما تستخدم مجموعة عن طريق من هذه الرموز قوس مربع. 807 00:39:15,130 --> 00:39:18,210 لذلك نحن ذاهبون لرؤية هذه لا بأس به مع مرور الوقت، ولكن اسمحوا لي أن تمضي قدما و 808 00:39:18,210 --> 00:39:21,160 فتح، دعونا نسميها العصور. 809 00:39:21,160 --> 00:39:23,920 وتلاحظ ما يمكننا القيام به مع نفس هذه الحيل، قليلا 810 00:39:23,920 --> 00:39:25,750 أكثر قليلا جملة هنا. 811 00:39:25,750 --> 00:39:29,270 >> حتى في خط 17 من هذا البرنامج - في الواقع، اسمحوا لي أن تشغيل البرنامج لأول مرة 812 00:39:29,270 --> 00:39:30,770 حتى نتمكن من معرفة ما يفعل هذا الشيء. 813 00:39:30,770 --> 00:39:33,530 اسمحوا لي أن ندعو جعل الأعمار ل ترجمة هذا البرنامج. 814 00:39:33,530 --> 00:39:34,950 . / الأعمار. 815 00:39:34,950 --> 00:39:36,480 كيف كثير من الناس في الغرفة؟ 816 00:39:36,480 --> 00:39:38,020 نسميها الثلاثة. 817 00:39:38,020 --> 00:39:39,575 عمر الشخص الأول؟ 818 00:39:39,575 --> 00:39:42,710 18، 19، و 20. 819 00:39:42,710 --> 00:39:46,770 والآن إلى حد ما يبعث على السخرية، أنا فقط وقد كان البرنامج الذي الأعمار تلك 820 00:39:46,770 --> 00:39:47,740 ثلاثة أشخاص. 821 00:39:47,740 --> 00:39:50,390 >> لذلك هناك فرصة بوضوح لبعض المرح الحسابي هنا. 822 00:39:50,390 --> 00:39:51,560 الحمد لله، والرياضيات هو الصحيح. 823 00:39:51,560 --> 00:39:54,720 18 ذهب و 19 و 19 ذهب إلى 20 وهكذا دواليك. 824 00:39:54,720 --> 00:39:58,510 ولكن ما هو المقصود حقا أن تكون التوضيح هنا هو كيف نقوم بتخزين 825 00:39:58,510 --> 00:40:00,190 الأعمار هؤلاء الناس ثلاث ل. 826 00:40:00,190 --> 00:40:02,370 اسمحوا لي أن التكبير في ما يجري هنا. 827 00:40:02,370 --> 00:40:06,240 >> حتى الأولى، وينبغي لهذه الأسطر القليلة الأولى يكون الحصول على دراية جدا. 828 00:40:06,240 --> 00:40:08,770 أنا مجرد مطالبة المستخدم ل عدد الأشخاص في الغرفة. 829 00:40:08,770 --> 00:40:11,490 ثم أنا باستخدام الحصول على كثافة العمليات والقيام في حين أن القيام بذلك مرارا وتكرارا وتكرارا. 830 00:40:11,490 --> 00:40:15,780 شاهدنا هذا النمط من قبل، ولكن خط 27 هو جديد والواقع تماما 831 00:40:15,780 --> 00:40:18,160 مفيدة، وسوف تصبح مفيدة على نحو متزايد. 832 00:40:18,160 --> 00:40:21,620 لاحظ أن ما هو مختلف في خط 27 هو أنني يبدو أن إعلان و 833 00:40:21,620 --> 00:40:23,960 الباحث دعا الأعمار، ولكن الانتظار. 834 00:40:23,960 --> 00:40:27,140 انها ليست مجرد الباحث الأعمار. 835 00:40:27,140 --> 00:40:30,130 هناك هذه الأقواس المربعة، داخل الذي هو ن. 836 00:40:30,130 --> 00:40:35,150 >> وبالتالي فإن قوس ن في هذا السياق، لا داخل بيان printf هنا ولكن 837 00:40:35,150 --> 00:40:44,370 في هذا الخط الوحيد 27، وهذا الخط هو قائلا: أعطني ن رجات، كل منها 838 00:40:44,370 --> 00:40:46,080 هو من نوع int. 839 00:40:46,080 --> 00:40:49,870 لذلك هذا هو دلو، إذا جاز التعبير، من، في هذه الحالة، ثلاثة أعداد صحيحة إلى 840 00:40:49,870 --> 00:40:52,770 العودة إلى الوراء لدرجة أنني فعال لديهم ثلاثة متغيرات. 841 00:40:52,770 --> 00:40:54,890 البديل، لتكون واضحة، لن يكون هذا. 842 00:40:54,890 --> 00:40:57,400 >> إذا أردت الطالب الأول العمر، وأنا قد تفعل هذا. 843 00:40:57,400 --> 00:40:59,520 إذا أردت الطالب الثاني العمر أنا قد تفعل هذا. 844 00:40:59,520 --> 00:41:01,860 إذا أردت الطالب الثالث العمر، وأنا قد تفعل هذا. 845 00:41:01,860 --> 00:41:04,320 وسمح الله نحتاج الجميع العمر في هذه الغرفة - 846 00:41:04,320 --> 00:41:07,670 أعني، وهذا هو هيك من الكثير من نسخة، لصق مرة أخرى ومرة ​​أخرى ومرة ​​أخرى. 847 00:41:07,670 --> 00:41:10,870 وبالإضافة إلى مرة واحدة تجميع هذا البرنامج، إذا يمشي طالب آخر في أكثر من 848 00:41:10,870 --> 00:41:14,200 من هذا الباب، والآن لي عدد المتغيرات غير صحيح. 849 00:41:14,200 --> 00:41:17,450 >> فما هو لطيفة عن مجموعة هي كما بمجرد أن تبدأ الشعور نفسك 850 00:41:17,450 --> 00:41:20,190 النسخ واللصق، والاحتمالات هي وهذا ما ليس أفضل النهج. 851 00:41:20,190 --> 00:41:22,240 مجموعة ديناميكية محتملة. 852 00:41:22,240 --> 00:41:24,610 أنا لا أعرف مقدما كم من الناس ستكون في الغرفة، 853 00:41:24,610 --> 00:41:28,670 لكنني أعلم أنني بحاجة ن منهم، وسوف أكون معرفة ن عندما يحين الوقت. 854 00:41:28,670 --> 00:41:35,500 هذا السطر من التعليمات البرمجية يعني الآن، أعطني جزء من الذاكرة التي يبدو مثل هذا 855 00:41:35,500 --> 00:41:40,380 حيث بلغ عدد صناديق على الشاشة يعتمد كليا على ن أن 856 00:41:40,380 --> 00:41:42,010 المستخدم كتابتها في. 857 00:41:42,010 --> 00:41:44,850 >> وحتى الآن ما تبقى من هذا البرنامج هو في الواقع مشابهة جدا لماذا نحن 858 00:41:44,850 --> 00:41:46,860 فعلت فقط مع الأحرف. 859 00:41:46,860 --> 00:41:49,970 إشعار لدي للحلقة ابتداء من خط 30. 860 00:41:49,970 --> 00:41:54,920 ذلك الحق بعد أن أحصل على مجموعة، وأنا تكرار من ذ يساوي صفر على ما يصل إلى n. 861 00:41:54,920 --> 00:41:58,890 لدي فقط هذا printf المفيد رسالة فقط أقول، أعطني سن 862 00:41:58,890 --> 00:42:03,690 من شخص #٪ ط، لذلك رقم واحد، رقم اثنين ورقم ثلاثة. 863 00:42:03,690 --> 00:42:04,730 ولماذا لم أفعل هذا؟ 864 00:42:04,730 --> 00:42:08,870 بصراحة، والبشر يفضلون عد من واحد على ما يصل بينما علماء الكمبيوتر، 865 00:42:08,870 --> 00:42:09,620 صفر على ما يصل. 866 00:42:09,620 --> 00:42:11,700 علماء الكمبيوتر لا تسير على استخدام هذا النوع من البرامج، لذلك نحن 867 00:42:11,700 --> 00:42:13,990 سوف نبدأ العد في واحد مثل الناس العاديين. 868 00:42:13,990 --> 00:42:17,630 >> والآن في خط 33، لاحظ قليلا قطعة مختلفة من بناء الجملة. 869 00:42:17,630 --> 00:42:23,710 في سن ال ط في هذا المتغير من نوع مجموعة سوف تحصل على كثافة العمليات. 870 00:42:23,710 --> 00:42:25,770 والآن أخيرا، وهذا هو فقط الحسابي هنا. 871 00:42:25,770 --> 00:42:29,200 قررت في حلقة منفصلة لمطالبة بعض الوقت يمر، والآن في هذا 872 00:42:29,200 --> 00:42:31,400 حلقة منفصلة، ​​وهذه خطوط تنفيذه. 873 00:42:31,400 --> 00:42:35,810 >> بعد عام من الآن، وسوف أكون الشخص ط سنة، ولكن لاحظ ليست هذه هي 874 00:42:35,810 --> 00:42:36,500 ط متغير. 875 00:42:36,500 --> 00:42:38,390 هذا هو الآن ط٪ لكثافة العمليات. 876 00:42:38,390 --> 00:42:43,210 واشعار على النحو العنصر النائب الأول، سد العجز في ط زائد 1، لذلك نحن نعول مثل 877 00:42:43,210 --> 00:42:44,250 الشخص العادي. 878 00:42:44,250 --> 00:42:49,190 ثم لقيمة سنهم، ل ط سنة، أود أن أغتنم الأعمار قوس 879 00:42:49,190 --> 00:42:52,980 ط - وماذا أفعل زائد واحد هنا؟ 880 00:42:52,980 --> 00:42:53,760 هم الذين تتراوح أعمارهم فقط. 881 00:42:53,760 --> 00:42:55,030 انها خياري غبي من البرامج. 882 00:42:55,030 --> 00:42:56,810 هم الذين تتراوح أعمارهم بين سنة واحدة فقط. 883 00:42:56,810 --> 00:42:59,770 يمكنني أن اكتب في أي الرقم الذي أريد فعلا هناك. 884 00:42:59,770 --> 00:43:02,430 >> فما هو في الواقع كل من أهمية هنا؟ 885 00:43:02,430 --> 00:43:07,610 حسنا، اسمحوا لي أن انتقل فعلا إلى الوراء أكثر من هنا وترسم صورة 886 00:43:07,610 --> 00:43:10,830 ما ينتظرنا في المستقبل. 887 00:43:10,830 --> 00:43:15,720 ما سنقوم به مع شركائنا المقبل مشكلة تعيين اثنين يتم تجريب في 888 00:43:15,720 --> 00:43:17,070 عالم التشفير. 889 00:43:17,070 --> 00:43:22,500 لذلك هذا هو سلسلة من الأحرف، لذلك تسلسل حروف متعددة، وما 890 00:43:22,500 --> 00:43:23,750 يعني هذا القول؟ 891 00:43:23,750 --> 00:43:28,530 892 00:43:28,530 --> 00:43:30,600 انها ليست في النسخة الإلكترونية من الشرائح. 893 00:43:30,600 --> 00:43:35,880 >> لذلك أزعم أن هذا يساوي هذا، الإعلان غبي من سنوات عديدة 894 00:43:35,880 --> 00:43:39,950 قبل أن أذكر في الواقع قد واحد من أصولها. 895 00:43:39,950 --> 00:43:42,740 لذلك هذا هو مثال على التشفير أو الترميز. 896 00:43:42,740 --> 00:43:46,150 اتضح أنه إذا كنت تريد ل في الواقع ترسل المعلومات أو حصة 897 00:43:46,150 --> 00:43:49,310 المعلومات مع شخص آمن، مثل رسالة من هذا القبيل، يمكنك 898 00:43:49,310 --> 00:43:50,500 يتبارى الحروف. 899 00:43:50,500 --> 00:43:53,170 ولكن عادة، والكلمات هي لا تدافعت بشكل عشوائي. 900 00:43:53,170 --> 00:43:56,365 انهم مبدل في بعض الطريق أو تغييرها بطريقة ما بحيث - عفوا. 901 00:43:56,365 --> 00:43:59,040 وهذا مفسد للمتعة في المرة القادمة. 902 00:43:59,040 --> 00:44:04,390 >> بحيث يمكنك تعيين ما هو على ما يبدو O لB. لاحظ أن يصطف 903 00:44:04,390 --> 00:44:05,420 رسملة الحكيم. 904 00:44:05,420 --> 00:44:07,960 يبدو يصبح ص ه. 905 00:44:07,960 --> 00:44:14,000 يبدو F-H-E-R يصبح S-U-R-E. هكذا اتضح أن هناك رسم الخرائط، و 906 00:44:14,000 --> 00:44:18,720 هذه الحالة هناك غبي جدا إذا كان أي شخص قد رسم الخرائط ترد عليها؟ 907 00:44:18,720 --> 00:44:21,440 وهذا هو ما يسمى تعفن 13، تدوير 13. 908 00:44:21,440 --> 00:44:24,760 هو أغبى من التشفير آليات لأنه حرفيا فقط 909 00:44:24,760 --> 00:44:29,160 يضيف 13 إلى كل واحد من الحروف، غبي بمعنى أنه إذا كنت فقط 910 00:44:29,160 --> 00:44:31,890 قليلا من الوقت الحر على يديك وقلم رصاص، أو كنت فقط أعتقد أنه 911 00:44:31,890 --> 00:44:35,260 من خلال في رأسك، قد تتمكن من محاولة جميع الإضافات ممكن - واحد، اثنان، 912 00:44:35,260 --> 00:44:38,470 ثلاثة، نقطة، نقطة، نقطة، من 25 إلى مجرد تدوير الأبجدية كلها، و 913 00:44:38,470 --> 00:44:40,860 في نهاية المطاف، سيكون لمعرفة ما هو هذا الرسالة. 914 00:44:40,860 --> 00:44:43,700 لذلك إذا كنت فعلت شيئا من هذا القبيل في المدرسة الابتدائية تمرير الرسائل إلى حسابك 915 00:44:43,700 --> 00:44:46,830 أفضل صديق، وإذا المدارس الابتدائية الخاصة بك المعلم قراءة ببساطة من خلال 916 00:44:46,830 --> 00:44:50,320 رسالة واضطر الغاشمة الحل، كنت قد حصلت على 917 00:44:50,320 --> 00:44:52,550 جوابا عن ذلك. 918 00:44:52,550 --> 00:44:54,970 >> الآن بطبيعة الحال، في العالم الحقيقي، التشفير هو أكثر تطورا. 919 00:44:54,970 --> 00:45:00,120 هذا هو مقتطف من نص من نظام كمبيوتر يحتوي على أسماء المستخدمين و 920 00:45:00,120 --> 00:45:03,630 كلمات السر، وكلها تقريبا من لنا به، و هذا هو ما قد كلمة السر 921 00:45:03,630 --> 00:45:07,260 إذا تبدو وكأنها مخزنة على القرص الثابت ولكن في شكل دفع مشفرة. 922 00:45:07,260 --> 00:45:11,050 هذه ليست مجرد دوران الحروف و A هي B و B هو C. وهذا هو 923 00:45:11,050 --> 00:45:15,620 أكثر تعقيدا بكثير، ولكنه يستخدم ما يعرف عموما بأنه المفتاح السري 924 00:45:15,620 --> 00:45:16,690 التشفير. 925 00:45:16,690 --> 00:45:20,210 هذه الصورة تحكي التالي قصة مع عدد قليل من الرموز. 926 00:45:20,210 --> 00:45:22,250 >> على اليسار، لدينا ما وسوف ندعو نص عادي. 927 00:45:22,250 --> 00:45:25,420 في عالم التشفير، عادي النص هو مجرد الرسالة الأصلية 928 00:45:25,420 --> 00:45:29,050 مكتوبة باللغة الإنجليزية أو الفرنسية أو أي لغة على الإطلاق. 929 00:45:29,050 --> 00:45:32,405 إذا كنت تريد تشفير ذلك، فإننا سوف تمر ذلك بالصور من خلال قفل، لذلك 930 00:45:32,405 --> 00:45:35,580 بعض نوع من الخوارزمية، بعض من وظيفة أو البرنامج الذي شخص كتب 931 00:45:35,580 --> 00:45:39,880 التي تكافح خطابات نأمل أكثر complicatedly من إضافة 13 فقط 932 00:45:39,880 --> 00:45:40,980 لكل واحد منهم. 933 00:45:40,980 --> 00:45:43,780 >> ما تحصل عليه من تلك العملية في الوسط يسمى هناك cyphertext. 934 00:45:43,780 --> 00:45:44,850 ذلك النوع من كلمة مثير. 935 00:45:44,850 --> 00:45:47,630 بل يعني فقط انها مشفرة نسخة من النص العادي. 936 00:45:47,630 --> 00:45:52,570 وفقط إذا كان لديك في نفس السرية، 13 أو ناقص 13، هل أنت قادرة على 937 00:45:52,570 --> 00:45:54,970 فك تشفير رسالة من هذا القبيل. 938 00:45:54,970 --> 00:45:57,770 >> حتى في مشكلة تعيين اثنين، من بين الأشياء عليك أن تفعل إذا في هاكر 939 00:45:57,770 --> 00:46:01,860 طبعة، سيكون لديك لكتابة رمز ل الكراك هذه كلمات السر، ومعرفة 940 00:46:01,860 --> 00:46:05,170 ما كانوا وكيف كانوا مشفرة، على الرغم من أننا لا تعطيك قليلا 941 00:46:05,170 --> 00:46:06,460 التوجيه على طول الطريق. 942 00:46:06,460 --> 00:46:09,320 في الإصدار القياسي، ونحن نقدم اثنين من الأصفار، والتشفير 943 00:46:09,320 --> 00:46:12,400 الآليات واحد يسمى قيصر، واحد دعا Vigenere، التي لا تزال 944 00:46:12,400 --> 00:46:16,100 الاصفار التناوب حيث يصبح شيء، B يصبح شيئا، ولكن 945 00:46:16,100 --> 00:46:18,820 عليك أن تفعل ذلك برمجيا لأنه سيكون هناك في الواقع سرا 946 00:46:18,820 --> 00:46:22,840 الرئيسية المعنية والتي هي عادة عددا أو الكلمات الرئيسية التي فقط 947 00:46:22,840 --> 00:46:26,420 المرسل والمتلقي لهذه يجب فهم الرسائل. 948 00:46:26,420 --> 00:46:28,660 >> الآن، وهذا له التجسيد في الواقع في العالم الحقيقي. 949 00:46:28,660 --> 00:46:32,910 هذا، على سبيل المثال، هو يتيم قليلا لآني سرية حلقة فك، وكنت 950 00:46:32,910 --> 00:46:35,180 يمكن تنفيذ هذه فعلا الاصفار التناوب - 951 00:46:35,180 --> 00:46:37,930 ويصبح شيئا، يصبح B شيء ما - مع اثنين من العجلات، و 952 00:46:37,930 --> 00:46:40,840 واحد في الخارج، واحدة في الداخل بحيث إذا قمت بتدوير العجلة أو 953 00:46:40,840 --> 00:46:44,170 الحلبة، يمكنك خط فعليا حتى الحروف مع حروف مختلفة، 954 00:46:44,170 --> 00:46:45,430 الحصول على شفرة سرية. 955 00:46:45,430 --> 00:46:48,110 وذلك في التشويق لهذا اليوم، ما ظننت أنني كنت تفعل قليلا من 956 00:46:48,110 --> 00:46:52,170 ارتداد أنه إذا كنت بدوره على التلفزيون يوم 24 ديسمبر، يمكنك مشاهدة 957 00:46:52,170 --> 00:46:55,390 nauseum الإعلان عن الفيلم 24 ساعة على التوالي. 958 00:46:55,390 --> 00:47:06,030 ولكن لهذا اليوم، وأنا فتحه هنا وتعطينا دقيقتين فقط من 959 00:47:06,030 --> 00:47:13,493 قصة عيد الميلاد ذات الصلة تربويا مع القليل من زميل اسمه الخاص Ralphie. 960 00:47:13,493 --> 00:47:14,400 >> [تشغيل الفيديو] 961 00:47:14,400 --> 00:47:17,420 >> -سواء كان ذلك معروفة للجميع من دون استثناء أن يتم تعيين رالف باركر بموجب هذا 962 00:47:17,420 --> 00:47:20,650 عضو في سرية ليتل اليتيم آني يحق دائرة وإلى جميع 963 00:47:20,650 --> 00:47:23,460 يكرم والفوائد تحدث عليها. 964 00:47:23,460 --> 00:47:25,990 >> التوقيع، ليتل اليتيم آني. 965 00:47:25,990 --> 00:47:30,100 بالعطف، بيار اندريه في الحبر. 966 00:47:30,100 --> 00:47:34,270 الأوسمة والفوائد بالفعل في سن التاسعة. 967 00:47:34,270 --> 00:47:39,440 >> [ON RADIO يصيحون] 968 00:47:39,440 --> 00:47:40,770 >> هيا، دعونا نتجاوز هذا الامر. 969 00:47:40,770 --> 00:47:44,965 أنا لا تحتاج الى كل ذلك الجاز حول المهربين والقراصنة. 970 00:47:44,965 --> 00:47:48,270 >> -استماع ليلة الغد ل مغامرة الختامية للأسود 971 00:47:48,270 --> 00:47:49,650 القراصنة السفينة. 972 00:47:49,650 --> 00:47:53,320 الآن، حان الوقت لسر آني رسالة لك أعضاء 973 00:47:53,320 --> 00:47:55,720 من دائرة السرية. 974 00:47:55,720 --> 00:47:56,580 نتذكر، والأطفال. 975 00:47:56,580 --> 00:48:01,720 فقط أعضاء الدائرة السرية آني يمكن فك شفرة رسالة سرية آني. 976 00:48:01,720 --> 00:48:05,872 تذكر، آني يعتمد عليك. 977 00:48:05,872 --> 00:48:08,670 تعيين دبابيس لB2. 978 00:48:08,670 --> 00:48:11,000 هنا هي الرسالة. 979 00:48:11,000 --> 00:48:12,335 12، 11، 2 - 980 00:48:12,335 --> 00:48:14,670 >> ، أنا في أول اجتماع بلدي سرية. 981 00:48:14,670 --> 00:48:19,720 >> -25، 14، 11، 18، 16 - 982 00:48:19,720 --> 00:48:21,650 >> كان بيير بصوت عظيم الليلة. 983 00:48:21,650 --> 00:48:24,830 يمكنني أن أقول أن رسالة هذا المساء من المهم حقا. 984 00:48:24,830 --> 00:48:26,400 >> -3، 25. 985 00:48:26,400 --> 00:48:28,540 هذا هو رسالة من آني نفسها. 986 00:48:28,540 --> 00:48:30,086 تذكر، لا تخبر أحدا. 987 00:48:30,086 --> 00:48:34,370 988 00:48:34,370 --> 00:48:38,710 >> -90 ثانية في وقت لاحق، وأنا في غرفة فقط في المنزل حيث صبي من تسعة 989 00:48:38,710 --> 00:48:42,668 يمكن أن نجلس في الخصوصية وفك شفرة. 990 00:48:42,668 --> 00:48:47,628 آها، B. ذهبت في اليوم التالي. 991 00:48:47,628 --> 00:48:53,060 هاء الكلمة الأولى هي "أن يكون." S. كانت قادمة أسهل الآن. 992 00:48:53,060 --> 00:48:54,980 U. 25. 993 00:48:54,980 --> 00:48:55,940 هذا R. 994 00:48:55,940 --> 00:48:56,900 >> تعال، الخاص Ralphie. 995 00:48:56,900 --> 00:48:57,860 أنا فلدي تذهب. 996 00:48:57,860 --> 00:48:59,780 >> -I'll يكون وصولا، ما. 997 00:48:59,780 --> 00:49:01,030 جي الازيز. 998 00:49:01,030 --> 00:49:04,300 999 00:49:04,300 --> 00:49:08,220 >> -T. O. تأكد من. 1000 00:49:08,220 --> 00:49:09,500 ومن المؤكد أن ما؟ 1001 00:49:09,500 --> 00:49:11,660 ما كان اليتيم الصغير آني يحاول أن يقول؟ 1002 00:49:11,660 --> 00:49:12,844 ومن المؤكد أن ما؟ 1003 00:49:12,844 --> 00:49:14,732 >> -الخاص Ralphie، وقد حصلت راندي للذهاب. 1004 00:49:14,732 --> 00:49:16,148 هل يرجى يخرج؟ 1005 00:49:16,148 --> 00:49:17,092 >> حسنا، ما. 1006 00:49:17,092 --> 00:49:18,510 سأكون من الحق. 1007 00:49:18,510 --> 00:49:20,270 >> -I كان الحصول على أقرب إلى الآن. 1008 00:49:20,270 --> 00:49:21,823 وكان التوتر الفظيع. 1009 00:49:21,823 --> 00:49:23,045 ما كان عليه؟ 1010 00:49:23,045 --> 00:49:26,510 مصير هذا الكوكب قد شنق في الميزان. 1011 00:49:26,510 --> 00:49:28,985 >> -الخاص Ralphie، فلدي راندي نذهب. 1012 00:49:28,985 --> 00:49:32,680 >> -I'll يكون الحق في الخروج ل البكاء بصوت عال. 1013 00:49:32,680 --> 00:49:33,956 >> -تقريبا هناك. 1014 00:49:33,956 --> 00:49:35,140 طار أصابعي. 1015 00:49:35,140 --> 00:49:36,880 كان ذهني فخ الصلب. 1016 00:49:36,880 --> 00:49:38,010 صدي كل مسام. 1017 00:49:38,010 --> 00:49:39,878 كان من الواضح تقريبا. 1018 00:49:39,878 --> 00:49:43,210 نعم، نعم، نعم، نعم، نعم. 1019 00:49:43,210 --> 00:49:49,030 >> كن متأكدا من أن شرب فالتين الخاصة بك. 1020 00:49:49,030 --> 00:49:50,280 فالتين؟ 1021 00:49:50,280 --> 00:49:53,980 1022 00:49:53,980 --> 00:49:55,230 A التجارية تافه؟ 1023 00:49:55,230 --> 00:49:58,572 1024 00:49:58,572 --> 00:50:00,694 ابن العاهرة. 1025 00:50:00,694 --> 00:50:01,900 >> [END تشغيل الفيديو] 1026 00:50:01,900 --> 00:50:04,260 >> سرور 1: هذا هو CS50، والتي ستكون مشكلة مجموعة الثانية. 1027 00:50:04,260 --> 00:50:06,305 نراكم في الأسبوع القادم. 1028 00:50:06,305 --> 00:50:08,800 >> المتحدث 2: في المقبل CS50، وهذا يحدث. 1029 00:50:08,800 --> 00:50:11,060 >> سرور 1: لذلك موضوع واحد وليس لدينا نظرت حتى الآن هو 1030 00:50:11,060 --> 00:50:12,220 ان من المؤشرات الدالة. 1031 00:50:12,220 --> 00:50:14,540 الآن، مؤشر دالة فقط عنوان جمهور 1032 00:50:14,540 --> 00:50:17,000 وظيفة، ولكن مثل الكثير - 1033 00:50:17,000 --> 00:50:18,250 ابن - 1034 00:50:18,250 --> 00:50:19,670