حلقه بی نهایت Infinite Loop

حلقه بی نهایت یا Infinite Loop چیست؟

حلقه بی نهایت (Infinite Loop) یا حلقه بی پایان (Endless Loop) به گونه‌ای از حلقه ها گفته می‌شود که در آن مجموعه‌ای از دستورات به صورت نامتناهی تکرار می‌شوند. به عبارت بهتر دستوراتی که در بدنه این نوع حلقه قرار می‌گیرد تا زمانی که برنامه در حال اجراست تکرار می‌شود.

نحوه شکل گیری حلقه های بی نهایت

یک حلقه بدون پایان می‌تواند در اثر عوامل مختلفی نظیر وجود شرطی که هرگز حلقه را به پایان نمی‌رساند و یا وجود دستوراتی که مانع از به پایان رسیدن حلقه می‌شوند شکل بگیرد. در واقع حلقه های بی نهایت الزاما نوعی حلقه مجزا با یک کلمه کلیدی از پیش رزرو شده متمایز در زبان‌های برنامه نویسی نیست؛ بلکه هر حلقه یا ساختار جریان کنترلی که منجربه تکرار دستورات به تعداد نامتناهی شود یک حلقه بی نهایت را تشکیل می‌دهد. این ساختار می‌تواند شامل هرچیزی اعم از یک حلقه معمولی و یا استفاده از دستور GOTO برای ایجاد یک حلقه بی‌پایان باشد.

حلقه های بی نهایت ممکن است به صورت عمدی یا غیرعمدی (ناخواسته) به وجود بیایند. به عنوان مثالی از کاربرد عمدی این نوع حلقه ها می‌توان به استفاده از آن‌ها در سیستم‌های تعاملی به منظور بررسی مدوام ورودی ها (مانند کلیدهای فشرده شده توسط کاربر) اشاره نمود. در طرف مقابل ممکن است به دلیل اشتباه برنامه نویس، حلقه های بی پایان غیرعمدی در برنامه شکل بگیرند که این اتفاق معمولا در مورد برنامه نویسان تازه کار و کم تجربه رخ می‌دهد.

جالب است بدانید حلقه های بی نهایت ممکن است باعث هنگ کردن و فریز سیستم شوند. اما در صورتی که سیستم همچنان به واکنش‌های کاربر پاسخگو باشد معمولا می‌توان حلقه های بدون پایان ناخواسته را با روشی مثل استفاده از Task Manager و پایان دادن به فرایند مربوطه متوقف نمود.

به عنوان نمونه هایی از حلقه های بدون پایان از نوع While می‌توان به دو قطعه کد ساده زیر که به زبان برنامه نویسی جاوا نوشته شده‌اند اشاره کرد. نتیجه ارزیابی شرط در این حلقه ها همواره صحیح (true) باقی می‌ماند و دستورات بدنه تا زمانی که اجرای برنامه متوقف نشود تکرار می‌شوند. در مثال سمت چپ، متغیر y همواره برابر با عدد 1 باقی می‌ماند و در نتیجه شرط y < 20 همواره صحیح خواهد بود. در مثال سمت راست (که یکی از رایج‌ترین روش‌های ایجاد حلقه بی پایان می‌باشد) حاصل ارزیابی متغیر b همواره صحیح (true) بوده و تنها دستور بدنه حلقه به طور مداوم تکرار می‌شود.

حلقه بی نهایت Infinite Loop
دو نمونه حلقه بی نهایت از نوع While. در این دو مثال متغیر y و b هیچگاه تغییری نمی‌کنند و شرط همواره برقرار می‌ماند.

پیوندهای پیشنهادی تک دیک

صفحه واژه در ویکیپدیا

امیرحسین شهسواری

عاشق دنیای رایانه و فناوری به خصوص برنامه نویسی هستم؛ یادگرفتن و البته یاد دادن چیزای جالبی که یاد گرفتم باعث خوشحالیم میشه و از اولویت‌های اصلی زندگیم به حساب میاد. از مدیریت و نوشتن در تک دیک هم واقعا لذت می‌برم :)

4 دیدگاه برای «حلقه بی نهایت Infinite Loop»

  • آبان ۲۰, ۱۳۹۸ در t ۹:۵۲ ب٫ظ
    Permalink

    سلام من دانشجو ی ترم یک (ترمک 😂) کامپیوتر ام همش با خودم فکر میکردم چ طور میشه حلقه ی بی پایان ساخت تا اینکه بلاخره تو سایت شما دیدم مرسی بابت مطلب مفیدتون

    پاسخ دادن
    • آبان ۲۰, ۱۳۹۸ در t ۱۰:۵۴ ب٫ظ
      Permalink

      سلام؛
      با آرزوی موفقیت برای شما

      پاسخ دادن
  • آذر ۵, ۱۳۹۸ در t ۵:۰۳ ب٫ظ
    Permalink

    ساخت یک لوپ بی‌نهایت از آب خوردنم آسون‌تره که…
    بیاین تمرین بدید؛ حل کنیم، یاد بگیریم!! پیشرفته!!
    من طرفدار زبان برنامه‌نویسی پایتان(Python) هستم و به نظرم زبان بهترین زبان دنیاست. غیر پای چیز دیگه ای یاد ندارم. البته جاوااسکریپ رو هم تا حدودی کار کردم. از زبانهایی که باید کامپلایل کرد بدم میاد.

    پاسخ دادن
    • آذر ۵, ۱۳۹۸ در t ۵:۱۵ ب٫ظ
      Permalink

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

      پاسخ دادن

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *