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