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