LUCAS فریتاس: OK، من حدس می زنم در حال حاضر ما زندگی می کنند است. به CS50 Supersection خوش آمدید. ما کمتر راحت است. نام من لوکاس فریتاس است. من یکی CS50 سر TFS هستم. این لورن است. لورن CARVALHO: سلام، من لورن هستم. من هم TF سر برای CS50 هستم. LUCAS فریتاس: امروز ما فقط رفتن به یک نمای کلی از آنچه که همه شما بچه ها در هفته یک آموخته اند، امیدوارم به شما بچه ها خوب حس به آنچه شما باید بدانید برای مشکل یک مجموعه. فقط چند اطلاعیه. اول از همه، ساعات اداری. ساعت دفتر از دوشنبه اتفاق می افتد به روز پنجشنبه در خانه های مختلف در آنن برگ هر روز. آنها منابع بسیار خوبی برای شما بچه ها می آیند و سوال بپرسید، و صحبت TFS، و حتی ارز ایده با سایر دانش آموزان است. بنابراین مطمئن شوید که برای استفاده از آن منابع است به نفع شما. نکته دوم این است که CS50 لوازم خانگی. برای آخرین [نامفهوم] شما بچه ها به واقع ندارد یک دستگاه. شما فقط همه چیز را در انجام کامپیوتر شخصی شما. اما برای این مشکل، شما در واقع به یک ماشین مجازی، بنابراین مطمئن شوید که برای دانلود CS50 لوازم خانگی و تنظیم آن. و نکته سوم می باشد که به شروع به مشکل تنظیم ASAP تنها چرا که آن را بسیار آسان تر برای پیدا کردن هنگامی که شما در هستید آغاز هفته. از آنجا که مردم تمایل دارند تا زمانی صبر کنید آخرین لحظه برای شروع مجموعه ای مشکل، و سپس شما را به ساعات اداری به، و در بسیاری از افراد وجود دارد. که در آن اگر شما در روز دوشنبه بروید، شما در حال رفتن برای دیدن آن شما می توانید به TFS صحبت تقریبا برای تمام شب، و آنها در حال رفتن است بیش از خوشحال به شما کمک کند. لورن CARVALHO: آیا من می توانم دست از شما فقط برای یک ثانیه؟ تا هر کس قادر به دانلود شده لوازم خانگی CS50؟ آیا مردم سعی؟ LUCAS فریتاس: برای دانلود، توسط راه، شما می توانید دستورالعمل در دریافت cs50.net/appliance. لورن CARVALHO: راست. و آن را می کند در حالی که کمی برای ما مدیران سیستم به شما یک مجوز کلید، پس از ثبت نام برای محاکمه رایگان برای اولین بار. به این ترتیب شما آن را به مدت 30 روز داشته باشد، و پس از آن برای کلید مجوز خود را صبر کنید که باید آن را به شما برای یک سال. LUCAS فریتاس: اول از همه، اجازه دهید بحث کمی در مورد CS50 لوازم خانگی. CS50 لوازم خانگی است که در واقع مجازی ماشین که شما به در کامپیوتر خود را که اجرا اساسا در حال اجرا کامپیوتر دیگر در داخل کامپیوتر خود تغییر دهید. می باشد که بسیار سرد است. و در واقع آن را در همه جا استفاده می شود. افرادی که به تکنولوژی را می دانیم که این است که استفاده تمام وقت. شما؟ می تواند چندین کامپیوتر دارند در یک دستگاه. اجازه دهید در واقع یک نگاه را در لوازم خانگی. هنگامی که شما به دستگاه بعد از به ثبت نام، شما در حال رفتن به به قرار دادن نام خود و ورود به دانشگاه هاروارد بنابراین ما می توانیم تمام شما ثبت شده است. شما قصد اساسا برای دیدن تنها تصویر زمینه، و پس از آن خانه و سطل زباله، و سپس این آیکون کم است. این سه آیکون در واقع بیشتر چیزهایی که مهم است که شما می توانید در داشته باشد لوازم خانگی خود را. یکی از اولین نرمافزاری gedit است، که یک متن سردبیر، درست مانند دفترچه یادداشت و یا مانند هر نوع از ویرایشگر متن. این تنها چیزی است که ما استفاده می کنیم به نوشتن است کد و پس از آن انجام مسائل با آن است. نکته دوم این است که ما در اینجا کروم است. بنابراین اگر شما نیاز به استفاده از اینترنت در لوازم خانگی، که آنچه که شما می توانید استفاده کنید. و نکته سوم ترمینال است، است که در واقع بسیار شیرین است. مردم معمولا نوع از ترس ترمینال دلیل آن را این بسیار برنامه های قدیمی از مد افتاده است که در آن شما تنها اساسا همه چیز را تایپ با صفحه کلید خود را. است که بسیاری از تعامل وجود ندارد با موس خود را. اما در واقع ترمینال کارهایی بسیار خوب است. اول از همه، اجازه دهید فقط از طریق رفتن برخی از دستورات که شما می تواند در ترمینال استفاده کنید. لورن CARVALHO: و در صورت تمایل به متوقف ما اگر شما هر گونه سوال. LUCAS فریتاس: آره. بنابراین اولین دستور که ما برای ترمینال دستور ls است. LS اساسا به معنای فهرست همه چیز، همه فایل ها و همه مدیران، که من در محل که من در ام. بنابراین اگر من انجام LS در اینجا، من قصد دارم برای دیدن که من به برخی از دایرکتوری ها. من دسکتاپ، دانلود ها، سیاهههای مربوط، و VHOSTs. کسانی که به رنگ آبی هستند، زیرا آنها تمامی پوشه ها می باشد. سپس شما باید برخی از فایل های دیگر. شما مانند سلام و hello.c، باید که فقط فایل ها هستند، و آنها در هستی رنگ های مختلف. این یک دستور بسیار مهم است فقط شما می توانید ببینید فایل چه هستند و دایرکتوری ها که شما در دایرکتوری که شما در در ترمینال هستند. هنگامی که شما jharvard @ لوازم و ببینید پس از آن که نماد کمی وجود دارد، ریشه یابی لغات، که فقط بدان معنی است که این دایرکتوری که شما در حال حاضر می باشد. لورن CARVALHO: پس از تایپ دستور ls تقریبا مانند کلیک کردن بر روی پوشه است که در لیست سمت راست وجود دارد، در آن را نشان می دهد همه محتویات سایت شما در آن پوشه. یک مدعو: آیا متن وجود دارد پس از hello.c؟ لورن CARVALHO: اوه، شما می توانید نیست می بینیم که، به خاطر آن آبی رنگ است. LUCAS فریتاس: این گزارش می گوید سیاهههای مربوط و VHOSTs. لورن CARVALHO: کسانی هستند فقط پوشه های دیگر. من متاسفم، واقعا سخت است برای دیدن. شاید اگر ما خاموش چراغ روشن؟ کولتن، آیا شما می خواهید امتحان کنید و پیدا کردن سوئیچ نور؟ با عرض پوزش در مورد آن. من در مورد آن فکر می کنم نیست. LUCAS فریتاس: اما آن را اساسا - بله، اگر شما می توانید - لورن CARVALHO: زوم در صفحه نمایش شما. LUCAS فریتاس: من نمی که از ویژگی های. لورن CARVALHO: [نامفهوم]. OK. خوب، تنها بسیاری از طبیعی وجود دارد نور در این اتاق نیز هست. LUCAS فریتاس: اجازه دهید فرض کنیم که دو شاخه دیگر وجود دارد وجود دارد. لورن CARVALHO: فقط با ما داشته باشد. این تنها بخشی است که شما می باشد در ترمینال به دنبال. LUCAS فریتاس: دستور بعدی است در واقع شاید شما می خواهید به سازماندهی فایل های خود را - به عنوان مثال، تمام فایل های C در خود دایرکتوری، اما شما لازم نیست دایرکتوری فقط برای C فایل است. شما در واقع می توانید یک دایرکتوری ایجاد کنید با استفاده از ترمینال و همچنین است که همان چیزی که راست کلیک کردن و گفت پوشه های جدید. دستور ایجاد دایرکتوری، که mkdir است، بنابراین اساسا "را" و "دایرکتوری." و سپس شما می توانید با قرار دادن نام شاخه. اجازه دهید بگویم که من می خواستم به آن می شود، من نمی دانم، اجازه دهید بگویم pset1 انجام در این، من فقط یک دایرکتوری ایجاد شده است. اجازه دهید بررسی آن است که وجود دارد. پس اگر من از ls، در حال حاضر من می بینم سیاهههای مربوط، و پس از آن pset1، و پس از آن VHOSTs. بنابراین من در دایرکتوری جدید وجود دارد. و سپس پس از یک دایرکتوری جدید، شاید شما می خواهید به حرکت به آن، بنابراین دستور بعدی این سی دی، که تنها اساسا به معنی رفتن به یک پوشه خاص. پس اگر من می خواهم برای رفتن به pset1، من فقط می توانید انجام دهید pset1 سی دی. لورن CARVALHO: مخفف سی دی برای تغییر دایرکتوری، [نامفهوم] قادر به به یاد داشته باشید که. LUCAS فریتاس: و در حال حاضر شما می بینید که به جای فقط داشتن jharvard لوازم خانگی، I دستگاه jharvard اند، و پس از آن pset1، چون نشان من جایی که من در این کامپیوتر هستم. حال اگر من می خواهم به بازگشت به دایرکتوری که پیش از این یکی بود، من می تواند یک نقطه سی دی نقطه، که به معنی به انجام به دایرکتوری که من قبل از آن بود، مانند پدر و مادر از این دایرکتوری، اساسا. و اکنون می بینم که من هستم برگشت به jharvard. نکته بعدی که من می توانم این کار را انجام کنترل از راه دور، که حذف یک فایل است. به عنوان مثال، اجازه دهید اولین انجام LS برای دیدن آنچه که من در اینجا. من سلام و hello.c. اجازه دهید بگویم که من می خواهم به آنها را حذف کنید. من می توانم سلام RM انجام دهد. این رفتن به می گویند "حذف فایل به طور منظم سلام؟ "و من می گویم:" بله. "و در حال حاضر اگر من انجام LS، می بینم که این وجود ندارد دیگر. اگر من سعی می کنم به استفاده از کنترل از راه دور برای یک پوشه، هر چند، آن را نمی به شما اجازه انجام هر چیزی. آن را می گویند، با سلام، شما می توانید یک پوشه را حذف کنید. پس ما این دیگر می آیند به نام rmdir، که تنها اساسا به معنی حذف دایرکتوری. من می توانم، به عنوان مثال، حذف pset1. و اگر من انجام LS، من نیست آن را داشته باشد دیگر. هر گونه سوال در مورد این؟ هیچ؟ آره؟ یک مدعو: آیا این مهم است که شما را ترک فضای بعد - هر زمان که شما شروع به تایپ چیزی در؟ LUCAS فریتاس: آره. اگر من دوست سی دی و دایرکتوری، من برای قرار دادن یک فضا. چه فضایی صحبت می کنید؟ لورن CARVALHO: فاصله بین سی دی و [نامفهوم]. LUCAS فریتاس: آره، شما به قرار دادن فضاهای چرا که سی دی است فرمان، و پس از آن رشته بعدی که نوع شما اساسا دایرکتوری. بنابراین آن را مانند یک آرگومان است. آره؟ یک مدعو: هنگامی که شما در لیست، تمام کسانی که می باشد دایرکتوری های مختلف، درست است؟ LUCAS فریتاس: بله، آنها در دایرکتوری می باشد. یک مدعو: تفاوت چیست در میان دایرکتوری؟ LUCAS فریتاس: آنها فقط هستید پوشه های مختلف. دایرکتوری یک پوشه است در کامپیوتر شما. یک مدعو: باز کردن پوشه. LUCAS فریتاس: آره، آن را فقط یک پوشه را باز کنید. لورن CARVALHO: در اینجا، آنهایی که که به رنگ آبی می باشد واقعی دایرکتوری که شما می توانید به و گرفتن پس از دیدن یک دسته از چیزهایی که است که در آن، که مایه تاسف است زیرا شما در واقع نمی توان به عنوان خوانده شده آنهایی که به رنگ آبی. و آنهایی که در رنگ سفید فقط فایل ها که در دایرکتوری جاری می باشد. LUCAS فریتاس: بنابراین دایرکتوری پوشه ها می باشد. آنهایی که دیگر فایل ها می باشد. رسید فرمان چیست آن را تنظیم مجدد کنید و یا به آن روشن است؟ LUCAS فریتاس: برای پاک کردن؟ لورن CARVALHO: برای پاک کردن؟ LUCAS فریتاس: من فکر می کنم آن را "روشن است." آره. بنابراین شما فقط روشن تایپ اگر صفحه نمایش خود را بیش از حد شلوغ. هر گونه سؤال دیگر؟ و شما یک دسته از دیگر یادگیری دستورات فقط به طور طبیعی در طول ترم چرا که آنها بسیار مفید است. بنابراین در حال حاضر اجازه دهید در مورد کامپایل صحبت کنید. ما در مورد شبه صحبت کرد و کد منبع و کد شیء. و در بسیاری از کدهای وجود دارد، و شاید شما بچه ها در مورد آن اشتباه گرفته شود. اجازه دهید کمی بحث در مورد آنچه اتفاق می افتد زمانی که شما در حال نوشتن یک برنامه، و شما آن را کامپایل، و آن را تبدیل به یک فایل اجرایی. این همه کلمات که شما بچه ها احتمالا شنیده می شود، و شاید شما نیست واقعا مطمئن چه می گذرد. اجازه دهید بگویم، برای مثال، که من می خواهم ارسال برنامه ای است که می گوید: "سلام." اولین چیزی که در ذهن شما است شما به نوعی سعی کنید از اینکه چگونه شما فکر می کنم رفتن به انجام این کار در ذهن شما، و شما احتمالا در انگلیسی فکر و یا برخی از زبان های دیگر، مانند طبیعی زبان، احتمالا. و سپس شما فکر می کنم، خب، اگر من می خواهم، به عنوان مثال، یک برنامه بنویسید که می گوید: "سلام،" من یک برنامه شروع به کار، من چاپ خواهد شد به سلام، و پس از آن من خواهد شد ترک برنامه. این شبه است. این است تنها اساسا شما در تلاش برای آمد تا با دنباله ای از حوادث که شما قصد انجام می شود قادر به نوشتن یک برنامه. سپس شما باید کد منبع، و کد منبع را ندارد به به طور خاص در C. شود ما در حال صحبت کردن کد در مورد منبع در C چرا که زبان ما در حال یادگیری است، اما البته کد می تواند تقریبا هر زبان برنامه نویسی است که شما داشته باشد. در ترم بعدی، شما در حال رفتن برای یادگیری زبان های دیگر. این کد منبع را نیز. به عنوان مثال، در اینجا، این منبع من است کد و سپس من از جمله کتابخانه، و سپس شروع به I اصلی، و سپس I را چاپ کنید. و لورا در جریان است تا کمی کمی در مورد تمام این. بنابراین این کد منبع است. و چه کد شیء است؟ هدف یک دسته از صفر است و آنهایی که، اساسا. چه اتفاقی می افتد این است که شما در ابتدا باید شبه، که همه به زبان انگلیسی. و منظور من، شما آن را درک کنند. احتمالا دوستان خود را درک کنید آن، و اکثر مردم این ایده را درک کنید. اما کامپیوتر واقعا گنگ، و آنها زبان انگلیسی را درک نمی کنند، بنابراین شما ترجمه کرده اند که به چیزی، معمولا به برخی از ترجمه زبان های برنامه نویسی. و شما می توانید از یک برنامه نویسی فکر می کنم زبان به عنوان نوع مانند یک زبان که شما چگونه کامپیوتر خود را بگویید به صحبت می کنند و به درک. شما اساسا نوشتن چیزی در یک زبان است که هر دو از شما و شما کامپیوتر را درک کنید. این کد منبع است. پس رفتن فرم شبه به منبع کد، آن را به شما است. این اساسا شما انجام برنامه های خود را. اما مشکل این است که کامپیوتر حتی نمی درک زبان های برنامه نویسی. این را درک نمی کنند کد منبع در همه. این در واقع فقط می فهمد صفر و آنهایی که. پس ما این چیز بسیار سحر و جادو نامیده می شود یک کامپایلر، که اساسا است رفتن به منبع نامیده می شود که شما در یک زبان هر دو شما نوشت و کامپیوتر خود صحبت می کنند، و در حال حاضر شما رفتن به تبدیل که در صفر و آنهایی که. بنابراین اساسا آنچه کامپایلر انجام می دهد آن را می شود کد منبع، در این مورد C، آن است که رفتن به آن را تبدیل به صفر و آنهایی که به کامپیوتر درک می کند و می تواند را فایل های اجرایی خارج از آن. آیا این را حس؟ شما فقط می توانید از کامپایلر فکر می کنم به عنوان نوعی از ترجمه است که کمک به شما برای کامپیوتر توضیح دقیقا همان چیزی را که قرار است انجام دهد. اما چگونه می توانم کامپایل. اجازه بازگشت به لوازم خانگی، و اجازه دهید بگویم که من انجام می دهند که برنامه. اول من قصد دارم برای ایجاد یک دایرکتوری در اینجا، و من قصد دارم به آن تماس بگیرید "عمل." حالا من قصد دارم به حرکت به دایرکتوری، به طوری عمل سی دی. در حال حاضر من در داخل عمل هستم. حالا من می خواهم برای شروع نرمافزاری gedit، پس چگونه انجام این کار؟ من هم می تواند اینجا را کلیک کنید، و یا من فقط می تواند به معنای واقعی کلمه از نوع "نرمافزاری gedit،" و آن را برای من باز کنید. حالا من قصد دارم به نوع برنامه من است، پس دقیقا آنچه که من در اسلاید نوشت. من اعلام یک کتابخانه. من انجام اعضای هیات تحریریه اصلی، از درجه اعتبار ساقط. و در حال حاضر من انجام می دهند چون printf، سلام. حالا من قصد دارم برای نجات این. اجازه بدهید من آن را به عمل، و من قصد دارم به این hello.c. بنابراین در حال حاضر آن را نجات داد. اگر من می خواهم به آن کامپایل، من در واقع می توانید آن را در دو مکان مختلف انجام دهد. من هم می تواند این کار را در یک پنجره ترمینال، بنابراین این یکی از بزرگ، و یا شما می توانید استفاده از نرمافزاری gedit که در واقع یک پنجره ترمینال در اینجا ببینید. بنابراین شما می توانید بسیار به راحتی فقط کد خود را، و سپس شما می توانید فقط از نوع هر چه در اینجا، و سعی کنید آن را کامپایل کنید. پس چگونه کد کامپایل کنم؟ ساده ترین راه است که ما با استفاده از را، که یک تابع که است که اساسا رفتن به کامپایل کردن کد شما. شما فقط باید بگویم را خوش، به طوری "را" و به نام برنامه است. اوه. این بی دست و پا است. لورن CARVALHO: آیا می توانید به [نامفهوم]؟ LUCAS فریتاس: متاسفم. من آن را در این کار ندارد دایرکتوری راست. بیا به عمل، و در حال حاضر به عنوان hello.c آن را ذخیره کنید. من متاسفم. در حال حاضر آن را نجات داد. اجازه بدهید من فقط انجام LS و اطمینان حاصل کنید که آن را در اینجا. OK، در حال حاضر آن را در اینجا. بنابراین در حال حاضر اگر من را خوش، آن را به تف بسیاری از مسائل، اما پس از آن فقط به من خط دیگر برای ترمینال، که بدان معنی است که آن موفقیت آمیز بود. بنابراین در حال حاضر اگر من دستور ls را دوباره انجام دهید، من در واقع این فایل را در سبز است، که فایل اجرایی. و پس از آن اگر من می خواهم به آن را اجرا کنید، همه که من باید انجام دهید بریده بریده نقطه است سلام. آن را برای گفتن سلام در اینجا، بنابراین این دقیقا همان چیزی است که من آن را درخواست. یکی از راه های جمع آوری وجود دارد، است که با استفاده از صدای جرنگ جرنگ. صدای جرنگ جرنگ فقط یک کامپایلر که ما است، و آن را کمی طولانی تر به آن کامپایل. اما این کار فقط به عنوان خوب. بنابراین اگر من صدای جرنگ جرنگ، و پس از آن، درجه، و پس از آن به نام که من می خواهم را به فایل اجرایی، بنابراین اجازه دهید می گویند "سلام." و پس از آن فایل که من می خواهم به کامپایل، hello.c. همچنین رفتن به کامپایل. و شما باید این فایل را در اینجا، و من فقط می توانید آن را به خوبی اجرا کند. بنابراین هر دو از آنها کار می کنند. آیا این را حس؟ هر گونه سؤال؟ یک مدعو: آیا می توانید زوم در کمی؟ LUCAS فریتاس: ببخشید؟ رسید زوم در؟ لورن CARVALHO: من به تو فکر می کنم فقط می توانید فرمان به علاوه. LUCAS فریتاس: فرماندهی چه؟ لورن CARVALHO: فرماندهی به علاوه. LUCAS فریتاس: شماره لورن CARVALHO: اوه، که نیست رفتن به محل کار به دلیل - علت این است که مجموعه ای از قطعنامه برای این کار. LUCAS فریتاس: من نمی فکر می کنم ما می توانیم زوم شوید آره، ما نمی توانیم زوم. آیا شما یک سؤال دیگر دارند؟ متأسفم. یک مدعو: آیا می توانید تکرار صدای جرنگ جرنگ؟ LUCAS فریتاس: صدای جرنگ جرنگ؟ صدای جرنگ جرنگ همان را است، اما تفاوت این است که برای اولین بار من قصد دارم برای نوشتن صدای شیپور، که از دستور، پس از آن من قصد دارم برای انجام -0، همه، که تنها چیزی که ما در حال رفتن به یاد بگیرند که بعد از آن به عنوان پرچم. پس فقط فکر می کنم که شما همیشه به قرار دادن ای. و پس از آن برای اولین بار، شما در حال رفتن برای قرار دادن نام فایل اجرایی، در واقع فایلی است که شما رفتن به ایجاد. پس می توانم بگویم، به عنوان مثال، hello2 و سپس فایل که من می خواهم به کامپایل، که فایل C است. به طوری که hello.c است. آیا این را حس؟ یک مدعو: سلام چه؟ چه است؟ LUCAS فریتاس: Hello.c. و اگر من آن را کامپایل و اگر من از ls، من هم باید hello2 که من فقط وارد شده. و اگر من سعی می کنم آن را اجرا کنید، آن را به انجام دقیقا همان چیزی که به عنوان سلام، فقط چاپ سلام. یک مدعو: چگونه برای ساخت است شما می توانید hello.c میره؟ LUCAS فریتاس: در، شما لازم نیست برای قرار دادن. ج. در را، شما فقط می گویند نام برنامه. شما لازم نیست برای گفتن دارد. ج. اما برای صدا کردن، شما باید. رسید با صدای جرنگ جرنگ شما انجام دهد نیز باید برای اضافه کردن [نامفهوم] لورن CARVALHO: آره. بنابراین شما نیز به کتابخانه داشته باشد. LUCAS فریتاس: آره، که چیزی است ما قصد استفاده شد. که به نام اتصال، و من فکر می کنم ما رفتن به مورد آن صحبت شد. سوال دیگر؟ یک مدعو: آیا شما قرار داده صدای جرنگ جرنگ نقطه اسلش؟ LUCAS فریتاس: شماره نقطه اسلش فقط برای باز کردن فایل اجرایی. بنابراین صدای جرنگ جرنگ، شما فقط ارسال "صدای جرنگ جرنگ،" و پس از آن اگر شما می خواهید برای باز کردن فایل اجرایی است که شما فقط وارد شده، پس از آن شما نقطه بریده بریده و به نام. آیا این را حس؟ یک مدعو: اگر شما به تغییر تنها بود [نامفهوم] به سلام جهان، شما باید آن را کامپایل مجدد؟ LUCAS فریتاس: آره. اگر من می خواهم بگویم، به عنوان مثال، "سلام وجود دارد، "من فقط می توانید آن را ذخیره کنید در حال حاضر، و من فقط آن را دوباره کامپایل کنید. بنابراین اجازه دهید من می توانم در یک آرایش سلام. و اگر من سلام، این رفتن به می گویند "خوش آمدید." را حس می کند؟ هر گونه سؤال دیگر؟ یک مدعو: آیا شما که شامل استاندارد I / O برای هماهنگ کردن کار؟ LUCAS فریتاس: آره. I استاندارد / O است که اساسا کتابخانه است که دارای یک اجرای برای printf. به طوری که درست در بالا شامل stdio. است که شامل یک کتابخانه است که اساسا یک دسته از مختلف ابزار است که شما می توانید استفاده کنید. یکی؟ از آنها است چون printf است که یک تابع است است که اساسا چاپ پیام ها به روی صفحه نمایش. هر گونه سؤال دیگر؟ هیچ؟ OK. بنابراین در حال حاضر اجازه دهید بحث در مورد - لورن CARVALHO: اجازه دهید رفتن به راهنمای سبک. آیا می خواهید فقط آن را در اینجا پیدا کنید؟ LUCAS فریتاس: بنابراین ما در حال در مورد سبک صحبت کنید. لورن CARVALHO: اوه، دیوید را به اتمام برساند. OK. چرا ما دوباره به سبک در پایان؟ این در واقع به روز شده به عنوان ما صحبت می کنند. LUCAS فریتاس: آره. اجازه دهید راه برای دیوید را به پایان برساند که. لورن CARVALHO: آیا می توانم ما تغییر دهید در واقع؟ بنابراین من امیدوارم که هر کس بوده است بهره گیری از ابتدا. متاسفانه، از آن زمان به حرکت به دور از این - متاسفانه آن زمان به حرکت به دور از این بلوک های برنامه نویسی بسیار به C. اما خوشبختانه، تمام برنامه نویسی ساخت که شما کار با در ابتدا می به طور مستقیم ترجمه به C، و ما رفتن به شروع به یادگیری در مورد برخی از آنها در حال حاضر. اجازه دهید بحث در مورد شرایط در عبارات بولی. این در حال اجرا است در ذخیره باتری. LUCAS فریتاس: چگونه است که کار نمی کند؟ OK. شما وجود دارد بروید، من قصد دارم برای به دست آوردن - لورن CARVALHO: بنابراین شرایط مهم است زیرا آنها به ما اجازه می دهد به معرفی منطق به برنامه های ما. در اینجا یک مثال از یک بیماری است در یک برنامه C. اجازه دهید توجه داشته باشید که چگونه این - بنابراین این بلوک در شرایط حق در اینجا، این دستور printf اجرا نخواهد شد مگر این که شرایط در پرانتز، N بزرگتر از 0، true باشد. در حال حاضر، همه شرایط را در ج اظهارات عبارات بولی، به این معنی که وجود دارد تنها دو گزینه می باشد. آنها یا می تواند به درست ارزیابی، و یا آنها می توانند به نادرست ارزیابی. بنابراین در اینجا، بنابراین این را حس می کند، درست است؟ N بیشتر از 0، به معنی آن است که یک مثبت تعداد، به این معنی که آن را چاپ خواهد کرد از "شما برداشت مثبت است." هستند بسیاری از عبارات بولی وجود دارد است که می تواند وضعیت را با یک فرم بیانیه init انجام. ما که کمتر از. این کمتر از یا مساوی است. این فقط یک خنده دار [نامفهوم] است. اگر می خواهید چون printf رخ می دهد اگر آن را بزرگتر از یا برابر با 0، پس شما می توانید این را انتخاب کنید. بنابراین برابر درست و مناسب اضافه بعد از بیشتر از علامت. برابر، که متفاوت است تنها با یک علامت مساوی، برابر در واقع بدان معنی است که هر آنچه را در سمت چپ این همان است آنچه که بر روی سمت راست از این که در آن یک علامت مساوی چه چیزی است؟ چه تنها با یک علامت مساوی است؟ واگذاری. LUCAS فریتاس: چه کسی گفت که؟ این است که آب نبات؟ اوه، نه. متأسفم. متأسفم. شما هر دو آب نبات دریافت کنید. اوه، OK! سه نفر دریافت آب نبات! لورن CARVALHO: پس این یکی در اینجا است اپراتور انفجار قبل علامت مساوی، به طوری که برابر نیست. بنابراین در صورتی که این در شرایط من بود، بدن از شرایط را اجرا تنها در صورتی که هر آنچه را در سمت چپ است همان است که نمی آنچه در سمت راست است. من نیز می تواند فقط علامت تعجب. در واقع ما در یکی از ویژگی های را مشاهده کنید اسلاید چگونه این امر می تواند مورد استفاده قرار گیرد. LUCAS فریتاس: هر گونه سؤال؟ هیچ؟ لورن CARVALHO: ما می توانیم این ترکیب عبارات بولی برای ساخت تر عبارات شرطی پیچیده. بنابراین در اینجا، اگر هر آنچه را در سمت چپ سمت از میله های زندان دو یا است هر آنچه در سمت راست میله دو برابر با true، پس از آن خواهیم چاپ نامعتبر است. و پس از آن در اینجا، اگر هر آنچه را در سمت چپ از دو آمپرسندهای کاربردی و هر آنچه را در سمت راست سمت از دو آمپرسندهای کاربردی ارزیابی درست باشد، پس از آن ما از چاپ معتبر است. میله دو برابر می شود منطقی به نام OR اپراتور آمپرسندهای کاربردی دو برابر می باشد به نام عملگر منطقی AND. بله؟ رسید آن تنها حروف l صفحه؟ لورن CARVALHO: شماره آنها در واقع - شما می دانید واکنش، مانند بالا کلید بازگشت خود را؟ آیا شما می بینید که؟ LUCAS فریتاس: این در واقع یک نوار. لورن CARVALHO: این در واقع فقط دو میله. یک مدعو: آیا می توانید با استفاده از برابر برای رشته برابر است؟ LUCAS فریتاس: شماره ما قصد داریم برای یادگیری بعد چیزی در مورد آن. لورن CARVALHO: یک تابع وجود دارد که شما می توانید استفاده کنید. اما شما لازم نیست که نگران هستند که فقط رتبهدهی نشده است. اگر من این برنامه را تعداد 5؟ چه خواهد شد نسخه قابل چاپ کردن؟ یک مدعو: [نامفهوم] معتبر است. لورن CARVALHO: معتبر است؟ آره. من نمی دانم که کردم که. [خنده حضار] لورن CARVALHO: این نوع است از ترسناک [نامفهوم]. یک مدعو: بنابراین دو و، که فقط بدان معناست و؟ لورن CARVALHO: آره. بنابراین تعداد 5 است هر دو بیشتر از 0 و کمتر از 100. یک مدعو: چرا آن یکی؟ لورن CARVALHO: یک علامت است در واقع چیزی متفاوت، و آن را اپراتور بیتی، که شما بعد از یادگیری در مورد. اما آن چیزی که در واقع کار می کند با بیت های یک عدد داده شده است. LUCAS فریتاس: فقط فکر می کنم آنها نمی کنند باید در مورد آن نگران باشید در حال حاضر. لورن CARVALHO: من فکر می کنم آن را احتمالا آینده تا هفته آینده. LUCAS فریتاس: هر گونه سؤال دیگر؟ هیچ؟ لورن CARVALHO: پس ما را دیده ام که آن را متوقف به تنهایی می تواند ایستاده است، اما آن را می توانید همچنین با و دیگری بلوک زوج. بنابراین در این مورد، اگر n بزرگتر از است 0، ما قصد داریم برای چاپ از "شما یک عدد مثبت را برداشت. "دیگری، به این معنی اگر آن 0 است و یا اگر آن را کمتر از 0، ما قصد داریم به نسخه قابل چاپ کردن، "شما یک عدد منفی را برداشت." نکته جالب در اینجا این است که این منحصر به فرد از یکدیگر می باشد. هرگز برای رفتن به یک مورد که در آن این و این می تواند هر دو را چاپ کنید. من مطمئن هستم شما با اگر / دیگری مشغول به کار هستم جعبه در ابتدا، پس از این باید باشد بسیار آشنا. بله؟ یک مدعو: آیا ما نیاز به فضای بین اعضای هیات N برابر GetInt پس از آن فضا در اگر بیانیه ای؟ مانند ما با استفاده از یک خط [نامفهوم] لورن CARVALHO: آه، فضای اینجا؟ رسید که می خواهم، اما فضای دو برابر شود. نه، بالا برود. برو تا. LUCAS فریتاس: فقط خط؟ یک مدعو: آره. LUCAS فریتاس: فقط خط خالی؟ یک مدعو: آره. لورن CARVALHO: خط خالی؟ شماره این تنها یک چیز سبکی است. LUCAS فریتاس: درست مثل گاهی اوقات شما فقط جست و خیز برخی از خطوط به طوری که کد می کند مانند به نظر نمی آید یک بلوک بزرگ از متن. لورن CARVALHO: من فکر می کنم که چه اتفاقی افتاده این بود که ما یک نظر در اینجا، اما من آن را در زمان به طوری که شما بچه ها می خواهم که در مورد کد فکر می کنم و نه از فقط به عنوان خوانده شده نظر من است. به طور کلی، فاصله را واقعا نمی راه برنامه خود را اجرا می کند تاثیر می گذارد. این بیشتر از یک چیز سبکی. و هنگامی که ما راهنمای سبک به روز شده و آماده است تا در پایان به supersection، ما صحبت کنید در مورد آن بیشتر است. چیزی اشتباه وجود دارد این برنامه، درست است؟ از آنجا که 0 است واقعا نمی یک عدد منفی. بنابراین اجازه دهید ببینیم آیا می توانیم برطرف کنیم. شما احتمالا می توانید تصور کنید با این می گوید، درست است؟ اگر n بزرگتر از 0 باشد، ما چاپ، "شما یک عدد مثبت را برداشت. "بعد از آن دیگری اگر n کمتر از 0 است، "شما برداشت تعداد منفی است. "دیگری" شما برداشت 0. " حال، جالب است که این می تواند برای همیشه ادامه. شما می توانید در صورت بلوک، دیگری اگر بلوک، یکی دیگر از دیگری اگر بلوک، دیگری اگر، اگر دیگری، دیگری اگر، دیگری، اساسا تا زمانی که شما می خواهید. و وقتی مثل این ساخته شده، این ها همه برای رفتن به منحصر به فرد هر یک از دیگر. بله؟ رسید: پس چرا شما فقط از دیگر اگر به جای آن از [نامفهوم]؟ لورن CARVALHO: در این مورد، بله من می تواند در صورت دیگری استفاده کنید، و این امر می تواند کاملا خوب است چرا که شرایط خود منحصر به فرد هر یک از دیگر. اما اگر شرایط بودند منحصر به فرد نیست هر یک از دیگر، این نیروی آنها را به هرگز هر دو ارزیابی، در صورتی که حس می کند. یک مدعو: در آن صورت، می تواند ما لانه دوم اگر در ابتدا اگر؟ لورن CARVALHO: اگر - چه چیزی شما؟ یک مدعو: اگر دو شرط متقابلا منحصر به فرد نیست؟ لورن CARVALHO: اگر شرایط متقابلا منحصر به فرد نیست؟ اما شما می خواهید فقط یکی از آنها را به اجرا؟ یک مدعو: شما می خواهید تنها اگر به جای دیگری. لورن CARVALHO: آره. همیشه وجود دارد رفتن به مقدار زیادی از راه های که شما می توانید انجام این کار. شما می توانید آنها قطعا لانه. و شما در یک اسلاید آینده می بینیم که شما می توانید IFS های متعدد داشته باشد، فقط یک یکی پس از دیگری. اما این یک راه منطقی است سازماندهی جریان از برنامه شما. LUCAS فریتاس: و وجود دارد یکی بیشتر چیز، این است که شما در مورد قرار دادن پرسید: اگر و پس از آن دیگر اگر. که کاملا کار می کنند، اما آن را بد طراحی چرا که اساسا اگر شما بررسی اولین، اگر، و شما متوجه است که عدد بزرگتر از 0 باشد، شما می توانید فقط برنامه به پایان برسد. شما لازم نیست برای چک کردن آن را کمتر از 0، درست است؟ اما اگر شما در صورتی که اگر، آن را برای بررسی هر دو، در حالی که اگر من اگر چیز دیگر را انجام دهید، آن را چک کنید اگر آن را بزرگتر از 0. اگر از آن است، آن را به حتی نگاه در خطوط دیگر از کد. بنابراین شما اساسا آن را به چک کردن مانند دو بار بی ارزش، به طوری که به همین دلیل ما اگر دیگری در صورت انجام دهد. هر گونه سؤال دیگر؟ رسید بنابراین عملکرد از دیگر در صورتی که همان است اگر آن را فقط در صورت بود؟ لورن CARVALHO: شماره شما در واقع رفتن به در بعدی من را ببینید اسلاید یک مثال که در آن می توانید متفاوت باشد. در این مورد، آن را تقریبا یکسان است. بنابراین در اینجا، ما باید نمونه ای از چند اگر اظهارات و قابلیت است همان نیست به عنوان اگر من فقط اگر گفته بود دیگری، اگر دیگری، اگر چیز دیگری. بیایید فقط در مورد آنچه که فکر می کنم چاپ اگر من با وارد کردن شماره 95 در این برنامه است. یک مدعو: [نامفهوم] لورن CARVALHO: و پس از آن؟ یک مدعو: [نامفهوم] لورن CARVALHO: آره. بنابراین در این مورد، این شرایط عبارتند از دو به دو ناسازگار از یکدیگر است. و از آنجایی که هیچ چیز متوقف کردن وجود دارد این وضعیت از بررسی در صورتی که این یکی در حال حاضر، آنها فقط می همه رفتن به نسخه قابل چاپ کردن. پس چگونه می توانم این را تعمیر کنید؟ یک مدعو: IFS دیگری؟ لورن CARVALHO: شما می توانید IFS دیگری استفاده کنید. من می تواند به منظور تغییر این، درست است؟ اگر من این یکی از اولین بود؟ خوب، در واقع، نه. که نمی خواهد برای 95 کار. LUCAS فریتاس: نه، فقط IFS دیگری. IFS دیگری: لورن CARVALHO می شده اند این ثابت شده است. آیا این روشن کردن سردرگمی بین IFS و دیگری IFS؟ یک مدعو: من فقط می خواستم از شما بپرسم، اگر شما استفاده می کنید اگر دیگری، آن را متوقف خواهد کرد؟ لورن CARVALHO: راست. بنابراین تنها این یکی از اولین. اگر من وارد شماره 95، تنها این را چاپ و آن را هرگز را به دیگری پیشرفت کرده است. LUCAS فریتاس: فقط نوع از فکر می کنم آن را به عنوان اگر این اتفاق می افتد، این کار. دیگری است مانند اگر نه، چک برای این کار، و سپس به انجام این کار. پس چون همه آنها دو به دو هستید منحصر به فرد. شما نمی توانید به دو بیش از آن دریافت کنید. یک مدعو: آیا می توانم به شما استفاده از منطقی و برای این وضعیت چیست؟ لورن CARVALHO: آره. به این ترتیب دیگر که ما می توانیم است این مشکل را برطرف کرده است. ما می تواند تعریف شده اند محدوده، درست است؟ بنابراین من می تواند گفته اند اگر n بزرگتر است از 90 و کمتر از - خوب، من حدس می زنم این یکی واقعا نمی مهم، اما در اینجا من می توانستم گفت: اگر نفر بیشتر از 80 و کمتر از 90 است. بیشتر از 70، کمتر از 80. این امر نیز کار کرده است. [خنده حضار] LUCAS فریتاس: او می ترسم. لورن CARVALHO: نترس. LUCAS فریتاس: نه که اشتباه خواهد بود. این درست است که آن را بی ارزش طولانی. مانند علوم کامپیوتر، باید به عنوان ساده که ممکن است تا زمانی که شما باید عملکرد. آیا شما می خواهید آب نبات؟ رسید به آن نیاز نیست. لورن CARVALHO: شما موجب ترس همه، لوکاس. LUCAS فریتاس: متاسفم. لورن CARVALHO: دیوید نیز ذکر شده این بیانیه تغییر در کلاس. اساسا چه خبر است در سوئیچ است بیانیه یک متغیر طول می کشد. در این مورد، ما در حال گرفتن یک عدد صحیح. اگر عدد صحیح 1 است، ما قصد داریم به نسخه قابل چاپ کردن، "شما برداشت کوچک تعداد "اگر عدد صحیح 1 است،" شما برداشت یک عدد متوسط. "اگر عدد صحیح 3 است، "شما برداشت بالا تعداد "و من هم یک مورد به طور پیش فرض به حال در اینجا، اما آن را نشان نمی تا، که بیش از حد بد است. در واقع، این فقط نحو دیگر. ما می تواند این دقیق اجرا همین کار را با اگر و اگر دیگری اظهارات. اما زمانی که تعداد زیادی از مختلف وجود دارد شرایط و تعداد زیادی از مختلف تغییرات در آنچه که می خواهید برای انجام هر ورودی، این گزینه است. بنابراین آن را فقط به نحو خوب می دانم. بله؟ رسید: چرا یک بک اسلش وجود دارد نمی باشد N در یکی از اولین؟ لورن CARVALHO: برای وجود دارد؟ هیچ بک اسلش وجود دارد N وجود دارد به این دلیل که GetInt - اگر شما این را امتحان کنید، آن را خواهید شما این اعلان را. من یک عدد صحیح بین 1 و 3 را. و اگر من قرار دادن عکس العمل N، این امر می من را به خط بعدی، اما من فقط خواستم آنها را به نوع عدد صحیح درست بعد از روده بزرگ است. شما می توانید واکنش های N اند قرار داده است. این یک معامله بزرگ نیست. آره؟ یک مدعو: برای این کد، این است که مورد اول، این است که به دلیل آن را به حالت اول است؟ از آنجا که - لورن CARVALHO: نه، نه، نه. پس این است من یک عدد صحیح را بین 1 و 3. اگر n 1 است، من این را چاپ کنید. اگر من به حروف خواسته بود، من می تواند داشته باشد گفت نامه بین به من و C. سپس این امر می تواند مورد A. یک مدعو: [نامفهوم]. مورد فقط [نامفهوم] لورن CARVALHO: بله، درست است. آره؟ یک مدعو: چه می شود اگر شما می خواهید به بیشتر از یک عبارت رابطه ای؟ بنابراین به جای گفت نفر برابر با 1، [نامفهوم] N بزرگتر از 1 در مورد اول است؟ لورن CARVALHO: در واقع، اگر من نمی تعریف برخی از این موارد، این امر توان حمل کردن. پس در واقع، شاید این است که چی داری می گی. LUCAS فریتاس: من فکر می کنم او اگر درخواست در مورد نفر بیشتر از 0، مورد کمتر از 0. لورن CARVALHO: شاید سوئیچ بیانیه واقعا که چه می خواهید استفاده در این مورد. LUCAS فریتاس: دستور switch است فقط برای ارزش، به طوری که شما در حال بررسی ارزش مانند این یا آن. بنابراین شما می توانید در واقع نه قرار داده و شرایط. یک مدعو: اگر فرد انواع با [نامفهوم]؟ لورن CARVALHO: که می شده اند صورت پیش فرض من که متاسفانه شما نمی توانید ببینید. LUCAS فریتاس: [نامفهوم] آنها را مشاهده کنید. لورن CARVALHO: در واقع، شما می دانید چه؟ بیایید فقط برای درس 50، و من فقط در زوم بر روی اسلاید در مطالعه 50، به دلیل این است تنها آزار دهنده است. بنابراین اجازه دهید من در واقع به شرط بروید. این فقط رفتن به را در حالی که کمی. بسیار خوب. بنابراین، من متاسفم. حداقل در حال حاضر ما قادر خواهید بود برای دیدن همه چیز بدون آن قطع. بسیار خوب. بنابراین اگر آنها در 10 قرار داده است، ما را به طور پیش فرض در اینجا به صورت پیش فرض من، و من فقط چاپ نامعتبر چون من از آنها خواست تا وارد یک عدد صحیح بین 1 و 3. هر گونه سؤال دیگر؟ آره؟ یک مدعو: بیایید برای صورت یک، صورت می گویند سه، می گویند شما می خواهید آن را به همه همین، بنابراین شما انتخاب تعداد که تعداد متوسط ​​نیست. در آن صورت، آن را از کار برکنار می شود؟ آیا شما فقط تغییر متن در هر دو از آنها، و یا وجود دارد برخی افزونگی؟ آیا هیچ راهی برای ترکیب وجود دارد [نامفهوم]؟ لورن CARVALHO: راه هایی برای وجود دارد ترکیب آنها، اما من معتقدم که شما می توانید تنها ترکیب آنهایی که مجاور. بنابراین اگر من چیزی تعریف نمی کند برای مورد دو، در این صورت، درخواست برای هر دو مورد. آه، اگر من چیزی برای مورد قرار داده نشده یکی این که به هر دو اعمال می شود مورد یک و دو. اگر این را حس می کند. یک مدعو: این یکی را می تکرار؟ LUCAS فریتاس: OK. اگر شما اساسا انجام داد، مانند، شما باید همین، اما شما قرار داده نشده هر چیزی در اینجا، شما می خواهم یا برای است مورد یک یا دو مورد، انجام این کار. درست است؟ و این شکست به معنی اگر شما در این مورد، فقط برود. بنابراین این چیزی است که ترمز بدان معنی است. بنابراین اگر من فقط این بود، شما نگاه کنید، آن را یک مورد، و تو هم این کار را انجام. اگر آن را به صورت دو بود، آن را نیز فقط به اینجا می آیند و انجام این کار. رسید اما شما می توانید آن را انجام دهید؟ اگر چیزی وجود دارد مورد دو [نامفهوم] لورن CARVALHO: من باور نمی کنم شما می توانید انجام این کار. من فکر نمی کنم شما می توانید در اطراف جست و خیز. آیا می توانید انجام این کار، راب؟ گمان نمی کنم. رسید بنابراین تنها یک شماره می توانید بعد از یک مورد به، درست است؟ می تواند وجود داشته باشد مورد یک کاما از هم نیست، دو؟ LUCAS فریتاس: نه، شما می توانید نیست. شما قطعا نمی تواند. لورن CARVALHO: منظور من، نکته این است این یک گزینه است، و این ممکن نمی تناسب مورد استفاده شما، تا بعد شما که اگر شرایط استفاده کنید. رسید: پس چرا شما این کار؟ سوئیچ؟ لورن CARVALHO: من می خواهم این استفاده کنید اگر شما بسیار تعریف شده - در واقع، لوکاس است، شما در حال مسدود کردن. LUCAS فریتاس: اوه، ببخشید. لورن CARVALHO: بسیار اگر شما رفتارهای تعریف شده است که شما برای خواهید هر و هر ورودی، این ممکن است کمی کوتاه تر از نوشتن اگر بیانیه ای برای هر یک. رسید چه شکستن معنی دوباره؟ لورن CARVALHO: شکست به معنی متوقف شود. به یاد داشته باشید، اگر من این شکست ندارد در اینجا، ما را فقط به پایین کاهش یافته است در مورد این پرونده است. LUCAS فریتاس: فرار به معنی دریافت خارج از دستور switch. از آنجا که اگر آن را به 1، من می خواهم چاپ این و ترک. من نمی خواهم برای بررسی هر چیز دیگری. یک مدعو: شما نمی خواهید برای چاپ هر چیز دیگری. LUCAS فریتاس: آره. از آنجا که این دو به دو ناسازگار. رسید و این تنها ادامه به مورد بعدی در صورتی که برای اولین بار از درست نیست؟ یا آن را تست همه موارد در همان زمان؟ LUCAS فریتاس: نه، چک های پی در پی. پی در پی، آره. یک سؤال دیگر، پس ما به رو حرکت در بنابراین ما می توانیم همه چیز را پوشش میدهد. آره؟ رسید بنابراین برای مورد، می تواند داشته باشد چیزی انجام می شود علاوه بر فقط یکی؟ می توانید آن را طیف را؟ LUCAS فریتاس: شماره لورن CARVALHO: من فکر نمی کنم شما می توانید آن طیف می دهد. LUCAS فریتاس: شما نمی توانید شما می توانید آن را طیف می دهد. یک مدعو: مورد خاص است [نامفهوم]. LUCAS فریتاس: سوئیچ مرتب کردن بر اساس ارزش ها است. شما انجام کارهای مختلف بسته در یک مقدار، یک مقدار خاص. شما میتوانید دامنه انجام ندهید، نمی توانید انجام هر چیز دیگری. این فقط یکی دیگر از ابزار برای دیدن است. لورن CARVALHO: اکثر مردم از آن بهره نمی تغییر بیانیه های بسیار زیادی را در CS50، اما وجود دارد. بسیار خوب. بنابراین چیزی که بعد از ما در حال صحبت در مورد عملگر سه تایی است. این تنها نوع دیگری است از مشروط. اساسا چه خبر است در اینجا این است من برای درخواست یک عدد صحیح، و اگر n است بیشتر از 100، من قصد دارم به نسخه قابل چاپ کردن "بالا است." اگر این طور نیست، من قصد دارم چاپ از "کم است." بنابراین آنچه در آن انجام شرط است است حق در اینجا در پرانتز، و شما می توانید نوع از این سوال فکر می کنم به من که آیا درخواست این درست است یا نه. اگر این درست است، من قصد دارم برای انجام این کار برای اولین بار چیزی، و اگر این طور نیست، من هستم رفتن به انجام این کار چیز. هر گونه سؤال در مورد اپراتور سه گانه؟ LUCAS فریتاس: فقط می خواهم توجه داشته باشید از دیوید است که هر زمان که شما یک شرایط - لورن CARVALHO: من حدس می زنم دیوید تماشای از طریق جریان زندگی. LUCAS فریتاس: او در حال انجام زندگی جریان در حال حاضر. بنابراین هر زمان که شما یک شرط، شما قرار است برای قرار دادن آکولاد، درست مثل ما در یک سوئیچ داشته بیانیه در اینجا. ما آکولاد در اینجا. برای هر شرایط، شما قرار است نیز قرار داده است. لورن CARVALHO: شما خواهید دید این در راهنمای سبک. ما در واقع نیست که راهنمای سبک در حال حاضر. من فکر می کنم دیوید هنوز هم کار می کند. LUCAS فریتاس: او گفت که آن را فقط در حال حاضر کار می کند. لورن CARVALHO: اوه، در حال حاضر آن را به کار؟ OK. بنابراین ظاهرا در این سال در سبک راهنمای، حتی اگر شما فقط باید یک خط، شما رو به قرار دادن آن آکولاد شوید شما لزوما نیاز به نه برای از قابلیت های این برنامه است. و شاید ما فقط باید استراحت پس از شرایط و به راست به راهنمای سبک برای روشن شدن تا برخی از این چیزها؟ LUCAS فریتاس: آره. آیا شما سوالی دارید؟ یک مدعو: نه، من فقط صبر کنید تا راهنمای سبک. رسید می توانید به عقب برگردید به اپراتور سه گانه؟ لورن CARVALHO: سه تایی، بله. LUCAS فریتاس: عملگر سه تایی است اساسا یک بیانیه در صورت دیگر، اما به جای داشتن به دو خط از چک کردن اگر و پس از آن دیگری، شما فقط باید یک خط. بنابراین اساسا اگر من می خواهم به یک رشته یک مقدار از من بالا و یا پایین، و می خواهید برای انجام بالا اگر n بزرگتر از است 100 و یا کم اگر آن را کمتر، آنچه که من می تواند انجام دهد این [نامفهوم] رشته است برای رفتن به، و پس از آن من درخواست برنامه N است بیشتر از 100؟ به همین دلیل من این عبارت در پرانتز و پس از آن علامت سوال. سؤال من این است که آن را بزرگتر از 100؟ اگر از آن است، آن را به بالا باشد. اگر این طور نیست، این رفتن به پایین است. بنابراین اساسا چه فکر می کنید این است که شما بخواهید یک سوال، بنابراین شما را در پرانتز قرار دهید شرایط. سپس شما علامت سوال قرار داده است چون شما آن را درخواست. و اگر این درست است، آن را به در ارزش اول [نامفهوم] در اینجا. اگر این طور نیست، من قصد دارم برای قرار دادن ارزش است که بعد از روده بزرگ است. آیا این درست است؟ این چیزی است که مانند هم ابزار در C اما شما لازم نیست که به طور خاص از آن استفاده کنید. اما مردم CS معمولا دوست دارم که زیرا تنها موجب صرفه جویی در خطوط. لورن CARVALHO: این بسیار ظریف است. این کار زیادی را فقط در یک بیانیه. رسید بنابراین علامت درصد است فقط هر آنچه که نتایج در خط های قبلی؟ لورن CARVALHO: اوه، متاسفم. این علامت درصد است که در واقع یک حفره یا سوراخ برای این ها. در یک دستور printf، شما این رو رشته در اینجا است که چه خبر است به نسخه قابل چاپ کردن، اما شما می توانید نه فقط قرار دادن این ها در آن وجود دارد. در غیر این صورت آن را چاپ از بازدید کنندگان به معنای واقعی کلمه. بنابراین ما یک درصد را در اینجا برای حفظ این محل برای برگزار شد هر چه پس از کاما از هم. بنابراین برای یک رشته، شما درصد ها رو. برای یک عدد صحیح، درصد من. برای شناور، درصد ج. شما آن را به عنوان ما نمونه های بیشتر. اما شاید شما باید در مورد صحبت راهنمای سبک در حالی که کمی، در حال حاضر که آن را تا. LUCAS فریتاس: اگر شما به cs50.net/style، شما در حال رفتن برای دیدن راهنمای سبک. برای مجموعه مشکل، نمره خود را برای مجموعه ای مشکل است از دامنه تشکیل شده، که اساسا بدان معنی است که اگر شما تمام بود بخش هایی از مشکل تنظیم و یا اگر شما تلاش چیزی. دومین چیزی صحت است، که وسیله ای است که برنامه خود را به انجام آنچه در آن قرار بود انجام شود، و یا آن را دارای اشکالات، و یا آن را انجام نمی دهد چه را که قرار است انجام دهد. چیزی که طراحی شده است، که به معنی شما پیاده سازی می باشد، این به خوبی، و یا شما با استفاده از اظهارات غیر ضروری؟ بنابراین برای مثال، اگر شما می خواهید به تکرار تعداد 10 بار، شما نوشتن برای حلقه و یا به شما تنها با انجام 10 بار بیانیه همان، فقط انجام کپی و چسباندن. بنابراین طراحی شده است برای آن. و در نهایت، شما باید سبک. سبک است درست مثل قضاوت اگر کد خود را به نظر می رسد قابل خواندن است و نوع بسیار. این فقط اساسا بدان معنی است کد شما قابل خواندن است؟ آیا شخص دیگری که به دنبال می کد شما قادر به درک آنچه آن را انجام می دهند؟ آیا باید نظر و مانند آن؟ اجازه دهید در مورد سبک صحبت کنید که شما قرار است استفاده کنید. اولین چیزی که نظر است. نظرات برای بسیار مهم است خود را کد زیرا گاهی اوقات شما در حال انجام برنامه شما، و شما دقیقا می دانند چه شما می خواهید به انجام این کار شما فقط شروع به برنامه نویسی، فقط نوع تا یک دسته از C. اما اگر شخص دیگری است که به دنبال شما هستند کد، آنها در حال رفتن به قادر به درک آن چرا که آنها نمی دانم چیزهایی که در سر شما هستند، مانند pesudocode، تا شاید آنها خواهد شد یک زمان سخت به درک آنچه را که کد در حال انجام است. بنابراین نظر واقعا مفید برای توضیح به کسی که به دنبال در کد خود را به آنچه که آن را انجام می دهند، و در واقع حتی برای شما، آنها بسیار مفید است. همانطور که شما به Psets سخت تر و سفت و سخت، شما در حال رفتن برای دیدن که کد می شود دیگر، و پس از آن نظر واقعا مهم است به یاد داشته باشید هر چه بخشی از برنامه های خود را انجام می دهد. برای قرار دادن یک نظر، شما فقط می توانید انجام دهید بریده بریده بریده بریده و سپس نظر بدهید. و خط کامل بخشی از یک نظر است، و هر آنچه که شما بنویسید، آن را نمی شود برای کد شما استفاده می شود. این اساسا مانند کامپایلر رفتن به نادیده گرفتن آن است. آیا این را حس؟ یک مدعو: چه کار می کنی دوباره به نوشتن یک نظر؟ LUCAS فریتاس: این؟ بریده بریده بریده بریده؟ هر زمان که شما تایپ بریده بریده بریده بریده، هر چه در این خط است که نمی در نظر گرفته شود به C. آره؟ یک مدعو: بنابراین پس از توضیحات شما فقط وارد و شروع یک خط جدید؟ LUCAS فریتاس: بله، دقیقا. لورن CARVALHO: اسلش اسلش برای نظر خط. LUCAS فریتاس: به عنوان مثال، در اینجا ما - اجازه دهید من در زوم - به عنوان مثال، در اینجا من اعلام شناور، اما شاید اگر شما فقط با قرار دادن این در کد خود را، مانند شما هیچ نظری ندارم آنچه این انجام شده است، مانند در واقع کسی که به دنبال در این کد است برای رفتن به، مانند، چه معامله در جریان است؟ اگر شما یک نظر گفت: "تبدیل فارنهایت به سانتیگراد، آن را بسیار می کند احساس بیشتر. تو، مثل، OK، شما انجام تبدیل. آیا این را حس؟ پس از آن تنها چیزی است که مردم کمک می کند آماده کد شما و همچنین شما قادر به سازماندهی کد شما بهتر است. نکته دوم این است که شما می توانید انجام دهید توضیحات چند خطی، بنابراین باید نظر برای یک دسته از خطوط. به جای داشتن برای قرار دادن اسلش اسلش، نظر خط اول، بریده بریده بریده بریده، خط دوم، و به همین ترتیب، شما می تواند ستاره اسلش استفاده کنید. راه که شما آن را انجام دهید این است که برای خط اول از نظر شما رفتن به انجام یک ستاره ستاره بریده بریده، بنابراین درست مانند آن. درست مثل اینجا ما از آغاز یک برنامه، شما معمولا قرار داده که شما هستند، چه این برنامه می کند، و چیزهای مانند آن. این نوع مانند یک ضربه سر برای برنامه است. باز هم، آن چیزی است که نمی کامپایلر خواهد در مورد مراقبت از خود، اما این مهم است که شما بدانید چه این برنامه می کند و یا برای افراد دیگر بدانید که چه برنامه های خود را در حال انجام است. بنابراین شما بریده بریده ستاره ستاره، و پس از آن آخرین خط شما به انجام ستاره بریده بریده می شود قادر به بستن اظهار نظر. بنابراین اساسا برای تمام خطوط دیگر، شما می توانید هر چیزی، و این است همه رفتن به نادیده گرفته شود. و همچنین، فقط به عنوان سبک، شما می بینید که هر یک از خطوط دارای یک ستاره و تمام ستاره تراز وسط قرار دارد. این چیزها مهم هستند پس که کد خود را به نظر می رسد بسیار. به نظر می رسد خوب است؟ در حال حاضر، شرایط. چه دیوید می گفت که ما باید در واقع در آن لام قرار داده است، که هنگامی که شما به هر نوع اگر اظهارات و یا هر نوع شرایط، شما باید آکولاد نشان می دهد که استفاده از این چیزی است که قرار بود رخ دهد هنگامی که شما به وضعیت. با مشخصات فنی، هنگامی که شما به یک شرط و سپس در خط بعدی تنها یکی خط، شما از لحاظ فنی نیست برای قرار دادن آکولاد. در واقع کامپایلر درک به هر حال به عنوان ضمنی. اما برای CS50، ما از شما درخواست بچه ها برای قرار دادن آکولاد فقط به طوری که شما فعال است سازمان یافته تر و بیشتر قابل خواندن است. از آنجا که کد می شود دیگر اگر شما انجام آکولاد و مانند ندارد. این می شود واقعا کثیف. لورن CARVALHO: این دقیقا همان چه دیوید فقط اشاره در اسلاید قبلی من. این قطعا بدون مجعد کار می کند پرانتز، اما به دلایل سبکی ما قصد داریم به درخواست است که شما آن شوید را و هنگامی که شما شروع به در حال اجرا style50، است که نوع بررسی 50 برای سبک، آن را به شما یادآوری برای انجام این کار. LUCAS فریتاس: و یک چیز دیگر است به یاد داشته باشید برای قرار دادن آکولاد همراه در هر خط. بنابراین شما انجام دهید، به عنوان مثال، l صفحه. برو به خط بعدی، باز کردن یخ تحریک احساسات، و سپس شما به خط بعدی بروید. تورفتگی، که چهار فاصله است. سپس شما هر چیزی، پس از آن دیگر خط و بستن آکولاد. بنابراین مطمئن شوید که هر دو آن مجعد پرانتز در خطوط مختلف هستند. رسید بنابراین اگر از این کد به حال مانند 10 IFS دیگری، این باید 10 مجموعه از براکت؟ LUCAS فریتاس: آره، برای هر یک از آنها. آره. بنابراین اگر، اگر دیگری، و غیره. یک مدعو: آیا می توانم به شما نمی زدن کلید TAB برای دسته بندی کرده؟ LUCAS فریتاس: ما از شما می خواهم بچه ها به استفاده از چهار فاصله است. بعضی از ویرایشگران متن ترجمه زبانه به عنوان چهار فضاهای به طور خودکار. نرمافزاری gedit نمی کند، بنابراین شما مجبور به انجام فضا فضا فضا فضا. این هم چیزی است که برخی از برنامه نویسان تنها زبانه ها، برخی از برنامه نویسان تنها چهار فاصله، و برخی از افراد دیگر حتی انجام دو یا سه فاصله است. این درست است که در اینجا ما درخواست شما بچه ها را به انجام چهار فاصله است. رسید تقریبا قطعا وجود دارد رو به راهی برای نرمافزاری gedit به به صورت خودکار [نامفهوم]. شبیه هیچ [نامفهوم] ندارد که. LUCAS فریتاس: آره. من فکر می کنم شما می توانید به تنظیمات بروید. یک مدعو: این در حال حاضر تمام آن. LUCAS فریتاس: این در حال حاضر می کند؟ OK. پس فقط مطمئن شوید که شما چهار فاصله است. یک مدعو: آیا ما برای قرار دادن مجعد براکت در برای حلقه ها و همچنین؟ LUCAS فریتاس: بله. لورن CARVALHO: هر گاه شما کپسوله سازی یک بلوک از کد، فقط لطفا با استفاده از آکولاد. و قبل از اینکه شما فکر می کنم که ما فقط بودن sticklers در مورد این بدون هیچ خوب دلیل، اگر شما بچه ها نمی رویم به دریافت کارآموزی تکنولوژی در شرکت های بزرگ، آنها به شما راهنمای سبک، و آنها به شما خواهند گفت این چیزی است که شما می باشد کد نیاز به شبیه. و حتی اگر شما را به کد آموخته این، شاید در کارآموزی خود را شما باید برای انجام کاری کاملا متفاوت است. آنها از شما انتظار مطابقت به سبک خود. LUCAS فریتاس: و یک چیز بیشتر است که شما متوجه من دوست دارم X داشته باشد، فضا، کمتر، فضا، 0؟ هر زمان که شما یک اپراتور - می توان آن را مانند به همراه داشته باشد، منهای، زمان، کمتر، بیشتر، هر اپراتور - شما برای قرار دادن یک فضای در سمت چپ و در سمت راست عملگر. لورن CARVALHO: کسانی هستند نام عملوند دودویی. فقط مطمئن شوید که شما همیشه فضا را از عملوند دودویی خود را. LUCAS فریتاس: این است یک عملوند دودویی. لورن CARVALHO: این است به دلیل آن طول می کشد دو. LUCAS فریتاس: اوه، آره. OK، سوئیچ. اول، شما باید ببینید که درست مثل در بیانیه ای در صورت و یا دیگر، شما باید برای قرار دادن آکولاد در خط خود را و تحت آکولاد در اینجا. توجه کنید که یک فضای واحد وجود دارد پس از روشن، فقط در دوست اگر و دیگری ما یک فضای واحد بین حال که و پرانتز. بنابراین شما باید برای قرار دادن که. و هیچ فضای مناسب بعد از هر وجود دارد از پرانتز و یا قبل از پایان از پرانتز. پس می بینید که این همه با هم، و همچنین می خواهم در اینجا. آره؟ لورن CARVALHO: من فکر می کنم ما نیاز به حرکت در. LUCAS فریتاس: بنابراین این بخش از است راهنمای سبک است که شما برای CS50 داشته باشد. مطمئن شوید که برای رفتن به cs50.net/style و نگاهی به این. این ها همه بسیار مهم است برای نمره به سبک خود. به من اجازه رفتن به بیانیه. لورن CARVALHO: من می خواهم و نه فقط style50 استفاده کنید. ما فقط قصد رفتن مستقیما به حلقه. بسیار خوب. بنابراین اجازه دهید به محتوای کنید، در حال حاضر که ما بیش از راهنمای سبک رفته است. حلقه، شما آنها را در ابتدا دیده می شود، و ما قصد داریم به بحث در مورد آنها در C. در حلقه for، وجود دارد سه بخش به اعلام این حلقه. شما مقدار دهی اولیه خود را در کردم که به شما در تنظیم متغیرهای خود را. شما شرط خود را، که می کردم چک کردن برای دیدن اینکه آیا چیزی است درست یا نادرست و اینکه آیا حلقه باید ادامه یابد. و شما به روز رسانی خود را داریم، که است به روز رسانی متغیرهای خود را. اجازه دهید نگاهی سریع در برخی از کد C از این حلقه در عمل است. چه خبر است در اینجا در مقدار دهی اولیه، ما راه من به 0. در این وضعیت ما در حال بررسی آیا من کمتر از 10 است. و در به روز رسانی ما افزایش من. پس چه خواهد از نتیجه این حلقه؟ LUCAS فریتاس: در واقع، اول از همه، آیا بچه ها می دانم آنچه من + + است؟ یک مدعو: افزایش 1. LUCAS فریتاس: افزایش 1، بله. پس این همان چیزی است انجام من برابر من به علاوه 1. و توجه کنید که ما یک فضای ندارد بین من و + +. پس شما بچه ها می دانید چه این کار را خواهد کرد؟ آیا کسی می تواند به من بگویید؟ و شاید برخی از آب نبات به خاطر که؟ یک مدعو: [نامفهوم] LUCAS فریتاس: OK. [نامفهوم] همه نشان می دهد بعد از [نامفهوم]. آره، آن را به نشان می دهد: "این CS50 "10 برابر است. لورن CARVALHO: من حدس می زنم آن را در عنوان اسلاید. LUCAS فریتاس: اوه، آره. [خنده حضار] LUCAS فریتاس: این کمک می کند. لورن CARVALHO: بنابراین کسانی که برای حلقه می باشد. ما قصد داریم به برخی از نمونه های از برای حلقه بعد. اما اجازه دهید در واقع یک نگاه در را نوع دوم از حلقه شما با آنها مواجه در C، و آن را در حالی که حلقه نامیده می شود. در یک حلقه در حالی که، شما فقط یک شرط است. این وضعیت در بررسی در آغاز، و در صورتی که شرایط ارزیابی درست کرده، سپس کد داخل بدن از بلوک در حالی که اجرا خواهد شد. و این کد به ادامه خواهد داد اجرا تا زمانی که شرط برقرار باشد. در اینجا یک مثال از یک حلقه در حالی که در C. است ما قصد داریم به مجموعه تعداد 10 تا با آغاز خواهد شد. تا زمانی که تعداد بیشتر از 0 باشد، ما قصد داریم برای حفظ و چاپ از این متغیر در اینجا. ما قصد داریم خانمها با کاهش تعداد و پس از آن شرایط را دوباره چک کنید. چاپ، کاهش، چک شرایط دوباره. در اینجا ما یک نمونه که مربوط سوال خود را قبل از آن. ما تا به حال درصد بازدید کنندگان هنگامی که ما بودند چاپ یک رشته، و در حال حاضر که ما در حال چاپ هوشمند، ما باید یک درصد من به عنوان مکان نگه دار ما به جای. حروف باید همه زیبا بود بصری، این رشته، من برای هوشمند. بنابراین اگر این کد را اجرا می کند، شما باید تعداد پایین 10-0، چاپ هر عدد صحیح. LUCAS فریتاس: و شما می توانید از فکر می کنم درصد به عنوان آن را مانند یک خالی احساس می کند فضا، و سپس شما با قرار دادن این متغیر در اینجا در این فضای خالی. بنابراین برای مثال، در اینجا من فقط خالی، و پس از آن من قرار دادن تعداد راست وجود دارد، ارزش شمارش. آیا این را حس؟ ممکن است من فقط می خواهم چون printf و پس از آن به نقل از، تعداد؟ آیا این کار؟ حضار: نه LUCAS فریتاس: نه، زیرا آن را در واقع کلمه "تعداد" چاپ به جای چاپ ارزش. این است که چگونه شما آن را چاپ ارزش به سمت متغیر به جای فقط نام متغیر. هر گونه سؤال؟ یک مدعو: چرا شما برای استفاده از به عنوان یک مخالف در حالی که؟ لورن CARVALHO: من یک برای استفاده حلقه اگر من دقیقا می دانند که چگونه بسیاری از تکرار من می خواهم حلقه من را اجرا کنند. در این مورد، مهم نیست چرا که، منظور من، من فقط سعی می شد یک واقعا ساده است فکر می کنم به عنوان مثال برای این اسلاید. اما اجازه دهید بگویم که شما می خواهید چیزی به رفتن ادامه دهید در حالی که - LUCAS فریتاس: به عنوان مثال، شما درخواست برای ورودی تا زمانی که فرد به شما می دهد ورودی سمت راست. پس چون در حالی که ورودی نمی باشد OK، حفظ و درخواست برای آن. یا چون در حالی که شما پدر و مادر نمی دهد پول شما، در حفظ و درخواست برای آن. [خنده حضار] لورن CARVALHO: شما نمی دانید که چگونه چند بار شما باید آن را انجام دهد. LUCAS فریتاس: از آنجا که شما نمی دانم چند بار که رفتن به رفتن ادامه دهید. لورن CARVALHO: اما در یک حلقه، شما باید بدانید که چگونه چند بار. آره؟ یک مدعو: فقط برای روشن کردن، درصد می گوید این چیزی است که در مورد به است اتفاق می افتد، من برای عدد صحیح، و بک اسلش n - لورن CARVALHO: به معنای؟ چه کسی می داند آنچه را که بک اسلش نفر به این معنی است؟ خط جدید، آره. دقیقا. LUCAS فریتاس: شما می توانید فکر می کنم از N به عنوان خط جدید. لورن CARVALHO: خوب. رسید که تعداد چیست فاصله خط تیره [نامفهوم]؟ LUCAS فریتاس: تعداد منهای منهای است همان چیزی که به علاوه به علاوه، اما به جای افزایش، این کاهش توسط 1. لورن CARVALHO: هرچه بیشتر در حالی که سوالات حلقه؟ هیچ؟ اوه، ما به قرار بود قلم است که. این آیا در حالی که حلقه است. بسیار شبیه به یک حلقه در حالی که به جز در این مورد ما مشورت کنید بعد از کد را در بدن از حلقه اجرا یک بار. بنابراین ما کد اجرا برای اولین بار بدون توجه به آنچه. سپس ما شرایط را بررسی کنید، اجرا دوباره آن را در صورتی که شرط درست باشد. شما خودتان با استفاده از این زمانی که پیدا کردن شما برای ورودی کاربر درخواست. از آنجا که شما همیشه باید به درخواست یک بار، و پس از آن با توجه به آنچه ورودی کاربر است، شما ممکن است به reprompt و دوباره و دوباره بپرسید که آیا ورودی چیزی بود که شما نمی انتظار می رود آن را به. رسید پس آن را مانند یک فرم است برای افرادی که به پر کردن. لورن CARVALHO: بله، دقیقا. شما پیدا کنید، من فکر می کنم، خود را در اولین Pset، شما در حال رفتن به به استفاده از یک حلقه به خوبی انجام دهد به جمع آوری ورودی از کاربر. یک مدعو: با توجه به این شرایط، حلقه در حالی که شما تمایل به اجرای بیش اغلب در حالی که حلقه ها، مانند توسط یک یا چیزی؟ لورن CARVALHO: اگر آن را دقیق - LUCAS فریتاس: آنها همیشه باید اجرا شود مقدار دقیق زمان که شما می خواهید آن را اجرا کنند. مانند استفاده می کنیم در حالی که چون ما واقعا می خواستم برای دریافت ورودی حداقل یک بار. در حلقه در حالی که، گاهی اوقات شما نمی خواهید برای اجرای آن در همه اگر آن را نمی این مورد به اجرا. پس از آن در طراحی بستگی دارد. منظور من، شما هم می توانید در حالی که استفاده و یا انجام در حالی که تا زمانی که کد خود را می کند که را که قرار است انجام دهد. لورن CARVALHO: اما من فکر می کنم پاسخ به شما سوال این است که احتمالا بله. اجازه دهید بگویم که شرط نادرست بود. در یک مورد آن را یک بار که اجرا می شود و مورد دیگر آن را صفر بار اجرا شود. بنابراین، آره. هر گونه سؤال بیشتر؟ بله؟ یک مدعو: آیا می توانم شرط حلقه است برای حلقه در شرایط دیگر متغیر از [نامفهوم]. لورن CARVALHO: آره، می تواند هر چیزی باشد. احتمالا برای Psets شروع، شما نمی خواهد که به روبرو می شوند که در مورد، اما قطعا می تواند هر چیزی باشد. LUCAS فریتاس: من فکر می کنم ما در اینجا انجام می شود. لورن CARVALHO: آیا ما؟ هیچ؟ LUCAS فریتاس: حلقه؟ آره. لورن CARVALHO: ما نباید باشد. اوه، ما با حلقه انجام می شود. OK. در واقع، از آنجا که ما صحبت شده است تا زیاد است، اجازه دهید در واقع تمام حرکت به study.cs50.net/conditions. و شما قصد حرکت به پایین به مشکلات ویجت. خوب، در واقع، در حالی که مردم در حال گرفتن تنظیم این مورد، مطالعه CS50 است برای رفتن به یک ابزاری است که TFS شما خواهد شد استفاده برای آماده شدن برای بخش و شما بچه ها می توانید اگر شما بخش های از دست استفاده کنید. آن را که شامل یک دسته از اسلاید، برخی از راهنمایی و ترفندها برای هر موضوع، و برخی از مشکلات تمرین با راه حل. چرا همه فقط یک نگاه را این مشکل در اینجا ببینید. متاسفم، من باید یادآوری کرده اند مردم را به لپ تاپ را امروز. اما اگر شما لازم نیست لپ تاپ، که OK. شما فقط می توانید از این نقطه پایین در قطعه ای از کاغذ و یا نگاه بیش از شانه همسایه خود را. بیایید سعی و نوشتن برنامه ای است که سپس از کاربر را به یک حدس، متوسط ​​تعداد فرزندان به ازای هر خانواده واحد در ایالات متحده است. این تعداد 2 است، به هر حال، همانطور که شما می توانید از این نمونه را ببینید. ما می خواهیم برای چاپ کردن تعداد متوسط کودکان در هر خانواده در ایالات متحده، پس از آن ما می خواهم برای چه؟ ما می خواهیم برای جمع آوری ورودی از کاربر. و پس از آن با توجه به آنچه کاربر ورودی است، شما به نسخه قابل چاپ کردن یا این درست است و یا این اشتباه است. و اولین چیزی که شما ببینید، اگر شما با کلیک بر روی فلش کوچک در پایین ویجت مشکل است نقطه به نقطه پایین برخی از شبه. بنابراین شما برنامه ریزی نشده است. شما فقط گرفتن شما ایده ها در جهت. آیا کسی می خواهم برای کمک به لوکاس آمد تا با حق شبه برای این مشکل؟ LUCAS Freitas به: اولین چیزی که چیست که ما احتمالا باید انجام دهید در اینجا؟ شما بچه ها چه فکر می کنید؟ یک مدعو: [نامفهوم] LUCAS فریتاس: آره، OK. بنابراین، نسخه قابل چاپ. فقط می گویند چاپ این متوسط تعداد زیادی از مردم؟ OK. چاپ سؤال، اجازه دهید بگویم. پس از من چاپ این سوال، چه باید بکنم؟ رسید دریافت ورودی. LUCAS فریتاس: دریافت ورودی. هر چیز دیگری؟ رسید وضعیت. LUCAS فریتاس: وضعیت. لورن CARVALHO: چه شده است که شرایط خواهد بود؟ یک مدعو: تعداد [نامفهوم]. لورن CARVALHO: راست. LUCAS فریتاس: پس چه هستم رفتن در مشورت کنید؟ یک مدعو: اگر آن را برابر با 2. لورن CARVALHO: اگر آن برابر است با 2. دقیقا. LUCAS فریتاس: آیا وجود دارد چیز دیگری که من باید انجام دهید؟ یک مدعو: تعداد. LUCAS فریتاس: بنابراین اگر آن را به 2 برابر، اجازه دهید بگویم - اجازه دهید من فقط نوشتن اگر ورودی برابر است به 2، پس از آن چه من قصد دارم به انجام چاپ درست است. و پس از آن چیز دیگری، من قصد دارم چاپ اشتباه است. هر چیز دیگری؟ هیچ؟ لورن CARVALHO: بنابراین شما - می توانید بر روی کلیک کنید هر کس این پایین؟ LUCAS فریتاس: آیا این درست است؟ بنابراین در حال حاضر اجازه دهید سعی کنید به کد این. لورن CARVALHO: اگر شما روی کمی فلش، آن را در واقع موجب صرفه جویی در شما شبه، که واقعا هیجان انگیز است. و شما می توانید آن را به نظر در صورت شما می خواهید فقط به خود را از یاد چه باید بکنید. LUCAS فریتاس: بنابراین برای مثال، برای اولین بار من قصد دارم برای چاپ این سوال، پس چگونه من قصد دارم برای انجام این کار، در واقع؟ چون printf. پس چون printf، و این سوال به طور متوسط ​​از تعداد فرزندان در خانواده در ایالات متحده است. سپس من قصد دارم برای به دست آوردن ورودی از کاربر. پس چگونه می تواند من که؟ رسید دریافت المللی. لورن CARVALHO: GetInt. LUCAS فریتاس: OK. بنابراین برای اولین بار اعلام، درست است؟ هوشمند، اجازه دهید آن را N برابر GetInt. و در حال حاضر وضعیت. بنابراین اجازه دهید بگویم که من قصد دارم به اینجا چک پاسخ دهد. پس اول، اگر ورودی، که N، برابر با به - چه هستم رفتن به ارسال آن؟ یک مدعو: برابر. LUCAS فریتاس: کامل. بنابراین نفر. و توجه کنید که یک فضای به کار، برابر با، برابر، فضا، درست است. و در حال حاضر چه باید بکنم؟ چیزی برای سبک بسیار مهم است. آکولاد. و سپس من قصد دارم برای چاپ. چگونه می توانم نسخه قابل چاپ I؟ چون printf. رسید می تواند از آن با حروف بزرگ؟ LUCAS فریتاس: شماره این تصور می شود تمام حروف کوچک. به طوری که درست است. آیا این کافی است برای چون printf بیانیه ای، یا من هر چیزی گم شده؟ یک مدعو: خط جدید. LUCAS Freitas به: خط جدید، آره. و اکنون دیگر. یک مدعو: آیا فضا وجود دارد پس از چون printf، یا نه؟ لورن CARVALHO: ما باید شیوهنامه سبک را. رسید این نباید باشد. LUCAS فریتاس: نباید، OK. بنابراین دیگری، چون printf، "این نادرست است." لورن CARVALHO: اوه، به نقل از خود را. LUCAS فریتاس: OK. هر چیز دیگری؟ آن را نگاه خوب است؟ لورن CARVALHO: ما باید آن را امتحان کنید؟ LUCAS فریتاس: آره، اجازه دهید آن را اجرا کنید. پس از آن کامپایل، و آن را به نظر می رسد که کار می کند. اجازه دهید به دو فرزند را امتحان کنید. این درست است. و در حال حاضر اجازه دهید دوباره اجرا شود، اما در حال حاضر به جای قرار دادن دو فرزند، اجازه دهید می گویند که من قصد دارم به مانند پنج قرار داده است. این نادرست است. بنابراین به نظر می رسد که کار می کند. لورن CARVALHO: چرا شما آنها را نشان می دهد چه اتفاقی می افتد اگر شما چیزی عجیب و غریب، مانند برخی از نامه ها. LUCAS فریتاس: اوه، آره. اجازه دهید همچنین بررسی کنید که. اگر کاربر در تلاش است تا ظرف غذا با برنامه های خود را، و آنها فقط ارسال، من دو نمی دانند. این رفتن به می گویند دوباره. لورن CARVALHO: پس GetInt است آنها را به درخواست دوباره امتحان کنید. ما مجبور نبود به مراقبت از آن خودمان. LUCAS فریتاس: آره. بنابراین مگر اینکه من در واقع قرار دادن یک شماره، آن را رفتن به نگه داشتن از من می پرسی دوباره امتحان کنید. یک مدعو: چگونه شما آن را اجرا کرد؟ LUCAS فریتاس: فقط کلیک کنید این دکمه ستاره. لورن CARVALHO: شما باید بالا برود. شما بروید وجود دارد. LUCAS فریتاس: ستاره دکمه سمت راست وجود دارد. آره؟ یک مدعو: آیا آن را بی درنگ [نامفهوم] با اعداد اعشاری بیش از حد؟ لورن CARVALHO: من باور دارم آن را. LUCAS فریتاس: اگر آن را ندارد چه؟ لورن CARVALHO: اگر آنها از نوع در یک عدد دهدهی، من فکر می کنم آن را به تحریک کند. LUCAS فریتاس: اجازه دهید را ببینید. لورن CARVALHO: از آنجا که آن را از نوع int است. LUCAS فریتاس: آره. لورن CARVALHO: پس از آن آن را از نوع int نیست، دریافت هوشمند از شما سوال امتحان کنید. رسید تا جایی که در آن کد می شود محل دهدهی که باعث کاربر است که آنها را وارد کنید یک عدد صحیح به طور خاص؟ لورن CARVALHO: GetInt است که در واقع انجام این کار برای ما. یک مدعو: نه، منظورم این است که اگر ما می خواستیم را وارد کنید [نامفهوم] LUCAS فریتاس: شما می توانید مانند متوسط ​​می گویند تعداد فرزندان در ایالات متحده است. نمی دانم. می توان گفت، برای مثال، "لطفا ورودی یک عدد صحیح. " لورن CARVALHO: عدد صحیح مساوی به تعداد متوسط. منظورم این است، آن را فقط به چگونه شما کلمه آن، درست است؟ LUCAS فریتاس: آره. این است بخشی از واقع برنامه نویسی نیست. این بیشتر مانند هر شما در حال رفتن به می خواهم به ارسال در برنامه شما. یک مدعو: چگونه ما آن را اگر آن را اجرا کنید در واقع در نرمافزاری gedit [نامفهوم] بود. به جای فشار دادن بازی؟ LUCAS فریتاس: ما خواهد شد اولین بار آن را کامپایل کنید. ما می توانید آن را با انجام این کار را انجام و نام فایل. و سپس آن را اجرا کنید، ما به نقطه اسلش انجام و به نام برنامه است. یک مدعو: من حدس می زنم آنچه که من بدان معنی است اگر ما می خواستیم این برنامه برای پاسخ به نادرست، ورود نامعتبر خود، شما باید در قرار داده نشده - LUCAS فریتاس: ما قادر نخواهد بود به انجام این کار به این دلیل که کد این می گوید: سعی مجدد می آید از دریافت المللی است که تابع است که در حال حاضر اجرا برای ما از طریق کتابخانه CS50، و از آن را در حال حاضر اجرا وجود دارد، ما می توانید نه فقط [نامفهوم]. لورن CARVALHO: اگر شما استفاده نشود GetInt، سپس شما می توانید انجام این کار. LUCAS فریتاس: آره. اما اگر شما با استفاده از GetInt، شما می توانید نیست. هر گونه سؤال دیگر؟ رسید می توانید با شبیه رفته GetFloat و پس از آن قادر به قرار دادن آن را در ده دهی؟ LUCAS فریتاس: آره. تماشاچیان: OK. سپس شما فقط می تواند ورودی شناور برابر - لورن CARVALHO: آره. دقیقا همان جز شناور به جای یک int. LUCAS فریتاس: فقط آن را در اینجا قرار دهید و پس از آن GetFloat وجود دارد. رسید به عنوان شما دیدن یا دیده اند - لورن CARVALHO: ما بدست هنوز وجود ندارد. یک مدعو: - انجام نابرابری با شناور نیست [نامفهوم] رسید به چه معنا سمی کالن؟ لورن CARVALHO: نقطه و ویرگول تنها بدان معنی است که این بیانیه کامل است، و ما قصد داریم به بر روی اسلاید بعدی. رسید پس از آن لازم است هر زمان؟ لورن CARVALHO: آره. خوب، OK، بنابراین نه برای این شرایط، زیرا آنها کپسوله سازی چیزی. بنابراین اساسا اگر چیزی است که باعث شما پس از آکولاد ایجاد بلوک، به یک نقطه و ویرگول بدین قرار داده نشده در پایان. LUCAS فریتاس: اما همه چیز دیگری، بله. هنگامی که شما در پایان بیانیه ای، قرار دادن نقطه و ویرگول بدین. و اگر سمی کالن را فراموش کرده ام، کامپایلر به رفتن به در شما عصبانی، و شما در حال رفتن به سعی کنید آن را حل کنند. لورن CARVALHO: اگر من یک نقطه و ویرگول بدین قرار داده در اینجا، که این را متوقف کند، و من هرگز وادار به اجرای چه در داخل، به هر حال. پس از آن یکی از این اشکالات رایج است. یک مدعو: همیشه اجرا. لورن CARVALHO: آره. در این مورد، ما همیشه اجرای آنچه در داخل. یک مدعو: سبک شما [نامفهوم] ضمیمه است که برای شما، فکر می کردم. لورن CARVALHO: اوه، که درست است. یک مدعو: [نامفهوم] تک چیزی که خط [نامفهوم] آری؟ یک مدعو: آیا می توانم شما چند ورودی در یک خط؟ پس چون می تواند کاربران از شما درخواست چاپ دو چیز؟ لورن CARVALHO: با استفاده نشد - LUCAS فریتاس: شماره اجازه دهید بگویم که من همچنین می خواهم برای دریافت این عدد صحیح m. من باید این کار را در یک خط متفاوت است. یک مدعو: اگر شما برای اجرای که، چگونه [نامفهوم]؟ این که به موقع چاپ وجود دارد [نامفهوم] و پس از آن شما می خواهم یک را وارد کنید و - لورن CARVALHO: خوب، آن را اجرا کنید. منظور من، هیچ چیز توقف ما را از وجود دارد فقط آن را در حال اجرا و دیدن آنچه که اتفاق می افتد. LUCAS فریتاس: من فکر می کنم آن را رفتن به شکایت ما چرا که ما در حال استفاده نیست - لورن CARVALHO: اوه. LUCAS فریتاس: این به ما شکایت راست در حال حاضر چون ما از این استفاده نمی متغیر، ولی اگر من، به عنوان مثال، نفر است برابر با برابر، و m برابر است با برابر است، پس از آن چه خواهد شد اتفاق می افتد در این مورد؟ این برنامه چه می کرد؟ یک مدعو: من فقط بدونم چگونه آن را - لورن CARVALHO: او فقط می خواهد بدانید که چگونه به نظر می رسد مانند، من فکر می کنم، درست است؟ پس از آن در زمان یکی از آنها، و سپس آن یک ثانیه صورت گرفت. من فکر می کنم ما باید در حرکت، چرا که ما یکی بیشتر اسلاید نشان می دهد تا قبل از - آیا شما می خواهید به جلو و تا ریاضی؟ LUCAS فریتاس: آره، ریاضی. لورن CARVALHO: به من فقط یک ثانیه است. یک عددی مختلف چند وجود دارد متغیر در داده C. عددی در C را می توان به انواع مختلف طبقه بندی شده، و این آنهایی که شما می خواهید می باشد اغلب مراجعه کنید. و int یک عدد کل است. شما می توانید هر اعشار ندارد. در لوازم خانگی، طول می کشد 32 بیت برای ذخیره سازی از نوع int. یک شناور می اعشار داشته باشد. این هم 32 بیت طول می کشد تا ذخیره شناور در لوازم خانگی. دو برابر یک عدد با اعشار است نکته ای که 64 بیت برای ذخیره سازی آن طول می کشد، به این معنی که شما فقط می توانید دقت بیشتر به دلیل شما می توانید بیشتر داشته باشد - چه چیزی شما را به آن تماس بگیرید؟ LUCAS فریتاس: آره، که بیشتر. لورن CARVALHO: مکان های بیشتر بعد از نقطه اعشار. و بلند بلند تعداد کل است که 64 بیت طول می کشد تا آن درد در لوازم خانگی. LUCAS فریتاس: بنابراین می توان آن را بزرگتر از نوع داده int می تواند باشد. لورن CARVALHO: چیزی که در مورد داده نوع در C این است که آنها به شما بگویم چه نوع داده شما می توانید ذخیره در متغیر است. آنها به شما بگویم که چگونه می توانید این استفاده کنید متغیر در برنامه شما. این بسیار مهم است که فقط مسیر را نگه دارید از چه نوع داده های شما با استفاده از، و اگر شما نیاز به بازیگران از یک نوع داده به دیگری، مطمئن شوید که شما می دانید دقیقا چه اتفاقی می افتد زمانی که ریخته گری می گیرد. و شما به عنوان مثال بعد ببینید در این اسلاید یک اشتباه است که می تواند رخ دهد. اجازه دهید نگاهی به برخی از ریاضی در C و فکر می کنم واقعا با دقت، من حدس می زنم، در مورد چه خبر است در زمانی که این ریاضی در حال وقوع است. در خط اول، چه اتفاق می افتد وقتی که من X اعلام؟ رسید شما اجازه می دهد X به چیزی؟ لورن CARVALHO: آره. خوب، من واقعا درخواست از عامل سیستم 32 بیت حافظه، درست است؟ که در آن من می توانم یک int ذخیره، و من قصد دارم به تماس است که اعضای هیات ایکس. LUCAS فریتاس: در واقع در حافظه رفتن و پیدا کردن یک محل است که 32 بیت و گفت، با سلام، من می خواهم این فضا، و آن را به نام X. بنابراین شما یافته فقط تقریبا هستیم یک جعبه در حافظه خود را به ارزش فروشگاه برای x. لورن CARVALHO: و پس از آن من مقداردهی اولیه x، که بدان معنی است که من فقط ذخیره ارزش 2 در آن محل، که تکه حافظه، که ما عامل پرسید: سیستم برای. و در اینجا چیزی است که ما در حال انجام است ما در واقع اعلام و مقدار دهی اولیه y در یک خط به جای در دو خط مثل ما بود تا در اینجا، که آن هم کاملا خوب، ما اضافه کردن 1 به x، و ما در حال ذخیره سازی است که ارزش در y است. LUCAS فریتاس: بنابراین اساسا آنچه در این خط انجام می دهد، آن را می یابد در حال حاضر یک جعبه برای y، و پس از آن ارزش خود را، چیزی که شما در حال رفتن به داخل جعبه قرار داده است، رفتن به مقدار x را به علاوه 1. پس از آن تا این جعبه برای y است. این می شود مقدار x، به نظر می رسد در اینجا، و ببینید که این 2. آن را قرار داده وجود دارد، به علاوه 1، پس آن را می گذارد 3 وجود دارد. آیا این را حس؟ بنابراین Y خواهد بود 2 در این مورد. لورن CARVALHO: خوب، سرد. ما شاهد بودیم برخی علاوه بر این، پس اجازه دهید در حال حاضر فکر می کنم در مورد بخش در C. در اینجا من هستم اعلام و مقدار دهی اولیه شناور به نام پاسخ و تقسیم 1 به 10، و پس از آن من چاپ پاسخ با دو رقم اعشار. و در اینجا توجه داشته باشید، در دستور printf من، هنگام چاپ چیزی برای دو رقم اعشار،٪ 0.2 f است چه من می خواهم به استفاده از. پس نکته 2 است فقط گفت: من نیاز به دو محل پس از اعشار چاپ کرد. در حال حاضر، چه اتفاقی خواهد افتاد اگر من این کد را اجرا کنید؟ آیا کسی یک ایده؟ چه نسخه قابل چاپ کردن؟ LUCAS فریتاس: چه هستند ما انتظار برای دریافت کنید. لورن CARVALHO: چه ما می خواهیم، ​​اول از همه؟ LUCAS فریتاس: [نامفهوم] لورن CARVALHO: 0.1، آره. اما آنچه از چاپ؟ یک مدعو: [نامفهوم] لورن CARVALHO: خوب، نه، در واقع. این چیزی است که من صحبت کردن در مورد اینکه چرا شما نیاز به پیگیری بسیار دقیق انواع داده های خود را. بنابراین، چه نوع داده است؟ آیا یک int، درست است؟ هیچ جایی اعشاری وجود دارد. 10 همچنین بین المللی. هیچ جایی اعشاری وجود دارد. اگر من یک int های هوشمند تقسیم می شوند، دریافت می کنم بین المللی که 0.1 نیست، چرا که نوع داده int می تواند رقم اعشار ندارد، اما فقط 0. از آنجا که اعضای هیات فقط truncates کردن رقم اعشار. LUCAS فریتاس: بنابراین هر زمان که شما انجام عملیات با نوع داده int، شما به دریافت هوشمند به عنوان پاسخ دهد. بنابراین اساسا، آنچه که کامپیوتر در حال انجام است، آن را از تقسیم بندی های 1 توسط 10، و از آن می شود .1. اما پس از آن را مانند، صبر کنید، این است که تصور می شود یک عدد صحیح، به طوری که شما فقط چشم پوشی از 0.1، پس از آن در حال حاضر فقط 0. لورن CARVALHO: بنابراین، هنگامی که من این نسخه قابل چاپ از، من 0.00 نه 0.10. LUCAS فریتاس: آیا این را حس؟ لورن CARVALHO: این نوع است از مایه تاسف است، درست است؟ LUCAS فریتاس: پس چگونه می توان ثابت؟ لورن CARVALHO: بیایید امتحان کنید و برطرف کنیم. در اینجا نمونه ای از جایی که من هستم در واقع ریخته گری 1 و 10 به شناور. بنابراین در حال حاضر، 1 است که دیگر بین المللی. 1 شناور است. به هر حال، این فقط شکل است برای زمانی که شما می خواهید به بازیگران از یک نوع داده را به دیگری. شما می توانید فقط با قرار دادن نوع داده ها در پرانتز و که فقط قبل از ارزش است که شما ریخته گری. بنابراین در اینجا، من تقسیم شناور توسط شناور به دریافت پاسخ شناور. و بله، این را در واقعیت چاپ .10. آیا این را حس؟ LUCAS فریتاس: پس ریخته گری نوع فقط تبدیل از یک نوع به نوعی دیگر. بنابراین شناور 1 است که در واقع 1.000. نه دقیقا، اما آن چیزی با رقم اعشار که در واقع 1. آیا این را حس؟ آره؟ یک مدعو: اگر شما پاسخ شناور بود برابر با 1.0 تقسیم بر 10؟ لورن CARVALHO: شما در واقع رفتن برای دیدن است که در اسلاید بعدی. که در واقع اسلاید بعد ما. این در واقع بهتر از نوع ریخته گری، من فکر می کنم. بنابراین این دو شناور تنها توسط ماهیت این واقعیت است که آنها باید رقم اعشار. بله؟ یک مدعو: چه می شود اگر شما بود [نامفهوم] تقسیم بر 10؟ لورن CARVALHO: در واقع شناور تقسیم یک int در واقع به شما می دهد شناور، به طوری که خوب کار می کند. صبر کنید، آیا همه این را درک کنیم؟ دلیل این است که برای رفتن به یک واقعا معامله بزرگ در Pset1، در واقع. بله؟ رسید می توانید فقط به سرعت بیش از قسمت قرمز رنگ برود؟ لورن CARVALHO: قسمت قرمز رنگ، آره. لوکاس، آیا شما می خواهید؟ LUCAS فریتاس: OK. بنابراین به یاد داشته باشید که درصد یک حفره یا سوراخ است. آن را مانند یک فضای خالی است. بنابراین اجازه دهید سعی کنید به درک همه چیز که در اینجا. درصد بدان معنی است که آن را به یک حفره یا سوراخ است. سپس شما باید F، که بدان معنی است که این حفره یا سوراخ می باشد برای شناور. آخرین چیزی که ما را در اینجا است 0.2، که به معنی من می خواهم به دو رقم اعشار برای شناور. اگر من فقط٪ F حال، آنها آن را قرار داده خواهد شد یک دسته از رقم اعشار. بنابراین من فقط می توانید 0.2 یا 0.1 یا 0.5 و یا هر، و آن را برای قرار دادن که تعداد رقم اعشار. تنها چیزی است که اگر شما مثل قرار داده است 0.100 یا .1،000، آن را در واقع نمی رفتن به قرار دادن تمام کسانی که رقم اعشار چرا که حافظه کافی ندارد که این دقت. هر گونه سؤال دیگر؟ آره؟ رسید بنابراین شناور فقط اجازه می دهد تا شما را به فراتر از اعداد صحیح برود؟ LUCAS فریتاس: بله. لورن CARVALHO: خوب، شناور تنها اجازه می دهد تا شما را به رقم اعشار. LUCAS فریتاس: این فقط بدان معناست که شما هم اکنون می توانید اعداد اعشاری داشته باشد. یک مدعو: چرا ما تا کنون استفاده از اعداد صحیح؟ LUCAS فریتاس: چرا شما با استفاده از اعداد صحیح؟ شاید اگر شما در حال شمارش از 0 تا 10، شما می خواهید به استفاده از در واقع یک عدد صحیح. شما لازم نیست برای استفاده از یک شناور. در برخی شرایط، شما نمی به واقع - لورن CARVALHO: شاید شما انجام اعشار را نمی خواهم. LUCAS فریتاس: شاید شما نیست مایل به استفاده از شناور. لورن CARVALHO: چیز دیگری است، به یاد داشته باشید، هر دو را شناور و هوشمند را 32 بیت به آنها را ذخیره، و شاید شما نمی خواهید به زباله بیت در رقم اعشار. LUCAS فریتاس: آره. بنابراین می خواهم، فقط به این فکر کنید. شما باید 32 بیت برای هر دو هوشمند و شناور. یک int، تمام کسانی که 32 بیت رفتن به قسمت صحیح. در صورت استفاده از شناور با 32 بیت، شما بخشی از این حافظه را مورد استفاده قرار گرفته اند برای تعداد، برای کل تعداد، و بخش دیگر که برای استفاده رقم اعشار. به طوری که بدان معنی است که شما می توانید برای به دست آوردن تعداد بسیار زیادی با شناور به دلیل شناور در حال حاضر با استفاده از بسیاری از حافظه برای رقم اعشار. آره؟ رسید که پاسخ اول، آنچه که دقیقا آن را انجام می دهند؟ آیا تعیین مقدار شناور برابر به حفره یا سوراخ به که شما می توانید به یاد آن را در خط بعدی؟ این گزارش می گوید شناور پاسخ است. LUCAS فریتاس: آره. بنابراین، پاسخ شناور معنی است که شما در حال گرفتن در حال حاضر یک سطل کوچک در حافظه است که دارای شناور، و این که در آینده به نام جواب. بنابراین این چیزی است که پاسخ شناور می کند. و پس از آن شما می گویند که داخل این، شما به قرار در نتیجه از این. بنابراین شما به انجام 1.0 تقسیم بر 10.0، شما 0.1، و سپس شما را است که در داخل از پاسخ است. لورن CARVALHO: پس در یک خط، ما اعلام و مقدار دهی اولیه این شناور به نام جواب. LUCAS فریتاس: جالب توجه است، اگر چه این است که فقط یک خط، آن را انجام می دهند عملیات های متعدد. این تنها راه از اجاره C است شما با استفاده از کد کمتر است. این همان چیزی که به عنوان سه تایی است اپراتور، چگونه شما فقط می توانید انجام [نامفهوم] در یک خط. این در واقع انجام همین کار به عنوان انجام پاسخ شناور، نقطه و ویرگول و سپس پاسخ برابر است، اما به جای ساخت شما انجام دو خط برای آن، آن را مانند یک میانبر است. آره؟ رسید بنابراین اگر شما این فرار، این امر می تواند 0.10؟ LUCAS فریتاس: بله. آره؟ یک مدعو: آیا پاسخ در واقع کد، یا آن را فقط به نام؟ لورن CARVALHO: این است که در واقع کد. این چیزی است که ما قصد داریم به نام متغیر است. رسید پس از آن فقط نام [نامفهوم]. لورن CARVALHO: آره. من می توانم گفته اند شناور X برابر با 1.0. LUCAS فریتاس: چیزی است که نام متغیر است چیزی است که شما استفاده کنید. این برای شما مهم است. برای برنامه های واقعی، تنها چیزی که آنچه که مهم است ارزش است که شما می باشد داخل سطل است. به همین دلیل شما باید متغیرها و نام متغیر است، بنابراین شما می خواهم می دانم آنچه که شما با خرید و فروش، مانند چه نوع از اطلاعات شما دسترسی در یک زمان. اما برای کد خود را، در صورت تماس آن پاسخ یا سوال و یا هر چیزی، بسیار زیاد است، مهم نیست. مهم نیست. تا زمانی که شما سازگار در هر هستید وقوع آن و بنابراین شما آن را چیز دیگری. آره؟ یک مدعو: آیا متغیرهای فراتر از عملکرد برود؟ مانند اگر شما برای ایجاد یک براکت [نامفهوم]، می تواند شما فقط [نامفهوم] پاسخ دوباره؟ لورن CARVALHO: شماره یک مدعو: [نامفهوم] لورن CARVALHO: شماره که خارج از محدوده است از این متغیر خاص است. و در واقع، این نوع از جالب توجه است، چرا که وقتی ما چیزهایی مثل حلقه و یا این که اگر شرایط، اگر شما یک متغیر اعلان در یکی دیگر از مجموعه آکولاد، واقعا تنها وجود دارد در داخل آکولاد. یک مدعو: یکی از آخرین توجه داشته باشید در مورد [نامفهوم] شناور. چرا شما همیشه مایل به استفاده از نوع داده int؟ این بیشتر از یک نکته ی جانبی از است هر چیزی، اما کامپیوتر شما می باشد در دست زدن به نوع داده int به طور قابل توجهی بهتر از آن را در دست زدن به شناور است. آن را مانند یک دستور است قدر سریع تر. بنابراین اگر ما فقط تنها به شناور، همه چیز امر می تواند بسیار کندتر است. لورن CARVALHO: در واقع، وجود دارد به نظر می رسد به یک مشکل با شناور. LUCAS فریتاس: نوع دلیل که، شما می توانید فکر می کنم، این است که چگونه در دودویی شما می توانید اعداد صحیح نشان دهنده با قرار دادن 0 و 1. لورن CARVALHO: که چیزی که بعد از. LUCAS فریتاس: OK. بسیار معروف. لورن CARVALHO: فقط که فکر نگه دارد. LUCAS فریتاس: OK، من بعد به شما بگویم. لورن CARVALHO: قبل از اینکه ما به آنچه می کنید لوکاس فقط گفت شد، اپراتور مقدم است. این حس مشترک است. شما بچه ها این به اندازه کافی انجام داده اند. بنابراین، فقط اگر چیزی را در پرانتز، برای اولین بار اتفاق خواهد افتاد. این ضرب تقدم بیش از علاوه بر این، تفریق، مانند آن. پس در واقع، فقط هر کسی مایل به من تعدادی آنچه که در واقع بگویید ارزیابی؟ رسید 27. لورن CARVALHO: 27؟ آره. LUCAS فریتاس: اجازه دهید به من بدهد آب نبات به مردم است. لورن CARVALHO: بسیار خوب. چه در مورد شماره دو؟ چه در مورد شماره دو؟ رسید 22. لورن CARVALHO: 22، آره. من نمی دانم که کردم که. شماره سه؟ رسید 10. لورن CARVALHO: 10، بله. دانلود. بنابراین باقی مانده. لوکاس، آیا شما می خواهید برای توضیح باقی مانده؟ LUCAS فریتاس: پیمانه این اپراتور است که در واقع بسیار مفید برای دسته از مشکلات. اگر من 55 پیمانه 10، آنچه در آن می کند این اجازه دهید بگویم که من می خواهم تقسیم 55 10. چه می توانم؟ این احساس درست مثل اگر من در واقع تنها هستم انجام تقسیم، آنچه که اولین بار است که عدد صحیح است؟ یک مدعو: 5. LUCAS Freitas در: 5. و پس از آن باقی مانده 5 است، درست است؟ بنابراین آن را مانند 5 برابر 10 و 5 است. در واقع، آنچه که پیمانه می کند، آن را به تلاش می کند این تعداد با این تقسیم، و آن را می بیند که چه باقی مانده است بخش. لورن CARVALHO: پس از آن فقط باقی مانده را برمی گرداند. بنابراین شماره یک چه است؟ 5. شماره دو؟ رسید 3. لورن CARVALHO: 3. شماره سه؟ 0. و چهار 1 است. دقیقا. LUCAS فریتاس: ساده، درست است؟ لورن CARVALHO: چرا ما این جست و خیز فقط به خاطر اینکه ما واقعا نمی دارند زمان، و مردم به نظر می رسد به درک. بنابراین در اینجا چیزی است که لوکاس بود فقط صحبت کردن در مورد. LUCAS فریتاس: یکی دیگر از دلایل I که نوع داده int به جای شناور است استفاده از که شناور بسیار مبهم است. و به همین دلیل آنها غیر دقیق هستند؟ دیوید گفت که برای نشان دادن یک عدد صحیح، به عنوان مثال، ما استفاده از 0 و 1 در، درست است؟ و پس از آن شما اساسا انجام ضرب، انجام تمام کسانی که عملیات بدانید که چه تعداد اعشار شما به جای استفاده از دودویی. اگر سعی من آنچه در حال حاضر اتفاق می افتد برای قرار دادن نقطه اعشاری؟ در واقع، به عنوان مثال، اگر من تعداد مانند 3.33333؟ آن را مانند 10 بیش از 3 احساس می کند. چه هستم رفتن برای ذخیره تمام 3 است که من پس از آن دارند؟ این واقعا سخت است، درست است؟ شما فقط نمی تواند بگوید کامپیوتر، با سلام، من یک 3 و سپس شما انجام این کار برای همیشه لطفا برای. در واقع کامپیوتر است به اندازه کافی هوشمند برای این. بنابراین اساسا تمام کامپیوتر شما کند است که تلاش می کند برای قرار دادن به عنوان بسیاری از ارقام به عنوان آن را به حافظه است که شما می توانید. بنابراین اجازه دهید بگوییم که آن را به می گویند 3.3333، و آن نیست. پس از آن قادر به واقع بیان کنم دقیقا همان چیزی است که شناور است. لورن CARVALHO: ما یک تعداد متناهی بیت، که بدان معنی است که نمی هر عدد دهدهی است برای رفتن به قادر به به دقت نشان داده شده است. و به این ترتیب در این مثال، اگر ما چاپ 0.1، ما در حال حاضر به چاپ از 20 مکان. LUCAS فریتاس: درست مثل من گفتن شما بچه ها، شما می توانید هر تعداد قرار داده است. اما اگر شما فقط دو محل، شما می خواهم 0.10، اما اگر شما قرار داده 20 مکان، آن را به شما یک دسته را نشان می دهد را از به خاطر این چیزی است که شما می توانید قرار دهید در حافظه، درست است؟ اما در اینجا، تا 0، و پس از آن است که فقط در آن قرار داده دسته ای از اعداد تصادفی. این نوع مانند برخی از - لورن CARVALHO: دلیل این است که ما قادر به نمایش این اعشاری دقیقا با تعداد از بیت های ما. LUCAS فریتاس: و پس از آن کامپیوتر اساسا شما با دادن یک عدد سطل زباله. این است که در واقع نه ارزش این تعداد. رسید آن را به عنوان نزدیک به عنوان آن را می توانید دریافت کنید [نامفهوم] با استفاده از [نامفهوم]. لورن CARVALHO: پس مفهوم این است که اجازه دهید بگویم که به جای بودن 0.100014، هر چه، چه می شود اگر آن 0.0999 بود - خوب، OK. بیایید وانمود که پاسخ واقعی در این 0.9999999 بود. که بسیار نزدیک به 1 است، اما دقیقا 1 نیست. این 0.99999 است. بدان معنی است که که اگر من که 0.999، و من آن را به یک int بازیگران، من 0. من می کنید 1. LUCAS فریتاس: از آنجا که به یاد داشته باشید، ریخته گری از float به int است، شما فقط همه رقم اعشار را نادیده گرفت. شما فقط آنها را نادیده گرفت. هیچ چیز مانند گرد وجود دارد و یا در حال اجرا کردن زمانی که شما typecast. در واقع، این تابع وجود دارد که می کند گرد، که بسیار مهم است، اما شما فقط فکر می کنم که هنگامی که شما انجام typecasting، آن را فقط رفتن همه چیز را حذف کنید. بنابراین حتی اگر شما 0.99999، این رفتن به تنها را 0 اگر شما typecast [نامفهوم] یک عدد صحیح. لورن CARVALHO: پس فقط واقعا آگاه باشند نقطه شناور در دقت، به ویژه هنگامی که شما شروع به برای استفاده از شناور در Pset1. اما پیاده روی را از طریق باید شما هشدار می دهند از آن نیز هست. LUCAS فریتاس و در واقع آن را واقعا سخت است، به عنوان مثال، اگر من پاسخ شناور 1 برابر با 1.0 بیش از 10، و پس از آن پاسخ 2 شناور برابر با 10.0 بیش از 100.0. آنها به همان تعداد، درست است؟ 0.1، درست است؟ 1 بیش از 10 یا 10 بیش از 100. اما در حال حاضر اگر تلاش کنم برای دیدن برابری، مانند اگر پاسخ برابر با 1 برای پاسخ به 2 است، شاید آن را در واقع نمی به همین. بنابراین شناور نوع مانند آن. آنها مانند انجام برابری است.