DAVID J. مالان: پس این CS50 است. و این خود Colton اوگدن CS50 بود، برای بیش از که موسیقی شما می توانید دانلود در soundcloud.com/cs50. بنابراین، امروز ما تمرکز همه بیشتر در هنر برنامه نویسی. و ما را که در آن ما به سمت چپ خاموش در هفته گذشته، تمرکز در ابتدا که این زبان برنامه نویسی گرافیکی. و همه چیز را به پایین به سطح پایین تر، با استفاده از برنامه نویسی سنتی زبان شناخته شده به عنوان C. اما در طول راه، تحقق که همان ایده ما در مورد جمعه گذشته صحبت کردیم عود نه تنها در این زبان C، اما در اغلب هر دیگر که ما در این ترم است. بنابراین ما این چیزی به نام در اینجا آنچه برای آخرین بار؟ این نماینده یک بیانیه است. بنابراین ما در این بیانیه گفته می شود. و آن چیزی. این یک دستورالعمل است که کامپیوتر و یا خراش ممکن را اجرا کند. و از این پس، بیایید شروع با تماس چیزی شبیه به این تابع، دلایل ما به زودی خواهیم دید. در همین حال، ما چیزهایی مثل این را دیدم. و این به طور کلی شناخته شده به عنوان چه ساخت؟ رسید حلقه. DAVID J. مالان: پس یک حلقه. بنابراین بسیار سر راست است. این به معنای واقعی کلمه آن را می گوید. و در ابتدا، اگر شما می خواهید خودرا برای امتحان اماده قطعات پازل در وجود دارد، قطعه رشد خواهد کرد آن جا داد. و ما را در C دید که ما می توانیم همین کار را انجام دهد. نوع دیگری از حلقه، هر چند، در ابتدا ممکن است برای همیشه، و یا در هر تعداد وجود دارد از روش های دیگر است. اما اجازه دهید بیشتر نگاه عمومی، با چهره که به احتمال زیاد کاملا آشنا، در حلقه به طور کلی. مارک زوکربرگ: یکی چیزی که کامپیوتر واقعا در خوب تکرار دستورات. به عنوان یک فرد، شما می خواهم کنید واقعا حوصله اگر شما تا به حال به انجام همان چیزی بسیاری از زمان ها در یک ردیف. اما یک کامپیوتر می تواند همین کار را بکند میلیون ها و یا حتی میلیاردها بار، و می کنید بی حوصله، و قادر برای حمل که از واقعا خوب است. بنابراین برای مثال، اگر من می خواستم به همه آرزو در فیس بوک یک تولد با ارسال یک ایمیل به آنها، ممکن است من بیش از یک را قرن در واقع نوشتن از همه کسانی که ایمیل به همه. اما تنها با چند خط کد، من می توانم یک سیستم ارسال ایمیل به همه در فیس بوک که مایل آنها یک تولد. بنابراین این چیزی است که حلقه هستند و چرا آنها با ارزش و چیزی که کامپیوتر می تواند به خوبی انجام دهد. DAVID J. مالان: بنابراین اگر شما دریافت کننده بوده است برخی از در CS50 و فضای Dropbox را از اواخر سال، که در واقع دقیقا چیزی است که ما انجام دهید، با استفاده از کد کاملا شبیه به آن. ما در اصل یک بزرگ صفحه گسترده به آن مردمی اند وارد کردن آنها شده است نام و آدرس ایمیل. و ما کمی از کد نوشت که می تواند تکرار بیش از آن آدرس و تف آدرس منحصر به فرد در مورد هر کسی چند بار مشاهده کنید. و پس از آن، ما ارسال ایمیل خودکار از ربات CS50 است، از جمله کد کوپن. در حال حاضر ما نیز در نگاه این ساخت زمان گذشته است. و این خاص به عنوان مثال از چه؟ بنابراین، بله، عبارت بولی باشد. و به شکل معنی است برای گرفتن آن. همه این سوالات از شکل درست یا غلط در ابتدا یک چیزی کمی شبیه به این. و ما این را یک عبارت بولی باشد. این در واقع درست است یا غلط، بله یا نه. این یک راه پاسخ دادن به یک سوال است. و در همین حال شما می توانید این بولی استفاده عبارات داخل سازه مانند این است که از البته شرایط و یا شاخه ها، ضرب المثلی چنگال در جاده ها است. و آنها می توانند نه تنها شبیه به این، اما آنها همچنین می توانید اند میکنم با آنها در ارتباط است. و شما در واقع می تواند به سه راه دارند چنگال را در جاده و یا یک چهار راه و چنگال در جاده ها، به سادگی با تودرتو این چیزها، عنوان شما در ابتدا ببینید اگر شما در حال حاضر نیست. و به عنوان شما می توانید در C و همچنین انجام دهد. بیایید عمومی دیگر در alumnist نگاه کنید، و همچنین، که ممکن است یک رویکردی متفاوت ارائه به این چیزها به نام شرایط. بیل گیتس: مردم را تصمیم گیری هر روز. به عنوان مثال، قبل از اینکه شما در خارج از شما به نوع اگر بیانیه ای که می گوید، اگر باران ببارد پس از آن من نیاز به ژاکت من. و کامپیوتر های شگفت انگیز یک بار شما تصمیم گیری این نوع از اظهارات، که آنها قابل اعتماد می تواند اجرا کسانی که همه چیز با سرعت باور نکردنی. و به این ترتیب یک برنامه کامپیوتری واقعا کمی از ریاضی و بعضی از است اگر اظهارات که در آن تصمیم گرفته می شود. DAVID J. مالان: پس به عنوان شما ممکن است بدانید، آن را مردمی مانند بیل گیتس، پل آلن و دیگران که واقعا لگد کردن به اصطلاح کامپیوتر شخصی انقلاب چند سال پیش. من فکر کردم، قبل از ما شیرجه به برخی از administrivia، ما می خواهم یک داستان از آلبوکرک مربوط، موزه نیومکزیکو تاریخ طبیعی و علم که در آن برخی از بیل گیتس و اولین داستان پل آلن در حال بازگو کردند که چگونه ما در حال حاضر رایانه های شخصی امروز و مکینتاش و بیشتر. برای این کار، هر چند، ما باید از دو داوطلب که صدای روایت بسیار خوب به عنوان خوانده شده یک اسکریپت با صدای بلند. خوب، چگونه در مورد در عقب وجود دارد. بیا تا. و چگونه در مورد در مقابل اینجا. بیا پایین. نگاهی به مکان های خود را در اینجا. همانطور که شما بچه ها می آیند تا، یک زن و شوهر اطلاعیه های اداری. برش، روند انتخاب بخش، این شروع خواهد شد چهارشنبه تا جمعه. بیشتر در این است که آینده چهارشنبه در سخنرانی. بخش سوپر، در عین حال، می چیزی است که ما ارائه می دهیم هفته آینده به موجب آن تمام کلاس دعوت شده است برای شرکت در مقیاس نسبتا بزرگ بخش، یکی راحت تر، یکی کمتر راحت است. و ما خاص اعلام از آن، و همچنین، در اواخر این هفته. بخش در همین حال، خود، شروع خواهد شد در هفته سه دوره، شاخص صفر، که به معنی آن یک زن و شوهر از هفته از. پس نگران نباشید. شما هنوز از دست رفته هر چیزی در امتداد آن خطوط. در همین حال در عین حال، اگر شما هر گونه سوال و اداری، ایمیل خودم و دوون و گیب و راب در این آدرس در اینجا. در نهایت، مشکل تنظیم 0 است، البته، از. شما ممکن است متوجه در وب سایت این دوره است. این باید شما را با ارائه تمام پاسخ به سوالات شما ممکن است در طول راه برای دارند کار با مجموعه ای مشکل آغاز شده است. اما اگر شما به خودتان پیدا کنید نیاز به دست یاری، با تمام معنی حضور در ساعت اداری، دوشنبه، سه شنبه، چهارشنبه، پنج شنبه از این هفته در شب در چهار سالن ناهار خوری. که URL وجود دارد را مشاهده کنید برای خاص که در آن ساعات اداری خواهد بود. حالا اجازه دهید به دیدار ما دو مهمان امروز در اینجا. نام شما چیست؟ JAY PAUL: جی پل. DAVID J. مالان: جی پل، ملاقات با شما خوشبختم. HIKARI: Hikari. DAVID J. مالان: Hikari؟ HIKARI: Hikari. DAVID J. مالان: Hikari. از ملاقات شما خوشبختم نیز هست. جی پل و Hikari در دارند جلوی آنها را در این موسیقی مخفف دو اسکریپت که من چاپ از صبح امروز از مکزیک جدید موزه تاریخ طبیعی و علوم. و چیزی که من فکر می کردم من می خواهم در بالای سر انجام است همراه قرائت خود را اسکریپت و این تاریخ با برخی از تصاویر بصری، هیچ شگفتی. و چیزی که من در پیش انجام داده ام در اسکریپت خود را prehighlight آنچه شما باید به عنوان خوانده شده، و آنچه شما باید به عنوان خوانده شده. و ما در اصل پاراگراف فقط جایگزین. پس از آن بسیار شبیه به شما ممکن در کلاس زبان انگلیسی انجام داده اند. که واقعا وادار به مخاطبان در داستان خود را باور کنید. باید ما؟ بنابراین داستان در اینجا این است، ما یک BASIC، و آن را در کمبریج آغاز می شود. JAY PAUL: زمستان، سال 1974، در کمبریج، ماساچوست که در آن زمستان می تواند سرد باشد. ریشو، موهای بلند کالج ترک تحصیل نام پل آلن در سراسر هاروارد drudging شد میدان، جذب در افکار خود را. دغدغه اصلی او در آن روزها بود که چگونه می توانید دوستان خود، بیل گیتس، به ترک مدرسه و رفتن به کسب و کار با او. HIKARI: دو در حال حاضر رفته بود از طریق تعدادی از سرمایه گذاری کسب و کار با هم، با شروع در Lakeside استفاده مدرسه در سیاتل که در آن آنها در زمان کامپیوتر رایگان به پرداخت شد تست یک کامپیوتر PDP-10 در یک زمان محلی به اشتراک گذاری شرکت می باشد. طرح اخیر به ترک شده بود مدرسه و تشکیل یک شرکت نرم افزاری. آلن واشنگتن را ترک کرده بود دانشگاه ایالتی. اما در آخرین لحظه، گیتس تصمیم به چوب با دانشگاه هاروارد. JAY PAUL: آن روز، عبور از هاروارد میدان، آلن کشف ژانویه، 1975 موضوع معروف الکترونیک با تیتر توقف زمین، کیت جهان اولین مینی کامپیوتر به منظور رقابت با مدل های تجاری. زیر تیتر بود یک عکس از یک جعبه کوچک آراسته با چراغ ها و سوئیچ ها. این MITS Altair 8800 می نامیده شد. و آلن می دانستند این بود که او به دنبال چه بود. HIKARI: روز بحث است. آلن و گیتس درک اهمیت Altair کار کردند. آنها اغلب صحبت کرده بود در مورد ریزپردازنده و انتظار برای دیدن آنچه که می توان با آنها انجام می شود. در حال حاضر در یک کیت مینی کامپیوتر وجود دارد پوشش الکترونیک پذیری. ظاهرا هنوز به حال هیچ نرم افزار. آنها یک ملت از تصور برنامه نویسان نزولی در MITS. و به طوری که آنها به نام اد رابرتز، رئیس این شرکت، این ادعا به یک نسخه از زبان برنامه نویسی BASIC تقریبا آماده برای Altair. آنها نداشت. و رابرتز باید شناخته شده آنها نیست. او گرفتن 10 تماس در روز از افرادی که تا به حال یک BASIC تقریبا آماده شده است. و پاسخ سهام خود اولین کسی بود " که نشان می دهد تا با یک کار BASIC می شود قرارداد. " JAY PAUL: گیتس و آلن هرگز یک Altair دیده بود. آنها حتی هرگز ندیده بود اینتل ریزپردازنده 8080 در قلب Altair کار کردند. اما چند سال قبل از آن آلن یک برنامه نوشته بود در کامپیوتر های پردازنده مرکزی است که شبیه سازی بهره برداری از اینتل قبلی ریز پردازنده. و این زمان در اطراف آنها همان کار را انجام دهد. HIKARI: با اینتل کاربر 8080 در سمت خود، آلن در یک نشست دانشگاه هاروارد PDP-10 کامپیوتر و نوشت: شبیه ساز و نرم افزار ابزار لازم برای انجام برنامه نویسی. در همین حال گیتس متوقف رفتن به کلاس و خود را اختصاص داده شده به طراحی BASIC، با استفاده از هر ترفند او می دانست که برای به دست آوردن اندازه پایین 4 کیلوبایت. JAY PAUL: از در آلبوکرک، اد رابرتز یک تماس از گیتس درخواست برای جزئیات بیشتر در مورد چگونگی نام Altair روال خاص انجام می شود. هیچ کس تا کنون خواسته بود که قبل از. و رابرتز شروع به گرفتن علاقه مند است. HIKARI: با توسعه ابزار و طراحی های آماده، گیتس و آلن نوشت کد در PDP-10، به خدمت گرفتن یکی دیگر از دانشجویان دانشگاه هاروارد، مونت دیویدوف، برای نوشتن روال های ریاضی. پس از یک شب نهایی برنامه نویسی، آلن رو در هواپیما برای ارائه BASIC خود را به MITS. او صرف هواپیما سوار نگران کننده است. و پشت در کمبریج گیتس نگران کننده شده است. آنها آزمایش شده بود BASIC و آن را بر روی شبیه ساز کار کرده بود. اما اگر از شبیه ساز اشتباه بود؟ JAY PAUL: به عنوان هواپیما با نزدیک شدن به آلبوکرک، آلن متوجه شدم که خود را BASIC، در حال حاضر منظمی شامل در یک حلقه کوچک از مشت نوار کاغذی، می بی فایده است بدون جدا باشد برنامه، به نام لودر، که به نام Altair چگونه بگویم به عنوان خوانده شده بودن نوار کاغذی تغذیه به ماشین تحریر مانند. او در زمان از نوت بوک خود را به سرعت و نوشته پایین برنامه لودر در زبان اسمبلی، سپس به صورت دستی ترجمه که به 1s و 0s نام Altair را درک کنید. HIKARI: آلن انتظار تمیز، کمی، شرکت های فن آوری بالا توسط مردان در لباس کسب و کار اجرا شود. بنابراین او شگفت زده بود که رابرتز ملاقات او در فرودگاه به دنبال مانند یک مرتع پرورش احشام دست. رابرتز نیز شگفت زده شد. وقتی او کاهش یافته هاروارد برنامه نویس در یک هتل گران قیمت، آلن تا به حال به اعتراف او می تواند اتاق را ندارند. JAY PAUL: MITS، خود، بود واقع در مرکز نوار گرد و خاکی. در داخل در هم ریخته میز کار یک Altair بود لود شده با 5 کیلوبایت حافظه و متصل شده توسط کابل به یک ماشین تله تایپ. رابرتز و مهندس ارشد، بیل یاتس، منتظر انتظار به عنوان آلن جابجا لودر خود برنامه به نام Altair. تله تایپ آغاز شد chugging به عنوان آن را کشیده نوار کاغذی را از طریق خواننده نوار. از آن زمان شاید 15 دقیقه برای بارگذاری برنامه است. سپس به طور ناگهانی تله تایپ چاپ حافظه سریع، پس از آن به موقع آماده، و آلن شروع به تایپ کنید چند تست فرمان. شگفتی همه، نرم افزار کار کرده است. بود اشکالات وجود دارد، البته. اما نکته اصلی این بود آن کار می کرد. HIKARI: پس از آن، در راه خود به 3.00 $ ناهار در در و Pancho، زنبور پرواز در پنجره وانت کامیون و آلن بر روی بازوی نیش زده. اما در آن هیچ چیز نقطه می تواند خلق و خوی فاسد. نام Altair BASIC در حال حاضر به حال آن، اولین نرم افزار تجاری برای یک خانه کامپیوتر، ساخته شده توسط پل آلن و بیل گیتس، انجام کسب و کار به عنوان مایکروسافت. DAVID J. مالان: بسیاری از به لطف دو خوانندگان ما. [تشویق حضار] DAVID J. مالان: در حال حاضر شما باید انتخاب خود را، قبل از ترک، یک sparkly و یا تب و تاب بودن در dark-- آه، منتظر یک ثانیه، wait-- sparkly و تب و تاب بودن در فیل تاریک از خود گانگ چنگ CS50 است. HIKARI: خوبه، با تشکر از شما. DAVID J. مالان: همه راست، از شما بسیار متشکرم. [تشویق حضار] DAVID J. مالان: داستان بنابراین درست است. این است که می گویند که همه ی این ماشین آلات و سهولت که ما با آن استفاده از آنها در حال حاضر و را برای اعطا شده، واقعا آغاز شده در اینجا، فقط چند قدم از این تئاتر واقعی. و امروزه، اگر شما نبوده است، این است ماکسول دورکین، کامپیوتر ساختمان علوم، همچنین در اطراف گوشه. و در طبقه دوم این ساختمان می کند قطع سه صفحه از کد منبع اصلی که بیل گیتس و پل آلن نوشت. در واقع، اگر شما استفاده از زوم در که مشاهده می کنید، نه تنها نام خود را در نوع اصلی، بلکه امضا خود را که آنها آراسته چند سال پیش زمانی که آنها آخرین بازدید کردند. اما آنچه به خصوص قانع کننده بود در مورد این چیزی است که آنها برای به انجام به نوشتن برنامه ای است که می را قادر می سازد مردم دیگر را به ارسال برنامه های خود را دارند. در آن زمان تمام شد با وجود این دستگاه از Altair ساخته شده توسط MITS. و همه آنها مورد نیاز برخی از راه بود ساخت آن آسان برای علاقمندان و مردم دوست ما در این اتاق در واقع برنامه که بدون اینکه لزوما درک کد مجمع، یا ماشین کد، یا خدای ناکرده، 0s و و 1S. ما برنامه نویسان، مانند کسانی که در این اتاق، ما می خواهم که قادر به بیان خود را بیشتر شبیه شبه کد حتی اگر آن را شپش کمی بیشتر است ضربه زننده از ما در هفته گذشته صحبت کردیم. ما نمی خواهیم به نوشتن کد مثل این، که پل آلن و بیل گیتس بود. ما، به جای آن، می خواهم به نوشتن کد است که به نظر می رسد کاربر کمی بیشتر پسند. در حال حاضر این زبان شناخته شده به عنوان BASIC است. و شماره خط وجود دارد چیزی است که شما استفاده به سادگی خط کد شماره که شما در حال نوشتن. ما حتی نمی به انجام این کار این روز است. اما شما می توانید در اینجا مشاهده کنید چگونه PRINT "سلام جهان" در واقع احتمالا درست است که چاپ. و به این ترتیب آنچه که بیل و پل بود توانمند سازی مردم به نوشتن کد مثل این به جای of-- اگر شما نگاهی به علوم کامپیوتر مثل این کد wall--. در واقع، CS50 اخیرا یک فرصت به حال به نشستن با استاد هری لوئیس در علوم کامپیوتر گروه، که در واقع تدریس بیل گیتس چند سال پیش، و ایستاده است در اینجا قبل از این سه صفحه از گزیده ای. اجازه دهید یک نگاه. HARRY LEWIS: چیزی که در اینجا است فهرستی از یک قطعه اولیه نرم افزار نوشته شده توسط بیل گیتس و پل آلن، از بنیانگذاران مایکروسافت. بنابراین کد جالب است به دو دلیل. اول از همه، آن را اولین محصول مایکروسافت، که یک مفسر برای بود زبان برنامه نویسی BASIC. و در مرحله دوم، این بود یکی از تلاش اول برای ایجاد یک مترجم به طوری عادی مردم می توانند رایانه های شخصی استفاده کنید. بنابراین بیل گیتس بود در مقطع کارشناسی در دانشگاه هاروارد. من شروع به تدریس در دانشگاه هاروارد در سال 1974. این در سال 1975 انجام شد. پس از آن در کار خود را در اوایل بود و در اوایل کار من است. من در واقع بیل در تدریس البته در این زمان. پل آلن بود دانشگاه هاروارد دانش آموز، اما او یک دبیرستان بوده است همکلاسی از بیل گیتس. اگر شما می آیند و نگاه در این فهرست، شما در واقع پیدا کردن یک سوم نام و نام خانوادگی، مونت دیویدوف، که همکلاسی گیتس بود اینجا در دانشگاه هاروارد. OK، بنابراین در اینجا نظر جالب اینجا. این گزارش می گوید: "در 4K می تواند ریشه مربع حذف اما برای حلقه هنوز هم باید کار کند. " OK، چه خوب، این بدان معناست که وجود دارد این است که دو راه برای تدوین این برنامه بود. یکی بود به اجرا در نسخه از این کامپیوتر نام Altair که فقط 4K کلمات به حال حافظه، 4096 کلمات حافظه است. اما نسخه بزرگ 8K بود. و بنابراین آنچه که این می گوید که در نسخه 4K شما تا به حال برخی را حذف کنید کد به آن را جا داد. و یکی از چیزهایی که خواهد بود که حذف خواهد بود که معمول ریشه مربع است. اما ظاهرا برای حلقه باید هنوز هم کار حتی زمانی که شما کامپایل کردن فقط برای نسخه 4K از کامپیوتر است. DAVID J. مالان: بنابراین یکی از تم ها، به عنوان ما در علم کامپیوتر را مشاهده کنید، این مفهوم است لایه بندی و انتزاع، و واقعا ایستاده بر دوش از مردمی که قبل از ما آمده اند، نه بر خلاف برخی از بیل گیتس و پل آلن روایت است. و این بدان معنی است که امروز ما می توانیم برای گرفتن که اعطا چیز در واقع آسان تر برای ما به نوشتن کد. در واقع کد، همانطور که ما در روز جمعه گفت، از لحاظ فنی بیشتر به عنوان کد منبع شناخته شده است. و این به این انگلیسی مانند نحو که مناسب بیشتر و بیشتر به خوبی تعریف شده است از چیزی شبیه شبه کد، برای که هیچ تعریف رسمی وجود دارد. و امروز آنچه که ما در حال رفتن به تمرکز بر روی کد منبع است که به نظر می رسد مثل این است که مسلما در نگاه اول به نظر می رسد به طور کامل مرموز. و رک و پوست کنده، آن را راه زیبا تر پیچیده تر از برنامه های زمینه ای است. تمام این برنامه می کند، فراخوان، چیزی است که ما می گویند؟ این فقط چاپ "سلام جهان است." و با این حال در همه چیز ما نیاز به نگاه به اطراف که عبارت بسیار ساده بپیچید. اما قبل از اینکه طولانی همه این خطوط و بیشتر حس بسیار بهتر را به شما می سازد. و جریان به شرح زیر است. چیزی که ما در اختیار ما نیاز این است که کد، مانند منبع کد که ما فقط دیدم. و ما نیاز به یک برنامه جدید آن را اجرا کنید از طریق. ما الگوریتم نیاز است که می تواند تبدیل کد منبع، مانند این، به کد شیء، 0s و و 1S. به عبارت دیگر، آنچه که ما قصد داریم برای یادگیری امروز این است که چگونه به انجام این کار، ارسال کد منبع تا بالا، عبور از آن به عنوان ورودی به ویژه برنامه شناخته شده به عنوان یک کامپایلر، و ما قصد داریم به تولید کد شی. کدام فقط یک راه فانتزی است گفت: ما چیزی را که به نظر می رسد مثل این، با تصویب آن به یک برنامه ای به نام کامپایلر، تولید کد شی که به نظر می رسد مثل این. بنابراین این به معنای واقعی کلمه الگوهای 0s و و 1S است که توسط درک کامپیوتر اینتل این روزها، که در صورتی که توسط CPU تفسیر، مغز در داخل یک کامپیوتر، به معنای واقعی کلمه از چاپ، کاملا به سادگی، "سلام جهان است." در حال حاضر 0s و و 1S راه را بیش از شما وجود دارد امیدواریم ممکن است لازم باشد برای آن. اما این دلیل است که ما در حال ساخت در یک معامله خوب از پیچیدگی که ما از این پس می توانید آن را حق مسلم. به عبارت دیگر، بسیاری از مردم هوشمند به ما داده اند بسیاری از ابزار سرد و نرم افزار قدرتمند که ما با آن هم اکنون می توانید پروژه های خود ما را. بنابراین اجازه دهید شروع کنید. در حالی که جمعه گذشته، و برای مجموعه مسائل 0 این هفته، شما خواهید بود در یک بازی جهان است که به نظر می رسد مثل این. از آغاز امروز و برای مشکلات تنظیم 1 هفته آینده، کد رفتن به نگاه کمی بیشتر مرموز، اما عملکرد است رفتن به همان. بنابراین اطلاع، بالا خراش است، پایین خراش C. صادقانه بگویم است کاربر خیلی بیشتر است دوستانه و در دسترس است. اما اگر شما در حال حاضر مقایسه بصری به بالا پایین، نوع یک به یک وجود دارد مکاتبات بین قطعات پازل و زبان ما در مورد بازی با هستی. به طور خاص، می گویند، پازل آبی قطعه تا بالا، ظاهرا معادل چه کلمه کلیدی یا عبارت خاصی در این زبان به نام C؟ رسید تابع () printf. DAVID J. مالان: تابع () printf. این بدان معناست که چاپ فرمت. و این فقط یک فانتزی است راه گفت: تابع () printf در C در حال رفتن به یک گفته یا یک تابع این چیزی است که به صفحه نمایش چاپ میکند. چه آن را به روی صفحه نمایش چاپ؟ هر آنچه که شما آن را به داخل از نقل قول ها، در داخل پرانتز. پس دوباره، مسلما، در بسیاری از مواد وجود دارد که شما باید به خاطر داشته باشید، پرانتز، به نقل از، نقطه، و همه از این. اما همه که مرتب سازی بر اساس از کنار نقطه. غذای آماده جالب در حال حاضر این است که بلوک مثلا در ابتدا است که تقریبا معادل دستور printf در C. در همین حال، قطعه پازل زرد تا بالا، هنگامی که پرچم سبز کلیک، احتمالا معادل به آنچه که در اینجا کلمه کلیدی؟ رسید: اصلی. DAVID J. مالان: پس اصلی. شاید اعضای هیات، شاید از درجه اعتبار ساقط. اما نوع اصلی از تلفن های موبایل مانند این مهم است، و در واقع آن است. بنابراین، هنگامی که پرچم سبز کلیک است، دوباره، قطعه پازل که لگد کردن کل برنامه خراش. اما ما در حال حاضر رفتن به شروع به تلفن که اصلی، این تابع شناخته شده به عنوان اصلی. در حال حاضر در عین حال ما تعمیم این به شرح زیر است. ما ممکن است تماس می گویند یک تابع. و این ممکن است نگاه به طور خاص، مثل این. خب، چه در مورد حلقه ها؟ اگر ما می خواهیم برای شروع تبدیل و یا ترجمه در ابتدا به C، این چیزی که در اینجا ظاهرا فقط می گوید: "سلام جهان" برای همیشه لطفا برای. بنابراین اگر این شما مرتبط اسکریپت با یک گربه در ابتدا، آن را فقط به حفظ و گفت در برخی از انواع حباب های کارتونی، "سلام جهان، سلام دنیا، سلام جهان، "آگهی nauseum، برای همیشه. اگر ما می خواهیم برای انجام کاری در مشابه C، آن را به نگاه کمی مرموز. اما ما می توانیم همان رسیدن به نتایج، تا ما در نهایت پیدا کردن، با نحو مثل این. من قصد دارم به استفاده از تابع () printf دوباره، چرا که در پایان روز چاپ "سلام جهان است." و من ظاهرا با استفاده از کلمه کلیدی است که برای همیشه نیست. این کلمه در حالی که به جای آن. اما فقط از لحاظ معنایی در انگلیسی، در حالی که نوع برخی از انواع حلقه و یا چرخه نشان می دهد. به طوری که اتفاق می افتد به کلمه کلیدی که C استفاده می کند. و در حالی که درست است، چرا در حالی که درست است به طور موثر به معنی برای همیشه لطفا برای؟ خب، در حالی که، به عنوان ما به زودی قدردانی از همه بیشتر، است این پرانتز در کنار آن که در آن شما می توانید یک عبارت بولی قرار داده است. و به این ترتیب زمانی که بیان درست است، این کد، به عنوان بین این دو نشان داده می شود آکولاد به عنوان ما به آنها تماس بگیرید، فقط نگه داشتن دوباره و دوباره در حال اجرا. بنابراین درست است درست است. بنابراین در حالی که به معنای واقعی فقط این کار را برای همیشه. این تقریبا یک احمق ساخت تا خود را بیان کنند. اما هیچ برای همیشه وجود دارد کلمه کلیدی در C. بود در حالی که وجود دارد. و بسیار ساده وجود دارد عبارت بولی مثل درست است. و این، خواهیم دید، همان نتیجه بدست می آورد. چگونه چیز دیگری ممکن است یک حلقه شما پیاده سازی؟ خوب، در ابتدا شما ممکن است کد سخت با شماره های خاص تکرار در حلقه اینجا. و به این ترتیب این دقیقا همان چیزی است که ما ممکن است در این نسخه از C را انجام دهد، به موجب آن ما یک اصطلاح برای حلقه. و از حلقه for در اینجا است که به تکرار، تا حدودی cryptically، از مقدار 0 در تا به کمتر از 10. در حال حاضر متغیر در ابتدا. شما نمی ممکن است به حال مناسبت برای استفاده از این. اما آنچه نقطه، به طور کلی، یک متغیر به ما در هفته گذشته می گویند؟ آن چیست؟ رسید امتیاز. DAVID J. مالان: به نقطه؟ اوه، اشاره می کند. OK، پیگیری از نقاط، به عنوان مثال، در یک بازی. یا بیشتر به طور کلی انجام چه با متغیر؟ ابزار از آنها چه خبر؟ رسید حافظه. DAVID J. مالان: آره، بنابراین حافظه است. این برای ذخیره سازی چیزی است. و نوع I بصری احمقانه استفاده می شود زمان آخرین مثل این کاسه شیشه ای بود. و اگر ما می خواستیم به ذخیره چیزی در درون یک متغیر، به عنوان مثال در حال حاضر ارزش شش دلیل است که وجود دارد شش توپ پینگ پنگ در اینجا. این فقط نوعی از ذخیره سازی است ظرف است که در زیر هود با بیت، 0s و و 1S اجرا، با این حال یک کامپیوتر اتفاق می افتد به انجام این کار. بنابراین در ابتدا، اگر ما می خواهم به یک متغیر، ما می توانیم یک بلوک نارنجی مانند این استفاده کنید. ما که ضد زنگ می زنم در این مورد خاص. من آن را به 0 مقدار دهی شود. و آنچه در آن I پس از آن انجام دهید؟ برای همیشه لطفا برای، می گویند ضد، که اگر شما با این بازی در ابتدا، شما فقط می خواهید خراش را ببینید. گربه یا هر صحنه و لباس شما قرار داده و در او به تعداد مورد نظر صحبت می کنند. تغییر شمارنده 1 است مانند افزایش 1. و این است که به تعداد دفعات مشاهده از آنچه که چی؟ از 0 تا وقتی که بی نهایت، و یا تا زمانی که استراحت خراش، و یا تا زمانی که شما مرتب کردن بر اساس از دست دادن علاقه به تماشای چگونه بالا او در واقع می تواند حساب کند. پس چگونه ممکن است ما این تبدیل به C؟ این خبر که به دنبال کمی مرموز. اما باز هم، اگر شما در هر یک نگاه این خطوط به صورت جداگانه آنها نوع ترکیب به طور کلی. بنابراین ظاهرا اعضای هیات در حال رفتن به برخی از معنی خاص در C. ما دوباره خواهید دید که. از سوی دیگر آن را به معنی عدد صحیح است. بنابراین آن را فقط به مفهوم عدد. به طوری که نوع است کاسه شیشه ای من می خواهم، یک است که می تواند اعداد ذخیره، توپ پینگ پنگ نیست. و من قصد دارم به استفاده از علامت مساوی وجود دارد به آن یک مقدار را از 0. به طوری که کاملا مانند مجموعه مقابله با 0، اما در C. در همین حال، در حالی که درست است، که بود معادل، البته، برای همیشه، حتی اگر آن را کمی مرموز، و سپس در داخل آکولاد. و شما می توانید از این آکولاد فکر می کنم، که شما می توانید بر روی صفحه کلید خود را تایپ کنید، به عنوان واقعا که مانند انحنای در این بلوک حلقه زرد در ابتدا. این پذیرای چند خط کد. تابع () printf گرفتن کمی ترسناک حال حاضر به دلیل I دیدن نه تنها در داخل پرانتز به نقل از. اما چه چیز دیگری جدید است نحوی در این مثال؟ یک درصد د وجود دارد. و پس از آن بک اسلش نفر است وجود دارد. ما می بینیم که قبل از آن، حتی هر چند من آن را اشاره نمی کند. سپس یک کاما از هم وجود دارد. و پس از آن برای مقابله وجود دارد. اما ما فقط در ببینید لحظه ای که این فقط یک روش استاندارد برای گفتن چاپ "عدد اعشاری،" نقل قول، نقل قول را تمام کردن، برخی از عدد دهدهی. اما من قصد دارم به شما بگویم بعد آنچه که عدد دهدهی است. بنابراین این واقعیت است که یک کاما از هم وجود دارد در این خط گفت تابع () printf، به معنی پیش بروید و چاپ برخی از عدد دهدهی. اوه، و توسط راه، تعداد است هر چه مقدار این متغییر است. و به این ترتیب به این تر روشن است، ما به عنوان مثال نگاه کنید به قبل از اینکه طولانی که دقیقا تابع () printf در چارچوب برنامه های واقعی C. در حال حاضر فقط به بسته بندی کردن تا برخی از از این سازه. عبارات بولی، شما ممکن است مناسبت برای استفاده از این در برنامه شما اما شما ممکن است به خوبی، به خصوص اگر با استفاده از شرایط. و به این ترتیب این دو مثال از با ناخن خراش معنی اگر x کمتر از y باشد، و یا اگر x کمتر از y باشد و y کمتر است از الف، چگونه ممکن است ما در ترجمه که؟ خوب، در C آن را فقط رفتن به شبیه به این. کمی مرموز، پرانتز بیشتر، برخی از آمپرسندهای کاربردی عجیب است، اما اساسا ایده ها را به عنوان ساده به عنوان آنها در جهان قطعه پازل می باشد. ما به سادگی چک کردن اگر چیزی کمتر از چیز دیگری است. چگونه در مورد شرایط؟ به طور خلاصه به زبان انگلیسی، چه این کار را تکه از کد خراش را به شما می گویند؟ رسید مقایسه دو عدد. DAVID J. مالان: مقایسه دو اعداد، و اگر x کمتر از y باشد آن را تا آنجا می گوید. اگر x بزرگتر از y باشد آن را می گوید به همان اندازه، دیگری اگر x برابر است با سالانه آن را می گوید به همان اندازه. در حال حاضر که در آن x و y از کجا آمده اند؟ چه کسی می داند. این تکه از خراش فعال است خارج از چهار چوب. اما چیزی که ما می خواهیم انجام دهیم در حال حاضر ترجمه این برای فقط یک لحظه برای دیدن. همانگونه که شما دریافت راحت این هفته در مجموعه مسائل 0 بازی در این دنیا در سمت چپ، متوجه که ایده های در حال تغییر نمی این هفته و یا در کنار و یا فراتر از آن. ما به سادگی در حال رفتن به شروع به نوشتن همه چیز در راه های مختلف با ما صفحه کلید به جای ماوس هستید. بنابراین اگر x کمتر از y باشد، و در برخی از پرانتز وجود دارد، پس از آن برخی از آکولاد وجود دارد دوباره به نوع آن در محفظهای درست مثل قطعات پازل زرد انجام دهد. و من قصد دارم به تابع () printf ایکس کمتر از y و غیره است. چه خوب در مورد C است، عنوان شما در اینجا می توانید ببینید، این است که شما این تودرتو می کنید، تودرتو، تودرتو که لزوما رفتن به فشار کد خود را به سمت راست. شما به جای می تواند همه چیز دارند صف منظمی این را دوست. اما این فقط زیبایی جزئیات ما دوباره قبل از اینکه طولانی را ببینید. خوب. به طوری که ما را به این برنامه به دنبال مرموز. اجازه دهید در واقع برخی از کد ارسال. در حال حاضر چگونه می توانم شما را در مورد نوشتن کد به؟ این همه سال است که شما متعلق به ام مک و یا PC، رومیزی و یا لپ تاپ، شما در واقع توانایی داشته ام به شروع به نوشتن کد های برنامه نویسی. اما شما احتمالا از دست رفته نوع خاصی از برنامه است. شما مطمئنا می تواند کد ارسال. اما شما می توانید لزوما، خارج از جعبه، تبدیل است که کد منبع به کد شیء، 0s و و 1S بدون آنچه بر روی کامپیوتر شما؟ رسید کامپایلر. DAVID J. مالان: پس یک کامپایلر، درست است. در حال حاضر بسیاری از شما احتمالا یک کامپایلر خود را ندارد، اند دانلود هرگز یک کامپایلر. اما شما خواهید دید که شما می توانید آن را دانلود کنید مانند بسیاری از هر قطعه ای دیگر از نرم افزار. در جهان از سیستم عامل مک، شما ممکن است دانلود کنید و یا دانلود کرده در حال حاضر چیزی به نام Xcode متعلق و یا شورای همکاری خلیج فارس و یا صدا کردن. اگر شما از آمده ویندوز شما ممکن است جهان دانلود ویژوال استودیو، ویژوال بیسیک، محیط های شبیه به آن. است ده ها تن از کامپایلرها وجود دارد این روزها که شما ممکن است استفاده کنید. اما کوتاه از آن را در اینجا این است که این امر می تواند درد و، رک و پوست کنده، یک فن آوری کابوس برای صدها نفر افراد مبتلا به مختلف تنظیمات کامپیوتر به تمام پیکربندی ماشین آلات خود در دقیقا به همان شیوه به طوری که ما می توانیم تمام در همان صفحه باشد. بنابراین آنچه که ما، به جای آن، انجام در CS50 است ما به شما یک محیط استاندارد، محیط لینوکس است که رفتن به نگاه کمی چیزی شبیه به این. شما بیشتر از این در را ببینید مجموعه مسئله 1 مشخصات آن آنلاین خواهد شد این شب جمعه. و این بدان معنی که شما از این پس در حال رفتن به قادر به دانلود و نصب برنامه نام CS50 لوازم خانگی. و شما به دانلود کنید و نصب برنامه دیگری به نام یک Hypervisor است که فقط یک راه فانتزی دستیابی به این. این که آیا شما خود را یک مک یا PC و یا یک کامپیوتر لینوکس و یا یک کامپیوتر سولاریس، یا هر عامل دیوانه سیستم شما در حال اجرا، شما قصد دانلود یک برنامه به نام hypervisor که رفتن به اجرای CS50 لوازم خانگی بر روی کامپیوتر شما بدون توجه به آنچه در سیستم عامل شما است. یک Hypervisor به عبارت دیگر تبدیل مسائل ما را به هر زبان، هر دستورالعمل خود کامپیوتر خود درک می کند. بنابراین این لایه بندی است. و باز هم، این است که نوع از موضوعی در کامپیوتر علم، ساختمان در بالای همه چیز. شما ممکن است ویندوز را داشته باشد. شما ممکن است سیستم عامل مک است. اما با شروع هفته آینده شما رفتن به دانلود یک قطعه رایگان نرم افزار به نام hypervisor. شما در حال رفتن به دانلود یک قطعه از نرم افزار به نام CS50 لوازم خانگی. که رفتن به در hypervisor اجرا شود، است که رفتن به اجرا بر روی کامپیوتر شما. و نتیجه نهایی است که همه ما خواهد شد یک پنجره ساده مانند این در مک و یا PC خود را که به ما می دهد توهم همه در حال اجرا سیستم عامل همان، بدون هیچ گونه دیگر تاثیر بر روی کامپیوتر شما. و شما می توانید صفحه نمایش کامل آن و اساسا رفتار به عنوان اینکه شما در حال اجرا هستند سیستم عامل لینوکس که آنچه که CS50 لوازم خانگی بر اساس. بنابراین اجازه دهید در واقع استفاده از این در حال حاضر به نوشتن یک برنامه. شما می توانید یک برنامه ارسال با استفاده از مایکروسافت ورد. شما می توانید یک برنامه ارسال با استفاده از TextEdit، و یا دفترچه یادداشت، و یا WordPad، و یا تقریبا هر کلمه برنامه های پردازش شما همیشه استفاده می شود. اما واقعیت این است که شما باید نیست استفاده واقعا هر یک از این برنامه ها. شما قطعا باید استفاده کنید چیزی شبیه به مایکروسافت ورد، که دارای روبرو درشت و کج (ایتالیک)، و فونت بزرگتر و کوچکتر فونت، زیرا کامپیوتر نمی در مورد هر یک از آن مراقبت. تمام کامپیوتر است رفتن به مورد است مراقبت انگلیسی مانند دستورالعمل های نوشته شده در C. بنابراین چیزی که ما در داخل را انجام دهد از لوازم خانگی CS50 است استفاده از یک برنامه را آزادانه موجود، و آن را از پیش نصب شده در این لوازم خانگی، به نام Gedit. و Gedit فقط یک فوق العاده ساده ویرایشگر متن مثل TextEdit مک OS است، مانند ویندوز دفترچه یادداشت که رفتن به نگاه چیزی کمی شبیه به این. پس بیایید در واقع نه در اسلاید این است. اما اجازه دهید در واقع به به محیط زیست خود را. من قصد دارم به جلو بروید و ورود به سیستم، در این پنجره دیگر، به من CS50 لوازم خانگی، که من از پیش نصب شده بر روی لپ تاپ من در اینجا. توجه کنید که، مانند ویندوز و سیستم عامل مک، آن را در برخی از منوها. مانند ویندوز آن قرار می دهد آن پایین وجود دارد به جای از سیستم عامل مک، که آن را قرار می دهد وجود دارد. اما واقعیت این است که این همه نوع از همان. و در اینجا یک کل است دسته نرم افزار. در Dropbox به وجود دارد. یک دسته کامل از لوازم جانبی وجود دارد، برنامه های گرافیکی است که ما استفاده بعد از آن در مدت برای مجموعه مشکل است. یک مرورگر وب ساخته شده است در این کار وجود دارد که این یک کامپیوتر کامل تکامل یافته است در داخل یک کامپیوتر. اما من قصد دارم به روی این سمت چپ آیکون های سفید اینجا، که آیکون برای Gedit است. و آن را به باز کردن یک پنجره که دارای سه پانل به آن، یک چپ، یکی بالا، و یک پایین. در حال حاضر آن را در این بالا سمت راست که من قصد دارم به واقع برخی از کد ارسال. بنابراین اجازه دهید این کار را انجام،. من قصد دارم برای رفتن به فایل، ذخیره. و شما تا به حال ممکن است دیده اند، این پنجره خاص قبل. اما این مثل این است که سیستم عامل مک یا ویندوز. این فقط یک پنجره است با همه پوشه ها که من در داخل این کامپیوتر است. و من قصد دارم برای نجات فایل به عنوان hello.c. و من قصد دارم به جلو و با کلیک بر روی ذخیره. و در حال حاضر متوجه من یک زبانه در سمت چپ بالا به نام hello.c. پس احتمالا بسیار آشنا حتی اگر شما را نمی گرفتم قبل از استفاده از این برنامه خاص. و در حال حاضر من قصد دارم به نوع آن دنباله نسبتا مرموز از دستورات که ما دیدم یک لحظه پیش. شامل، I استاندارد / O.h. بیشتر در مورد که به زودی. بی اعتبار اصلی متوسط، مجعد باز تحریک احساسات، بسته آکولاد. و پس از آن در داخل وجود دارد من فکر می کنم که در آن ما به حال "سلام جهان"، نقطه و ویرگول بدین. و در حال حاضر صرفه جویی کنید. بنابراین این یک برنامه نوشته شده به زبان C است، نوشته شده است، بنابراین، در کد منبع. اما من فقط می توانید این برنامه را اجرا کنید. من از نوع می خواهم به دو برابر روی آیکون کلیک کنید در جایی، اما بدون نماد دیگر وجود دارد از فایل کد منبع. چه، دوباره، روند در حال حاضر که است من نیاز به اجرای این فایل از طریق؟ رسید کامپایلر. DAVID J. مالان: پس یک کامپایلر. بنابراین در کامپیوترهای مختلف شما این کار به روش های مختلف. اما آنچه که ما در اینجا در انجام داده ام لوازم خانگی CS50 که نماینده چگونه شما ممکن است این کار در بسیاری از سیستم های مختلف، است من به سادگی رفتن به اجرای یک فرمان به نام را. و را به معنای واقعی کلمه است رفتن به انجام این کار. مرا یک برنامه. بنابراین در حال رفتن به اجرا یک کامپایلر برای من. و به نام برنامه من می خواهم است سلام. در حال حاضر یک برنامه است. و به اندازه کافی برای هوشمند است متوجه باشید که اگر من می گویم را سلام، آن را به نگاه به صورت خودکار برای یک فایل به نام hello.c فقط به خاطر این که راه آن را پیکربندی را. بنابراین، هنگامی که من در حال حاضر ضربه را اینجا وارد کنید، این خط مرموز دیوانه فقط اعدام شد. و به من اعتماد، قبل از طولانی، در چند روز، شما درک آنچه همه از این ابزار بی معنی است. اما در حال حاضر، فقط می دانم که اعدام باعث از یک کامپایلر. به عبارت دیگر، آن را در بر داشت یک کامپایلر بر روی کامپیوتر من که از پیش نصب شده در لوازم خانگی CS50 که ما برای شما در مجموعه مسئله 1 دست. و پس از آن hello.c به عنوان زمان ورودی، و تولید ظاهرا 0s و و 1S به عنوان خروجی. و به طور پیش فرض چه میکند این موجب صرفه جویی در کسانی که 0s و و 1S در یک فایل به نام سلام. و اگر چه این نحو بیش از حد ممکن جدید به شما، به سادگی با گفتن نقطه بریده بریده سلام در حال رفتن به به این معنی است که من این برنامه را اجرا کنید. در حال حاضر و به مدت حداقل یک زن و شوهر از هفته، تقریبا تمام برنامه های ما ارسال می رویم به در می شود پنجره های متن سیاه و سفید. بدون موش، بدون کلیک کردن، بدون پنجره، بدون آیکون ها. ما قصد داریم به نگه داشتن آن ساده و تمرکز بر ایده های اساسی در ابتدا قبل از اینکه ما به چیزی سطح بالاتر، به عنوان مثال، مانند استراحت از بازی که ما صحبت کردیم در مورد در اولین سخنرانی هفته گذشته است. بنابراین، هنگامی که من آمار را وارد کنید در اینجا، آن را معادل آن در یک متن، تنها محیط زیست به دو برابر کلیک کردن یک آیکون به نام سلام. چه انتظار دارید اراده اتفاق می افتد زمانی که من آمار را وارد کنید و سپس؟ رسید این خواهید چاپ "سلام جهان است." DAVID J. مالان: امیدوارم آن را چاپ خواهد کرد "سلام جهان است." و در واقع آن را انجام داد. در حال حاضر وجود دارد بوده است بعضی از نحو مرموز اینجا. بیایید فقط برای عقب یک لحظه ببینید و اگر ما نمی تواند شروع استنتاج فقط با سرهم بند، تلاش و شکست، به آنچه به عنوان خبر در اینجا. چه می شود اگر من از بک اسلش نفر خلاص شدن از شر؟ در حال حاضر برخی از شما که ام قبل احتمالا برنامه ریزی شده فورا می دانم چه معناست. اما برای کسانی از شما که ام هرگز قبل از برنامه ریزی، حداقل فکر می کنم به خودتان چه می گذرد به تغییر زمانی که من دوباره این برنامه؟ بنابراین من قصد دارم به رفتن به پایین به من کمی پنجره سیاه و سفید، که پنجره است که در آن من می توانم این برنامه. من قصد دارم به کامپایل مجدد سلام. ما در حال رفتن به همان ترتیب رمزی از دستورات. و من قصد دارم به انجام اسلش دات سلام. و در حال حاضر کسی، اگر شما که، که قبل از برنامه ریزی هرگز، آنچه ممکن است متفاوت این زمان؟ آره. رسید این متوقف نخواهد شد چاپ "جهان سلام." DAVID J. مالان: این خبر to-- متاسفم؟ رسید مهم نیست که جلوی چاپ آن؟ DAVID J. مالان: این خواهد شد توقف چاپ "سلام جهان است." بنابراین یک ایده بد است. ایده های دیگر؟ آره. رسید پیغام خطا؟ DAVID J. مالان: خطا پیام، OK، می تواند باشد. چه چیز دیگری؟ رسید ممکن چاپ براکت با نقطه و ویرگول و همچنین؟ DAVID J. مالان: ممکن چاپ براکت با نقطه و ویرگول نیز هست. شاید که بک اسلش پس از آن است برخی از نوع terminous که مهم است. هر گونه افکار دیگر؟ ایده پس همه خوب است. و در واقع، آن را به یک پیغام خطا. که احتمالا به احتمال زیاد به پاسخ به طور کلی برای چند هفته آینده که ما یاد بگیرند به کد اینجا. اما در حال حاضر به یاد داشته باشید که کامپیوتر تنها چیزی است که شما به آنها می گویم که انجام دهد. بسیار شبیه به بادام زمینی مسخره کره و به عنوان مثال ژله. کامپیوتر انسان ما فقط قرار بود به آنچه که شما به آنها گفت که انجام دهد. بنابراین در این مورد، اگر شما را به کامپیوتر می گوید نه به حرکت مکان نما چشمک می زند که به خط بعدی، آن را به انجام آن. بنابراین، هنگامی که من این برنامه را اجرا کنید در حال حاضر، متوجه تفاوت. به نظر می رسد مانند یک اشکال. این یک اشکال زیبایی است، شاید. اما آنچه در مورد این متفاوت است خروجی در برابر آخرین بدیهی است یکی؟ آره. رسید این بود یک خط جدید نمی کنند. DAVID J. مالان: آیا این یک خط جدید نمی کنند. در حال حاضر کسانی از شما که صفحات وب شاید ساخته شده قبل از، شما ممکن است از دانم برچسب BR یا برچسب پاراگراف، در روح و روان بسیار مشابه است. مرورگر وب شما را تا زمانی که چشم پوشی از شما آن را بگویید دقیقا چه باید بکنید. به طور مشابه، یک زبان مانند C تنها رفتن به آنچه که شما آن را به انجام دهد. بنابراین به این دلیل که همه ی این مثال، تا کنون، از نوع معمولی این بک اسلش به حال در آن وجود دارد، که به معنی است که توسط آن شما خود را بیان به عنوان یک شخصیت خط جدید، پس به صحبت می کنند. و شما می توانید نوع از درک، شاید، که این نوع از احمق نگاه اگر هیچ چیز دیگری. اگر من می خواستم یک خط جدید، فقط ضربه وارد کنید و سپس نوع از قصاب ها کد مانند آن باید واقعا به شما راه درست را مالش. و حتی اگر شما نمی کنند واقعا در این نقطه مراقبت از خود، شما متوجه خواهد شد که این است که به خصوص نمی خوب قطعه به دنبال کد. و به این ترتیب آنچه را که جهان سال تصمیم گرفت پیش است که زمانی که شما می خواهید برای قرار دادن مکان نما را بر روی یک خط جدید به صراحت، شما باید به طور صریح می گویند خط جدید، بک اسلش نفر. و برخی دیگر وجود دارد کاراکتر که می خواهم. اما در حال حاضر ما فقط تمرکز بر روی بک اسلش نفر. حالا اجازه دهید برنامه را کمی بیشتر جالب است. من قصد دارم به جلو بروید و این بار باز کردن یک فایل جدید است. من قصد دارم برای نجات این را به عنوان سلام، 1.c. و فقط برای ضربات، من قصد دارم به به آن را به پوشه Dropbox من. همانطور که شما در CS50 را ببینید مستندات مربوط به لوازم خانگی، در اواخر این هفته برای مشکلات تنظیم 1، ما را تشویق شما به استفاده از Dropbox به یا برخی از خدمات معادل، چرا که پس از آن همه از کد شما رفتن به حمایت شود تا به صورت خودکار. و به این ترتیب به همین دلیل من رفته به این پوشه است. و در حال حاضر من قصد دارم برای نوشتن یک برنامه کمی متفاوت است. شامل، I استاندارد / O.h، بی اعتبار اصلی اعضای هیات. و سپس در اینجا تابع () printf، سلام جهان، که دقیقا همان قبل است. اما در حال حاضر من می خواهم به چاپ چیزی که کمی متفاوت است. من می خواهم برای چاپ کردن، می گویند، "سلام، دیوید." همه حق است، بنابراین بدیهی است، آن را باید امیدوارم است این مورد که اگر من آنرا کامپایل مجدد این برنامه، آن را دوباره، آن را می گویند: "سلام، دیوید." اما اگر من می خواهم به معرفی این نوع از متغیر، مفهوم یک ظرف که رفتن به ذخیره D--V-من د و سخت نیست کد آن را به برنامه من است. خب چه می شود اگر شروع کنم انجام چیزی شبیه به این؟ عبارات، بنابراین این یک متغیر است. اگر می خواهید یک رشته، a.k.a. یک کلمه یا یک عبارت. دنباله ای از کاراکتر چه چیزی است ما در برنامه نویسی را یک رشته است. ما فقط در حال رفتن به عام تماس آن را، به دلیل آن را یک نام زیبا ساده است. اما من می تواند آن را هر چیزی تماس بگیرید. من قصد دارم برای گفتن برابر رشته ها نقل قول نقل قول را تمام کردن، "دیوید،" نقطه و ویرگول بدین. و در حال حاضر من می خواهم برای وارد کردن D یک پنجم من د به آنچه که من چاپ هستم. و قبل از ما یک تیزر دیدم در صفحه نمایش از دستورت که ما را به اجازه جایگزین در یک ارزش. چه خاص بود نماد چند اسلاید قبل؟ بنابراین درصد است. در آن زمان آن را به درصد بود د برای عدد دهدهی. که واقعا نمی به نظر می رسد مربوط به اینجا. تبدیل کردن وجود دارد یکی دیگر از نماد درصد، است که درصد است، که مخفف برای یک مکان نگه دار برای یک رشته است. بنابراین در حال حاضر، خیلی ساده، من هستم رفتن به را سلام-1، چرا که این فایل را به نام سلام، 1.c و آمار را وارد کنید. و من رو خراب کرد. چه خبر است؟ خوب، در اینجا است که ما باید برای شروع به درک است که ما در این دستور هستیم محیط زیست خط، این متن تنها محیط زیست است. هیچ کلیک کردن بر روی آیکون وجود دارد مانند پوشه ها در حال حاضر. و یک لحظه پیش فکر می کنم. در چه پوشه بود من می گویم من صرفه جویی در کد من؟ بنابراین پوشه Dropbox. آیا چیزی به نام شده است. اما آن اتفاق می افتد به نام Dropbox به. بنابراین من به نحوی نیاز به دو برابر با کلیک بر روی که پوشه Dropbox به منظور دریافت را در آن و در گرفتن من کد به نام سلام، 1.c. در واقع، اجازه دهید من به جلو و به حداقل رساندن این پنجره برای فقط یک لحظه. درست مثل ویندوز و سیستم عامل مک، می پوشه ها در لینوکس وجود دارد. می پوشه ها در CS50 لوازم خانگی وجود دارد. این فقط در حال حاضر ما در حال محدود خودمان را به این محیط متن. اما اگر من کلیک دو برابر در Dropbox به، توجه وجود دارد فایل که من می خواهم به کامپایل است. اما من نیاز به این سیاه و سفید پنجره ترمینال، پس به صحبت می کنند. اما من نیاز دارند، بنابراین، به حرکت به آن پوشه یا دایرکتوری. بنابراین کمی پیچیده است، اما شما بیش از حد دریافت کنید استفاده از این. در دنیای لینوکس، که دوباره به عامل است سیستم ما در حال اجرا در داخل از CS50 لوازم خانگی، یک فرمان به نام CD وجود دارد. این بدان معناست که من می توانم CD، فضا، Dropbox به انجام دهد. CD، دایرکتوری تغییر دهید. راست. بازگشت در آن روز که مردم بودند اختراع کامپیوتر ها و عامل سیستم های شبیه به این، آنها به خواست نوع بدترین کلید امکان پذیر است. بنابراین ساده ترین راه برای گفتن دایرکتوری تغییر CD بود. بنابراین اگر من ضربه CD، فضای Dropbox به، متوجه چه چیزی در اینجا تغییر کرده است. در داخل پرانتز دستگاه نوع از humoring من و به من یادآوری که در آن من هستم. بنابراین در پوشه Dropbox به باز است. اگر من در حال حاضر نوع ls برای لیست، دوباره موجز، چرا که مردم نمی خواست نوع در روز ل من، بازدید کنندگان تی. به طوری که آنها به جای آن ساخته شده LS. را وارد کنید. توجه کنید من دو چیز را ببینید، سلام، 1.c، و سپس این چیز مرموز، منبع 1M. این تنها راه من از گفتن است کد منبع برای هفته 1 دوشنبه. که یک پوشه من از دانلود است وب سایت CS50 را که من امروز پیش از آن ساخته شده و فقط آن را به قرار لوازم خانگی در پیش است. اما در حال حاضر تنها چیزی که ما در مورد است تهیه این برنامه مراقبت. بنابراین، هنگامی که من تایپ را سلام-1، را وارد کنید. لعنتی. چیزی را اشتباه رفت. بنابراین اجازه دهید این کسی را دست انداختن از هم جدا. و متاسفانه این که در آن همه چیز است کمی استرس زا در ابتدا، حداقل اگر شما در هرگز قبل از برنامه ریزی. من خدا. من یک برنامه دو خط نوشت و من چهار خط از خطا است. پس چه خبر است اینجا. اولین و مهمترین همیشه رفته و پیدا کردن اولین پیغام خطا، چرا که اغلب کامپایلر فقط دریافت های شما و من اشتباه گرفته شود. کامپایلرها خیلی گنگ. آنها فقط انجام آنچه شما به آنها بگویید را انجام دهد. و اگر شما آنها را اشتباه، آنها فقط می رفتن به نوع پرتاب کردن دست خود و شاید پرتاب پیام های خطا تر از در واقع مربوط می شود. بنابراین اجازه دهید در اولین نگاه. سوپر در ابتدا مرموز. اما توجه، در اینجا نام است فایل که در آن I screwed تا ظاهرا. روده بزرگ 5، روده بزرگ 5 حالت فقط بدان معناست در خط 5 در شخصیت پنجم. بنابراین ستون پنجم از حرف، اگر شما خواهد شد، خطا. استفاده از رشته های شناسه اعلام نشده. آیا منظور شما نفر استاندارد؟ نه، من به معنای رشته است. و سپس آن را به نوع کپی کردن و چسباندن (paste) آنچه که من تایپ واقعا جلب من توجه به جایی که من رو خراب کرد. به هر دلیل C، یا حداقل کامپایلر به این رشته کلمه را نمی فهمم. و این دلیل است که ما از آن ساخته شده است. بنابراین رشته وجود ندارد در C. چه CS50 می کند، برای چند هفته اول تنها از کلاس، است که ما به برخی از آموزش ارائه چرخ، پس به صحبت می کنند. و ما را از این چرخ آموزش در داخل یک فایل خاص به نام CS50.h. بنابراین این دومین دو فایل است نام هایی که ظاهرا در نقطه ساعت به پایان برسد. بیایید عقب. تابع () printf بیانیه ای یا تابع می باشد این چیزی است که ظاهرا چاپ به روی صفحه نمایش. اما شما به من نمی بینم پیاده سازی تابع () printf، درست است. سال پیش کسی به اجرا در تابع () printf. در چه فایل را از او شما را شرطبندی و یا او را از اجرای برای printf، کد برای printf؟ در یک فایل به نام استاندارد I / O.h. در واقع، آن را احتمالا در دو فایل، I استاندارد / O.h، که برای هدر می ایستد فایل و I استاندارد / O.c، که مخفف کد منبع C. پس او چند سال پیش plopped کد که آنها را به آن فایل نوشته به طوری که مردم مثل ما سال بعد می توانید آن را شامل، پس به صحبت می کنند، در برنامه های خود ما. و در واقع، که آنچه علامت پوند است به دنبال کلمه شامل می شود. آن را در درایو سخت محلی به نظر می رسد، می یابد فایل به نام استاندارد I / O.h، و پس از آن به طور موثر و کپی رب ها و سس را درون فایل خود من است. بنابراین در حال حاضر برنامه های من می داند چگونه برای چاپ به روی صفحه نمایش. پس با این منطق، که در آن است رشته های تعریف شده؟ رسید CS50.h. DAVID J. مالان: CS50.h. و در واقع، این چیزی است که ما، کارکنان اصلی، انجام داده اند. ما خلق کرده ایم چند نوع داده ها، پس به صحبت می کنند، مانند یک رشته، علاوه بر آنهایی که شما دریافت به صورت رایگان، مانند یک int. و ما دیگر مانند یک کاراکتر را ببینید برای شخصیت و چند. داخل CS50.h ظاهرا است حداقل برخی از اشاره ای به رشته. بنابراین در حال حاضر اجازه دهید من به جلو و را مجدد سلام 1. من دوباره زوم در داخل و عبور از انگشتان دست من. حال با داشتن یک تغییر I ترین چیز ثابت شده است. اما لعنت کند. درصد بیشتر از استدلال داده است. چیزی که من اشتباه انجام دهید این زمان؟ پس از آن هنوز هم خیلی مرموز. اما این خطا در است خط 7 و شخصیت 21. بنابراین اجازه دهید به نگاه کردن در اینجا. این کمی لطیف است. اما اگر شما فکر می کنم که چه ایده های اساسی در اینجا، شاید ما می توانیم این را از هم جدا کسی را دست انداختن. بنابراین تابع () printf به نام تابع است. پرانتز، تا کنون، است درست مثل آنچه که ما در اطراف قرار داده چیزهایی که ما در حال عبور به عنوان ورودی به تابع. خوب، فقط یک کنوانسیون خودسرانه بشر است. از پرانتز استفاده کنید. در داخل از آن پرانتز ما شده است قرار دادن دو علامت، و پس از آن یک رشته مانند "سلام جهان است." اما در آن مثال قبل بسیار به طور خلاصه که ما در ابتدا با نگاه. و ما درصد د، حال چه چیز دیگری در داخل از آن پرانتز بود که من به نام شفاهی؟ آره. رسید پس از آن چیزی است که شما در حال گرفتن [نامفهوم] از درون [نامفهوم] آنچه که در این [نامفهوم]؟ DAVID J. مالان: دقیقا. بنابراین ما درصد د بود. اما پس از آن ما نزدیک به حال نقل قول، کاما، ضد. راست. ما مشخص آنچه ما می خواهیم به عنوان حفره یا سوراخ انجام دهد. پس چه من قصد دارم برای انجام در اینجا است کاما، چه چیزی می خواهید من برای قرار دادن؟ رسید S. DAVID J. مالان: S، چرا که در این مورد به نام ظرف ذخیره سازی است. این نام که کاسه شیشه ای است. در حالی که قبل از آن مقابله در آن بود به عنوان مثال ابتدا ساده ما را نگاه کرد. بنابراین در حال حاضر با داشتن دو تغییرات، به من اجازه زوم و سعی کنید یک بار دیگر به این برنامه کامپایل. حالا من که خط مرموز را ببینید. اما این در واقع نام از کامپایلر. صدای جرنگ جرنگ به نام کامپایلر است. را فقط در صرفه جویی در من سردرد از همیشه تایپ که دستور طولانی دیوانه است. بنابراین در حال حاضر اگر من نقطه بریده بریده سلام-1، من باید "سلام، دیوید." ببینید زیبا underwhelming، هر چند، درست است؟ ما می تواند انجام داده اند این به سادگی خیلی بیشتر بدون صحبت کردن در مورد متغیر و CS50.h و همه از آن. بنابراین اجازه دهید آن را کمی بیشتر جالب است. علاوه بر CS50.h، داشتن چیزهایی مانند رشته اعلام، کتابخانه CS50 همچنین دارای چند عملکرد. سال پس درست مانند پیش، کسی نوشت printf و آن را در استاندارد I / O.h و برخی از فایل های دیگر است. ما، کارکنان CS50، نوشت: یک تابع نام GetChar، GetDouble، GetFloat، GetInt، GetLongLong، GetString، و ما آن را در داخل یک فایل قرار داده نام CS50.h و CS50.c. و ما آنها را در داخل قرار داده از CS50 لوازم خانگی. و مردم نیز می توانید آنلاین دانلود آنها را در صورتی که می خواهم به آنها را در خود رایانه های خود را به عنوان. کدام است که می گویند که ما ایجاد کرده است توابع است که دریافت ورودی از کاربر. من آنچه را که همه نمی دانند از این نوع داده ها می باشد. GetInt است نوع ساده، مانند دریافت یک عدد صحیح به نحوی از کاربر. و GetString است که احتمالا مانند گرفتن یک کلمه یا یک جمله از کاربر. بنابراین اجازه دهید بر روی آن تمرکز می کنند. و من قصد دارم برای رفتن به به لوازم و من قصد دارم به جلو بروید و ذخیره این فایل به عنوان، اجازه دهید تماس بگیرید آن سلام، 2.c به عنوان نسخه دوم من است. و اجازه دهید یک زن و شوهر از تغییرات. این بار به جای سخت کدگذاری دیوید، که باعث می شود فوق العاده سازگار اما برنامه underwhelming، چه می شود اگر من به جای انجام GetString؟ حالا متوجه GetString یک پرانتز باز، پرانتز بسته، به دلیل آن را از هیچ ورودی لازم نیست. این فقط رفتن به دریافت یک رشته از کاربر. و در حال حاضر یک کلمه در نحو دیگر. علامت semicolon فقط پایان یک خط کد. شما آنها را در همه جا لازم نیست. اما فقط بدان معناست که من هستم انجام شده با این خط از کد. اجازه بدهید بر روی دیگری حرکت می کند بیانیه و یا عملکرد. عبارات اعلام یک متغیر. عبارات مثل کرد و گفت من یک کاسه را، لطفا. و اجازه دهید به یک رشته قرار داده در آن است. و در حال حاضر علامت مساوی. علامت برابر است با اساسا معادل؟ رسید اختصاص. DAVID J. مالان: آره، اختصاص دادن مقدار. بنابراین اگر من، به عنوان مثال، تماس این تابع GetString، و ما در یک لحظه که ببینید رفتن به سریع کاربر برای یک رشته است. این مثل این است که به من اجازه پس از آن ارسال D یک پنجم من د بر روی یک تکه کاغذ. و وقتی که من می گویند رشته بازدید کنندگان برابر GetString، برابر واقعا به این معنی نیست در برنامه نویسی C برابر است. این بدان معنی است اختصاص از سمت راست سمت به سمت چپ. بنابراین من یک رشته رو بدست. و علامت مساوی معنی آن را در ذخیره سازی ظرف به نام است. و سپس این عبور را به تابع () printf در واقع انجام چیز آن است. بنابراین نتیجه نهایی پس از آن در جریان است به نگاه کمی متفاوت است. اجازه دهید کار را سلام 2. در هر دو صورت می تواند کار کند. شما در زیر همراه است. را سلام-2 کار کرده است. نقطه بریده بریده سلام-2، را وارد کنید. من به نظر می رسد بی نهایت حلقه و یا چیزی. هیچ چیز اتفاق می افتد. چرا؟ رسید آن ساخت یک حلقه بی نهایت. DAVID J. مالان: این یک حلقه بی نهایت است. این نوع از انتظار برای من به در واقع آن را با برخی از ورودی فراهم می کند. بنابراین، اجازه دهید پیش بروید و نوع در دیوید و آمار را وارد کنید. و در حال حاضر آن را می گوید: "سلام، دیوید." اگر من آن را دوباره اجرا کنید. اجازه دهید در نوع راب، "سلام، راب." در حال حاضر این بدترین است رابط کاربر همیشه. کاربر ظاهرا قرار است به می دانم که چه باید بکنید. اما بدون توجه به. با استفاده از این ساختمان بلوک درست مانند خراش، ما می توانیم که مشکل را حل کند و می گویند چیزی مانند نام شما، لطفا، روده بزرگ، فضا، بسته اعلان، نزدیک پرانتز، نقطه و ویرگول بدین. بنابراین بسیاری از دوباره حماقت با نحو. اما متوجه من فقط اضافه شده قطعه پازل بالاتر از این یکی و بالاتر از این یکی. بنابراین در حال حاضر اگر من این تکرار، سلام، 2، را وارد کنید. یک دقیقه صبر کنید. چی شده؟ این هر رفتار نمی متفاوت است. آره. رسید شما را اجرا نمی کنید. DAVID J. مالان: من نمی اجرای دوباره را، درست است. بنابراین من سورس کد من تغییر کرده است. اما باز هم، این است که جریان وجود دارد. کد منبع از طریق کامپایلر می دهد شما کد شی جدید، یا 0s و و 1S. ولی من به واقع نیاز آرایش مجدد سلام-2 را وارد کنید. OK، چیزی به نظر می رسد رخ داده است. نقطه بریده بریده سلام 2. نام شما لطفا. و به روشن باشد در حال حاضر، به همین دلیل است مکان نما در همان خط؟ دقیقا. من بک اسلش قرار داده نشده است نفر تا اینجا در کد من. بنابراین در حال حاضر من می توانم ارسال چیزی شبیه به Daven، را وارد کنید. من می توانم دوباره آن را اجرا کنید و تایپ چیزی شبیه به گیب، را وارد کنید، و ما برنامه های مختلف دوباره و دوباره و دوباره. در حال حاضر در نهایت ما در حال رفتن به نیاز استفاده از چند قابلیت های متفاوت. ما نیاز به معرفی در نهایت برخی از شرایط برای انجام کارهای مشروط. شاید حلقه بنابراین ما می توانیم انجام همه چیز دوباره و دوباره. شاید این امر می تواند خوب اگر ما می تواند توابع خود ما پیاده سازی، مانند ما می تواند خود ما اجرا تابع () printf و یا نسخه خود ما از GetString و GetFlow، چرا که در نهایت حتی با استفاده از این محیط خط فرمان می توانیم انجام دهیم حتی بیشتر بصری جالب از همه چیز. در واقع در نتیجه به من اجازه انجام این کار. من قصد دارم به جلو بروید و بستن این پنجره و باز این آیکون در اینجا، که فقط یک بزرگتر نسخه های جاسازی شده پنجره ترمینال. بنابراین Gedit نه تنها محل کد من، بلکه ساخته شده در پنجره ترمینال، پنجره های سیاه و سفید که در آن من می توانم اجرا دستورات. من فقط اتفاق افتاده برای باز کردن نسخه بزرگتر از این. و در حال حاضر من قصد دارم برای رفتن به پوشه ای که من در حال حاضر در پیش در وب سایت درس قرار داده است. و من قصد دارم به جلو بروید و باز کردن یک فایل به نام thadgavin.c، که توسط شخص دیگری نوشته شده بود. و اگر ما به این نگاه کنید، این نوع کد نمی ما خواهید بود از نوشتن هدف از این کد به نوشتن زیباترین به دنبال کد که او می تواند، صرف نظر از اینکه آیا یا نه یکی دیگر از انسان همیشه می تواند درک این کد. در واقع، هر سال چیزی است که وجود دارد مسابقه مبهم C، نامیده می شود که برای حرفهایها واقعی که ارسال کد که هیچ کس دیگری قادر به خواندن، اما این چیزی است که انجام می دهد یا واقعا ساده و یا واقعا شگفت انگیز است. و ما فکر می کنیم می خواهم نتیجه گیری با این نگاه در چیزی که بسیار شگفت انگیز شما ممکن است یک بار قبل از دیده می شود. اما ما در این پایان توجه داشته باشید، بریده بریده، نقطه، thadgavin. این پس از آن چیزی است که در انتظار. که در آن است برای CS50. ما شما را در روز چهارشنبه را ببینید. [MUSIC پخش]