حلقه بی نهایت Infinite Loop
حلقه بی نهایت یا Infinite Loop چیست؟
حلقه بی نهایت (Infinite Loop) یا حلقه بی پایان (Endless Loop) به گونهای از حلقه ها گفته میشود که در آن مجموعهای از دستورات به صورت نامتناهی تکرار میشوند. به عبارت بهتر دستوراتی که در بدنه این نوع حلقه قرار میگیرد تا زمانی که برنامه در حال اجراست تکرار میشود.
نحوه شکل گیری حلقه های بی نهایت
یک حلقه بدون پایان میتواند در اثر عوامل مختلفی نظیر وجود شرطی که هرگز حلقه را به پایان نمیرساند و یا وجود دستوراتی که مانع از به پایان رسیدن حلقه میشوند شکل بگیرد. در واقع حلقه های بی نهایت الزاما نوعی حلقه مجزا با یک کلمه کلیدی از پیش رزرو شده متمایز در زبانهای برنامه نویسی نیست؛ بلکه هر حلقه یا ساختار جریان کنترلی که منجربه تکرار دستورات به تعداد نامتناهی شود یک حلقه بی نهایت را تشکیل میدهد. این ساختار میتواند شامل هرچیزی اعم از یک حلقه معمولی و یا استفاده از دستور GOTO برای ایجاد یک حلقه بیپایان باشد.
حلقه های بی نهایت ممکن است به صورت عمدی یا غیرعمدی (ناخواسته) به وجود بیایند. به عنوان مثالی از کاربرد عمدی این نوع حلقه ها میتوان به استفاده از آنها در سیستمهای تعاملی به منظور بررسی مدوام ورودی ها (مانند کلیدهای فشرده شده توسط کاربر) اشاره نمود. در طرف مقابل ممکن است به دلیل اشتباه برنامه نویس، حلقه های بی پایان غیرعمدی در برنامه شکل بگیرند که این اتفاق معمولا در مورد برنامه نویسان تازه کار و کم تجربه رخ میدهد.
جالب است بدانید حلقه های بی نهایت ممکن است باعث هنگ کردن و فریز سیستم شوند. اما در صورتی که سیستم همچنان به واکنشهای کاربر پاسخگو باشد معمولا میتوان حلقه های بدون پایان ناخواسته را با روشی مثل استفاده از Task Manager و پایان دادن به فرایند مربوطه متوقف نمود.
به عنوان نمونه هایی از حلقه های بدون پایان از نوع While میتوان به دو قطعه کد ساده زیر که به زبان برنامه نویسی جاوا نوشته شدهاند اشاره کرد. نتیجه ارزیابی شرط در این حلقه ها همواره صحیح (true) باقی میماند و دستورات بدنه تا زمانی که اجرای برنامه متوقف نشود تکرار میشوند. در مثال سمت چپ، متغیر y همواره برابر با عدد 1 باقی میماند و در نتیجه شرط y < 20 همواره صحیح خواهد بود. در مثال سمت راست (که یکی از رایجترین روشهای ایجاد حلقه بی پایان میباشد) حاصل ارزیابی متغیر b همواره صحیح (true) بوده و تنها دستور بدنه حلقه به طور مداوم تکرار میشود.

پیوندهای پیشنهادی تک دیک
سلام
در vba کدهامو نوشتم و یخوام بزنم اجرا بشه و یادم رفته که save کنم
run میگیرم متوجه میشم تو لوپ بینهایتم چیکار میشه کرد که بدون بستن برنامه از اجرای حلقه جلوگیری کنم تو اون لحظه؟
راه حلی داره یا محکوم به دوباره کدنویسی هستیم؟
سلام؛ اگر از ویژوال استودیو استفاده می کنید هنگام دیباگینگ، با کمک گزینه Stop Debugging اجرای برنامه رو متوقف کنید. بعد هم می تونید به شکل عادی کدتون رو اصلاح کنید.
چجوری از حلقه ی بینهایت دربیاییییییییم؟؟؟؟
سلام بسته به زبان های مختلف ممکن هست از دستورات متفاوتی برای خروج از حلقه ها استفاده بشه. در حلقه های بی نهایت هم می تونید از همین دستورات برای خروج از حلقه استفاده کنید. در اغلب زبانها مانند جاوا از دستور break برای این منظور استفاده می شه. اینجا رو بخونید:
https://techdic.ir/definition/loop
ساخت یک لوپ بینهایت از آب خوردنم آسونتره که…
بیاین تمرین بدید؛ حل کنیم، یاد بگیریم!! پیشرفته!!
من طرفدار زبان برنامهنویسی پایتان(Python) هستم و به نظرم زبان بهترین زبان دنیاست. غیر پای چیز دیگه ای یاد ندارم. البته جاوااسکریپ رو هم تا حدودی کار کردم. از زبانهایی که باید کامپلایل کرد بدم میاد.
دانیال عزیز، از نظرتون ممنونیم. هدف تک دیک آشنا کردن مخاطبین با مفاهیم و اصطلاحات مقدماتی تا حرفه ای در حوزه رایانه و فناوری است. این اصطلاحات هرچند ساده و مقدماتی تاکنون برای مخاطبان زیادی راهگشا بوده. در مورد واژه های فنی و تخصصی هم سعی می کنیم واژه رو با مثال و نمونه تا حد لازم توضیح بدیم اما ارائه تمرین و پیگیری اون خارج از هدف و فرصت تیم کوچک ماست. در مورد زبان Python که مورد علاقه شماست هم منابع زیادی در اینترنت وجود داره که امیدوارم بتونه شما رو کمک کنه.
سلام من دانشجو ی ترم یک (ترمک ?) کامپیوتر ام همش با خودم فکر میکردم چ طور میشه حلقه ی بی پایان ساخت تا اینکه بلاخره تو سایت شما دیدم مرسی بابت مطلب مفیدتون
سلام؛
با آرزوی موفقیت برای شما