1 00:00:00,000 --> 00:00:03,353 >> [موسیقی] 2 00:00:03,353 --> 00:00:04,842 3 00:00:04,842 --> 00:00:06,050 دیوید مالان: سلام به همگی. 4 00:00:06,050 --> 00:00:07,777 این supersection CS50 است. 5 00:00:07,777 --> 00:00:09,860 بخش اختصاص داده شده نیست شروع برای یک هفته دیگر. 6 00:00:09,860 --> 00:00:11,580 و بنابراین، امروز، من اینجا هستم with-- 7 00:00:11,580 --> 00:00:12,122 >> MARIA: ماریا. 8 00:00:12,122 --> 00:00:14,163 دیوید مالان: --to در واقع نگاهی به مشکل 9 00:00:14,163 --> 00:00:16,110 مجموعه ای از یک، البته در هفته اول از مواد، 10 00:00:16,110 --> 00:00:19,780 شما را با CS50 IDE گرا، کمی لینوکس، سیستم عامل که 11 00:00:19,780 --> 00:00:22,290 در حال اجرا در IDE، و همچنین در برخی از گذار نگاه 12 00:00:22,290 --> 00:00:25,730 از ابتدا به پیشرو C تا مجموعه ای مشکل است. 13 00:00:25,730 --> 00:00:28,340 >> بنابراین بدون ado بیشتر، در مجموعه ای مشکل است، 14 00:00:28,340 --> 00:00:30,520 شما در حال رفتن به معرفی به CS50 IDE، که 15 00:00:30,520 --> 00:00:33,230 این برنامه نویسی مبتنی بر وب است محیط زیست که ما به منظور استفاده 16 00:00:33,230 --> 00:00:34,280 برای نوشتن برنامه. 17 00:00:34,280 --> 00:00:37,280 این طراحی شده است به نگاه بسیار یادآور یک کامپیوتر معمولی 18 00:00:37,280 --> 00:00:39,430 سیستم عامل در حال اجرا سیستم به نام لینوکس است. 19 00:00:39,430 --> 00:00:42,440 اما آن را در ابر به اصطلاح است، که بدان معنی است که هر کس در کلاس 20 00:00:42,440 --> 00:00:45,100 در واقع می توانید خود را حساب کاربری خود و استفاده از آن، و همچنین. 21 00:00:45,100 --> 00:00:48,950 >> بنابراین بسیاری از شما احتمالا هرگز مورد استفاده قرار یک محیط لینوکس و یا شاید قبل از 22 00:00:48,950 --> 00:00:50,447 حتی یک محیط خط فرمان. 23 00:00:50,447 --> 00:00:52,280 و یک خط فرمان محیط های مختلف است. 24 00:00:52,280 --> 00:00:53,200 این همه متنی است. 25 00:00:53,200 --> 00:00:54,730 این همه دستورات صفحه کلید است. 26 00:00:54,730 --> 00:00:59,480 و آن را بدون تکاپو، هیچ آیکون است، هیچ پنجره گفتگو، هیچ منوها. 27 00:00:59,480 --> 00:01:00,212 این متن صرفا. 28 00:01:00,212 --> 00:01:01,920 بنابراین در ابتدا، آن هم از نوع از احساس می کند مانند یک گام 29 00:01:01,920 --> 00:01:04,434 به عقب در نظر از پیچیدگی است. 30 00:01:04,434 --> 00:01:06,600 اما پایان می رسد تا بسیاری قدرتمند تر است، قطعا، 31 00:01:06,600 --> 00:01:08,510 برای یک دانشمند کامپیوتر، در نهایت. 32 00:01:08,510 --> 00:01:09,540 >> بنابراین اجازه دهید نگاهی به. 33 00:01:09,540 --> 00:01:13,850 در اینجا من در CS50.io هستم، که از طریق آن شما می توانید به CS50 IDE وارد شوید. 34 00:01:13,850 --> 00:01:17,414 و بسیار شبیه در ابتدا، وجود دارد زمینه سه حوزه اصلی به این صفحه. 35 00:01:17,414 --> 00:01:20,080 بنابراین در سمت چپ، ما باید چه خواهد بود، مرورگر فایل. 36 00:01:20,080 --> 00:01:22,413 و این پوشه را در وجود دارد بالا، این است که در حال حاضر خالی 37 00:01:22,413 --> 00:01:24,690 از آنجایی که من از همه شر من فایل های قبل از supersection. 38 00:01:24,690 --> 00:01:27,599 و این که در آن ما ذخیره فایل های C که ما ارسال. 39 00:01:27,599 --> 00:01:30,890 در بالا سمت راست، ما یک محل که در آن همه از کد ما را به نوشته شده است. 40 00:01:30,890 --> 00:01:34,610 و در واقع، اگر این علاوه کلیک کنید، این در حال رفتن به من اجازه انتخاب کنید فایل جدید است. 41 00:01:34,610 --> 00:01:38,310 و در اینجا من می توانید شروع به نوشتن کد C و یا، واقعا، هر تعداد از زبان های دیگر. 42 00:01:38,310 --> 00:01:42,670 >> و پس از آن در پایین که در آن می گوید jharvard @ ide50-- و شما خواهد شد 43 00:01:42,670 --> 00:01:45,080 چیزی که کمی می گویند different-- این نامیده می شد؟ 44 00:01:45,080 --> 00:01:48,644 45 00:01:48,644 --> 00:01:49,310 پنجره ترمینال. 46 00:01:49,310 --> 00:01:49,570 آره. 47 00:01:49,570 --> 00:01:51,810 بنابراین در پنجره ترمینال است به اصطلاح خط فرمان 48 00:01:51,810 --> 00:01:55,540 رابط که از طریق آن شما می توانید ارتباط برقرار با سیستم عامل. 49 00:01:55,540 --> 00:01:58,220 و در حال حاضر، ما قصد داریم به استفاده بسیار کمی از this-- 50 00:01:58,220 --> 00:02:01,170 فقط به کامپایل، به در نگاه کنید پیام های خطا که ما می بینیم، 51 00:02:01,170 --> 00:02:02,347 و برای اجرای برنامه های ما است. 52 00:02:02,347 --> 00:02:04,680 اما در نهایت، ما قصد داریم برای انجام این کار بسیار بیشتر، و همچنین. 53 00:02:04,680 --> 00:02:07,490 و شما حتی می توانید نصب نرم افزار و اداره فضای کاری خود را 54 00:02:07,490 --> 00:02:09,066 در CS50 IDE، و همچنین. 55 00:02:09,066 --> 00:02:10,440 اما بیشتر که برخی دیگر از زمان. 56 00:02:10,440 --> 00:02:12,689 >> بنابراین اجازه دهید پیش بروید و ارسال یک برنامه بسیار ساده است فقط 57 00:02:12,689 --> 00:02:15,064 از طریق یک گرم کردن به hello.c، که شاید 58 00:02:15,064 --> 00:02:16,480 ساده ترین برنامه ما می توانیم ارسال. 59 00:02:16,480 --> 00:02:18,330 من در حال حاضر باز کردن یک تب جدید. 60 00:02:18,330 --> 00:02:24,310 من قصد دارم به جلو بروید و می گویند شامل io.h. استاندارد 61 00:02:24,310 --> 00:02:25,325 پس از آن اعضای هیات اصلی (خالی). 62 00:02:25,325 --> 00:02:28,930 63 00:02:28,930 --> 00:02:35,200 و پس از آن تابع () printf ("سلام جهان" بک اسلش نفر، نقل قول نزدیک، 64 00:02:35,200 --> 00:02:39,480 پرانتز بسته، و نقطه و ویرگول. 65 00:02:39,480 --> 00:02:39,990 >> خیلی خوب. 66 00:02:39,990 --> 00:02:41,700 بنابراین در حال حاضر متوجه پنجره من بدون عنوان است. 67 00:02:41,700 --> 00:02:44,840 بنابراین من به سرعت رفتن برای رفتن به بالا به فایل، ذخیره. 68 00:02:44,840 --> 00:02:46,910 و این مهم است که من این نیست "سلام." 69 00:02:46,910 --> 00:02:49,243 بنابراین یک اشتباه بسیار رایج، به خصوص در مشکل در تنظیم یک، 70 00:02:49,243 --> 00:02:52,530 است به طور تصادفی خود را فقط تماس بگیرید برنامه "آب" و یا "حریص" و یا "ماریو" 71 00:02:52,530 --> 00:02:53,890 و یا "اعتبار" و یا مانند. 72 00:02:53,890 --> 00:02:55,970 اما در واقع شما می خواهید را به مطمئن شوید که دارای پسوند فایل 73 00:02:55,970 --> 00:02:58,928 چرا که این تنها راهی است که است کامپایلر و ویرایشگر کد به 74 00:02:58,928 --> 00:03:00,710 می داند که شما در واقع نوشتن کد C. 75 00:03:00,710 --> 00:03:02,280 بنابراین اجازه دهید من به جلو و روی Save کلیک کنید. 76 00:03:02,280 --> 00:03:05,710 >> و در حال حاضر، بیش از حد، چه CS50 IDE برای ما انجام است آن را نیز 77 00:03:05,710 --> 00:03:07,120 نحو همه چیز مشخص شده است. 78 00:03:07,120 --> 00:03:08,822 پس از آن همه چیز بسیار رنگارنگ است. 79 00:03:08,822 --> 00:03:10,780 و کل هدف از که کاربردی نیست. 80 00:03:10,780 --> 00:03:14,290 آن را فقط به منظور جلب چشمان من رو به قطعات مفهومی مختلف 81 00:03:14,290 --> 00:03:15,310 این برنامه است. 82 00:03:15,310 --> 00:03:17,570 بنابراین اجازه دهید به جلو و تدوین این. 83 00:03:17,570 --> 00:03:19,490 و من می توانم این کامپایل در دو راه. 84 00:03:19,490 --> 00:03:22,010 و در هفته یک، راه قدیمی از مدرسه ما انجام داد 85 00:03:22,010 --> 00:03:26,250 آن را به معنای واقعی کلمه در بود دستور line-- "hello.c صدای جرنگ جرنگ." 86 00:03:26,250 --> 00:03:27,596 و پس از آن من ضربه وارد کنید. 87 00:03:27,596 --> 00:03:29,720 و هیچ چیز به نظر می رسد اتفاق می افتد در پنجره ترمینال. 88 00:03:29,720 --> 00:03:32,654 اما آنچه تغییر در IDE را انجام داد؟ 89 00:03:32,654 --> 00:03:35,320 که در آن، دوباره، IDE فقط بدان معناست محیط توسعه یکپارچه. 90 00:03:35,320 --> 00:03:38,360 این یک راه فانتزی گفتن است این توسعه یکپارچه 91 00:03:38,360 --> 00:03:40,620 محیط زیست برای توسعه نرم افزار. 92 00:03:40,620 --> 00:03:42,477 بنابراین آنچه که در UI تغییر داد؟ 93 00:03:42,477 --> 00:03:44,310 چه شما متوجه بود که متفاوت، ماریا؟ 94 00:03:44,310 --> 00:03:47,100 >> MARIA: من متوجه چیزی تحت IDE50 پوشه تا اینجا. 95 00:03:47,100 --> 00:03:47,850 >> دیوید مالان: آره. 96 00:03:47,850 --> 00:03:50,230 بنابراین تا اینجا، نه تنها ما باید "hello.c." 97 00:03:50,230 --> 00:03:53,120 ما همچنین "فایلهای دو دویی a.out" است که نوع یک نام گنگ یک برنامه است. 98 00:03:53,120 --> 00:03:56,430 اما در واقع، آن را به نام پیش فرض برای یک برنامه زمانی که شما فقط کد خود را کامپایل 99 00:03:56,430 --> 00:03:59,110 و کامپایلر نگو چه فایل به خروجی. 100 00:03:59,110 --> 00:04:01,790 بنابراین اگر من می خواهم برای اجرای این، من نیاز به compiler-- به 101 00:04:01,790 --> 00:04:05,340 یا نه، من نیاز به فضای کاری بگویم که من 102 00:04:05,340 --> 00:04:09,780 می خواهید برای اجرای برنامه ای به نام "فایلهای دو دویی a.out." 103 00:04:09,780 --> 00:04:10,550 داخل شدن. 104 00:04:10,550 --> 00:04:12,474 و وجود دارد "سلام، جهان است. "در حال حاضر" ./ ". 105 00:04:12,474 --> 00:04:13,390 است که در واقع مهم است. 106 00:04:13,390 --> 00:04:16,050 حتی اگر به طور معمول تنها ما ارسال نام از دستورات، 107 00:04:16,050 --> 00:04:19,060 هنگامی که آن را برنامه شما ام نوشته شده است، شما نمی خواهید به "./" 108 00:04:19,060 --> 00:04:22,460 چرا که به صراحت می گوید لینوکس که شما می خواهید برای اجرای یک برنامه به نام 109 00:04:22,460 --> 00:04:26,930 "فایلهای دو دویی a.out" که در این، که در آن نقطه معنی این دایرکتوری که من در حال حاضر هستم 110 00:04:26,930 --> 00:04:31,600 در، که اتفاق می افتد به نام فضای کاری، "فایلهای دو دویی a.out. 111 00:04:31,600 --> 00:04:35,410 چرا که اگر من فقط گفت: "فایلهای دو دویی a.out،" را وارد کنید، من قصد دارم به "فایلهای دو دویی a.out دستور نیست 112 00:04:35,410 --> 00:04:38,035 یافت "به دلیل computer-- چون من اختراع "فایلهای دو دویی a.out." 113 00:04:38,035 --> 00:04:40,910 آن را با computer-- آمده است نمی داند که در آن به آن نگاه کنید، 114 00:04:40,910 --> 00:04:43,590 حتی اگر آن را سمت راست زیر بینی من، پس به صحبت می کنند. 115 00:04:43,590 --> 00:04:44,090 باشه. 116 00:04:44,090 --> 00:04:49,910 بنابراین ما می تواند این تغییر شود "صدای جرنگ جرنگ -o سلام hello.c." 117 00:04:49,910 --> 00:04:53,030 و اگر من ضربه وارد کنید، چه برنامه آیا این خروجی برای من؟ 118 00:04:53,030 --> 00:04:55,710 نام فایل چیست؟ 119 00:04:55,710 --> 00:04:57,500 آره، در پشت. 120 00:04:57,500 --> 00:04:58,479 درست است. "درود." 121 00:04:58,479 --> 00:05:00,520 بنابراین "سلام" است برای رفتن به نام برنامه 122 00:05:00,520 --> 00:05:04,610 چرا که ما استفاده می شود به اصطلاح دستور آرگومان خط، است که فقط 123 00:05:04,610 --> 00:05:08,120 یک راه تغییر رفتار کامپایلر به واقع خروجی 124 00:05:08,120 --> 00:05:09,450 یک نام فایل خاص. 125 00:05:09,450 --> 00:05:12,400 و در واقع، اگر زوم من و نگاه کردن در اینجا، 126 00:05:12,400 --> 00:05:17,430 در حال حاضر من نه تنها "فایلهای دو دویی a.out" و "hello.c" بلکه "سلام" است. 127 00:05:17,430 --> 00:05:22,410 بنابراین در حال حاضر می توانم انجام دهم "./hello،" را وارد کنید. 128 00:05:22,410 --> 00:05:23,640 و وجود دارد "سلام جهان." 129 00:05:23,640 --> 00:05:25,640 اما lastly-- و این در حال حاضر این کنوانسیون می شود 130 00:05:25,640 --> 00:05:27,590 ما در سراسر استفاده ترم، typically-- 131 00:05:27,590 --> 00:05:30,070 شما همچنین می توانید فقط می گویند "را خوش آمدید." 132 00:05:30,070 --> 00:05:33,370 و در واقع، آن را گفت آن را تا به روز به دلیل آن در حال حاضر وجود دارد. 133 00:05:33,370 --> 00:05:37,860 اجازه بدهید به جلو و حذف، با دستور rm، هر دو "فایلهای دو دویی a.out" - 134 00:05:37,860 --> 00:05:39,644 و می گویند "حذف فایلهای دو دویی a.out فایل به طور منظم؟" 135 00:05:39,644 --> 00:05:41,810 فقط بدان معناست که، شما مطمئن شوید که شما می خواهید آن را حذف کنید؟ 136 00:05:41,810 --> 00:05:42,880 من قصد دارم به می گویند بله. 137 00:05:42,880 --> 00:05:46,690 و پس از آن من قصد دارم به حذف "سلام" اما نه "hello.c." 138 00:05:46,690 --> 00:05:49,920 من قصد دارم به گفتن "بله" به صراحت، اما "Y" کافی است، و همچنین. 139 00:05:49,920 --> 00:05:52,140 >> و در حال حاضر متوجه اگر من نوع ls-- که به یاد بیاورید، 140 00:05:52,140 --> 00:05:55,540 معنی list-- از آن تمام از فایل های پوشه من. 141 00:05:55,540 --> 00:05:57,850 و در واقع، اگر زوم من و در سمت چپ بالا نگاه کنید، 142 00:05:57,850 --> 00:05:59,730 آن را تایید می کند که چه چیزی در این پوشه، حتی 143 00:05:59,730 --> 00:06:04,990 هر چند آن را به عنوان IDE50 برچسب اینجا و نه فضای کاری، آن را فقط "hello.c است." 144 00:06:04,990 --> 00:06:09,152 بنابراین در حال حاضر در اینجا، اگر من انجام "را خوش آمدید،" را وارد کنید، 145 00:06:09,152 --> 00:06:12,360 در حال حاضر من یک فرمان بسیار طولانی را ببینید اما دستور پیچیده تر که رفتن 146 00:06:12,360 --> 00:06:13,940 در هفته های آینده مفید باشد. 147 00:06:13,940 --> 00:06:16,720 و در حال حاضر می توانم بگویم "./hello." 148 00:06:16,720 --> 00:06:19,257 >> بنابراین اجازه دهید یک تور سریع برخی لینوکس دستورات دیگر. 149 00:06:19,257 --> 00:06:21,840 پس چرا ما یک گام را تماس و در واقع در C نگاه کنید بیشتر 150 00:06:21,840 --> 00:06:25,020 به طور کلی، انتقال از ابتدا به C، و پس از آن با یک نگاه نتیجه 151 00:06:25,020 --> 00:06:27,305 در مشکل اول مجموعه ای در C. همه حق. 152 00:06:27,305 --> 00:06:30,430 بنابراین من قصد دارم به جلو بروید و فقط تمیز تا فضای کاری من با کنترل-L فقط 153 00:06:30,430 --> 00:06:31,429 نگه داشتن صفحه نمایش شسته و رفته. 154 00:06:31,429 --> 00:06:33,520 اما است که هیچ کاربردی در غیر این صورت اثر می گذارد. 155 00:06:33,520 --> 00:06:35,820 >> به یاد بیاورید که ما دیده ایم چند دستور در حال حاضر. 156 00:06:35,820 --> 00:06:39,900 بنابراین ما صدای جرنگ جرنگ دیده می شود، که به طور کلی شما نمی خواهد که برای اجرای دستی دیگر. 157 00:06:39,900 --> 00:06:41,650 به جای آن ما را استفاده کنید. 158 00:06:41,650 --> 00:06:45,290 اما ما همچنین شاهد LS، نشان می دهد که لیست از فایل ها در دایرکتوری من. 159 00:06:45,290 --> 00:06:48,750 و در حال حاضر به همین دلیل است there-- دو وجود دارد فایل های حال حاضر، "سلام" و "hello.c." 160 00:06:48,750 --> 00:06:52,240 چرا یک ستاره یا یک وجود دارد ستاره بعد از "سلام". 161 00:06:52,240 --> 00:06:54,900 چه که نشان، بر اساس در آنچه که ما در هفته اول را دیدم؟ 162 00:06:54,900 --> 00:06:58,852 163 00:06:58,852 --> 00:07:00,400 شما چی فکر میکنید؟ 164 00:07:00,400 --> 00:07:02,742 ستاره چه دارد؟ 165 00:07:02,742 --> 00:07:04,614 >> MARIA: For-- برنامه "سلام". 166 00:07:04,614 --> 00:07:05,530 دیوید مالان: "سلام *". 167 00:07:05,530 --> 00:07:06,330 آره. 168 00:07:06,330 --> 00:07:07,760 اوه، آره؟ 169 00:07:07,760 --> 00:07:08,639 اوه، اجرایی. 170 00:07:08,639 --> 00:07:09,180 درست است. 171 00:07:09,180 --> 00:07:10,890 به طوری که بدان معنی است که "سلام" اجرا است. 172 00:07:10,890 --> 00:07:13,430 پس در واقع، به همین دلیل می توانم انجام دهم "./hello." 173 00:07:13,430 --> 00:07:13,930 خیلی خوب. 174 00:07:13,930 --> 00:07:15,179 پس چه چیز دیگری می توانم انجام دهم در اینجا؟ 175 00:07:15,179 --> 00:07:17,290 خب، معلوم است که من می توانم همچنین دایرکتوری ایجاد کنید. 176 00:07:17,290 --> 00:07:20,924 بنابراین اجازه دهید من به جلو و ایجاد، برای مثال، یک "pset1" دایرکتوری. 177 00:07:20,924 --> 00:07:23,590 و مجموعه ای مشکل مشخصات خواهد شد که شما دقیقا این، 178 00:07:23,590 --> 00:07:25,260 بنابراین شما لازم نیست که به یاد داشته باشید امروز. 179 00:07:25,260 --> 00:07:27,340 اما "pset1 mkdir به" به نظر می رسد به هیچ تاثیری. 180 00:07:27,340 --> 00:07:30,540 اما باز هم، بدون پیغام خطا به طور کلی چیز خوبی است. 181 00:07:30,540 --> 00:07:34,060 بنابراین اگر من از نوع "LS" now-- آه، در حال حاضر من یک فایل اجرایی به نام 182 00:07:34,060 --> 00:07:36,570 "سلام" یک فایل C به نام "hello.c." 183 00:07:36,570 --> 00:07:40,860 و پس از آن علامت، پس به صحبت می کنند، این بدان معنی است که یک دایرکتوری است. 184 00:07:40,860 --> 00:07:42,510 >> پس در واقع، در حال حاضر من می خواهم به آن را باز کنید. 185 00:07:42,510 --> 00:07:45,730 و من را دو برابر نکنید با کلیک بر روی آن در یک رابط کاربری گرافیکی، یک محیط گرافیکی. 186 00:07:45,730 --> 00:07:48,550 من به جای بگویید "pset1 سی دی." 187 00:07:48,550 --> 00:07:49,640 داخل شدن. 188 00:07:49,640 --> 00:07:53,100 هیچ چیز جالب به نظر می رسد اتفاق افتاده است به جز اعلان کوچک من 189 00:07:53,100 --> 00:07:57,300 here-- این راه لینوکس یادآوری است من جایی که من هستم، پس چه پوشه باز است. 190 00:07:57,300 --> 00:08:00,080 آن را فقط به من گفتن به صراحت به عنوان مخالف به صورت گرافیکی. 191 00:08:00,080 --> 00:08:05,100 و اگر من از نوع "LS،" چرا دیگری را ببینید من بی درنگ، بلافاصله، فکر می کنید، 192 00:08:05,100 --> 00:08:07,269 وقتی که من در لیست محتویات این pset1؟ 193 00:08:07,269 --> 00:08:09,310 MARIA: شما احتمالا نمی کنند هر چیزی در آن وجود دارد. 194 00:08:09,310 --> 00:08:09,630 دیوید مالان: آره. 195 00:08:09,630 --> 00:08:11,510 پس ما به وضوح ندارد هر چیزی را در وجود دارد ایجاد 196 00:08:11,510 --> 00:08:13,150 چون من فقط ایجاد دایرکتوری. 197 00:08:13,150 --> 00:08:17,690 در حال حاضر، اگر من می خواستم برای ایجاد یک file-- برای به عنوان مثال، من می توانم یک فایل جدید ایجاد کنید. 198 00:08:17,690 --> 00:08:20,190 و پس از آن من می توانم به ذخیره و ذخیره آن به عنوان، 199 00:08:20,190 --> 00:08:23,090 مانند، "mario.c" اگر شما در حال انجام نسخه استاندارد از pset است. 200 00:08:23,090 --> 00:08:27,610 و پس از آن، مانند هر مک و یا کامپیوتر، فقط را انتخاب کنید پوشه "pset1، ذخیره. 201 00:08:27,610 --> 00:08:28,740 و در حال حاضر فایل خالی است. 202 00:08:28,740 --> 00:08:31,160 اما اجازه دهید زوم در دوباره برای یک ثانیه. 203 00:08:31,160 --> 00:08:32,470 بیایید LS اینجا انجام دهید. 204 00:08:32,470 --> 00:08:34,470 در حال حاضر ما "mario.c" را ببینید. 205 00:08:34,470 --> 00:08:37,850 >> بنابراین چند فرمان دیگر وجود دارد که ارزش نگه داشتن در ذهن بیش از time-- هستند 206 00:08:37,850 --> 00:08:41,200 روشن، و یا کنترل-L است آنچه من هدف قرار دادن بوده است. mkdir به ما دیده ایم؛ 207 00:08:41,200 --> 00:08:45,240 RM ما دیده ایم، و همچنین است که برای از بین بردن و یا حذف یک فایل. 208 00:08:45,240 --> 00:08:49,310 مراقب باشید شما می توانید also-- و اگر شما نگاه کنید در آموزش آنلاین، شما RM -rf 209 00:08:49,310 --> 00:08:52,630 یک راه بسیار شایع است گفت یک پوشه است که مسائل را در آن را حذف کنید. 210 00:08:52,630 --> 00:08:54,280 فقط فوق العاده، فوق العاده مراقب باشید. 211 00:08:54,280 --> 00:08:58,780 -rf معنی به صورت بازگشتی حذف هر آنچه در آن است 212 00:08:58,780 --> 00:09:01,150 شما در حال تلاش برای حذف و به زور آن را حذف کنید. 213 00:09:01,150 --> 00:09:04,630 بنابراین بازگشتی معنی است که اگر این یک پوشه است با یک پوشه با یک پوشه با یک پوشه، 214 00:09:04,630 --> 00:09:05,690 حذف همه آنها. 215 00:09:05,690 --> 00:09:08,680 و به زور به معنای حتی نمی از من بپرسید آری یا نه، من مطمئن هستم؟ 216 00:09:08,680 --> 00:09:11,960 پس از آن یک راه فوق العاده خطرناک است حذف بسیاری از مسائل به سرعت. 217 00:09:11,960 --> 00:09:17,210 اما beware-- اغلب می کند بی باک دانش آموز به طور تصادفی حذف، می گویند، pset 218 00:09:17,210 --> 00:09:18,000 یکی، به عنوان مثال. 219 00:09:18,000 --> 00:09:19,833 >> MARIA: و اگر آنها فقط انجام -R، آنها در حال رفتن 220 00:09:19,833 --> 00:09:21,870 به آنها در مورد هر فایل تنها بپرسید. 221 00:09:21,870 --> 00:09:22,790 >> دیوید مالان: کدام است متوسط ​​آزار دهنده است. 222 00:09:22,790 --> 00:09:23,480 >> MARIA: آره. 223 00:09:23,480 --> 00:09:25,813 >> دیوید مالان: به همین دلیل بسیاری از ما، خود شامل، 224 00:09:25,813 --> 00:09:27,070 در عادت با استفاده از -rf هستم. 225 00:09:27,070 --> 00:09:27,861 اما این خطرناک است. 226 00:09:27,861 --> 00:09:29,010 به طوری که خریدار برحذر باشید. 227 00:09:29,010 --> 00:09:31,050 و پس از آن MV نوع جالب توجه است نام برد. 228 00:09:31,050 --> 00:09:33,600 بنابراین این دستور حرکت است، که احساس می کند کمی عجیب و غریب 229 00:09:33,600 --> 00:09:37,260 چون شما در واقع می توانید از آن استفاده کنید به انتقال فایل از یک مکان به مکان دیگر. 230 00:09:37,260 --> 00:09:39,970 به عنوان مثال، فرض کنید که من را خراب کرد. 231 00:09:39,970 --> 00:09:43,660 فرض کنید که من ایجاد یک فایل جدید برای pset. 232 00:09:43,660 --> 00:09:46,320 و من آن را به عنوان ذخیره "greedy.c." 233 00:09:46,320 --> 00:09:49,970 اما فرض کنید من به طور تصادفی آن را ذخیره کنید در IDE50-- به طوری که در فضای کاری من خود را 234 00:09:49,970 --> 00:09:51,580 و نه در pset1. 235 00:09:51,580 --> 00:09:53,960 >> شما می توانید به همان اندازه در بالا سمت چپ را ببینید. 236 00:09:53,960 --> 00:09:55,284 است "greedy.c." وجود دارد 237 00:09:55,284 --> 00:09:56,450 و چند راه حل وجود دارد. 238 00:09:56,450 --> 00:09:58,324 بنابراین یکی، من می توانم استفاده راه کاربر پسند فوق العاده 239 00:09:58,324 --> 00:09:59,740 از تنها با کشیدن و رها کردن آن. 240 00:09:59,740 --> 00:10:01,910 و لازم است که در واقع رفع این مشکل. 241 00:10:01,910 --> 00:10:04,967 اما امروز، ما در حال تلاش برای نگاه راه های محرمانه تر اما قدرتمند 242 00:10:04,967 --> 00:10:05,550 برای انجام این کار. 243 00:10:05,550 --> 00:10:07,880 بنابراین اجازه دهید من را "LS" در pset1. 244 00:10:07,880 --> 00:10:09,690 و من فقط "mario.c." ببینید 245 00:10:09,690 --> 00:10:13,450 اجازه بدهید به جلو و انجام "سی دی ..". 246 00:10:13,450 --> 00:10:15,320 بنابراین CD دوباره تغییر دایرکتوری است. 247 00:10:15,320 --> 00:10:18,130 ".." یعنی چه، هر چند؟ 248 00:10:18,130 --> 00:10:21,100 آخرین باری که من گفت: "سی دی pset1 "برای رفتن به pset1. 249 00:10:21,100 --> 00:10:24,360 بنابراین، هنگامی که من می گویم "سی دی .."، چه هستم من انجام می دهند؟ 250 00:10:24,360 --> 00:10:24,910 به عقب. 251 00:10:24,910 --> 00:10:25,150 آره. 252 00:10:25,150 --> 00:10:26,750 >> بنابراین آن را به پدر و مادر به اصطلاح. 253 00:10:26,750 --> 00:10:29,730 به یک سطح بالاتر، مانند خروج از یک پوشه. 254 00:10:29,730 --> 00:10:30,500 بنابراین وارد کنید. 255 00:10:30,500 --> 00:10:31,900 و در واقع، به دنبال چه آن را انجام داد. 256 00:10:31,900 --> 00:10:37,070 آن را به من فقط به فضای کاری به جای نقل مکان کرد از به pset1، است که در فضای کاری. 257 00:10:37,070 --> 00:10:39,710 و حالا اگر من از نوع "LS"، یک دسته از مسائل وجود دارد. 258 00:10:39,710 --> 00:10:41,650 در "greedy.c" وجود دارد. 259 00:10:41,650 --> 00:10:48,720 بنابراین در حال حاضر من استفاده از mv به معنای واقعی کلمه حرکت "greedy.c" را به pset1. 260 00:10:48,720 --> 00:10:51,120 و به این ترتیب بسیاری از دستورات لینوکس کار دقیقا مثل این. 261 00:10:51,120 --> 00:10:54,470 آنها هیچ استدلال و یا آنها را یکی استدلال یا آنها را دو خط فرمان 262 00:10:54,470 --> 00:10:55,449 استدلال و غیره. 263 00:10:55,449 --> 00:10:57,240 و در این مورد، آن را به معنای واقعی کلمه انجام آنچه 264 00:10:57,240 --> 00:11:01,670 آن را می گوید، البته succinctly-- حرکت greedy.c به pset1. 265 00:11:01,670 --> 00:11:02,310 داخل شدن. 266 00:11:02,310 --> 00:11:03,310 هیچ چیز به نظر می رسد اتفاق می افتد. 267 00:11:03,310 --> 00:11:06,180 اما اگر من یک LS دوباره، حریص رفته است. 268 00:11:06,180 --> 00:11:12,437 و اگر من "pset1 سی دی"، را وارد کنید، و سپس LS دوباره، در حال حاضر آن را در جای مناسب است. 269 00:11:12,437 --> 00:11:14,270 از سوی دیگر، اگر برای برخی reason-- ویژه 270 00:11:14,270 --> 00:11:16,194 اگر شما متناوب اتصال به شبکه 271 00:11:16,194 --> 00:11:18,360 یا شما در سراسر راه رفتن دانشگاه با درب لپ تاپ خود را 272 00:11:18,360 --> 00:11:20,180 بسته و سپس آن را باز کنید دوباره و فضای کاری خود را 273 00:11:20,180 --> 00:11:21,730 به نظر می رسد تا حدودی خارج از سنکرون، هیچ معامله بزرگ. 274 00:11:21,730 --> 00:11:23,646 فقط مرورگر خود را دوباره بارگذاری پنجره، و آن را باید 275 00:11:23,646 --> 00:11:26,339 را resync به طوری که سمت چپ مرورگر فایل نظر می رسد دقیقا 276 00:11:26,339 --> 00:11:27,380 مانند پنجره ترمینال. 277 00:11:27,380 --> 00:11:27,921 نگران نباشید. 278 00:11:27,921 --> 00:11:31,460 زمانی که در شک، بارگذاری مجدد صفحه، بنابراین زمانی که شما فایل های از قبل ذخیره شده است. 279 00:11:31,460 --> 00:11:31,960 باشه. 280 00:11:31,960 --> 00:11:34,710 بنابراین MV نیز می توانید استفاده برای تغییر نام فایل. 281 00:11:34,710 --> 00:11:36,760 و اجازه دهید یک نگاه این دستور نهایی در اینجا. 282 00:11:36,760 --> 00:11:39,950 بنابراین suppose-- و این است که فوق العاده مشترک، بیش از حد، در اوایل. 283 00:11:39,950 --> 00:11:46,400 برخی از دانش آموزان گاهی اوقات یک فایل ایجاد نامیده می شود، اجازه دهید می گویند آنچه یک خبر؟ 284 00:11:46,400 --> 00:11:47,730 مانند "WATER.C." 285 00:11:47,730 --> 00:11:51,080 بنابراین من فقط داد، برای بدون هیچ دلیل، در همه کلاه. 286 00:11:51,080 --> 00:11:53,190 اما آیا این نام صحیح برای فایل 287 00:11:53,190 --> 00:11:56,660 اگر فقط به این دلیل مشکل ما مجموعه مشخصات شما نگفتم 288 00:11:56,660 --> 00:11:59,430 فایل را تحت عنوان همه کلاه برای نجات "WATER.C." 289 00:11:59,430 --> 00:12:01,320 در عوض، ما انتظار داریم "water.c" در کوچک. 290 00:12:01,320 --> 00:12:03,140 و، در واقع، این است به دلیل check50 مشکل ساز، 291 00:12:03,140 --> 00:12:04,370 برنامه شما در حال رفتن برای دیدار در مشکل 292 00:12:04,370 --> 00:12:07,350 مجموعه ای از یک آزمون که به صورت خودکار صحت کد خود را 293 00:12:07,350 --> 00:12:11,615 در حال رفتن به فریاد زدن در شما اگر آن را نمی تواند پیدا کردن "water.c" در تمام حروف کوچک. 294 00:12:11,615 --> 00:12:12,712 >> بنابراین من نیاز به رفع این. 295 00:12:12,712 --> 00:12:14,920 بنابراین بسیاری از راه های مختلف به انجام این کار، اولین بار است که 296 00:12:14,920 --> 00:12:18,330 می شود به کنترل کلیک کنید و یا راست کلیک نام فایل و فقط تغییر نام را تغییر دهید. 297 00:12:18,330 --> 00:12:19,740 کاملا خوب به انجام این کار. 298 00:12:19,740 --> 00:12:21,820 اما باز هم، امروز، اجازه دهید آن را انجام کمی خیال باف. 299 00:12:21,820 --> 00:12:26,680 بیایید استفاده از mv به تغییر "WATER.C" را به "water.c." 300 00:12:26,680 --> 00:12:30,690 بنابراین شما می توانید اولین آرگومان استفاده برای تغییر نام آن به استدلال دوم 301 00:12:30,690 --> 00:12:34,455 اگر آرگومان دوم در نیست، واقع، پوشه و یا یک نام پوشه. 302 00:12:34,455 --> 00:12:35,120 >> خیلی خوب. 303 00:12:35,120 --> 00:12:39,560 و در آخر، یک trick-- کمی من هستم دایرکتوری فضای کاری من در حال حاضر. 304 00:12:39,560 --> 00:12:43,660 اگر من می خواهم به pset یک، من مطمئنا می تواند از نوع "pset1 سی دی." 305 00:12:43,660 --> 00:12:47,260 اما آن را بسیار خسته کننده به نوع "pset1" یا دیگر نام فایل و یا نام دایرکتوری 306 00:12:47,260 --> 00:12:47,980 هنوز. 307 00:12:47,980 --> 00:12:51,960 بنابراین اغلب در لینوکس، چه شما می توانید انجام دهید این است شروع به تایپ "PSE" 308 00:12:51,960 --> 00:12:56,100 و فقط حوصله، ضربه نوار، و اجازه دهید شکل کامپیوتر آن را برای شما. 309 00:12:56,100 --> 00:12:58,190 فوق العاده مفید به آن عادت کنید. 310 00:12:58,190 --> 00:13:01,079 تنها نکته این است که اگر شما چند فایل و یا پوشه ها شروع 311 00:13:01,079 --> 00:13:02,870 با حرف "P" یا "PS،" شما ممکن است 312 00:13:02,870 --> 00:13:05,525 به تایپ چند بیشتر قبل از کامپیوتر می داند چه باید بکنید. 313 00:13:05,525 --> 00:13:06,820 >> MARIA: ما دوست داریم کلید های میانبر. 314 00:13:06,820 --> 00:13:08,695 >> دیوید مالان: این زمان زیادی را ذخیره کنید. 315 00:13:08,695 --> 00:13:11,930 و همچنین، به عنوان ما در سخنرانی گفت، شما می توانید در تاریخ حرکت به بالا، بالا و پایین، 316 00:13:11,930 --> 00:13:15,461 پیدا اخیرا اعدام دستورات، و همچنین. 317 00:13:15,461 --> 00:13:15,960 خیلی خوب. 318 00:13:15,960 --> 00:13:20,904 بنابراین در حال حاضر، اجازه دهید توجه خود را به عقب به یک برنامه ساده، سلام جهان. 319 00:13:20,904 --> 00:13:22,195 بنابراین ما این دقیقا وارد کرده اید. 320 00:13:22,195 --> 00:13:24,050 و در حال حاضر چرا ما را نگاهی به انواع داده 321 00:13:24,050 --> 00:13:26,776 و سپس از انتقال بلوک های مربوطه خراش به C. 322 00:13:26,776 --> 00:13:27,400 MARIA: بسیار معروف است. 323 00:13:27,400 --> 00:13:30,031 پس اکنون که شما شروع به نوشتن برنامه در C، 324 00:13:30,031 --> 00:13:32,530 ما قصد داریم به شروع به صحبت کردن در مورد انواع داده ها و متغیرها. 325 00:13:32,530 --> 00:13:37,570 بنابراین برخی از انواع داده که شما می خواهند بدانند که در حال حاضر شروع 326 00:13:37,570 --> 00:13:39,400 آنهایی که هستند رنگ آبی مشخص شده. 327 00:13:39,400 --> 00:13:42,420 بنابراین ما باید از نوع int اول، که مخفف عدد صحیح است. 328 00:13:42,420 --> 00:13:46,075 و که اعداد صحیح را نگه می دارد، به شما به عنوان ممکن است guessed-- بنابراین 1، 2، 3، 329 00:13:46,075 --> 00:13:47,950 و هر عدد صحیح دیگر که شما می توانید از فکر می کنم. 330 00:13:47,950 --> 00:13:48,730 >> دیوید مالان: و همچنین منفی است. 331 00:13:48,730 --> 00:13:50,220 >> MARIA: و همچنین آنهایی که منفی، بله. 332 00:13:50,220 --> 00:13:51,450 و 0. 333 00:13:51,450 --> 00:13:54,250 پس ما باید شناور، که شناور اعداد نقطه. 334 00:13:54,250 --> 00:13:58,360 به طوری که تمام اعداد حقیقی است زیاد که نقطه اعشار. 335 00:13:58,360 --> 00:14:03,960 بنابراین 5.0، 5.2، و حتی بیشتر رقم بعد از نقطه اعشار دارند، 336 00:14:03,960 --> 00:14:05,620 و همچنین، و همچنین آنهایی که منفی است. 337 00:14:05,620 --> 00:14:07,530 پس ما باید کاراکتر است که یک شخصیت. 338 00:14:07,530 --> 00:14:10,240 بنابراین من فکر می کنم ما در مورد صحبت این در سخنرانی امروز. 339 00:14:10,240 --> 00:14:15,682 اما ما باید حروف، برای example-- A، B، C-- است که می تواند به عنوان یک کاراکتر ذخیره می شود. 340 00:14:15,682 --> 00:14:18,390 اما پس از آن ما باید علامت خیلی بیشتر است که می تواند به عنوان یک کاراکتر ذخیره می شود. 341 00:14:18,390 --> 00:14:22,380 و کسانی که به عنوان ASCII ذخیره می شود. 342 00:14:22,380 --> 00:14:25,280 >> و بعد ما بولی، که Booleans می باشد. 343 00:14:25,280 --> 00:14:29,067 و کسانی که ارزیابی درست یا نادرست یا 1 و 0 بود. 344 00:14:29,067 --> 00:14:31,650 دیوید مالان: به یاد بیاورید که بولی می آید از کتابخانه CS50. 345 00:14:31,650 --> 00:14:33,300 پس از آن ساخته شده است به C، اما آن را فوق العاده مفید 346 00:14:33,300 --> 00:14:34,850 به مفهوم درست و نادرست. 347 00:14:34,850 --> 00:14:36,990 و حتی اگر شما ممکن است واقع سرگرم کننده فکر می. 348 00:14:36,990 --> 00:14:43,700 بولی از لحاظ فنی نیاز چگونه بسیاری از بیت، واقعا، به نمایندگی واقعی در مقابل کاذب؟ 349 00:14:43,700 --> 00:14:47,910 چگونه بسیاری از بیت شما فکر می کنم شما می توانید نیاز، حداکثر؟ 350 00:14:47,910 --> 00:14:48,790 آره، فقط یکی. 351 00:14:48,790 --> 00:14:52,077 پس از آن معلوم است که C نمی توانم به شما فقط یک بیت را. 352 00:14:52,077 --> 00:14:54,160 کوچکترین واحد اندازه گیری شما می توانید هشت است. 353 00:14:54,160 --> 00:14:57,090 پس از آن بی فایده کمی آنها شما با استفاده از یک بایت کل، یا هشت بیت، 354 00:14:57,090 --> 00:14:58,340 برای نشان درست یا غلط. 355 00:14:58,340 --> 00:15:01,807 اما این تنها راه آن است در C توسط کتابخانه CS50 اجرا شده است. 356 00:15:01,807 --> 00:15:04,890 MARIA: و سپس آنهایی است که ما قصد ندارم در مورد به عنوان گسترده صحبت 357 00:15:04,890 --> 00:15:08,060 حق now-- دو، که برای شناور بزرگتر است. 358 00:15:08,060 --> 00:15:09,811 طولانی مدت و کوتاه مدت همچنین برای اعداد صحیح هستند. 359 00:15:09,811 --> 00:15:10,643 دیوید مالان: در واقع. 360 00:15:10,643 --> 00:15:13,190 در نسخه هکر یکی از pset، ما در واقع استفاده طولانی مدت. 361 00:15:13,190 --> 00:15:15,801 اما برای نسخه استاندارد، آن را نمی باید لازم باشد. 362 00:15:15,801 --> 00:15:16,300 MARIA: داغ. 363 00:15:16,300 --> 00:15:17,361 باشه. 364 00:15:17,361 --> 00:15:20,110 بنابراین شما باید operators-- احتمالا آشنا با بسیاری از این. 365 00:15:20,110 --> 00:15:22,620 علاوه بر این، +. تفریق، -. 366 00:15:22,620 --> 00:15:24,070 برای ضرب، ما باید *. 367 00:15:24,070 --> 00:15:25,900 بنابراین نمی X است که ما معمولا استفاده کنید. 368 00:15:25,900 --> 00:15:27,840 بخش، ما باید از بک اسلش. 369 00:15:27,840 --> 00:15:31,380 و پیمانه آخرین اپراتور ما این است که ما می رویم به مورد در حال حاضر صحبت کنید. 370 00:15:31,380 --> 00:15:35,610 این اپراتور که ما اجازه می دهد به این را باقی مانده از یک بخش. 371 00:15:35,610 --> 00:15:40,630 بنابراین اگر ما 4٪ 2، 4 تقسیم 2 2 است و باقی مانده 0. 372 00:15:40,630 --> 00:15:41,740 بنابراین 4٪ 2 0 است. 373 00:15:41,740 --> 00:15:42,950 4٪ 3 1 است. 374 00:15:42,950 --> 00:15:44,870 4٪ 5 است 4، به عنوان شما بتواند حدس بزند. 375 00:15:44,870 --> 00:15:48,860 به یاد داشته باشید و در هنگام استفاده از همه از این اپراتورهای به استفاده از قواعد PEMDAS. 376 00:15:48,860 --> 00:15:54,060 >> DAVID مالان: پس به روشن، اگر شما انجام 4٪ 2، به همین دلیل است که 0، دقیقا؟ 377 00:15:54,060 --> 00:15:57,480 >> MARIA: از آنجا که تقسیم بر 4 2 2 با باقی مانده از 0 است. 378 00:15:57,480 --> 00:16:00,752 بنابراین پیمانه به ما می دهد که باقی مانده به عنوان مخالفت با نتیجه بخش. 379 00:16:00,752 --> 00:16:02,960 دیوید مالان: و در واقع، آنچه ما می خواهیم پیدا کردن این مفید 380 00:16:02,960 --> 00:16:05,640 برای این است که در برخی از مشکلات که لزوما یکی نیست، 381 00:16:05,640 --> 00:16:08,040 اگر شما می خواهید به اثر محدود خود 382 00:16:08,040 --> 00:16:10,720 به یک محدوده از اعداد مانند 0 از طریق چیزی، 383 00:16:10,720 --> 00:16:13,904 شما می توانید به پیمانه به بسته بندی کردن در اطراف استفاده کنید زودتر از 2 میلیارد مانند 384 00:16:13,904 --> 00:16:16,320 یا 4 میلیارد ارزش است که ما در مورد در سخنرانی صحبت کردیم. 385 00:16:16,320 --> 00:16:16,870 >> MARIA: آره. 386 00:16:16,870 --> 00:16:19,429 و حتی در "حریص" ما ممکن است. 387 00:16:19,429 --> 00:16:21,345 دیوید مالان: بله، در مشکل در تنظیم یک، و همچنین. 388 00:16:21,345 --> 00:16:22,520 MARIA: آره، خوب است. 389 00:16:22,520 --> 00:16:24,340 دیوید مالان: اشاره خوب. 390 00:16:24,340 --> 00:16:25,750 MARIA: با عرض پوزش. 391 00:16:25,750 --> 00:16:28,590 بولی expressions-- تا برای عملگرهای بولی، 392 00:16:28,590 --> 00:16:31,770 ما می رویم به بحث در مورد همه از این که شما اینجا را ببینید. 393 00:16:31,770 --> 00:16:35,310 بنابراین در حال حاضر، ما باید دو نشانه های برابر برای برابر ذکر شده است. 394 00:16:35,310 --> 00:16:38,650 بنابراین کسانی که برای مقایسه هستند. 395 00:16:38,650 --> 00:16:40,830 تا کنون، ما تنها دیده می شود یکی علامت مساوی. 396 00:16:40,830 --> 00:16:44,870 این زمانی است که ما اختصاص یک مقدار به یک متغیر. 397 00:16:44,870 --> 00:16:50,160 بنابراین اگر ما دیده ایم INT N = 5، پس از آن ما 5 اختصاص داده ام به N متغیر است. 398 00:16:50,160 --> 00:16:55,600 اما اگر ما مایل به استفاده از == برای مقایسه، ما می توانیم اگر n == 5 را بررسی کنید. 399 00:16:55,600 --> 00:16:58,310 و اگر n == 5، پس از آن که درست است. 400 00:16:58,310 --> 00:17:01,950 >> اپراتورهای بولی بنابراین ما اجازه می دهد، در واقع، 401 00:17:01,950 --> 00:17:04,670 برای ارزیابی بولی عبارت به درست یا غلط. 402 00:17:04,670 --> 00:17:07,819 بنابراین equals-- نیست ما علامت تعجب و برابر است. 403 00:17:07,819 --> 00:17:14,240 بنابراین ما نیز می تواند اگر n را بررسی کنید برابر نیست 5-- تا N! = 5. 404 00:17:14,240 --> 00:17:17,640 کمتر از، کمتر از یا مساوی باشد، بزرگتر از، بزرگتر یا مساوی، 405 00:17:17,640 --> 00:17:20,720 و پس از آن ما باید منطقی و و منطقی OR. 406 00:17:20,720 --> 00:17:24,060 و کسانی که به ما اجازه ارزیابی چند عبارت را هم بولی 407 00:17:24,060 --> 00:17:27,930 اساسا با هم به عنوان آمده یک عبارت بولی طیف. 408 00:17:27,930 --> 00:17:34,970 بنابراین اگر ما می خواهیم به پیدا کردن یک شماره، می گویند، که بیشتر از 5 اما کمتر از 15 است 409 00:17:34,970 --> 00:17:39,810 در همان زمان، ما را با استفاده از منطقی و اپراتور برای دیدن اگر n است 410 00:17:39,810 --> 00:17:42,937 بیشتر از 5 && N کمتر از 15. 411 00:17:42,937 --> 00:17:44,770 دیوید مالان: و در اینجا، بیش از حد، آن را واقعا آسان 412 00:17:44,770 --> 00:17:47,290 در اوایل به طور تصادفی استفاده از فقط یک علامت تک 413 00:17:47,290 --> 00:17:48,572 و یا یک نوار عمودی. 414 00:17:48,572 --> 00:17:51,280 و امیدوارم کامپایلر فریاد زدن در شما چرا که در واقع 415 00:17:51,280 --> 00:17:52,530 یک معنی بسیار متفاوت است. 416 00:17:52,530 --> 00:17:55,660 برای کسانی که کنجکاو، آنها مورد استفاده برای عملیات بیتی، 417 00:17:55,660 --> 00:17:57,197 عامل بر روی بیت های فردی. 418 00:17:57,197 --> 00:17:58,780 اما شما نمی خواهید جفت از آنها را در اینجا. 419 00:17:58,780 --> 00:18:01,560 و فوق العاده مهم است که یکی از اولین، از علامت مساوی، 420 00:18:01,560 --> 00:18:05,270 است که عملگر به عنوان مخالف عملگر انتساب. 421 00:18:05,270 --> 00:18:08,552 >> MARIA: و نوار عمودی است واقع بین Delete و بازگشت. 422 00:18:08,552 --> 00:18:09,260 دیوید مالان: بله. 423 00:18:09,260 --> 00:18:11,420 بر روی صفحه کلید معمولی است. 424 00:18:11,420 --> 00:18:13,190 >> MARIA: بله. 425 00:18:13,190 --> 00:18:15,890 بنابراین اجازه دهید پرش به سمت راست عبارات شرطی. 426 00:18:15,890 --> 00:18:18,300 در ابتدا، شما در حال حاضر دیده، احتمالا، 427 00:18:18,300 --> 00:18:22,730 اگر اظهارات که به شما اجازه چک کنید اگر چیزی درست باشد، پس 428 00:18:22,730 --> 00:18:23,660 کار دیگری انجام دهید. 429 00:18:23,660 --> 00:18:28,410 بنابراین شما ممکن است می خواستم برای بررسی اگر جن خود را است 430 00:18:28,410 --> 00:18:31,410 دست زدن به برخی از جن دیگر و یا مرز از صفحه نمایش خود را. 431 00:18:31,410 --> 00:18:35,520 و سپس شما ممکن است می خواستم به پایان دادن به بازی و یا کار دیگری انجام دهید. 432 00:18:35,520 --> 00:18:40,000 بنابراین نحو که است "اگر (شرط)." 433 00:18:40,000 --> 00:18:46,820 بنابراین اگر جن خود را است دست زدن به چیزی، پس از آن انجام شده است در داخل آکولاد. 434 00:18:46,820 --> 00:18:48,980 >> پس ما باید IF-دیگری اظهارات. 435 00:18:48,980 --> 00:18:54,080 دیگری اجازه می دهد تا ما را به انجام کاری اگر شرط که ما 436 00:18:54,080 --> 00:18:55,870 در آغاز بررسی درست نیست. 437 00:18:55,870 --> 00:19:01,530 بنابراین اگر جن است از دست زدن به مرز این کار، دیگری کار دیگری انجام دهید. 438 00:19:01,530 --> 00:19:04,030 بنابراین در غیر این صورت کار دیگری انجام دهید. 439 00:19:04,030 --> 00:19:07,530 سپس ما یک مثال کوتاه برای این. 440 00:19:07,530 --> 00:19:11,551 بنابراین اگر (military_time <12)، ما می خواهم به تابع () printf "صبح به خیر!" 441 00:19:11,551 --> 00:19:13,300 دیگری که ما در حال رفتن به تابع () printf "شب بخیر!" 442 00:19:13,300 --> 00:19:14,860 به عنوان مثال عمومی. 443 00:19:14,860 --> 00:19:15,680 >> دیوید مالان: خوب. 444 00:19:15,680 --> 00:19:16,760 >> MARIA: داغ. 445 00:19:16,760 --> 00:19:18,560 بنابراین در حال حاضر ما باید دستور switch. 446 00:19:18,560 --> 00:19:21,960 سوئیچ اظهارات طور کلی می تواند به ما اجازه انجام بسیاری از همان چیزی که 447 00:19:21,960 --> 00:19:25,070 که ما فقط صحبت در مورد با دستور if. 448 00:19:25,070 --> 00:19:29,440 به عنوان مثال، در حال حاضر ما باید شکل کلی دستور switch 449 00:19:29,440 --> 00:19:33,870 که اجازه می دهد ما را به یک متغیر به نام N 450 00:19:33,870 --> 00:19:37,670 و مقایسه آن را به بسیاری از ارزش های مختلف، که ما در اینجا 451 00:19:37,670 --> 00:19:40,010 constant1، constant2 نامیده اند. 452 00:19:40,010 --> 00:19:41,150 ما ممکن است خیلی بیشتر است. 453 00:19:41,150 --> 00:19:42,930 و کسانی که به موارد گفته می شود. 454 00:19:42,930 --> 00:19:46,280 >> بنابراین اگر ما یک سوئیچ statement-- و این کار 455 00:19:46,280 --> 00:19:50,580 فقط برای integers-- ما یک متغیر در این مورد که N. 456 00:19:50,580 --> 00:19:53,840 اگر N متغیر است برابر با constant1، ما 457 00:19:53,840 --> 00:19:59,720 برخی از قطعه از کد را اجرا یا چیزی است که ما می خواهیم انجام. 458 00:19:59,720 --> 00:20:01,280 و سپس ما را بشکند. 459 00:20:01,280 --> 00:20:04,820 بنابراین استراحت بدان معنی است که دستور switch 460 00:20:04,820 --> 00:20:08,120 اجرای متوقف خواهد شد اگر N برابر constant1 است، 461 00:20:08,120 --> 00:20:09,752 و سپس برنامه خود را ادامه خواهد داد. 462 00:20:09,752 --> 00:20:11,835 این از خروج خواهد کرد سوئیچ بیانیه و آن را به 463 00:20:11,835 --> 00:20:13,520 در ادامه به انجام کاری دیگر. 464 00:20:13,520 --> 00:20:17,204 >> اگر با این حال، N برابر نیست constant1، پس از آن مورد constant2 465 00:20:17,204 --> 00:20:17,870 بررسی می شود. 466 00:20:17,870 --> 00:20:21,750 بنابراین اگر N برابر constant2، که دیگر قطعه از کد را اجرا خواهد شد. 467 00:20:21,750 --> 00:20:23,850 و سپس آن را شکستن در صورتی که به آن برابر است. 468 00:20:23,850 --> 00:20:27,580 و پس از آن ما می توانیم also-- نیست لزوما، though-- یک مورد به طور پیش فرض، 469 00:20:27,580 --> 00:20:32,290 که اتفاق خواهد افتاد اگر n برابر نیست هر یک از موارد که شما ذکر شده است. 470 00:20:32,290 --> 00:20:35,400 و در مورد به طور پیش فرض، ما نیز انجام یک استراحت لزوما نیاز 471 00:20:35,400 --> 00:20:39,271 چون دستور switch می دانید که به آن نیاز پس از به طور پیش فرض برای پایان دادن به 472 00:20:39,271 --> 00:20:40,270 مورد اگر چنین است. 473 00:20:40,270 --> 00:20:42,140 >> دیوید مالان: اما سبک نگارش، ما همیشه در آن وجود دارد قرار داده است. 474 00:20:42,140 --> 00:20:42,540 >> MARIA: آره. 475 00:20:42,540 --> 00:20:42,710 >> دیوید مالان: آره. 476 00:20:42,710 --> 00:20:44,750 بنابراین به ویژه هنگامی که با شروع کردن، به خصوص اگر در میان کسانی که کمتر 477 00:20:44,750 --> 00:20:47,458 راحت، من شخصا فقط توصیه با IFS چوب 478 00:20:47,458 --> 00:20:51,564 و IFS میکنم و اگر دیگری، اگر-میکنم و غیره اگر فقط 479 00:20:51,564 --> 00:20:53,480 چرا که آنها یک کمی هستید راست تر است. 480 00:20:53,480 --> 00:20:56,142 این بهینه سازی خوب است، و یا حتی گاهی اوقات آن را زیبا و 481 00:20:56,142 --> 00:20:57,350 باعث می شود کد قابل خواندن است. 482 00:20:57,350 --> 00:20:59,599 و در واقع، احتمالا اواسط ترم ما یک مشکل 483 00:20:59,599 --> 00:21:02,504 مجموعه که در آن فقط به نظر می رسد بهتر و راحت تر به برای انسان به عنوان خوانده شده 484 00:21:02,504 --> 00:21:03,670 با استفاده از دستور switch. 485 00:21:03,670 --> 00:21:05,460 اما نگران نباشید در مورد چسبیده به این خیلی زود است. 486 00:21:05,460 --> 00:21:05,680 >> MARIA: آره. 487 00:21:05,680 --> 00:21:08,840 اگر شما یک مقدار زیادی از دستور if، آن را فقط ممکن نمی شود بسیار قابل خواندن است. 488 00:21:08,840 --> 00:21:10,965 این ممکن است بسیار سریع را برای شما به طریق آن بروید. 489 00:21:10,965 --> 00:21:13,230 بنابراین دستور switch می توانید تواند بسیار مفید باشد، و همچنین. 490 00:21:13,230 --> 00:21:17,900 و همچنین، remember-- انجام نمی فراموش نکنید که به قرار دادن معافیت در آن وجود دارد. 491 00:21:17,900 --> 00:21:20,330 >> دیوید مالان: آیا این یاد داشته باشید. 492 00:21:20,330 --> 00:21:24,890 >> MARIA: از آنجا که پس شما ممکن است سقوط از طریق از یک مورد را به دیگری. 493 00:21:24,890 --> 00:21:27,930 بنابراین اجازه دهید بگویم که مورد constant1 یک دستور break در آن را ندارد. 494 00:21:27,930 --> 00:21:31,920 پس ما ممکن است از طریق سقوط constant2 مورد در داخل. 495 00:21:31,920 --> 00:21:35,070 و ما نمی خواهیم به انجام این کار اگر ما در حال حاضر مورد constant1 رسیده 496 00:21:35,070 --> 00:21:37,830 و آن را به n برابر است. 497 00:21:37,830 --> 00:21:45,100 >> بنابراین، برای مثال، اگر ما یک متغیر N است که شامل یک تعداد کلاس، 498 00:21:45,100 --> 00:21:48,990 و ما می خواهیم برای دیدن آنچه که کلاس is-- اگر n برابر 50، 499 00:21:48,990 --> 00:21:51,957 ما در حال رفتن به چاپ "CS50 است مقدمه ای بر علوم کامپیوتر I. " 500 00:21:51,957 --> 00:21:53,040 سپس ما قصد داریم برای شکستن. 501 00:21:53,040 --> 00:21:53,920 و از آن است. 502 00:21:53,920 --> 00:21:55,950 اگر با این حال، N برابر است به 51، ما قصد داریم 503 00:21:55,950 --> 00:21:58,494 به چاپ "CS51 مقدمه است برای علم کامپیوتر II. " 504 00:21:58,494 --> 00:21:59,910 سپس، دوباره، ما در حال رفتن برای شکستن. 505 00:21:59,910 --> 00:22:05,080 با این حال، اگر پس از آن ما را 124، 61، هر تعداد دیگری که شما ممکن است فکر می کنم، 506 00:22:05,080 --> 00:22:06,890 و یا برنامه است که نمی به رسمیت شناختن است. 507 00:22:06,890 --> 00:22:09,010 بنابراین آن را می گویند، "با عرض پوزش، من آشنا با آن کلاس است. " 508 00:22:09,010 --> 00:22:10,009 و آن را برای شکستن. 509 00:22:10,009 --> 00:22:12,847 دیوید مالان: پس شما واقعا می توانید ببینید اگر، اگر دیگری، ایده دیگری در اینجا. 510 00:22:12,847 --> 00:22:15,430 این نحو فقط برای این مختلف بیان ایده یکسان است. 511 00:22:15,430 --> 00:22:17,690 >> MARIA: دقیقا. 512 00:22:17,690 --> 00:22:19,480 در حال حاضر ما سه تایی اپراتورهای ما است. 513 00:22:19,480 --> 00:22:24,900 اپراتورهای بنابراین سه تایی دارند سه parts-- یک بیماری، 514 00:22:24,900 --> 00:22:27,220 اگر چیزی برای انجام که شرط درست باشد، 515 00:22:27,220 --> 00:22:29,730 و پس از آن به چیزی برای انجام در صورتی که شرط نادرست است. 516 00:22:29,730 --> 00:22:33,400 بنابراین می بینید، در واقع، نحو که در اینجا. 517 00:22:33,400 --> 00:22:37,792 ما علامت سوال، و پس از آن the-- چه چیزی ما این پاسخ؟ 518 00:22:37,792 --> 00:22:38,750 دیوید مالان: روده بزرگ است. 519 00:22:38,750 --> 00:22:39,100 MARIA: روده بزرگ. 520 00:22:39,100 --> 00:22:39,599 تشکر. 521 00:22:39,599 --> 00:22:41,880 متاسف. 522 00:22:41,880 --> 00:22:45,800 بنابراین اجازه دهید در مثال ما به نگاه ببینید اگر ما می تواند حس this-- را 523 00:22:45,800 --> 00:22:47,840 class_num == 50. 524 00:22:47,840 --> 00:22:52,580 بنابراین در اینجا ما را ببینید عملگر بولی ما == که class_num متغیر مقایسه 525 00:22:52,580 --> 00:22:53,100 تا 50. 526 00:22:53,100 --> 00:22:55,150 فروشگاه ها تا class_num یک عدد صحیح. 527 00:22:55,150 --> 00:22:58,180 و در صورتی که عدد صحیح برابر 50، پس از آن ما 528 00:22:58,180 --> 00:23:02,810 رفتن به ذخیره "دیوید مالان" در داخل استاد رشته. 529 00:23:02,810 --> 00:23:05,912 اگر تعداد کلاس نیست برابر 50، "نه دیوید مالان" 530 00:23:05,912 --> 00:23:07,120 در حال رفتن به استاد. 531 00:23:07,120 --> 00:23:08,630 >> دیوید مالان: با تشکر از شما. 532 00:23:08,630 --> 00:23:12,110 و این به نظر می رسد معادل چه، به شما می گویند، در نگاه اول؟ 533 00:23:12,110 --> 00:23:17,930 534 00:23:17,930 --> 00:23:19,960 >> MARIA: به نظر من به نظر می رسد اگر-دیگری اظهارات. 535 00:23:19,960 --> 00:23:20,709 >> دیوید مالان: آره. 536 00:23:20,709 --> 00:23:24,020 و در واقع، این نوع از خیلی بوش، 537 00:23:24,020 --> 00:23:27,520 پس به صحبت، برای اجرای دقیقا منطق IF-دیگری 538 00:23:27,520 --> 00:23:29,010 اما انجام همه چیز را در یک مرحله. 539 00:23:29,010 --> 00:23:29,860 >> MARIA: دقیقا. 540 00:23:29,860 --> 00:23:30,360 آره. 541 00:23:30,360 --> 00:23:33,520 اظهارات بنابراین اگر چیز دیگری ممکن است، را تا مقدار زیادی از فضا. 542 00:23:33,520 --> 00:23:36,283 آنها ممکن است بیش از حد طولانی برای چیزی به عنوان ساده به عنوان این. 543 00:23:36,283 --> 00:23:38,350 بنابراین این می تواند بسیار مختصر و بسیار خوب است. 544 00:23:38,350 --> 00:23:40,880 545 00:23:40,880 --> 00:23:46,820 بنابراین در حال حاضر ما در حال رفتن به دنبال اجرای چیزی دوباره و دوباره، 546 00:23:46,820 --> 00:23:50,060 بنابراین چک کردن برای شرایط چندین بار 547 00:23:50,060 --> 00:23:53,510 و سپس در ادامه به انجام کاری در حالی که شرط درست باشد. 548 00:23:53,510 --> 00:23:56,740 بنابراین این به ما به ارمغان می آورد به سادگی به حلقه در حالی که. 549 00:23:56,740 --> 00:23:59,270 >> به سمت چپ، ما باید اولین حلقه در حالی که ما. 550 00:23:59,270 --> 00:24:03,840 بنابراین در حالی که چیزی درست است، انجام کاری دوباره و دوباره. 551 00:24:03,840 --> 00:24:08,850 بنابراین مطمئن شوید که به اطلاع که ما شرایط در اینجا است که در بالای تایید شده است. 552 00:24:08,850 --> 00:24:14,150 در حالی که با loop-- دوم ما تماس بگیرید که آیا در حالی که loop-- ما چیزی، 553 00:24:14,150 --> 00:24:15,890 پس از آن ما برای یک بیماری تیک بزنید. 554 00:24:15,890 --> 00:24:17,980 و در صورتی که شرایط ادامه درست باشد، 555 00:24:17,980 --> 00:24:20,150 ما به عقب برویم و انجام کار است. 556 00:24:20,150 --> 00:24:23,360 بنابراین تفاوت اصلی این است که در آن شرایط برای بررسی می شود. 557 00:24:23,360 --> 00:24:29,260 و کد هرگز ممکن است اعدام در صورتی که شرط نیست 558 00:24:29,260 --> 00:24:30,430 درست است با حلقه while. 559 00:24:30,430 --> 00:24:33,050 در حالی که با انجام دهند در حالی حلقه، ما باید کد 560 00:24:33,050 --> 00:24:35,380 است که همیشه حداقل یک بار اجرا می شود. 561 00:24:35,380 --> 00:24:37,470 و پس از آن در حالی که شرایط ادامه درست باشد، 562 00:24:37,470 --> 00:24:39,960 ما می توانید بروید و دوباره تکرار در داخل. 563 00:24:39,960 --> 00:24:43,625 پس چرا شما فکر می کنم ما استفاده و ویژگی در حالی که حلقه حلقه در حالی که بیش از یک؟ 564 00:24:43,625 --> 00:24:48,221 565 00:24:48,221 --> 00:24:48,720 درست. 566 00:24:48,720 --> 00:24:52,600 بنابراین اگر ما می خواهیم به اعلان کاربران برای نوعی از ورودی، 567 00:24:52,600 --> 00:24:55,400 اگر ما می خواهیم به آنها را بپرسید نام خود را وارد کنید، 568 00:24:55,400 --> 00:24:57,342 ما می خواهیم به حداقل یک بار آنها را بپرسید. 569 00:24:57,342 --> 00:24:59,050 و اگر آنها را وارد کنید این نام، به ما نیست 570 00:24:59,050 --> 00:25:00,740 رفتن به آنها را بپرسید دوباره چرا که ما در حال حاضر آن را می دانم. 571 00:25:00,740 --> 00:25:02,656 اما اگر آنها را وارد کنید نام خود را، و یا اگر آنها 572 00:25:02,656 --> 00:25:05,787 چیزی است که وارد بدیهی است که نه یک نام، 573 00:25:05,787 --> 00:25:08,120 ما هنوز هم می خواهید به ادامه درخواست از آنها در برای نام خود را. 574 00:25:08,120 --> 00:25:10,710 >> دیوید مالان: و در سخنرانی ما یکی بود مثل این با دریافت اعضای هیات مثبت 575 00:25:10,710 --> 00:25:13,550 به عنوان مثال، که در آن هیچ چیز به وجود در ابتدا بررسی کنید، زیرا شما حتی ندارد 576 00:25:13,550 --> 00:25:14,190 بدست یک int است. 577 00:25:14,190 --> 00:25:16,680 بنابراین ما می خواهیم انجام this-- گرفتن یک int از user-- 578 00:25:16,680 --> 00:25:18,860 سپس آن را بررسی کنید، شاید، دوباره و دوباره و دوباره. 579 00:25:18,860 --> 00:25:21,030 >> MARIA: دقیقا. 580 00:25:21,030 --> 00:25:22,060 برای OK loops--. 581 00:25:22,060 --> 00:25:25,842 برای حلقه می توانید به ما اجازه انجام تقریبا همان چیزی که دقیق، و همچنین. 582 00:25:25,842 --> 00:25:27,300 این در واقع همان چیزی دقیق. 583 00:25:27,300 --> 00:25:30,190 بنابراین هیچ چیز وجود دارد که شما می توانید با حلقه انجام 584 00:25:30,190 --> 00:25:32,840 که شما قادر نخواهد بود برای انجام با حلقه در حالی که. 585 00:25:32,840 --> 00:25:36,900 اما برای حلقه ممکن است کمی به نظر می رسد کمی پیچیده تر از لحاظ دستوری 586 00:25:36,900 --> 00:25:39,730 زیرا آنها سه بخش در داخل چه 587 00:25:39,730 --> 00:25:42,990 قبل از فقط بود شرایط با حلقه در حالی که. 588 00:25:42,990 --> 00:25:48,260 بنابراین بخش اول که شما دریا، سمت چپ ترین، ما "INT دورف = 0." 589 00:25:48,260 --> 00:25:51,490 پس این است که که در آن ما مقداردهی اولیه متغیر است. 590 00:25:51,490 --> 00:25:55,210 >> پس ما باید یک نقطه و ویرگول و "دورف <7." 591 00:25:55,210 --> 00:25:57,100 پس این است که خارج شرایط واقع است. 592 00:25:57,100 --> 00:26:00,170 بنابراین این چیزی است که ما باید قرار داده است فقط در حالی که loop-- 593 00:26:00,170 --> 00:26:01,880 "در حالی که دورف <7." 594 00:26:01,880 --> 00:26:05,380 در اینجا، که می رود در وسط برای حلقه ما. 595 00:26:05,380 --> 00:26:07,190 بنابراین "dwaves <7." 596 00:26:07,190 --> 00:26:11,350 و سپس آخرین بخش ما "دورف ++،" است که جایی است که ما متغیر ما به روز رسانی. 597 00:26:11,350 --> 00:26:15,470 بنابراین نکته مهم برای تحقق بخشیدن به این است که این 598 00:26:15,470 --> 00:26:22,010 در حال رفتن به از طریق این حلقه for هفت بار و اجرای هفت بار. 599 00:26:22,010 --> 00:26:24,020 بنابراین ما باید هفت دورف، و آنها همه 600 00:26:24,020 --> 00:26:26,020 رفتن به می گویند، "من اینجا هستم برای کمک به شما، سفید برفی " 601 00:26:26,020 --> 00:26:28,860 چرا که آنها آماده هستند برای کمک به سفید برفی. 602 00:26:28,860 --> 00:26:33,600 >> با در حالی که حلقه ها، ما را انجام داده اند مقدار دهی اولیه و به روز رسانی 603 00:26:33,600 --> 00:26:37,490 نه در داخل شرایط، دوباره، اما قبل یا در داخل حلقه در حالی که 604 00:26:37,490 --> 00:26:40,210 مطمئن شوید که به دلیل we-- ما همیشه نیاز به آن قسمت. 605 00:26:40,210 --> 00:26:42,835 بنابراین مطمئن شوید که ما آنها، ما هنوز هم آنها را اضافه کرده ام 606 00:26:42,835 --> 00:26:44,580 در، نه تنها در داخل پرانتز. 607 00:26:44,580 --> 00:26:47,288 >> دیوید مالان: و پس از آن به نظر می رسد like-- در سخنرانی، به عنوان مثال، 608 00:26:47,288 --> 00:26:50,250 من تقریبا همیشه استفاده کنید، مانند، من و n و متغیر بسیار خسته کننده است. 609 00:26:50,250 --> 00:26:53,050 به نظر می رسد شما می توانید بیشتر استفاده کنید هوشمندانه متغیرهای نام، TOO. 610 00:26:53,050 --> 00:26:56,300 >> MARIA: آره، آن را در واقع بسیار خوب استفاده از متغیرهای توصیفی کمی بیشتر 611 00:26:56,300 --> 00:26:59,400 چون به خصوص اگر شخص دیگری است خواندن code-- خود را شاید شما حرفه ای 612 00:26:59,400 --> 00:27:00,940 و یا اگر شما در حال همکاری با somebody-- 613 00:27:00,940 --> 00:27:03,481 شما می خواهید مطمئن شوید که آنها درک آنچه شما انجام می دهند. 614 00:27:03,481 --> 00:27:05,750 615 00:27:05,750 --> 00:27:06,400 >> باشه. 616 00:27:06,400 --> 00:27:11,435 بنابراین این چیزی بسیار funky-- است برای حلقه در داخل یک حلقه for. 617 00:27:11,435 --> 00:27:13,060 من نمی دانم اگر ما قبل از این دیده می شود. 618 00:27:13,060 --> 00:27:13,830 احتمالا نه. 619 00:27:13,830 --> 00:27:17,750 اما ما در واقع می تواند this-- دارند بنابراین حلقه به جای حلقه. 620 00:27:17,750 --> 00:27:25,130 بنابراین هر کسی می خواهم به راه رفتن شاید من از طریق آنچه که در اینجا؟ 621 00:27:25,130 --> 00:27:28,240 622 00:27:28,240 --> 00:27:29,490 دیوید مالان: من یک چاقو است. 623 00:27:29,490 --> 00:27:29,970 MARIA: داغ. 624 00:27:29,970 --> 00:27:30,636 دیوید مالان: OK. 625 00:27:30,636 --> 00:27:34,690 بنابراین، spoiler-- ما می خواهیم به چاپ چیزهای که در گوشه سمت راست پایین 626 00:27:34,690 --> 00:27:35,190 آنجا. 627 00:27:35,190 --> 00:27:35,450 >> MARIA: درست است. 628 00:27:35,450 --> 00:27:35,710 آره آره. 629 00:27:35,710 --> 00:27:38,043 >> فقط بنابراین ما به: دیوید مالان قرار داده است که خروجی نمونه وجود دارد. 630 00:27:38,043 --> 00:27:42,590 بنابراین من می تواند از پی بردن به بالاترین حلقه که شما 631 00:27:42,590 --> 00:27:45,680 تکرار بیش از ردیف حلقه خارجی ترین، پس به صحبت می کنند. 632 00:27:45,680 --> 00:27:48,107 و شما در حال تکرار بیش ستون ها با حلقه درونی. 633 00:27:48,107 --> 00:27:50,190 و به طور مستقیم، این باید امیدوارم را حس می کند 634 00:27:50,190 --> 00:27:52,070 چرا که با ماهیت هر برنامه ما دیده ایم 635 00:27:52,070 --> 00:27:55,570 قبل از آن، تابع () printf است، که عملکرد ما با استفاده از، در نهایت، 636 00:27:55,570 --> 00:27:58,190 است که توانایی چاپ چیزهای خارج اساسا خط به خط. 637 00:27:58,190 --> 00:27:59,960 مانند، هنگامی که شما به خروجی یک خط جدید، وجود دارد 638 00:27:59,960 --> 00:28:02,876 هیچ دو برابر تماس و چاپ چیزی در روی صفحه نمایش بالاتر، حداقل 639 00:28:02,876 --> 00:28:04,530 با استفاده از printf مثل این نیست. 640 00:28:04,530 --> 00:28:07,750 >> و به این ترتیب در این رابطه، آن را می سازد معنا که خارجی ترین حلقه 641 00:28:07,750 --> 00:28:10,930 باید اشاره به ردیف چرا که برای هر سطر داده می شود، 642 00:28:10,930 --> 00:28:13,650 شما در حال رفتن به می خواهم به نسخه قابل چاپ کردن XXXXX، و سپس 643 00:28:13,650 --> 00:28:15,520 حرکت به سطر بعد، XXXXX. 644 00:28:15,520 --> 00:28:17,317 بنابراین ردیف اول است. 645 00:28:17,317 --> 00:28:19,150 و پس از آن در هر ردیف، شما نسخه قابل چاپ ستون. 646 00:28:19,150 --> 00:28:21,160 اگر شما سعی کردم به آن انجام مخالف، آن را احتمالا نمی 647 00:28:21,160 --> 00:28:21,690 بیرون آمدن به عنوان شما قصد. 648 00:28:21,690 --> 00:28:22,190 >> MARIA: آره. 649 00:28:22,190 --> 00:28:24,950 ما نه تنها می تواند بازگشت به سطر قبلی با printf است. 650 00:28:24,950 --> 00:28:27,658 >> دیوید مالان: و چه جالب در گفتگوی امروز در مورد دامنه، 651 00:28:27,658 --> 00:28:31,600 در واقع، این است که ردیف از نوع int است که در بالاترین حلقه اعلام کرد. 652 00:28:31,600 --> 00:28:34,030 اما توجه کنید که آن است که هنوز داخل، پس به صحبت می کنند، 653 00:28:34,030 --> 00:28:35,982 آکولاد که بلافاصله به دنبال، 654 00:28:35,982 --> 00:28:38,440 حتی اگر آن را از لحاظ فنی نیست در آن آکولاد. 655 00:28:38,440 --> 00:28:41,750 بنابراین ردیف در دامنه است برای تمامیت قطعه از کد، 656 00:28:41,750 --> 00:28:44,690 هر دو در داخل بیرونی حلقه for و داخل حلقه for متغیر. 657 00:28:44,690 --> 00:28:48,050 اما در مقابل، که در آن ستون در دامنه است؟ 658 00:28:48,050 --> 00:28:49,810 ستون متغیر؟ 659 00:28:49,810 --> 00:28:51,310 آره، تنها در حلقه در داخل. 660 00:28:51,310 --> 00:28:54,280 و این خوب است چون ما دسترسی پیدا کنید آن را در خارج از آکولاد آن است. 661 00:28:54,280 --> 00:28:57,280 همه ما به چاپ است از جدید خط در پایان بسیار وجود دارد. 662 00:28:57,280 --> 00:28:58,670 به طوری که در واقع خوب است. 663 00:28:58,670 --> 00:29:03,740 >> بنابراین این اثر، آن را مانند به نظر می رسد، انجام سه ردیف و چهار ستون. 664 00:29:03,740 --> 00:29:04,370 >> MARIA: درست است. 665 00:29:04,370 --> 00:29:06,270 بنابراین برای اولین بار ما را از طریق ردیف اول ما بروید. 666 00:29:06,270 --> 00:29:10,520 و فقط در سطر اول ما، ما انجام چهار ستون در داخل سطر اول. 667 00:29:10,520 --> 00:29:11,980 بنابراین ما از چاپ چهار X است. 668 00:29:11,980 --> 00:29:15,800 و پس از آن ما می توانیم برای خروج از حلقه، از ما در حال حاضر چاپ چهار X است. 669 00:29:15,800 --> 00:29:17,100 و ما چاپ یک خط جدید. 670 00:29:17,100 --> 00:29:19,920 و سپس ما را از طریق رفتن همین روند برای دو ردیف بیشتر 671 00:29:19,920 --> 00:29:21,170 تا در مجموع از سه. 672 00:29:21,170 --> 00:29:23,530 >> دیوید مالان: و آن را شایان ذکر آن فقط مصنوع از فونت، این واقعیت 673 00:29:23,530 --> 00:29:25,680 که خروجی نمونه به نظر می رسد بسیار بلندتر، 674 00:29:25,680 --> 00:29:27,520 به عنوان اینکه بیشتر وجود دارد ردیف از ستون است. 675 00:29:27,520 --> 00:29:29,824 اما آن را فقط به این دلیل که X بلندتر از آن گسترده است. 676 00:29:29,824 --> 00:29:32,740 این همه که اتفاق می افتد وجود دارد، به علاوه فضای سفید بین خطوط. 677 00:29:32,740 --> 00:29:33,281 >> MARIA: درست است. 678 00:29:33,281 --> 00:29:34,792 خنک. 679 00:29:34,792 --> 00:29:35,750 دیوید مالان: بسیار خوب. 680 00:29:35,750 --> 00:29:39,830 بنابراین یک نگاه سریع در مجموعه ای مشکل است، را هر گونه سوال، و پس از آن موکول؟ 681 00:29:39,830 --> 00:29:40,330 خیلی خوب. 682 00:29:40,330 --> 00:29:43,164 بنابراین در مجموعه ای مشکل یکی، سه وجود دارد چالش های اولیه، در نهایت. 683 00:29:43,164 --> 00:29:44,955 اما در ابتدا، شما را پیدا که مجموعه ای مشکل 684 00:29:44,955 --> 00:29:47,900 مشخصات، به عنوان با بسیاری از psets این سقوط، است که به شما راه رفتن 685 00:29:47,900 --> 00:29:50,691 از طریق چند تمرینات گرم کننده، اشاره شما را از چند منابع 686 00:29:50,691 --> 00:29:52,440 که شما ممکن است یا ممکن دیده اند، نه در حال حاضر. 687 00:29:52,440 --> 00:29:54,440 به عنوان مثال، CS50 تا به یک مجموعه از شورت، 688 00:29:54,440 --> 00:29:56,481 که فیلم کوتاه می باشد، و نه بر خلاف این، اما 689 00:29:56,481 --> 00:29:58,460 می specific-- بسیار موضوع شاید پنج دقیقه، 690 00:29:58,460 --> 00:30:02,360 در طول 10 دقیقه در حلقه یا در شرایط و یا در الگوریتم 691 00:30:02,360 --> 00:30:04,125 و یا بعد از بیشتر مباحث پیشرفته، و همچنین. 692 00:30:04,125 --> 00:30:06,000 و ما به طور کلی جاسازی کسانی که به مشکل 693 00:30:06,000 --> 00:30:07,950 مجموعه طوری که دانش آموزان یک منبع که با آن 694 00:30:07,950 --> 00:30:10,840 به مرور دروس است که ممکن است در حال حاضر در سخنرانی و یا بخش آمده است. 695 00:30:10,840 --> 00:30:13,220 اما این راه آن را بیشتر متمرکز و بیشتر در نوک انگشتان خود را. 696 00:30:13,220 --> 00:30:15,928 >> ما همچنین تمایل به جاسازی در مشکل مجموعه همه چیز به نام تکمیل فرم سفارش. 697 00:30:15,928 --> 00:30:20,790 بنابراین تقریبا همه از نمونه های من در سخنرانی، در مرحله اینجا، ما نیز 698 00:30:20,790 --> 00:30:24,565 در دوربین در ضرب گلوله کشته اند پیشبرد کندتر بیشتر، 699 00:30:24,565 --> 00:30:28,760 یک خرید صمیمی تر توسط من در لپ تاپ من از آن کد را خط به خط 700 00:30:28,760 --> 00:30:31,427 به طوری که در کلاس، ما اغلب خامه را از طریق چیزی یا کسی 701 00:30:31,427 --> 00:30:33,260 با معترضه گفتن خواهد پاسخ به یک سوال. 702 00:30:33,260 --> 00:30:35,820 اما لزوما غرق نمی برای هر کس در مخاطبان. 703 00:30:35,820 --> 00:30:38,230 بنابراین شما کد تکمیل فرم سفارش پیدا برای بسیاری از نمونه 704 00:30:38,230 --> 00:30:40,950 که ما در اینجا انجام در سخنرانی به طوری که شما می توانید از طریق آن با سرعت خود را به راه رفتن 705 00:30:40,950 --> 00:30:43,580 و عقب و یا سریع به جلو یا جست و خیز در دسترس نباشد، اگر شما می خواهم. 706 00:30:43,580 --> 00:30:45,356 >> اغلب چند وجود دارد پرسش گرم کردن که 707 00:30:45,356 --> 00:30:47,105 از شما درخواست برای مرتب کردن بر اساس تقویت این مواد 708 00:30:47,105 --> 00:30:50,250 و مطمئن شوید که شما قبل از راحت هستید شما با بقیه از pset ادامه دهید. 709 00:30:50,250 --> 00:30:51,700 و پس از آن، البته، را pset خود را وجود دارد. 710 00:30:51,700 --> 00:30:53,450 و یکی از چیزهایی که ما بسیار عمدا 711 00:30:53,450 --> 00:30:57,202 انجام این کار در CS50 است تقریبا در هر غیر یا فکری غیر 712 00:30:57,202 --> 00:30:58,910 گام مکانیکی که شما ممکن است مجبور به انجام 713 00:30:58,910 --> 00:31:00,519 تقریبا همیشه به خوبی مستند شده است. 714 00:31:00,519 --> 00:31:03,560 در طول این دوره از مدت، ما شروع به سوال لفظی بیشتر بپرسید 715 00:31:03,560 --> 00:31:06,187 به یاد داشته باشید که چگونه به مانند این یا آن را انجام دهد؟ 716 00:31:06,187 --> 00:31:08,520 اما به طور کلی، شما را پیدا که مجموعه مسائل شما 717 00:31:08,520 --> 00:31:10,269 از طریق مکانیک از چیزی که 718 00:31:10,269 --> 00:31:14,160 جالب توجه است، چالش های فکری در نهایت چپ به شما دانش آموز. 719 00:31:14,160 --> 00:31:17,390 >> با که گفت، Zamyla، کسی که به نگه اشاره امروز در سخنرانی، 720 00:31:17,390 --> 00:31:20,190 یکی از کارکنان قدیمی ما است عضو که همچنین دارای تکمیل فرم سفارش 721 00:31:20,190 --> 00:31:24,520 در مورد مسائل خاص pset مانند ماریو و حریص، هر چند این سال آب است. 722 00:31:24,520 --> 00:31:26,540 و آن را در آن است تکمیل فرم سفارش که او اغلب 723 00:31:26,540 --> 00:31:29,450 ارائه می دهد برخی راهنمایی و ترفندها برای چگونه برای ادامه، هرگز به شما می گویم 724 00:31:29,450 --> 00:31:31,810 دقیقا چه باید بکنید، اما rather-- مانند مورد، 725 00:31:31,810 --> 00:31:35,200 اگر شما will-- دادن به شما حداقل یک زن و شوهر از ایده های به طوری که آن را تا به شما، 726 00:31:35,200 --> 00:31:37,830 در نهایت، برای تصمیم گیری چگونه به آنها نزدیک شود. 727 00:31:37,830 --> 00:31:41,200 >> MARIA: نوعی مانند یک سطح بالا درک درستی از منطق چه 728 00:31:41,200 --> 00:31:42,220 ما درخواست شما را به انجام. 729 00:31:42,220 --> 00:31:42,485 >> دیوید مالان: دقیقا. 730 00:31:42,485 --> 00:31:44,190 و، در واقع، Zamyla است به معنای تکمیل فرم سفارش 731 00:31:44,190 --> 00:31:46,190 برای پاسخ به این اغلب سوال که در آن 732 00:31:46,190 --> 00:31:48,610 من آغاز شد، به ویژه هنگامی که این مشخصات طولانی 733 00:31:48,610 --> 00:31:51,960 کمی دلهره آور با توجه به تمام متن و تصاویر که آنها در آنها است. 734 00:31:51,960 --> 00:31:54,890 >> بنابراین water.c، شما را پیدا بعد از شما آن کامل شده است، 735 00:31:54,890 --> 00:31:56,920 است که در واقع نسبتا سر راست است. 736 00:31:56,920 --> 00:31:58,882 کاملا یک دسته از شما رفتن به صدای بلند 737 00:31:58,882 --> 00:32:01,840 سر خود را در مقابل دیوار تلاش به کشف کردن که چرا آن را کامپایل نمی 738 00:32:01,840 --> 00:32:03,450 یا چرا از آن را در حال اجرا به درستی. 739 00:32:03,450 --> 00:32:05,040 اما هنگامی که شما انجام می شود با آن و هنگامی که شما در 740 00:32:05,040 --> 00:32:07,620 برخی از صرف زمان کشتی با هر از اشکالات که شما ممکن است، 741 00:32:07,620 --> 00:32:09,490 شما می یابند که این یک برنامه بسیار کوتاه است. 742 00:32:09,490 --> 00:32:11,770 می توان آن را فقط در چند انجام خط کد، که اکثر 743 00:32:11,770 --> 00:32:15,030 ما در اینجا در سخنرانی اگر دیده می شود در حال حاضر، شما جمع آوری بلوک های ساختمان است. 744 00:32:15,030 --> 00:32:16,810 >> و به عنوان ما نشان می دهد در اینجا، آن را به درخواست 745 00:32:16,810 --> 00:32:22,250 شما برای مشخص چند دقیقه کسی است که گرفتن یک دوش در محوطه دانشگاه. 746 00:32:22,250 --> 00:32:24,779 ما در مسئله مشخص تعیین میزان جریان آب 747 00:32:24,779 --> 00:32:27,320 در، مانند، دوش کم فشار سر، بسیار شبیه به کلیپ ساینفیلد 748 00:32:27,320 --> 00:32:29,180 ما دیروز دیدم و یا در مقابل آن. 749 00:32:29,180 --> 00:32:30,971 و سپس شما فقط باید برای انجام یک کمی از ریاضی، 750 00:32:30,971 --> 00:32:34,710 really-- حساب با استفاده از C به ما چگونه بسیاری از، تقریبا، بطری آب 751 00:32:34,710 --> 00:32:37,720 که معادل اگر ما است در نظر گرفتن دوش N-دقیقه است. 752 00:32:37,720 --> 00:32:41,389 >> در حال حاضر، در mario.c، این است که به یک برنامه کمی طولانی تر. 753 00:32:41,389 --> 00:32:42,930 آن را هنوز هم به این طولانی باشد. 754 00:32:42,930 --> 00:32:45,130 فقط چند خط بیش از water.c. 755 00:32:45,130 --> 00:32:48,230 اما آن را به فرصت به تمدد اعصاب مدرسه قدیمی ماریو 756 00:32:48,230 --> 00:32:50,670 هرم از سوپر ماریو برادران و یا برخی از آنها را مشاهده کنید. 757 00:32:50,670 --> 00:32:53,510 آن را به عنوان زیباتر نگاه و یا به عنوان رنگارنگ به عنوان که یک وجود دارد. 758 00:32:53,510 --> 00:32:56,468 ما فقط قصد استفاده از هشتگ کمی مانند ما را در اینجا بر روی صفحه نمایش 759 00:32:56,468 --> 00:32:58,120 با استفاده از متن ASCII. 760 00:32:58,120 --> 00:33:00,362 اما آن را به همان ایده تقریبی. 761 00:33:00,362 --> 00:33:02,570 و آن را به عنوان یک ورزش که در نگاه اول 762 00:33:02,570 --> 00:33:04,720 به نظر می رسد بسیار simple-- فقط چاپ یک هرم ساده است. 763 00:33:04,720 --> 00:33:07,345 اما یک زن و شوهر وجود دارد ویژگی های در اینجا است که جالب توجه است. 764 00:33:07,345 --> 00:33:12,400 توجه داشته باشید که لبه سمت راست از هرم در واقع تا به عرض دو. 765 00:33:12,400 --> 00:33:14,570 بنابراین دو برابر وجود دارد ستون ارتفاع، که 766 00:33:14,570 --> 00:33:16,804 باعث می شود آن نیاز به یک کمی کمی فکر را به 767 00:33:16,804 --> 00:33:19,720 مطمئن شوید که شما که دقیقا سمت راست، به عنوان گرفتن نه فقط کاملا زاویه دار 768 00:33:19,720 --> 00:33:20,220 خط. 769 00:33:20,220 --> 00:33:23,340 به طوری که یک بیت از این مورد گوشه اما مسابقات بازی واقعی. 770 00:33:23,340 --> 00:33:27,610 >> و آن را نیز در ابتدا غیر آشکار نگاه چگونه برای چاپ فضای سفید است. 771 00:33:27,610 --> 00:33:29,430 بنابراین، هنگامی که من در نگاه نمونه here-- خروجی 772 00:33:29,430 --> 00:33:32,440 و آن را نیز در آن spec-- نوع نظر می رسد مانند یک مستطیل، 773 00:33:32,440 --> 00:33:35,120 اما مورب از مستطیل است خرد شده شده است، 774 00:33:35,120 --> 00:33:37,320 و آن را فقط از فضاهای سفید، پس به صحبت می کنند. 775 00:33:37,320 --> 00:33:40,100 و به این ترتیب اغلب پرسیده سوال در اینجا است که همیشه، خوب، 776 00:33:40,100 --> 00:33:43,302 چگونه هشتگهای حرکت من به سمت راست؟ 777 00:33:43,302 --> 00:33:44,760 و یا چگونه به فضاهای خالی چاپ کنم؟ 778 00:33:44,760 --> 00:33:46,860 و این در واقع آسان تر که بسیاری از دانشجویان فکر می کنم. 779 00:33:46,860 --> 00:33:47,360 درست؟ 780 00:33:47,360 --> 00:33:51,620 شما می توانید آن بصری تنها با تقریب هدف قرار دادن نوار فضا یک یا دو بار 781 00:33:51,620 --> 00:33:52,700 یا سه بار. 782 00:33:52,700 --> 00:33:56,260 >> و بنابراین حتی اگر با printf ما تقریبا همیشه نسخه قابل چاپ کردن یک رشته و یا یک int 783 00:33:56,260 --> 00:33:59,950 و یا یک کلمه مانند "سلام، جهان "یا مجموعه ای از کلمات، 784 00:33:59,950 --> 00:34:03,560 شما همچنین می توانید فقط چاپ نقل قول، فضا، تمام کردن. 785 00:34:03,560 --> 00:34:06,320 و که در واقع خواهد داد شما یک فضای سفید وجود دارد. 786 00:34:06,320 --> 00:34:08,330 طوری نگه دارید که در ذهن و این overthink است. 787 00:34:08,330 --> 00:34:10,570 شما واقعا به تصمیم گیری ردیف با ردیف با ردیف، 788 00:34:10,570 --> 00:34:14,280 و نه بر خلاف عنوان مثال خود را لحظه پیش، بسیاری از کسانی که چگونه از 789 00:34:14,280 --> 00:34:18,420 ستون ها باید فضاهای سفید می شود و چگونه بسیاری از آنها باید هشتگهای باشد. 790 00:34:18,420 --> 00:34:21,560 آن را کمی از زمان را، اما آن را در نهایت یک پازل منطق از انواع. 791 00:34:21,560 --> 00:34:22,060 >> MARIA: آره. 792 00:34:22,060 --> 00:34:25,060 اما منطق رفتن ردیف با ردیف در حال رفتن به بسیار مفید در اینجا. 793 00:34:25,060 --> 00:34:25,810 دیوید مالان: آره. 794 00:34:25,810 --> 00:34:28,976 من فکر می کنم نمونه کد شما gave-- حتی هر چند آن بود یک برنامه کامل نیست. 795 00:34:28,976 --> 00:34:34,247 شما هنوز هم نیاز int و اصلی و از درجه اعتبار ساقط و stdio.h # شامل، 796 00:34:34,247 --> 00:34:35,580 بسیاری از مسائل را از سخنرانی. 797 00:34:35,580 --> 00:34:37,629 اما بلوک های ساختمان به نظر می رسد وجود داشته باشد. 798 00:34:37,629 --> 00:34:39,920 و سپس در آخر چیزی است کمی بیشتر الگوریتمی. 799 00:34:39,920 --> 00:34:43,210 پس از آن معلوم است که هر زمان شما رفتن به CVS یا هر فروشگاه راحتی 800 00:34:43,210 --> 00:34:47,810 و کسی به شما دست در صورتحساب صندوقدار یا سکه به عنوان تغییر، 801 00:34:47,810 --> 00:34:50,620 معلوم است که آنها، انسان ها، یا نه آنها می دانید یا نه، 802 00:34:50,620 --> 00:34:53,300 احتمالا با چه به نام یک الگوریتم حریصانه، 803 00:34:53,300 --> 00:34:58,170 به موجب آن اگر شما بدهکار، می گویند، 21 $ در تغییر به دلیل برای برخی از دلیل 804 00:34:58,170 --> 00:35:01,580 شما چیزی بسیار ارزان خریداری با یک لایحه بسیار بزرگ در CVS، 805 00:35:01,580 --> 00:35:05,910 این امر می تواند واقعا آزار دهنده است اگر صندوقدار به شما داد 21 تک آهنگ و یا، بدتر 806 00:35:05,910 --> 00:35:07,629 در عین حال، کل بسیاری از سکه ها. 807 00:35:07,629 --> 00:35:10,670 در عوض، آنچه یک شخص معقول است احتمالا برای انجام شده است آنها در حال رفتن 808 00:35:10,670 --> 00:35:14,224 برای گرفتن یک 20- $ و سپس $ 1-بیل و دست شما فقط دو لایحه در این مورد. 809 00:35:14,224 --> 00:35:17,390 MARIA: بنابراین آنها به دنبال به حداقل رساندن تغییر که آنها را به شما. 810 00:35:17,390 --> 00:35:17,850 دیوید مالان: دقیقا. 811 00:35:17,850 --> 00:35:19,540 و همان معامله را با سکه، و همچنین. 812 00:35:19,540 --> 00:35:23,040 اگر شما بدهکار، می گویند، $ 0.50، امیدوارم شما 50 سکه را نمی خواهم. 813 00:35:23,040 --> 00:35:25,500 شما به جای می خواهم دو چهارم، به عنوان مثال. 814 00:35:25,500 --> 00:35:27,540 در حال حاضر، این کار را فرض که صندوقدار است 815 00:35:27,540 --> 00:35:29,940 به اندازه کافی از هر فرقه که او ممکن است بخواهید به شما بدهد. 816 00:35:29,940 --> 00:35:32,148 اما ما به شما اجازه فرض به همان اندازه در مشکل است. 817 00:35:32,148 --> 00:35:35,590 و هدف، در نهایت، به پیاده سازی در کد C یک الگوریتم حریصانه. 818 00:35:35,590 --> 00:35:37,344 به طوری که کاربر مجاز است به نوع در چه مقدار 819 00:35:37,344 --> 00:35:40,510 او تغییر دهید و یا او با دلار بدهی و سنت، به نوعی از نقطه شناور 820 00:35:40,510 --> 00:35:41,590 ارزش احتمالا. 821 00:35:41,590 --> 00:35:45,530 و سپس شما را به انجام محاسبات ریاضی و شکل الگوریتمی، خوب، 822 00:35:45,530 --> 00:35:49,020 چگونه بسیاری از سکه می توانم شما حداقل به شما بدهد 823 00:35:49,020 --> 00:35:50,270 دقیقا همان است که مقدار تغییر. 824 00:35:50,270 --> 00:35:53,470 اما برای رفتن به یک وجود دارد چند بخش مشکل در اینجا، درست است؟ 825 00:35:53,470 --> 00:35:56,236 مانند طیف وجود دارد موضوع عدم دقت. 826 00:35:56,236 --> 00:35:56,860 MARIA: دقیقا. 827 00:35:56,860 --> 00:35:59,114 نقطه، بنابراین شناور ارزشها عدم دقت. 828 00:35:59,114 --> 00:36:00,780 آیا ما در این مورد در سخنرانی امروز صحبت کنید؟ 829 00:36:00,780 --> 00:36:02,340 >> دیوید مالان: ما از آخرین بار در سخنرانی. 830 00:36:02,340 --> 00:36:03,506 ما در مورد عدم دقت صحبت کردیم. 831 00:36:03,506 --> 00:36:08,840 و شما نمی خواهید به تقلب کاربر چه مقدار تغییر او بدهکار است. 832 00:36:08,840 --> 00:36:11,290 و به این ترتیب خرید، در مشکل تنظیم خصوصیات، 833 00:36:11,290 --> 00:36:15,990 به برخی از اندیشه، در نهایت، به عنوان چگونه شما می توانید آن را کاهش عدم دقت 834 00:36:15,990 --> 00:36:17,280 اشتباهات، به طور بالقوه. 835 00:36:17,280 --> 00:36:21,050 این قابل اجتناب است، قطعا، برای ورودی ما در حال صحبت کردن در مورد. 836 00:36:21,050 --> 00:36:23,590 و، در واقع، pennies-- شاید ما به Zamyla تسلیم، 837 00:36:23,590 --> 00:36:25,136 من فکر می کنم، برای کلاهبرداری وجود دارد. 838 00:36:25,136 --> 00:36:27,760 پس در نهایت، شما یک پیدا پیشرفت مشکلات این هفته، 839 00:36:27,760 --> 00:36:30,700 اولین بار است که بسیار کوچک است، پس از آن متوسط، پس از آن کمی بزرگتر است. 840 00:36:30,700 --> 00:36:33,200 اما همه آنها ساختمان استفاده بلوک از این هفته گذشته، 841 00:36:33,200 --> 00:36:35,280 از این supersection، مشکل تنظیم مشخصات 842 00:36:35,280 --> 00:36:36,710 شما قرار می دهد در منابع بی حد و حصر. 843 00:36:36,710 --> 00:36:41,000 اما هنوز هم، اگر در همه تلاش، به خصوص در میان کسانی که کمتر و راحت 844 00:36:41,000 --> 00:36:42,917 با هیچ زمینه قبلی، آمده به ساعات اداری 845 00:36:42,917 --> 00:36:44,958 در دوشنبه و سه شنبه و چهارشنبه و پنجشنبه. 846 00:36:44,958 --> 00:36:46,950 برو به بحث از طریق CS50 وب سایت درس، 847 00:36:46,950 --> 00:36:49,080 که از طریق آن شما می توانید چت با کارکنان و همکلاسی ها. 848 00:36:49,080 --> 00:36:51,670 >> اما در نهایت، من فکر می کنم بهترین توصیه این است که فقط زود آغاز میشود. 849 00:36:51,670 --> 00:36:54,711 این نوع کلاس نیست که شما باید شروع psets در روز چهارشنبه 850 00:36:54,711 --> 00:36:56,640 شب، و یا حتی بدتر پنجشنبه شب. 851 00:36:56,640 --> 00:36:59,067 >> MARIA: بهترین توصیه من این است به شروع کرده اند روز دوشنبه. 852 00:36:59,067 --> 00:36:59,900 دیوید مالان: دوشنبه. 853 00:36:59,900 --> 00:37:02,490 بنابراین اگر شما already-- آغاز شده نیست هیچ. 854 00:37:02,490 --> 00:37:04,732 اما حتی اگر نمی دوشنبه، پس از روز سه شنبه. 855 00:37:04,732 --> 00:37:05,690 هر چه زودتر بهتر. 856 00:37:05,690 --> 00:37:08,605 و به همین دلیل در البته تا به بسیاری از روز دیر است 857 00:37:08,605 --> 00:37:10,535 به شما یک بیت از یک را فشار روانی 858 00:37:10,535 --> 00:37:13,684 زودتر شروع، اما هنوز هم اجازه همه چیز لغزش زمانی که همه چیز را دیگر 859 00:37:13,684 --> 00:37:14,350 از شما انتظار می رود. 860 00:37:14,350 --> 00:37:17,950 >> MARIA: و شما می خواهید به استفاده از ساعات اداری به عنوان آنجا که می توانید، TOO. 861 00:37:17,950 --> 00:37:20,291 >> دیوید مالان: هر گونه سؤال؟ 862 00:37:20,291 --> 00:37:20,790 خیلی خوب. 863 00:37:20,790 --> 00:37:22,930 خوب، چرا ما در اینجا موکول؟ 864 00:37:22,930 --> 00:37:23,487