حلقه در #C
شناسه پست: 1894
بازدید: 958

دراین مقاله، ما قصد داریم نحوه استفاده از حلقه ها در #C، انواع حلقه های موجود و زمان استفاده از آنها را یاد بگیریم. ما برای توضیح دقیق کاربرد هر حلقه در #C از چند مثال استفاده خواهیم کرد.

این مقاله، سرفصلی از دوره آموزشی زیر میباشد:

اگر می خواهید محتویات کامل این دوره را ببینید ، می توانید بر روی لینک مبانی #c کلیک کنید.

اگر میخواهید سورس مثالها را دانلود کنید اینجا کلیک کنید.

بریم تو دل کار.

در این مقاله، ما در مورد موضوعات زیر صحبت میکنیم:

حلقه While

حلقه while حلقه ای است با یک شرط از پیش تعیین شده (precondition). به این معنی که، ما اول شرط مورد نظر را چک میکنیم و سپس در صورتیکه نتیجه شرط true بود، سپس expression مان را اجرا میکنیم.

مثال 1: یک برنامه بنویسید که جمع اعداد از n تا m (ورودی هایی که از کاربر میگیرد) را محاسبه کند:

حلقه while در #C

حالا اجازه بدید تا کد بالا را شرح دهیم.

به دلیل اینکه ما جمع اعداد از n تا m را محاسبه میکنیم، باید یک متغیر برای ذخیره نتیجه جمع داشته باشیم. این متغیر در ابتدا باید با عدد 0 مقداردهی اولیه شود. بدون مقداردهی اولیه، برنامه ما بدلیل عدم تخصیص متغیر sum ، هنگام build شدن با خطا روبه رو خواهد شد.

در حلقه while، ما کل اعداد از n تا m را پیمایش کرده و هریک از آنها را با مقدار درون متغیر sum جمع میکنیم و نتیجه را مجددا درون متغیر sum میریزیم. ما از این expression برای این کار استفاده میکنیم: ;sum += n که خلاصه شده ;sum = sum + n میباشد.

در آخر ما باید متغیر n را 1 واحد افزایش دهیم. بدون آن ، ما یک حلقه بی نهایت خواهیم داشت زیرا در اینصورت مقدار متغیر n همیشه کمتر از مقدار متغیر m خواهد بود.

زمانیکه تعداد تکرار در حلقه نامشخص است بهتر است از حلقه while استفاده کنیم. این به این معنی است که ما میتوانیم حلقه را تکرار کنیم تا زمانیکه شرطهای مورد نظر تحقق یابد، اما از طرفی هم اطلاعی نداریم که چندمرتبه باید این حلقه تکرار شود تا آن شرطهای مورد نظر تحقق یابد.

حلقه For

حلقه for، حلقه دیگری با یک شرط از پیش تعیین شده (precondition) است. ما از سینتکس زیر برای نوشتن آن در #C استفاده میکنیم:

ما از initialization  در ابتدای حلقه استفاده می کنیم و این به معنای مقداردهی اولیه متغیر با یک مقدار است. از condition برای تعیین زمان کامل شدن حلقه استفاده می شود. Progression قسمتی است که در آن متغیر خود را که در قسمت initialization  مقداردهی شده است را افزایش یا کاهش می دهیم. body شامل تمام expression هایی است که باید تا زمانیکه condition برقرار باشد (true باشد) اجرا شوند.

مهم است که ترتیب اجرا را در این نوع حلقه بدانید: Loop Body ،Condition ،Initialization و در آخر Progression به ترتیب اجرا میشوند.

مثال 1: برنامه ای بنویسید که تمام اعداد صحیح بین n تا 1 را در خروجی چاپ کند:

حلقه for در #C

زمانیکه میدانیم که چه تعداد تکرار قرار است داشته باشیم بهتر است از حلقه for استفغاده کنیم. این بدان معنی است که اگر تمام عناصر موجود در یک collection را پیمایش میکنیم یا یک نقطه پایان برای تکرارهایمان در نظر داریم بهتر است از این حلقه استفاده کنیم.

حلقه Do-While

این حلقه، حلقه ای است که شرط مورد نظر در انتها مشخص میشود (postcondition). این به این معنی است که بدنه لحقه ابتدا اجرا میشود و شرط مورد نظر در انتها چک میشود. این کاملاً مخالف نمونه های قبلی از حلقه ها است.

ما میتوانیم این حلقه را به شیوه زیر پیاده سازی کنیم:

مثال 1: برنامه ای بنویسید که جمع اعداد از n تا m (ورودی هایی که از کاربر میگیرد) را محاسبه کند:

حلقه do while در #C

مثال 2: برنامه ای بنویسید که جمع اعداد زوج تا n را محاسبه کند:

حلقه do while در #C

نتیجه گیری

تبریک.

اکنون می توانیم تکرارها را با ترکیبی از همه آنچه از مقالات قبلی یاد گرفتیم را پیاده سازی کنیم، بنابراین برنامه های قدرتمند تری را میتوانیم ایجاد کنیم.

در پست بعدی، ما در مورد نحوه handle کردن خطاها در #C صحبت میکنیم.

نویسنده

امید عباسی
من امید عباسی هستم. سالهاست که در زمینه برنامه نویسی با تکنولوژی دات نت فعالیت میکنم و عاشق این هستم که تجربیات و دانش خودم را در این زمینه با دیگران به اشتراک بزارم. خیلی دوست دارم که نظر و انتقاد خودتون رو در مورد این نوشته برای من بنویسید تا بتونم در آینده، مطالب بهتر و ارزشمندتری را برای شما فراهم کنم. در صورت داشتن هرگونه سوال هم در قسمت دیدگاه ها میتونید با بنده در ارتباط باشید