1 00:00:00,000 --> 00:00:12,410 >> [پخش موسیقی] 2 00:00:12,410 --> 00:00:12,830 >> دیوید مالان: بسیار خوب. 3 00:00:12,830 --> 00:00:13,370 خوش آمدید. 4 00:00:13,370 --> 00:00:16,510 این CS50 است، و این هفته اول، ادامه داد. 5 00:00:16,510 --> 00:00:20,050 بنابراین یکی از دلایل عبور کرده ایم در اطراف فن آوری های مانند 6 00:00:20,050 --> 00:00:24,120 شیشه ای گوگل است که آنها با چیزی شناخته شده به عنوان یک API، 7 00:00:24,120 --> 00:00:25,980 رابط کاربردی برنامه نویسی. 8 00:00:25,980 --> 00:00:28,830 و این بدان معنی است که با فایل های راست و با راست 9 00:00:28,830 --> 00:00:32,850 اسناد و مدارک، شما در واقع می تواند ارسال نرم افزار برای دستگاه های حتی مثل این. 10 00:00:32,850 --> 00:00:36,200 >> و بنابراین، آنچه ما در ذهن داریم به سمت پایان ترم است، اگر یک پروژه 11 00:00:36,200 --> 00:00:39,310 شامل، می گویند، گوگل شیشه ای ممکن است درخواست تجدید نظر، خواهیم دید که آنچه که ما می توانیم در انجام 12 00:00:39,310 --> 00:00:42,220 از نظر اتصال شما را با برخی از سخت افزار loaner و همچنین به عنوان 13 00:00:42,220 --> 00:00:46,500 API در دسترس عموم به طوری که شما می توانید در واقع شروع به ایجاد نرم افزار 14 00:00:46,500 --> 00:00:48,630 اجرا می شود که در همان شیشه ای گوگل. 15 00:00:48,630 --> 00:00:51,710 >> یکی دیگر از دستگاه های است که ما بازی شده ام از اواخر سال است که ما فکر ممکن است 16 00:00:51,710 --> 00:00:53,910 سرگرم کننده در پایان ترم است این چیز کمی در اینجا. 17 00:00:53,910 --> 00:00:56,860 آن را به نام حرکت جهش، و آنچه شما برای دیدن است که از لحاظ فنی 18 00:00:56,860 --> 00:01:00,280 تبلیغات برای دستگاه است، اما آن صحبت می کنند به این که چه خاص 19 00:01:00,280 --> 00:01:01,240 دستگاه قادر است. 20 00:01:01,240 --> 00:01:05,550 و آن، بیش از حد، می آید با یک API از طریق که شما می توانید نرم افزار برای نوشتن 21 00:01:05,550 --> 00:01:10,545 کنترل کامپیوتر خود را به گونه ای کاملا دوست دارم این فیلم یک دقیقه اینجا. 22 00:01:10,545 --> 00:01:12,070 >> [پخش ویدئو] 23 00:01:12,070 --> 00:02:08,002 24 00:02:08,002 --> 00:02:08,590 >> [END پخش ویدئو] 25 00:02:08,590 --> 00:02:11,190 >> بنابراین در حال حاضر، این دستگاه اتفاق می افتد به عنوان کمی USB اجرا 26 00:02:11,190 --> 00:02:14,290 اتصال دهنده است که شما می توانید خود را به برق وصل کردن کامپیوتر، اما من می شود جای تعجب نیست 27 00:02:14,290 --> 00:02:17,930 اگر قبل از زمانی ما باید این نوع از فن آوری در دسته بعدی از رایانه های شخصی 28 00:02:17,930 --> 00:02:20,510 و مکینتاش به طوری که شما می توانید، در واقع، ارتباط برقرار کردن با آن 29 00:02:20,510 --> 00:02:21,650 به شیوه ای است که می خواهم. 30 00:02:21,650 --> 00:02:24,250 در واقع، آنچه که من فکر کردم من می خواهم انجام دهید، بیش از حد است، من کشیده تا یک تظاهرات کوچک 31 00:02:24,250 --> 00:02:25,860 برنامه ای است که می آید با این نرم افزار می باشد. 32 00:02:25,860 --> 00:02:28,700 بنابراین من سنسور کوچک قرار داده ایم در مقابل از لپ تاپ من. 33 00:02:28,700 --> 00:02:32,420 >> و همانطور که می بینید، آن را در حال حاضر متوجه که دست من است 34 00:02:32,420 --> 00:02:33,400 کنترل آن. 35 00:02:33,400 --> 00:02:37,900 و این همه درخواست می کند swimmingly چیزهای کمی شبیه به این. 36 00:02:37,900 --> 00:02:41,080 اما شما می توانید ببینید که، در واقع، من پنج انگشت وجود دارد. 37 00:02:41,080 --> 00:02:44,270 اگر ما می توانیم آن را به انجام تمام 10، شما می توانید یک پیانو شسته و رفته را تصور کنید 38 00:02:44,270 --> 00:02:45,390 برنامه یا مانند آن. 39 00:02:45,390 --> 00:02:47,820 بنابراین اگر شما می خواهم آمد تا بعد از کلاس امروز و بازی که به عنوان 40 00:02:47,820 --> 00:02:49,720 خوب، شما به استقبال می کنیم. 41 00:02:49,720 --> 00:02:52,930 بنابراین بیشتر در مورد آن به سمت پایان ترم. 42 00:02:52,930 --> 00:02:54,420 >> بنابراین یک زن و شوهر اداری اطلاعیه ها 43 00:02:54,420 --> 00:02:58,690 یکی از بخش های این جمعه در ظهر در cs60.net/section. 44 00:02:58,690 --> 00:03:01,260 که URL در دوره است پیام خصوصی نیز هست. 45 00:03:01,260 --> 00:03:04,010 در عین حال، هر چند، supersections ها روز یکشنبه اولین. 46 00:03:04,010 --> 00:03:07,800 Supersections یک چیز یک بار، زیرا ما مدتی طول می کشد به کار 47 00:03:07,800 --> 00:03:09,470 از که که در آن بخش و در کجا است. 48 00:03:09,470 --> 00:03:12,280 >> بنابراین این آینده یکشنبه، کسی خواهم بود که وجود دارد بخش برای کسانی که راحت تر، 49 00:03:12,280 --> 00:03:14,040 یک بخش برای کسانی راحت تر است. 50 00:03:14,040 --> 00:03:16,110 و کسانی که از شما در جایی در بین خوش آمدید برای رفتن به 51 00:03:16,110 --> 00:03:17,850 یا هر دو و یا نه. 52 00:03:17,850 --> 00:03:19,150 هر دو از این فیلم برداری شود. 53 00:03:19,150 --> 00:03:22,740 آنها در یک سالن بزرگتر از یک بخش به طور معمول خواهد بود. 54 00:03:22,740 --> 00:03:26,110 اما هدف در اینجا این است که شما مجهز برخی از آسایش با مشکل تعیین یک، 55 00:03:26,110 --> 00:03:29,910 با C، با CS50 دستگاه، این آخر هفته، حتی قبل از پیدا کردن خود 56 00:03:29,910 --> 00:03:31,050 انتساب بخش رسمی. 57 00:03:31,050 --> 00:03:34,700 بنابراین شما TF شما و کوچکتر خود را ملاقات گروه از sectionmates در مورد 58 00:03:34,700 --> 00:03:36,350 زمان یک هفته. 59 00:03:36,350 --> 00:03:38,200 >> ساعت اداری (دفتر)، در عین حال، به طور. 60 00:03:38,200 --> 00:03:41,020 آیا امکان استفاده از آنها را امشب و یا فردا شب اگر شما می خواهم. 61 00:03:41,020 --> 00:03:43,460 مشکل مجموعه ای 0 به دلیل در روز جمعه است. 62 00:03:43,460 --> 00:03:46,680 این است یک روز بعد از به طور منظم برنامه ریزی شده پنج شنبه. 63 00:03:46,680 --> 00:03:50,410 اما با مجموعه مشکل 1، شما خواهید دید که شامل برخی از گرم کردن 64 00:03:50,410 --> 00:03:52,770 تمرینات که با شما خود را می توانید خود را گسترش 65 00:03:52,770 --> 00:03:54,660 مهلت پنج شنبه تا جمعه. 66 00:03:54,660 --> 00:03:58,410 مجموعه مشکل 1، در عین حال، اولین در وب سایت البته این آینده 67 00:03:58,410 --> 00:04:02,000 جمعه، اگر شما می خواهم به حلقه با آن را به عنوان من یک بار پس از یک زمان اواخر 68 00:04:02,000 --> 00:04:04,370 جمعه شب در اتاق خود. 69 00:04:04,370 --> 00:04:07,660 >> بنابراین cs50.net/appliance محل است که در آن شما می توانید دستگاه CS50 70 00:04:07,660 --> 00:04:09,040 که ما شروع به استفاده از روز دوشنبه. 71 00:04:09,040 --> 00:04:10,140 ما آن را امروز کمی بیشتر استفاده کنید. 72 00:04:10,140 --> 00:04:14,040 ولی مطمئن باشید که مشکل مجموعه 1 مشخصات شما را از طریق راه رفتن 73 00:04:14,040 --> 00:04:16,490 دقیقا مراحل شما نیاز دارید برای دریافت کنید که به بالا و در حال اجرا است. 74 00:04:16,490 --> 00:04:22,120 پس وقت را در مورد انجام این کار قبل از نگران نباشید Pset 1 اگر شما می خواهم به جای نیست. 75 00:04:22,120 --> 00:04:22,660 >> بسیار خوب. 76 00:04:22,660 --> 00:04:27,180 بنابراین ما در روز دوشنبه در کد منبع نگاه کرد، اما در چارچوب جدید 77 00:04:27,180 --> 00:04:30,895 زبان های برنامه نویسی، یعنی ج و C، بر خلاف خراش، گرافیکی نیست. 78 00:04:30,895 --> 00:04:32,270 این قطعات پازل. 79 00:04:32,270 --> 00:04:34,450 این نحو بیشتر مانند انگلیسی است. 80 00:04:34,450 --> 00:04:37,140 و یک زن و شوهر از مراحل درگیر وجود دارد در واقع نوشتن و در حال اجرا 81 00:04:37,140 --> 00:04:41,650 برنامه در C، چرا که علاوه بر منبع کد شبیه به این، شما نیاز به چیزی 82 00:04:41,650 --> 00:04:42,890 کامپایلر نامیده می شود. 83 00:04:42,890 --> 00:04:46,682 و در شرایط خارج از حرفه یا فن خاصی است، چه یک کامپایلر برای ما انجام می دهید؟ 84 00:04:46,682 --> 00:04:47,650 آره. 85 00:04:47,650 --> 00:04:51,040 >> دانشجو: تبدیل کد که شما به 0s و 1S و نوشتن. 86 00:04:51,040 --> 00:04:51,151 >> دیوید مالان: خوب. 87 00:04:51,151 --> 00:04:53,580 بنابراین آن را تبدیل به کد که ما به 0s و 1S و نوشتن. 88 00:04:53,580 --> 00:04:57,730 این نرم افزار کد منبع به اصطلاح به کد شیء، که دومی به نظر می رسد 89 00:04:57,730 --> 00:04:59,140 چیزی کمی شبیه به این. 90 00:04:59,140 --> 00:05:02,860 و آن را CPU خود، مغز داخل کامپیوتر شما، که به دلیل 91 00:05:02,860 --> 00:05:06,280 افرادی که این کامپیوتر را ایجاد، می دانم آنچه آن توالی 92 00:05:06,280 --> 00:05:07,460 میانگین 0s و 1S. 93 00:05:07,460 --> 00:05:08,640 >> شاید به این معنی نسخه قابل چاپ. 94 00:05:08,640 --> 00:05:10,265 شاید به این معنی علاوه بر این. 95 00:05:10,265 --> 00:05:11,610 شاید به این معنی تفریق. 96 00:05:11,610 --> 00:05:13,350 شاید به این معنی نمایش گرافیک. 97 00:05:13,350 --> 00:05:16,870 الگوهای از پیش تعریف شده از بیت ها وجود دارد که جهان تصمیم گرفته است به معنای 98 00:05:16,870 --> 00:05:17,700 چیزهای خاص. 99 00:05:17,700 --> 00:05:20,760 اما در بیشتر قسمت ها در این دوره، ما را در یک سطح بالاتر کار می کنند و 100 00:05:20,760 --> 00:05:24,180 ما می خواهیم را برای مسلم است که وجود دارد وجود داشته باشد چیزهایی مانند کامپایلرها است که می تواند 101 00:05:24,180 --> 00:05:27,670 ایجاد تابع کد منبع ما در راه ما قصد داریم. 102 00:05:27,670 --> 00:05:31,660 >> بنابراین برنامه ما برای اولین بار نوشت: در هفته گذشته و سپس شروع به پورت، پس به 103 00:05:31,660 --> 00:05:33,920 صحبت می کنند، به C این گذشته دوشنبه، این بود. 104 00:05:33,920 --> 00:05:35,700 وقتی پرچم سبز کلیک، سلام. 105 00:05:35,700 --> 00:05:37,430 این، البته، نوشته شده در خراش. 106 00:05:37,430 --> 00:05:40,710 و من ادعا کرد که معادل برنامه در C کمی به نظر می رسید 107 00:05:40,710 --> 00:05:41,520 چیزی شبیه به این. 108 00:05:41,520 --> 00:05:45,050 >> بنابراین آنچه که من فکر کردم ما در ابتدا انجام شده است، اجازه دهید کسی را دست انداختن جدا آنچه به نظر می رسد، در ابتدا 109 00:05:45,050 --> 00:05:48,790 مسلما، نگاه، نسبتا محرمانه نحو، اما شما شروع به اطلاع 110 00:05:48,790 --> 00:05:50,160 الگوهای کاملا به سرعت. 111 00:05:50,160 --> 00:05:53,770 ما همچنین می خواهیم امروز انجام شده است شما با یک مدل ذهنی برای برخی 112 00:05:53,770 --> 00:05:57,280 متعارف، برخی از ساختارهای استاندارد در برنامه نویسی. 113 00:05:57,280 --> 00:06:00,420 و سپس ما در واقع می خواهیم دست ما را دریافت کنید کثیف با برخی از نمونه های نیز. 114 00:06:00,420 --> 00:06:04,140 >> بنابراین برای کسانی از شما راحت تر، درک کنند که این هفته و سپس بعدی 115 00:06:04,140 --> 00:06:05,940 هفته خوبی ممکن است یک بیت از بررسی. 116 00:06:05,940 --> 00:06:08,810 اما به ویژه هنگامی که نسخه هکر مشکل مجموعه 1 می رود در 117 00:06:08,810 --> 00:06:12,330 وب سایت دوره در روز جمعه، من فکر می کنم شما باید دریابید که حتی به عنوان شما را در پر 118 00:06:12,330 --> 00:06:15,390 برخی از ترک تحصیل بیش از یک یا دو هفته آینده، شما شروع به هر چه بیشتر 119 00:06:15,390 --> 00:06:18,410 به چالش کشیده و برخورد چیزهای جدید و جدیدتر. 120 00:06:18,410 --> 00:06:21,310 >> بنابراین اجازه دهید کسی را دست انداختن این برنامه از هم جدا چند خط در یک زمان. 121 00:06:21,310 --> 00:06:24,140 در بسیار بالا، ما باید چه فنی نامیده می شود 122 00:06:24,140 --> 00:06:25,950 رهنمود پیش پردازنده. 123 00:06:25,950 --> 00:06:30,510 این فقط یک خط از کد را که می گوید که شامل محتویات یک فایل، 124 00:06:30,510 --> 00:06:35,080 نام استاندارد I / N، ورودی استاندارد - یا عرض پوزش، استاندارد I / O، استاندارد 125 00:06:35,080 --> 00:06:38,670 ورودی / خروجی، ساعت، در داخل از برنامه خود من. 126 00:06:38,670 --> 00:06:41,670 >> بنابراین به عبارت دیگر، اگر من این را نوشتهاید برنامه با یک ویرایشگر متن ساده مانند 127 00:06:41,670 --> 00:06:45,260 نرمافزاری gedit، معادل ساده تر از چیزی مانند مایکروسافت ورد، که 128 00:06:45,260 --> 00:06:50,970 آموزش، # شامل stdio.h، فقط رفتن به کامپایلر برای گفتن، گرفتن 129 00:06:50,970 --> 00:06:56,080 محتویات آن فایل های دیگر، stdio.h، و آنها را به حق در اینجا paste کنید. 130 00:06:56,080 --> 00:06:57,090 >> در حال حاضر، چرا من به مراقبت؟ 131 00:06:57,090 --> 00:07:01,850 چیزی که ما ادعا می کنند در داخل این فایل به نام stdio.h، است که ذخیره شده 132 00:07:01,850 --> 00:07:05,490 جایی در هارد درایو من است، یا در این مورد، جایی در دستگاه CS50؟ 133 00:07:05,490 --> 00:07:06,635 شخص دیگری آن را برای من قرار داده است. 134 00:07:06,635 --> 00:07:09,910 اما آنچه در آن است؟ 135 00:07:09,910 --> 00:07:13,020 >> آره، پس از آن اعلام یک تابع به نام چون printf. 136 00:07:13,020 --> 00:07:17,400 بنابراین چون printf این تابع که به یاد می آورد نمایش کلمات و شخصیت ها و 137 00:07:17,400 --> 00:07:20,160 تعداد در صفحه نمایش در مناقصه من. 138 00:07:20,160 --> 00:07:21,220 اما من آن را نوشتن نیست. 139 00:07:21,220 --> 00:07:22,230 CS50 آن را نوشتن نیست. 140 00:07:22,230 --> 00:07:26,990 کسی سال پیش آن را نوشت، و آنها اساسا به ما دستور غذا برای آن 141 00:07:26,990 --> 00:07:29,110 در یک فایل به نام stdio.h. 142 00:07:29,110 --> 00:07:33,240 به طوری که خط اول فقط به من می دهد دسترسی به توابع است که شخص دیگری 143 00:07:33,240 --> 00:07:36,500 نوشت: سال پیش، در میان که چون printf هستند. 144 00:07:36,500 --> 00:07:39,450 >> در حال حاضر، خط بعدی من قصد دارم به موج من دست در، حداقل تا هفته آینده. 145 00:07:39,450 --> 00:07:43,620 اما در حال حاضر می دانیم که اعضای هیات تحریریه اصلی (خالی) اساسا معادل این 146 00:07:43,620 --> 00:07:46,310 قطعه پازل زرد پرچم سبز کلیک. 147 00:07:46,310 --> 00:07:49,510 جهان، سال پیش، تصمیم گرفت که اگر شما در حال نوشتن یک برنامه در 148 00:07:49,510 --> 00:07:53,150 نام زبان C، شما شروع به برنامه خود را با یک خط 149 00:07:53,150 --> 00:07:54,410 است که به نظر می رسد مانند آن. 150 00:07:54,410 --> 00:07:57,650 در فقط در مورد زمان یک هفته، آن را به مفهوم بین المللی است، باطل است. 151 00:07:57,650 --> 00:08:00,840 اما در حال حاضر، فقط از آن فکر می کنم به عنوان این قطعه پازل زرد است. 152 00:08:00,840 --> 00:08:04,550 >> حالا آینده، ما باید آکولاد به دنبال توسط فرفری یکی دیگر از بریس نزدیک، 153 00:08:04,550 --> 00:08:05,240 پس به صحبت می کنند. 154 00:08:05,240 --> 00:08:07,430 و ما می خواهیم از این در سراسر برنامه ها در C، و همچنین به عنوان 155 00:08:07,430 --> 00:08:08,930 جاوا اسکریپت و پی اچ پی. 156 00:08:08,930 --> 00:08:11,345 و این فقط در محفظهای قرار دادن خطوط مربوط به کد. 157 00:08:11,345 --> 00:08:14,600 آکولاد باز در اصل می گوید، در اینجا می آید برخی از کد. 158 00:08:14,600 --> 00:08:17,590 و آکولاد بسته است که زاویه دار در جهت دیگر، فقط 159 00:08:17,590 --> 00:08:19,920 بدان معنی است، که آن را برای کد مربوطه. 160 00:08:19,920 --> 00:08:22,970 >> بنابراین خط آبدار اولین بار از این برنامه گذشته، چون printf، 161 00:08:22,970 --> 00:08:25,080 نقل قول نقل قول را تمام کردن، سلام جهان. 162 00:08:25,080 --> 00:08:30,670 و من به نام چیزی بین به نقل از چه زمان گذشته است؟ 163 00:08:30,670 --> 00:08:31,285 پس از آن رشته است. 164 00:08:31,285 --> 00:08:35,309 و یک رشته فقط متخصصین و اهل فن است مدت دنباله 165 00:08:35,309 --> 00:08:37,169 حرف، یک کلمه، یک عبارت. 166 00:08:37,169 --> 00:08:39,380 حتی یک نامه ساده! دو نقل شده است. 167 00:08:39,380 --> 00:08:41,840 اما این دنباله ای از صفر یا شخصیت های بیشتر. 168 00:08:41,840 --> 00:08:43,650 >> ممیزوارونه-N، هر چند، به نظر می رسد کمی عجیب و غریب است. 169 00:08:43,650 --> 00:08:46,290 اما آن را به سادگی به معنای چیزی ساده به کامپیوتر. 170 00:08:46,290 --> 00:08:48,060 بک اسلش-N چیست؟ 171 00:08:48,060 --> 00:08:48,570 خط جدید. 172 00:08:48,570 --> 00:08:52,490 به طوری که فقط ترتیب و توالی خاص شخصیت های که جهان تصمیم گرفته است 173 00:08:52,490 --> 00:08:56,880 به معنای قرار دادن یک خط شکسته سمت راست وجود دارد، زیرا کامپایلر واقع خواهد شد 174 00:08:56,880 --> 00:09:02,280 اشتباه، معمولا، اگر شما، بسیار قابل درک است، اما به اشتباه، فقط 175 00:09:02,280 --> 00:09:04,570 شروع به ضربه را وارد کنید برای قرار دادن خطوط جدید در کد شما. 176 00:09:04,570 --> 00:09:07,150 شما باید کمی بیشتر صریح با بک اسلش-N. 177 00:09:07,150 --> 00:09:10,540 >> و خواهیم دید که دیگر مانند چند وجود دارد الگوهای کاراکترهای خاص. 178 00:09:10,540 --> 00:09:14,340 به عنوان مثال، اگر شما می خواهید خود را به اجازه ذهن سرگردان به صورت کرنر، 179 00:09:14,340 --> 00:09:18,080 فرض کنید که من می خواستم برای چاپ نقل قول دوگانه بر روی صفحه نمایش برای 180 00:09:18,080 --> 00:09:21,840 به هر دلیلی، که به نظر می رسد می شود کمی پر دردسر است، درست است؟ 181 00:09:21,840 --> 00:09:24,990 چرا که اگر من یک نقل قول دوگانه در قرار داده است وسط "سلام، جهان،" به هر 182 00:09:24,990 --> 00:09:30,120 دلیل، چرا که به نظر می رسد به طور بالقوه مشکل ساز است؟ 183 00:09:30,120 --> 00:09:32,180 آن شکند رشته. 184 00:09:32,180 --> 00:09:34,700 >> کامپایلر تنها یک برنامه است. 185 00:09:34,700 --> 00:09:37,210 برنامه مانند یک کامپایلر فقط رفتن است به خواندن کد بالا به پایین، 186 00:09:37,210 --> 00:09:37,990 از چپ به راست. 187 00:09:37,990 --> 00:09:41,850 و اگر می بیند سه کوتیشن به جای دو، آن را نمی دانم 188 00:09:41,850 --> 00:09:45,210 اگر منظورتان این است که چیزی که به سمت چپ باید رشته، و یا چیزی که به 189 00:09:45,210 --> 00:09:46,570 در سمت راست، و یا همه چیز. 190 00:09:46,570 --> 00:09:50,560 این مبهم است، و به همین ترتیب نمونه کامپایلر انجام دهید این است که فقط از دمدمی مزاجی، 191 00:09:50,560 --> 00:09:53,710 و شما برخی از پیام خطا بدهد، و شما را با مشکل برخورد. 192 00:09:53,710 --> 00:09:58,120 >> بنابراین با توجه به این که بک اسلش-N به معنی جدید خط، آنچه را که غرایز شما در حال حاضر 193 00:09:58,120 --> 00:10:02,610 شروع به اگر شما می خواهید که شامل چیزی غیر عادی مانند یک دو 194 00:10:02,610 --> 00:10:06,210 نقل قول داخل از این در غیر این صورت به نقل از رشته؟ 195 00:10:06,210 --> 00:10:07,640 اعلان دو ممیزوارونه. 196 00:10:07,640 --> 00:10:09,630 و بنابراین ما این را ببینید نوع از الگوی بیش از حد. 197 00:10:09,630 --> 00:10:12,490 >> اگر شما می خواهید برای انجام کاری کمی عجیب و غریب، شما باید دریابید که 198 00:10:12,490 --> 00:10:15,060 راه حل اغلب به دنبال یک الگو، و بک اسلش 199 00:10:15,060 --> 00:10:17,150 بیانگر گزینه ای است که پاسخ دادن به توالی فرار از. 200 00:10:17,150 --> 00:10:20,320 و آن را فقط به معنای چیزی خاص که ما نیاز به نمایندگی در 201 00:10:20,320 --> 00:10:21,060 راه متفاوت است. 202 00:10:21,060 --> 00:10:23,830 همانطور که برای چگونه می توانم به شما نشان دهنده یک بک اسلش، خب، ما به 203 00:10:23,830 --> 00:10:24,550 دوباره به آن. 204 00:10:24,550 --> 00:10:26,930 اما پاسخ، بیش از حد است، در واقع کمی آشکار است. 205 00:10:26,930 --> 00:10:31,080 >> پس اجازه دهید در حال حاضر معرفی برخی دیگر سازه های برنامه نویسی 206 00:10:31,080 --> 00:10:31,915 که شما در ابتدا بشه. 207 00:10:31,915 --> 00:10:34,790 شما احتمالا برای اعطا گرفته در حال حاضر اگر شما در حال حاضر به شیرجه 208 00:10:34,790 --> 00:10:36,060 مشکل مجموعه 0. 209 00:10:36,060 --> 00:10:40,950 اما اجازه دهید در حال حاضر به نحو در C معرفی برای این در غیر این صورت نسبتا بصری 210 00:10:40,950 --> 00:10:42,300 ایده ها، حداقل برخی از آنها. 211 00:10:42,300 --> 00:10:45,570 >> بنابراین این مفهوم بیماری و یا یک شاخه، در حالی که قبلا ما 212 00:10:45,570 --> 00:10:49,330 آن را با کد که نگاه نمایندگی مثل این در سمت چپ، در ابتدا - 213 00:10:49,330 --> 00:10:52,200 اگر x کمتر از Y است، پس از آن می گویند - 214 00:10:52,200 --> 00:10:56,760 به جای در حال حاضر در C - اجازه دهید من با سنگ تیز کردن در ساده ترین حالت - 215 00:10:56,760 --> 00:11:01,235 ما در حال به سادگی رفتن به می گویند، اگر، باز پرانتز، چیزی درست است - 216 00:11:01,235 --> 00:11:04,190 عبارت بولی برای رفتن جایی که من شرط را گفت - 217 00:11:04,190 --> 00:11:08,170 پرانتز بسته، و سپس کاری را که در داخل آن آکولاد. 218 00:11:08,170 --> 00:11:11,020 >> بنابراین در اینجا، بیش از حد، آکولاد نوع مانند خراش 219 00:11:11,020 --> 00:11:12,460 قطعات پازل به شکل U است. 220 00:11:12,460 --> 00:11:14,890 آنچه در داخل این آکولاد است. 221 00:11:14,890 --> 00:11:16,790 در این مورد، بریده بریده بریده بریده. 222 00:11:16,790 --> 00:11:19,720 و توجه کنید این است که رو به جلو بریده بریده، نه یک بک اسلش. 223 00:11:19,720 --> 00:11:21,440 اسلش، فوروارد اسلش، برای کسانی که برنامه ریزی کرده ایم 224 00:11:21,440 --> 00:11:23,370 قبل از آن، فقط بدان معناست - 225 00:11:23,370 --> 00:11:24,190 این فقط یک نظر است. 226 00:11:24,190 --> 00:11:26,630 یک «دیدگاه» است یک خط نیست از کد، فی نفسه. 227 00:11:26,630 --> 00:11:30,200 این یک خط از زبان انگلیسی که شما، انسان، خود را برای نوشته 228 00:11:30,200 --> 00:11:33,540 شاید شما یادآوری برای انجام کاری، به به خودتان توضیح دهید، برای توضیح به 229 00:11:33,540 --> 00:11:35,260 شخص دیگری، کد خود را در حال انجام است. 230 00:11:35,260 --> 00:11:37,050 این یک نظر توصیفی فقط. 231 00:11:37,050 --> 00:11:40,880 >> در حال حاضر، البته، ما می توانیم دو طرفه چنگال را در جاده فقط با انجام این کار، 232 00:11:40,880 --> 00:11:43,930 سه راه چنگال در جاده انجام شده توسط و اگر شما این ادامه 233 00:11:43,930 --> 00:11:47,570 الگو، شما می توانید چهار راه، پنج راه، چنگال شش راه در جاده اگر 234 00:11:47,570 --> 00:11:50,150 شما نیاز به رسیدگی، در واقع، که در بسیاری از شرایط. 235 00:11:50,150 --> 00:11:52,010 و پس از آن متوجه موازی در اینجا - 236 00:11:52,010 --> 00:11:55,070 if (شرط)، دیگری اگر (شرط)، و تنها کسی که کمی 237 00:11:55,070 --> 00:11:58,010 عجیب و غریب است که آخرین، درست است که دیگری. 238 00:11:58,010 --> 00:12:01,170 اما باز هم، این یکسان است، مفهومی، به آنچه که ما انجام داده ایم 239 00:12:01,170 --> 00:12:04,690 در حال حاضر، حتی اگر این نحو خواهد شد را کمی استفاده قرار گرفتن به. 240 00:12:04,690 --> 00:12:07,730 >> در حال حاضر، در این مثال، وجود دارد برخی دیگر از نحو عجیب و غریب. 241 00:12:07,730 --> 00:12:11,220 ما می بینیم چون printf دیگر، پرانتز باز، و پرانتز نزدیک. 242 00:12:11,220 --> 00:12:13,190 و داخل وجود دارد یک رشته نقل. 243 00:12:13,190 --> 00:12:17,060 پرانتز، در زمینه چون printf، در سمت چپ بروید 244 00:12:17,060 --> 00:12:18,160 و راست از چه؟ 245 00:12:18,160 --> 00:12:22,190 چه چیزی توصیف می کنیم که به نقل از رشته و به طور کلی؟ 246 00:12:22,190 --> 00:12:23,320 >> پس از آن استدلال است. 247 00:12:23,320 --> 00:12:26,620 هر زمان که شما باید یک تابع، مانند چون printf، و سپس یک پرانتز باز و 248 00:12:26,620 --> 00:12:30,330 پرانتز نزدیک و چیزی در آن، آن است که آیا یک رشته، یا 249 00:12:30,330 --> 00:12:34,420 عدد صحیح، و یا هر چیز دیگری، چیزی که در بین این پرانتز نامیده می شود 250 00:12:34,420 --> 00:12:35,110 استدلال. 251 00:12:35,110 --> 00:12:37,910 >> و استدلال فقط بر رفتار تابع. 252 00:12:37,910 --> 00:12:39,990 در این مورد، آن را بسیار روشن. 253 00:12:39,990 --> 00:12:44,480 X 00:12:47,720 و چون printf در حال رفتن به که دقیقا نسخه قابل چاپ. 255 00:12:47,720 --> 00:12:51,590 از آنجا که قطعا، شخص سال پیش که چون printf اجرا تا به حال هیچ ایده 256 00:12:51,590 --> 00:12:55,000 چیزی است که ما جانشینان انسان بودند رفتن به استفاده از چون printf برای. 257 00:12:55,000 --> 00:12:58,610 به همین دلیل استدلال وجود دارد، به تأثیر بر رفتار پس از یک تابع 258 00:12:58,610 --> 00:12:59,450 نوشته شده است. 259 00:12:59,450 --> 00:13:00,780 >> در حال حاضر، عبارت بولی باشد. 260 00:13:00,780 --> 00:13:02,470 ما قبل از اینکه در ابتدا این را دیده ام. 261 00:13:02,470 --> 00:13:06,680 به نظر می رسد در C شما همچنین می توانید "و یا" آنها را با هم، پس به صحبت می کنند. 262 00:13:06,680 --> 00:13:10,930 دو میله عمودی بدان معنی است که این بلوک از کد، این انجام این کار، 263 00:13:10,930 --> 00:13:15,350 اجرا اگر شرط اول درست است یا شرط دوم درست است. 264 00:13:15,350 --> 00:13:17,710 و حتی اگر شما ممکن است انجام داده اند نه این در ابتدا، شما در واقع می تواند 265 00:13:17,710 --> 00:13:20,580 انجام این کار در ابتدا، و شما همچنین می توانید بیان خود را متفاوت - 266 00:13:20,580 --> 00:13:25,300 اگر شرط اول و دوم شرط درست است، سپس آنچه 267 00:13:25,300 --> 00:13:27,160 در داخل آکولاد. 268 00:13:27,160 --> 00:13:31,210 >> و فقط به عنوان یک کنار، دلیل آن علامت "دو و دو برابر 269 00:13:31,210 --> 00:13:34,610 نوار عمودی، ما را در نهایت ببینید که یک نوار عمودی و یک 270 00:13:34,610 --> 00:13:38,710 تک & در واقع مختلف داشته در معنا در C. بنابراین در حال حاضر، 271 00:13:38,710 --> 00:13:41,840 که تقلید از نمادها عمدی است. 272 00:13:41,840 --> 00:13:45,070 >> بنابراین معرفی دهید، به طور خلاصه، این بیت دیگر از نحو. 273 00:13:45,070 --> 00:13:48,940 این کاملا به حمل بیش از ابتدا، اما من ادعا می کنند که من می توانم 274 00:13:48,940 --> 00:13:55,190 پیاده سازی مفهوم دیگری، اگر دیگری، اگر دیگری است، اگر دستور دیگری با استفاده از 275 00:13:55,190 --> 00:13:56,760 چیزی به نام دستور switch. 276 00:13:56,760 --> 00:14:00,820 و تنها دلیل این واقعا وجود دارد است که فقط به شما، برنامه نویس، 277 00:14:00,820 --> 00:14:05,470 کمی متفاوت از راه حل برخی از راه حلی برای مشکلات خود، حتی اگر منطقی آن را 278 00:14:05,470 --> 00:14:07,340 به شما هیچ قابلیت های جدید نمی دهد. 279 00:14:07,340 --> 00:14:08,530 >> که به معنی این من. 280 00:14:08,530 --> 00:14:13,330 هنگامی که به شما می گویند سوئیچ، و سپس به فضا، و سپس یک جفت از پرانتزها، در داخل 281 00:14:13,330 --> 00:14:14,570 می رود که بیان - 282 00:14:14,570 --> 00:14:18,010 و این ممکن است کمی غیر واضح در ابتدا، اما این استدلال نیست، 283 00:14:18,010 --> 00:14:20,680 از لحاظ فنی، چون سوئیچ یک تابع نیست. 284 00:14:20,680 --> 00:14:24,230 بنابراین در حال حاضر، فقط فرض کنیم که ما در حال استفاده از پرانتز در مکان های مختلف 285 00:14:24,230 --> 00:14:25,250 به دلایل مختلف. 286 00:14:25,250 --> 00:14:29,310 >> بنابراین سوئیچ در بیان معنی است که من می تواند قرار دادن یک متغیر در داخل از آن 287 00:14:29,310 --> 00:14:31,350 پرانتز که در آن بیان می گوید. 288 00:14:31,350 --> 00:14:33,090 و سپس در صورتی که متغیر - 289 00:14:33,090 --> 00:14:35,400 فرض کنید آن را به نام x، و آن فقط یک عدد صحیح - 290 00:14:35,400 --> 00:14:38,900 من پس از آن میتوانید در اسلاید من شمردن در اینجا چیزی شبیه به این. 291 00:14:38,900 --> 00:14:41,690 اگر x متغیر من است، و من می خواهم برای انجام کاری اگر x 292 00:14:41,690 --> 00:14:43,480 برابر با 1، من می تواند انجام دهد. 293 00:14:43,480 --> 00:14:46,660 >> اگر من جای می خواهید برای انجام کاری اگر x 2، من می تواند انجام دهد. 294 00:14:46,660 --> 00:14:50,390 دیگری، اگر من می خواهم به انجام کاری دیگری به طور کامل، من می توانم به صورت پیش فرض در 295 00:14:50,390 --> 00:14:52,750 که در این صورت من انجام این کار چیز دیگری است. 296 00:14:52,750 --> 00:14:58,730 بنابراین در این معنا، آن را معادل اگر x برابر برابر با 1، دیگری اگر دیگری، 297 00:14:58,730 --> 00:15:01,150 اما من اشاره کن فقط به خاطر اینکه ما دوباره آن را ببینید. 298 00:15:01,150 --> 00:15:03,720 اما در حال حاضر، فقط می دانم که در آن وجود دارد. 299 00:15:03,720 --> 00:15:04,220 >> بسیار خوب. 300 00:15:04,220 --> 00:15:07,660 بنابراین این دو کمی بیشتر پیچیده در نگاه اول، اما آنها 301 00:15:07,660 --> 00:15:09,385 چیزی بسیار آسان است. 302 00:15:09,385 --> 00:15:14,410 حلقه for در C یک تکه از کد است که فقط کاری دوباره و 303 00:15:14,410 --> 00:15:15,330 دوباره و دوباره. 304 00:15:15,330 --> 00:15:17,590 و تنها چیزی که آزار دهنده است در مورد آن است است که آن را کمی مرموز 305 00:15:17,590 --> 00:15:21,380 به خودتان بیان در این دوره ای الگوی، اما جهان استاندارد در 306 00:15:21,380 --> 00:15:22,450 به صورت زیر است. 307 00:15:22,450 --> 00:15:25,760 >> هنگامی که شما با استفاده از یک حلقه for، تو یک جفت پرانتز دوباره. 308 00:15:25,760 --> 00:15:27,570 و متوجه دو سمیکالن در آن وجود دارد. 309 00:15:27,570 --> 00:15:34,380 این دو سمیکالن جداگانه سه عبارات مختلف در داخل 310 00:15:34,380 --> 00:15:35,020 پرانتز. 311 00:15:35,020 --> 00:15:37,170 یکی به اصطلاح initializations است. 312 00:15:37,170 --> 00:15:38,830 یکی از شرایط اصطلاح. 313 00:15:38,830 --> 00:15:40,210 و یکی به اصطلاح به روز رسانی است. 314 00:15:40,210 --> 00:15:43,240 >> در انتزاعی نگاه کرد، این است که کاملا غیر آشکار است، بنابراین اجازه دهید نگاهی 315 00:15:43,240 --> 00:15:44,630 در مثال بتن. 316 00:15:44,630 --> 00:15:46,720 در ابتدا، ما تا به حال یک بلوک تکرار. 317 00:15:46,720 --> 00:15:50,670 و این بلوک گفت تکرار 10 بار، می گویند "سلام جهان است." اجازه دهید من برای ادعا می کنند 318 00:15:50,670 --> 00:15:53,810 در حال حاضر، و ما را به این دوباره، و این، بیش از حد، بیشتر آشنا 319 00:15:53,810 --> 00:15:57,345 شما قبل از اینکه طولانی، معادل C کد می توان گفت به این - 320 00:15:57,345 --> 00:16:02,320 یک بیانیه و یک فضا، یک جفت پرانتز، متوجه سمیکالن در 321 00:16:02,320 --> 00:16:05,730 وجود دارد، که سه مجزا جدا چیزها، مقدار دهی اولیه، 322 00:16:05,730 --> 00:16:07,320 شرایط، و به روز رسانی. 323 00:16:07,320 --> 00:16:08,840 >> و حدس می زنم چه برای اولین بار انجام شده است. 324 00:16:08,840 --> 00:16:10,690 اعضای هیات من = 0. 325 00:16:10,690 --> 00:16:15,120 در شرایط خارج از حرفه یا فن خاصی خشن، چه که کار را برای ما، احتمالا؟ 326 00:16:15,120 --> 00:16:15,590 بنابراین آره. 327 00:16:15,590 --> 00:16:19,630 این اعلام یک متغیر به نام من، و آن را به چه مقدار آن؟ 328 00:16:19,630 --> 00:16:20,220 0. 329 00:16:20,220 --> 00:16:24,280 پس از آن ایجاد یک متغیر به نام من، ذخیره سازی 0 ارزش در آن است. 330 00:16:24,280 --> 00:16:26,420 این به اصطلاح مقدار دهی اولیه است. 331 00:16:26,420 --> 00:16:29,360 >> همه حق است، در حال حاضر من قبل از ادعا که چیزی وسط، من 332 00:16:29,360 --> 00:16:31,760 <10، شرط است. 333 00:16:31,760 --> 00:16:32,730 پس چه انجام شده است؟ 334 00:16:32,730 --> 00:16:36,560 خب، چه حلقه می کند هنگامی که یک برنامه با یک حلقه for اجرا شده است، 335 00:16:36,560 --> 00:16:41,050 هر بار که کامپیوتر اجرا می شود از طریق این حلقه، بالا به پایین، به بالا 336 00:16:41,050 --> 00:16:43,740 پایین، درست مثل شما بچه ها بود که شمارش خودتان و نشستن، 337 00:16:43,740 --> 00:16:47,090 دوباره و دوباره و دوباره کامپیوتر در حال رفتن است 338 00:16:47,090 --> 00:16:48,560 بررسی کنید که شرایط. 339 00:16:48,560 --> 00:16:51,140 و اگر من کمتر از 10 است، آن را خواهید آن را دوباره انجام دهید. 340 00:16:51,140 --> 00:16:53,100 اگر من کمتر از 10 است، آن را خواهید آن را دوباره انجام دهید. 341 00:16:53,100 --> 00:16:55,030 اگر من کمتر از ده، آن را خواهید آن را دوباره انجام دهید. 342 00:16:55,030 --> 00:16:57,330 به طوری که به نظر می رسد نشان می دهد که امیدوارم من در حال تغییر است. 343 00:16:57,330 --> 00:16:59,010 در غیر این صورت، ما می خواهم یک حلقه بی نهایت داشته باشد. 344 00:16:59,010 --> 00:17:02,590 و در واقع، من در حال تغییر است، زیرا آخرین چیزی که پس از نقطه و ویرگول بدین شکل وجود دارد 345 00:17:02,590 --> 00:17:05,569 نحو تا حدودی مرموز من + + است. 346 00:17:05,569 --> 00:17:07,630 اما کسانی از شما که انجام داده ام قبل، این حالت فقط بدان معناست 347 00:17:07,630 --> 00:17:08,609 کاملا به سادگی چه؟ 348 00:17:08,609 --> 00:17:09,730 >> دانش آموزان: قبل [INTERPOSING صدای]. 349 00:17:09,730 --> 00:17:10,740 >> دیوید مالان: اضافه کردن 1 به من. 350 00:17:10,740 --> 00:17:11,819 افزایش من. 351 00:17:11,819 --> 00:17:13,910 بنابراین ما شاهد پازل خراش قطعه برای آن، در واقع. 352 00:17:13,910 --> 00:17:18,230 این مثل من + + است، اما به نظر نمی آید فقط معنی، کاملا به سادگی، افزایش 353 00:17:18,230 --> 00:17:24,040 ارزش I 1 هر زمان که شما این کار را. 354 00:17:24,040 --> 00:17:26,910 تا به معنای واقعی کلمه، شما شروع به مقدار دهی اولیه من به 0. 355 00:17:26,910 --> 00:17:29,520 بعد از آن شما وضعیت خود را بررسی کنید. 356 00:17:29,520 --> 00:17:31,070 0 کمتر از 10 است؟ 357 00:17:31,070 --> 00:17:31,730 بله. 358 00:17:31,730 --> 00:17:32,910 ما را از طریق حلقه. 359 00:17:32,910 --> 00:17:35,150 >> چیزی که بعد از من ادعا کامپیوتر رفتن به انجام آن را در رفتن 360 00:17:35,150 --> 00:17:35,910 من به افزایش است. 361 00:17:35,910 --> 00:17:37,080 بنابراین من در حال حاضر 1. 362 00:17:37,080 --> 00:17:37,940 این چک وضعیت. 363 00:17:37,940 --> 00:17:39,290 1 کمتر از 10 است؟ 364 00:17:39,290 --> 00:17:39,930 البته. 365 00:17:39,930 --> 00:17:41,030 پس از آن دوباره. 366 00:17:41,030 --> 00:17:43,580 سپس آن را افزایش + + تا 2. 367 00:17:43,580 --> 00:17:44,610 2 کمتر از 10 است؟ 368 00:17:44,610 --> 00:17:45,230 بله. 369 00:17:45,230 --> 00:17:46,670 و دوباره و دوباره و دوباره. 370 00:17:46,670 --> 00:17:50,070 و در نهایت، به دلیل plussing به علاوه، ما به من برابر است با 10. 371 00:17:50,070 --> 00:17:51,675 10 کمتر از 10 است؟ 372 00:17:51,675 --> 00:17:52,990 خب، بدیهی نیست. 373 00:17:52,990 --> 00:17:55,320 و این نقطه که در آن برای حلقه متوقف می شود. 374 00:17:55,320 --> 00:17:58,320 و اگر شما کد بیشتر در مورد صفحه نمایش پایین، کامپیوتر 375 00:17:58,320 --> 00:18:01,620 درآمد حاصل از اجرای این کد به جای. 376 00:18:01,620 --> 00:18:05,380 >> بنابراین دوباره، حتی اگر این است که رفتن به نگاه و احساس کمی عجیب و غریب در 377 00:18:05,380 --> 00:18:07,830 برای اولین بار، قطعا برای کسانی از شما که هرگز قبل از برنامه ریزی شده، آن را 378 00:18:07,830 --> 00:18:11,640 به معنای واقعی کلمه را کاهش می دهد مفهومی به آن چه که در غیر این صورت بسیار 379 00:18:11,640 --> 00:18:14,330 پازل سرراست قطعه در ابتدا. 380 00:18:14,330 --> 00:18:19,130 >> همه حق است، به من وعده داده است که وجود دارد می خواهم شود سایر آنالوگ در ابتدا است. 381 00:18:19,130 --> 00:18:20,060 این یکی بیش از حد وجود دارد. 382 00:18:20,060 --> 00:18:21,700 و ما این زمان به طور خلاصه آخرین بشه. 383 00:18:21,700 --> 00:18:23,530 اما به یاد داشته باشید برای همیشه لطفا برای مسدود در ابتدا؟ 384 00:18:23,530 --> 00:18:25,490 آن را فقط به چیزی برای همیشه لطفا برای؟ 385 00:18:25,490 --> 00:18:27,470 من ادعا کردم که شما می توانید پیاده سازی این در این راه. 386 00:18:27,470 --> 00:18:29,740 و شما در واقع می توانید این اجرای در یک دسته از راه های مختلف. 387 00:18:29,740 --> 00:18:34,260 >> اما حلقه در حالی که فقط یک متفاوت است راه در C را بیان کنید. 388 00:18:34,260 --> 00:18:37,080 در پایان روز، شما نمی تواند انجام دهد هر چیزی را با یک حلقه در حالی که شما 389 00:18:37,080 --> 00:18:38,360 می توانید با یک حلقه نیست. 390 00:18:38,360 --> 00:18:41,430 به طوری که آنها در پایان هستید روز عملکرد همان. 391 00:18:41,430 --> 00:18:43,840 اما آن را اجازه می دهد تا شما را به خودتان بیان کمی متفاوت در 392 00:18:43,840 --> 00:18:44,850 به صورت زیر است. 393 00:18:44,850 --> 00:18:49,720 >> با استفاده از حلقه در حالی که، آن چیزی است که در پرانتز که دوباره چک شده و 394 00:18:49,720 --> 00:18:51,050 دوباره و دوباره. 395 00:18:51,050 --> 00:18:55,100 و به محض که عبارت نادرست است، سپس حلقه متوقف می شود اجرای، 396 00:18:55,100 --> 00:18:57,890 و کامپیوتر ادامه اجرا هر کد دیگر شما 397 00:18:57,890 --> 00:18:59,230 را در فایل شما است. 398 00:18:59,230 --> 00:19:02,180 >> اما آنچه جالب است در اینجا این است که من به معنای واقعی کلمه تایپ درست است. 399 00:19:02,180 --> 00:19:06,680 و درست یک نوع مقدار بولی است، ارزش درست یا نادرست است. 400 00:19:06,680 --> 00:19:09,750 پس واقعی ممکن است تا کنون تبدیل FALSE اگر من به معنای واقعی کلمه 401 00:19:09,750 --> 00:19:11,970 آن را به برنامه من hard-coded بودن؟ 402 00:19:11,970 --> 00:19:12,470 بنابراین هیچ. 403 00:19:12,470 --> 00:19:13,730 این کمی عجیب و غریب است که من این کار. 404 00:19:13,730 --> 00:19:15,190 اما درست درست است. 405 00:19:15,190 --> 00:19:16,320 هیچ به علاوه plussing وجود دارد. 406 00:19:16,320 --> 00:19:17,820 بدون استفاده از متغیر در اینجا وجود دارد. 407 00:19:17,820 --> 00:19:22,740 بنابراین چون من hard-coded بودن در حالی که درست است، این حلقه همیشه برای ارزیابی 408 00:19:22,740 --> 00:19:24,090 دوباره و دوباره و دوباره. 409 00:19:24,090 --> 00:19:27,660 >> بنابراین جهان سلام چند بار است رفتن به چاپ بر روی صفحه نمایش؟ 410 00:19:27,660 --> 00:19:28,170 برای همیشه لطفا برای. 411 00:19:28,170 --> 00:19:31,980 تعداد نامحدود از زمان تا قالب های باتری و یا برخی دیگر خارجی 412 00:19:31,980 --> 00:19:32,730 رویداد اتفاق می افتد. 413 00:19:32,730 --> 00:19:35,880 پس این است که احتمالا بهترین برنامه برای نوشتن، چرا که در صورتی که کاربر 414 00:19:35,880 --> 00:19:38,660 می توانید برنامه خود را هرگز ترک، آن را احتمالا آنچه شما در نظر گرفته شده. 415 00:19:38,660 --> 00:19:41,070 >> اما گاهی اوقات، برنامه ها باید یک حلقه بی نهایت. 416 00:19:41,070 --> 00:19:44,050 به عنوان مثال، اگر کامپیوتر شما دارای یک ساعت بر روی آن، آن را قطعا خواهد بود 417 00:19:44,050 --> 00:19:48,130 خوب اگر ساعت خود را به آن را به روز رسانی خود را برای همیشه، البته یک بار در 418 00:19:48,130 --> 00:19:50,500 دوم یا یک بار در دقیقه و یا چیزی شبیه به آن. 419 00:19:50,500 --> 00:19:53,690 بنابراین حتی بی نهایت حلقه آیا باید جای خود را. 420 00:19:53,690 --> 00:19:54,360 >> بسیار خوب. 421 00:19:54,360 --> 00:19:55,190 در نهایت، این یکی. 422 00:19:55,190 --> 00:19:57,770 و این یکی کمی متفاوت است عملکرد، و ما را به دوباره 423 00:19:57,770 --> 00:19:59,460 این احتمالا در Pset 1. 424 00:19:59,460 --> 00:20:02,370 اما نوع دیگری از حلقه وجود دارد نامیده می شود در حالی که حلقه انجام دهید. 425 00:20:02,370 --> 00:20:07,100 و تنها تفاوت در اینجا بین انجام دهید در حالی که حلقه و، می گویند، یک حلقه در حالی که، 426 00:20:07,100 --> 00:20:11,120 این است که وضعیت بررسی نمی قبل از کد شما را اجرا، اما پس از 427 00:20:11,120 --> 00:20:12,080 شما کد را اجرا کند. 428 00:20:12,080 --> 00:20:15,380 بنابراین در بالا برای در حالی که حلقه، در حالی که می توانم در حالی که 429 00:20:15,380 --> 00:20:16,560 چک آن را در پایین. 430 00:20:16,560 --> 00:20:21,370 >> و این فقط بدان معنی است که حلقه در حالی که به طور معمول برابر بیشتر اجرا 431 00:20:21,370 --> 00:20:24,630 یا بار کمتر از یک حلقه در حالی که؟ 432 00:20:24,630 --> 00:20:30,810 بار به طور بالقوه بیشتر، به دلیل انجام در حالی که حلقه به وضوح گفت: انجام این کار، 433 00:20:30,810 --> 00:20:34,600 تنها پس از آن نقطه چک کنید اگر داخل شرایط 434 00:20:34,600 --> 00:20:35,980 پرانتز درست است. 435 00:20:35,980 --> 00:20:37,940 >> بنابراین ما این را دوباره ببینم احتمالا در 1 Pset. 436 00:20:37,940 --> 00:20:41,150 اگر شما همیشه می خواهید به انجام کاری در حداقل یک بار و پس از آن شاید برخی بیشتر 437 00:20:41,150 --> 00:20:43,350 بار، این است که خوب است ساخت استفاده کنید. 438 00:20:43,350 --> 00:20:46,970 اما یک حلقه در حالی که، در مقابل، برای اولین بار وضعیت خود را چک کنید. 439 00:20:46,970 --> 00:20:50,660 و آن حلقه در C، در حالی که، در حالی که، و حلقه. 440 00:20:50,660 --> 00:20:54,700 و دوباره، آنها نقشه خیلی خوبی به خراش، به جز این یکی نمی کند 441 00:20:54,700 --> 00:20:57,350 کاملا آنالوگ مشابه در ابتدا داشته باشند. 442 00:20:57,350 --> 00:20:58,880 >> خوب، چگونه در مورد، در حال حاضر، متغیرهای؟ 443 00:20:58,880 --> 00:21:02,600 بنابراین این است که چگونه من یک متغیر اعلام کرد به نحوی روز دیگر. 444 00:21:02,600 --> 00:21:06,440 من تا به حال یک int، که من ادعا کردم یک عدد صحیح است. 445 00:21:06,440 --> 00:21:09,690 من سپس به حال یک متغیر به نام شمارنده، و سپس یک نقطه و ویرگول بدین. 446 00:21:09,690 --> 00:21:11,070 بنابراین این خط کد انجام این کار چیست؟ 447 00:21:11,070 --> 00:21:14,540 این، کاملا به سادگی، اعلام یک متغیر - 448 00:21:14,540 --> 00:21:17,940 است که، درخواست کامپیوتر، من را برخی از حافظه، من برخی از بیت را - در 449 00:21:17,940 --> 00:21:19,450 که من می توانم ذخیره؟ 450 00:21:19,450 --> 00:21:20,300 int است. 451 00:21:20,300 --> 00:21:23,570 و نقطه و ویرگول بدین حالت فقط بدان معناست پایان خط از کد. 452 00:21:23,570 --> 00:21:25,500 >> در حال حاضر، خط دوم است که احتمالا بسیار guessable. 453 00:21:25,500 --> 00:21:29,710 شمارنده = 0 است؛ انجام شده است؟ 454 00:21:29,710 --> 00:21:31,690 اختصاص 0 تا مقابله. 455 00:21:31,690 --> 00:21:33,470 و به همین ترتیب این است که چیز دیگری که کمی آزار دهنده است 456 00:21:33,470 --> 00:21:34,540 در مقابل، می گویند، جبر. 457 00:21:34,540 --> 00:21:39,110 در حالی که در جبر، علامت مساوی به معنای برابر، در اینجا در C، برابر 458 00:21:39,110 --> 00:21:40,470 علامت به معنای انتساب. 459 00:21:40,470 --> 00:21:45,380 بنابراین به این معنی آنچه در سمت راست به آنچه در سمت چپ است. 460 00:21:45,380 --> 00:21:49,030 و ما را نماد دیگری را ببینید، برابر برابر، زمانی که ما می خواهیم به واقع تست 461 00:21:49,030 --> 00:21:50,570 برای کیفیت، تا حدودی آزاردهنده است. 462 00:21:50,570 --> 00:21:52,590 >> اما این کمی ناکارآمد است. 463 00:21:52,590 --> 00:21:55,090 این نوع از آزار دهنده است که من آن را برای تعریف یک متغیر و 464 00:21:55,090 --> 00:21:56,110 سپس آن را ارزش می دهد. 465 00:21:56,110 --> 00:21:59,380 بنابراین C در واقع اجازه می دهد تا ما این ساده و فقط آن را همه در یک بار. 466 00:21:59,380 --> 00:22:01,330 شما می توانید متغیر اعلام در سمت چپ. 467 00:22:01,330 --> 00:22:04,590 شما هنوز هم می تواند انجام ماموریت در راست با قرار دادن آن علامت مساوی در 468 00:22:04,590 --> 00:22:05,030 عمق استفاده کنه. 469 00:22:05,030 --> 00:22:08,740 بنابراین در پایان روز، این دو معادل، اما این یکی، رک و پوست کنده، 470 00:22:08,740 --> 00:22:11,840 احتمالا عادت بهتر برای وارد شدن فقط به خاطر اینکه کمی کمتر 471 00:22:11,840 --> 00:22:15,040 کد، آن را کمی ساده تر برای خواندن، و آن را فقط تدابیر 472 00:22:15,040 --> 00:22:17,470 کد خود را، پس به صحبت می کنند. 473 00:22:17,470 --> 00:22:22,120 >> هر گونه سؤال تا کنون بر روی حلقه ها، در متغیرها، شرایط، 474 00:22:22,120 --> 00:22:27,001 Booleans، یا به اصطلاح فنی یا مفهومی؟ 475 00:22:27,001 --> 00:22:28,010 بسیار خوب. 476 00:22:28,010 --> 00:22:30,690 بنابراین در حال حاضر این یک بعدی می شود کمی جالب تر است. 477 00:22:30,690 --> 00:22:34,790 و این مثال من قرار داده تا آخرین است زمان که فقط نقشه یک مثال خراش 478 00:22:34,790 --> 00:22:35,820 به C. 479 00:22:35,820 --> 00:22:36,580 >> بنابراین یک تابع. 480 00:22:36,580 --> 00:22:38,110 در شرایط خارج از حرفه یا فن خاصی است، چه یک تابع است؟ 481 00:22:38,110 --> 00:22:42,900 482 00:22:42,900 --> 00:22:44,350 باید به جسورانه با پاسخ خود را. 483 00:22:44,350 --> 00:22:45,020 تابع چه خبر؟ 484 00:22:45,020 --> 00:22:46,320 >> دانشجو: آیا چیزی. 485 00:22:46,320 --> 00:22:46,780 >> دیوید مالان: چه خبر؟ 486 00:22:46,780 --> 00:22:48,000 >> دانشجو: آیا چیزی. 487 00:22:48,000 --> 00:22:48,710 >> دیوید مالان: آیا چیزی. 488 00:22:48,710 --> 00:22:49,000 OK را بزنید. 489 00:22:49,000 --> 00:22:49,590 ما وجود دارد شروع می شود. 490 00:22:49,590 --> 00:22:51,270 بنابراین یک تابع چیزی. 491 00:22:51,270 --> 00:22:55,160 پس از آن قطعه ای از کد که اساسا اجرا به جاهای دیگر که 492 00:22:55,160 --> 00:22:56,620 در واقع چیزی است. 493 00:22:56,620 --> 00:23:00,180 در حال حاضر، آنچه جالب در مورد تابع است که می تواند داده ورودی را، 494 00:23:00,180 --> 00:23:02,710 و آن را می توانید خروجی را تولید می کنند. 495 00:23:02,710 --> 00:23:05,090 و اجازه دهید در واقع نگاهی به این. 496 00:23:05,090 --> 00:23:09,030 >> پس مرد پشت پرده یک لحظه پیش عمدی بود. 497 00:23:09,030 --> 00:23:10,320 در اینجا ما باید یک جدول است. 498 00:23:10,320 --> 00:23:13,010 اما فرض کنید که این در واقع نشان دهنده یک جعبه بزرگ است. 499 00:23:13,010 --> 00:23:14,940 بنابراین این اصطلاح یک جعبه سیاه است. 500 00:23:14,940 --> 00:23:19,800 و به طور کلی، در طراحی، در کامپیوتر علم، جعبه های سیاه و سفید فقط برای اشاره 501 00:23:19,800 --> 00:23:22,510 قطعه از عملکرد است که کسی اجرا کرده است، و شما ندارید 502 00:23:22,510 --> 00:23:26,140 لزوما دانند و یا مراقبت چگونه آن را اجرا شده در زیر هود. 503 00:23:26,140 --> 00:23:28,960 شما فقط اهمیتی که این جعبه سیاه و سفید، که ما در حال حاضر می خواهید شروع به خواندن 504 00:23:28,960 --> 00:23:30,730 تابع، چیزی. 505 00:23:30,730 --> 00:23:34,710 >> بنابراین، برای مثال، اگر این جعبه سیاه و سفید در مرحله در اینجا نشان دهنده چون printf، 506 00:23:34,710 --> 00:23:38,040 تابع، من از نمونه های قبلی می دانند که چون printf طول می کشد یک یا چند 507 00:23:38,040 --> 00:23:40,910 استدلال، و اولین کسانی استدلال باید یک رشته، مانند 508 00:23:40,910 --> 00:23:44,780 "سلام جهان است." خب، اگر من فرد هستم نوشتن برنامه، و من می خواهم 509 00:23:44,780 --> 00:23:50,460 به استفاده از چون printf، من، به عنوان مثال، ممکن است یک تکه کاغذ خالی! 510 00:23:50,460 --> 00:23:55,060 نشانگر سیاه و سفید و نوشتن بر روی آن - 511 00:23:55,060 --> 00:23:56,580 من اشتباه "جهان" - 512 00:23:56,580 --> 00:23:59,560 H-E-L-L-O. 513 00:23:59,560 --> 00:24:04,220 >> بنابراین من نشانگر سیاه و سفید من و من نوشتن، به عنوان بزرگ و خوانا که من می توانم در 514 00:24:04,220 --> 00:24:07,260 این قطعه از کاغذ، "سلام، جهان،" و در حال حاضر من ادعا می کنند این بحث من است. 515 00:24:07,260 --> 00:24:09,740 این رشته ارائه شده است یک قطعه از کاغذ سفید. 516 00:24:09,740 --> 00:24:13,030 و ورودی من در حال حاضر به تابع چون printf در حال رفتن به این. 517 00:24:13,030 --> 00:24:18,250 بنابراین من خواستار چون printf، عبور این استدلال به عنوان ورودی به آن است. 518 00:24:18,250 --> 00:24:22,110 519 00:24:22,110 --> 00:24:26,740 >> و در حال حاضر، من نمی دانم که چگونه فرد که چون printf نوشت: این کار را کرد سال پیش، اما 520 00:24:26,740 --> 00:24:31,110 من نمی دانم از مستندات خود را که هدف خود را در زندگی برای چاپ آنچه من 521 00:24:31,110 --> 00:24:34,410 ارائه آن را به عنوان ورودی. 522 00:24:34,410 --> 00:24:40,630 و بنابراین، حتی اگر این پیاده سازی نادانسته به من است 523 00:24:40,630 --> 00:24:44,170 در زیر کاپوت، در حال حاضر من می بینم، آه، آن انجام شده است. 524 00:24:44,170 --> 00:24:45,740 آن چیزی چاپ بر روی صفحه نمایش. 525 00:24:45,740 --> 00:24:49,070 و در حال حاضر برنامه کنترل، اگر وجود دارد خطوط بیشتر از کد بودند، 526 00:24:49,070 --> 00:24:51,070 در حال حاضر به من بازگشته است. 527 00:24:51,070 --> 00:24:52,290 و بنابراین، این واقعیت است که کولتن - 528 00:24:52,290 --> 00:24:55,370 قلب او را برکت دهد، در اینجا پنهان شده در زیر یک جدول در مقابل همه شما - 529 00:24:55,370 --> 00:24:59,530 عمدی است که من نمی دانم و من اهمیتی نمی دهند چگونه چون printf است 530 00:24:59,530 --> 00:25:00,100 اجرا شده است. 531 00:25:00,100 --> 00:25:03,390 من فقط می دانم، دوباره، از آن اسناد و مدارک، آنچه در آن می کند و چگونه من 532 00:25:03,390 --> 00:25:05,040 قرار است از آن استفاده کنید. 533 00:25:05,040 --> 00:25:09,140 >> در حال حاضر، به یاد می آورند که چون printf می تواند کمی پیچیده تر است. 534 00:25:09,140 --> 00:25:12,220 باز هم، ما فقط صحبت کردن در مورد معادل بلوک خراش نظرات. 535 00:25:12,220 --> 00:25:14,230 اما من هم این آخرین بار است. 536 00:25:14,230 --> 00:25:17,270 من می خواستم به برنامه خوش آمدید من کمی پویا تر و نه فقط سخت 537 00:25:17,270 --> 00:25:19,740 کد چیزی مانند "جهان" و قطعا نه چیزی کد سخت 538 00:25:19,740 --> 00:25:22,520 خودسرانه مانند D-A-V-I-D به برنامه است. 539 00:25:22,520 --> 00:25:27,510 من می خواستم به درخواست کاربر برای خود و یا او را نام، و سپس انجام کاری با 540 00:25:27,510 --> 00:25:29,720 که رشته ای که آنها ارائه. 541 00:25:29,720 --> 00:25:32,690 >> بنابراین چیزی کمی متفاوت وجود دارد اینجا. چون printf، چند لحظه پیش، 542 00:25:32,690 --> 00:25:35,860 ، در واقع انجام کاری است، اما آن چیزی به من بر نمی گرداند. 543 00:25:35,860 --> 00:25:36,020 درست است؟ 544 00:25:36,020 --> 00:25:38,910 کولتن به من چیزی را از دست نمی در پشت، هیچ تکه کاغذ. 545 00:25:38,910 --> 00:25:40,320 فقط یک اثر جانبی وجود دارد. 546 00:25:40,320 --> 00:25:44,510 ارائه "سلام جهان" من به عنوان یک آرگومان به کولتن منجر به 547 00:25:44,510 --> 00:25:48,420 عارضه جانبی از یک کلمه، برخی از کلمات، بر روی صفحه نمایش ظاهر می شود. 548 00:25:48,420 --> 00:25:51,350 >> getstring، هر چند، کمی متفاوت است. getstring 549 00:25:51,350 --> 00:25:54,590 عمل کند، اما برخی از ارزش آن را می گرداند. 550 00:25:54,590 --> 00:25:56,370 این کار نه تنها عوارض جانبی زیبایی. 551 00:25:56,370 --> 00:26:00,230 این در واقع به من می دهد، فرد تماس تلفنی یا با استفاده از تابع، 552 00:26:00,230 --> 00:26:01,320 چیزی. 553 00:26:01,320 --> 00:26:05,740 بنابراین در این مورد، getstring به نام با getstring باز 554 00:26:05,740 --> 00:26:07,510 پرانتز، پرانتز نزدیک. 555 00:26:07,510 --> 00:26:11,370 آیا getstring، بنابراین، هیچ استدلال و یا ورودی؟ 556 00:26:11,370 --> 00:26:12,340 نه، به نظر می رسد نیست. 557 00:26:12,340 --> 00:26:14,460 هدف خود را در زندگی است فقط برای گرفتن یک رشته است. 558 00:26:14,460 --> 00:26:16,910 این به جزئیات نه بیشتر از آن نیاز دارد. 559 00:26:16,910 --> 00:26:20,430 بنابراین اجازه دهید من جلو بروید و وانمود کند که، دوباره، این جعبه سیاه است چون printf نیست، 560 00:26:20,430 --> 00:26:25,160 اما getstring، و اجازه دهید من، شخص نوشتن این برنامه، تماس بگیرید و یا استفاده از 561 00:26:25,160 --> 00:26:29,720 getstring فقط نوشتن G-E-T-S-T-R-I-N-G، پرانتز باز، نزدیک 562 00:26:29,720 --> 00:26:32,170 پرانتز، getstring. 563 00:26:32,170 --> 00:26:36,920 >> در حال حاضر، من هیچ نظری ندارم که چگونه کارکنان CS50 به اجرا getstring، اما من می دانم که 564 00:26:36,920 --> 00:26:41,240 اگر من صبر کنید به اندازه کافی بلند است، آن را خود را انجام دهد چیزی که در زیر هود، شاید با استفاده از 565 00:26:41,240 --> 00:26:44,940 برخی از متغیرها، شاید استفاده از برخی از شرایط، شاید استفاده از برخی از حلقه ها، 566 00:26:44,940 --> 00:26:48,170 شاید استفاده از برخی از توابع، شاید با استفاده از - 567 00:26:48,170 --> 00:26:52,290 فقط تلاش برای غرفه - شاید با استفاده از برخی از ویژگی های برنامه نویسی دیگر. 568 00:26:52,290 --> 00:26:55,350 اما اگر من صبر کنید به اندازه کافی بلند - در واقع، در کامپیوتر، این اتفاق می افتد 569 00:26:55,350 --> 00:26:56,270 فوق العاده سریع - 570 00:26:56,270 --> 00:26:59,910 اگر به اندازه کافی بلند به من صبر کنید، این تابع getstring در حال رفتن به دریافت یک رشته 571 00:26:59,910 --> 00:27:04,060 از کاربر، که احتمالا تایپ کردن آن را از روی صفحه کلید خود را، و 572 00:27:04,060 --> 00:27:08,090 سپس، هنگامی که شما getstring انجام شده است کسانی که شخصیت های کاربر 573 00:27:08,090 --> 00:27:14,080 و ذخیره سازی آنها را به یک رشته، که تابع، getstring، رفتن به 574 00:27:14,080 --> 00:27:17,990 آماده برای من برخی از خروجی که من رفتن به بازیابی از طریق 575 00:27:17,990 --> 00:27:19,470 عملگر انتساب است. 576 00:27:19,470 --> 00:27:25,390 >> و اگر بروم، در واقع، به خروجی در اینجا، Obosi سخاوتمندانه 577 00:27:25,390 --> 00:27:29,900 شرکت، بدون دانستن این در با نوشتن نام خود را بر روی این پیشبرد، 578 00:27:29,900 --> 00:27:33,100 متغیر، است که به نمایندگی از یک رشته است. 579 00:27:33,100 --> 00:27:35,640 در حال حاضر، عملگر انتساب بدان معنی است، حتی هر چند این ممکن است احساس کنید کمی 580 00:27:35,640 --> 00:27:38,790 کار برکنار شده، من در واقع نیاز به کپی خود من از این است. 581 00:27:38,790 --> 00:27:40,700 از آنجا که در دست چپ سمت - اوه! - 582 00:27:40,700 --> 00:27:45,760 توجه کنید که من اساسا رشته نام در سمت چپ. 583 00:27:45,760 --> 00:27:48,280 بنابراین من هم رفتن به کپی خود من از این است. 584 00:27:48,280 --> 00:27:50,990 و این یک بیت از یک دروغ سفید است، از آنجا که ما را در یک یا دو هفته را ببینید 585 00:27:50,990 --> 00:27:54,100 زمانی که رشته ها در واقع نه آنچه که به نظر می رسد. 586 00:27:54,100 --> 00:27:56,700 >> اما در حال حاضر، در اینجا مقدار بازگشتی است. 587 00:27:56,700 --> 00:28:00,160 در اینجا کپی کنید خود من از آن بعد از آن با استفاده از عملگر انتساب است. 588 00:28:00,160 --> 00:28:01,790 و در حال حاضر، چه چیزی من می خواهم به انجام بعدی؟ 589 00:28:01,790 --> 00:28:04,080 ما در حال حاضر دوم دو خط از کد. 590 00:28:04,080 --> 00:28:05,640 بنابراین من در حال حاضر می خواهم به چون printf تماس بگیرید. 591 00:28:05,640 --> 00:28:08,500 بیایید وانمود کن که سیاه و سفید جعبه است دوباره به بودن 592 00:28:08,500 --> 00:28:10,210 printf و getstring است نه. 593 00:28:10,210 --> 00:28:12,200 >> چون printf در این زمان است که رفتن به را چگونه بسیاری از استدلال؟ 594 00:28:12,200 --> 00:28:14,890 595 00:28:14,890 --> 00:28:16,770 بنابراین نگاه کنید، آن را مانند دو است. 596 00:28:16,770 --> 00:28:18,860 دو کاما در آن وجود دارد وجود دارد، اما یکی از کسانی که کاما از هم، آن را 597 00:28:18,860 --> 00:28:20,220 در داخل نقل قول. 598 00:28:20,220 --> 00:28:23,190 پس آرگومان اول است که به معنای واقعی کلمه برای رفتن به این. 599 00:28:23,190 --> 00:28:31,850 H-E-L-L-O، کاما، درصد ، بک اسلش-N. 600 00:28:31,850 --> 00:28:36,560 و در حال حاضر من ارائه یک استدلال، اما دو آرگومان به چون printf. 601 00:28:36,560 --> 00:28:39,530 >> و چه چیزی چون printf قرار است برای انجام با این دو ورودی بعد از من آنها را در عبور 602 00:28:39,530 --> 00:28:42,050 به عنوان آرگومان؟ 603 00:28:42,050 --> 00:28:45,360 این قرار را به دوم آنها، که من به نام نام، به طوری که 604 00:28:45,360 --> 00:28:48,660 قطعه دوم از مقاله من نوشت: از یک لحظه قبل در دیتا بیس ثبت نام نامیده می شود. 605 00:28:48,660 --> 00:28:53,550 آن را به پلاگین از ارزش در داخل که متغیر به حفره یا سوراخ، 606 00:28:53,550 --> 00:28:58,310 ٪ s است، به طوری که، دوباره، در یک لحظه زمان، ما را یک عارضه جانبی از 607 00:28:58,310 --> 00:29:04,180 نامیده می شود چون printf، به موجب آن در حال حاضر ما دیدن نیست "سلام، جهان،" اما "سلام، 608 00:29:04,180 --> 00:29:04,710 Obosi. " 609 00:29:04,710 --> 00:29:08,730 >> بنابراین یک دور بزرگ تشویق به هر دو داوطلبان ما، تنها یکی از آنها می دانستند 610 00:29:08,730 --> 00:29:12,010 این می تواند اتفاق می افتد. 611 00:29:12,010 --> 00:29:12,990 بسیار خوب. 612 00:29:12,990 --> 00:29:16,480 بنابراین، شاید، ساده بود که، مطمئنا، اگر شما در حال حاضر آشنا 613 00:29:16,480 --> 00:29:20,190 با این ترتیب، امیدوارم شما هرگز فراموش می کنند که بصری خاصی از چگونگی 614 00:29:20,190 --> 00:29:21,220 توابع کار می کنند. 615 00:29:21,220 --> 00:29:23,000 >> بنابراین بیشتر از فقط getstring وجود دارد. 616 00:29:23,000 --> 00:29:26,020 در داخل کتابخانه CS50، وجود دارد تمام دسته از توابع، همه از آن 617 00:29:26,020 --> 00:29:29,510 با حروف بزرگ فقط به روشن که ما این توابع نوشت. 618 00:29:29,510 --> 00:29:33,610 به طور معمول، در C، تقریبا در هر تابع شما استفاده از کوچک. 619 00:29:33,610 --> 00:29:36,190 اما ما به عمد استفاده از حروف بزرگ فقط به روشن است که این 620 00:29:36,190 --> 00:29:39,880 چرخ آموزش انواع که خواهیم استفاده فقط برای چند هفته که 621 00:29:39,880 --> 00:29:42,890 ساده سازی فرایند گرفتن ورودی از کاربر است. 622 00:29:42,890 --> 00:29:46,740 >> کتابخانه CS50 هیچ چیزی انجام نمی که شما خودتان نمی تواند انجام دهد 623 00:29:46,740 --> 00:29:50,230 تنها با استفاده از کد C کتاب درسی oldschool. 624 00:29:50,230 --> 00:29:53,310 اما، دوباره، ما آنها را به عنوان آموزش استفاده چرخ از انواع برای فقط یک زن و شوهر 625 00:29:53,310 --> 00:29:57,250 هفته به طوری که ما می توانید از شر پیچیدگی که شما به زودی خواهید فهمید 626 00:29:57,250 --> 00:30:00,460 خود را از انجام کاری به عنوان نسبتا ساده به عنوان به دست آوردن 627 00:30:00,460 --> 00:30:02,080 ورودی از کاربر است. 628 00:30:02,080 --> 00:30:05,540 >> بنابراین، می دانم که به شما دسترسی داشته باشند به GetChar، GetDouble - 629 00:30:05,540 --> 00:30:06,050 دو برابر شود. 630 00:30:06,050 --> 00:30:07,050 What's - و پس از آن GetFloat. 631 00:30:07,050 --> 00:30:07,600 یک شناور چه خبر؟ 632 00:30:07,600 --> 00:30:09,382 بیایید شروع وجود دارد. 633 00:30:09,382 --> 00:30:10,600 >> دانشجو: [نامفهوم]. 634 00:30:10,600 --> 00:30:10,790 >> دیوید مالان بله. 635 00:30:10,790 --> 00:30:12,120 این عدد با نقطه اعشار است. 636 00:30:12,120 --> 00:30:15,930 بنابراین در حالی که یک int یک عدد صحیح است که فقط یک عدد 0 تا 9 است، 637 00:30:15,930 --> 00:30:18,940 برخی از تعداد تکرار آن، یک شناور چیزی است 638 00:30:18,940 --> 00:30:20,100 با نقطه اعشار. 639 00:30:20,100 --> 00:30:26,090 و دو برابر، در عین حال، تعداد با نقطه اعشار، اما بیشتر 640 00:30:26,090 --> 00:30:28,160 اعداد بعد از اعشار نقطه، به طور بالقوه. 641 00:30:28,160 --> 00:30:30,040 >> بنابراین ما به این قبل از زمانی عقب بر گردیم. 642 00:30:30,040 --> 00:30:34,560 اما به طور معمول، هر یک از این نوع داده ها، هر یک از این نوع متغیر 643 00:30:34,560 --> 00:30:39,380 که یک کتابخانه مثل ماست می تواند به بازگشت شما، استفاده از شماره های مختلف از بیت ها به 644 00:30:39,380 --> 00:30:40,290 ذخیره اطلاعات است. 645 00:30:40,290 --> 00:30:43,910 به طور معمول، یک کاراکتر، که فقط بدان معناست یکی از شخصیت ها، از 8 بیت استفاده می کند. 646 00:30:43,910 --> 00:30:47,490 و این در واقع مطابق با ما بایت از داوطلبان در هفته گذشته که 647 00:30:47,490 --> 00:30:50,410 آمد و نشانگر کاراکتر اسکی در یک زمان. 648 00:30:50,410 --> 00:30:51,850 بنابراین یک کاراکتر 8 بیت است. 649 00:30:51,850 --> 00:30:54,430 >> شناور اتفاق می افتد 32 بیت، به طور معمول. 650 00:30:54,430 --> 00:30:59,230 و دو برابر، به عنوان شما ممکن است حدس بزنید، در واقع 64 بیت است، که فقط بیشتر، 651 00:30:59,230 --> 00:31:01,360 که بدان معنی است که شما می توانید بزرگتر اعداد یا دقت بیشتر. 652 00:31:01,360 --> 00:31:03,000 اما باز هم، بیشتر در زمان دیگری. 653 00:31:03,000 --> 00:31:06,550 GetLongLong، در عین حال، هر چند ابلهانه نام برده شده است، واقعا فقط یک 654 00:31:06,550 --> 00:31:10,770 عدد صحیح است که دو برابر بزرگ، دو بار به عنوان طولانی، به طور بالقوه، به عنوان یک به طور منظم 655 00:31:10,770 --> 00:31:12,940 عدد صحیح، 64 بیت به جای 32. 656 00:31:12,940 --> 00:31:14,560 و GetString ما با استفاده از ام. 657 00:31:14,560 --> 00:31:18,870 >> اما معلوم است، در کتابخانه CS50، است که اجرا می شود، همانطور که خواهیم دید، در 658 00:31:18,870 --> 00:31:23,560 به صورت دو فایل که یکی از آنها نامیده می شود cs50.h است، دو نفر دیگر 659 00:31:23,560 --> 00:31:24,770 انواع داده ها در آن است. 660 00:31:24,770 --> 00:31:29,700 Booleans در C. شما می توانید وجود ندارد شبیه سازی آنها را با تنها با استفاده از 0s و و 1S 661 00:31:29,700 --> 00:31:30,850 در طول برنامه های خود را. 662 00:31:30,850 --> 00:31:35,500 اما ما در کتابخانه CS50 ایجاد کرده اند نمادها "درست" و "نادرست" 663 00:31:35,500 --> 00:31:38,580 به نمایندگی 1 و 0 بنابراین شما لازم نیست به کد چیزی سخت 664 00:31:38,580 --> 00:31:39,810 به معنای واقعی کلمه مثل 1 و 0. 665 00:31:39,810 --> 00:31:40,980 اما ما می خواهیم آن را دوباره ببینم. 666 00:31:40,980 --> 00:31:42,330 >> رشته، بیش از حد، وجود ندارد. 667 00:31:42,330 --> 00:31:44,520 و به همین دلیل اشاره کردم آن را کمی از یک دروغ سفید در حال حاضر. 668 00:31:44,520 --> 00:31:46,660 اما ما پشت پوست که لایه قبل از طولانی. 669 00:31:46,660 --> 00:31:49,540 اما در حال حاضر، یک رشته است دنباله ای از کاراکتر ها است. 670 00:31:49,540 --> 00:31:51,790 >> در همین حال، C، شما در واقع انواع داده های مختلف. 671 00:31:51,790 --> 00:31:53,200 توجه داشته باشید این حروف کوچک هستند. 672 00:31:53,200 --> 00:31:56,960 بنابراین توابع شما یک لحظه پیش دیدم توابع نوشته شده توسط CS50 که 673 00:31:56,960 --> 00:32:02,310 به شما باز خواهد گشت یک ارزش است که می افتد به یکی از این دسته بندی ها. 674 00:32:02,310 --> 00:32:06,730 >> ورق تقلب زن و شوهر فقط به بوته دانه در اینجا. چون printf نه تنها 675 00:32:06,730 --> 00:32:08,600 ٪ s به عنوان متغیرهایی. 676 00:32:08,600 --> 00:32:13,490 طول می کشد تا از٪ d اعداد صحیح دهدهی، یا٪ من کار می کند نیز هست. 677 00:32:13,490 --> 00:32:19,450 ٪ F شناور است مقادیر نقطه. ٪ C است کاراکتر، اگر شما می خواهید فقط یکی را به برق وصل کردن 678 00:32:19,450 --> 00:32:23,510 شخصیت به یک رشته تنظیم نشده مانند ما انجام داده ایم، شما می توانید٪ C استفاده کنید. 679 00:32:23,510 --> 00:32:28,490 >> و پس از آن، تا حدودی آزاردهنده،٪ LLD است برای بلند، عدد صحیح دهدهی طولانی، 680 00:32:28,490 --> 00:32:31,050 که فقط بدان معناست که اگر شما نیاز به یک واقعا تعداد بزرگ و شما با استفاده از چیزی 681 00:32:31,050 --> 00:32:35,450 نامیده می شود طولانی مدت، که خواهیم آمد بازگشت در یک pset است، شما می توانید٪ LLD به استفاده از 682 00:32:35,450 --> 00:32:40,700 بگویید چون printf، پلاگین واقعا بزرگ عدد صحیح در اینجا راه دوم خود و یا 683 00:32:40,700 --> 00:32:41,830 برخی از استدلال های دیگر. 684 00:32:41,830 --> 00:32:45,700 >> و در نهایت، من قول دادم که چند فرار دیگر وجود دارد 685 00:32:45,700 --> 00:32:47,670 در توالی که چون printf پشتیبانی. 686 00:32:47,670 --> 00:32:49,160 دیده ایم بک اسلش-N. 687 00:32:49,160 --> 00:32:50,510 ممیزوارونه-R ممکن است شما را ببینید. 688 00:32:50,510 --> 00:32:51,780 این نوع از چیزی که قدیمی مدرسه است. 689 00:32:51,780 --> 00:32:55,920 اگر شما تا به حال با استفاده از سال ماشین تحریر و مستغلات پیش و شما را بر روی میل لنگ کشیده 690 00:32:55,920 --> 00:32:59,810 که نه تنها چرخش چرخ را به حرکت وارد زمین، آن را نیز نقل مکان کرد 691 00:32:59,810 --> 00:33:03,730 همه چیز تمام راه برگشت را به از سمت چپ، خوب، بک اسلش-R فقط 692 00:33:03,730 --> 00:33:06,480 اساسا حرکت مکان نما شما را به عقب به شروع خط 693 00:33:06,480 --> 00:33:07,830 بدون حرکت آن پایین است. 694 00:33:07,830 --> 00:33:09,780 اما باز هم، بیشتر در مورد آن، شاید در آینده است. 695 00:33:09,780 --> 00:33:13,670 >> ممیزوارونه نقل قول، نقل قول، دو بک اسلش بک اسلش و بک اسلش 696 00:33:13,670 --> 00:33:16,600 راه حلی برای معمای کوچک من به پیشتر اشاره شد. 697 00:33:16,600 --> 00:33:18,920 و بک اسلش-0 است که در واقع خیلی جالب است. 698 00:33:18,920 --> 00:33:21,470 اما ما به عقب بر گردیم به آمدن که قبل از طولانی. 699 00:33:21,470 --> 00:33:25,640 >> پس اجازه دهید من به رفتن، در حال حاضر، CS50 لوازم خانگی، و اجازه دهید در واقع انجام 700 00:33:25,640 --> 00:33:28,930 گرم کردن سریع با یکی از نمونه های ما در حال حاضر و سپس به حرکت می کند 701 00:33:28,930 --> 00:33:31,160 چیزی کمی پیچیده تر است. 702 00:33:31,160 --> 00:33:34,980 بنابراین اگر من باز کردن برنامه های من به نام نرمافزاری gedit - 703 00:33:34,980 --> 00:33:36,840 این ویرایشگر گرافیکی من است. 704 00:33:36,840 --> 00:33:38,460 و من می توانم انجام این کار - 705 00:33:38,460 --> 00:33:39,820 اجازه دهید من آن پنجره نزدیک وجود دارد - 706 00:33:39,820 --> 00:33:42,720 از طریق این آیکون را در اینجا، نرمافزاری gedit، در گوشه پایین سمت چپ 707 00:33:42,720 --> 00:33:44,170 گوشه کنار منو. 708 00:33:44,170 --> 00:33:48,670 >> من قصد دارم به جلو بروید و پیشبرد و صرفه جویی در این مثال، می گویند، جان 709 00:33:48,670 --> 00:33:49,660 پوشه هاروارد. 710 00:33:49,660 --> 00:33:52,690 پوشه جان هاروارد فقط خانه اش است دایرکتوری که در آن تمام فایل های خود را زندگی می کنند 711 00:33:52,690 --> 00:33:53,340 به طور پیش فرض. 712 00:33:53,340 --> 00:33:58,410 و من قصد دارم برای صرفه جویی در این عنوان فایل با نام سلام 0.c. 713 00:33:58,410 --> 00:34:01,260 و من این نام را انتخاب کرده ایم فقط پس از آن خطوط با کد نمونه در 714 00:34:01,260 --> 00:34:04,210 وب سایت دوره و در یوتیوب فیلم آنلاین. 715 00:34:04,210 --> 00:34:06,320 >> بنابراین در حال حاضر من قصد دارم برای شروع به ارسال اولین برنامه من. 716 00:34:06,320 --> 00:34:08,469 اجازه دهید من برای خوانایی زوم. 717 00:34:08,469 --> 00:34:12,760 و من قصد دارم به جلو بروید و می گویند اعضای هیات بی اعتبار اصلی است که فقط می خواهم که 718 00:34:12,760 --> 00:34:14,900 قطعه پازل زرد است که شروع برنامه. 719 00:34:14,900 --> 00:34:18,290 من به این عادت در طول و بعد فورا رفت واز سال باز به آکولاد من، پس از آن است 720 00:34:18,290 --> 00:34:22,000 نیز آن را بسته و سپس رفتن به که در آن من می خواهم برای قرار دادن کد من، فقط 721 00:34:22,000 --> 00:34:24,630 زیرا کمک می کند مرا به نگه داشتن همه چیز متعادل، به ویژه به عنوان من 722 00:34:24,630 --> 00:34:25,880 برنامه طولانی می شود. 723 00:34:25,880 --> 00:34:29,239 >> و در حال حاضر، در اینجا، من رفتن به جلو بروید و می گویند، چون printf، نقل قول نقل قول را تمام کردن، 724 00:34:29,239 --> 00:34:34,330 سلام به جهان، بک اسلش-N، اعلان نزدیک، پرانتز بسته، نقطه و ویرگول بدین شکل است. 725 00:34:34,330 --> 00:34:38,100 بنابراین من فقط به تکرار همه چیز ایم اعطا شده تا کنون در نظر گرفتن. 726 00:34:38,100 --> 00:34:39,270 حالا من قصد دارم برای زوم کردن. 727 00:34:39,270 --> 00:34:43,030 >> و این پنجره ترمینال را در اینجا، چه من مجاز به انجام در این سیاه و سفید 728 00:34:43,030 --> 00:34:44,389 در و پنجره سفید؟ 729 00:34:44,389 --> 00:34:46,977 چه می توانید آن را برای استفاده کنم؟ 730 00:34:46,977 --> 00:34:49,770 پس این است که من را اجرا دستورات و که در آن من می توانم همه چیز را در کامپایل. 731 00:34:49,770 --> 00:34:50,620 و من قصد دارم به نگه داشتن آن ساده است. 732 00:34:50,620 --> 00:34:52,780 من قصد دارم برای استفاده از یک برنامه نامیده می شود را، که نه 733 00:34:52,780 --> 00:34:54,020 از لحاظ فنی یک کامپایلر. 734 00:34:54,020 --> 00:34:56,360 کامپایلر نامیده می شود صدای جرنگ جرنگ، اما ما را به که می آیند پشت در 735 00:34:56,360 --> 00:34:57,190 هفته یا زمان دو. 736 00:34:57,190 --> 00:35:03,410 >> در حال حاضر، من فقط رفتن به نوع را سلام-0، اما کسانی از شما که بود 737 00:35:03,410 --> 00:35:07,050 مقایسه در ذهن شما آنچه که من فقط تایپ به آنچه که من باید تایپ ممکن است 738 00:35:07,050 --> 00:35:10,180 می دانم که در حال حاضر که من چیزی اشتباه است در اینجا. 739 00:35:10,180 --> 00:35:12,160 در حال حاضر، به وضوح برخی از اشتباهات وجود دارد. 740 00:35:12,160 --> 00:35:16,742 قبل از اینکه من حتی در آنچه آنها هستند، هر نگاه افکار به آنچه که من اشتباه انجام داده بودم؟ 741 00:35:16,742 --> 00:35:18,590 >> دانش آموزان: قبل [INTERPOSING صدای]. 742 00:35:18,590 --> 00:35:18,840 >> دیوید مالان بله. 743 00:35:18,840 --> 00:35:20,640 من گم شده فایل هدر در کتابخانه. 744 00:35:20,640 --> 00:35:24,240 هر یک از این فایل های ساعت هدر نامیده می شود فایل ها و آنها جمعی 745 00:35:24,240 --> 00:35:25,680 متعلق به همه چیز به نام کتابخانه. 746 00:35:25,680 --> 00:35:28,030 کتابخانه ها فقط تکه کد که افراد دیگر نوشت. 747 00:35:28,030 --> 00:35:32,140 بنابراین [استاندارد؟ ؟] کتابخانه مجموعه ای از فایل های حاوی کد 748 00:35:32,140 --> 00:35:33,330 که افراد دیگر نوشت. 749 00:35:33,330 --> 00:35:34,820 >> بنابراین من گم شده است. 750 00:35:34,820 --> 00:35:36,520 پس چرا من گرفتن خطا؟ 751 00:35:36,520 --> 00:35:40,840 خوب، اجازه دهید من حرکت به بالا و در پنجره ترمینال من در اینجا. 752 00:35:40,840 --> 00:35:44,310 و متاسفانه در C، همانطور که در بسیاری از زبان های برنامه نویسی، به خصوص 753 00:35:44,310 --> 00:35:47,830 اگر آن همه جدید به شما، خطا پیام های دقیق هستند، اما آنها نیز 754 00:35:47,830 --> 00:35:48,620 کاملا مرموز است. 755 00:35:48,620 --> 00:35:51,720 و خطا در اینجا، به رنگ قرمز، "به طور ضمنی اعلام تابع کتابخانه 756 00:35:51,720 --> 00:35:57,660 چون printf با نوع، "و سپس آن را کتیبه ها به خط بعدی، "اعضای هیات توایع کاراکتر *، 757 00:35:57,660 --> 00:36:00,220 ... "این فقط می تونه واقعا قریب به اتفاق به سرعت. 758 00:36:00,220 --> 00:36:04,420 >> اما آنچه شما باید شروع به انجام، اگر، دوباره، به همه از این است، فقط به 759 00:36:04,420 --> 00:36:06,010 شروع به برای کلمات کلیدی نگاه کنید. 760 00:36:06,010 --> 00:36:08,770 واضح است، من ممکن است درک نیم کلمات من از دیدن فقط رتبهدهی نشده است. 761 00:36:08,770 --> 00:36:10,140 شما خواهد شد، هر چند در زمان یک هفته. 762 00:36:10,140 --> 00:36:11,230 اما من چون printf را مشاهده کنید. 763 00:36:11,230 --> 00:36:14,310 و است که باید قبل از زمانی آغاز خواهد شد،، تنه زدن به حافظه، همه حق است، چون printf. 764 00:36:14,310 --> 00:36:15,210 چیزی اشتباه است چون printf است. 765 00:36:15,210 --> 00:36:16,580 آیا من آن را اشتباه طلسم؟ 766 00:36:16,580 --> 00:36:18,130 نه، آن را مانند به نظر نمی آید - آه. 767 00:36:18,130 --> 00:36:21,350 من می توانم از آن استفاده نمی شود مگر اینکه من تدریس کامپایلر که در آن وجود دارد. 768 00:36:21,350 --> 00:36:25,220 و بنابراین، دوباره، با غرایز خود، حتی اگر شما در واقع نمی دانند 769 00:36:25,220 --> 00:36:26,510 پیغام خطا واقعی. 770 00:36:26,510 --> 00:36:30,240 >> و در واقع، راه حل در اینجا این است که فقط آن را در بالای فایل 771 00:36:30,240 --> 00:36:34,340 مانند آن، resaving فایل من با کنترل-S و یا منوی File. 772 00:36:34,340 --> 00:36:36,730 و اگر من در حال حاضر به عقب برگردید پایین در اینجا، من قصد دارم برای پاک کردن این. 773 00:36:36,730 --> 00:36:39,150 کنترل-L فقط یک راه خوب است برای روشن شدن صفحه نمایش. 774 00:36:39,150 --> 00:36:44,870 و سپس من قصد دارم به نوع "سلام 0 "را وارد کنید، و در حال حاضر من هنوز هم دیدن 775 00:36:44,870 --> 00:36:47,710 ترتیب رمزی نمادها، اما ما را به آن باز می گردد. 776 00:36:47,710 --> 00:36:49,230 این چیزی است که را برای شما انجام می دهند. 777 00:36:49,230 --> 00:36:52,590 این خودکار فرایند گرفتن فرمان نسبتا آزار دهنده است که شامل 778 00:36:52,590 --> 00:36:54,050 صدای جرنگ جرنگ، کامپایلر واقعی. 779 00:36:54,050 --> 00:36:57,460 اما این واقعیت است که من بدون خطا به معنای که این چیزی که باید کار کند. 780 00:36:57,460 --> 00:37:00,630 >> بنابراین من در حال حاضر قصد دارم برای انجام - اجازه دهید من دوباره زوم - 781 00:37:00,630 --> 00:37:07,070 ./hello-0 را وارد کنید، و در واقع، من می بینم "سلام جهان است." پس اجازه دهید در حال حاضر افزایش 782 00:37:07,070 --> 00:37:12,105 این همیشه تا کمی فقط به تکرار مراحل ما در نظر گرفته شده. 783 00:37:12,105 --> 00:37:15,370 من قصد دارم به تغییر نام این کار را با ذخیره به عنوان hello1.c. 784 00:37:15,370 --> 00:37:20,300 و در حال حاضر من قصد دارم به اعلام یک متغیر نام نام، نام رشته، 785 00:37:20,300 --> 00:37:23,420 و من قصد دارم در آن قرار داده است ارزش نقل قول نقل قول را تمام کردن 786 00:37:23,420 --> 00:37:27,030 D-A-V-I-D اعلان نزدیک نقطه و ویرگول بدین. 787 00:37:27,030 --> 00:37:31,150 و در حال حاضر من قصد دارم به جای "جهان" با چه حفره یا سوراخ برای یک رشته؟ 788 00:37:31,150 --> 00:37:32,200 ٪ s نیست. 789 00:37:32,200 --> 00:37:35,040 >> و در حال حاضر، که چگونه بسیاری از استدلال باید چون printf این زمان را می کشد؟ 790 00:37:35,040 --> 00:37:35,700 بنابراین دو. 791 00:37:35,700 --> 00:37:37,090 بنابراین من در خارج از نقل قول. 792 00:37:37,090 --> 00:37:39,330 من "نام" پس از یک کاما تایپ کنید. 793 00:37:39,330 --> 00:37:41,550 اما من چیزی را انجام داده ام دیگری به اشتباه این زمان. 794 00:37:41,550 --> 00:37:43,940 اما بیایید فرض کنیم که من نمی متوجه که هنوز. 795 00:37:43,940 --> 00:37:44,910 اجازه دهید من تا به اینجا بروید. 796 00:37:44,910 --> 00:37:48,850 >> و توجه بیش از حد، من کمی خسته شدم از تایپ کردن "سلام 0" همه 797 00:37:48,850 --> 00:37:50,180 زمان، "را" و این همه. 798 00:37:50,180 --> 00:37:53,270 بنابراین، معلوم می شود، در لینوس شما می توانید اغلب Arrow up و خود را در ضربه 799 00:37:53,270 --> 00:37:56,850 صفحه کلید، و شما در واقع می تواند حرکت از طریق همه از دستورات که من 800 00:37:56,850 --> 00:37:58,830 اعدام قبلی برای فقط در حال حاضر. 801 00:37:58,830 --> 00:38:02,040 بنابراین اگر من انجام این کار، بالا، بالا، سلام 0 وجود دارد. 802 00:38:02,040 --> 00:38:02,610 من این را نمی خواهیم. 803 00:38:02,610 --> 00:38:05,450 من فقط می خواهم به تغییر آن به سلام 1 این زمان، وارد کنید. 804 00:38:05,450 --> 00:38:07,620 در نهایت، که خواهد شد صرفه جویی در شما برخی از زمان. 805 00:38:07,620 --> 00:38:08,150 >> بسیار خوب. 806 00:38:08,150 --> 00:38:09,520 متاسفانه، خطا وجود دارد. 807 00:38:09,520 --> 00:38:10,980 بنابراین اجازه دهید من رفته بالا. 808 00:38:10,980 --> 00:38:13,120 این به نظر می رسد مثل من واقعا butchered این برنامه است. 809 00:38:13,120 --> 00:38:16,530 منظور من، خدای من، آن دو خط از کد، و 10 خط خود را از خطا است. 810 00:38:16,530 --> 00:38:18,800 اما در بالا برای اولین بار نگاه کنید. 811 00:38:18,800 --> 00:38:21,640 استفاده از شناسه رشته اعلام نشده است. 812 00:38:21,640 --> 00:38:23,270 آیا منظورم این استاندارد من نفر؟ 813 00:38:23,270 --> 00:38:23,930 نه من این کار را نکرد. 814 00:38:23,930 --> 00:38:24,940 من به معنای رشته است. 815 00:38:24,940 --> 00:38:29,390 >> اما جایی که متغیر رشته ای است نوع اعلام کرد، DD به ما می گویند؟ 816 00:38:29,390 --> 00:38:30,730 پس از آن در CS50 کتابخانه است. 817 00:38:30,730 --> 00:38:33,740 پس از آن کافی نیست، در این اول چند هفته، فقط به استفاده از 818 00:38:33,740 --> 00:38:34,860 چه C به ما می دهد. 819 00:38:34,860 --> 00:38:38,120 من هم رفتن به بالا رفتن در اینجا، و من می تواند آن را به بالا یا پایین تر قرار دادن، اما من 820 00:38:38,120 --> 00:38:40,340 فقط آن را بر اساس حروف الفبا مرتب نگه دارید برای نگه داشتن چیزهای منظم. 821 00:38:40,340 --> 00:38:43,470 من قصد دارم که شامل cs50.h، است که پیش نصب شده برای 822 00:38:43,470 --> 00:38:44,900 شما در دستگاه CS50. 823 00:38:44,900 --> 00:38:47,640 و آن را منبع باز است، به طوری که حتی مردم در اینترنت می تواند آن را در خود استفاده کنید 824 00:38:47,640 --> 00:38:48,450 رایانه های خود را. 825 00:38:48,450 --> 00:38:50,700 اما آن را با دستگاه CS50 می آید. 826 00:38:50,700 --> 00:38:55,320 >> بنابراین در حال حاضر اجازه دهید من به عقب برگردید و کامپایل مجدد با سلام 1. 827 00:38:55,320 --> 00:38:55,710 لعنت. 828 00:38:55,710 --> 00:38:57,240 هنوز هم یکی دیگر از خطا. 829 00:38:57,240 --> 00:38:59,370 اجازه بدهید به من رفته تا برای اولین بار، هر چند. 830 00:38:59,370 --> 00:39:00,630 این یکی کمی پیچیده است. 831 00:39:00,630 --> 00:39:03,830 شخصیت چند شخصیت ثابت است. 832 00:39:03,830 --> 00:39:04,890 که به من کمک نمی کند. 833 00:39:04,890 --> 00:39:08,220 اما توجه کنید، صدای جرنگ جرنگ حداقل کمی کمی مناسب و معقول، به موجب آن با کمی 834 00:39:08,220 --> 00:39:11,890 سبز نماد هشتک، آن را گفت: در اینجا این است که در آن من screwed تا. 835 00:39:11,890 --> 00:39:16,160 چرا آن را اشاره، که با کمی سبز فلش، به نقل قول بعدی 836 00:39:16,160 --> 00:39:18,290 به نام من؟ 837 00:39:18,290 --> 00:39:20,880 >> بنابراین این یکی از چیزهایی که شما فقط است دریافت استفاده می شود، به خصوص اگر شما بوده ام 838 00:39:20,880 --> 00:39:23,980 برنامه نویسی در پایتون، یا جاوا اسکریپت، و یا زبان های دیگر که در آن این جزئیات 839 00:39:23,980 --> 00:39:24,560 مهم نیست. 840 00:39:24,560 --> 00:39:25,740 در C، مهم است. 841 00:39:25,740 --> 00:39:29,520 اگر شما در حال اعلام یک رشته است که دنباله ای از 0 یا چند حرف، 842 00:39:29,520 --> 00:39:32,280 شما در واقع باید کوتیشن استفاده کنید. 843 00:39:32,280 --> 00:39:36,670 بنابراین من در واقع نیاز به تغییر این پشت برای باز کردن تمامی ارسالهای این کاربر نقل قول این ارسال در پاسخ، نزدیک تمامی ارسالهای این کاربر نقل قول این ارسال در پاسخ، با 844 00:39:36,670 --> 00:39:37,800 به نقل از دو برابر شود. 845 00:39:37,800 --> 00:39:41,610 نقل قول تنها جای خود را، اما تنها زمانی که شما در حال استفاده از فرد 846 00:39:41,610 --> 00:39:44,100 کاراکتر، اما در آن زمان دیگر است. 847 00:39:44,100 --> 00:39:46,550 در حال حاضر، به نقل از دو ضروری است. 848 00:39:46,550 --> 00:39:50,460 >> بنابراین در حال حاضر، اجازه دهید برگردم به ترمینال من پنجره، سلام 1. 849 00:39:50,460 --> 00:39:51,450 و کسی که اعتماد به نفس؟ 850 00:39:51,450 --> 00:39:53,800 این برنامه در حال حاضر رفتن به درستی کامپایل؟ 851 00:39:53,800 --> 00:39:58,250 852 00:39:58,250 --> 00:39:58,540 OK را بزنید. 853 00:39:58,540 --> 00:39:59,780 بنابراین سه تن از ما فکر می کنم این. 854 00:39:59,780 --> 00:40:00,280 بسیار خوب. 855 00:40:00,280 --> 00:40:01,190 را وارد کنید. 856 00:40:01,190 --> 00:40:02,440 و در واقع انجام داد. 857 00:40:02,440 --> 00:40:05,130 بنابراین هیچ خطا وجود دارد این زمان، حتی هر چند این برنامه کمی بدست 858 00:40:05,130 --> 00:40:05,840 پیچیده تر است. 859 00:40:05,840 --> 00:40:10,110 اگر من در حال حاضر انجام نقطه اسلش سلام 1، را وارد کنید، آن را به گفتن "سلام، دیوید." 860 00:40:10,110 --> 00:40:11,750 >> اما اجازه دهید تکرار سوم از این، که در آن 861 00:40:11,750 --> 00:40:13,380 برنامه واقعا پویا. 862 00:40:13,380 --> 00:40:16,770 اجازه دهید من به جلو و تغییر فایل نام، فقط برای سازگاری با 863 00:40:16,770 --> 00:40:20,410 فایل شما در دسترس باید شما پس از آن. 864 00:40:20,410 --> 00:40:21,620 را وارد کنید. 865 00:40:21,620 --> 00:40:25,510 و در حال حاضر من قصد دارم به در و نه ذخیره "دیوید" سخت کدگذاری. 866 00:40:25,510 --> 00:40:28,826 چه می توانم به کار بسیار ساده بهبود این برنامه؟ 867 00:40:28,826 --> 00:40:30,520 >> من می تواند getstring را تماس بگیرید. 868 00:40:30,520 --> 00:40:33,240 این ممکن است کمی غیر آشکار در مورد رخ می دهد، بنابراین من قصد دارم 869 00:40:33,240 --> 00:40:38,470 در واقع اضافه کردن خط دیگر، چون printf، و می گویند نام، روده بزرگ، اعلان نزدیک، فقط 870 00:40:38,470 --> 00:40:40,790 را به کاربر اعلان بر روی صفحه نمایش. 871 00:40:40,790 --> 00:40:42,980 و در حال حاضر من قصد دارم برای رفتن به اینجا، و من رفتن به استفاده از میانبر صفحه کلید من. 872 00:40:42,980 --> 00:40:47,680 من قصد دارم برای رفتن به، نام، و تغییر سلام 1 سلام 2، را وارد کنید. 873 00:40:47,680 --> 00:40:49,260 و خوشبختانه، من در حال پیشرفت است. 874 00:40:49,260 --> 00:40:52,720 >> و در حال حاضر من قصد دارم به بالا رفتن به نقطه علامت ممیز سلام و 875 00:40:52,720 --> 00:40:54,690 تغییر که به 2 را وارد کنید. 876 00:40:54,690 --> 00:40:55,650 و در حال حاضر برنامه من - 877 00:40:55,650 --> 00:40:57,700 من در زوم - گرفتن است کمی زیباتر. 878 00:40:57,700 --> 00:41:02,190 نام و نام خانوادگی می شود، اجازه دهید بگویم راب این زمان، را وارد کنید، سلام، راب. 879 00:41:02,190 --> 00:41:03,260 ما می توانیم آن را دوباره انجام دهید. 880 00:41:03,260 --> 00:41:05,360 نام و نام خانوادگی، لورن، وارد کنید. 881 00:41:05,360 --> 00:41:07,820 نام و نام خانوادگی، یوسف، وارد کنید. 882 00:41:07,820 --> 00:41:11,596 نام و نام خانوادگی، بیایید سعی کنید به دشوار است، را وارد کنید. 883 00:41:11,596 --> 00:41:12,410 ام. 884 00:41:12,410 --> 00:41:14,680 این واقعا یک اشکال نیست. 885 00:41:14,680 --> 00:41:16,090 پس از آن فقط یک کمی زشت است. 886 00:41:16,090 --> 00:41:18,640 بنابراین شاید ما می توانیم این را حل کند در آینده، نه در حال حاضر. 887 00:41:18,640 --> 00:41:20,840 >> اما چگونه می خواهید به طور غریزی در مورد پرداختن به 888 00:41:20,840 --> 00:41:21,990 که چالش خاصی را دارد؟ 889 00:41:21,990 --> 00:41:23,710 این فقط احمقانه به نظر می رسد. 890 00:41:23,710 --> 00:41:27,320 چگونه می توانم چیزهایی که شما اجتناب به دنبال احمق؟ 891 00:41:27,320 --> 00:41:29,890 بنابراین ما می تواند انجام دهد، خوب، من شنیده ام یک زن و شوهر از همه چیز، یک بیماری و یک حلقه. 892 00:41:29,890 --> 00:41:33,340 ما می توانیم با استفاده از، یک، یک بیماری، برای بررسی آنچه را که طول رشته است 893 00:41:33,340 --> 00:41:34,190 کاربر به ما داد؟ 894 00:41:34,190 --> 00:41:37,100 و اگر آن را به 0، آن را فقط نقل قول نقل قول را تمام کردن، آنها فقط ضربه را وارد کنید، سپس 895 00:41:37,100 --> 00:41:38,930 شاید من باید به آنها داد و دوباره آنها را تحریک کند. 896 00:41:38,930 --> 00:41:39,970 اما چگونه می توانم آنها را دوباره تحریک؟ 897 00:41:39,970 --> 00:41:44,230 خب، من هم شنیده ام حلقه، و من می توانم این کار را دوباره و دوباره و دوباره 898 00:41:44,230 --> 00:41:47,010 باعث کاربر برای همان چیزی که. 899 00:41:47,010 --> 00:41:48,880 >> خوب، اجازه دهید یک مثال دیگر با استفاده از یک مختلف 900 00:41:48,880 --> 00:41:50,620 تابع در کتابخانه CS50. 901 00:41:50,620 --> 00:41:52,330 اجازه دهید این فایل نزدیک به من. 902 00:41:52,330 --> 00:41:53,510 اجازه دهید من یک جدید ایجاد کنید. 903 00:41:53,510 --> 00:41:58,510 و من آن را adder.c تماس بگیرید، فقط به خاطر از آن آسان است برای انجام محاسبات ساده، 904 00:41:58,510 --> 00:42:00,890 حتی اگر این به طور کامل خواهد بود underwhelming با آنچه شما می توانید انجام دهید 905 00:42:00,890 --> 00:42:02,250 با هر کامپیوتر مدرن. 906 00:42:02,250 --> 00:42:03,750 >> اما اجازه دهید من جلو بروید در حال حاضر و - 907 00:42:03,750 --> 00:42:10,680 من درس من در زمان گذشته یاد گرفته - شامل cs50.h، عبارتند از: stdio.h، اعضای هیات 908 00:42:10,680 --> 00:42:14,170 درجه اعتبار ساقط اصلی، که، در حال حاضر، من فقط را در ایمان کور، اما ما فرض 909 00:42:14,170 --> 00:42:16,380 که آنچه را درک خواهد کرد این بدان معناست که قبل از طولانی است. 910 00:42:16,380 --> 00:42:21,030 و من قصد دارم به چیزی می گویند مانند "من از نوع int می دهد." 911 00:42:21,030 --> 00:42:22,140 >> و در حال حاضر، چگونه می توانم یک int را دریافت کنم؟ 912 00:42:22,140 --> 00:42:26,820 من می خواهم به نهایت اعلام یک متغیر به نام x را از نوع int و 913 00:42:26,820 --> 00:42:29,240 ذخیره در آن یک عدد صحیح از کاربر است. 914 00:42:29,240 --> 00:42:29,970 به طوری که یک لقمه بود. 915 00:42:29,970 --> 00:42:35,680 اما اگر کسی می خواهد به پیشنهاد، چگونه یک عدد صحیح به نام ایکس را اعلام کنم؟ 916 00:42:35,680 --> 00:42:36,310 X بین المللی. 917 00:42:36,310 --> 00:42:37,430 >> بنابراین واقعا که ساده است. 918 00:42:37,430 --> 00:42:38,240 یک int به من بده. 919 00:42:38,240 --> 00:42:39,070 * تماس بگیرید. 920 00:42:39,070 --> 00:42:40,580 در حال حاضر من با استفاده از عملگر انتساب است. 921 00:42:40,580 --> 00:42:43,400 و چگونه از فروشگاه من ارزش کاربر را ترک کرد؟ 922 00:42:43,400 --> 00:42:47,310 من نمی خواهم تماس بگیرید getstring، بدیهی است، اما نه getint. 923 00:42:47,310 --> 00:42:49,060 هر گونه استدلال؟ 924 00:42:49,060 --> 00:42:49,350 شماره 925 00:42:49,350 --> 00:42:51,870 پس از آن پرانتز باز، پرانتز نزدیک بلافاصله، و سپس 926 00:42:51,870 --> 00:42:53,440 نقطه و ویرگول بدین شکل خط به پایان می رسد. 927 00:42:53,440 --> 00:42:54,930 >> حالا اجازه دهید من این کار را دوباره. 928 00:42:54,930 --> 00:42:57,070 بین المللی دیگر به من بده. 929 00:42:57,070 --> 00:43:01,850 این بار من نوع int را انجام دهید، اجازه دهید آن تماس بگیرید Y،، برابر getint. 930 00:43:01,850 --> 00:43:05,060 و در حال حاضر اجازه دهید من انجام کاری فوق العاده ساده مانند برخی از ریاضی. 931 00:43:05,060 --> 00:43:14,340 بنابراین چون printf، مجموع از٪ d حفره یا سوراخ یک int. 932 00:43:14,340 --> 00:43:20,030 و٪ d، دوره، بک اسلش-N. 933 00:43:20,030 --> 00:43:20,360 >> بسیار خوب. 934 00:43:20,360 --> 00:43:21,670 به طوری که در واقع ریاضی نیست. 935 00:43:21,670 --> 00:43:25,500 اما اگر من می خواهم بگویم مجموع این ارزش به علاوه این مقدار برابر این 936 00:43:25,500 --> 00:43:29,320 ارزش دیگر، که چگونه بسیاری از استدلال به مجموع باید به من دادن چون printf، 937 00:43:29,320 --> 00:43:30,520 در نهایت؟ 938 00:43:30,520 --> 00:43:31,420 بنابراین چهار، درست است؟ 939 00:43:31,420 --> 00:43:33,790 این رشته و سپس سه ارزش. 940 00:43:33,790 --> 00:43:37,560 بنابراین X اولین بار است که من می خواهم به وصل در اول به٪ د. 941 00:43:37,560 --> 00:43:39,270 Y است و رفتن به آینده. 942 00:43:39,270 --> 00:43:42,030 >> و در حال حاضر من به نوعی می خواهم بگویم Z، Z وجود ندارد. 943 00:43:42,030 --> 00:43:43,190 اما این یک معامله بزرگ نیست. 944 00:43:43,190 --> 00:43:45,440 از آنجا که چه کار می کنید به طور غریزی، به خصوص اگر شما تا به حال 945 00:43:45,440 --> 00:43:47,820 ماشین حساب نموداری، شما چه نوع؟ 946 00:43:47,820 --> 00:43:48,760 چگونه در مورد X به علاوه Y؟ 947 00:43:48,760 --> 00:43:50,200 پس از آن یک متغیر واقعی نیست. 948 00:43:50,200 --> 00:43:51,820 این فقط حاصل جمع دو دیگر متغیرها. 949 00:43:51,820 --> 00:43:53,170 و این کاملا مشروع است. 950 00:43:53,170 --> 00:43:56,630 C قطعا درک ساده حسابی شبیه به این. 951 00:43:56,630 --> 00:43:58,450 >> نقطه و ویرگول، نجات دهد. 952 00:43:58,450 --> 00:44:02,080 حالا اجازه دهید من به پایین و نوع جمع کننده، وارد کنید. 953 00:44:02,080 --> 00:44:04,100 بدون خطا، به طوری که پیشرفت بیش از حد. 954 00:44:04,100 --> 00:44:04,890 جمع کننده تایپ کنید. 955 00:44:04,890 --> 00:44:07,100 و یکی دیگر از میانبر صفحه کلید، اگر شما شروع به حوصله 956 00:44:07,100 --> 00:44:08,760 با تمام دستورات - 957 00:44:08,760 --> 00:44:12,650 اگر شما شروع به تایپ یک فرمان، مانند نقطه آگهی بریده بریده، و این که در آن خود را 958 00:44:12,650 --> 00:44:16,020 خستگی لگد، شما معمولا می توانید ضربه است Tab به کامپیوتر پایان 959 00:44:16,020 --> 00:44:20,510 بقیه عبارت برای شما اگر آن نیست مبهم آنچه که باید پس از آگهی آمده است. 960 00:44:20,510 --> 00:44:23,950 >> پس اجازه دهید من جلو بروید در حال حاضر و شما کلیک کنید را وارد کنید. 961 00:44:23,950 --> 00:44:27,490 من یک int، 1، 2 را، و خوشبختانه، به 3. 962 00:44:27,490 --> 00:44:29,900 اما مثل همیشه، تست برنامه باید به کاهش نمی دهد 963 00:44:29,900 --> 00:44:30,820 فقط آن را تلاش یک بار. 964 00:44:30,820 --> 00:44:35,560 اجازه بدهید من مورد این گوشه میمیره، مانند منفی را امتحان کنید 1، 1، و یک 965 00:44:35,560 --> 00:44:36,210 چک نیز هست. 966 00:44:36,210 --> 00:44:38,870 و من احتمالا می خواهید برای انجام برخی از تست سخت، اما من زیبا هستم 967 00:44:38,870 --> 00:44:40,630 راحت که در آن است که در. 968 00:44:40,630 --> 00:44:43,110 >> خوب، در حال حاضر اجازه دهید برنامه دیگری را امتحان کنید که این زمان با استفاده از 969 00:44:43,110 --> 00:44:44,620 کمی از سایر نحو. 970 00:44:44,620 --> 00:44:46,100 اجازه دهید من یک فایل جدید ایجاد کنید. 971 00:44:46,100 --> 00:44:51,050 من این conditions0.c را خواهید تماس به خط با برخی از نمونه کد آنلاین است. 972 00:44:51,050 --> 00:44:55,550 و اجازه دهید من به جلو و انجام شامل cs50.h، شامل 973 00:44:55,550 --> 00:45:00,320 stdio.h، در درجه اعتبار ساقط اصلی - 974 00:45:00,320 --> 00:45:01,030 OK را بزنید. 975 00:45:01,030 --> 00:45:01,850 گرامی می رویم. 976 00:45:01,850 --> 00:45:03,010 ما boilerplate استاندارد ما. 977 00:45:03,010 --> 00:45:08,170 >> و این بار من قصد دارم به این می گویند چون printf فقط به "من می خواهم یک int، لطفا، دوست دارم" 978 00:45:08,170 --> 00:45:10,030 مطمئن سریع کمی دوستانه تر. 979 00:45:10,030 --> 00:45:11,620 و در حال حاضر من می خواهم به int از کاربر. 980 00:45:11,620 --> 00:45:15,010 من قصد دارم به آن در این زمان، فقط چون N برای تلفن های موبایل مانند شماره. 981 00:45:15,010 --> 00:45:18,140 getint، و در حال حاضر، چه چیزی من می خواهم با آن انجام دهد؟ 982 00:45:18,140 --> 00:45:21,640 خوب، اگر n است - و من در زوم - 983 00:45:21,640 --> 00:45:25,930 اگر n بزرگتر از 0 باشد، من می خواهم به انجام موارد زیر - 984 00:45:25,930 --> 00:45:36,060 چون printf "شما برداشت یک عدد مثبت است." دیگری، من قصد دارم به نوع چون printf "شما 985 00:45:36,060 --> 00:45:37,870 برداشت منفی 986 00:45:37,870 --> 00:45:39,650 تعداد "همه حق. 987 00:45:39,650 --> 00:45:44,410 بنابراین این برنامه، حتی اگر من این کار را کرد سریع، به نظر می رسد در حال نحوی. 988 00:45:44,410 --> 00:45:45,010 اجازه بدهید من این را امتحان کنید. 989 00:45:45,010 --> 00:45:46,890 شرط 0. 990 00:45:46,890 --> 00:45:47,710 به نظر می رسد را اجرا کنند. 991 00:45:47,710 --> 00:45:49,230 شرایط 0 را وارد کنید. 992 00:45:49,230 --> 00:45:51,910 اجازه دهید آن را از نوع int از 50 به من بدهید. 993 00:45:51,910 --> 00:45:53,160 من برداشت یک عدد مثبت است. 994 00:45:53,160 --> 00:45:54,230 اجازه دهید آن را دوباره سعی کنید. 995 00:45:54,230 --> 00:45:54,930 شرایط 0. 996 00:45:54,930 --> 00:45:56,260 50 منفی. 997 00:45:56,260 --> 00:45:57,290 من برداشت یک عدد منفی است. 998 00:45:57,290 --> 00:46:00,350 >> اما در حال حاضر، اجازه دهید من انتخاب آنچه ما می خواهیم حفظ تماس مورد گوشه ای است که بیشتر 999 00:46:00,350 --> 00:46:04,702 یک مورد جالب است که شما فکر می کنم ممکن است شما برخی از مشکلات، 0 می دهد. 1000 00:46:04,702 --> 00:46:07,940 در حال حاضر، من کاملا مطمئنم که این یکی از این موارد گوشه ای که در آن صفر است 1001 00:46:07,940 --> 00:46:12,330 نه مثبت و نه منفی، بنابراین من برنامه، هر چند در قواعد 1002 00:46:12,330 --> 00:46:15,440 اصلاح - آن کامپایل، اجرا می شود - منطقی درست نیست. 1003 00:46:15,440 --> 00:46:21,050 پس چه حل ساده است در اینجا اگر من می خواهم برای شناسایی، اگر من می خواهم که مسئولیت رسیدگی به N 1004 00:46:21,050 --> 00:46:23,840 برابر 0 به طور جداگانه؟ 1005 00:46:23,840 --> 00:46:32,980 >> بنابراین اگر n برابر 0 است، سپس من می خواهم بگویم چیزی مانند چون printf "شما 0 برداشت." 1006 00:46:32,980 --> 00:46:33,990 اجازه بدهید من این را امتحان کنید در حال حاضر. 1007 00:46:33,990 --> 00:46:38,320 اجازه دهید من به اینجا بروید، روشن پنجره من، و کامپایل مجدد. 1008 00:46:38,320 --> 00:46:38,690 HM 1009 00:46:38,690 --> 00:46:39,770 یک خطا تولید کند. 1010 00:46:39,770 --> 00:46:41,630 اما من می توانم به شما می خواهید برای بررسی اگر n برابر 0 است. 1011 00:46:41,630 --> 00:46:44,230 1012 00:46:44,230 --> 00:46:47,720 >> بنابراین دوباره، یک چیز دیگر احمقانه برای دریافت استفاده می شود، علامت تساوی است 1013 00:46:47,720 --> 00:46:48,910 عملگر انتساب است. 1014 00:46:48,910 --> 00:46:52,240 پس این است که در واقع اشتباه در آن، از لحاظ فنی، حتی اگر کامپایلر 1015 00:46:52,240 --> 00:46:56,450 من از خودم محافظت می شود، ما می خواهم فنی کپی کردن 0 به n، که 1016 00:46:56,450 --> 00:46:57,590 همان چیزی است که من می خواهم نیست. 1017 00:46:57,590 --> 00:47:00,950 من می خواهم برای برابری تست با معادل برابر است. 1018 00:47:00,950 --> 00:47:03,390 و به طوری که در حال حاضر ممکن است من راه حل بهتری است. 1019 00:47:03,390 --> 00:47:07,810 >> اجازه دهید من در واقع این resave، می گویند، conditions1، به جدید و بهبود یافته است. 1020 00:47:07,810 --> 00:47:10,480 بنابراین در حال حاضر اگر من کامپایل مجدد این، آن شرایط را - 1021 00:47:10,480 --> 00:47:16,960 اوه - conditions1 نقطه بریده بریده conditions1، را وارد کنید، "من می خواهم از نوع int می خواهم، 1022 00:47:16,960 --> 00:47:18,760 لطفا "من برای رفتن جلو و نوع 50. 1023 00:47:18,760 --> 00:47:19,660 این هنوز هم خوب است. 1024 00:47:19,660 --> 00:47:21,200 50 منفی، هنوز هم خوب است. 1025 00:47:21,200 --> 00:47:24,920 0، و، در واقع، شناسایی که من 0 برداشت. 1026 00:47:24,920 --> 00:47:28,200 >> بنابراین آنچه بیشتر می تواند به من در حال حاضر با انجام این کار؟ 1027 00:47:28,200 --> 00:47:32,280 خب، ما قطعا می توانید انجام دهید به طور فزاینده چیزهای پیچیده است. 1028 00:47:32,280 --> 00:47:37,240 اما آنچه من می خواهم به پیشنهاد این است که ما در این توجه داشته باشید در اینجا به پایان. 1029 00:47:37,240 --> 00:47:41,680 اگر ما بکشد تا این کار، شما خواهید دید، شاید، کارتون مورد علاقه شما 1030 00:47:41,680 --> 00:47:43,326 تا به امروز شما ممکن است هرگز درک کرده اند. 1031 00:47:43,326 --> 00:47:46,550 1032 00:47:46,550 --> 00:47:49,520 و این در مورد کیفیت از خنده شما باید با جوک CS دریافت کنید. 1033 00:47:49,520 --> 00:47:51,060 به طوری که در مورد حق. 1034 00:47:51,060 --> 00:47:54,900 >> اما قانعکنندهای، من فکر کردم من می خواهم ما یک تیزر کمی برای دوشنبه. 1035 00:47:54,900 --> 00:47:56,430 بنابراین ما با استفاده از اعداد صحیح را شروع کرده است. 1036 00:47:56,430 --> 00:47:57,510 ما به شناور اشاره کرده ایم. 1037 00:47:57,510 --> 00:48:00,120 ایم و حتی به دو برابر، که، دوباره، شما اعداد را 1038 00:48:00,120 --> 00:48:01,390 پس از نقطه اعشاری. 1039 00:48:01,390 --> 00:48:04,230 >> اما معلوم است که شناور و دو برابر، و، واقعا، کامپیوتر، 1040 00:48:04,230 --> 00:48:08,470 اساسا، نمی تواند بیان برخی از ارزشهای دقیقا. 1041 00:48:08,470 --> 00:48:12,840 ما از طبقات ریاضی می دانم که شما می توانید هر تعداد از اعداد بعد از 1042 00:48:12,840 --> 00:48:13,510 نقطه اعشار. 1043 00:48:13,510 --> 00:48:16,460 و شما حتی می توانید با قرار دادن یک نوار عمودی می گویند این رفتن برای همیشه. 1044 00:48:16,460 --> 00:48:18,810 >> متاسفانه، شما می توانید واقعا نمی انجام این کار در کامپیوتر است. 1045 00:48:18,810 --> 00:48:20,400 و به همین ترتیب موارد گوشه ای بوجود می آیند. 1046 00:48:20,400 --> 00:48:23,120 به عنوان مثال، فرض کنید شما انجام کاری مالی. 1047 00:48:23,120 --> 00:48:25,700 شما در حال انجام ریاضیات درصد و 1048 00:48:25,700 --> 00:48:27,030 با دلار و سنت است. 1049 00:48:27,030 --> 00:48:29,230 و این سنت نمی کنند خط لزوما. 1050 00:48:29,230 --> 00:48:34,120 خب، معلوم است که کسری از سکه می توانید شروع به اضافه کردن تا زمانی که 1051 00:48:34,120 --> 00:48:37,250 مدل با یک سیستم کامپیوتری در چنین راهی است که هوشمندانه 1052 00:48:37,250 --> 00:48:39,100 انسان ها می توانند استفاده کنند. 1053 00:48:39,100 --> 00:48:42,650 >> و کسانی از شما که دیده نمی شود، من می خواهم می خواهم یک تیزر 30 ثانیه ای به شما می دهد 1054 00:48:42,650 --> 00:48:48,290 یک فیلم فوق العاده شناخته شده به عنوان فضای اداری، که یک عکس از یک رنگ 1055 00:48:48,290 --> 00:48:51,205 مشکل ما باید مقابله با اولین چیزی که در روز دوشنبه. 1056 00:48:51,205 --> 00:48:53,960 اگر ما می تواند حجم را بالا می برد کمی، من به تو 30 1057 00:48:53,960 --> 00:48:55,495 ثانیه از فضای اداری. 1058 00:48:55,495 --> 00:48:55,770 >> [پخش ویدئو] 1059 00:48:55,770 --> 00:48:59,000 >> ، منظور من، شما، شما شده اند نشان داده نمی شود و شما را وادار به حفظ شغل خود را. 1060 00:48:59,000 --> 00:49:00,620 >> در واقع، من در حال ترویج است. 1061 00:49:00,620 --> 00:49:03,240 >> من می توانم یک ویروس است که می خواهم برنامه نویسی پاره کردن که کردن هم بزرگ است. 1062 00:49:03,240 --> 00:49:04,430 >> خوب، چگونه کار می کند؟ 1063 00:49:04,430 --> 00:49:06,782 >> هر بار که یک معامله بانکی وجود دارد که در آن بهره محاسبه و در آنجا 1064 00:49:06,782 --> 00:49:10,160 هزاران نفر در روز، کامپیوتر به پایان می رسد با این کسری از یک سنت. 1065 00:49:10,160 --> 00:49:12,030 >> اما من قصد دارم به انجام هر کاری غیر قانونی است. 1066 00:49:12,030 --> 00:49:12,660 >> غیر قانونی؟ 1067 00:49:12,660 --> 00:49:15,075 سمیر، این امریکا است. 1068 00:49:15,075 --> 00:49:16,570 >> ما باید به سوگند به خدا. 1069 00:49:16,570 --> 00:49:19,070 >> اگر کسی در این مورد می داند اما ما، همه درست است؟ 1070 00:49:19,070 --> 00:49:21,920 هیچ یک از اعضای خانواده، هیچ دختر، هیچ کس. 1071 00:49:21,920 --> 00:49:22,700 >> البته. 1072 00:49:22,700 --> 00:49:23,320 >> توافق. 1073 00:49:23,320 --> 00:49:24,280 >> -Don't نگرانی، انسان. 1074 00:49:24,280 --> 00:49:25,640 من به هر کسی بگویید یا نه. 1075 00:49:25,640 --> 00:49:26,504 >> [END پخش ویدئو] 1076 00:49:26,504 --> 00:49:30,030 >> دیوید مالان: بنابراین این، CS50 است، که فضای اداری بود، و آن را تمام خواهد شد 1077 00:49:30,030 --> 00:49:31,465 را حس در دوشنبه. 1078 00:49:31,465 --> 00:49:33,940 سپس شما را می بینم. 1079 00:49:33,940 --> 00:49:37,880 >> راوی: در CS50 بعد، راب تنظیم به خاموش بودن 1080 00:49:37,880 --> 00:49:39,130 برنامه غذایی دانشگاه هاروارد. 1081 00:49:39,130 --> 00:49:56,160