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