[Powered by Google Translate] تامی MACWILLIAM: بیایید بحث در مورد حلقه ها، یکی از رایج
ساختار برنامه خواهیم در طول CS50 را ببینید.
خواهیم حلقه زمانی که ما می خواهیم به انجام
کار بیش از یک بار.
برای مثال، ما ممکن است بخواهید به چاپ "سلام" 100 بار و یا چاپ
از تمام حروف الفبا.
در هر دو این موارد، ما باید یک چیزی که ما می خواهیم انجام دهیم
چندین بار، چاپ چیزی.
با این حال، آنچه که ما نسخه قابل چاپ کردن در هر زمان می تواند متفاوت باشد.
بنابراین ما می توانیم چیزی کمی متفاوت در هر
تکرار، و یا از طریق اجرا می شود، از حلقه است.
خواهیم سه نوع مختلف از حلقه ها در C نگاه می کنید، در حالی که
حلقه ها، حلقه ها، و در حالی که حلقه ها را انجام دهید.
هر چند این سه نوع از حلقه نحو های مختلف،
ایده پشت آنها یکسان هستند.
ما به برخی از بلوک از کد در داخل آکولاد را تعریف کنیم،
به نام بدنه حلقه، که ما می خواهیم به اعدام
چند بار.
با تغییر مقادیر متغیرهای مورد استفاده در بدن، ما
باعث می شود که حلقه ما چیزی متفاوت در هر زمان آن را اجرا.
با هر حلقه ما می نویسیم، ما نیز باید برای تصمیم گیری نیاز دارند زمانی که
حلقه متوقف خواهد شد در حال اجرا است.
اگر ما این کار را انجام، و سپس کامپیوتر قابل اعتماد ما را ادامه خواهد داد
برای اجرای این حلقه تا زمانی که برنامه ما را می کشند.
در ابتدا، ما می تواند از تکرار N بار استفاده کنید
مسدود کردن یک حلقه ایجاد کنید.
همه قطعات در داخل یک بلوک که گفت تکرار 10
اجرا می شود 10 برابر شده است.
و پس از آن، ما می خواهم حرکت بر روی قطعه پس از آن حلقه شده است.
بنابراین شرط توقف ما به سادگی، این بلوک بوده است
اجرای 10 بار.
بنابراین اجازه دهید تمدد اعصاب در C. در ابتدا برای اطمینان از
که قطعات در داخل بلوک تکرار اجرا
دقیقا 10 بار، ابتدا نیاز به پیگیری هر یک از
اجرای بلوک تکرار.
برای پیگیری از چند بار بدن حلقه ما بوده است
اعدام، اجازه ایجاد یک متغیر به نام من به.
خواهیم کرد من شروع صفر، پس از حلقه ما
نشده است اجرا نشده است.
خوب
در حال حاضر ما باید از کلمه کلیدی حالی که برای شروع کردن حلقه ما استفاده کنید.
در حال حاضر ما نیاز به کشف کردن که حلقه ما متوقف خواهد شد، اما
اجازه ترک این در حال حاضر و پس از آن دوباره به آن.
بسیار خوب.
داخل حلقه ما، اجازه دهید فقط به چاپ یک پیام، مانند
"سلام." ما می توانیم از تابع printf برای این استفاده کنید.
بسیار خوب.
بنابراین در حال حاضر ما باید به سابقه است که تکرار بدنه حلقه
اعدام شده است.
ما می توانیم با اضافه کردن 1 و یا افزایش، مبارزه با ما
متغیر، من.
برای انجام این کار، ما می توانیم بگوییم من برابر است با به علاوه 1 یا بیشتر
به سادگی، به علاوه به علاوه.
بزرگ است.
بنابراین در حال حاضر ما می توانیم ببینیم که هر یک از حلقه ما این است که اجرا شود، ما
متغیر شمارنده بالا می رود به یک.
بنابراین ما می دانیم که دقیقا چه بسیاری تکرار کرده ایم اجرا تا کنون.
بعد از یک تکرار از حلقه، ارزش ما
از من خواهد بود 1.
پس از دو تکرار، من خواهد بود 2.
و بعد از 10 تکرار، من خواهد بود 10.
بنابراین، اگر ما می خواهیم برای اجرای این حلقه دقیقا 10 بار، و سپس
این زمانی است که ما می خواهیم برای متوقف کردن.
بنابراین ما می خواهیم برای اجرای این حلقه در حالی که من این است که کمتر از 10 است، و
که دقیقا همان چیزی است که خواهیم نوشت، در حالی که من
کمتر از 10 می باشد.
این وضعیت به نظر می رسد درست مثل شرایط ما در صورت استفاده
بلوک دیگری است.
پس از بدنه حلقه اجرا شده است، برنامه ما
بازگشت پرش به بالا به وضعیت حلقه.
اگر شرط درست باشد، پس بدن
حلقه دوباره اجرا خواهد شد.
اگر شرایط دیگر درست است، و سپس حلقه ما نخواهد بود
دیگر اجرا خواهد شد و حرکت بر روی خط بعدی کد
در زیر حلقه ما.
بسیار خوب.
پس اجازه دهید نگاهی در نوع دوم از
حلقه، حلقه for.
بعد از کلید واژه ها در حالی که، در پرانتز، ما تا به حال یک چیز است،
بیماری است که نیاز به واقعی برای
بدنه حلقه اجرا می شود.
این بدان معناست که ما تا به حال برای ایجاد متغیر مبارزه ما در خارج
از حلقه و به یاد داشته باشید تا آن را افزایش در برخی از نقطه
در داخل حلقه است.
هدر برای ما حلقه for، از سوی دیگر، دارای سه
بخش، هر کدام از آنها خواهد شد با یک نقطه و ویرگول از هم جدا شده است.
در سوم ما، ما می توانیم هر شمارنده و یاور اعلام
متغیرهای ما می خواهم به در حلقه ما استفاده کنید.
در عمل، این می تواند واقعا مفید است.
ما واقعا که متغیر، من، بعد در حالی که ما نیاز ندارد
حلقه اجرا شده است، بنابراین ما واقعا نمی باید آن را اعلام
در خارج از حلقه است.
سوم دوم خواهد بود که شرایط است که باید درست باشد
در بدن به اعدام می شود دوباره، درست مانند
در حالی که حلقه ما.
در آخر ما، ما می توانیم یک بیانیه خواهد بود که اجرا شود
اعدام بعد از هر تکرار از حلقه، بنابراین ما لازم نیست
ساخت آن را به بدن حلقه.
پس از ارسال نامه برای حلقه است که از 5 تا 1 شمارش کنیم.
ما با کلمه کلیدی برای شروع خواهیم کرد.
ما می توانیم یک متغیر شمارنده ایجاد کنیم که
تعیین این زمان تا 5 از آنجایی که ما در حال شمارش کردن،
توسط یک نقطه ویرگول.
بعد شرایط ما، که ما آن را خواهیم دوباره به است.
سوم، ما می خواهم متغیر مبارزه ما را به واحد کم پس از
هر تکرار از حلقه.
بنابراین به جای گفتن به علاوه به علاوه، ما من منهای منفی می گویند.
بسیار خوب.
بنابراین ما می خواهیم بدن حلقه به اجرا در حالی که من هنوز هم
بزرگتر از 0.
در بدنه حلقه، اجازه چاپ از ارزش من.
برای انجام این کار، ما می خواهیم از تابع printf، با استفاده از D٪
حفره یا سوراخ.
به یاد داشته باشید، که حفره یا سوراخ خواهد شد با جایگزین
ارزش از من.
در نهایت، اجازه دهید اضافه کردن یک بیانیه پس از ما برای حلقه.
هنگامی که ما برای اجرای این حلقه، من شروع خواهد شد در 5،
تا 5 چاپ خواهد شد.
هنگامی که من به 0 می شود، به شرط تداوم، من
بزرگتر از 0 باشد، دیگر برگزار خواهد شد.
بنابراین حلقه ما متوقف خواهد شد اجرا می کنیم و مشاهده می کنید
بیانیه پس از حلقه.
پس از اجرا این کد به شما اجازه می دهد تا.
اول، ما کامپایل
countdown.c با شمارش معکوس.
در حال حاضر، ما می توانیم این کد را با / شمارش معکوس اجرا کنید.
در هر دو حلقه و در حالی که حلقه ها، ادامه ما
شرایط خواهد شد قبل از بدن بررسی می شود
از حلقه اجرا می شود.
این بدان معنی است که اگر وضعیت ما این است که در ابتدا نیست
درست است، پس از آن بدن از حلقه ما خواهد شد هرگز اجرا شود.
پس از آن گاهی اوقات مفید است برای بررسی شرایط پس از
بدن از حلقه و نه قبل از آن.
بنابراین ارسال یک حلقه به شما اجازه می دهد تا کاربر را برای یک شماره بی درنگ
تا زمانی که یک عدد مثبت است عرضه می شود.
اگر ورودی کاربر یک عدد منفی، ما می خواهم به آنها را بپرسید
برای یک شماره دیگر.
بنابراین ما می خواهید سریع به داخل
بدن در خارج از حلقه است.
با این حال، هنگامی که حلقه برای اولین بار اجرا شود، کاربر
داده است که ما از شماره است.
پس از آن معنی ندارد برای بررسی اگر آن را مثبت.
در عوض، ما می خواهید از این شماره به بعد بدن را بررسی کنید
حلقه اجرا می شود.
ما می توانیم این کار را با انجام در حالی که حلقه را انجام دهد.
اول، ما به یک متغیر، ایجاد، N است که برگزار خواهد شد
ورودی کاربر است.
در حال حاضر ما باید از کلمه کلیدی کنید، آکولاد استفاده از آن
شروع خواهد شد بدن از حلقه ما.
در بدن ما می تواند کاربر را برای یک شماره با بی درنگ
GetInt تابع.
در حال حاضر، ما می خواهید بدن از این حلقه برای اجرای دوباره
کاربر یک عدد منفی را تایپ کنیم، می گویند در حالی که N
کمتر از 0.
توجه داشته باشید که نقطه و ویرگول در اینجا پس از بیانیه در حالی که.
پس از اجرا این کد به شما اجازه می دهد تا.
اول، ما این کار را با مثبت کامپایل.
در حال حاضر ما می توانیم با برنامه اجرا شود. / مثبت است.
اگر ما به این برنامه یک عدد باشد، منفی مانند منفی
4، پس از آن ما می شود دوباره برای یک تعداد از را برانگیخت
شرایط انجام ما در حالی که حلقه درست بود.
هنگامی که یک عدد مثبت ما را، مثل 8، پس از آن
شرایط انجام ما در حالی که حلقه دیگر درست خواهد بود.
پس حلقه دوباره اجرا نخواهد شد.
و آن را برای سه نوع از حلقه خواهیم در C. استفاده از
نام تامی است، و این CS50.