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