تفاوت کلیدی – برای در مقابل حلقه حلقه
برنامه مجموعه ای از دستورالعمل هایی است که در یک زبان برنامه نویسی برای انجام یک کار خاص نوشته شده است. این می تواند یک عملیات منطقی یا یک عملیات ریاضی باشد. به طور کلی، دستورات در برنامه یکی پس از دیگری اجرا می شوند. گاهی اوقات لازم است مجموعه ای از دستورات را بارها و بارها اجرا کنید. برای دستیابی به این وظیفه از ساختارهای کنترلی استفاده می شود. دو تای آنها حلقه for و while هستند. این ساختارها به اجرای یک دنباله کد کمک می کنند تا زمانی که شرط داده شده درست باشد. نحو حلقه for شامل مقداردهی اولیه، بیان تست و عبارت به روز رسانی است. نحو حلقه while حاوی عبارت تست است.این مقاله به تفاوت بین حلقه for و while می پردازد. تفاوت کلیدی بین حلقه for و while در این است که حلقه for را می توان زمانی که تعداد تکرارها مشخص است و حلقه while را زمانی که تعداد تکرارها مشخص نیست استفاده کرد.
برای حلقه چیست؟
حلقه for در بسیاری از زبان های برنامه نویسی مانند C، جاوا و غیره استفاده می شود. برای اجرای مجموعه ای از دستورات چندین بار استفاده می شود. نحو حلقه for به شرح زیر است.
برای (آغازسازی؛ بیان آزمایشی، بهروزرسانی){
//گزاره های داخل حلقه for
}
عبارت اولیه فقط یک بار اجرا می شود. سپس عبارت تست مورد ارزیابی قرار می گیرد. عبارت تست می تواند شامل متغیرها، مقادیر، ثابت و عملگرها باشد. این یک عبارت بولی است. اگر عبارت ارزیابی شده درست باشد، کد داخل حلقه for اجرا می شود. پس از رسیدن به انتهای حلقه، عبارت update اجرا می شود. می تواند افزایش یا کاهش باشد.دوباره عبارت تست بررسی می شود. اگر عبارت ارزیابی شده درست باشد، دستورات داخل حلقه for اجرا می شوند. در انتهای حلقه، عبارت update اجرا می شود. این فرآیند تا زمانی که عبارت تست نادرست باشد تکرار می شود. هنگامی که عبارت تست نادرست است، حلقه for خاتمه می یابد و کنترل به دستور بعدی پس از حلقه for منتقل می شود.
شکل 01: برنامه ای با حلقه for برای محاسبه مجموع 5 عدد
برنامه فوق برای یافتن مجموع پنج عدد اول است که عبارتند از 1، 2، 3، 4 و 5. در حلقه for، i 1 است. کمتر از 5 است. بنابراین مجموع محاسبه می شود.. در ابتدا، مجموع 0 است. به i اضافه می شود که 1 است. مجموع به مجموع متغیر اختصاص داده می شود. اکنون مجموع 1 است. سپس عبارت به روز رسانی ارزیابی می شود. i با یک افزایش می یابد. الان من 2 هستمکمتر از 5 است. بنابراین، مجموع محاسبه می شود. مقدار مجموع قبلی 1 است و به مقدار i که 2 است اضافه می شود. اکنون مجموع آن 3 است. عبارت به روز رسانی ارزیابی می شود و i با 1 افزایش می یابد. اکنون 3 است. این روند تکرار می شود. وقتی i 6 می شود، عبارت نادرست می شود زیرا 6 برابر یا کمتر از 5 نیست. بنابراین، حلقه for خاتمه می یابد. در نهایت، مجموع هر پنج عدد روی صفحه چاپ می شود.
حلقه while چیست؟
حلقه while عبارات هدف را تا زمانی که شرط داده شده درست باشد اجرا می کند. نحو حلقه while به صورت زیر است.
while(بیان تست){
//گزارههای داخل حلقه while
}
حلقه while حاوی یک عبارت آزمایشی است. این یک عبارت بولی است. اگر عبارت ارزیابی شده درست باشد، عبارات داخل حلقه while اجرا می شوند. در پایان آن عبارات، عبارت تست دوباره ارزیابی می شود. این فرآیند تا زمانی که عبارت تست نادرست شود تکرار می شود.وقتی غلط شد، حلقه while خاتمه مییابد و کنترل بعد از حلقه while به دستور ارسال میشود.
شکل 02: برنامه ای با حلقه while برای محاسبه مجموع 5 عدد
طبق برنامه فوق، مجموع به 0 و i به 1 مقداردهی اولیه می شود. در حلقه while، مقدار i ارزیابی می شود. کمتر از 5 است. بنابراین، مجموع محاسبه می شود. مقدار اولیه sum 0 است. به مقدار i 1 اضافه می شود. اکنون مجموع آن 1 است. سپس مقدار i یک افزایش می یابد. اکنون مقدار i 2 است. کمتر از 5 است. بنابراین مجموع محاسبه می شود. مجموع فعلی که 1 است به مقدار i که 2 است اضافه می شود. اکنون مجموع آن 3 است. دوباره مقدار i افزایش می یابد. اکنون مقدار i 3 است. این روند تکرار می شود. وقتی مقدار i 6 می شود، عبارت نادرست می شود زیرا کمتر یا مساوی 5 نیست.بنابراین، حلقه while خاتمه می یابد. در نهایت، مقدار مجموع بر روی صفحه نمایش چاپ می شود. اگر هیچ افزایشی مانند i++ وجود نداشته باشد، آنگاه مقدار i در همان حالت باقی می ماند که 1 است. کمتر از 5 است. شرط همیشه درست است. بنابراین یک حلقه بی نهایت خواهد بود.
شباهتهای بین حلقه for و while چیست؟
- هر دو حلقه for و while ساختارهای کنترل تکرار در برنامه نویسی هستند.
- اجرای حلقه به عبارت تست بستگی دارد.
تفاوت بین حلقه for و while چیست؟
for vs while Loop |
|
حلقه for یک ساختار کنترلی تکرار است که به برنامه نویس اجازه می دهد تا حلقه ای را بنویسد که باید تعداد دفعات خاصی را اجرا کند. | حلقه while یک ساختار کنترلی تکرار است که تا زمانی که شرط داده شده درست باشد عبارات هدف را اجرا می کند. |
استفاده | |
حلقه for می تواند زمانی استفاده شود که تعداد تکرارها مشخص باشد. | حلقه while را می توان زمانی که تعداد تکرارها مشخص نیست استفاده کرد. |
Initialization | |
دهی اولیه یک بار در حلقه for رخ می دهد. | In حلقه while، اگر دستور اولیه در داخل حلقه باشد، هر بار که حلقه تکرار می شود، مقداردهی اولیه انجام می شود. |
Summary – برای vs while Loop
در برنامه نویسی، گاهی اوقات لازم است مجموعه ای از عبارات را چندین بار تکرار کنید. ساختارهای کنترل تکرار برای دستیابی به این وظایف وجود دارد. دو تای آنها حلقه for و while هستند. تفاوت بین حلقه for و while در این است که حلقه for زمانی استفاده می شود که تعداد تکرارها مشخص باشد و حلقه while زمانی که تعداد تکرارها مشخص نیست استفاده می شود.