تک دیک

واژه نامه و مجله آموزشی کامپیوتر و تکنولوژی

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
Search in posts
Search in pages
Filter by Categories
A
B
C
D
E
F
G
H
I
J
K
L
M
N
Numbers
O
P
Q
R
S
T
U
V
W
Y
Z
آگهی
اپلیکیشن ها
اچ‌تی‌ام‌ال
اسکرچ
اشخاص و شرکت ها
امنیت
امنیت آنلاین
اندروید
اینترنت
پایتون
پرسش و پاسخ
جاوااسکریپت
حروف انگلیسی
خبر
دوره های آموزشی
سخت‌افزار
سی‌اس‌اس
شبکه
فنی
کنسول جستجوی گوگل
گرافیک
لینوکس
مایکروسافت اکسل
مایکروسافت پاورپوینت
مایکروسافت ورد
مبانی کامپیوتر
مجله
مجله – امنیت
مجله – بازی
مجله – برنامه نویسی
مجله – دنیای اینترنت
مجله – سخت افزار
مجله – سیستم
مجله – شبکه
مجله – شبکه های اجتماعی
مجله – عمومی
مجله – گوشی‌های هوشمند
مجله – نرم افزار
مجله – ویندوز
مقدماتی
موضوعی
نرم‌افزار
وردپرس

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

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

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

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

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

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

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

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

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

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

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

تولید و انتشار محتوای تخصصی علاوه بر زمان، هزینه هم دارد. بخش عمده هزینه‌های تک‌دیک با بودجه شخصی و حمایت‌های شما کاربران گرامی تأمین می‌شود. اگر محتوای این صفحه برای شما مفید واقع شده با روش‌های مختلفی از سراسر دنیا می‌توانید در تکمیل و تداوم فعالیت این سایت به گروه کوچک ما کمک کنید و در اجر معنوی آن نیز سهیم شوید. ما صمیمانه قدردان این محبت شما هستیم.

ما در تک‌دیک تلاش می‌کنیم محتوایی دقیق، واضح و بدون اشتباه منتشر کنیم. به همین دلیل هر مطلب پیش از انتشار بارها بازبینی می‌شود. از طرف دیگر با توجه به حجم بالای مطالب به کمک شما هم نیاز داریم. اگر احساس می‌کنید محتوای این صفحه باید بروزرسانی، تکمیل یا تصحیح شود و یا سوالی در مورد این مطلب دارید که بدون پاسخ مانده خوشحال می‌شویم آن را در بخش دیدگاه‌های همین مطلب با ما در میان بگذارید.

دیدگاه‌ها

8 پاسخ به “حلقه بی نهایت Infinite Loop”

  1. محمد بهرامی نیم‌رخ
    محمد بهرامی

    سلام
    در vba کدهامو نوشتم و یخوام بزنم اجرا بشه و یادم رفته که save کنم
    run میگیرم متوجه میشم تو لوپ بینهایتم چیکار میشه کرد که بدون بستن برنامه از اجرای حلقه جلوگیری کنم تو اون لحظه؟
    راه حلی داره یا محکوم به دوباره کدنویسی هستیم؟

    1. امیرحسین شهسواری نیم‌رخ
      امیرحسین شهسواری

      سلام؛ اگر از ویژوال استودیو استفاده می کنید هنگام دیباگینگ، با کمک گزینه Stop Debugging اجرای برنامه رو متوقف کنید. بعد هم می تونید به شکل عادی کدتون رو اصلاح کنید.

  2. راضیه نیم‌رخ
    راضیه

    چجوری از حلقه ی بینهایت دربیاییییییییم؟؟؟؟

    1. امیرحسین شهسواری نیم‌رخ
      امیرحسین شهسواری

      سلام بسته به زبان های مختلف ممکن هست از دستورات متفاوتی برای خروج از حلقه ها استفاده بشه. در حلقه های بی نهایت هم می تونید از همین دستورات برای خروج از حلقه استفاده کنید. در اغلب زبان‌ها مانند جاوا از دستور break برای این منظور استفاده می شه. اینجا رو بخونید:
      https://techdic.ir/definition/loop

  3. دانیال نیم‌رخ
    دانیال

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

    1. امیرحسین شهسواری نیم‌رخ
      امیرحسین شهسواری

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

  4. یلدا نیم‌رخ
    یلدا

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

    1. امیرحسین شهسواری نیم‌رخ
      امیرحسین شهسواری

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

دیدگاهتان را بنویسید

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

نوشته‌های بیشتر

تبلیغات متنی ساده