>> [موسیقی]
>> SPEAKER 1: این CS50 است و این آغاز هفته دو است.
بنابراین، اجازه دهید به چیزی شیرجه رفتن حق که حشره دار است، پس به صحبت می کنند.
بنابراین، در اینجا CS50 IDE است و من در پیش کشیده این screen-- لعنتی
IT.
هشدار اسپویلر است.
خیلی خوب.
من کشیده تا این صفحه نمایش در اینجا، که دارای یک برنامه بسیار ساده است.
اگر ما حرکت به پایین، ترین از این است که فقط نظرات،
اما در اینجا در خطوط 13 تا 17 ما یک برنامه است.
>> آن را به نحوی معتبر، بدان معناست که اگر من آن را کامپایل، آن را کامپایل و اجرا،
اما آن حشره دار است.
این برنامه ادعا می کند در نظرات تا بالا که آن را باید 10 ستاره چاپ،
اما آن را نمی کند.
و بر اساس تجربه خود را، یا به زودی به تجربه با C،
می تواند شما را منطقی تشخیص چرا این است، در واقع، حشره دار؟
آره؟
رسید این از صفر تا 10 می رود.
که 11 تکرار است.
SPEAKER 1: آره.
بنابراین، آن را از صفر تا از طریق و برابر با 10،
که البته 11 تکرار.
بنابراین، آن را به چاپ، در واقع، 11 ستاره.
بنابراین، این کنوانسیون علوم کامپیوتر در اکثر زبان های برنامه نویسی
است، در واقع، فقط به شروع به شمارش صفر،
اما شمارش تا اما نه از طریق ارزش که شما در واقع در مورد مراقبت.
>> در حال حاضر، این یک چیز است که طول می کشد کمی مورد استفاده قرار گرفتن
و حتی خراش، طراحی آن را به عنوان برای غیر برنامه نویسان و یا غیر کامپیوتری
دانشمندان و برای کودکان تا حد زیادی، طراحی شده است که
شما شروع به شمارش به طور کلی در یک.
و این خوب است.
شما کاملا می توانید شروع به شمارش در یک در صورتی که راحت تر است.
و شمارش تا و از طریق 10، اما شما به خصوص این هفته متوجه
و فراتر از آن که فقط تا بسیاری از چیزهایی که در برنامه نویسی
فرض کنیم که برای اولین بار است 0 رقمی که شما با آن تعداد دفعات مشاهده،
که شما در حال رفتن به آن را آسان تر فقط به این عادت از شروع گرفتن
از صفر و شمارش تا ارزش شما در مورد مراقبت در حال حاضر از
دریافت کنید.
>> بنابراین، که ثابت کرده است که.
ما در کمتر از تغییر و یا برابر با فقط کمتر از.
اجازه دهید یک نگاه مثال دوم در اینجا.
>> بنابراین، این برنامه بیش از حد در آن ادعا می کند نظر تا بالا که آن را باید چاپ
ده ستاره، اما آن را نمی کند.
اشکال در اینجا چیست؟
>> بنابراین، what-- و با عرض پوزش، اجازه دهید روشن باشد.
10 ستاره.
در هر خط، اما آن را نمی کند.
بنابراین، در واقع، اجازه دهید من به جلو و کامپایل این به دلیل آن را کمی کمتر
بر اساس آن توضیحات روشن است.
اجازه بدهید من به دایرکتوری منبع ما بروید.
حشره دار را یک نقطه اسلش یکی حشره دار.
OK، من 11 ستاره ها، که هنوز هم مشکل ساز است،
اما آنها نیز همه در یک خط هستند.
موضوع در اینجا چیست؟
آره.
مخاطبان: [نامفهوم].
SPEAKER 1: آره.
بنابراین این یک ظرافت است که شما ممکن است به یاد من ساخت اشاره مختصری از.
همه چیز به نظر می رسد حتی اگر زیبا، و آن را به خوبی فاصله دار،
و آن هم از نوع به نظر می رسد خراش که در خط 16 و 17،
در واقع، در زیر آن برای حلقه فاصله دار است.
که غیر مادی.
کامپیوتر نمی کند مطمئن شوید یا فضای سفید را ببینید.
فضای سفید است فقط برای ما نه به، سبک.
کامپیوتر دانم زمانی که شما آکولاد، که، در واقع،
رفع این مشکل.
>> بنابراین، اگر ما در واقع در رفت و به صراحت در این آکولاد قرار
که این مشکل را با رفع ساخت به کامپایلر روشن
که من در واقع می خواهم برای اجرای دو خط از کد دوباره،
و دوباره، و دوباره.
اما آنچه توضیح اساسی است.
درست؟
ما به شدت نیاز در اشکال مختلف طبی تمام وقت،
حتی اگر آن را احتمالا بهترین عمل به آن عادت هر حال
حتی اگر آن را می افزاید: دو کاراکتر به کد خود را. واسه چی؟
>> مخاطبان: [نامفهوم]؟
SPEAKER 1: آره به طوری که راه حل دیگری در دسترس نباشد.
درست؟
به خصوص اگر در نگاه اول شما نمی واقعا چه خبر است.
خب، قطعا ما می تواند فقط دو چیز در یک بار
و فقط جلوگیری از این مشکل در دسترس نباشد.
و این خوب است، اما در حال حاضر، برای اهداف امروز، چه
توضیح برای اشکال است؟
چرا همه کسانی که ستاره در یک خط بودند؟
آره؟
>> رسید به نظر می رسد که اگر شما باید یک خط از کد،
شما می توانید آن را بدون آن انجام دهید.
SPEAKER 1: دقیقا.
این فقط یک قرارداد انسانی است.
مردم متوجه است که آن را به یک کمی آزار دهنده و یا خسته کننده
مجبور به قرار دادن آکولاد همه از زمان اگر شما می خواهید به انجام
است اجرا یک خط کد.
بنابراین، انسان تصمیم گرفت برخی وقت پیش که که خوب است.
اگر شما می خواهید برای قرار دادن تمام حلقه خود را در که یک خط شبیه به این،
که خوب است با تک نقطه و ویرگول در پایان.
اما شما فقط می توانید انجام دهید یکی از این خط بدون آکولاد.
>> بنابراین، هنگامی که راهنمای سبک CS50 به عنوان شما را به نقطه،
شما به طور کلی دید که آن عادت خوبی است
به این تا زمانی که گمراهی کاملا راحت
از این نوع از قراردادهای و انجام چیزی که خود شما.
تا زمانی که شما خود سازگار است.
و ما بیشتر در مورد صحبت سبک کمی بعد از امروز.
>> بنابراین، من اجازه باز کردن یک برنامه دیگر.
البته، ما باید تعمیر که 10 است.
اجازه دهید من پیش بروید و ارسال نامه واقعی برنامه سریع است که من پاسخ،
اجازه دهید بگویم، حلقه نقطه C. بنابراین، حلقه نقطه C. و در حلقه نقطه C من قصد دارم به،
شامل استاندارد I / O نقطه H اعضای هیات اعتبار اصلی.
و در حال حاضر بیایید فقط، در واقع، یک حلقه.
بنابراین، 4 اعضای هیات من می شود صفر است.
من کمتر از مثلا 50 است.
من علاوه، به علاوه.
و سپس در اینجا اجازه دهید به جلو و چاپ F.
و سپس چاپ شود من و یک خط جدید، نقطه و ویرگول.
>> و این باید تمام چاپ اعداد از صفر تا 50؟
چند سر تکان.
چند شماره
اشکال در حال حاضر چیست؟
اشتباه من ساخته شده آسان چه خبر؟
آره.
>> مخاطبان: [نامفهوم].
SPEAKER 1: آره.
بنابراین حتی اگر به نظر می رسد مثل این است که من قصد،
یاد بیاورید که من هم فقط یک کاراکتر اسکی.
>> بنابراین، اگر من می گویم، چاپ "I."
آن را به معنای واقعی کلمه به I. چاپ بنابراین، اگر من
می خواهم به پلاگین در یک حفره یا سوراخ ارزش من در واقع نیاز به انجام این
و سپس پلاگین در ارزش من به صورت پویا.
در غیر این صورت من فقط رفتن به 50 من بر روی صفحه نمایش.
>> بنابراین، اجازه دهید من پیش بروید و این حلقه، آن را اجرا کنید،
و، در واقع، ما همه راه را از طریق 49.
و اگر من حرکت به عقب در زمان من عدد صفر در ابتدا.
>> خوب، اگر من از نوع پیچ کردن؟
اگر من این کار؟
فقط به خاطر اینکه من فکر نمی کند.
این برنامه چیست.
هنگامی که دوباره کامپایل و اجرا، رفتن به انجام منطقی است؟
>> مخاطبان: هیچ چیز.
>> SPEAKER 1: هیچ چیز.
چرا چنین است؟
>> مخاطبان: من برای صفر طراحی شده است.
بنابراین، شرط نادرست است.
SPEAKER 1: بله، دقیقا.
تمام کد صحیح است، نحوی.
این کامپایل، این کد را اجرا خواهد کرد، اما آن را نمی
رفتن به انجام هر کاری مفید چون من مقداردهی اولیه من به صفر است.
پس از آن ما را بررسی کنید، من بیشتر از 50؟
بدیهی است، نه، این طور نیست.
بنابراین حلقه هرگز اجرا در همه.
>> چه اگر ما چیزی بی مبالاتی است؟
بنابراین، اگر ما مانند اعضای هیات صفر می شود من.
و در حال حاضر اجازه دهید من در حالی که استفاده از حلقه، که یکی دیگر از شرایط بود.
و در حالی که من می گویم، در حالی که من بزرگتر از یا مساوی صفر، و سپس در اینجا من
به جلو بروید و فایل را ذخیره کنید، را حلقه.
و من در مورد آن را اجرا کنم.
چه هستم من برای دیدن این با یک حلقه در حالی؟
آره.
>> مخاطبان: یک حلقه بی نهایت؟
>> SPEAKER 1: یک حلقه بی نهایت؟
بله، و چرا؟
رسید از آنجا که آن همیشه صفر است.
SPEAKER 1: آره.
بنابراین، من به عنوان صفر مقداردهی اولیه.
البته من است که همیشه بیشتر از یا برابر با 0 عنوان یک نتیجه.
بنابراین، من فقط رفتن به این بی نهایت را ببینید.
و در حال حاضر، این است تا یک بار آمده یا دو بار برای سر درس.
چه اتفاقی می افتد زمانی که شما یک حلقه بی نهایت؟
>> مخاطبان: کنترل C.
SPEAKER 1: آره.
بنابراین کنترل C در نهایت پاسخ خواهد داد.
متاسفانه، ما به چاپ میلیون ها و میلیون صفر در حال حاضر
و به همین ترتیب تا به کامپیوتر نوع جلوتر از من است.
بنابراین، آن را به چشم پوشی از من برای یک کمی.
اما اگر شما فقط ضربه کنترل C چند بار بر روی مک یا PC صفحه کلید خود را،
در نهایت آن را باید، در واقع، خاتمه دهد.
و اگر نه، ما به شما برخی را نشان می دهد تکنیک قبل از اینکه طولانی که در آن شما
در واقع می تواند به زور برنامه را بکشند، بسیار شبیه به در ویندوز و سیستم عامل مک،
اگر لازم باشد.
اما اجازه دهید سعی کنید چیز دیگری.
اجازه دهید در واقع افزایش I. است این هنوز هم برای رفتن به بی نهایت؟
اجازه بدهید من این را اجرا کنید.
و در حال حاضر شما می توانید نوع آنچه اتفاق می افتد.
این هم یک حلقه بی نهایت است.
اما این یک بیت از یک درخواست حقه است.
آیا این به چاپ اعداد همیشه لطفا برای؟
>> حضار: نه
SPEAKER 1: شماره
واسه چی؟
من برخی از NOS در اینجا شنیده می شود.
Someone-- آره.
رسید شما به اندازه کافی ندارد بیت واقعا رفتن ادامه دهید.
SPEAKER 1: بسیار خوب.
بنابراین من به اندازه کافی ندارد بیت به رفتن ادامه دهید.
بنابراین، آنچه اتفاق خواهد افتاد؟
آن را فقط برای متوقف کردن؟
>> مخاطبان: در برخی از نقطه آن را تعطیل خواهد the--
SPEAKER 1: این بسته خواهد شد پایین حلقه، اما چرا؟
چه چیزی اتفاق می افتد در بسیار پایان مرزهای خود را؟
آره؟
رسید آن را چرخه برگشت به اعداد منفی.
SPEAKER 1: برای اعداد منفی، و یا اگر ما فقط درمان ها مثبت بود،
صفر حداقل.
بنابراین، بله، کاملا.
به یاد بیاورید که ما آخرین باری که دیدم اگر شما افزایش بیت خود را بیش از حد بسیاری از بار،
و شما وجود دارد لذا سرریز ظرفیت INT خود را
و یا هر نوع داده است، شما رفتن به اطراف، احتمالا،
دو عدد منفی است.
و یا اگر شما را مشخص کرده ام که خود را وسیعی فقط باید مثبت باشد،
که شما می توانید انجام دهید، اما ما را دیده ایم که هنوز،
شما ممکن است در نهایت حداقل تماس در صفر.
اگر چه، در واقع بله.
در این مورد، منفی اعداد، که در این صورت
حلقه است که به خاتمه چون من است، در واقع،
بزرگتر یا مساوی به صفر اگر آن را منفی است.
>> بنابراین، متاسفانه، چگونه طولانی که ما باید صبر کنید؟
در حال حاضر ما تا هستیم چه، 2 میلیون حرکت؟
ما مثل 2 میلیارد هستند، ما قصد داریم به باید صبر کنید
تا زمانی که ما در واقع می تواند این علائم را مشاهده کنید.
اما ما می توانید آن را کمی سریع تر ببینید، maybe-- بیایید ببینید که اگر ما می توانیم قطع.
بجنب.
حتی در منوها ظاهر می شود به آرامی.
خیلی خوب.
بنابراین، ما به که قبل از بلند آمده است.
این خوب time-- لعنتی، توله سگ.
>> این زمان خوبی برای برخی از اطلاعیه ها است.
بنابراین، اگر شما ممکن است مانند برای شرکت در YHack،
که یک رویداد بودن حمایت شده توسط دوستان ما در دانشگاه ییل.
و، در واقع، برخی از دوره TFS در دانشگاه ییل درگیر با این است.
YHack بین المللی است هک مراسم میزبانی شده توسط برگزار شد و
در دانشگاه ییل، گرد هم آوردن 1،500 مانند هکرها فکر و خلاقیت همه
در سراسر جهان.
اگر این جالب است، نگاهی به اینجا.
اگر این خیلی خلاصه در است صفحه نمایش، نگاهی به اسلاید امروز
برای URL برای yhack.org.
بنابراین، همچنین چند اطلاعیه ها سریع.
بنابراین، به طور رسمی آغاز خواهد شد بخش هفته آینده هر دو در اینجا و New Haven.
به خاطر داشته باشید شما می شود گرفتن ایمیل بعد از این آخر هفته به احتمال زیاد.
این مدت زمان طولانی طول می کشد برای CS50 به بخش،
با توجه به همه مردم در کلاس و همه حرکت در اطراف.
و همه همراهان آموزش، برنامه ها نیز هنوز جامد
اما اقامت یک ایمیل برای و اگر نیاز تنظیم می شود، شما می توانید دوباره بخش وجود دارد پس از.
>> Study.cs50.net.
بنابراین، حتی اگر شما یک شرکت کنندگان ثابت هستند در بخش، متوجه است که تقریبا همه
از منابع ما در بخش استفاده در دسترس عموم در CS50
تحصیل در این URL در اینجا.
بنابراین، اگر شما تا به حال می خواهم به بررسی دوباره مواد از بخش، و یا خواندن پیش رو،
و یا شما می توانید آن برخی هفته را ندارد، متوجه است که اسلاید نمونه،
و مشکلات، و تعاریف، و همه نیز وجود دارد.
>> ساعت اداری امروز از سر، و فردا، و چهارشنبه،
و پنج شنبه را بررسی کنید البته در وب سایت برای برنامه.
>> و همچنین، در حال حاضر راه اندازی امروز CS50 بحث.
بنابراین، اگر و زمانی که شما سوالی برای هر یک از دیگر و یا برای کارکنان این دوره،
و به طور کلی کار در برخی از مجموعه ای مشکل،
متوجه است که شما لزوما باید به نوبه خود به انسان می شود.
اگر هیچ کس وجود دارد، شما می توانید رسیدن به ما و همکلاسی
آنلاین از طریق CS50 بحث.
بنابراین، این یک بحث است هیئت مدیره برای این دوره،
و متوجه است که این شاید بهترین
مکان برای شروع هنگامی که شما به سوال زمانی که در خارج از ساعات اداری
به خصوص.
>> ناهار شروع خواهد شد تا این هفته بیش از حد.
در آتش و یخ [نامفهوم] در نیوهیون.
نگاهی به دوره را وب سایت به منظور پاسخ دهید.
اول آمده، اول خدمت برای آن است.
اگر شما در این هفته نیست ما این ترین هر جمعه را انجام
در طول مدت.
>> OK، و در حال حاضر یک کلمه در مورد درجه بندی.
به خصوص به عنوان مشکل را وارد کنید ما مجموعه ای از یک است که این هفته،
و مشکل تنظیم دو و پس از آن.
چگونه ما در مورد ارزیابی مجموعه P برو و ارزیابی کیفیت آن؟
بنابراین، آن را چهار محور است که ما در استفاده از CS50، و آنها این چهار در اینجا.
>> دامنه، که قطاری در عددی بر اساس چقدر از مجموعه فسفر
مقابله با شما بود.
آن را تقریبا با مربوط تلاش، و ما را از راه گرفتن است
آیا شما سعی می نیمی از P مجموعه همه مجموعه P است.
این یکی از آسان به کامل است نمرات در صورتی که شما، در واقع،
هر جنبه ای از مجموعه ای P را امتحان کنید.
بنابراین، نگه داشتن آن در ذهن.
>> صحت است که دقیقا.
کار کد خود را به عنوان مشخصات و به عنوان راه حل نمونه کارکنان
نشان می دهد که کد خود را باید، در واقع، کار می کنند.
بررسی 50، اگر شما آن را برآورده نمی در عین حال، در P مجموعه ای از یک مشخصات
و به طور کلی شما بله / خیر پاسخ را
که آیا کد شما درست است.
حداقل تا آنجا که ما در حال رفتن برای ارزیابی آن در آزمون بر اساس
که ما در درون آن برنامه را اجرا کنید.
>> طراحی بسیار بیشتر ذهنی.
این است که چگونه به خوبی نوشته شده کد شما است.
و این چیزی است که شما بهتر در طول زمان،
و این چیزی است که که ما ارائه بازخورد کیفی بیشتری بر.
و من ممکن است طراحی قبل از اینکه طولانی منظور شما
ممکن است در برخی P وسوسه مجموعه برای انجام کاری loopingly،
اما به شاید سه، یا چهار یا پنج حلقه های تو در تو جلو در حالی که تو در تو یا
حلقه.
که به طور کلی باید شروع به انقباض غیر ارادی ماهیچه شما را
و به طور کلی می شود طراحی بد در نظر گرفته.
و شما شروع به دیدن و در کلاس از راه طبقه خوب انجام کارها،
راه های بد از انجام کارهایی که ممکن است همه درست باشد، اما نه
لزوما به خوبی طراحی شده است.
مانند نوشتن یک مقاله.
شما ممکن است قادر به قرار دادن کلمات در صفحه ای که دستوری صحیح هستند،
ولی مقاله یا پایان نامه آنها در هستی است که فقط
به طور کامل و یا نامنسجم unpersuasive.
و به طوری که ممکن است آنالوگ در جهان نوشته شده است از طراحی بد یا خوب.
>> و سبک، بیش از حد، و یکطرفه است.
اما حداقل انتظار می رود قوام.
این است که چگونه زیبا کد شما است.
چیزهایی هستند که به خوبی فاصله دار؟
متغیرهای خود را به خوبی به نام / آیا همه پرانتز را و آکولاد
تراز وسط قرار دارد به عنوان آنها باید باشد؟
ما یک راهنمای سبک CS50 عنوان مجموعه ای مشکل شما را در نقطه.
کسانی که راحت تر هستند خوش آمدید به منحرف شدن از که
تا زمانی که شما خود سازگار می باشد.
و این، بیش از حد، یک درس است ما را در بخش تقویت می کند.
بنابراین، اگر همه از این کمی بود سریع، تحقق بخشیدن به مجموعه ای P و بخش
به عمق بیشتری قبل از اینکه طولانی است.
>> اما به طور کلی ما تعداد بسیار کمی از سطل CS50.
نمرات به طور کلی در مقیاس از یک تا سه، یا 1-5.
ما literally-- هستید و من نمی توانم بگویم این به اندازه کافی در هفته اول.
سه خوب است.
بنابراین، حتی اگر، بله، سه پنج به طور معمول، ریاضی،
ممکن است 60 درصد و یا مانند یک منهای D.
سه است، در واقع، خوب است.
و، در واقع، ما انتظار داریم بسیاری از دانش آموزان در کلاس
برای شروع کردن به مدت حدود twos، و سه تا سه و چهار دست و پا.
احتمالا نه بسیاری از پنج.
نه بیش از حد بسیاری از آنهایی که.
اما به طور کلی برای شروع در نقطه شیرین در منحنی
به طوری که به عنوان پیشرفت زمان، در واقع اتاق وجود دارد برای،
و فرصت ها برای پیشرفت بالا.
بنابراین، لطفا سه با 60٪ برابر است.
آن را خیلی بیشتر انتزاعی تر از آن.
فرمول که ما با آن محاسبه نمرات وزن شرح زیر است.
صحت ارزش ترین است.
طراحی ارزش کمی کمتر است.
سبک ارزش کمی کمتر است.
و این به طور کلی قطاری از مقدار زمان
که می رود به گرفتن هر یک از از این محور فقط حق.
سبک فوق العاده آسان، باید فوق العاده سریع،
اما یک عادت آسان است برای به دست آوردن تنبل در مورد.
صحت ممکن را شما بیشتر از زمان.
تعقیب کردن برخی ممکن است اشکال را که یک ساعت بیشتر یا بیشتر،
و به همین ترتیب، به ثمر رساند در نهایت قطاری که.
و به همین ترتیب، در حال حاضر یک کلمه جدی تر است.
از آنجا که CS50 است تمایز، برای بهتر
یا بدتر، بودن شاید بهتر آشنا
با مسائل مربوط به دانشگاهی صداقت از بسیاری دیگر هر دوره.
و در واقع، آن است که به دانش من که ما به دانش آموزان بیشتر ارسال، متاسفانه،
برای اهداف انضباطی هر سال به عنوان یک نتیجه است. بنابراین،
به نفع کامل افشا، اجازه دهید به بحث
در مورد آنچه که در CS50، و آنچه شما می توانید انجام دهید، و آنچه شما می تواند فکر.
>> بنابراین، در اینجا از سال 2007، هنگامی که من به ارث برده این دوره،
تعداد موارد آگهی هیئت مدیره است.
آگهی هیئت انضباطی دانشگاه هاروارد است بدن، و یا در حال حاضر افتخار مشاوره،
که موارد نامیده میشود، وقتی دانش آموزان چیزی که البته در
برنامه درسی غیر منطقی می داند.
هیچ الگوی واقعی وجود دارد در اینجا، من می گویند.
آن را بیش از نوسان اما به طور کلی سال
این تعداد است موارد هستند که گفته می شود.
تعداد دانش آموزان که درگیر هستند؟
آن را خیلی متفاوت است.
به طور معمول، در سال گذشته برای به عنوان مثال، 29 دانش آموزان در دانشگاه هاروارد
آگهی سوار، پس به صحبت بودند.
29 از آنها دانش آموزان فعلی، دو نفر از آنها به دانش آموزان قبل،
که همکاری شد در برخی از راه نامطلوب.
و پس از آن از نظر درصد، آن را معمولا در حدود 3٪
از کلاس که، متاسفانه، باعث می شود این نوع تصمیم گیری.
>> بنابراین، در سال گذشته آن 3.5 درصد بود از دانشجویان CS50 را
که تبلیغ سوار، پس به صحبت بود.
>> بنابراین، چه همه این معنی است؟
و چه چیزی ما در واقع؟
>> بنابراین، برای افشای کامل، ما کاملا، به عنوان دانشمندان کامپیوتر،
ابزار نرم افزار را در اختیار ما و آن را بسیار آسان برای ما، در عدالت،
همکلاسی که دیگر که نه عبور از این خطوط برای عبور مقایسه
هر ارسال این سال در برابر هر ارسال برای هشت سال گذشته.
نرم افزار این کار را.
و در نهایت آن را چشم انسان که تصمیم
یا نه به اشاره برخی ماده برای رسیدگی بیشتر،
اما مطمئنا نرم افزار کمک می کند.
و این، رک و پوست کنده، به همین دلیل است که من فکر می کنم ما چنین تعداد زیادی در CS50.
این به این دلیل نیست CS50 دانش آموزان و یا دانش آموزان CS بیشتر
به طور کلی کمتر صادق هستند از هر دانش آموز دیگر،
آن را فقط ما ابزار و تکنیک های
که با آن به این پاس برای اولین بار.
>> اما ما نگه داشتن چشم در همه این چیزها
به عنوان خوب، دوباره، در جهت منافع به رسمیت شناختن کار که در حال قرار دادن
در با اکثریت فوق العاده از کلاس.
و سیاست درس در صداقت دانشگاهی،
حتی اگر آن را یک دسته از پاراگراف طولانی با یک دسته از گلوله
که امیدوارم کاملا قابل خواندن است، آن را واقعا جوش پایین به معقول.
بهترین قاعده کلی است که ما ارائه می دهیم تا در برنامه درسی
این، جوهر است از همه کار که شما
انتخاب به این دوره باید خود شما باشد.
و در واقع، در تقریبا تمام کسانی که موارد ارجاع شده برای اقدام انضباطی
آن را به دلیل برخی از دانش آموز یک دیر شده بود شب به طور معمول تبدیل کد خود را
بیش از آشکار به یک همکلاسی، پس از آن به تصویب رسید که آن را
در تمامیت آن و یا به طور قابل توجهی از آن.
>> اما در واقع، این خوب است.
و در واقع، در دفتر ساعت، ورقه کاغذ
شما تحویل داده شده است اگر شما توسط دفتر آمد ساعت در هفته گذشته را تشویق می کند به همان اندازه.
شما کاملا هستید استقبال و تشویق
به بحث در مورد مجموعه مشکل با همکلاسی ها.
برای کمک به یکدیگر که تلو تلو خوردن.
اما به طور کلی از قاعده کلی باید این، "زمانی که شما برای درخواست کمک،
شما ممکن است کد خود را به دیگران نشان می دهد، اما شما ممکن است آنها را مشاهده کنند. "
بنابراین، به عبارت دیگر، اگر من مبارزه با برخی از مجموعه P
و من نشسته در وجود دارد سالن ناهار خوری، و یا در کتابخانه،
یا در کلاس درس تلاش برای پیدا کردن بعضی از گسل،
من قطعا می تواند نشان دهد کد من بر روی صفحه نمایش من
به نفر بعدی نشسته به من، قطعا کارکنان،
بلکه یک همکلاسی.
اما اگر راه حل است که همکلاسی من ارائه می دهد است، آه،
در اینجا فقط یک نگاهی به آنچه من، که خط عبور.
>> و من می گویند که جرات به طور کلی یک چیز برای بیشتر مردم
به راحتی خط نقطه.
و به این ترتیب، نگاه کنید به برنامه درسی برای جزئیات بیشتر.
و در حال حاضر یکی از بیشتر جنبه های بحث برانگیز
از برنامه درسی CS50 که من فکر کردم من به در نتیجه در اینجا صحبت
به اصطلاح بند تاسف است.
بنابراین، در اینجا تمام چاپ خوب است.
اما به طور کلی ما را دیده اند بیش از 8 سال گذشته به علاوه
که، در واقع، تقریبا همه از CS50 را موارد عدم صداقت علمی
است در نتیجه فقط ضعیف بوده است تصمیم گیری در اواخر شب.
نتیجه استرس، در نتیجه عدم غذا خوردن، کمبود خواب،
بیش از حد بسیاری از مجموعه های P، بسیاری از ضرب العجل ها، بیش از حد بسیاری تعهدات.
استرس ایجاد در 02:00، 3:00 AM، 4:00 AM، با یک ضرب الاجل بلندی.
اکثر دانش آموزان در این موارد به تازگی ساخته شده تصمیم گیری های بد
که آنها به خوبی ممکن است حسرت صبح روز بعد اگر دقیقه بعد نیست،
اما آنجا بود تا سال گذشته هیچ دریچه آزادی که این دانش آموزان می توانند
در واقع باز کردن در واقع پرداختن به مشکل در سر بدون ترس از
بوت از کالج در دسترس نباشد.
>> و، در واقع، ما معرفی این بند تاسف در سال گذشته،
که می گوید که اگر در 72 ساعت، سه روز،
از عبور از برخی از خط تجویز در برنامه درسی
شما می آیند به جلو به یکی از دوره است سر و ما چت در مورد آن را دارند.
هنوز هم وجود دارد است برخی از نتیجه، بر خلاف آنچه است
به خلاف گزارش شده است.
هنوز هم برخی از نتایج وجود دارد که عملی که در مسیر است،
به طور کلی صفر یک مجموعه P و یا مصرف برخی از اقدام دیگر،
اما ما، در واقع، مسئولیت رسیدگی به آن خودمان و نه
مراجعه آن را بالاتر از نتیجه بود ممکن است بسیار شدید تر می شود.
و، در واقع، برای به اشتراک گذاشتن آنچه اتفاق افتاده است در سال گذشته، در هشت سال، و در حال حاضر
نه سال، آموزش این دوره و بعد از سرهم بند با دستگیره های مختلف،
تبدیل صفحة مختلف بیش از گذشته چند سال در صداقت دانشگاهی،
و دیدن هر داده ای وجود ندارد ظاهری تاثیر، حتی از سخنرانی های مانند این،
این دست پایین بهترین چیز بود ما معرفی آموزشی
در هشت سال همراه این خطوط در CS50.
>> 19 دانش آموز جلو آمد در زیر این بند در سال گذشته.
ما هیچ اقدام و جو در زمان هفت نفر از کسانی که دانش آموزان،
تعیین که آنها بی ارزش نگران است.
آنها تا به حال، در واقع، عبور یک خط است، اما آن
یک چت خوب به وجود.
ما صفر 11 از نمرات که ارائه شد.
و در یک مورد ما خواسته دانش آموز را به انجام یک مشکل تنظیم شده است.
اما قانع کننده تر، صادقانه، با این 19 چت،
که راه بیشتر از من بود انتظار می رود که، هر یک از آنها
10 دقیقه به شاید یک ساعت طولانی، نیز به ارمغان آورد
به نور تعدادی از مسائل در مورد مسائل خانوادگی، مسائل دوست،
مسائل بهداشت روانی که ما پس از درگیر،
با برکت، ساکن دانش آموز دین، و یا دوستان، و یا هر تعداد دیگر
منابع پشتیبانی می کند.
به طوری که این تا کنون یکی بود از بهترین استفاده از زمان ما
و یکی از بهترین مداخلات.
>> با که گفت، آن را نداشت ورودی بر نرخ تشخیص
عدم صداقت علمی به طور کلی.
و من به جرات می گویند، این زیر مجموعه از دانش آموزان سال گذشته
یک جمعیتی بود که ما قبلا هرگز قبل از شناسایی
و هرگز با قبل از متصل بود.
و به این ترتیب، این بود داستان های موفقیت فوق العاده
حتی اگر آنها به نور آورده بودند در کمتر از شرایط مطلوب.
بنابراین، این را در ذهن به عنوان شما را، شاید،
برخی از تصمیم گیری ضعیف خود را در اواخر شب،
این است که تا زمانی وجود دارد رجوع به عنوان دانش آموز در آن وضعیت
خود و رو به جلو آمده به طوری که ما می توانیم این نوع از چت و مقابله با آن
در راه است که آموزش و پرورش، و پس از آن ما می توانیم آن را پشت سر ما در روز بعد قرار داده است.
>> بنابراین بدون ado بیشتر، را به لبه از این گفتگو،
به همین دلیل توله سگ Up است فقط برای شکستن یخ برای یک لحظه.
و متاسفانه، همه آنها خواب هستید، اما آنچه قرار بود به اینجا اتفاق می افتد
همه بود قرار بود به هیبت و نوع استراحت
پس از آن گفتگو بسیار سنگین است.
اما ظاهرا من قرار داده است توله سگ به خواب.
اما اگر شما به این CS50 رفتن توله سگ بریده بریده وب سایت،
شما می توانید آنها در تمام طول روز را تماشا کنید.
به خصوص شاید 2:00، و یا 3:00، 4:00 و یا در شب
برای دیدن رهایی از استرس کمی وجود دارد.
به طوری که بریده بریده توله سگ.
خیلی خوب.
این بود که سرگرم کننده نیست؟
باشه.
بنابراین، به بعضی از کامپیوتر علم، اگر من ممکن است.
>> بنابراین، به یاد آورید که آخرین باری که ما آغاز شده به دنبال فقط در اصلی نیست، که
تابع پیش فرض، زمانی که پرچم سبز کلیک معادل،
اما ما نیز آغاز شده خلاصه نوشتن برخی از عملکردهای خود ما است.
و تا کنون هیچ یک از این توابع به خصوص بزرگ و یا گوشتی بوده است.
شما را به آن بزرگتر توابع احتمالا، P مجموعه 2، P مجموعه 3،
قطعا P مجموعه 4 و به بعد.
در حال حاضر بسیاری از برنامه های خود را، اگر نه همه آنها، قطعا برای P
مجموعه ای 1 را می توان به طور کامل در اصلی انجام می شود.
اگر برنامه شما تنها پنج خط، 10 خط،
حتی 20 صف های طولانی، کاملا معقول و منطقی به آن ارسال
همه در اصلی و به بیش از پیچیده کد خود را، اما آنچه ما انجام می امروز
و بعد در تلاش است تا هم معرفی برخی از تکنیک های طراحی خوب
به طوری که به عنوان کد شما بیشتر می شود پیچیده و به عنوان مشکلات
شما می خواهید برای حل سخت تر و جالب تر شما، نوع،
ابزار در جعبه ابزار خود که با آن برای طراحی راه حل خوب به کسانی.
>> بنابراین، اجازه دهید نگاهی سریع تماس با این برنامه از هفته گذشته من، که
بود توابع صفر نقطه C. و توجه کنید که، کاملا به سادگی،
آن را مانند این به نظر می رسد با دو توابع اصلی و نام چاپ.
و فکر و یا شاید امروز مهندسی معکوس،
چه انگیزه برای معرفی شد یک تابع در خط 28 به نام،
نام و نام خانوادگی چاپ؟
و یا چه این یک نمونه از در بود شرایط استفاده از یک اصل و یا غذای آماده،
اگر شما می توانید.
برخی سوفل.
چی؟
>> آره تجزیه تا عملکردی نوع راه فانتزی گفتن است،
تجزیه برنامه های خود را به قطعات تشکیل دهنده آن
و سپس با استفاده از آن قطعات به جمع آوری یک کل.
بنابراین، که بیش از حد است فقط نوع از یک لقمه در حال حاضر،
اما این است که شاید حتی یک به عنوان مثال بهتر از چیزی
فقط انتزاع نامیده می شود.
درست؟
انتزاع است برای رفتن به یک از تم در محدوده زمانی معین در CS50
و همچنین علوم کامپیوتر به طور کلی از آن
با استفاده از روش که شما می توانید حل مشکلات به طور موثر تر است زیرا شما
می توانید راه حل های بیشتری ارسال به طور مستقیم و در راه است که تعادل
و قابل فهم توسط افراد دیگر است.
چه که من در؟
>> بنابراین، مسلما آن را بیشتر قابل خواندن است به یک برنامه شبیه به این،
فوق العاده کوتاه چند از آن است.
هنگامی که شما در خط 22 وجود دارد که یک تابع به نام، نام نسخه قابل چاپ.
که نام تنهایی می گوید چه می کند.
این تابع ظاهرا طول می کشد ورودی بین پرانتزها،
و ظاهرا چیزی، احتمالا چاپ نام.
و به این ترتیب، حتی اگر ما کاملا می تواند داشته باشد
انجام کاری که ما کردیم یک هفته پیش، که بود فقط این خط واقعی از کد،
خلاص شدن از این، و خلاص شدن از شر این همه با هم،
ما از انتزاع کنیم مفهوم چاپ یک نام است.
برای من مهم نیست اگر شما با استفاده دف چاپ.
برای من مهم نیست اگر شما یک درصد S و یک بک اسلش این N.
جزئیات فوق العاده محرمانه است.
چیزی که من در مورد مراقبت از به عنوان یک برنامه نویس در حال چاپ است یک نام است.
و بنابراین، چه راهی بهتر برای انجام این کار نسبت به فراخوانی یک تابع، نام چاپ؟
و بنابراین، که یکی از انگیزه های بود برای انجام این کار چیزی شبیه به این.
ساخت کد خوانا تر بیشتر، قابل استفاده مجدد، و همچنین خود توصیفی است.
در حال حاضر، اجازه دهید یک نگاه در یک مثال دیگر،
که توابع یکی بود، که ما در اینجا به حال بیش از.
>> بنابراین، این است شاید حتی بیشتر دلیل قانع کننده، در این مورد،
من نمی خواهم فقط به گرفتن یک int است.
من می خواهم به یک INT مثبت است.
و آن را تبدیل به یک مثبت اعضای هیات شما باید انجام دهید یک دسته از legwork.
درست؟
این یک یک خط ساده نیست پاسخ مانند نام چاپ شد،
که است که مسلما کمتر قانع کننده.
>> برای دریافت یک INT مثبت، logically-- اجازه دهید من رفته به پایین به پنهان کردن این.
چه شما باید انجام دهید؟
مانند تمام ابزار ما در حال حاضر دارند،
چیزهایی مانند دف چاپ از استاندارد کتابخانه و همچنین از کتابخانه CS50
ما باید مطلع هوشمند، و مطلع شناور، مطلع طولانی مدت، مطلع رشته،
اما تنها یک، وابسته، در حال حاضر است مطلع بین المللی.
بنابراین، اگر تنها ابزار شما در جعبه ابزار خود را مطلع متوسط،
چگونه ما در مورد اجرای بروید آن را به اعضای هیات مثبت؟
>> مخاطبان: ایجاد یک ورود و بررسی در مورد اینکه آیا ورودی که آنها به
مثبت یا نه.
>> SPEAKER 1: کامل.
دقیقا.
یکی دیگر از ابزار ما در دارند ما جعبه ابزار از یک یا دو هفته پیش
فقط ساختار حلقه است.
و بنابراین، بله، اگر ما با استفاده از یک در حالی که حلقه، یا یک در حالی که حلقه، و یا یک جلو
حلقه ما احتمالا می تواند دور با هر یک از آن در بعضی از فرم.
ما می توانیم مفهوم مطلع پیاده سازی اعضای هیات مثبت و تنها با استفاده مطلع متوسط،
و پس از آن فقط نگه داشتن آن را دوباره و حفظ آزار ندهد کاربر
تا زمانی که او در واقع به ما می دهد که ما می خواهیم.
>> و بنابراین در حال حاضر، این انتزاع از فرآیند
گرفتن اعضای هیات مثبت به یک تابع به نام
مطلع مثبت بین المللی است کمی بیشتر قانع کننده است چرا این نگاه کنید.
این مانند 10 به علاوه خط کد است که
در یک اعضای هیات مثبت است، و من واقعا نمی مراقبت چگونه شما آن را انجام دهد.
همه مراقبت است که شما می توانید آن را انجام دهید، و بنابراین من
پنهان تمام این جزئیات در پشت یک تابع به نام مطلع مثبت بین المللی است که،
در واقع، این در حالی که حلقه.
>> و هفته گذشته برای نحو ببینید وجود دارد، اما آن را فقط به اعلام N،
و آن را چاپ کردن آموزش به کاربر.
در آن خواستار int و سپس آن را بررسی می کند این وضعیت دوباره، و دوباره،
و دوباره تا زمانی که کاربر همکاری می کند.
>> بنابراین در حال حاضر، چند چک سلامت عقل است.
برای کسانی که شاید آشنا با برخی از برنامه نویسی،
به همین دلیل است N اعلام کرد، چرا من ایجاد خارج از N در حالی که حلقه؟
چرا در خط 29 و مثل 33، به عنوان مثال.
>> رسید زیرا زمانی که شما اعلام آن به خارج، آن هم از نوع
از تر، بزرگتر scope--
>> SPEAKER 1: خوب.
>> مخاطبان: --and اگر شما اعلام آن را در داخل حلقه، [نامفهوم]
به دلیل آن چه در مورد آن نمی دانند.
SPEAKER 1: دقیقا.
اگر من می توانم simplify-- آن را یک مسئله از حوزه است.
و دامنه، به بافت در که یک متغیر وجود دارد و یا قابل استفاده است.
و حکومت خوب از انگشت شست است که به طور کلی زمانی که شما اعلام و یا ایجاد
یک متغیر شما فقط می توانید آن را در داخل استفاده از نزدیک ترین استقبال از آکولاد.
پس چه معنا است؟
اگر من، به جای آن، این کار را لغو و با چیزی که احساس می کند کمی ساده تر است.
درست؟
>> خط 32 به نظر می رسد فقط پاک کن را به من.
من انجام هر دو چیز در یک بار و پس از اختصاص
دست راست به دست چپ.
مشکل در حال حاضر بر اساس که تعریف دامنه
است که N را می توان در خطوط مورد استفاده 31 و 32 در داخل این حلقه،
اما با این تعریف که در آن می توانید آن را مورد استفاده قرار گیرد؟
در خط چه؟
آره.
>> مخاطبان: 35.
>> SPEAKER 1: 35.
قطعا نه 35.
و همچنین که در آن دیگری؟
مخاطبان: 34.
SPEAKER 1: حتی 34 است مشکل به دلیل آن
خارج از آکولاد.
و به این ترتیب در واقع، بیایید ببینید که چه اتفاقی می افتد.
درست؟
این ممکن است کمی به نظر می رسد بصری یا ممکن نیست،
اما اجازه دهید آنچه را ببینید کامپایلر برای گفتن دارد که
ما را در دایرکتوری منبع امروز است.
را تابع است.
اوه خدای من.
خوب، من نهایت به پایان رسید که، به هر حال.
خیلی خوب.
و چه مسئله در اینجا؟
خیلی محرمانه نگاه کنید.
اما در اینجا چیزی است که من typed-- را تابع است.
اینجا چیزی است که ناشی از ایجاد، که در واقع
با استفاده از صدای جرنگ جرنگ کامپایلر با برخی از این پرچم
که ما دوباره قبل از اینکه طولانی را ببینید.
و دوباره، همیشه نگاه در اولین خطا،
چرا که آن را فقط ممکن است یک آبشاری اثر بی معنی در خطوط دیگر.
>> بنابراین این بدان معنی است که مشکل این است که در عملکرد 1.c.
آن را در خط 32 است.
و آن را در ستون، یا شخصیت، 13 است.
بنابراین، هنگامی که ویرایشگر متن خود را که می به شما کمک کند شناسایی که در آن موضوع است.
بنابراین اگر من تا رفته، چه خط 32 است؟
این در واقع این که در حال حاضر برجسته
N حق here-- استفاده نشده متغیر است.
اما آن را استفاده نشده است.
من با استفاده از آن است.
اما کامپایلر اشتباه است، چرا آن را تنها در داخل این محدوده وجود دارد.
و بنابراین من می توانید آن را در اینجا استفاده کنید.
من می توانم آن را در اینجا استفاده کنید.
و کامپایلر، در نتیجه، حتی نمی مراقبت که من در تلاش.
به نظر می رسد استفاده نشده در حوزه واقعی آن است.
>> بنابراین ما می توانیم دامنه با انجام گسترش دقیقا همان چیزی که ما شروع به with-- اعضای هیات N.
و حتی اگر آن را نمی کند نگاه کنید به عنوان زیبا، شاید،
و ما در حال گرفتن یک خط اضافی در اینجا، در حال حاضر آن را در دامنه را در همه جا.
بنابراین اجازه دهید دوباره امتحان کنید.
بنابراین تابع یک را.
خوب.
و حالا اگر من اگر من تابع اجرا یکی، اجازه دهید آن را منفی 10،
منفی 1، 0، 1، و آن را در واقع کار می کند.
>> بنابراین راه حل دیگری وجود دارد.
میدونی چیه؟
چه می شود اگر من واقعا با این کشتی؟
من نمی دانم که در آن N قرار است به است.
میدونی چیه؟
من فقط رفتن به آن را تمام راه در بالای فایل من در اینجا.
چه انجام این کار، شما فکر می کنید؟
آره؟
>> مخاطبان: [نامفهوم].
SPEAKER 1: آره.
پس من آن را جهانی ساخته شده است، پس به صحبت.
اگر شما یک متغیر که در خارج همه از توابع خود را که مجاز است،
و کد باید کامپایل، و n در حال حاضر نه تنها در دسترس باشد دریافت
اعضای هیات مثبت، بلکه در main-- که نگران کننده است، زیرا کمی وجود دارد
در حال حاضر یک نفر در اصلی، بنابراین بیشتر در که در یک moment--
اما این در نظر گرفته شود طراحی بد است.
خیلی خوب.
اگر شما مجبور به توسل به چیزی شبیه به، اوه، من
فقط آن را قرار داده تا در اینجا به دلیل کد کامپایل به نظر می رسد
به طور کلی بهترین عمل است.
و نه می خواهید را انتخاب باریکترین امکان حوزه
برای متغیرهای خود را، که به معنی رفتن با طراحی اولیه ما، که
مناسب است در اینجا.
>> در حال حاضر به عنوان یک کنار، اگر شما مجبور عینا به نام متغیر در اینجا،
راه C می مسئولیت رسیدگی به this-- هر چند این اتفاق نمی افتد بیش از حد often--
این است که این است که هنوز کاملا در اینجا خوب است.
اما این تعریف از n در خط 22 را یکی از جهانی سایه.
پس این یکی در کار خواهد کرد اصلی، و یکی از جهانی
در واقع اعمال خواهد شد که شما در آن هستید گرفتن مثبت INT اما بیشتر که
یکی دیگر از زمان، اما فقط برای کسانی که کنجکاو.
>> بنابراین در کوتاه مدت، این را حل کنیم در اینجا.
حالا اجازه دهید کسی را دست انداختن از هم جدا دو قطعه قبل از ما در یکی از آخرین خط از کد نگاه
در این برنامه است.
مطلع اعضای هیات مثبت.
در سمت چپ کلمه خود را از نوع int کلمه است.
چه که نشان فکر می کنید؟
تا کنون ما بیشتر از درجه اعتبار ساقط است.
آره؟
>> رسید این نوع است متغیر است که شما می گی در مورد.
>> SPEAKER 1: بله این نوع، به من اجازه دهید نه می گویند متغیر، ولی نوع ارزش
که من درخواست تماس برای.
و در واقع، این بصری در اینجا، امیدوارم.
درست؟
اگر شما می خواهید برای دریافت اعضای هیات مثبت، چیزی است که شما
خواهید تابع مانند ما داوطلبان از هفته گذشته
به شما دست تماس یک قطعه کاغذ با یک int در آن هست؟
و بنابراین ما مشخص کرده ایم که به اصطلاح، نوع برگشتی این تابع
این است که اعضای هیات مثبت.
اگر ما آن را می خواهید به بازگشت هر چیزی، می توانید بگویید باطل است.
اگر شما می خواهید آن را به بازگشت یک رشته، به شما می گویند رشته است.
اگر شما می خواهید آن را به بازگشت شناور، به شما می گویند شناور.
اما تنها کسی که اینجا صدق منطقی، چون من با استفاده از نوع int GET،
حتی اگر من آن را محدود به ارزش های مثبت، بازگشت یک int است.
>> بنابراین برعکس، به چه معناست که یک خلاء در پرانتز وجود دارد؟
پرانتز چه به طور کلی تعریف؟
آره؟
>> رسید این بدان معنی است که تابع در واقع آن گرفتن.
>> SPEAKER 1: این بدان معنی است تابع در واقع گرفتن چه؟
>> مخاطبان: ورودی.
>> SPEAKER 1: ورودی، ندارند.
بنابراین در واقع، اگر پرانتز در اینجا شما را مشخص باطل،
فقط بدان معناست که من هیچ ورودی را نمی خواهم.
من با مشکل خودم را رسیدگی کند.
و در واقع، شما لازم نیست که به دست آوردن هر چیزی اعضای هیات مثبت.
شما فقط می گویند، دریافت اعضای هیات مثبت، و عملکرد خاموش خواهد شد و انجام چیز آن است.
>> اما این یک ترفند کوچک من وجود دارد در اینجا است بازی در تمام این مدت
مطمئن شوید این کد کامپایل.
توجه داشته باشید که int-- گرفتن مثبت از درجه اعتبار ساقط بین المللی در خط 27 است.
اما برای برخی از دلیل ظاهر عجیب و غریب آن را نیز تا اینجا در خط 16.
و فقط برای اندازه گیری خوبی من تکرار این پس از آن کاملا یکسان است.
و من گفتم که نمونه با کمی نظر یک خط.
چه اتفاقی می افتد اگر حذف کنید که من، و اکنون دوباره را تابع 1، را وارد کنید.
متأسفیم.
یک دقیقه صبر کن.
تب من کجاست؟
نه؟
آماده به کار.
را تابع 1.
ما میرویم آنجا.
باشه.
اگر به ذخیره نمی کند.
بنابراین، من فکر می کنم یک کمی وجود دارد اشکال در اینجا که در آن من نیست
دیدن نام تب در حال حاضر.
پس چه شده است که در اینجا؟
اعلامیه ضمنی از تابع گرفتن اعضای هیات مثبت نامعتبر در C99 است.
خیلی گیج کننده است.
پس چه این نشان دهنده این است؟
خب، معلوم است که C بسیار احمقانه است.
خوب، آن را برنامه نویسی زبان، و یا به جای کامپایلر است.
فقط می داند که چه چیزی شما را آن را آموزش داده، و آن را تنها
رفتن به دانستن چیزی اگر شما قبل از آن تدریس می شود.
به عبارت دیگر، در اصلی در حال حاضر، من
تلاش برای فراخوانی یک تابع به نام روی int مثبت است.
اما کامپایلر است که نمی به اطلاع که گرفتن اعضای هیات مثبت
تا زمانی که خط 26 وجود دارد.
و بنابراین، آنچه کامپایلر فقط اشتباهات به زودی به عنوان آن می شود به خط 17،
گفت بیانیه ضمنی از روی int مثبت، که
فقط یک راه فانتزی گفتن است، من نمی مطمئن شوید که چه روی int مثبت است است.
>> زبانهای دیگر مانند جاوا و پایتون و روبی ممکن است در پیش است.
C را نمی کند.
و به این ترتیب راه حل کنیم این یکی از دو راه است.
هر دو صورت یکی، اگر مشکل این است که گرفتن اعضای هیات مثبت است قبل از این دیده نشده است،
خوب، اجازه دهید من فقط آن را به بالا حرکت می کند.
که این مشکل حل شود.
اما به طور کلی، آن را روش بهتر در نظر گرفته
برای قرار دادن عملکرد اصلی خود را در بسیار بالا به طوری که یک انسان خواندن کد خود را
می داند چه برنامه می کند، دلیل اصلی این است که همه به خاک سپرده شد
راه در پایین و یا در وسط.
آن را در بالای بسیار است.
به طوری که احساس ایده آل نیست.
و شما در واقع می توانید به شرایطی که در آن
در صورت تماس از یک تابع دیگر، که یکی دیگر از نامد،
شما می توانید به یک موضوع که در آن نه می توانید در بالای دیگر، به منطقی.
آن را فقط ممکن نیست.
>> و به این ترتیب راه به کار این است که برای فقط
امضای تابع، پس به speak-- خط اول که در آن declared--
و فقط کپی، چسباندن آن را در بالا، اما نه با braces-- در اشکال مختلف
فقط با یک نقطه و ویرگول.
آن را مانند یک اشاره کوچک است از آنچه است که آمده است.
و در واقع، همه از این زمانی که ما چیزهایی مانند io.h استاندارد را دیده اند
و CS50.H، به طور مشابه، در آن نقطه فایل های ساعت است دیگر نمونه های اولیه وجود دارد.
و ما قبل از اینکه طولانی را ببینید.
>> بنابراین در کوتاه مدت، هنگامی که شما یک برنامه در یک فایل با توابع چندگانه
علاوه بر اصلی، شما تقریبا همیشه می خواهم به آنها اعلام
فقط از طریق اولین بار خود را خط، به دنبال یک نقطه و ویرگول،
در بالای بسیاری از فایل.
که بسیاری همه در یک بار بود.
هر گونه سؤال؟
خیلی خوب.
>> بنابراین اجازه دهید در حرکت پس از آن به چیزی شبیه به سرفه.
آه.
چگونه اتصالات.
خیلی خوب.
سرفه کردن.
بنابراین در اینجا یک C است اجرای برنامه
ما روز دیگر در انجام ابتدا که بسیار به سادگی فقط
می گوید سرفه، سرفه، سرفه.
خیلی خوب.
و کسی گفت: چند روز قبل وجود دارد که
یکی از راه های تمیز کردن این کد تا حال حاضر.
خیلی خوب؟
به محض این که شما در حال کپی کردن و چسباندن طراحی احتمالا بد.
حداقل یک بار ما به چهار یا پنج گرفتن یا 20 سرفه، آن را احساس عمل بد.
ما فقط کپی نگه دارید، چسباندن.
چه راه حل آشکار به تمیز کردن این برنامه تا؟
>> مخاطبان: حلقه.
>> SPEAKER 1: آره.
بنابراین یک حلقه استفاده کنید.
و ما می توانیم یک حلقه for در حالی که استفاده کنید، حلقه، هر تعداد از روش.
و در واقع، این چیزی است که ما در نسخه یک در اینجا انجام دهید.
من به جای آن بازنویسی کرده ام در نسخه یکی از cough.c
به سرفه تنها در یک حلقه for.
همه حق است، اما وجود دارد یک فرصت در حال حاضر به نوع شروع
برای طراحی این کمی بیشتر شبیه درس ما تدریس یک لحظه پیش،
است که this-- فرض کنید که من می خواستم برای ایجاد یک تابع به نام سرفه،
اجازه دهید برای فقط یک لحظه در نظر چه آن را به مانند نگاه کنید.
بنابراین اگر من می خواهم چیزی به سرفه، من فقط نیاز
به استفاده از چاپ F در داخل تابع.
و در واقع من هستم.
و در واقع، این همه زمان، هر زمان که شما
چیزی برای چاپ صفحه نمایش، یک برنامه نویس
تماس بگیرید که یک اثر جانبی.
آن را به من واگذار نکند تماس کسی یک مقدار است.
آن را به من گرفتن برخی از اقدام که ممکن است از لحاظ بصری آشکار است.
اما این تابع سرفه، آن بازگشت هر چیزی را بر اساس خط اول؟
نه، چون نوع بازگشت آن از درجه اعتبار ساقط است، که فقط بدان معناست
آن را به من تحویل هر چیزی برگشت است.
این ممکن است انجام کاری بصری، اما آن را به من واگذار نکند
یک تکه کاغذ مانند هفته گذشته است.
>> آیا به آن نیاز هر ورودی؟
شماره
و پس از آن از درجه اعتبار ساقط اینجا بیش از حد.
پس این هم نوع بیش از مهندسی این مشکل است.
درست؟
من این برنامه ساخته شده بیشتر پیچیده، خطوط بیشتر از کد،
من آن را ساخته شده هر کاربردی تر، اما این
می تواند یک سنگ پله، شاید، برای گسترده تر
متن با کد پیچیده تر است.
اما آنچه در مورد این؟
من چه کرده ام done-- فقط زود گذر در این بدون نگاه کردن به نظر
در بالا بسیار از آنچه را که file-- من اساسا در اینجا با سرفه من انجام می شود
پیاده سازی است که متفاوت است؟
آره، در تماس؟
>> رسید آن را به طوری که شما می توانید یک شخصیت را خاموش کنید.
SPEAKER 1: آره.
بنابراین این احساس نوع خوب است.
درست؟
این مانند اضافه کردن یک ویژگی به خود را برنامه یا تابع خود را، در این مورد.
این هنوز هم هیچ چیز را برمی گرداند.
این ممکن است یک اثر جانبی بصری، به دلیل آن را خواستار چاپ F.
اما در حال حاضر من پارامتری اند تابع، که
یعنی من مشخص گرفته شده ورودی از نوع int و پاسخ N،
اما من می توانم آن را هر چیزی من می خواهم تماس بگیرید.
در واقع، این فقط می تواند بار حتی بیشتر آشکار می شود.
و پس از آن من می توانم فقط این را تغییر دهید.
اما نکته این است که این است که چگونه من ایجاد یک تابع است که طول می کشد ورودی.
و اگر شما را به یاد کوه در می رم از طریق شاید در یک آنلاین
از پیاده روی throughs، در چهارم و به عنوان مثال سرفه نهایی،
شما در اینجا خواهید متوجه من کلی به کد نوع further-- انتزاعی
آن بیشتر است.
مانند سرفه و عطسه، هر دو در مورد ضرب المثل مثل چیزی یا ساخت
نوعی از صدا.
ذخیره می شود مربوط به بلوک خراش.
و بنابراین، آنچه من در این نسخه انجام داد، که ما فقط می توانید نگاه،
است سرفه است مثل این گفته، [سرفه]، سرفه، و در عین حال، عطسه است
مثل کرد و گفت، [ACHOO].
و بنابراین من کلی به اجرای این
در حال حاضر توسط اجرای این تابع عمومی،
می گویند، که جالب است برای اهداف امروز
فقط به این دلیل آن را هنوز هم یک نوع بازگشت ندارد.
اما چگونه بسیاری از ورودی های آن را داشته باشد؟
مخاطبان: دو.
SPEAKER 1: دو.
و بنابراین اگر شما می خواهید در دو استدلال،
فقط آنها را با کاما از هم جدا.
و اگر شما می خواهید پس از آن پاسخ این تابع،
توجه کنید که شما فقط پاسخ گویند، نقل قول، تمام کردن،
برای اولین آرگومان، مشترک N، برای آرگومان دوم.
پس دوباره، فقط در حال حاضر دارند بلوک های ساختمان به طوری که ما می تواند در حقیقت
اجرای برخی از توابع خود ما است.
خیلی خوب.
هر گونه سوال در مورد این؟
>> پس به پوست پشت یک لایه اگر چنین است.
و هدف، در نهایت، هفته آینده مجموعه ای مشکل است
در حال رفتن به cryptogrophy-- شود هنر تقلا اطلاعات.
و به طور خاص، اطلاعات خواهد شد که شما رمزگذاری و یا رمزگشایی
در حال رفتن به متن.
و به طوری که نوع دعوت سوال امروز مانند خوب،
آنچه در جریان است در زیر هود با متن ASCII فراتر از هفته صفر،
و چگونه می تواند ما در واقع شروع به آن را دستکاری؟
بنابراین در اینجا نام Zamyla است.
و در متن، که ممکن است وارد به مانند تابع رشته GET.
و در حال حاضر شروع، هنگامی که شما یک رشته مانند this-- Z-A-M-Y-L-A--
شروع به فکر کردن از آن به عنوان هر چند هر از کسانی که شخصیت است در یک جعبه از آن
خود.
و در واقع، در یک هفته یا در زمان، هر یک از این جعبه
است که به نمایندگی از بسیار به طور خاص یک بلوک از حافظه نیش از حافظه است.
بنابراین هر یک از این نامه ها، در نهایت، خواهد 8 بیت را نمایندگی کند.
و ما در واقع می خواهید ببینید چه خبر است در زیر هود در کامپیوتر من.
>> اما برای آن کافی است نمی فقط به در نگاه Zamyla
از طریق این لنز، هر که به موجب آن از این نامه ها در جعبه خود است.
و به سادگی به اندازه کافی در C ما می توانیم دسترسی به هر یک از این جعبه به طور مستقیم.
بنابراین اگر شما می خواهید برای دریافت اولین حرف از نام او، فوق العاده در C. آسان
اگر شما می خواهید برای دریافت آخرین نامه، فوق العاده آسان و همچنین
با یک تکه نحو جدید.
>> بنابراین من قصد دارم به جلو بروید به CS50 IDE و باز کردن رشته صفر نقطه C.
و در این مثال در اینجا، وجود دارد یک زن و شوهر از چیزهای جدید ادامه دارد.
بنابراین برای اولین بار در خط 19، ما دیده می شود این رشته مطلع before--.
پس فقط عنوان بررسی سلامت عقل سریع، اگر کسی می تواند بطور شفاهی ارائه دهد تا
توضیح یک شخص غیر روحانی از چه خبر است در در خط 19.
دوست دارید فقط این ترجمه به زبان انگلیسی است که هم اتاقی در CS50 نیست
ممکن است درک کنند.
آره.
>> رسید که کاربر ورودی یک رشته و ذخیره آن در یک متغیر.
SPEAKER 1: خوب.
آیا ورودی کاربر یک رشته و ذخیره آن در یک متغیر.
عالیه.
بنابراین در دست راست سمت، ما رشته دریافت تماس.
که یک مقدار را برمی گرداند که از اختصاص داده نشده است
از سمت راست به چپ دست سمت را به یک متغیر به نام که
برای ذخیره یک رشته طراحی شده است.
دقیقا.
>> بنابراین در حال حاضر خط 22، در هر نظر در خط 21،
بدیهی است که رشته چاپ یکی از شخصیت ها در هر خط.
اما چطور؟
پس اول از همه، ما به 0 مقداردهی اولیه.
و پس از آن ما چگونه به انتهای نام Zamyla خبر؟
خب، در پایان نام Zamyla است، من می توانم
دستی در آخرین کاراکتر از نوع نام و نام خانوادگی به نحوی او را، و یا تعدادی از آن است.
درست؟
اگر ما به عقب here-- Z-A-M-L-- Y-L-A-- بنابراین من می تواند تایپ کنید.
شاخص چیست آخرین نامه Zamyla خبر؟
در صورتی که این 0-- صحبت مثل programmer-- 0، 1، 2، 3، 4، 5،
من heard-- پس در واقع، آخرین نامه نام Zamyla در ششم است،
اما اگر ما از 0 تعداد دفعات مشاهده، آن را به شماره 5.
طوری نگه دارید که در اینجا در نظر.
>> به نظر می رسد یک تابع در آن وجود دارد C نام strlen، و در روز
و به این روز هنوز هم، بسیاری از برنامه نویسان
انتخاب کنید تا همگام نام برای خود توابع است که مانند کلمات صدا
آنها در حال تلاش برای گفتن دارد.
بنابراین strlen طول رشته است.
و به این ترتیب آنچه را که طول رشته S بازگشت هنگامی که Zamyla ورودی است؟
>> مخاطبان: پنج.
>> SPEAKER 1: Z-A-M-Y-L. شش.
درست؟
طول نام Zamyla چیست؟
درست؟
و فقط در واقعیت، شش حرف.
درست؟
و بنابراین، آنچه که برای حلقه ما چیست؟
ما قصد داریم به از رفتن 0 تا شش، که
است که به ما به پنج بار تکرار می دهد.
چه چیزی ما را در هر تکرار را انجام دهد؟
خب، درصد C، کسی حدس زده روز دیگر،
معنی یک حفره یا سوراخ برای چه؟
>> رسید کاراکتر.
SPEAKER 1: فقط یک کاراکتر.
بنابراین یک character-- تنها نیست شخصیت های متعدد مانند یک رشته است.
و پس از آن در اینجا خط جدید است که ما چاپ کردم.
و پس از آن در اینجا ترکیب جدید است.
اگر شما می خواهید برای چاپ کردن i ام کاراکتری در رشته S، پس به صحبت می کنند،
شما به سادگی می توانید می گویند نام از رشته s،
و سپس باز کردن براکت مربع، و پس از آن بسته براکت مربع، با من
وسط.
و آن را از نوع در که خوب آن هم از نوع به نظر می رسد مانند یک مربع
درست مثل مربع که در آن است Zamyla شخصیت در آن تصویر وجود داشته باشد.
>> بنابراین اگر من در واقع این اجرا در حال حاضر، بیایید ببینید که چه اتفاقی می افتد.
رشته را بریده بریده 0 نقطه رشته 0، و پس از آن من
رفتن به تایپ کردن نام Zamyla است.
هیچ اعلان وجود دارد، چرا که من نمی استفاده از چاپ F، اما این خوب است.
من فقط می دانم چه باید بکنید.
و در واقع، آن را چاپ نام Zamyla، یکی در هر خط.
>> حالا اجازه دهید یک کمی بی پروا.
فرض کنید که من نمی دانستم درباره strlen و من نمیفهمد،
همه حق است، هیچ کس را به یک نام بزرگتر از 50 کاراکتر مانند.
اجازه دهید به جلو و کامپایل مجدد این و تکرار آن، و سپس در Zamyla
از نو.
منطقی، چه شده است که برنامه رفتن را امتحان کنید چاپ کنید؟
Z-A-M-Y-L-A پس از آن مانند 45 بایت ناشناخته از حافظه است.
و در واقع، ما آمده به این ایده از حافظه است.
اما اگر فقط منطقی، نام Zamyla این است طولانی،
به عنوان در هر تصویر در اینجا، آنچه ما در حال گفت
نگه دارید چاپ، حفظ و چاپ، نگه داشتن چاپ، حفظ و چاپ، نگه داشتن چاپ،
تمام راه را به شخصیت 50، که می داند که چه اتفاقی خواهد افتاد.
بنابراین اجازه دهید در واقع نگاه کنند.
بیایید در نوع Zamyla.
جالب هست.
ما خوش شانس.
فقط یک دسته کامل از فضای سفید است.
آه.
این یکی از شخصیت های بد بو وجود دارد.
به نظر می رسد به نوعی مانند یک سوال عجیب و غریب علامت وجود دارد، اما نام Zamyla وجود دارد.
بیایید واقعا بی پروا.
چگونه در مورد ما نسخه قابل چاپ کردن 500 بلوک به ناشناخته؟
اجازه دهید به جلو و این و همچنین و سپس دوباره اجرا کنید.
و اجازه دهید روی صفحه نمایش کامل آن، به دلیل ما نیاز به فضای بیشتری را ببینید.
Zamyla.
شانس دوباره.
>> جرات ما بی پروا تر است؟
بیایید بی پروا تر دریافت کنید.
50،000 شخصیت.
این ایده خوبی است قطعا نیست.
خیلی خوب.
رشته را 0.
این خواهد بود که آخرین نسخه ی نمایشی ما.
Zamyla.
اه.
باشه.
بنابراین حافظه من واقعا خالی است در حال حاضر، که در واقع نوع راحت است.
چه من تلاش برای بدست آوردن to-- همه درست است.
و در حال حاضر من فقط رفتن به بی پروا.
500،000.
Make-- اجازه دهید تمام صفحه است.
داخل شدن.
Zamyla.
ما میرویم آنجا.
من هیچ نظری ندارم که است، اما برای تلفن های موبایل بد است.
خیلی خوب.
و در واقع، به زودی، اگر شما در میان ما چند خوش شانس در ساعات اداری
و در مجموعه ای مشکل یک، شما ممکن است به خوبی روبرو می شوند این.
گسل تقسیم بندی در واقع یک معنی به خوبی تعریف شده.
این بدان معنی است نوعی از اشتباه مربوط به یک بخش از حافظه است.
و در عبارت، به این معنی است که ما را لمس کرد
حافظه RAM ما در کامپیوتر من استفاده که من باید دسترسی به آن وجود نداشته.
و این چیزی است که هر دو قدرتمند و نیز خطرناک است
در مورد C است که شما در واقع دسترسی نامحدود
به طور کامل از حافظه برنامه خود را و یا بایت یا RAM، به طور خاص.
>> بنابراین حتی اگر نام Zamyla است تنها شش شخصیت طولانی،
من هنوز توانید در هر نقطه در حافظه من می خواهم.
و از سوی دیگر، اگر شما تا به حال خوانده برخی از مقاله
در طول سال ها در مورد برخی از سرور و یا برخی از برنامه
گرفتن ترک خورده یا هک که مزیت های گرفته شده از چیزی
به نام یک سرریز بافر بهره برداری است که ما در واقع
صحبت در مورد در چند هفته، که به طور کلی اشاره به نحوی فریب
کامپیوتر را به خوبی پیش میرود فراتر از مرزهای حافظه
که باید آن را داشته باشند، و پیدا کردن چیزی آبدار
در حافظه رمز عبور، شاید، یک راه
دور زدن بعضی از شماره سریال را بررسی کنید، و یا فقط به طور کلی قادر
برای فریب کامپیوتر اجرا کد است که در نظر گرفته شده بود.
اما اجازه دهید دوباره به واقعیت برای یک لحظه
که در آن این برنامه بود اجرا با strlen،
و معرفی یک چیز تا اینجا.
چه در میان این سه خط بالا جدید است؟
>> بنابراین رشته دات ساعت.
به نظر می رسد این کتابخانه را به نام وجود دارد رشته نقطه H، یا کتابخانه رشته،
که فایل هدر، پس به صحبت می کنند، رشته دات ساعت است که به من است
دسترسی به این تابع strlen.
اگر من حذف آن، کامپایلر است رفتن به فریاد زدن در من در بعضی از فرم.
اما شما می دانید چه؟
حالا اجازه دهید واقعا متنوع است.
در خط 22، چیزی نوع وجود دارد از inefficient-- بد طراحی شده،
arguably-- در مورد این خط از کد.
فکر می کنم به چگونه حلقه for اجرا می شوند
و چه مراحل را دوباره اتفاق می افتد و دوباره و again-- مقدار دهی اولیه،
شرایط، کدی است که اعدام می شود، پس از آن افزایش
یا تغییر، شرط، سپس کد، سپس تغییر و سپس
شرایط، سپس کد، پس از آن تغییر، و غیره.
پس چه ممکن است کمی نگران کننده و یا ضعیف در اینجا انجام می شود؟
آره، به رنگ آبی.
مخاطبان: Strlen است بارها و بارها به نام.
SPEAKER 1: آره.
بنابراین strlen است که به نام چند بار، اما آنچه که
طول نام Zamyla را اولین بار حلقه را اجرا؟
>> مخاطبان: شش.
>> SPEAKER 1: شش.
خب، چه طول نام او بار دوم کد را اجرا؟
>> مخاطبان: شش.
>> SPEAKER 1: بسیار خوب.
آن را هنوز هم شش.
درست؟
نام Zarla است نه تغییر، حتی اگر من به دنبال
در تنها بخشی از نامه به نام او.
و به این ترتیب این واقعیت که من به طور موثر هستم پرسیدن این سوال، چه
طول Zamyla، چه طول این از Zamyla، چه مدت از Zamyla است،
شش بار جداگانه، و یا هفت حتی، فقط احمق،
به دلیل این که تغییر ناپذیر است که پاسخ دهد.
و بنابراین، آنچه من در واقع انجام دهید این است this-- در رشته یک
من یک نسخه حاشیه بهتر را در اینجا.
There-- رشته whoops-- دو من یک نسخه حاشیه بهتر آن
به جای فقط من this-- مقدار دهی اولیه به 0، من هم با کاما از هم
تعریف یک متغیر دوم به نام n-- من لازم نیست به نوع int است.
من نباید، در واقع.
اما من می گویم N.
و بعد من مقداردهی اولیه N به strlen از n، به طوری که در حال حاضر
چند بار strlen در کل اعدام؟
فقط یک بار.
و این چیزی است که منظور ما قبلا در مورد طرح بهتر است.
در واقع یک بار کد شما درست است، رفتن به عقب و تفکر را از طریق،
من با استفاده از عنوان کمی حافظه و یا به عنوان چند ثانیه
و یا میلی ثانیه از زمان کامپیوتر به عنوان ممکن است به پیاده سازی برخی از مشکل؟
و من قصد دارم برای حرکت و فقط به ذکر
که این ذکر است وجود دارد از صفر در این نسخه،
اما ما به که قبل از بلند آمده است.
از آنجا که در حال حاضر، اجازه دهید یک نگاه در آن این است که به ما منجر شود.
بنابراین یکی، معلوم است که در حال حاضر که ما باید توانایی
به شخصیت منحصر به فرد نگاه کنید، ما می توانیم چیزی اهرم
از هفته 0 که بسیار محرمانه بود و مرتب کردن بر اساس غیر در آن زمان.
اما در حال حاضر، و ویژه هنگامی که ما به رمزنگاری در یک هفته،
آن را به صورت کاملا قدرتمند است.
به نظر می رسد که با برخی از نوع داده int داده types-- و شناور
و کاراکتر و رشته ها و دیگر چیز برخی از آنها
می توان به راحتی به یکی دیگر از تبدیل شده است.
>> به عنوان مثال، زمانی که ما صحبت درباره ASCII برخی از زمان ago-- در اینجا
حروف سرمایه از طریق M، نقطه، نقطه،
dot-- ما گفت که یک نگاشت وجود دارد بین این حروف و اعداد.
و در واقع، آن صادق است برای حروف کوچک است.
حروف کوچک 97، سرمایه 65 است.
و یک تعداد در ASCII وجود دارد، که فقط این نگاشت است
سیستم برای همه کسانی که حروف دیگر.
پس چه معنا است؟
خب، من قصد دارم به جلو بروید و باز تا به سرعت واقعی چیزی به نام
ASCII 0، که اکثر نظرات است.
و دوباره آنلاین شما می توانید همیشه نگاه را از طریق نظرات.
>> و نگاهی به آنچه این است که به انجام.
بنابراین آن را به یک تابع اصلی.
من سخت رمزی اعداد فقط برای در حال حاضر، زیرا من می دانم آنچه که من انجام می دهند.
من می دانم آنچه من می خواهم در اینجا ببینید.
و من به 65 مقداردهی اولیه است.
و من شمارش از طریق 26 حرف در کل.
و چه هستم من به رفتن چاپ یک خط در یک زمان
اگر شما می توانید تفسیر این خط برجسته؟
چه می شود چاپ؟
آره.
>> مخاطبان: آیا شما قصد به چاپ نامه ای که
مربوط به نقشه از ارزش حرف و عدد صحیح؟
SPEAKER 1: دقیقا.
من قصد دارم به چاپ نامه متناظر با مقدار عدد صحیح،
و بالعکس، به عنوان شرح زیر است.
خب این، کسی که قبلا هم گفتم، فقط یک حفره یا سوراخ برای یک کاراکتر است.
هنوز هم هست.
این، البته، یک حفره یا سوراخ است برای int-- یک خط جدید نیست.
و در حال حاضر متوجه، برای اولین بار ارزش من است که من متصل کردن برای که حفره یا سوراخ
نه تنها I. من گفت، در پرانتز، کاراکتر من،
که کاراکتر معترضه است گفتن کامپایلر، من درمان
نه به عنوان آنچه در آن است، که یک عدد است.
آن را به عنوان یک شخصیت واقعی است.
در حالی که مقدار دوم من متصل کردن in-- I-- فقط باید یک عدد باشد.
>> بنابراین اگر من این program-- کامپایل پس این را ASCII 0،
ASCII بریده بریده نقطه 0-- من فقط این جدول کوچک دستی است که
من نشان می دهد همه از ممکن نگاشت بدون نیاز به آن فکر می کنم
از طریق و یا آن را کشف کردن را در خود من.
و من هم چاپ، متوجه حروف کوچک،
چون چند خط بعد، من همچنین نسخه قابل چاپ کردن این نقشه برداری
به عنوان خوب، است که فقط به گویند که یک بار شما را در درک
چه خبر است در زیر هود، می تواند به شما
به طور خودکار به جلو و عقب تبدیل کنید.
و در واقع، اگر هر کدام از شما تا به حال این در مدرسه بود
و یا در مورد کسی شنیده افسانه ای خوی مصرف توجه داشته باشید
و انتقال آن به خود و یا دوستان خود را در کلاس،
اما شما درهم نامه های مانند A می شود B،
و B C، و یا چیزی می شود پیچیده تر از آن، خوب،
چگونه می خواهید در مورد رفتن اجرای که به عنوان یک بچه؟
خوب، شما فقط می دانم که نوع A B می شود، B می شود C،
اما ریاضی، چه شد که بچه انجام می دهند؟
چه چیزی شما را به هر حرف اضافه شد.
به طور موثر، 1.
>> بنابراین، هنگامی که شما تغییر A به B، که نوع مانند تغییر 65-66،
که ریاضی به معنی فقط اضافه کردن 1.
و به همین ترتیب اگر شما برای پیاده سازی روش فریبنده که کمی
برای معلم خود را در کد، شما ممکن است دقیقا انجام این کار فقط
با اضافه کردن تنها یک حرف با هم.
بنابراین قبل از اینکه طولانی، ما رفتن به ببینید که چگونه ما
می توانید با استفاده از آن که در واقع را تقلا واقعا و unscramble
اطلاعات
در این میان، می دانیم که ما شروع به برای معرفی یک زن و شوهر دیگر کتابخانه ها
here-- رشته امروز.
و یک سایت بسیار مفید امیدوارم شما پیدا
است که به نام reference.cs50.net که کارکنان آموزشی با هم قرار دارند،
به طوری که اگر شما می خواهید نگاه کردن چگونه کار می کند strlen،
شما می توانید شروع به تایپ نام تابع را،
کلیک کنید strlen وجود دارد، و پس از آن یک توضیح کمتر و راحت
است به نظر می رسد.
و یا اگر شما می خواهید رسمی توضیح مبتنی بر لینوکس،
شما می توانید راحت تر کلیک کنید در بالا سمت راست، و آن
خواهد همان اطلاعات در حال حاضر، اما در شرایط پیچیده تر است.
که یک منبع مفید است به در واقع می دانیم چه همه چیز.
>> دفعه بعد هم که ما قصد داریم به نگاهی به Ovaltine
و بیشتر، و خودمان را معرفی به جهان از رمزنگاری.
قبل از آن، خواهیم دید شما بعد از این هفته.
و در حال حاضر، کولتون اوگدن.
چهارشنبه می بینمت.
>> [موسیقی]
>> SPEAKER 1: چه [BLEEP] کار می کنی؟
>> SPEAKER 1: من غذا خوردن دسر کنم؟
چگونه می توانم آن می خورید؟
با دست های خود.
>> [موسیقی]