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