JASON HIRSCHHORN: به انجمن خوش آمدید CS50 بخش، هر کس. اسم من جیسون Hirschhorn است. من یک مقدار زیادی از TFS شما هستم، اما بسیاری از امید داریم که مردم به ما ملحق خواهد شد آنلاین، دانش آموزان فرمت و یا دانش آموزان تلاش برای از طریق بخش نگاه اگر آنها بخش خود را از دست رفته که هفته یا فقط گرفتن تا اگر آنها می خواستند برای این فایل نقد می نویسید: برخی از مواد است. بنابراین همانطور که در برنامه درسی، که همه از شما خوانده ام، درست است؟ من بسیاری از گره سر می بینم. بخش شما را با فرصت ها را فراهم برای کشف دوره مواد را در یک محیط صمیمی تر، و همچنین شیرجه رفتن به دست در فعالیت. به طوری که اساسا آنچه ما رفتن به انجام هر هفته. ما قصد داریم از طریق آنچه که ما باید بروید تعیین می شود مهم ترین مباحث پوشش داده شده در سخنرانی، و آنهایی که احتمالا نیز مفید ترین و به احتمال زیاد می آیند تا در مجموعه مشکل و در آزمونها، و در برنامه نویسی شما زندگی در خارج از CS50. بنابراین ما قصد داریم برای رفتن به این موضوع، بحث در مورد آنها، بیش از آنها، هر گونه سوال شما بچه ها پاسخ دهد، و پس از آن ما قصد داریم برای انجام بسیاری از مشکلات عمل در برنامه نویسی. همه شما لپ تاپ به ارمغان آورد، که فوق العاده است. این یک کلاس علوم کامپیوتر است. با این حال، بسیاری از تمرینات ما انجام می دهیم، شما لپ تاپ خود را برای نیاز ندارد. شما می توانید آنها را بر روی یک ورق کاغذ انجام دهید. این که چگونه قصد دارید به انجام آنها را بر روی آزمونها است. و در واقع، این یک راه عالی برای واقعا می دانم که شما چگونه به انجام چیزی اگر شما لازم نیست که بررسی کنید 50 تا تکیه می کنند و یا به تکیه بر، گفتن شما هر گونه خطا است. بنابراین شما به کد خوش آمدید لوازم خانگی و یا run.cs50.net است که یکی دیگر از ابزار است که اجازه می دهد تا شما را به کد آنلاین، اما من هم توصیه می کنم، اگر شما آن را سعی نیست، با استفاده از یک ورق کاغذ و تلاش این عمل مشکلات در یک ورق کاغذ. از آنجا که دوباره، که در نهایت آنچه را که شما برای رفتن به خواست تا در آزمونها. پس شروع کنیم با ما دستور کار امروز. ما قصد داریم به بیش از برخی از هنجارها بخش ما، پس از آن ما قصد داریم به شیرجه رفتن به آرایه ها، توابع، و خط فرمان استدلال، که همان چیزی است که شما بچه ها این هفته گذشته در سخنرانی تحت پوشش و سپس دوشنبه، و آنچه شما پوشش بیشتر از فردا. و سپس در نهایت، ما قصد داریم به حدود pset2 صحبت کنید. اگر من می تواند نشان می دهد از دست آورید اگر شما در مجموعه دو مشکل نگاه نمی مشخصات. ما همه می گویند. فوق العاده است. ما را در مورد مجموعه مسائل در یک بیت صحبت می کنید، اما اگر شما خواندن مجموعه مشکل خصوصیات، که همه شما باید انجام دهید. اگر شما خواندن که قبل از شما آمده است طبقه و بخش در روز سه شنبه، به شما خواهد می شود یک موقعیت بزرگ است. ما می توانیم از طریق مجموعه ای مشکل، همان چیزی است که ما قصد داریم در پایان انجام دهد. ما قصد داریم از طریق رفتن منطق، مطمئن شوید همه در همان صفحه است. من می خواهم شما را قادر به ترک سه شنبه احساس بسیار راحت با آنچه شما نیاز برای این هفته مجموعه ای مشکل انجام دهد، و اگر اینکار را نکنید، من با خوشحالی خواهد شد پس از اقامت و کار کردن با شما. اما این چیزی است که شما را به انجام دهید، اما من فکر می کنم واقعا باهوش، فقط برای خواندن مجموعه مشکل مشخصات کلاس در روز سه شنبه، که آن را مانند یک برای تلفن های موبایل بسیاری از شما بچه ها انجام داد. من با دستور کار هر کلاس شروع بنابراین شما می دانید که در آن ما قصد داریم. این هم برای تماشای مردم مفید آنلاین به دلیل هر بخش رنگی، بنابراین اگر شما می خواهید برای آمدن به عقب و فقط تماشای 10 دقیقه به جای از کل 90 دقیقه بخش، شما فقط می توانید به بخش کد رنگ و در آن قسمت نگاه کنید. بنابراین من سعی کردم به آنها استراحت کردن به خوب ماژول های که به شما اجازه می دهد تا - اگر شما می خواهید برای آمدن به عقب و این فایل نقد می نویسید:، یا دیگر دانش آموزانی که فقط تماشای یک بخش برای این فایل نقد می نویسید: - برای پیدا کردن چیزی خاص آنها می خواهم توجه به و کسب اطلاعات بیشتر در مورد. شیرین. هنجارها. من یک رهبر FOP در محوطه دانشگاه هستم. من نمی دانم اگر کسی FOP. آیا کسی انجام FOP؟ یک نفر FOP. دو نفر به FOP انجام داد. عالی است. بنابراین FOP سال اول در فضای باز است برنامه جهت. ما دانشجویان سال اول را به جنگل و جادویی ترین تجارب زندگی خود را، درست است؟ آره. برای تلفن های موبایل در مورد حق. بنابراین من فقط می خواستم برای شروع ما بسیار برای اولین بار بخش با بحث در مورد برخی از هنجارهای برای کلاس و ارتباط ما چون من فکر می کنم آنها بسیار مهم است. در درجه اول، به عنوان کسانی از شما که بخش من دریافت کرده اند و در شده است در آن مورد بحث قرار ایمیل، من عاشق این. این بخش های مورد علاقه من در سال جدید است. من بوده ام خیلی هیجان زده شده است. من امروز در اینجا برای ساعت بوده است. من این ساختمان را جز به چپ نیست به غذا خوردن چون من عاشق بخش CS50، من آموزش دوست دارم، من دوست دارم کار با شما بچه ها. یکی از بالاترین اولویت های من، اگر نه من اولویت شماره یک، نه تنها برای این کلاس اما از جمله دیگر من کلاس ها و extracurriculars، به حمایت از شما بچه ها و کمک به شما بچه ها، و انجام بهترین من را به مطمئن شوید که شما بچه ها فوق العاده، سرگرم کننده، مولد، جذاب، هیجان انگیز تجربه در این کلاس. این چیزی است که من به آن متعهد است. به همین دلیل من دوست دارم برای انجام این کار. این شماره من یک چیز است، حمایت شما بچه ها. اگر شما هر گونه سوال در مورد سخنرانی، مجموعه مشکل، بخش، زندگی، حتی اگر شما می خواهید به صحبت کردن در مورد زندگی، لطفا احساس رایگان برای رسیدن به. شما باید شماره تلفن همراه، شما ایمیل من آدرس، شما باید GChat من است. شما می توانید به من در هر یا همه با ما تماس بگیرید کسانی هر زمان، اما احتمالا نمی خواهد پاسخ هر زمان. من سعی می کنم و ظرف 24 ساعت به عقب بر گردیم. اغلب آن را در درون 20 دقیقه یا 24 دقیقه. من باید گفت که آن را موازی. اما شما پاسخ دریافت کنید خیلی سریع. اگر شما به من متن یک ساعت قبل از مجموعه مشکل به دلیل، من شما را آرام پایین و انجام تمرینات تنفس عمیق با شما است، اما اگر شما آغاز شده است، شما احتمالا نمی خواهید به پایان برساند، و من واقعا می تواند به شما کمک کند خارج وجود دارد حتی اگر من بهترین من امتحان کنید. بنابراین من همه چیز را انجام دهید من می توانم به شما پشتیبانی می کند. لطفا در صورت احساس رایگان برای رسیدن به اینکه آیا آن را در بخش دیگر، در ساعات اداری اگر شما من را ببینید، و یا حتی خارج است. من خوشحال به راه اندازی یک زمان برای دیدار و کار را از طریق مشکلات با یا بیش از مواد. بنابراین شماره یک، پشتیبانی است. من همه چیز را انجام دهم می تواند به شما پشتیبانی می کند. شماره دو، جلسه در وسط. تا آنجا که من می خواهم، من قادر مطلق نیست و یا قدرتمند و یا همه دانستن، بنابراین من نمی دانم نه همه اگر آنچه من انجام شده است در سراسر، اگر راه من آموزش موضوع کمک می کند تا شما آن را یاد بگیریم، و یا اگر شما بر روی یک موضوع اشتباه گرفته اما نمی بالا بردن دست خود را یا برای من بپرسید و یا یک ایمیل به من ارسال کنید. یا حتی اگر شما دوباره اشتباه در مورد چیزی بر روی مجموعه ای مشکل است. اگر شما از دسترس نیست به من، من نمی توانم می دانم که برای مطمئن. من قصد دارم برای انجام بهترین من برای بررسی در شما بچه ها، مطمئن شوید که همه چیز است به خوبی می گذرد، سعی کنید برای تدریس همه چیز در راه خواهد شد که منجر به بسیاری از سبک های یادگیری خود است، اما اگر وجود دارد هر چیزی من می توانید انجام دهید، اجازه دهید من می دانم. در امتداد آن خطوط، اگر می خواهید به کمک برخی از با مجموعه ای مشکل، من بیشتر هستم از کمک به شما خوشحال با مجموعه ای مشکل است. ما قصد داریم برای انجام بسیاری از که به سمت دوم نیمی از این بخش. اما اگر مشکل شما را نمی خواند مجموعه پشت و به تماشای راه رفتن نیست از طریق و تماشا شورت و انتظار من به شما یاد می دهد همه چیز است که ضبط شده است آنلاین یا که شما می توانید در CS50 مطالعه، که واقعا منصفانه نیست من و یا به شماره های دیگر خود را. پس لطفا، من بیش از شاد برای کمک به شما، اما شما بچه ها رو به من ملاقات عمق استفاده کنه. ما تن از منابع شما در CS50 در دسترس است. من با اشاره به برخی از آنها. لطفا برای استفاده از آنها اینجا را کلیک کنید. اگر شما در حال اشتباه، من بیش از شاد هستم برای کمک به آنها در توضیح راه دیگری، اما این منصفانه نیست اگر دانش آموزان نشان می دهد تا در ساعات اداری، هر چیزی شروع نشد، و آن را پنجشنبه شب و آنها در حال انتظار TF به آنها راه رفتن را از طریق تک تک چیزی که برای این مشکل را به دلیل در ظهر روز بعد. را حس؟ باز هم، لطفا به ملاقات با ما را در وسط. و در نهایت، انتظارات بالا. من قصد دارم به همه درجه بندی که در بخش من، یا خود را به ثمر رساند مجموعه مشکل. شما رفته اند نیست مشکل مجموعه صفر یا یک است. ما در مورد آن پوزش می طلبیم. ما را چندی به در نهایت حل و فصل بخش، و در حال حاضر ما می توانیم درجه بندی را شروع می شود. من آنها را دوباره به شما در اسرع وقت. کسانی که برخی از من advisees خارج وجود دارد. من آنها را دوباره به شما در اسرع وقت. و برای مجموعه مشکل دو، ما را در برنامه ریزی و خواهیم شروع به گرفتن آنها به شما بسیار به سرعت پس از شما آنها را تبدیل شوید. هنگامی که شما مشکل خود را به عقب، شما نمرات را دریافت کنید، همانطور که شما می دانیم خواندن برنامه درسی - صحت، طراحی، دامنه، و سبک نمرات. شما همچنین می خواهید نظر دریافت کنید. این سایت در مقابل نظرات و پیشنهادات از اهمیت بیشتری برخوردار هستند از نمرات. من فکر می کنم که می گویند که آن را بی خطر است. نمرات فقط یک عدد از یک تا پنج. آن را سخت به خواندن به آن است. آن را سخت به بهبود از کسانی است. اما نظر اشاره خاص چیزهایی که شما را به خوبی و یا مناطق شما می تواند به بهبود و برخی از شما را ایده هایی برای آینده و یا جایگزین راه انجام کارهاست. پس لطفا، لطفا، لطفا به عنوان خوانده شده از طریق نظرات. من زمان زیادی را به کسانی که نظرات. لطفا برای خواندن از طریق آنها و نه فقط اینجا را کلیک کنید در پایین حرکت به پایین مشاهده در قالب پی دی اف، برای نمره خود را نگاه کنید، و یا رفتن (آنلاین) و نمره خود را، و پس از آن چشم پوشی نظرات. این که چگونه شما نیست رفتن به بهتر است. که نیست که چگونه شما در حال رفتن به افزایش نمرات خود را در نهایت، فقط با نگاه کردن به نمرات. لطفا نگاهی به این نظر. و در امتداد خط از انتظارات بالا، دوباره، مثل من گفت، شما می تواند از یک تا پنج به ثمر رساند. Twos، threes، و چهار دست و پا اکثریت قریب به اتفاق از نمرات شما در حال رفتن به گرفتن. آنهایی که و پنج هر دو واقعا نادر است. همیشه چیزهایی وجود دارد. ما می توانیم بهتر کار کنیم. هر زمان که من کد برنامه وجود دارد همیشه چیزی می توانست بهتر انجام می شود. بنابراین به جای گفت شما یک پنج تمام وقت بر روی همه چیز و همه چیز کامل است، من فکر نمی کنم از ما واقعا بر این باورند که ما - و یا امیدوارم، ما همه چیز را نمی کامل تمام از زمان. پس وقت را نگران نمی شود اگر شما پنج می کنید. پنج بر روی نقشه، چهار بر روی B نقشه، سه می کند نقشه را بر روی C. نیست چگونه، نمرات کار می کنند. مانند دیوید بارها گفته است، در پایان ترم تمام نمرات خود را و ورودی از من، TF خود را، گرد هم می آیند و تعیین درجه نهایی برای شما. اما دوباره، پنج، A، چهار، B، و غیره. بنابراین من قصد دارم به انتظارات بالا برای شما بچه ها. من قصد دارم به انتظار مشکل خوب مجموعه و من قصد دارم به من بدهید شما به عنوان مثل بازخورد. و آن را به این معنا نیست شما رفتن به دریافت یک درجه بدتر است. شما در حال از لحاظ درجه بندی پیشرفت خود را از هفته صفر به انتهای البته. و در نهایت، در نظر بالا انتظارات در کلاس، من دوست دارم زمانی که مردم شرکت می کنند. من درک می کنم بعضی از مردم احساس می کنند بیشتر یا راحت کمتر مشارکت داشته اند. دیگر از مردم شرکت کننده نه با بالا بردن دست خود را و صحبت کردن در تمام وقت. اما ما در این کلاس در حال رفتن به انجام بسیاری از مشکلات کوچک، بسیاری از پرسش های کوچک، و سپس برخی از بزرگتر برنامه نویسی مشکلات. بنابراین قطعا این تمرینات کار کردن هنگامی که ما آنها را بر روی کامپیوتر خود و یا در یک ورق کاغذ. اما من نیز به شما برخی از زمان قبل از کسی تا کنون به پاسخ برخی از سوالات من بپرسید. بنابراین به این دلیل من به شما برخی از زمان را به در مورد آن فکر می کنم، چرا که ما در حال رفتن را به انجام کارهای در شرکای گاهی اوقات، من همه انتظار تا حدودی درگیر است. و برای عدم از یک مدت بهتر، وجود دارد احتمالا خواستار سرد، که جایی است که همه شانس در مورد این پاسخ فکر می کنم، و پس از آن من به تو می خوانند، و پس از آن شما پاسخ می گویند. نگران نباشید و یا در مورد آن می ترسم. من آن را در گذشته انجام داده ایم و ما پیدا کرده ام که آن را بسیار موفق تر، همچنین تحقیقات آموزشی در آن را به خواندن تعیین اینکه آیا یا نه آن بود تاکتیک خوب است. این بسیار مفید است، به خصوص اگر شما به دانش آموزان هم به فکر کردن در مورد پاسخ و نمیدهیم، آنها را تنها می آیند خارج و به آن می گویند حق کردن خفاش. اما اگر شما احساس راحت نیست پاسخ، من نیز خیلی خوب در سنجش از آن، و ما در حال رفتن به شما در نقطه ای قرار داده است، به خصوص در دوربین، هرچند هیچ یک از شما را بر روی دوربین در حال حاضر می باشد. بنابراین کسانی که هنجارهای من. یک چیز بیشتر در امتداد خطوط ملاقات در عمق دفاع حریف،. من قصد دارم به شما بچه ها را بسیاری از بازخورد. لطفا انتقادات و پیشنهادات من را به عنوان. یک وب سایت وجود دارد، sayat.me/cs50. پس از آن بازخورد صادقانه است. اگر شما می خواهید آن را در طول بخش، من یک ایمیل دریافت کنید هر زمان که آن اتفاق می افتد. ما استراحت در یک بیت است، پس من نگاه را از طریق بازخورد. اگر شما تا به حال هر گونه بازخورد، لطفا آن را به من بدهد وجود دارد. اگر شما به من بازخورد در Q، که فوق العاده است، اما این راهنمای که شما در پایان انجام دهد. اما این را در پایان ترم من قادر نخواهد بود به هر یک از آن بازخورد و تبدیل آن به آموزش شما بچه ها بهتر است. پس لطفا، اگر شما هر گونه بازخورد، آن را به من می دهد. من عاشق بازخورد. بازگشت به FOP، ما بازخورد تمام وقت. شما می توانید به من علامت +، همه چیز خوب است، دلتا، چیزهایی که من می تواند بر بهبود بخشد. شما می توانید بر روی لباس های من تایپ کنید. که نمی خواهد به عنوان مفید، اما شما خوش آمدید به اظهار نظر در مورد هر و همه چیز. لطفا، لطفا انتقادات و پیشنهادات به من بدهد. من آن را ارزش زیادی و آن به معنای زیادی به من. یک هنجار بیشتر سرگرم کننده است. ما قصد داریم به مقدار زیادی از سرگرم کننده است. امیدوارم در این دوره، شما بسیاری از سرگرم کننده است. ما به آب نبات در بخش داشته باشد. ما موسیقی را داشته باشند. ما خواهد شد امیدوارم آشنا شدن با دیگر تا حدودی خوب، بنابراین من می خواهم این را سرگرم کننده، درگیر شدن تجربه. من می دانم که برخی از شما به خواب کاهش یافته است سخنرانی امروز قبل از شما تا به حال، بنابراین امیدوارم که نمی خواهد مورد در حال حاضر. و اگر این مورد در حال حاضر، فقط خروپف نکنید چون که ممکن است در دوربین گرفتار شده است. شیرین. هر گونه سؤال، نظر، و یا نگرانی قبل از من در مورد هر چیزی که حرکت می کند ایم صحبت در مورد؟ بزرگ است. بنابراین ما قصد رفتن به آرایه اول. این است که چگونه شما را به یک آرایه. ما پیش از این دیده ایم. شما باید یک نوع داده، شما باید نام، و سپس شما باید یک اندازه است. حال در اینجا، من ایجاد دو آرایه است. اول یک آرایه ای از کاراکتر ها است، و آن را تا 26 فضاهای. دوم یک آرایه است نمرات، و آن را تا سه فضاهای برای سه عدد صحیح. بله؟ دانشجو: آیا همه از این اسلاید ها در دسترس جایی برای ما؟ JASON HIRSCHHORN: سؤال بسیار خوبی است. سوال این بود، همه از این اسلاید در دسترس است؟ بله. همه از این اسلاید ها در دسترس خواهد بود، و در آینده، من آنها را به ایمیل شما قبل از بخش. اما امروز، به دلیل این است که اولین هفته، ما شروع دیر بود. معمولا، شما این اسلاید را دریافت کنید، اما آنها را به صورت آنلاین در دسترس است و من آنها را برای شما ایمیل درست بعد از کلاس. هر گونه سؤال دیگر؟ بنابراین دوباره، آرایه جعبه، برای فقدان یک کلمه بهتر است، که نگه چندگانه عناصر از یک نوع داده، و آنها در کنار یکدیگر در حافظه. پس بار دیگر، این است که چگونه می توانید دو نوع از آرایه ها. بنابراین بعد از اینکه شما آرایه خود را با ساخته شده است که اولین خط ها - نمرات هوشمند، براکت سه، براکت نزدیک - شما می خواهم آن را مقداردهی اولیه. شما می خواهید برای قرار دادن برخی ارزش ها در آن وجود دارد. و این است که چگونه شما برخی از ارزش ها در وجود دارد، فقط انتخاب شاخص و نوشتن عدد. بیایید این قرعه کشی در هیئت مدیره. همه می بینند؟ همه می توانید ببینید. شیرین. به طوری که به من آرایه به نام نمرات. همانطور که می بینید، آن را به اندازه سه. سه جعبه در وجود دارد وجود دارد. هر کس نمی تواند مناسب چه نوع نوع داده؟ دانشجو: صحیح. JASON HIRSCHHORN: عدد صحیح در این یکی. ما نمره هوشمند، و اولین کلمه نوشت نوع داده که رفتن به در جعبه که در آن آرایه. بنابراین من می تواند سه جا داد. چرا صفر من وجود دارد در هیئت مدیره؟ چرا آن را می گویند نمره صفر برابر با 1 است؟ نام خود را یادآوری کنم. دانشجو: کورت. JASON HIRSCHHORN: کورت. دانش آموزان: بله. JASON HIRSCHHORN: چرا؟ دانشجو: از آنجا که شاخص اول است صفر، ما شروع به شمارش صفر. JASON HIRSCHHORN: بنابراین ما شروع به شمارش صفر. که دقیقا درست است. این قسمت گیج کننده و سفر شما، به ویژه هنگامی که شما تلاش برای تکرار از طریق آرایه، که ما را در کمی انجام دهد. ما شروع به شمارش صفر. پس اگر من می خواهم برای اشاره به اول جعبه، جعبه یکی نیست. متاسفانه، آن را جعبه صفر است. دوم جعبه یکی است، و در این مورد، یک سوم کادر دو است. چه در مورد جعبه سه؟ جعبه سوم کجاست؟ یا اگر من می خواهم به نمرات، براکت سه، براکت نزدیک، آنچه که؟ بنابراین شما گفت: دخشه پوچ. هر گونه اندیشه دیگر؟ نمره سه براکت براکت چیست؟ دانشجو: این واقعا وجود ندارد چون شما فقط به عنوان نمرات تعریف شده است، براکت سه. JASON HIRSCHHORN: بنابراین شما می گویند آن واقعا وجود داشته باشد. در برخی موارد، زمانی که ما در حال برخورد با رشته ها، به طور کلی ما می خواهیم یک NULL قرار داده است شخصیت در پایان. ما را به که در دوم دریافت کنید. اما در این مورد وجود دارد، هیچ جعبه سوم این است در اینجا. بنابراین آخرین جعبه در هر آرایه اندازه منهای 1 می باشد. بنابراین اگر ما یک آرایه از نفر اندازه، جعبه اول صفر است، یکی از آخرین در N منهای 1. و در این مورد، وجود ندارد. چیزی است که در اینجا وجود دارد حافظه اما مال ما نیست. ما آن را خود را ندارد. ما برای آن را بپرسید. بنابراین اگر ما سعی می کنیم به آن دسترسی داشته باشید، که ما کار در یک بیت، ما احتمالا رفتن به دردسر دریافت کنید. در این مورد، من مقدار دهی اولیه من آرایه با سه متغیر. ما در حال قرار دادن یک در جعبه صفر، دو در جعبه یک، و سه در جعبه دو. آیا هر کسی هر گونه سوال در مورد مقدار دهی اولیه آرایه؟ بنابراین ما بیش از این فقط در حال حاضر رفت. نمرات، سه براکت، براکت نزدیک، که وجود ندارد. ما به صفر در علم کامپیوتر نمایه بنابراین ما شروع به شمارش صفر. جعبه گذشته در دسترس ما، آن است که جعبه سوم است، اما آن را به جعبه نامیده می شود شماره دو. به پایین، این یک جایگزین است راه مقدار دهی اولیه آرایه. بنابراین به جای ایجاد آرایه در یک خط، پرکردن کادر اول، و سپس جعبه دوم، و سپس جعبه سوم، شما می توانید آن را همه در یک خط انجام دهد. بنابراین در این خط، هر دو آرایه. این ایجاد آرایه دقیق همان آنچه ما ایجاد حق در اینجا، اما آن را فقط آن را در یک خط می کند. در حال حاضر ما آرایه ما آفریده شده است. معمولا یک بار یک آرایه را ایجاد می کنید، شما می خواهم به انجام کاری با آن، اعم از که آن را پر کنید و یا کارها خارج از آن و آنها را به نسخه قابل چاپ کردن بر روی صفحه نمایش. در این مورد، ما قصد داریم از طریق ما آرایه نمرات، که ما در مقداردهی اولیه خط اول تا اینجا در خاکستری. و سپس در خط دوم، ما شروع تکرار را از طریق آرایه. آیا هر کسی هر گونه سوال در مورد ساختار برای حلقه؟ بنابراین این حلقه for است. ما باید شرایط اولیه ما، و سپس وضعیت نهایی ما، و پس از آن ما تکرار، من، هر حلقه. و در آکولاد در این حلقه، چه اتفاقی می افتد اگر من به اجرا این برنامه؟ آیا می توانم هر کسی به من بگویید که چه ما را دریافت کنید؟ [؟ Matu؟ ؟] MATU: نسخه قابل چاپ همه نمرات در هر خط. هر نمره چاپ در یک خط جداگانه. JASON HIRSCHHORN: دقیقا چه آن را چاپ کنید؟ دانشجو: این امر یکی از چاپ، پس از آن دو، سپس سه. JASON HIRSCHHORN: دقیقا. این امر، پس از آن دو، پس از چاپ سه، هر یک در خطوط جداگانه، به دلیل ما قصد داریم از طریق آرایه و شما می بینیم که دوم، چون printf بیانیه، نمرات. بنابراین در اولین دور از طریق ما برای حلقه، من صفر برابر، که به معنی ما گرفتن مقدار در نمره صفر - که اگر ما به عقب برویم نمودار ما، یکی است - و پر - آه، آن را می گوید. است که باید از٪ d باشد. من برطرف خواهد شد که در یک بیت که من دست که به شما بچه ها. اما ما در حال ارائه یک عدد صحیح پس از آن باید٪ d به حق در اینجا، نه٪ ج. چه٪ ج برای است؟ دانشجو: شخصیت. JASON HIRSCHHORN: شخصیت، دقیقا. یکی دیگر چیست؟ اگر شما نمی خواهید برای انجام٪ d برای عدد صحیح، چه چیز دیگری می توانید انجام دهید؟ دانشجو: من. JASON HIRSCHHORN:٪ من، دقیقا. بنابراین هر گونه سوال در مورد تکرار از طریق آرایه؟ پس چه اتفاقی می افتد اگر ما این کار؟ به جای انجام من کمتر از سه، ما می توانم کمتر است از یا برابر با سه. هنگامی که ما برای اجرای این کد چه اتفاقی می افتد؟ بله، آنی؟ دانشجو: آنها در حال رفتن به نسخه قابل چاپ کردن چیزهای عجیب و غریب در خط چهارم. JASON HIRSCHHORN: بنابراین شما گفت، آن است که رفتن به نسخه قابل چاپ کردن چیزهای عجیب و غریب خط چهارم؟ آیا کسی یک پاسخ سوال خود را؟ بنابراین شانس هستند که هنگامی که ما به - در دور چهارم از طریق ما حلقه، درست مثل شما فکر می کنید، آنی، آن خواهید بود نمرات براکت سه، که ما در حال حاضر نمیفهمد نمی وجود داشته باشد، و ما قصد داریم را امتحان کنید و دسترسی به آن، آن را چاپ از، استفاده از آن برخی از راه. بنابراین کامپیوتر احتمالا دیوانه در ما. شما دقیقا حق با شماست. این ممکن است برنامه را ترک کنید. این ممکن است به نسخه قابل چاپ کردن چیزی واقعا عجیب و غریب است. شما نمی توانم با اطمینان بگویم. شانس آن را احتمالا عصبانی شما و فقط ترک حق دور. اما این یک اشتباه معمول است شما باید که در آن شما در حال درست کردن توسط یکی در پایان است، و این یک اشکال است که خواهد شد شما در طول برنامه نویسی خود را طاعون. یکی از راه من می خواهم به انجام این است که فقط در تخته سفید، از طریق هر تکرار از حلقه در دست و یا بر روی کاغذ برای دیدن آنچه اتفاق می افتد، و سپس شما به طور کلی درک، آه صبر کنید، من نباید به کمتر از یا رفته به سه برابر. من باید در دو متوقف شد، که چه اتفاقی می افتد اگر وضعیت شما کمتر است از سه. هر گونه سؤال تا کنون؟ شیرین. پس همه شما باید کامپیوتر خود را باز. ما قصد داریم تا شما را دو تا سه دقیقه به نوشتن یک برنامه که ایجاد یک آرایه با اعداد صحیح از طریق پنج و پس از آن چاپ هر عدد صحیح در یک خط جدید. و اگر شما هر گونه سوال، دست خود را بالا می برد. من خوشحال هستم به. من می خواهم گفت، اجازه دهید سه دقیقه به نوشتن این. آیا همه OK اگر من به پنجره جدید و بسته؟ من متاسفم اگر شما یک شانس را نداشته اند را به پایان برساند، اما ما در حال رفتن به آن را انجام دهد با هم در حال حاضر. بنابراین تا بر روی صفحه نمایش، من # شامل cs50.h، # شامل stdio.h. آیا کسی به من بگویید که چه این دو خط انجام دهید؟ مایکل؟ دانشجو: آنها شامل کتابخانه ها که CS50 ساخته شده است و که استیو ذخیره شده برای شما به استفاده از زندگی خود را آسان تر است. JASON HIRSCHHORN: بنابراین شما گفت که آنها شامل کتابخانه ها، یکی که CS50 ساخته شده است، cs50.h، و یک است که فقط استاندارد، همراه با بسته C، stdio.h. شما چه معنی شامل کتابخانه ها، هر چند؟ می تواند شما را کمی خاص تر است؟ دانشجو: این باعث می شود آن را به طوری که شما می توانید استفاده از برخی کلمات کد را به عمل اتفاق می افتد بدون نیاز به رفتن و تابع خود را. JASON HIRSCHHORN: آیا می توانم به شما من یک مثال بزنم؟ دانشجو: مانند چون printf شما می توانید استفاده کنید. JASON HIRSCHHORN: چون printf است. بنابراین شما گفت چون printf یکی از کسانی است توابع که در آن به جای اینکه به نوشتن چون printf در خود تغییر دهید، چون printf در واقع در stdio.h، بنابراین شما فقط می توانید از آن استفاده کنید و فرض که آن کار خواهند کرد. در stdio.h، اگر شما باز کردن آن فایل، آن را شامل نحوه چون printf آثار، همه از کد برای printf؟ چرا شما با تکان دادن سر خود را؟ دانشجو: از آنجا که فایل هدر شامل تابع اعلامیه. JASON HIRSCHHORN: دقیقا درست است. فایل هدر فقط شامل اعلان تابع. بنابراین اساسا، هنگامی که شما این کامپایل، آمار تعداد را، که ما را در انجام دوم، کامپایلر می داند که اگر شما با استفاده از چون printf، چون printf وجود دارد. این رفتن به جایی تعریف می شود. این مشکل را برای شما با استفاده از آن نیست. و سپس در دوران بعدی، آن را شامل آنهایی که یک و صفر است که در واقع شامل پیاده سازی و در چون printf ادغام آنها با کد شما. چگونه می توانم شما مطمئن شوید که آن را شامل آنهایی که یک و صفر، می گویند، رشته؟ دانشجو: رشته cs50.h. است JASON HIRSCHHORN: راست. به طوری که می گوید: رشته وجود دارد، اعلان تابع. اما پس از آن و صفر، باینری فایلی که در واقع شامل اجرای رشته get برای شما؟ چگونه می توانم شما مطمئن شوید که می رود با برنامه های خود را؟ دانشجو: رمز عبور لینکر در آرگومان خط فرمان. JASON HIRSCHHORN: رمز عبور لینکر در بحث خط فرمان. چگونه می توانم شما انجام دهد؟ دانشجو:-L خط در صدای جرنگ جرنگ JASON HIRSCHHORN: دقیقا درست است. شما می گویید-L cs50، درست است؟ که شامل یک و صفر. دانشجو: اما مطمئن می کند که برای شما، درست است؟ JASON HIRSCHHORN: دقیقا. را می کند که برای شما، اما در نهایت، شما را نمی خواهد، و یا شما باید به سایت مورد نظر خود را در خود تغییر دهید، به طوری که در چیز خوبی به یاد داشته باشید. اگر شما قصد استفاده از یکی از این کتابخانه های دیگر، نه تنها شما باید برای نوشتن # شامل و سپس کتابخانه. شما همچنین نیاز به آن لینک شوید. و این دو چیز متفاوت هستند. -L cs50 متفاوت است از # شامل cs50.h. سپس ما را از درجه اعتبار ساقط اصلی اعضای هیات آکولاد، و در حال حاضر ما در حال رفتن به کد در داخل اصلی. خط اول من در اینجا یک «دیدگاه» است که می گوید، ایجاد یک آرایه با یک نوع داده int از طریق پنج. چه واژه خوبی برای توصیف آنچه که من است در حال حاضر بر روی صفحه نمایش، فقط نظرات در داخل اصلی؟ چه با ما تماس بگیرید؟ دانشجو: شبه. JASON HIRSCHHORN: شبه. با تشکر از شما، جفری. که دقیقا حق است. شبه. آیا شما بچه ها قبل از شبه دیده می شود؟ بالا بردن دست خود را اگر شما استفاده کرده اید شبه قبل از مشکل یک مجموعه. در حدود نیمی از شما. من به شدت توصیه با استفاده از شبه به شکستن مشکلات را به کوچکتر، آسان تر به نیش کردن قطعات. همچنین، اگر شما انجام شبه، شما نظرات خود را در حال حاضر تا حد زیادی ساخته شده در سال، به طوری که شما را به ندارد به عقب برگردید و سعی کنید به شکل از آنچه شما انجام می دهند. بنابراین می تواند کسی به من این خط اول را برای ایجاد یک آرایه با یک نوع داده int از طریق پنج؟ شما؟ دانشجو: int و سپس شما می توانید تماس بگیرید هر تعداد، و سپس مربع براکت پنج. JASON HIRSCHHORN: اعداد بنابراین اعضای هیات، مربع براکت پنج. دانشجو: برابر، و سپس آکولاد. JASON HIRSCHHORN: برابر، آکولاد. دانشجو: یک، دو، سه، چهار. JASON HIRSCHHORN: یک، دو، سه، چهار، پنج. دانشجو و سپس آکولاد و پس از آن نقطه و ویرگول بدین. JASON HIRSCHHORN و مجعد پرانتز و نقطه و ویرگول بدین. بسیار عالی است. نسخه قابل چاپ کردن هر یک از اعضای هیات در یک خط جدید. آیا می توانم کس دیگری را من که کد، لطفا؟ [؟ Matu؟ ؟] برو جلو. دانشجو: ( JASON HIRSCHHORN: برای ( دانشجو: اعضای هیات من = 0 JASON HIRSCHHORN: اعضای هیات من = 0 دانشجو: نقطه و ویرگول بدین شکل من کمتر از پنج. JASON HIRSCHHORN: نقطه و ویرگول بدین شکل، من کمتر از 5. دانشجو: نقطه و ویرگول، + +. JASON HIRSCHHORN: نقطه و ویرگول، + +. دانشجو: پرانتز بسته، پس از آن بریس باز. JASON HIRSCHHORN: پرانتز بسته و دو پرانتز. در داخل پرانتز؟ دانشجو: و پس از آن چون printf "٪ D / N" JASON HIRSCHHORN: با عرض پوزش، در انتظار. چون printf "٪ D / N، اعلان بسته. دانشجو: و پس از آن اعلان بسته، کاما، تعداد، براکت من. JASON HIRSCHHORN: کاما، تعداد براکت I. دانشجو: با عرض پوزش، شماره براکت. JASON HIRSCHHORN: اعداد، براکت من. دانشجو: با عرض پوزش. و پس از آن بسته پرانتز، نقطه و ویرگول بدین شکل است. JASON HIRSCHHORN: بسته پرانتز، نقطه و ویرگول بدین شکل. من قصد دارم برای صرفه جویی در آن. ما قصد داریم به تعداد. و چگونه شمارش را اجرا کنم؟ دانشجو: ممیزوارونه. دانشجو: نقطه جلو بریده بریده - JASON HIRSCHHORN: / تعداد دفعات مشاهده، دقیقا. متشکرم. / تعداد دفعات مشاهده شده. یک، دو، سه، چهار، پنج در خطوط جدید. به نظر می رسد مانند آن را کار کرده است. بله، نوح؟ دانشجو: شما همچنین می تواند کمتر یا انجام به چهار برابر، مثل من کمتر از یا به چهار برابر است؟ آیا هیچ مزیت و کمتر کار وجود دارد از پنج، و یا فقط به راه های مختلف نوشتن آن؟ JASON HIRSCHHORN: بنابراین سوال شما می تواند انجام داده اند من کمتر یا برابر با چهار جای من کمتر از پنج است. آیا که همان کار کرده اند؟ دانشجو: باید. JASON HIRSCHHORN: بله. آن را کاملا می توانست همین کار را. سبک نگارش، آن را به طور کلی کمتر از، و شما در یک دوم زمانی که ما رشته ها، شما می توانید چیزی استفاده نام strlen، که شما را دیده ام قبل از آن، برای به دست آوردن طول رشته. و شما نمی توانید کمتر از یا strlen برابر. شما می توانید کمتر یا انجام برابر منهای strlen یک. پس از آن فقط بهتر انجام کمتر از strlen است. بله؟ دانشجو: و در واقعی آزمونها، انجام ما باید به ارائه نظر در مورد ما کد به عنوان خوبی؟ JASON HIRSCHHORN: سوال در آزمونها، شما انجام دهد باید فراهم نظر؟ بنابراین خواهیم بیشتر در مورد آزمونها وقتی که صحبت آنها می آیند، اما به طور کلی، خوب قاعده کلی این است که هر زمان که شما هستید نوشتن کد، ارائه نظرات. اگر شما کد اشتباه است اما نظر به راست، شما ممکن است برخی از اعتبار هر دو از من بود اگر من درجه بندی شما را در یک مجموعه یا مشکلی در مسابقه. بنابراین نظر همیشه خوب برای ارائه. شیرین. تعداد دفعات مشاهده شده. کار عالی است. اجازه دهید. رشته ها. رشته ها. ما پیش از این در سخنرانی را دیده ام. این منفجر ذهن من وقتی که من برای اولین بار از این یافت می شود. این احتمالا ضربه نه کسی مهم در اینجا، اما این خوب است. رشته ها آرایه از کاراکتر ها، و آنها با پایان، همانطور که شما قبلا هم گفتم، نابودگر تهی، که این شخصیت / 0 است. اگر می خواهیم برای رسم یک رشته در هیئت مدیره، ما آن را در اینجا قرعه کشی. بنابراین این رشته چقدر است؟ متأسفم. این رشته چقدر است؟ دانشجو: [نامفهوم]. JASON HIRSCHHORN: چهار؟ و چرا از آن چهار؟ دانشجو: از آنجا که نقطه پنجم برای شخصیت تهی است. JASON HIRSCHHORN: بنابراین نقطه پنجم برای شخصیت تهی است. بنابراین اگر من به اجرا strlen این، آن را به من چهار. درست است. و آرایه، هر چند، اگر من به مقداردهی اولیه این آرایه، چگونه بسیاری از فضاهای من برای درخواست؟ به STUDENT: پنج. JASON HIRSCHHORN: پنج. من می خواهم که به مدت پنج بپرسید، اما من می توانم تنها چهار حرف در اینجا قرار داده چون من نیاز به قرار داده است که تهی نابودگر در پایان. بنابراین ما در حال رفتن به نوشتن در "ohai" است و قرار دادن نابودگر تهی در پایان. ما می گویم این رشته است این برابر است. براکت صفر چیست؟ براکت صفر، آنی؟ دانشجو: O. JASON HIRSCHHORN: O، دقیقا. براکت یکی؟ براکت پنج؟ براکت پنج؟ دانشجو: وجود ندارد. JASON HIRSCHHORN: وجود ندارد. دقیقا درست است. سرد است. هر گونه سؤال در مورد درک رشته به عنوان آرایه از کاراکتر؟ خوب، پس از آن. یکی از این برنامه ها بیشتر برای شما بچه ها. نوشتن یک برنامه است که کاربر می پرسد برای یک رشته و سپس چاپ هر شخصیت در یک خط جدید. بنابراین اجازه را سه دقیقه برای نوشتن این برنامه، و سپس ما آن را کد کنید به عنوان یک گروه. متأسفم. آیا شما نیاز دارید که برای دیدن این؟ دانشجو: شماره JASON HIRSCHHORN: OK. بیایید یک دقیقه بیشتر به این کد، یا حداقل بر روی آن آغاز شده است. بنابراین شما می توانید نگه دارید کار می کند، اما من قصد دارم برای شروع به رفتن را از طریق آن. بنابراین قبل از دوست، من را بر روی صفحه نمایش # شامل cs50.h، # شامل stdio.h. اعضای هیات از درجه اعتبار ساقط اصلی. در داخل آکولاد اصلی، من دو نظر، شبه. یکی این است که برای یک رشته از کاربر بخواهید. دومین نسخه قابل چاپ کردن هر شخصیت در یک خط جدید. بنابراین آنا، می تواند شما را برای من بپرسید برای یک رشته از کاربر؟ دانش آموز: چون printf. JASON HIRSCHHORN: چون printf؟ دانش آموزان: بله. ( JASON HIRSCHHORN: ( دانشجو: "یک رشته را به من بدهید. JASON HIRSCHHORN: "را من خ - اوه - رشته است. دانشجو: / N ") نقطه و ویرگول بدین. JASON HIRSCHHORN: پایان دادن به رشته، پرانتز بسته، نقطه و ویرگول بدین. دانش آموزان: بله. و سپس خط بعدی، رشته S = رشته. JASON HIRSCHHORN: رشته S = رشته. دانش آموزان: بله. و سپس () JASON HIRSCHHORN: () دانشجو: نقطه ویرگول. JASON HIRSCHHORN: نقطه و ویرگول بدین شکل. فوق العاده است. بنابراین من قصد دارم برای به دست آوردن یک رشته و من قصد دارم آن را در آنچه را نجات دهد؟ متغیر به نام که ایجاد کرده اید؟ دانشجو: رشته s. JASON HIRSCHHORN: متغیر نامیده میشود. این نوع رشته است. دقیقا. چیزی که بعد از ما می خواهید نسخه قابل چاپ کردن هر یک از شخصیت در یک خط جدید است. چه کسی می تواند به من که کد می دهد؟ [نامفهوم]؟ می تواند به شما آن را به من بدهد؟ دانشجو: مطمئنا. JASON HIRSCHHORN: بیایید آن را انجام دهد. و متاسفم. من دوست ندارم به تکرار آنچه به شما می گویند دلیل این که شما در حال گرفتن حق، اما من باید آن را تکرار کنید به طوری که زمانی که آنها در رونویسی این، آنها می توانند تمام از متن در رونوشت. بنابراین شما فقط می توانید صحبت کردن نگه می دارد. متاسفانه، من به آن را بیش از شما می گویند. متاسفم، اما - دانشجو: این خوب است. برای اعضای هیات من = 0 JASON HIRSCHHORN: برای اعضای هیات من = 0 دانشجو: من کمتر از - JASON HIRSCHHORN: نقطه و ویرگول بدین شکل. دانشجو: پیش از این، می تواند ما را به متغیر، بنابراین شما می توانید نام طول نوع int؟ JASON HIRSCHHORN: آه، شما نمی کنند می خواهم برای قرار دادن نقطه و ویرگول بدین؟ OK را بزنید. بنابراین چه چیزی شما بخواهید پس از صفر تا انجام دهد؟ دانشجو: من می خواهم به طول رشته و مجموعه ای که به یک متغیر؟ JASON HIRSCHHORN: خوب، پس چگونه می توانم انجام دهم؟ دانشجو: بنابراین شما در طول نوع int = JASON HIRSCHHORN: INT طول = دانشجو: S-T-R-L-E-N. JASON HIRSCHHORN: S-T-R-L-E-N - دانشجو: بازدید کنندگان. براکت. JASON HIRSCHHORN: (بازدید کنندگان). دانشجو: من فکر می کنم شما را به قرار دادن یک نقطه و ویرگول بین دو نوع داده int. JASON HIRSCHHORN: نقطه و ویرگول بدین پس از صفر؟ دانشجو: آره. سپس یک نقطه و ویرگول پس از آن قرار داده است، و به شما می گویند، من کمتر از طول. من کمتر از طول، که متغیر است. دانشجو: و پس از آن نقطه و ویرگول بدین. JASON HIRSCHHORN: نقطه و ویرگول بدین شکل. دانشجو: من + +. JASON HIRSCHHORN: من + +. حلقه برای ما وجود دارد. خوب، در داخل حلقه for. دانشجو: و پس از آن انجام چون printf. JASON HIRSCHHORN: چون printf است. دانشجو: براکت. JASON HIRSCHHORN: پرانتز، به نقل از. دانشجو: پرانتز، به نقل از،٪ C / N. JASON HIRSCHHORN:٪ C، OK را بزنید. دانشجو: / N. JASON HIRSCHHORN: / N. دانشجو: به نقل از بسته. JASON HIRSCHHORN: نقل قول بسته. دانشجو: با کاما. JASON HIRSCHHORN: کاما. دانشجو: S. JASON HIRSCHHORN: S. دانشجو: براکت من. JASON HIRSCHHORN: براکت من. دانشجو: پرانتز و پس از آن بسته شده است. JASON HIRSCHHORN: پرانتز بسته. دانشجو: و پس از آن نقطه و ویرگول بدین. JASON HIRSCHHORN: نقطه و ویرگول بدین شکل. فوق العاده است. بنابراین صرفه جویی در این اجازه. را طلسم. آه پسر. من یک زن و شوهر از خطا. اولین خطا در خط 11، آن را می گوید، انتظار می رود بیان، و آن را دادن من خطا که دوم هوشمند، خطا وجود دارد. برخی از خطا در اطراف وجود دارد وجود دارد. آیا کسی می داند چه خطا این است که؟ کورت؟ دانشجو: من فکر می کنم آن طور که باید می شود یک کاما و یک نقطه و ویرگول. JASON HIRSCHHORN: خوب، کاما از هم به جای آن از یک نقطه و ویرگول بدین. به طوری که همه ما نیاز به تعمیر؟ دانشجو: شماره JASON HIRSCHHORN: چه چیز دیگری آیا ما نیاز به تعمیر؟ دانشجو: ما باید شامل string.h. JASON HIRSCHHORN: شامل string.h. از کجا می توانم نیاز است که عبارتند از:؟ دانشجو: محل همان شما از جمله چیزهای دیگر، درست است پس از عبارتند از: stdio.h. JASON HIRSCHHORN: بیایید ببینیم که اگر این اجرا می شود اول به دلیل به طور کلی، من دوست دارم برای رفع یک چیز اول، و سپس اجرا آن، و سپس ببینید که اشتباهات ما دریافت می کنید. بنابراین ما قصد داریم برای روشن شدن ترمینال با کنترل N، اجازه دهید را طلسم. بنابراین یکی دیگر از خطا در خط 11. انتظار می رود نقطه و ویرگول بدین. و من هنوز هم گرفتن خطاها را بر روی این خط. پس از آن به من داده نشده خطا گفت آن را درک نمی کنند چه strlen است، اما آن را به من خطاها را بر روی این خط، بنابراین چه چیز دیگری اشتباه است؟ علامت گذاری به عنوان؟ مارکوس. از STUDENT: آیا شما باید برای حذف بیانیه دوم مثال، int؟ JASON HIRSCHHORN: حذف بین المللی دوم. بیایید سعی کنید این. حال حاضر ترمینال روشن. را طلسم. خطا. به طور ضمنی اعلام کتابخانه تابع strlen. بنابراین در حال حاضر ما این خطا را مشاهده کنید. چه ما نیاز داریم که شامل؟ دانشجو: String.h. JASON HIRSCHHORN: شامل string.h، ما می خواهیم انجام # شامل string.h در بالای صفحه نمایش. اجازه دهید را ذخیره کنید، بهترین استفاده را طلسم. حالا وارد شده است. تا دوباره، چیزهایی که ما نیاز خط 12 به یاد داشته باشید در حلقه برای ما زمانی که ما در حال راه اندازی، اعضای هیات من = 0، طول = strlen (ها). این یک استراتژی فوق العاده است. سبک این فوق العاده است، طراحی این فوق العاده است. ما می توانیم به کسانی که به دلایل بعد، اما این روش شما تنها نیاز به تماس strlen یک بار به جای تک تک زمانی که شما از طریق حلقه اجرا شود. با این حال، شما نیاز به استفاده از کاما از هم وجود دارد و شما نمی اعضای هیات دوباره نیاز نیست. اگر شما اعلام هر دو متغیرها با هم، شما اعضای هیات لازم نیست دوباره. و پس از آن اگر شما قصد استفاده از strlen، است که کتابخانه های دیگر تابع در stdio.h یا cs50.h، مطمئن مطمئن شوید که شما شامل string.h. کورت؟ دانشجو: پس اگر شما به نیاز ندارد می گویند آنچه در طول نوع است، آیا که منظورم آن است که از نوع int؟ شما نمی تواند دو با هم اختلاف داشته باشند نوع وجود دارد؟ JASON HIRSCHHORN: بنابراین شما می تواند دارای دو نوع مختلف. طول و بین المللی در اینجا است، هر چند. طول و بین المللی است، زیرا این کاما از هم و سپس همان چیزی. دانشجو: پس از آن فرض بر این است که آن را در رفتن به همان عنوان یکی از اول؟ JASON HIRSCHHORN: دقیقا. ما قصد داریم برای انجام این کار در حال حاضر، اما شما می تواند شامل دو متغیر در همان خط با استفاده از یک نوع داده است. بنابراین اعضای هیات X، Y را ایجاد دو متغیر. بنابراین اعضای هیات X، Y، اگر ما را که، آن را می دهد من ایکس متغیر استفاده نشده و y به علت ما از آنها استفاده نمی. بنابراین با قرار دادن درجه اعتبار ساقط قبل فقط یک ترفند فانتزی اگر شما استفاده نشود چیزی، از آن استفاده کنید. اما همانطور که می بینید، من ایجاد x و y در همان خط با کاما از هم. ایجاد دو عدد صحیح سمت راست وجود دارد. بنابراین بله، کاملا امکان ایجاد دو چیز را در همان خط از هم جدا شده توسط کاما از هم. بیایید شدن از شر آن، هر چند. بنابراین طلسم وجود دارد. با تشکر از شما بچه ها برای برنامه نویسی آن را برای ما. بیایید آن زمان یکی بیشتر، آن را اجرا کنید. یک رشته به من بده. [نامفهوم]، به شما بیشتر از آن انجام داد. رشته چه خبر؟ دانشجو: سلام. JASON HIRSCHHORN: سلام. H-E-L-L-O، هر کاراکتر در یک خط. به نظر می رسد بزرگ است. اجازه دهید آن را دوباره اجرا کنید. همیشه برای بررسی برای موارد گوشه. یک مورد کرنر خوب چه خبر برای بررسی؟ دانشجو: شماره؟ JASON HIRSCHHORN: یک عدد است. بنابراین من در 1 قرار داده است، و آن را چاپ 1. این نمی خواهم که برای نامه ها، پس از آن مانند شماره کار به نظر می رسد. مورد گوشه خوب را بررسی کند. دیگر از کرنر های خوب چه خبر مورد برای بررسی؟ دانشجو: یک رشته خالی است. JASON HIRSCHHORN: HM؟ دانشجو: مانند یک رشته خالی است. JASON HIRSCHHORN: رشته خالی. بنابراین اجازه دهید در هر چیزی قرار داده نشده است. و آنچه چاپ می شود؟ دانشجو: هیچ چیز. JASON HIRSCHHORN: هیچ چیز نیست. به نظر می رسد کار می کند. شما می توانید سعی کنید بیشتر موارد گوشه ای، اما به طور کلی اعداد، داده های مختلف است بزرگ را امتحان کنید، و همچنین چیزی نیست. هیچ چیز، صفر، منفی همیشه چیزهای خوبی برای تلاش و چیزهایی که شما باید آزمون، همه چیز قطعا ما آزمایش خواهیم کرد و بررسی 50 برای تست. هر سوال مورد spell.c؟ خوب، اجازه دهید پشت سر. من برنامه یکی بیشتر دارند برای شما بچه برای نوشتن. آن را به نام students.c. این یک برنامه ای است که کاربر می پرسد است پنج نام، و سپس به طور تصادفی انتخاب و چاپ از یکی از نام های. این برنامه یک کمی بیشتر درگیر از دو گذشته ما نوشت، پس چرا نمی ما پنج دقیقه را به کد آن به صورت جداگانه، و پس از آن خواهیم کد آن را به عنوان یک گروه. این برنامه همچنین شامل بعضی چیز ها ممکن است از شما را دیده اند، نه قبل از آن، بنابراین اگر شما یک سوال در مورد، چگونه می توانم من انجام این کار، بالا بردن دست خود را. من آمد و اشاره شما در مسیر درست. اما ما نیز آن را انجام می دهند به دلیل این خواهد بود یک راه خوب برای معرفی برخی از موضوعاتی که از روی حیله و تزویر است. پس از آن آثار، درست است؟ دانشجو: آره. JASON HIRSCHHORN: هر زمان که شما به نوبه خود مجموعه مشکل، راه های بسیاری وجود دارد به انجام آن، اما برخی از آنها زیبا تر از دیگران است. اجازه بدهید به ما شیرجه شوید. # شامل cs50.h. # شامل stdio.h. درجه اعتبار ساقط اصلی هوشمند، آکولاد. در داخل آکولاد، من دو نظر. یکی از اولین، بپرسید کاربر برای پنج نامها. دوم، به طور تصادفی را انتخاب کنید و نسخه قابل چاپ از یکی از نام های. بنابراین اجازه دهید یکی از اولین، بپرسید کاربر برای پنج نامها. است که کاربر به مدت پنج نام خواسته و می توانید به من بگویید که چگونه به انجام این کار؟ تنها دو نفر قسمت اول انجام داد. سه نفر بخش اول. چهار، پنج. تام، چگونه شما آن را انجام دهید؟ از STUDENT: شما می توانید یک رشته اعلام و سپس نام، براکت پنج. JASON HIRSCHHORN: رشته نام براکت پنج. بنابراین این خط انجام شده است، نام رشته براکت پنج؟ از STUDENT: شما می اعلام آرایه ای از رشته ها. JASON HIRSCHHORN: این است آرایه ای از رشته ها. چگونه بسیاری از رشته ها می رویم در اینجا مناسب است؟ به STUDENT: پنج. JASON HIRSCHHORN: پنج. بسیار عالی است. ما قصد داریم به آن نام به خاطر ما قصد داریم به چند آنهایی که. خوب، در کنار؟ دانشجو: و پس از آن شما حلقه for - JASON HIRSCHHORN: حلقه. دانشجو: - برای من = 0. JASON HIRSCHHORN: برای (اعضای هیات من = 0. دانشجو: نقطه ویرگول. JASON HIRSCHHORN: نقطه و ویرگول بدین شکل. دانشجو: من کمتر از پنج. JASON HIRSCHHORN: من کمتر از پنج. دانشجو: نقطه ویرگول. JASON HIRSCHHORN: نقطه و ویرگول بدین شکل. دانشجو: من + +. JASON HIRSCHHORN: من + +. دانشجو: پرانتز و پس از آن بسته شده است. JASON HIRSCHHORN: پرانتز بسته، و سپس برخی از آکولاد. در داخل آکولاد؟ دانشجو: و پس از آن چون printf. JASON HIRSCHHORN: چون printf است. دانشجو: پرانتز های باز، نام٪ د. JASON HIRSCHHORN: با عرض پوزش؟ دانشجو: نام. JASON HIRSCHHORN: نام. دانشجو: و پس از آن فضا، و سپس درصد د. JASON HIRSCHHORN: نام و نام خانوادگی، فضا،٪ د. دانشجو: و پس از آن / N، و پس از آن بسته شده است. JASON HIRSCHHORN: نام و نام بنابراین، فضا، ٪ D / N، پرانتز بسته. دانشجو: کاما، من + 1. من متاسفم. نقل قول بسته، و سپس کاما از هم، من +1. JASON HIRSCHHORN: بسته نقل قول، کاما، من +1. دانش آموزان: بله. و سپس خط بعدی - JASON HIRSCHHORN: من + 1. دانش آموزان: بله. و سپس اسلاید بعدی نام براکت من است. JASON HIRSCHHORN: خط بعدی نام براکت من است. دانشجو: رشته دریافت کنید. JASON HIRSCHHORN: = - پایتخت G-E-T - رشته است. اوه، ببخشید. دانشجو: باز، پرانتز بسته و پس از آن - JASON HIRSCHHORN: باز، پرانتز بسته. دانشجو: نقطه ویرگول. JASON HIRSCHHORN: نقطه و ویرگول بدین شکل. خوب، پس شما آرایه ای از مقداردهی اولیه رشته ها، نام، و سپس از طریق برای حلقه، و پنج بار چاپ کردن بعضی از بی درنگ به کاربر و سپس ذخیره پنج رشته. آیا هر کسی هر گونه تنظیمات به این؟ تام، من فکر می کنم همه موافق با شما. به نظر می رسد خیلی خوب است. OK را بزنید. چرا من شما را انجام +1، چند؟ دانشجو: منظورم این است که، اختصاص ندارد می شود، اما من +1 طوری که آن را نام یک نام پنج. در غیر این صورت، این امر می تواند نام صفر به نام چهار. JASON HIRSCHHORN: بنابراین شما از من +1 زیرا در غیر این صورت آن را از صفر تا چهار چاپ به دلیل که چگونه کامپیوترها فکر می کنم، اما انسان واقعا نمی مانند آن را بخوانید. این یک چیز دیگر است شما روبرو می شوند. گاهی اوقات هنگامی که شما نسخه قابل چاپ از چیزی به کاربر، شما می خواهید آن را به کمی زیباتر، و انجام +1 در این مورد راه های زیباتر به آن را. من هم پنج دو بار، نام رشته پنج، من کمتر از پنج است. من می دانم که در آن شما پنج. شما آن را از من گفتن شما پنج نام. اما اگر ما می خواستیم را به کد کمی قوی تر، یک چیز ما می توانید انجام دهید از اینجا، در خارج از اعضای هیات، ما می تواند چیزی شبیه به این انجام دهد، # تعریف، و ما می توانیم نام انجام 5. بنابراین اساسا، هر جا که من می نویسم سرمایه N، پایتخت، M، پایتخت، پایتخت E، پایتخت S، این رشته، آن را جایگزین خواهد کرد که با 5 کد. یا اجازه دهید فقط آن تماس بگیرید - ما شما فقط آن را NUMBER تماس بگیرید. بنابراین من تعریف همه کلاه NUMBER 5. بنابراین در حال حاضر هر جا که من شماره 5، من می توانید آن را با تمام NUMBER کلاه جایگزین. و در حال حاضر، اگر من می خواهم به تغییر شماره از نام، همه من نیاز به انجام است این خط یک، خط چهار، که من # تعریف شماره 5، تغییر که تا 10، یا تغییر آن به 4. هنگامی که کد خود را طولانی تر می شود، شما نیستید رفتن به خاطر داشته باشید تمام جاهایی را که قرار داده است که چگونه بسیاری از نام شما می خواستم، و در منظور شما به دست یکی، این است که یک راه خوب برای این کار، برای پیدا کردن چیزی تا بالا و سپس فقط که عبارت استفاده کنید همه جا در سراسر کد شما. مارکوس؟ دانشجو: آیا که سبک مورد نظر از در سراسر جهان تعریف یک N ثابت؟ JASON HIRSCHHORN: به طوری که سبک تر از سطح جهانی ترجیح داده تعریف یک ثابت N؟ بنابراین شما می گویید شما می توانید انجام، اعضای هیات شماره 5 =؟ از STUDENT: آیا آنها صامت در C و یا هیچ؟ JASON HIRSCHHORN: یا توایع - در برابر. بنابراین شما می گویید فقط یک متغیر جهانی؟ دانشجو: آره. JASON HIRSCHHORN: بنابراین در سبک نگارش، لزوما یک حق وجود ندارد پاسخ، اما هر دو از آن بهتر است از تنها پرتاب این تصادفی تعداد در سراسر کد شما. ما آنها را به اعداد سحر و جادو تماس بگیرید. هنگامی که من در کد خود را نگاه کنید و یا وقتی کسی خواندن از طریق آن، آنها فقط این اعداد تصادفی را نمی خواهم که حسشو ندارم. حتی شماره 26، که به طور کلی است تعدادی از حروف الفبا، بهتر است به تعریف حروف الفبا بالا و صرفه جویی در شماره 26 در این رشته، در صورتی که احساس می کند. و یا بر روی مجموعه از مسائل، به جای - دیگر، ما در این باره صحبت نمی زمان، اما به جای فقط پرتاب در سال 25 در همه جا یا 10، شما می توانید صرفه جویی در تعداد 25 نفر به عنوان چهارم یا 10 به عنوان سکه، و آن را آسان تر می سازد هر کس خواندن از طریق کد خود را به درک چرا که شماره شما را انتخاب کرد. و همچنین برای شما، اگر شما همیشه می خواهید به کد خود را به روز رسانی کنید، آن را کمی می سازد قوی تر. آره؟ دانشجو: آیا این کد هم رفتن پس از در دسترس ما باشد؟ JASON HIRSCHHORN: همه این کد که ما را کنار هم نوشته شده است رفتن به شما ایمیل فرستاده شده بچه ها و در دسترس است. بله. به طوری که کاربر به مدت پنج نام را بپرسید. به صورت تصادفی انتخاب و چاپ یکی از نام های. چه کسی این خط؟ این مهم ترین خط است در اینجا. با عرض پوزش، تام. شما انجام یک کار واقعا خوب است، اما این است که کمی سختتر است. مارکوس، به جلو بروید. دانش آموز: خب اول، شما در حال رفتن به نیاز به stdlib.h و time.h. را JASON HIRSCHHORN: بنابراین شما در گفتن بالا، شامل دو کتابخانه دیگر. شما می خواهید من به S-T-D-L-I-B نقطه H، کتابخانه استاندارد، و آنچه یکی دیگر بود؟ دانشجو: Time.h. JASON HIRSCHHORN: # شامل time.h. است بنابراین این دو کتابخانه دیگر هستند. به گمان من در حال حاضر ما قصد داریم با استفاده از توابع که در این موجود است دو، به همین دلیل است که شما نیاز آنها عبارتند از؟ دانشجو: بنابراین پس از آن، در ابتدا شما رفتن به می خواهم برای نوشتن srand. JASON HIRSCHHORN: Srand. دانشجو: ((0) JASON HIRSCHHORN: با عرض پوزش. Srand (( دانشجو: 0. JASON HIRSCHHORN: 0. دانشجو:))، نقطه و ویرگول بدین شکل است. JASON HIRSCHHORN: یکی دیگر از پرانتز بسته؟ نقطه و ویرگول بدین. من قصد دارم فقط به جای صفر NULL خود را با. در مورد همین کار را بکند، اما به طور کلی، شما NULL را ببینید، که ما می خواهیم در این باره صحبت کنید خط در ثانیه. دانشجو: سبک بهتر است؟ JASON HIRSCHHORN: به طور کلی، مردم NULL حق است، اما همان چیزی. دانشجو: و پس از آن نام اعضای هیات. JASON HIRSCHHORN: نام و نام بین المللی. دانشجو: = JASON HIRSCHHORN: = دانشجو: رند. JASON HIRSCHHORN: رند. دانشجو: () JASON HIRSCHHORN: () دانشجو: شماره پیمانه. JASON HIRSCHHORN: پیمانه چیست؟ شخصیت؟ درصد کاراکتر؟ دانشجو: شخصیت درصد است. شماره باقی مانده که شما تعریف بالا است. JASON HIRSCHHORN: شماره پیمانه. دانشجو: و پس از آن نقطه و ویرگول بدین. JASON HIRSCHHORN: نقطه و ویرگول بدین شکل. دانشجو: و سپس خط جدید، چون printf. JASON HIRSCHHORN: چون printf است. دانشجو: ( JASON HIRSCHHORN: ( دانشجو: JASON HIRSCHHORN: دانشجو:٪ S / N JASON HIRSCHHORN:٪ S / N دانشجو: JASON HIRSCHHORN:٪ S / N " دانشجو: کاما، نام های فضا. JASON HIRSCHHORN فضا - دانشجو: آه، من حدس می زنم، چه آیا ما آن را در اینجا تماس بگیرید؟ JASON HIRSCHHORN: ما به آن نام نامیده می شود. دانشجو: باز کردن براکت، نام. JASON HIRSCHHORN: براکت باز، نام. دانشجو: براکت بسته شده. JASON HIRSCHHORN: براکت بسته. دانشجو:) JASON HIRSCHHORN:) دانشجو: نقطه ویرگول. JASON HIRSCHHORN: نقطه و ویرگول بدین شکل. خوب، اجازه دهید را نجات دهد. اجازه دهید این کد را. دانش آموزان است. بیایید این کد اجرا شود. دانش آموزان است. / دانش آموز نیست. / دانش آموزان است. نام یکی از. ما به داوود می گویند. نام دو، RJ. نام سه، راب. نام چهار، لوکاس. نام پنج، جوزف. و سپس آن را چاپ جوزف دوباره. بنابراین اجازه دهید من این اجرای دوباره. اجازه دهید من نام مشابه انجام دهد. دیوید، RJ، راب، لوکاس، جوزف. و آن را به من دیوید این زمان. بنابراین من هم همین است، اما آن را به من چیز های مختلف، و این که چرا که، البته، ما در حال درخواست برای یک نام تصادفی. بنابراین من فکر می کنم، بر اساس این بازی از من سرگردان در اطراف اتاق، که اکثر مردم احتمالا بخش اول راست، راه اندازی که آرایه و سپس گرفتن همه نام. من صحبت کردن در مورد خطوط 10 تا 16. اما در خطوط 18 تا 21 احتمالا برخی از چیزهایی که شما را دیده اند، نه قبل از آن، بنابراین اجازه دهید از طریق آن بروید. این خط، srand زمان NULL اساسا - با عرض پوزش، اجازه دهید به جست و خیز کردن یک خط رند (). است که به شما یک عدد تصادفی، یک عدد صحیح تصادفی. و اگر شما مرد رند، که بسیاری از شما - M-A-فضای N R-A-N-D - در ترمینال مثل این، M-A-N فضای R-A-N-D، ضربه را وارد کنید. شما می توانید کتابچه راهنمای کاربر آمده است و قادر خواهد بود به خواندن که رند خروجی فرمان تعداد بایت شبه تصادفی پس از بذر عدد تصادفی ژنراتور یک بار. به طوری که یک توصیف است. این چیزی است که رند می کند، می دهد شما یک عدد تصادفی در هنگام با شما تماس آن تابع. متاسفانه، این واقعا تصادفی نیست چرا که اگر شما فقط تماس بگیرید تصادفی بدون اینکه آن را به برخی از دانه، برخی از نقطه شروع، آن را همیشه خواهد شد را انتخاب کنید یکی از همان و آن را با استفاده از فرمول برای تعیین یک بعدی. بنابراین اگر با شما تماس رند، آن را فقط شما هم همین را می دهد. از آن خواهد شد بسیار قابل پیش بینی است. این در واقع نخواهد بود تصادفی. بنابراین آنچه ما باید انجام دهیم، در مارکوس دستورالعمل ها را به من، رند دانه با چیز دیگری، که همان چیزی است که تابع srand می کند. این دانه رند با چیزی کمی بیشتر تصادفی از همین، و او در آن بذر با NULL زمان، که به است، فقط با قرارداد، در حال حاضر بار در ثانیه. بنابراین شما فرض کنید که همه نیست رفتن به اجرای کد در دقیق همان دوم، پس از آن شرط سالم که NULL زمان متفاوت خواهد بود هر بار که این کد اجرا است. شرط سالم که به این ترتیب، srand رند دانه های با چیزی متفاوت در هر زمان واحد. بنابراین کنوانسیون، زمانی که ما این کار رو می خواهید عدد تصادفی، ما نوشتن این خط، srand زمان NULL، به ما بسیار دانه تصادفی، و سپس اجرا می کنیم رند، به ما میدهد که یک عدد تصادفی. آره؟ دانش آموز: آیا می توانم به شما می گویند که چه شما توسط دانه چیست؟ JASON HIRSCHHORN: دانه در - بنابراین رند رفتن به انتخاب برخی از تعداد و آن را به استفاده از برخی فرمول به دست آوردن وجود دارد. بنابراین آن را با چیزی شروع و سپس آن را تبدیل به چیزی بر اساس خارج از این فرمول. اگر شما همیشه آن را همان چیز را، همیشه رفتن به آن را به نوبه خود به همان چیزی. به طوری که اولین چیزی که شما آن را دانه است. بنابراین شما می خواهید به آن چیزی بدهد های مختلف برای شروع کردن با، و پس از آن آن را به چیزی متفاوت تبدیل شود. و سپس در نهایت، خط 20، این درصد به نام پیمانه و گیج کننده است. این چیزی است که یک کمی تفاوت در اینجا است که شما واقعا نمی را در ریاضی در زندگی واقعی. اما در اصل، زمانی که شما یکی از غول های تعداد و شما در C تقسیم می شوند، چه اتفاق می افتد به باقی مانده؟ دانشجو: این کوتاه می شود. JASON HIRSCHHORN: این کوتاه می شود. بنابراین 20 تقسیم بر 3 چیست؟ چه چیزی می کند که بازگشت به تو 20 به 3 تقسیم شده است. با عرض پوزش، 10 تقسیم بر 3. چه که به شما بازگشت؟ دانشجو: [نامفهوم]. JASON HIRSCHHORN: 10 تقسیم بر 3 فقط بازده 3، 3 باقی مانده 1. پس چه 10 پیمانه 3 بازده فقط باقی مانده، 1 است. بنابراین اگر شما می خواهید به دانستن آنچه که 10 تقسیم 3 در واقع، شما می توانید انجام 10 تقسیم بر 3، شما می خواهم 3 خود را دریافت کنید، و پس از آن شما می خواهم 10 انجام باقی مانده 3 و شما می خواهم 1 دریافت کنید. بنابراین شما می خواهم بدانند که 10 تقسیم 3 3، باقی مانده 1 می باشد. و در این خط، رند می تواند هر عدد صحیح، در اصل. بنابراین پیمانه می گوید، آن را با تقسیم تعداد، است که در این مورد 5. و اگر شما تا کنون توسط یک عدد تقسیم می شوند، عدد صحیح همواره به کمتر از این تعداد. بنابراین اگر شما در حال تقسیم بر یک عدد 5، باقی مانده این است که همیشه برای رفتن به صفر تا چهار. که فقط چگونه ریاضی کار می کند. بنابراین یک تعداد زیادی moduloed شده توسط کوچکتر تعداد همیشه باز خواهد گشت باقی مانده و همیشه باز خواهد گشت تعداد که کمتر از تعداد شما تقسیم. آیا هر کسی هر گونه سوال در مورد پیمانه، زیرا آن را بسیار آمده است، بسیار مفید است، بنابراین من می خواهم مطمئن شوید همه آن را می فهمد؟ سرد است. و ما دیدیم که این برنامه کار می کرد. خوب، در حال حرکت است. بنابراین بعد، ما قصد داریم برای رفتن به توابع، و ما قصد رفتن از طریق بقیه از این مسائل بسیار به سرعت زیرا من می خواهم برای رسیدن به آرگومان های خط فرمان. بنابراین توابع در اصل، به عنوان شما را دیده ام، جعبه های سیاه و سفید. آنها همه چیز را در پارامترها به نام، آنها چیزی برای آنها، یا تغییر آنها و یا ایجاد برخی از عوارض جانبی، و در نهایت، آنها تف از چیزی است که مقدار بازگشتی. آیا می توانم هر کسی به من یک دلیلی همین دلیل است که ما را به استفاده از توابع؟ هر کسی؟ یکی از دلایل همین دلیل است که ما می خواهم به استفاده از توابع؟ هر کسی؟ من تو را دیدم دو تا دست انجام بده. یک دلیل خوب چه خبر؟ مارکوس؟ دانشجو: اگر شما باید به همان تکه کد چند بار. JASON HIRSCHHORN: خوب، اگر شما نیاز به تماس بگیرید همان تکه از کد چندین بار. جف، آیا شما یک دلیل متفاوت است؟ دانشجو: تنها به طوری که شما می توانید کمتر کد. JASON HIRSCHHORN: شما می توانید کد کمتر است. سمت راست. اگر شما می خواهید برای انجام کاری زیادی - در کد قبلی، من می توانستم نوشته شده رشته پنج بار، اما برای حلقه باعث می شود آن نگاه کنید بهتر و شما باید برای نوشتن کد کمتر. توابع یک ایده مشابه. اگر من می خواهم برای انجام کار مشابه زیادی، حرکت آن را به یک تابع و تماس بگیرید که عمل در هر زمان. که خواهد شد که چیزی را برای شما انجام دهد. این یک دلیل بزرگ است استفاده از توابع. پس آناتومی تابع. یک تابع به طور کلی خواهد شد شبیه به این. این را با توجه به نوع بازگشت شروع، سپس شما نام را دریافت کنید. این خواهید آرگومان قبول کنند، در غیر این صورت شناخته شده به عنوان پارامترها، و در داخل کسانی که آکولاد، شما کد خود را بنویسید. ما یک تابع زیادی را دیده ام. اصلی. در اینجا اصلی سوار شده بر روی که آناتومی من زودتر بود. چه بین المللی حق در اینجا نشان؟ چه اعضای هیات معنی دارد؟ وقتی که من نوشتن اعضای هیات تحریریه اصلی (خالی). دانشجو: نوع بازگشت؟ JASON HIRSCHHORN: با عرض پوزش؟ دانشجو: نوع برگشتی. JASON HIRSCHHORN: INT نوع بازگشت، دقیقا درست است. اصلی از نوع int می گرداند. اصلی چیست؟ دانشجو: نام تابع. JASON HIRSCHHORN: صفحه اصلی نام تابع. دقیقا درست است. و از درجه اعتبار ساقط است؟ از درجه اعتبار ساقط داخل پرانتز چیست؟ از STUDENT: این کار را نمی هر مقدار خارجی. JASON HIRSCHHORN: پس از درجه اعتبار ساقط - سمت راست. در داخل پرانتز، ما را پارامترها یا استدلال تابع طول می کشد، آنچه می رود در داخل جعبه سیاه است. هنگامی که شما از درجه اعتبار ساقط می نویسم، شما می گویید این طول می کشد چیزی شوید. بنابراین اعضای هیات به معنی بی اعتبار اصلی اصلی هر چیزی که وارد در داخل آکولاد، ما باید برخی از کد، و پس از آن ما در پایان بازگشت صفر. چه بازگشت صفر چیست؟ خب، ما در مورد نوع بازگشت است صحبت کرد. بخش اصلی نیاز به بازگشت از نوع int است. این چیزی است که این خط می کند. این یک int، صفر را برمی گرداند. البته، ما را دیده اند، نیست که تعداد زیادی چرا که در برنامه نویسی ما با انجام ماشین آلات کار می کنیم و کامپایلرها امروزه استفاده می کنیم، شما انجام این کار نیاز به خط نیست. صفحه اصلی به اندازه کافی ویژه ای است که از آن آگاه است زمانی که شما رسیدن به پایان اصلی، فقط بازگشت به صفر اگر همه چیز خوب پیش رفت. در واقع، اگر چیزی چندان خوب نبود، اصلی اغلب باز خواهد گشت مختلف تعداد این مفهوم که چیزی با برنامه خود را اشتباه رفت. بنابراین به طور کلی زمانی که می بینید کد، شما بازگشت صفر نوشتن نیست، اما آن را خوب می دانم که آن اتفاق می افتد در پشت صحنه زیرا هر زمان که شما می نویسم نوع دیگری از تابع، شما می رویم به نیاز به شامل یک خط بازگشت. اگر شما می گویید من قصد دارم به بازگشت بین المللی، شما باید به ارسال بازگشت چیزی. اگر به شما می گویند از درجه اعتبار ساقط تا در اینجا در ابتدا، از درجه اعتبار ساقط از درجه اعتبار ساقط اصلی، عنوان مثال، پس از آن بازگشت هر چیزی - از درجه اعتبار ساقط معنی هیچ چیز - بنابراین شما که خط برگشت نیاز نیست. اما شما همیشه چیزی که نیست ارسال از درجه اعتبار ساقط نوع بازگشت، شما نیاز دارید یک خط که می گوید و شما نیاز به قرار دادن چیزی وجود دارد که نوع مسابقات. هر گونه سؤال در مورد آن؟ شیرین. دامنه. این چیزی است که ما ام لمس نیز. هر متغیر، همانطور که می دانیم، دامنه خاص، و اساسا صحبت کردن در مورد که در آن متغیر ممکن است یا ممکن است اشاره نمی شود. و من دوست دارم بگویم چه اتفاقی می افتد در آکولاد باقی می ماند در داخل آکولاد. بنابراین برای مثال، اگر ما به این کد نگاه کنید، ما در حال تعریف یک متغیر جهانی خارج اصلی، بین المللی، تا اینجا در بالای صفحه. ما در حال فراخوانی دیگر اعضای هیات اصلی در داخل. در حال حاضر برخی آکولاد و ما خواستار یکی دیگر از نوع int است. ما سه در کد. این همان چیزی نیست. من سه متغیر مجزا را ایجاد کرده اید. سپس در داخل این فرفری داخلی پرانتز، من می گویم = 4. کدام یک است که صحبت کردن در مورد، برای اولین بار یک، یک دوم، و یا سوم؟ دانشجو: سوم. JASON HIRSCHHORN: این صحبت کردن حدود یک سوم. همه کسانی که در واقع می تواند در مورد صحبت در این خاص به عنوان مثال به دلیل دامنه خود را به همه می رود به این آکولاد درونی است. با این حال، هنگامی که شما به چیزهای مشابه نام، چیزی به نام پنهان وجود دارد. بنابراین شما تنها با مقابله و یا تعمیر و یا استفاده از متغیر های اخیر، یا یک نزدیک به شما است. بنابراین داخل در اینجا، این است که یک سوم نزدیک است به آن خط، یک = 4، پس از آن یک سوم را تحت تاثیر قرار می. و آخرین خط، A = 2، که هست که صحبت کردن در مورد، اول، دوم، یا سوم؟ دانشجو: دوم. JASON HIRSCHHORN: این صحبت کردن در مورد دوم. البته، سوم نزدیک آن را در کد، اما سوم در خارج وجود ندارد کسانی که آکولاد. هنگامی که شما به آن فرفری بسته بریس، آن را مانند آن را رفته است، اساسا. بنابراین تنها دو شما را ترک کرده اند کسانی هستند دو مورد اول، و البته، در حال حاضر آن را به یکی از نزدیک ترین. به طوری که یک چیز خوب به به یاد داشته باشید در مورد دامنه. برای مثال، من مطمئن هستم که شما مواجه می شوند در حالی که حلقه این کار را انجام دهد. اگر شما در داخل متغیر مقداردهی اولیه در حالی که حلقه و پس از آن شما سعی کنید آن را خارج از دسترسی، شما احتمالا برخی از هشدار مثل این متغیر وجود ندارد. که دلیل از ایده دامنه، که همه چیز فقط وجود دارد در داخل آن آکولاد. آکولاد مانند آغوش غول پیکر هستند که شما در حال دادن به کد خود را یکی دیگر است، راه به در مورد آن فکر می کنم. بنابراین این تابع دیگری است، چیزی برای شما به کد، hellofunction.c بچه. ما قصد داریم به جست و خیز است که در حال حاضر، اما این چیزی است که من شما را تشویق به تمرین در خود تغییر دهید. نوشتن یک برنامه که در آن تماس های اصلی تابع دیگری است که چاپ با سلام به کاربر. این اصل در نظر گرفتن جهان خوش آمدید و چکیده که چون printf به تابع دیگر. اما ما قصد داریم برای انجام این کار در حال حاضر چرا که ما هم به همان اندازه ندارد سمت چپ که من را دوست دارند. بنابراین تابع اعلامیه. ما پیش از این نیز دیده می شود. اگر شما می خواهید برای نوشتن تابع دیگر، شما نیاز دارید که به کامپیوتر می دانم و اصلی می دانند که در آن وجود دارد. بنابراین آنچه ما انجام می دهیم، بالا اصلی، ما نوشتن نوع بازگشتی، نام، و پارامترها، و سپس به پایین اصلی، در اینجا، ما در واقع کپی که خط و سپس نوشتن کد واقعی. بنابراین این ترتیب، اگر شما تابع در اصلی در بالا، اصلی می داند که سلام وجود دارد، برای مثال، اگر من تماس بگیرید سلام، و سپس آن را به نظر می رسد پیاده سازی پایین. چه اتفاقی می افتد اگر من این کار را شامل نمی شود خط بالا، از درجه اعتبار ساقط سلام (خالی)؟ اگر من این خط را شامل نمی شود و تماس های اصلی سلام، من رفتن به خطا. من قصد دارم برای به دست آوردن خطا به دلیل کامپایلر نمی داند که این چیزی که وجود دارد. این شبیه به همین دلیل ما # شامل cs50.h. اساسا چه cs50.h در حال انجام قرار دادن رشته وجود دارد. قرار دادن اعضای هیات وجود دارد. قرار دادن تمام کسانی که تابع نمونه های اولیه تا قبل از اصلی به طوری که هنگامی که شما آنها را به در اصلی، اصلی می داند که این چیزها وجود داشته باشد. این چیزی است که آن دسته از فایل های ساعت انجام. و به همین ترتیب اگر شما قصد خود را بسازید تابع، شما باید مطمئن شوید شما که نمونه اولیه قرار داده است وجود دارد. هر گونه سؤال در مورد این تا کنون؟ آرگومان های خط فرمان. این همان چیزی است که ما قصد داریم به پایان برساند ، و سپس امیدوارم ما فشار در برخی pset. من نمی دانم اگر ما قادر خواهید بود به فشار که به خاطر زمان، اما با شما بچه ها که در اینجا هستند، و اگر شما بچه ها می خواهم بگویم پس از کمی، ما می توانید بیش از آن خارج بروید. اما ما قصد داریم به پایان برساند آرگومان های خط فرمان در 15 دقیقه گذشته. ما بیدار، مایکل؟ شما بیدارید؟ خوب است. من نمی دانم اگر شما در خواب با چشم های خود را بسته است. این امر می تواند روی حیله و تزویر. آرگومان های خط فرمان. کسانی که یکی از راه های انتقال اطلاعات به برنامه است. در نهایت، ما می خواهیم دیگران روبرو می شوند. اما در اصل، ما قصد داریم برای متوقف کردن نوشتن اعضای هیات تحریریه اصلی (خالی) اگر ما به خواهید نگاهی به برخی از آرگومان های خط فرمان. ما قصد داریم برای نوشتن این چیز نام اعضای هیات تحریریه اصلی (argc هوشمند، رشته argv، براکت. که گیج کننده است. که بسیاری از نامه هایی که در انسان انگلیسی، بنابراین ما قصد داریم به باز کردن آنها را در حال حاضر. تعداد آنها مخفف تعداد بحث - و دوباره، همه از این خواهد شد آنلاین در دسترس - و تعداد آرگومان است. و argv مخفف برای بردار استدلال، و کسانی که خود استدلال. آرایه ای از رشته ها است. ایم در واقع یک آرایه رشته قبل از امروز. ما یکی در آخرین برنامه کدگذاری. بنابراین در اینجا یک مثال است. من می نویسم. / و بخش ohai cs50 در خط فرمان من. تعداد آنها در این مورد برابر است با 3. و argv براکت 0 ohai، و argv براکت 1 به cs50 است، و argv براکت 2 بخش است. باز هم، تعداد آنها تعداد آرگومانها، و به سفر شما تا کمی کمی، ما همیشه به نام حساب تابع به عنوان آرگومان اول. بنابراین در این مورد، سه وجود دارد استدلال، نام تابع و سپس آن دو که من تایپ شوید. بعد، ما قصد داریم برای صرفه جویی در آن استدلال خود را در argv. و دوباره، همانطور که ما قبلا دیدم، ما این در آخرین برنامه ما کد می شوند. شما می توانید از طریق آرایه ای از حرکت argv را در آن رشته است. که اساسا آنچه ما انجام داد در پایان آخرین برنامه های ما است. ما یک نام تصادفی برداشت و پس از آن رفت نام هر چیز دیگری طبقه بندی و چاپ از رشته وجود دارد. در بالای تنها یک آرایه، به دلیل رشته خود آرایه ها، به عنوان در مورد صحبت کردیم، شما می توانید آرایه از آرایه ها است، که اساسا آنچه و argv است. یکی از راه های که شما می توانید در مورد فکر می کنم این سطر و ستون است. من می توانم که در حال حاضر قرعه کشی. بنابراین و argv - که پاک کردن نیست. جلب تحت ohai. بنابراین اگر من در بخش cs50 ohai، نوشت: من قصد دارم به کوتاه بخش برای این مثال. اما در اصل، من چند بعدی آرایه، cs50 ohai، ما قصد داریم برای انجام فرقه. بنابراین در اینجا، من می توانم دسترسی - اگر من فقط و argv یک عدد - این اشتباه است. چه اشکالی در این نمودار؟ دانشجو: شروع صفر. JASON HIRSCHHORN: آن را باید با صفر شروع کنیم. من احتمالا باید آن را بچرخانید، اما از آنجایی که من قبلا آن را کشیده شده بر روی من رفتن به ترک آن وجود دارد در حال حاضر. اما آن را در صفر شروع می شود. درست است. من متاسفم اگر این کوچک است. می تواند به شما بچه ها نوع؟ بنابراین اگر من و argv 0، من گرفتن همه ohai. اگر من و argv 1، من همه cs50 دریافت کنید. اگر من و argv 2، من همه فرقه دریافت کنید. اما در حال حاضر، همانطور که گفتیم، رشته آرایه های خود می باشد. بنابراین آنچه من می توانید انجام دهید این است که من می توانم درمان این به عنوان یک آرایه چند بعدی، و من می توانید چیزی در امتداد خطوط و argv 0، 0، می دهد که من فقط شخصیت 0. و argv 0، 1، که به من می دهد فقط در ساعت. و argv 1، 3، است که به من می دهد فقط این 0 پایین اینجا در cs50. بنابراین به این دلیل خود رشته آرایه ها، ما در حال قرار دادن که در یک آرایه دیگر. ما در حال حاضر دارای آرایه ای از آرایه ها است، و ما می تواند شاخص به اولین آرایه ما و سپس شاخص به آرایه دوم ما. و همانطور که شما انتظار می رود، کار می کنیم که تنها با قرار دادن آن دو - ما انجام براکت مربع فقط درست در کنار و به کس دیگری. بنابراین در این مثال، 1 و argv است cs50 است و و argv 1، 2، مانند ما گفت: فقط 5. آیا هر کسی هر گونه سوال در مورد آرایه های چند بعدی؟ شما بچه ها انجام می دهند عالی است. شیرین. بنابراین ما باید یک برنامه دیگر حق در اینجا، و این چیزی نهایی ما است رفتن به انجام این کار در حال حاضر. بنابراین من می خواهم شما را به نوشتن یک برنامه که نام و نام خانوادگی کاربر، دو و تنها طول می کشد دو آرگومان خط فرمان، و در نهایت، نسخه قابل چاپ کردن سلام به کاربر که شامل نام خود. پس چرا شما را سه یا چهار دقیقه به انجام این کار و پس از آن خواهیم رفت بیش از آن به عنوان یک گروه، و پس از آن خواهیم کردن؟ و دوباره، در اینجا، وقتی که ما می گوییم را نام و نام خانوادگی کاربر در توضیحات از این مشکل، آن را باید فرمان آرگومان های خط، با استفاده از رشته. آره، مارکوس؟ دانشجو: بنابراین، هنگامی که به شما می گویند دو فرمان آرگومان خط است، که علاوه بر / اجرا شود، و یا - JASON HIRSCHHORN: سوال خوب. آیا، از جمله / اجرا، سه آرگومان های خط فرمان. یا جمله / شخصی، در این مورد، زیرا که نام این فایل. بنابراین تعداد آنها خواهد بود سه. اما من می خواهم تنها دو آرگومان داده شده به برنامه است. من باید مشخص کنید که. من که تغییر را قبل از ارسال کنم این و ارسال آنها را به شما بچه ها. دانشجو: چه می شود اگر شما نام میانی داشته باشید؟ JASON HIRSCHHORN: اگر وسط نام، شما را از شانس هستید. من متاسفم. و یا اگر شما فقط شکیرا، شما همچنین از شانس هستید. آره؟ دانشجو: بنابراین، هنگامی که مردم مجبور نباشند cs50.h، و argv را تعریف آنها عنوان کاراکتر و argv ستاره؟ یا آن را هنوز هم به نام رشته argv؟ JASON HIRSCHHORN: بله. بنابراین رشته، دوباره، ما پنهان بیش از آنچه که دقیقا اتفاق می افتد وجود دارد. که به زودی شاید غیر بستهای در چهارشنبه، اما به زودی. آن مانند چرخ آموزشی است. از آنجا که در اصل، آن را همین. بنابراین یک دقیقه دیگر را به برنامه اجازه و سپس ما را بیش از آن را به عنوان یک گروه، و پس از آن مثل من گفت، بسته بندی کردن. و من فکر می کنم آنها هنوز آب نبات اضافی، بنابراین شما بچه ها امیدوارم باید که، یا لطفا را که. با عرض پوزش اگر شما هنوز هم نوشتن، اما من می خواهم به شیرجه رفتن و ما می توانید آن را با هم به پایان برسد. بنابراین من در نوشته شده است، # شامل cs50.h، # شامل stdio.h. اعضای هیات تحریریه اصلی (خالی)، فرفری بند، فرفری تحریک احساسات، در داخل سه خط شبه، نام و نام خانوادگی کاربر، دو و فقط دو خط فرمان استدلال، چاپ کردن سلام به کاربر که شامل نام خود. بنابراین یکی از اولین، نام و نام خانوادگی کاربر. چه کسی می تواند به من کمک کن را نام و نام خانوادگی کاربر؟ چگونه می توانم انجام است که بخشی؟ آیا شما بچه ها که بخش اول؟ نگاهی نام و نام خانوادگی کاربر. خوب، برای این که یک خط فرمان استدلال، چه باید بنویسم؟ چه باید در مورد عوض کنم اعلان تابع من؟ دانش آموز: شما نمی خواهید آن را به باشد از درجه اعتبار ساقط دیگر. JASON HIRSCHHORN: دقیقا. من نمی خواهم آن را به باشد از درجه اعتبار ساقط است. چه من آن را می خواهید؟ دانشجو: تعداد آنها بین المللی است. JASON HIRSCHHORN: argc هوشمند. دانشجو: و argv رشته. JASON HIRSCHHORN: رشته argv. دانشجو: براکت، براکت. JASON HIRSCHHORN: براکت، براکت. این دقیقا همان سمت راست، و این در واقع چگونه من قصد دارم برای به دست آوردن نام و نام خانوادگی کاربر. آنها در حال رفتن به آن را قرار داده در آن وجود دارد. به طوری که یکی انجام می شود. بنابراین در حال حاضر من می خواهم دو و فقط دو آرگومان های خط فرمان. پس نوح است، چه یکی از راه من می توانم تعدادی از فرمان تیک بزنید آرگومان های خط من؟ دانش آموز: شما اگر بیانیه ای انجام دهد. JASON HIRSCHHORN: اگر بیانیه، دقیقا. چه می توانم به عنوان شرایط می خواهید؟ دانشجو: اگر تعداد آنها بیشتر از 3. JASON HIRSCHHORN: اگر تعداد آنها بزرگتر از 3 است. اگر تعداد آنها بیشتر از 3، چه می توانم انجام دهم؟ دانشجو: بازگشت 1. JASON HIRSCHHORN: بازگشت 1. خواهد کرد که اطمینان حاصل شود من دو و فقط دو؟ دانشجو: شماره اگر تعداد آنها بزرگتر از 3 و کمتر از 2. JASON HIRSCHHORN: اگر تعداد آنها بیشتر است از 3 و تعداد آنها کمتر از 2 است. یکی از راه من می توانم این کار را فقط نوشتن چه خبر یک خط، و یا بدون استفاده از آن و عملگر بولی؟ دانشجو: به 2 برابر نیست. JASON HIRSCHHORN: اگر تعداد آنها به 2 برابر نیست. دقیقا. بنابراین اگر تعداد آنها برابر با 2 است، که من این برنامه را به من بدهید، شخصی، زمانی که من آن را اجرا، و که به من بدهد که چگونه بسیاری از آرگومان های خط فرمان؟ چگونه بسیاری برای چک کنم؟ متأسفم. اجازه دهید من با واژه های دیگری بیان کردن که. اگر تعداد آنها = 2، چگونه بسیاری از چیزهای کاربر ارسال به خط؟ دانشجو: یک. JASON HIRSCHHORN: فقط یک. بنابراین قبل از، شما حق نوح بودند. چه من در واقع نیاز به قرار دادن وجود دارد؟ دانشجو: که برابر است با 3. JASON HIRSCHHORN: تعداد آنها کند برابر نیست 3. من می خواهم به برابر 3 چون من می خواهم شخصی به همراه دو نفر دیگر. بنابراین اگر تعداد آنها 3 برابر نیست، بازگشت 1. چرا به شما می گویند بازگشت 1؟ دانشجو: از آنجا که به معنی آن غلط است. JASON HIRSCHHORN: این بدان معناست که آن اشتباه است، و آنچه را که می خواهد بکند؟ دانشجو: پاسخ سریع کاربر. JASON HIRSCHHORN: رفتن به ترک این برنامه، پس از آن برای اجرای دوباره، اما ما هیچ چیز را ندارد در اینجا از آنها بخواهید دوباره. من که بپرسید نه. به طوری که دقیقا درست است. بازگشت 1 [فقط کاربران عضو این برنامه است. بزرگ است. و نسخه قابل چاپ از تبریک به کاربر که شامل نام خود. چگونه می توانم انجام دهم؟ آنا؟ دانش آموز: چون printf. JASON HIRSCHHORN: چون printf است. دانشجو: (" JASON HIRSCHHORN: ( دانشجو: "سلام JASON HIRSCHHORN: "سلام دانشجو:٪ JASON HIRSCHHORN:٪ دانشجو: / N JASON HIRSCHHORN: / N دانشجو: "، JASON HIRSCHHORN: "، دانشجو: و argv JASON HIRSCHHORN: با عرض پوزش؟ دانشجو: و argv JASON HIRSCHHORN: و argv دانشجو: میدان براکت 1. JASON HIRSCHHORN: براکت میدان؟ دانشجو: 1. JASON HIRSCHHORN: 1. دانشجو: و) نقطه و ویرگول بدین شکل. JASON HIRSCHHORN:) نقطه و ویرگول بدین شکل. اجازه دهید ما این اجرا. مطمئن شخصی. / شخصی. این فقط ترک. چرا آن را ترک کردید؟ دانش آموز: شما هیچ استدلال قرار داده نشده است. JASON HIRSCHHORN: من نه قرار دادن هر گونه استدلال شوید. به نظر می رسد بزرگ است. شما بچه ها آن را میخ. تا دوباره شما را به شما و argv و رفت چک در آغاز تعداد آنها. این دو مهم هستند همه چیز را به یاد داشته باشید. بنابراین در دو دقیقه آخر ما قبل از ما ترک، ما نمی خواهد به pset دو، اما مثل من گفت، اگر می خواهید بعد از اقامت به مدت 10 دقیقه، من می خواهم او خوشحال به بیش از با شما بچه ها منطق برای این مجموعه مشکل. ما تا به حال تا حد زیادی به پوشش امروز بنابراین من به آنها می کنید. به طور کلی، من می خواهم که شامل که در پایان. بنابراین اگر شما می خواهید به اطراف چوب، چوب در اطراف به مدت 10 دقیقه. ما می خواهیم انجام دهیم. پس از آن، به عنوان من در ابتدا ذکر شد، pset صفر و یک، خواهیم دریافت که بازخورد به شما به عنوان در اسرع وقت. هدف این است که برای به دست آوردن pset یک بازخورد، بخش نظرات، قبل از pset دو دلیل می باشد. بنابراین اگر شما ساخته شده است برخی از اشتباهات و یا سبک نگارش، همه چیز می تواند بهتر، شما که اطلاعات باید، بنابراین شما این کارها را به در pset دو نمی کنند. و پس از آن در آینده، شما را دریافت بازخورد pset و نظرات شما قبل از یک بعدی است. در نهایت، اگر من می تواند در دیگری قرار داده است پلاگین برای بازخورد. این بخش اول شما. بخش اول من بود آموزش این سال است. به آنجا بروید. نوشتن چیزهای خوب و بد، و من آن را به استفاده بخش بهتر دفعه بعد. و آخرین، دوباره، اگر شما نیاز به هر چیزی، اجازه دهید من می دانم. من بیش از شاد برای کمک به شما بچه ها هستم. اگر شما فقط می خواهم آب نبات، من به آب نبات اضافی داشته باشد. من آن را به شما خوشحال هستم. این است برای رفتن به یک دوره شگفت انگیز است. این یکی از، اگر نه مورد علاقه من البته، من در تمام زندگی من گرفته ام، و من امیدوارم که آن را می شود که فوق العاده برای شما. بنابراین من می خواهم به انجام همه چیز را در قدرت من به آن که بسیار جذاب برای شما. من قصد دارم برای ارسال یک ایمیل به اگر شما در بخش من یا نوح، و رفتن را امتحان کنید و برنامه با هر یک از زمان برای بررسی در بیش از شما بچه ها چند هفته آینده، بنابراین من می توانید دریافت کنید احساس از آنچه زمینه CS خود را است، و آن را نیز به من خیاط این کمک خواهد کرد بخش بهتر است با توجه به نیازهای شما. به طوری که آنچه من به انتظارنشسته بودند تا. باز هم، من شما را در خارج اگر شما می خواهید وجود داشته باشد. این هفته دو بخش بود. با تشکر از شما بچه ها بسیار است.