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