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