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 من ایجاد یک آرایه از 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 اما روشی که در آن ما را که توسط اولین هرگاه اشاره گر 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 و یا دیگری اگر شما به طور تصادفی ارجاع یک 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 >> OK، به طوری که در واقع بسیار کوتاه تر از من فکر کردم این امر می تواند، 131 00:06:15,274 --> 00:06:16,690 SPIEL پنج دقیقه در لیست لینک. 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 >> خوب، شما احتمالا می خواهید بچه ها شروع به شروع کار 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 بله، O به Z، شما در حال رفتن برای رفتن به دیویس 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 که در آن، من فکر می کنم آن را مانند 1:00 تا این 02:15 در روزهای چهارشنبه و 2:30-3: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 از آن می آید بسیار به طور طبیعی بودن قادر به صورت خودکار تکمیل اند 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 بنابراین، راه است که من که مسابقه توصیف 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 در مجموع به عنوان زمانی که شما OK یک ایده چگونه برای این کار. 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 >> رسید به دو قدرت صفر، 00:58. 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 >> بنابراین اولین one-- یکی، یکی، یک، یک، یکی. 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 و راه را به شما انجام این کار، tallying تا که نیمی و تطبیق که نیم. 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 A است مانند 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 استاد: منظور من، شما هستید tallying تا با استفاده از ریاضی پایه. 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 چه تعداد یک به مطابقت دارد؟ 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 درست مثل، OK، من فقط به رفتن در مورد این اولین بار [نامفهوم] مراقبت؟ 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 >> مخاطبان: بنابراین ما همیشه اعضای خواهد 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 بنابراین A تا 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 باشه خوبه. 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 ما باید از نوع int اصلی (خالی)، چه از درجه اعتبار ساقط اینجا منظور در اینجا در خط سه؟ 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 چرا ما حتی یک اصلی است: int؟ 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 >> شناور ذاتا مبهم است. 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 بنابراین، برای مثال، این CS50 ID 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 متفاوت از ID است. 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 یکی نام و یکی به نام T. 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 OK، من فکر می کنم ما خوب است. 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 رسید و رشته T است که در نقطه حافظه ذخیره می شود، 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 خوب، پس به یاد داشته باشید این باور نکردنی وحی ما به شما بچه ها توضیح داد 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 >> وقتی که من ایجاد یک رشته s، تمام که واقعا 700 00:38:10,170 --> 00:38:15,550 یک اشاره گر به است شروع این رشته است. 701 00:38:15,550 --> 00:38:21,130 و هنگامی که من ایجاد این مقدار t، که یک اشاره گر به اینجا است. 702 00:38:21,130 --> 00:38:23,980 و تا زمانی که شما در حال تلاش به یکسان و بررسی 703 00:38:23,980 --> 00:38:27,710 برای دیدن اگر بازدید کنندگان برابر است برابر است با T، کامپیوتر 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 >> مخاطبان: آیا ما می توانیم برای ارجاع دوباره به را امتحان کنید اشاره گر و از طریق آرایه را بررسی کنید؟ 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 ما می تواند ارجاع اشاره گر و در واقع رفتن و دسترسی 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 >> مخاطبان: [نامفهوم] ارجاع آن، شما فقط با قرار دادن یک ستاره [نامفهوم] 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 مخاطبان: بنابراین شما می توانید فقط ارسال اگر ستاره ها برابر برابر ستاره T. 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 شما می توانید در صورت، ستاره انجام به ستاره T برابر است. 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 مثل یک حلقه for و یا اشاره گر تعبیه شده؟ 767 00:41:06,064 --> 00:41:06,730 استاد: آره. 768 00:41:06,730 --> 00:41:08,170 تقریبا درست یک حلقه for. 769 00:41:08,170 --> 00:41:12,430 به یاد داشته باشید، دیوید در کلاس ذکر قند نحوی رایگان است؟ 770 00:41:12,430 --> 00:41:17,690 و او این بود بسیار چیزی گیج کننده از ستاره T 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 راه که شما می توانید یک برای دارند حلقه که از صفر تا من فرار، که در آن 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 رسید پس از آن برای ارجاع دوباره به این هر شخصیت واحد اگر ما در واقع 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 بچه ها که در آن شما را وادار به فرض کنیم که S در رشته را نمی خواهد تهی باشد. 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 شما در حال رفتن برای ایجاد یک تابع به نام INT 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 INT strlen. 883 00:50:17,255 --> 00:50:20,040 884 00:50:20,040 --> 00:50:23,460 اول، آیا کسی می خواهید به من چه که int دلالت؟ 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 دوست دارم، smush نیست همه چیز را در یک خط. 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 >> مخاطبان: متوسط، N برابر صفر است. 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 >> مخاطبان: خوب، پس در حالی که نقطه ستاره ها، آره، ستاره ها، 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 بنابراین تا اینجا، شما را انجام دهید، اگر S برابر برابر NULL، یک بازگشت. 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 استاد: خوب، من می گویم شما همین دلیل ما نمی تواند انجام دهد. 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 بنابراین، هنگامی که افتراق بسیار مراقب باشید تفاوت بین مقدار null 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 >> همه OK با این؟ 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 عملی ما همچنین می تواند از شما درخواست ارسال یک به من، به یاد داشته باشید که "Atwoa" 1072 00:57:53,790 --> 00:57:55,400 و یا هر آنچه که شما بچه ها می خواهید به آن پاسخ؟ 1073 00:57:55,400 --> 00:57:58,010 این تابع در ویژنر و سزار، که 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-- نمی دانم اگر ما قصد داریم 1086 00:58:32,280 --> 00:58:39,080 به شما بخواهید به حفظ آنچه سرمایه و یا Z سرمایه، و یا حروف کوچک و یا کوچک 1087 00:58:39,080 --> 00:58:42,640 Z در ASCII هستند، اما من پیشنهاد شاید نوشتن است که در مورد 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 من استفاده می شود به جای N تعداد اما، شما مطمئن شوید، هر آنچه که قایق خود را شناور. 1157 01:00:49,176 --> 01:00:51,092 مخاطبان: صبر کنید، بنابراین ما نمی خواهد که هشتگ 1158 01:00:51,092 --> 01:00:53,460 شامل زیرا ما با شروع در نوع int؟ 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 >> استاد: خوب، پس ما دارند حدس شماره یک 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 نوع int x برابر با 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 >> بنابراین در اینجا، نوع int x برابر 10. 1229 01:05:14,310 --> 01:05:17,670 در تابع اصلی ما در حال ایجاد یک متغیر به نام X. 1230 01:05:17,670 --> 01:05:20,590 ما در حال تنظیم است که به 10 برابر است. 1231 01:05:20,590 --> 01:05:24,200 در اینجا برخی از X به شما کردم، و شما تنظیم که برابر با 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 ما قصد داریم به ایجاد یکی دیگر متغیر از نوع int x برابر 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 >> بنابراین آن را برای ایجاد یک X در اینجا. 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 بنابراین در حال حاضر ما دو X مختلف که نشان دهنده دو چیز بسیار متفاوت است. 1254 01:06:20,980 --> 01:06:24,470 سپس ما قصد داریم برای چاپ از عدد صحیح x است. 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 از آنجا که این تابع برمی گرداند هیچ چیز، در حال حاضر که تابع، که خط اصلی در 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 این x در اصلی چیست؟ 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 >> چه مقدار X در حال حاضر است؟ 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 از آنجا که به یاد داشته باشید، در تابع ما، x برابر 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 و در اینجا X 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 من به علاوه به علاوه. 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 چگونه بسیاری از شما بچه ها سعی کرده اند به استفاده از من در خارج از یک حلقه for و خطا بود. 1309 01:08:49,990 --> 01:08:53,310 مانند اعداد صحیح unreferenced یا چیزی شبیه به آن؟ 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 و من قصد دارم به ایجاد یکی دیگر، مانند بین المللی J، و آن را انجام هر کاری. 1317 01:09:19,080 --> 01:09:23,689 و شما باید یک کد در داخل که حلقه، J فقط در اینجا وجود دارد. 1318 01:09:23,689 --> 01:09:26,029 اما این نیز در من وجود دارد. 1319 01:09:26,029 --> 01:09:29,310 و به این ترتیب j تنها وجود دارد در این حلقه، 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 همه OK در آن؟ 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 بنابراین از یک گسل SEG فکر می کنم، کردن محدودیت، منطقه محدود در حافظه 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 >> رسید بنابراین اگر شما می خواهید برای دسترسی به نقطه 10 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 یک جستجوی دودویی N ورود به سیستم از n است. 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 >> بله، خوب، یکی بیشتر. 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 >> خوب، پس بسیار برای اولین بار از همه، چه نوع برنامه 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-- که یک تابع برای آزاد کردن همه 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 می N مربع. 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 یک آرایه 04:59. 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 یا ویژنر در 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 احتمالا چه خبر است به اتفاق می افتد و این کاملا خوب است، 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 منظور شما در حال رفتن به یک D در این کلاس است. 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