Control flow
கணினி அறிவியலில், கட்டுப்பாட்டு ஓட்டம் (அல்லது கட்டுப்பாட்டு ஓட்டம்) என்பது ஒரு கட்டாய நிரலின் தனிப்பட்ட அறிக்கைகள், அறிவுறுத்தல்கள் அல்லது செயல்பாட்டு அழைப்புகள் செயல்படுத்தப்படும் அல்லது மதிப்பீடு செய்யப்படும் வரிசையாகும். வெளிப்படையான கட்டுப்பாட்டு ஓட்டத்திற்கு முக்கியத்துவம் கொடுப்பது ஒரு கட்டாய நிரலாக்க மொழியை ஒரு அறிவிப்பு நிரலாக்க மொழியிலிருந்து வேறுபடுத்துகிறது. ஒரு கட்டாய நிரலாக்க மொழிக்குள், ஒரு கட்டுப்பாட்டு ஓட்டம் அறிக்கை என்பது இரண்டு அல்லது அதற்கு மேற்பட்ட பாதைகளில் எதைப் பின்பற்ற வேண்டும் என்பதைத் தேர்ந்தெடுக்கும் ஒரு அறிக்கையாகும். கடினமான செயல்பாட்டு மொழிகளுக்கு, அதே முடிவை அடைய செயல்பாடுகள் மற்றும் மொழி கட்டமைப்புகள் உள்ளன, ஆனால் அவை பொதுவாக கட்டுப்பாட்டு ஓட்டம் அறிக்கைகள் என்று அழைக்கப்படுவதில்லை. அறிக்கைகளின் தொகுப்பு பொதுவாக ஒரு தொகுதியாக கட்டமைக்கப்பட்டுள்ளது, இது தொகுப்புக்கு கூடுதலாக, ஒரு லெக்சிகல் நோக்கத்தையும் வரையறுக்கிறது. குறுக்கீடுகள் மற்றும் சமிக்ஞைகள் என்பது குறைந்த அளவிலான வழிமுறைகளாகும், அவை கட்டுப்பாட்டின் ஓட்டத்தை ஒரு சப்ரூட்டினைப் போலவே மாற்றும், ஆனால் பொதுவாக ஒரு இன்-லைன் கட்டுப்பாட்டு ஓட்ட அறிக்கையை நிறைவேற்றுவதை விட, சில வெளிப்புற தூண்டுதல் அல்லது நிகழ்வுக்கு (ஒத்திசைவற்ற முறையில் நிகழலாம்) பதிலளிக்கும் வகையில் நிகழ்கின்றன. இயந்திர மொழி அல்லது அசெம்பிளி மொழியின் மட்டத்தில், கட்டுப்பாட்டு ஓட்ட அறிவுறுத்தல்கள் பொதுவாக நிரல் கவுண்டரை மாற்றுவதன் மூலம் செயல்படுகின்றன. சில மத்திய செயலாக்க அலகுகளுக்கு (CPUs), நிபந்தனை அல்லது நிபந்தனையற்ற கிளை அறிவுறுத்தல்கள் மட்டுமே கிடைக்கும் கட்டுப்பாட்டு ஓட்ட அறிவுறுத்தல்கள், அவை தாவல்கள் என்றும் அழைக்கப்படுகின்றன. வெவ்வேறு மொழிகளால் ஆதரிக்கப்படும் கட்டுப்பாட்டு ஓட்ட அறிக்கைகளின் வகைகள் வேறுபடுகின்றன, ஆனால் அவற்றின் விளைவைப் பொறுத்து வகைப்படுத்தலாம்ஃ வேறு அறிக்கையில் தொடர்வது (நிபந்தனையற்ற கிளை அல்லது ஜம்ப்) சில நிபந்தனைகள் பூர்த்தி செய்யப்பட்டால் மட்டுமே அறிக்கைகளின் தொகுப்பை இயக்குவது (தேர்வு-அதாவது, நிபந்தனை கிளை) சில நிபந்தனைகள் பூர்த்தி செய்யப்படும் வரை பூஜ்ஜியம் அல்லது அதற்கு மேற்பட்ட முறை அறிக்கைகளின் தொகுப்பை இயக்குவது (அதாவது, லூப்-நிபந்தனை கிளைக்கு சமம்) தொலைதூர அறிக்கைகளின் தொகுப்பை இயக்குவது, அதன் பிறகு கட்டுப்பாட்டு ஓட்டம் வழக்கமாக திரும்பும் (சப் ரூடின்கள், கோரோடின்கள் மற்றும் தொடர்ச்சிகள்) நிரலை நிறுத்துவது, மேலும் செயல்படுத்துவதைத் தடுக்கிறது (நிபந்தனையற்ற நிறுத்தம்) முதன்மை லேபிள்கள் ஒரு லேபிள் என்பது ஒரு நிலையான நிலைக்கு ஒதுக்கப்பட்ட ஒரு வெளிப்படையான பெயர் அல்லது எண். ஒரு லேபிள் மூலக் குறியீட்டிற்குள் ஒரு நிலையை குறிக்கிறது மற்றும் வேறு எந்த விளைவையும் ஏற்படுத்தாது. வரி எண்கள் சில மொழிகளில் (அடிப்படை போன்றவை) பயன்படுத்தப்படும் பெயரிடப்பட்ட லேபிளுக்கு மாற்றாகும். அவை மூலக் குறியீட்டில் உள்ள ஒவ்வொரு வரியின் தொடக்கத்திலும் வைக்கப்படும் முழு எண்கள் ஆகும். இவற்றைப் பயன்படுத்தும் மொழிகள் பெரும்பாலும் பின்வரும் ஒவ்வொரு வரியிலும் வரி எண்களின் மதிப்பு அதிகரிக்க வேண்டும் என்ற தடையை விதிக்கின்றன, ஆனால் அவை தொடர்ச்சியாக இருக்க வேண்டிய அவசியமில்லை. எடுத்துக்காட்டாக, அடிப்படை மொழியில்ஃ 10 லெட் எக்ஸ் = 3 20 பிரிண்ட் எக்ஸ் சி மற்றும் அடா போன்ற பிற மொழிகளில், ஒரு லேபிள் ஒரு அடையாளங்காட்டியாகும், இது வழக்கமாக ஒரு வரியின் தொடக்கத்தில் தோன்றும் மற்றும் உடனடியாக ஒரு பெருங்குடல் மூலம் பின்பற்றப்படுகிறது. எடுத்துக்காட்டாக, சிஃ வெற்றிஃ பிரிண்ட்எஃப் ("செயல்பாடு வெற்றிகரமாக இருந்தது. \n"); ALGOL 60 மொழி முழு எண்கள் மற்றும் அடையாளங்காட்டிகள் இரண்டையும் லேபிள்களாக அனுமதித்தது (இரண்டும் பின்வரும் அறிக்கையுடன் கோலன்களால் இணைக்கப்பட்டுள்ளன), ஆனால் வேறு ஏதேனும் ALGOL மாறுபாடுகள் முழு எண்களை அனுமதித்தால் சில. ஆரம்பகால ஃபோர்ட்ரான் தொகுப்பான்கள் முழு எண்களை மட்டுமே லேபிள்களாக அனுமதித்தன. ஃபோர்ட்ரான்-90 இல் தொடங்கி, எண்ணெழுத்து லேபிள்களும் அனுமதிக்கப்பட்டுள்ளன. கோட்டோ கூற்று (ஆங்கில வார்த்தைகளின் கலவை மற்றும் அதற்கேற்ப உச்சரிக்கப்படுகிறது) என்பது நிபந்தனையற்ற கட்டுப்பாட்டு பரிமாற்றத்தின் மிக அடிப்படையான வடிவமாகும். முக்கிய சொல் மொழியைப் பொறுத்து மேல் அல்லது கீழ் வழக்கில் இருக்கலாம் என்றாலும், இது வழக்கமாக பின்வருமாறு எழுதப்படுகிறதுஃ கோட்டோ லேபிள் ஒரு கோட்டோ அறிக்கையின் விளைவு அடுத்த அறிக்கையை செயல்படுத்துவது சுட்டிக்காட்டப்பட்ட லேபிளில் (அல்லது உடனடியாக) தோன்றும் அறிக்கையாக இருக்க வேண்டும். கோட்டோ அறிக்கைகள் பல கணினி விஞ்ஞானிகளால், குறிப்பாக டிஜ்க்ஸ்ட்ரா மூலம் தீங்கு விளைவிப்பதாக கருதப்படுகின்றன. சப்ரூட்டின்கள் சப்ரூட்டின்களுக்கான சொற்கள் வேறுபடுகின்றன; அவை மாற்றாக நடைமுறைகள், நடைமுறைகள், செயல்பாடுகள் (குறிப்பாக அவை முடிவுகளைத் திருப்பித் தந்தால்) அல்லது முறைகள் (குறிப்பாக அவை வகுப்புகள் அல்லது வகை வகுப்புகளைச் சேர்ந்தவை என்றால்) என்று அழைக்கப்படலாம். 1950 களில், கணினி நினைவகங்கள் தற்போதைய தரநிலைகளால் மிகவும் சிறியதாக இருந்தன, எனவே சப்ரூட்டீன்கள் முக்கியமாக நிரல் அளவைக் குறைக்க பயன்படுத்தப்பட்டன. ஒரு குறியீடு ஒரு முறை எழுதப்பட்டு பின்னர் ஒரு நிரலில் பல்வேறு இடங்களிலிருந்து பல முறை பயன்படுத்தப்பட்டது. இன்று, சப்ரூட்டின்கள் பெரும்பாலும் ஒரு நிரலை மேலும் கட்டமைக்க உதவுகின்றன, எ. கா., சில வழிமுறைகளை தனிமைப்படுத்துவதன் மூலம் அல்லது சில தரவு அணுகல் முறையை மறைப்பதன் மூலம். பல புரோகிராமர்கள் ஒரு புரோகிராமில் வேலை செய்கிறார்கள் என்றால், சப்ரூட்டின்கள் ஒரு வகையான மாடுலாரிட்டி ஆகும், இது வேலையைப் பிரிக்க உதவும். கட்டமைக்கப்பட்ட நிரலாக்கத்தில், அடுத்தடுத்த கட்டளைகளின் வரிசைப்படுத்தப்பட்ட வரிசைமுறை அடிப்படை கட்டுப்பாட்டு கட்டமைப்புகளில் ஒன்றாகக் கருதப்படுகிறது, இது மறு செய்கை, மறுநிகழ்வு மற்றும் தேர்வுடன் நிரல்களுக்கான கட்டுமானத் தொகுதியாகப் பயன்படுத்தப்படுகிறது. குறைந்தபட்ச கட்டமைக்கப்பட்ட கட்டுப்பாட்டு ஓட்டம் மே 1966 இல், போம் மற்றும் ஜாகோபினி கம்யூனிகேஷன்ஸ் ஆஃப் தி ஏ. சி. எம். இல் ஒரு கட்டுரையை வெளியிட்டனர், இது கோட்டோக்களைக் கொண்ட எந்தவொரு நிரலையும் கோட்டோ-ஃப்ரீ வடிவமாக மாற்ற முடியும் என்பதைக் காட்டுகிறது, இதில் ஒரே தேர்வு (இஃப் தென் எல்ஸ்) மற்றும் லூப்கள் (வில் நிபந்தனை டிஓ ஐஎக்ஸ்எக்ஸ்), ஒருவேளை நகல் குறியீடு மற்றும்/அல்லது பூலியன் மாறிகள் (உண்மை/தவறான கொடிகள்) சேர்க்கப்படலாம். இந்தத் தேர்வை சுழல்களால் (இன்னும் அதிகமான பூலியன் மாறிகள்) மாற்ற முடியும் என்பதை பிற்கால எழுத்தாளர்கள் காட்டினர். அத்தகைய மினிமலிசம் சாத்தியம் என்பது அது அவசியம் விரும்பத்தக்கது என்று அர்த்தமல்ல; எல்லாவற்றிற்கும் மேலாக, கணினிகளுக்கு கோட்பாட்டளவில் ஒரு இயந்திர அறிவுறுத்தல் மட்டுமே தேவை (ஒரு எண்ணை மற்றொன்றிலிருந்து கழிக்கவும், முடிவு எதிர்மறையாக இருந்தால் கிளை செய்யவும்), ஆனால் நடைமுறை கணினிகள் டஜன் கணக்கான அல்லது நூற்றுக்கணக்கான இயந்திர அறிவுறுத்தல்களைக் கொண்டுள்ளன. போம் மற்றும் ஜாகோபினியின் கட்டுரை காட்டியது என்னவென்றால், அனைத்து நிரல்களும் கோடோ-இலவசமாக இருக்க முடியும். ஒரு நுழைவு மற்றும் ஒரு வெளியேற்றம் கொண்ட கட்டுப்பாட்டு கட்டமைப்புகள் வேறு எந்த வடிவத்தையும் விட புரிந்துகொள்வது மிகவும் எளிதானது என்று பிற ஆராய்ச்சிகள் காட்டுகின்றன, முக்கியமாக அவை கட்டுப்பாட்டு ஓட்டத்தை சீர்குலைக்காமல் ஒரு அறிக்கையாக எங்கும் பயன்படுத்தப்படலாம். வேறு வார்த்தைகளில் கூறுவதானால், அவை அமைதியாக இருந்தன. (கடுமையான நிரலாக்க மொழிகள் போன்ற பிற்கால முன்னேற்றங்கள்-மற்றும் மிக சமீபத்தில், ஒருங்கிணைக்கக்கூடிய மென்பொருள் பரிவர்த்தனைகள்-இந்த மூலோபாயத்தைத் தொடர்ந்துள்ளன, இதனால் நிரல்களின் கூறுகள் இன்னும் சுதந்திரமாக ஒருங்கிணைக்கப்படுகின்றன.) சில கல்வியாளர்கள் போம்-ஜாகோபினி முடிவுக்கு ஒரு தூய்மையான அணுகுமுறையை எடுத்து, சுழல்களின் நடுவில் இருந்து இடைவெளி மற்றும் திரும்புவது போன்ற அறிவுறுத்தல்கள் கூட மோசமான நடைமுறை என்று வாதிட்டனர், ஏனெனில் அவை போம்-ஜாகோபினி ஆதாரத்தில் தேவையில்லை, எனவே அனைத்து சுழல்களும் ஒரே வெளியேறும் புள்ளியைக் கொண்டிருக்க வேண்டும் என்று அவர்கள் வாதிட்டனர். இந்த தூய்மையான அணுகுமுறை பாஸ்கல் மொழியில் (1968-1969 இல் வடிவமைக்கப்பட்டுள்ளது) உருவகப்படுத்தப்பட்டுள்ளது, இது 1990 களின் நடுப்பகுதி வரை கல்வியில் அறிமுக நிரலாக்கத்தை கற்பிப்பதற்கான விருப்பமான கருவியாக இருந்தது. போம்-ஜாகோபினி தேற்றத்தின் நேரடி பயன்பாடு கட்டமைக்கப்பட்ட விளக்கப்படத்தில் கூடுதல் உள்ளூர் மாறிகள் அறிமுகப்படுத்தப்படுவதற்கும், சில குறியீடு நகலெடுக்கப்படுவதற்கும் வழிவகுக்கும். பாஸ்கல் இந்த இரண்டு சிக்கல்களாலும் பாதிக்கப்படுகிறார் மற்றும் எரிக் எஸ். ராபர்ட்ஸ் மேற்கோள் காட்டிய அனுபவ ஆய்வுகளின்படி, மாணவர் புரோகிராமர்கள் ஒரு வரிசையில் ஒரு உறுப்பைத் தேடுவதற்கான செயல்பாட்டை எழுதுவது உட்பட பல எளிய சிக்கல்களுக்கு பாஸ்கலில் சரியான தீர்வுகளை உருவாக்குவது கடினம். ராபர்ட்ஸ் மேற்கோள் காட்டிய ஹென்றி ஷாபிரோவின் 1980 ஆம் ஆண்டு ஆய்வில், பாஸ்கல் வழங்கிய கட்டுப்பாட்டு கட்டமைப்புகளை மட்டுமே பயன்படுத்தி, சரியான தீர்வை 20 சதவீதம் பாடங்கள் மட்டுமே அளித்தன, அதே நேரத்தில் எந்த பாடமும் இந்த சிக்கலுக்கு தவறான குறியீட்டை எழுதவில்லை. நடைமுறையில் கட்டுப்பாட்டு கட்டமைப்புகள் கட்டுப்பாட்டு கட்டமைப்புகளைக் கொண்ட பெரும்பாலான நிரலாக்க மொழிகள் ஒரு ஆரம்ப முக்கிய வார்த்தையைக் கொண்டுள்ளன, இது சம்பந்தப்பட்ட கட்டுப்பாட்டு கட்டமைப்பின் வகையைக் குறிக்கிறது. கட்டுப்பாட்டு கட்டமைப்புகள் இறுதி முக்கிய வார்த்தையைக் கொண்டுள்ளனவா இல்லையா என்பது குறித்து மொழிகள் பிரிகின்றன. இறுதி முக்கிய சொல் இல்லைஃ ALGOL 60, C, C + +, ஹாஸ்கெல், ஜாவா, பாஸ்கல், பெர்ல், PHP, PL/I, பைதான், பவர்ஷெல். அத்தகைய மொழிகளுக்கு அறிக்கைகளை ஒன்றாக தொகுக்க சில வழிகள் தேவைப்படுகின்றனஃ ALGOL 60 மற்றும் பாஸ்கல்ஃ தொடக்கம். முடிவு C, C + +, ஜாவா, பேர்ல், PHP, மற்றும் பவர்ஷெல்ஃ சுருள் அடைப்புக்குறிகள் {.} பிஎல்/I: டிஓ. முடிவு பைதான்ஃ இன்டென்ட் அளவைப் பயன்படுத்துகிறது (ஆஃப்-சைட் விதியைப் பார்க்கவும்) ஹாஸ்கெல்ஃ இன்டென்ட் நிலை அல்லது சுருள் அடைப்புக்குறிகளைப் பயன்படுத்தலாம், மேலும் அவை சுதந்திரமாக கலக்கப்படலாம் லுவாஃ பயன்படுத்துகிறது. இறுதி முக்கிய வார்த்தைஃ அடா, ஏபிஎல், ALGOL 68, மாடுலா-2, ஃபோர்ட்ரான் 77, மைத்ரில், விஷுவல் பேசிக். இறுதி முக்கிய வார்த்தையின் வடிவங்கள் வேறுபடுகின்றனஃ அடாஃ இறுதி முக்கிய சொல் எண்ட் + ஸ்பேஸ் + ஆரம்ப முக்கிய சொல் எ. கா., எண்ட் இஃப், லூப். எண்ட் லூப் ஏபிஎல்ஃ இறுதி முக்கிய சொல்ஃ எண்ட் ஆப்ஷனலி + ஆரம்ப முக்கிய சொல், எ. கா.,: இஃப்.: எண்ட் அல்லதுஃ இஃப்.: எண்ட் இஃப், செலக்ட்.: எண்ட் அல்லதுஃ செலக்ட்.: எண்ட் செலக்ட், இருப்பினும், ஒரு இறுதி நிபந்தனையைச் சேர்த்தால், இறுதி முக்கிய சொல் ஆகிறதுஃ ALGOL 68 வரை, மைத்ரில்ஃ ஆரம்ப முக்கிய சொல் பின்னோக்கி உச்சரிக்கப்படுகிறது எ. கா., என்றால். ஃபை, வழக்கு. ஈசாக் ஃபோர்ட்ரான் 77: இறுதி முக்கிய சொல் எண்ட் + ஆரம்ப முக்கிய சொல் எ. கா., ஐஃப். எண்ட் ஃபோர்ட்ரான். இஃப். எண்ட் இஃப்; ஃபார். நெக்ஸ்ட்; டூ. லூப்; வைல். வெண்ட் சாய்ஸ் இஃப்-தென்-(எல்ஸ்) அறிக்கைகள் நிபந்தனை வெளிப்பாடுகள் மற்றும் நிபந்தனை கட்டமைப்புகள் ஒரு நிரலாக்க மொழியின் அம்சங்களாகும், அவை ஒரு புரோகிராமர்-குறிப்பிட்ட பூலியன் நிலை உண்மை அல்லது தவறானது என்று மதிப்பிடுகிறதா என்பதைப் பொறுத்து வெவ்வேறு கணக்கீடுகள் அல்லது செயல்களைச் செய்கின்றன. IF.GOTO. கட்டமைக்கப்படாத மொழிகளில் காணப்படும் ஒரு படிவம், ஒரு வழக்கமான இயந்திரக் குறியீடு அறிவுறுத்தலைப் பிரதிபலிக்கும் வகையில், நிபந்தனை பூர்த்தி செய்யப்படும்போது ஒரு லேபிள் அல்லது வரி எண்ணுக்கு (கோட்டோ) செல்லும். IF.THEN. (ENDIF). ஒரு குதிப்புக்கு மட்டுப்படுத்தப்படுவதற்குப் பதிலாக, எந்தவொரு எளிய அறிக்கையும் அல்லது நெஸ்டட் பிளாக்கும், பின்னர் முக்கிய முக்கிய வார்த்தையைப் பின்பற்றலாம். இது ஒரு கட்டமைக்கப்பட்ட வடிவம். IF.THEN.ELSE. (ENDIF). மேலே உள்ளபடி, ஆனால் நிபந்தனை தவறானதாக இருந்தால் இரண்டாவது நடவடிக்கையுடன் செய்யப்பட வேண்டும். இது பல வேறுபாடுகளுடன் மிகவும் பொதுவான வடிவங்களில் ஒன்றாகும். சிலருக்கு முனைய ENDIF தேவைப்படுகிறது, மற்றவர்களுக்கு இல்லை. சி மற்றும் தொடர்புடைய மொழிகளுக்கு ஒரு முனைய முக்கிய சொல் அல்லது 'பின்னர்' தேவையில்லை, ஆனால் நிபந்தனையைச் சுற்றி அடைப்புக்குறிகள் தேவைப்படுகின்றன. நிபந்தனை அறிக்கைகள் மற்ற நிபந்தனை அறிக்கைகளுக்குள் இருக்கலாம் மற்றும் பெரும்பாலும் உள்ளன. சில மொழிகள் ELSE மற்றும் IF ஐ ELSEIF உடன் இணைக்க அனுமதிக்கின்றன, இது ஒரு கூட்டு அறிக்கையின் முடிவில் தொடர்ச்சியான ENDIF அல்லது பிற இறுதி அறிக்கைகளின் தேவையைத் தவிர்க்கிறது. குறைவான பொதுவான மாறுபாடுகள் பின்வருமாறுஃ ஃபோர்ட்ரான் போன்ற சில மொழிகள், ஒரு எண் மதிப்பு நேர்மறையானதா, எதிர்மறையானதா அல்லது பூஜ்ஜியமா என்பதை சோதிக்கும் போது, மூன்று வழி அல்லது எண்கணிதத்தைக் கொண்டுள்ளன. சில மொழிகள் ஒரு இஃப் அறிக்கையின் செயல்பாட்டு வடிவத்தைக் கொண்டுள்ளன, எடுத்துக்காட்டாக லிஸ்ப்ஸ் காண்ட். சில மொழிகள் சி இன் டெர்னரி ஆபரேட்டர் போன்ற ஒரு இஃப் அறிக்கையின் ஆபரேட்டர் வடிவத்தைக் கொண்டுள்ளன. பெர்ல் ஒரு சி-பாணியை எப்போது மற்றும் இல்லையென்றால் பூர்த்தி செய்கிறது. எந்தவொரு அடிப்படை மொழி கட்டமைப்பையும் விட, நிபந்தனைகளை செயல்படுத்த ஸ்மால்டாக் இஃப்ட்ரூ மற்றும் இஃப்ஃபால்ஸ் செய்திகளைப் பயன்படுத்துகிறது. வழக்கு மற்றும் சுவிட்ச் அறிக்கைகள் சுவிட்ச் அறிக்கைகள் (அல்லது வழக்கு அறிக்கைகள், அல்லது பல வழி கிளைகள்) கொடுக்கப்பட்ட மதிப்பை குறிப்பிட்ட மாறிலிகளுடன் ஒப்பிட்டுப் பார்த்து, பொருந்தக்கூடிய முதல் மாறிலியின் படி நடவடிக்கை எடுக்கவும். எந்தவொரு போட்டியும் வெற்றிபெறவில்லை என்றால் இயல்புநிலை நடவடிக்கை ("இல்லையெனில்", "இல்லையெனில்") எடுக்கப்பட வேண்டும். சுவிட்ச் அறிக்கைகள் தேடல் அட்டவணைகள் போன்ற தொகுப்பு உகப்பாக்கங்களை அனுமதிக்கலாம். மாறும் மொழிகளில், வழக்குகள் நிலையான வெளிப்பாடுகளுக்கு மட்டுப்படுத்தப்படாமல் இருக்கலாம், மேலும் வடிவம் பொருந்தும் வரை நீட்டிக்கப்படலாம், வலதுபுறத்தில் உள்ள ஷெல் ஸ்கிரிப்ட் எடுத்துக்காட்டில் உள்ளதைப் போல, *) இயல்புநிலை வழக்கை எந்த சரத்திற்கும் பொருந்தக்கூடிய குளோப்பாக செயல்படுத்துகிறது. SQL இன் டிகோட் அறிக்கையைப் போலவே வழக்கு தர்க்கத்தையும் செயல்பாட்டு வடிவத்தில் செயல்படுத்தலாம். சுழல்கள் ஒரு சுழற்சி என்பது ஒரு முறை குறிப்பிடப்பட்ட அறிக்கைகளின் வரிசையாகும், ஆனால் அவை தொடர்ச்சியாக பல முறை மேற்கொள்ளப்படலாம். வளையத்தின் "உள்ளே" என்ற குறியீடு (சுழற்சியின் உடல், கீழே XXX என காட்டப்பட்டுள்ளது) ஒரு குறிப்பிட்ட எண்ணிக்கையிலான முறை அல்லது ஒவ்வொரு பொருட்களின் தொகுப்புக்கும் ஒரு முறை அல்லது சில நிபந்தனைகள் பூர்த்தி செய்யப்படும் வரை அல்லது காலவரையின்றி கீழ்ப்படியப்படுகிறது. ஹாஸ்கெல் மற்றும் ஸ்கீம் போன்ற செயல்பாட்டு நிரலாக்க மொழிகளில், தொடர்ச்சியான மற்றும் மறு செய்கை செயல்முறைகள் இரண்டும் சொற்பொழிவாக இருக்கும் சுழல் கட்டமைப்புகளுக்கு பதிலாக வால் தொடர்ச்சியான நடைமுறைகளுடன் வெளிப்படுத்தப்படுகின்றன. பெரும்பாலான நிரலாக்க மொழிகள் ஒரு சுழற்சியை ஒரு குறிப்பிட்ட எண்ணிக்கையிலான முறை மீண்டும் செய்வதற்கான கட்டமைப்புகளைக் கொண்டுள்ளன. பெரும்பாலான சந்தர்ப்பங்களில் எண்ணிக்கை மேல்நோக்கி செல்வதற்குப் பதிலாக கீழ்நோக்கிச் செல்லலாம் மற்றும் 1 ஐத் தவிர வேறு படி அளவுகளைப் பயன்படுத்தலாம். இந்த எடுத்துக்காட்டுகளில், N <1 என்றால், நிரலாக்க மொழியைப் பொறுத்து, சுழற்சியின் உடல் ஒரு முறை இயக்கப்படலாம் (எனக்கு மதிப்பு 1 உள்ளது) அல்லது இல்லை. பல நிரலாக்க மொழிகளில், எண்ணிக்கை-கட்டுப்படுத்தப்பட்ட சுழற்சியில் முழு எண்களை மட்டுமே நம்பகத்தன்மையுடன் பயன்படுத்த முடியும். மிதக்கும்-புள்ளி எண்கள் வன்பொருள் கட்டுப்பாடுகள் காரணமாக துல்லியமாக குறிப்பிடப்படுகின்றன, எனவே X: = 0.1 படி 0.1 முதல் 1.0 வரை ஒரு வளையம் 9 அல்லது 10 முறை மீண்டும் மீண்டும் செய்யப்படலாம், இது ரவுண்டிங் பிழைகள் மற்றும்/அல்லது வன்பொருள் மற்றும்/அல்லது கம்பைலர் பதிப்பைப் பொறுத்து. மேலும், X இன் அதிகரிப்பு மீண்டும் மீண்டும் சேர்ப்பதன் மூலம் ஏற்பட்டால், திரட்டப்பட்ட வட்டப் பிழைகள் ஒவ்வொரு மறு செய்கையிலும் X இன் மதிப்பு எதிர்பார்க்கப்படும் வரிசை 0.01,2.3,0.1 இலிருந்து கணிசமாக வேறுபடலாம் என்று அர்த்தம். நிபந்தனை-கட்டுப்படுத்தப்பட்ட சுழல்கள் பெரும்பாலான நிரலாக்க மொழிகள் சில நிபந்தனைகள் மாறும் வரை ஒரு சுழற்சியை மீண்டும் செய்வதற்கான கட்டமைப்புகளைக் கொண்டுள்ளன. சில மாறுபாடுகள் வளையத்தின் தொடக்கத்தில் நிலையை சோதிக்கின்றன; மற்றவர்கள் அதை இறுதியில் சோதிக்கின்றனர். சோதனை ஆரம்பத்தில் இருந்தால், உடல் முழுவதுமாக தவிர்க்கப்படலாம்; அது முடிவில் இருந்தால், உடல் எப்போதும் ஒரு முறையாவது செயல்படுத்தப்படும். கட்டுப்பாட்டு இடைவெளி என்பது மதிப்புகளின் குழுக்களுக்கான செயலாக்கத்தை தூண்டுவதற்கு சாதாரண சுழல்களுக்குள் பயன்படுத்தப்படும் மதிப்பு மாற்றக் கண்டறிதல் முறையாகும். வளையத்திற்குள் மதிப்புகள் கண்காணிக்கப்படுகின்றன, மேலும் ஒரு மாற்றம் அவற்றுடன் தொடர்புடைய குழு நிகழ்வைக் கையாள்வதற்கு நிரல் ஓட்டத்தைத் திசைதிருப்புகிறது. பல நிரலாக்க மொழிகள் (எ. கா., அடா, டி, சி + + 11, ஸ்மால்டாக், பிஎச்பி, பெர்ல், ஆப்ஜெக்ட் பாஸ்கல், ஜாவா, சி #, மேட் லேப், விஷுவல் பேசிக், ரூபி, பைதான், ஜாவாஸ்கிரிப்ட், ஃபோர்ட்ரான் 95 மற்றும் அதற்கு மேற்பட்டவை) ஒரு வரிசையின் அனைத்து கூறுகள் வழியாக மறைமுகமாக சுழல அனுமதிக்கும் சிறப்பு கட்டமைப்புகளைக் கொண்டுள்ளன. சில தொகுப்புகள்ஃ [: EachElement |xxx]. சேகரிப்பில் உள்ள பொருள் XXX முனையில் தொடங்குகிறது; முன்னுரை (உருப்படி; மை கலெக்ஷன்) {XXX} சிலரே {XXX} முன்னுரை ($சிலரே $k => $v) {XXX} கலெக்ஷன் <ஸ்ட்ரிங்> கோல்; (ஸ்ட்ரிங் s: கோல்) {} முன்னுரை (ஸ்ட்ரிங் s இன் ஸ்ட்ரிங் s இன் மை ஸ்ட்ரிங் கலெக்ஷன்) {XXX} சில கலெக்ஷன் | ஒவ்வொரு பொருளுக்கும் {$_} அனைத்திற்கும் (குறியீடு = முதல்ஃ கடைசிஃ படி.) ஸ்காலாவில் வெளிப்பாடுகளுக்கான வெளிப்பாடுகள் உள்ளன, அவை சேகரிப்பு-கட்டுப்படுத்தப்பட்ட சுழல்களை பொதுமைப்படுத்துகின்றன, மேலும் ஒத்திசைவற்ற நிரலாக்கம் போன்ற பிற பயன்பாடுகளையும் ஆதரிக்கின்றன. ஹாஸ்கெல் செய்ய வேண்டிய வெளிப்பாடுகள் மற்றும் புரிதல்களைக் கொண்டுள்ளார், இவை ஸ்காலாவில் உள்ள வெளிப்பாடுகளுக்கு ஒத்த செயல்பாட்டை வழங்குகின்றன. பொது மறு செய்கை அறிக்கைக்கு சி மற்றும் காமன் லிஸ்ப் போன்ற பொது மறு செய்கை கட்டமைப்புகள் மேற்கூறிய எந்த வகையான சுழல்களையும் வெளிப்படுத்த பயன்படுத்தப்படலாம், மேலும் சில எண்ணிக்கையிலான தொகுப்புகளை இணையாக சுழற்றுவது போன்ற பிற. மிகவும் குறிப்பிட்ட சுழல் கட்டமைப்பைப் பயன்படுத்தக்கூடிய இடத்தில், இது பொதுவாக பொதுவான மறு செய்கை கட்டமைப்பை விட விரும்பப்படுகிறது, ஏனெனில் இது பெரும்பாலும் வெளிப்பாட்டின் நோக்கத்தை தெளிவுபடுத்துகிறது. எல்லையற்ற சுழல்கள் எல்லையற்ற சுழல்கள் ஒரு நிரல் பிரிவு சுழல்களை என்றென்றும் உறுதிப்படுத்த அல்லது பிழை போன்ற ஒரு விதிவிலக்கான நிபந்தனை எழும் வரை பயன்படுத்தப்படுகின்றன. உதாரணமாக, ஒரு நிகழ்வு-உந்துதல் நிரல் (ஒரு சேவையகம் போன்றவை) எப்போதும் சுழல வேண்டும், நிகழ்வுகள் ஏற்படுவதைக் கையாள வேண்டும், ஒரு ஆபரேட்டரால் செயல்முறை நிறுத்தப்படும்போது மட்டுமே நிறுத்தப்படும். எல்லையற்ற சுழல்களை மற்ற கட்டுப்பாட்டு ஓட்ட கட்டமைப்புகளைப் பயன்படுத்தி செயல்படுத்தலாம். மிகவும் பொதுவாக, கட்டமைக்கப்படாத நிரலாக்கத்தில் இது ஜம்ப் பேக் அப் (கோட்டோ) ஆகும், அதே நேரத்தில் கட்டமைக்கப்பட்ட நிரலாக்கத்தில் இது ஒரு காலவரையற்ற வளையமாகும் (வெயில் லூப்) இது ஒருபோதும் முடிவடையாது, நிபந்தனையைத் தவிர்ப்பதன் மூலமோ அல்லது வெளிப்படையாக அதை உண்மையாக அமைப்பதன் மூலமோ, வெயில் (உண்மை). சில மொழிகள் எல்லையற்ற சுழல்களுக்கு சிறப்பு கட்டமைப்புகளைக் கொண்டுள்ளன, பொதுவாக காலவரையற்ற சுழற்சியில் இருந்து நிபந்தனையைத் தவிர்ப்பதன் மூலம். எடுத்துக்காட்டுகளில் அடா (லூப். எண்ட் லூப்), ஃபோர்ட்ரான் (டிஓ. எண்ட் டிஓ), கோ ({.} க்கு) மற்றும் ரூபி (லூப் டூ. எண்ட்) ஆகியவை அடங்கும். பெரும்பாலும், நிபந்தனை-கட்டுப்படுத்தப்பட்ட வளையத்தில் ஒரு நிரலாக்க பிழையால் ஒரு எல்லையற்ற வளையம் தற்செயலாக உருவாக்கப்படுகிறது, இதில் வளைய நிபந்தனை வளையத்திற்குள் ஒருபோதும் மாறாத மாறிகளைப் பயன்படுத்துகிறது. அடுத்த மறு செய்கையுடன் தொடர்ச்சி சில நேரங்களில் ஒரு வளையத்தின் உட்புறத்திற்குள் வளையத்தின் மீதமுள்ள பகுதியைத் தவிர்த்து, வளையத்தின் அடுத்த மறு செய்கையுடன் தொடர விருப்பம் உள்ளது. சில மொழிகள் தொடர்வது (பெரும்பாலான மொழிகள்), தவிர்ப்பது, சுழற்சி (ஃபோர்ட்ரான்) அல்லது அடுத்தது (பெர்ல் மற்றும் ரூபி) போன்ற ஒரு அறிக்கையை வழங்குகின்றன, இது இதைச் செய்யும். இதன் விளைவு என்னவென்றால், உட்புற வளையத்தை முன்கூட்டியே முடக்கி, பின்னர் அடுத்த மறு செய்கையுடன் இயல்பாக மீண்டும் தொடங்குவதாகும். சுழற்சியில் மறு செய்கை கடைசியாக இருந்தால், இதன் விளைவு முழு சுழற்சியையும் முன்கூட்டியே நிறுத்துவதாகும். பெர்ல் மற்றும் ரூபி போன்ற சில மொழிகள், தற்போதைய மறு செய்கையை தொடக்கத்திலிருந்தே மறுதொடக்கம் செய்யும் மறு செய்கை அறிக்கையைக் கொண்டுள்ளன. லூபை மறுதொடக்கம் செய்யுங்கள் ரூபி ஒரு மறு முயற்சி அறிக்கையைக் கொண்டுள்ளது, இது ஆரம்ப மறு செய்கையிலிருந்து முழு லூபையும் மறுதொடக்கம் செய்கிறது. சுழல்களிலிருந்து முன்கூட்டியே வெளியேறுங்கள் ஒரு அட்டவணையின் வழியாக தேடுவதற்கு எண்ணிக்கை-கட்டுப்படுத்தப்பட்ட சுழற்சியைப் பயன்படுத்தும் போது, தேவையான உருப்படி கண்டுபிடிக்கப்பட்டவுடன் தேடுவதை நிறுத்துவது விரும்பத்தக்கதாக இருக்கலாம். சில நிரலாக்க மொழிகள் இடைவெளி (பெரும்பாலான மொழிகள்), வெளியேறு (விஷுவல் பேசிக்) அல்லது கடைசி (பெர்ல்) போன்ற ஒரு அறிக்கையை வழங்குகின்றன, இதன் விளைவு தற்போதைய சுழற்சியை உடனடியாக நிறுத்துவதும், அந்த சுழற்சிக்குப் பிறகு உடனடியாக அறிக்கைக்கு கட்டுப்பாட்டை மாற்றுவதும் ஆகும். முன்கூட்டியே வெளியேறும் சுழல்களுக்கான மற்றொரு சொல் லூப்-அண்ட்-ஹாஃப் ஆகும். பின்வரும் உதாரணம் அடாவில் செய்யப்படுகிறது, இது சுழல்கள் மற்றும் சுழல்களிலிருந்து முன்கூட்டியே வெளியேறுவதை ஆதரிக்கிறது, நடுவில் சோதனை செய்யப்படுகிறது. இரண்டு அம்சங்களும் மிகவும் ஒத்தவை மற்றும் இரண்டு குறியீடு துணுக்குகளையும் ஒப்பிடுவது வித்தியாசத்தைக் காண்பிக்கும்ஃ ஆரம்ப வெளியேற்றம் ஒரு இஃப் அறிக்கையுடன் இணைக்கப்பட வேண்டும், அதே நேரத்தில் நடுவில் உள்ள ஒரு நிபந்தனை ஒரு தன்னிறைவு கட்டமைப்பாகும். Ada.Text IO உடன்; Ada.Integer உரை IO உடன்; செயல்முறை பிரிண்ட் _ ஸ்கொயர்ஸ் என்பது X: முழு எண்; தொடங்கு ரீட் _ டேட்டாஃ லூப் Ada.Integer டெக்ஸ்ட் IO.Get (X); வெளியேறு ரீட் _ டேட்டா X = 0 ஆக இருக்கும்போது; Ada.Text IO.Put (X * X); Ada.Text IO.New_Line; எண்ட் லூப் ரீட் _ டேட்டா; எண்ட் பிரிண்ட் _ ஸ்கொயர்ஸ்; ஒரு லூப் முன்கூட்டியே வெளியேறியதா என்பதைப் பொறுத்து குறியீட்டின் நிபந்தனை நிறைவேற்றத்தை பைதான் ஆதரிக்கிறது (இடைவெளி அறிக்கையுடன்) அல்லது லூப் உடன் வேறு-உட்பிரிவைப் பயன்படுத்துவதன் மூலம் அல்ல. எடுத்துக்காட்டாக, செட் _ ஆஃப் _ எண்களில் உள்ள n க்குஃ ப்ரைம் (n) என்றால்ஃ பிரிண்ட் ("செட்டில் ஒரு பிரைம் எண் உள்ளது") பிரேக் எல்ஸ்ஃ பிரிண்ட் ("செட்டில் எந்த பிரைம் எண்களும் இல்லை") மேலே உள்ள எடுத்துக்காட்டில் உள்ள மற்ற பிரிவு ஃபார் ஸ்டேட்மெண்ட்டுடன் இணைக்கப்பட்டுள்ளது, இன்னர் இஃப் ஸ்டேட்மெண்ட்டுடன் அல்ல. பைத்தானின் ஃபார் மற்றும் வெயில் லூப்கள் இரண்டும் அத்தகைய எல்ஸ் பிரிவை ஆதரிக்கின்றன, இது வளையத்தின் ஆரம்ப வெளியேற்றம் ஏற்படவில்லை என்றால் மட்டுமே செயல்படுத்தப்படும். சில மொழிகள் உள்ளமைக்கப்பட்ட சுழல்களிலிருந்து வெளியேறுவதை ஆதரிக்கின்றன; கோட்பாட்டு வட்டங்களில், இவை பல நிலை இடைவெளிகள் என்று அழைக்கப்படுகின்றன. ஒரு பொதுவான பயன்பாட்டு எடுத்துக்காட்டு பல பரிமாண அட்டவணையைத் தேடுவதாகும். இது பாஷ் மற்றும் பிஎச்பி போல பல நிலை இடைவெளிகள் (என் நிலைகளிலிருந்து உடைத்தல்) வழியாகவோ அல்லது ஜாவா மற்றும் பெர்ல் போல பெயரிடப்பட்ட இடைவெளிகள் (பிரேக் அவுட் மற்றும் கொடுக்கப்பட்ட லேபிளில் தொடரவும்) வழியாகவோ செய்யப்படலாம். பல நிலை இடைவெளிகளின் மாற்றுகளில் ஒற்றை இடைவெளிகள் அடங்கும், மேலும் ஒரு நிலை மாறி மற்றொரு மட்டத்தை உடைக்க சோதிக்கப்படுகிறது; விதிவிலக்குகள், அவை உடைக்கப்படும் மட்டத்தில் பிடிக்கப்படுகின்றன; ஒரு செயல்பாட்டில் உள்ளமைக்கப்பட்ட சுழல்களை வைப்பது மற்றும் முழு உள்ளமைக்கப்பட்ட சுழற்சியையும் முடிவுக்கு கொண்டு வருவதைப் பயன்படுத்துதல்; அல்லது ஒரு லேபிள் மற்றும் கோட்டோ அறிக்கையைப் பயன்படுத்துதல். சி ஒரு பன்முக இடைவெளியை சேர்க்கவில்லை, மேலும் பெயரிடப்பட்ட இடைவெளியை செயல்படுத்த கோட்டோவைப் பயன்படுத்துவது வழக்கமான மாற்றாகும். பைத்தானுக்கு பல நிலை இடைவெளி அல்லது தொடர்ச்சி இல்லை-இது PEP 3136 இல் முன்மொழியப்பட்டது, மேலும் சேர்க்கப்பட்ட சிக்கலானது அரிதான நியாயமான பயன்பாட்டிற்கு மதிப்பில்லை என்ற அடிப்படையில் நிராகரிக்கப்பட்டது. பல நிலை இடைவெளிகள் என்ற கருத்து கோட்பாட்டு கணினி அறிவியலில் சில ஆர்வத்தைக் கொண்டுள்ளது, ஏனெனில் இது இன்று கோசராஜு படிநிலை என்று அழைக்கப்படுகிறது. 1973 ஆம் ஆண்டில் எஸ். ராவ் கோசராஜு கட்டமைக்கப்பட்ட நிரல் தேற்றத்தை செம்மைப்படுத்தினார், கட்டமைக்கப்பட்ட நிரலாக்கத்தில் கூடுதல் மாறிகளைச் சேர்ப்பதைத் தவிர்க்க முடியும் என்பதை நிரூபித்தார், தன்னிச்சையான-ஆழம், சுழல்களிலிருந்து பல நிலை இடைவெளிகள் அனுமதிக்கப்படும் வரை. மேலும், கோசராஜு நிரல்களின் கடுமையான படிநிலை உள்ளது என்பதை நிரூபித்தார்ஃ ஒவ்வொரு முழு எண் n க்கும், ஆழம் n இன் பல நிலை இடைவெளியைக் கொண்ட ஒரு நிரல் உள்ளது, இது கூடுதல் மாறிகளை அறிமுகப்படுத்தாமல் n க்கும் குறைவான ஆழத்தின் பல நிலை இடைவெளிகளைக் கொண்ட ஒரு நிரலாக மீண்டும் எழுத முடியாது. லூப் செய்யப்பட்ட அறிக்கைகளை இயக்கும் ஒரு சப்ரூட்டினிலிருந்து ஒருவர் வெளியே வரலாம், நெஸ்டட் லூப் மற்றும் சப்ரூட்டின் இரண்டிலிருந்தும் உடைக்கலாம். பல இடைவெளிகளுக்கு பிற முன்மொழியப்பட்ட கட்டுப்பாட்டு கட்டமைப்புகள் உள்ளன, ஆனால் இவை பொதுவாக விதிவிலக்குகளாக செயல்படுத்தப்படுகின்றன. டேவிட் வாட் தனது 2004 பாடப்புத்தகத்தில், பல நிலை இடைவெளிகள் மற்றும் திரும்பும் அறிக்கைகளுக்கு இடையிலான ஒற்றுமையை விளக்க டென்னெண்டின் சீக்வென்சர் கருத்தை பயன்படுத்துகிறார். எஸ்கேப் சீக்வென்சர்கள் என்று அழைக்கப்படும் ஒரு வகை சீக்வென்சர்கள், "உரை இணைக்கப்பட்ட கட்டளை அல்லது நடைமுறையை நிறைவேற்றுவதை நிறுத்தும் சீக்வென்சர்" என்று வரையறுக்கப்படுகிறது, இது சுழல்களிலிருந்து இடைவெளிகள் (பல நிலை இடைவெளிகள் உட்பட) மற்றும் திரும்பும் அறிக்கைகள் ஆகிய இரண்டையும் உள்ளடக்கியது என்று வாட் குறிப்பிடுகிறார். இருப்பினும், பொதுவாக செயல்படுத்தப்படுவது போல, ரிட்டர்ன் சீக்வென்சர்களும் ஒரு (ரிட்டர்ன்) மதிப்பைக் கொண்டிருக்கலாம், அதேசமயம் சமகால மொழிகளில் செயல்படுத்தப்படும் பிரேக் சீக்வென்சர் பொதுவாக முடியாது. சுழல்களின் சரியான தன்மையை வெளிப்படுத்த சுழல் மாறுபாடுகள் மற்றும் மாறாத சுழல் மாறுபாடுகள் மற்றும் சுழல் மாறிலிகள் பயன்படுத்தப்படுகின்றன. நடைமுறையில், ஒரு வளைய மாறுபாடு என்பது ஒரு முழு எண் வெளிப்பாடாகும், இது ஆரம்ப எதிர்மறை அல்லாத மதிப்பைக் கொண்டுள்ளது. ஒவ்வொரு சுழற்சி மறு செய்கையின் போதும் மாறுபாட்டின் மதிப்பு குறைய வேண்டும், ஆனால் சுழற்சியின் சரியான செயல்பாட்டின் போது எதிர்மறையாக மாறக்கூடாது. சுழல்கள் நிறுத்தப்படும் என்பதை உறுதிப்படுத்த லூப் மாறுபாடுகள் பயன்படுத்தப்படுகின்றன. ஒரு லூப் மாறாதது என்பது முதல் லூப் மறு செய்கைக்கு முன் உண்மையாக இருக்க வேண்டும் மற்றும் ஒவ்வொரு மறு செய்கைக்குப் பிறகும் உண்மையாக இருக்க வேண்டும். ஒரு வளையம் சரியாக முடிவடையும் போது, வெளியேறும் நிபந்தனை மற்றும் வளையம் மாறாதவை இரண்டும் திருப்தி அடைகின்றன என்பதை இது குறிக்கிறது. தொடர்ச்சியான மறு செய்கைகளின் போது ஒரு வளையத்தின் குறிப்பிட்ட பண்புகளைக் கண்காணிக்க வளைய மாறிலிகள் பயன்படுத்தப்படுகின்றன. ஈஃபிள் போன்ற சில நிரலாக்க மொழிகள் வளைய மாறுபாடுகள் மற்றும் மாறுபாடுகளுக்கான சொந்த ஆதரவைக் கொண்டுள்ளன. மற்ற சந்தர்ப்பங்களில், ஜாவாவில் லூப் அறிக்கைகளுக்கான ஜாவா மாடலிங் மொழியின் விவரக்குறிப்பு போன்ற ஆதரவு ஒரு துணை நிரலாகும். சில லிஸ்ப் பேச்சுவழக்குகள் லூப்களை விவரிக்க ஒரு விரிவான துணை மொழியை வழங்குகின்றன. ஒரு ஆரம்ப உதாரணத்தை இன்டர்லிஸ்பின் கன்வெர்சனல் லிஸ்ப் இல் காணலாம். காமன் லிஸ்ப் ஒரு லூப் மேக்ரோவை வழங்குகிறது, இது அத்தகைய துணை மொழியை செயல்படுத்துகிறது. லூப் சிஸ்டம் குறுக்கு-குறிப்பு அட்டவணை (உண்மை) இந்த நோக்கத்திற்காக ஒரு எல்லையற்ற வளையமாக கருதப்படுவதில்லை, ஏனெனில் இது ஒரு பிரத்யேக மொழி அமைப்பு அல்ல. சி 'ஸ் ஃபார் (init; டெஸ்ட்; இன்க்ரிமென்ட்) லூப் என்பது ஒரு பொதுவான லூப் கட்டமைப்பாகும், குறிப்பாக எண்ணும் ஒன்று அல்ல, இருப்பினும் இது பெரும்பாலும் அதற்கு பயன்படுத்தப்படுகிறது. லேபிள்கள் மற்றும் கோட்டோக்களைப் பயன்படுத்துவதன் மூலம் ஏபிஎல், சி, சி + + மற்றும் சி #ஆகியவற்றில் ஆழமான இடைவெளிகள் நிறைவேற்றப்படலாம். பொருட்களின் மீது மறு செய்கை PHP 5 இல் சேர்க்கப்பட்டது. ஒரு எண்ணும் வளையத்தை ஒரு அதிகரிப்பு பட்டியல் அல்லது ஜெனரேட்டரை மீண்டும் மீண்டும் செய்வதன் மூலம் உருவகப்படுத்தலாம், எடுத்துக்காட்டாக, பைத்தானின் வரம்பு (). விதிவிலக்கு கையாளுதலைப் பயன்படுத்துவதன் மூலம் ஆழமான இடைவெளிகள் நிறைவேற்றப்படலாம். இதற்கு எந்த சிறப்பு கட்டமைப்பும் இல்லை, ஏனெனில் இதற்கு வெயில் செயல்பாட்டைப் பயன்படுத்தலாம். சிறப்பு கட்டுமானம் எதுவும் இல்லை, ஆனால் பயனர்கள் பொதுவான வளைய செயல்பாடுகளை வரையறுக்க முடியும். சி + + 11 தரநிலை வரம்பை அடிப்படையாகக் கொண்டது. எஸ். டி. எல். இல், ஒவ்வொரு டெம்ப்ளேட் செயல்பாட்டிற்கும் ஒரு எஸ். டி. டி.:: உள்ளது, இது எஸ். டி. எல் கொள்கலன்களில் மீண்டும் மீண்டும் செய்து ஒவ்வொரு உறுப்புக்கும் ஒரு யூனரி செயல்பாட்டை அழைக்க முடியும். இந்த கொள்கலன்களில் மேக்ரோவாகவும் செயல்பாட்டை உருவாக்க முடியும். எண்ணிக்கை-கட்டுப்படுத்தப்பட்ட சுழற்சி ஒரு முழு எண் இடைவெளி முழுவதும் மறு செய்கை மூலம் பாதிக்கப்படுகிறது; வெளியேறும் கூடுதல் நிபந்தனையைச் சேர்ப்பதன் மூலம் முன்கூட்டியே வெளியேறுங்கள். ஈஃபிள் ஒரு ஒதுக்கப்பட்ட சொல் மறுபயன்பாட்டை ஆதரிக்கிறது, இருப்பினும் இது லூப் கட்டுப்பாடு அல்ல, விதிவிலக்கு கையாளுதலில் பயன்படுத்தப்படுகிறது. ஜாவா மாடலிங் மொழி (ஜே. எம். எல்) நடத்தை இடைமுக விவரக்குறிப்பு மொழி தேவைப்படுகிறது. வளைய மாறுபாடுகள் முழு எண்களாக இருக்க வேண்டும்; வரம்பற்ற மாறுபாடுகள் ஆதரிக்கப்படவில்லை. டி எல்லையற்ற சேகரிப்புகளை ஆதரிக்கிறது, மேலும் அந்த சேகரிப்புகளை மீண்டும் மீண்டும் செய்யும் திறனை ஆதரிக்கிறது. இதற்கு எந்த சிறப்பு கட்டமைப்பும் தேவையில்லை. கோ டூ மற்றும் நடைமுறைகளைப் பயன்படுத்தி ஆழமான இடைவெளிகளை அடைய முடியும். காமன் லிஸ்ப் பொதுவான சேகரிப்பு வகையின் கருத்தை முன்கூட்டியே குறிப்பிடுகிறது. கட்டமைக்கப்பட்ட உள்ளூர் அல்லாத கட்டுப்பாட்டு ஓட்டம் பல நிரலாக்க மொழிகள், குறிப்பாக மிகவும் மாறும் நிரலாக்க பாணிகளை ஆதரிப்பவை, உள்ளூர் அல்லாத கட்டுப்பாட்டு ஓட்டத்திற்கான கட்டமைப்புகளை வழங்குகின்றன. இவை நிறைவேற்றத்தின் ஓட்டத்தை ஒரு குறிப்பிட்ட சூழலிலிருந்து குதித்து, முன்னரே அறிவிக்கப்பட்ட ஒரு கட்டத்தில் மீண்டும் தொடங்குகின்றன. நிபந்தனைகள், விதிவிலக்குகள் மற்றும் தொடர்ச்சிகள் ஆகியவை உள்ளூர் அல்லாத கட்டுப்பாட்டு கட்டமைப்புகளின் மூன்று பொதுவான வகைகளாகும்; ஜெனரேட்டர்கள், கோரோடின்கள் மற்றும் ஒத்திசைவற்ற முக்கிய சொல் போன்ற மிகவும் கவர்ச்சியானவையும் உள்ளன. நிபந்தனைகள் பிஎல்/ஐ சில 22 நிலையான நிபந்தனைகளைக் கொண்டுள்ளது (எ. கா., ஜீரோடிவைட் சப்ஸ்கிரிப்ட் எண்ட்பைல்) அவை எழுப்பப்படலாம் மற்றும் அவை பின்வருவனவற்றால் இடைமறிக்கப்படலாம்ஃ நிபந்தனை நடவடிக்கையில்; புரோகிராமர்கள் தங்கள் சொந்த பெயரிடப்பட்ட நிபந்தனைகளை வரையறுத்து பயன்படுத்தலாம். கட்டமைக்கப்படாததைப் போலவே, ஒரே ஒரு அறிக்கையை மட்டுமே குறிப்பிட முடியும், எனவே பல சந்தர்ப்பங்களில் கட்டுப்பாட்டு ஓட்டம் எங்கு மீண்டும் தொடங்க வேண்டும் என்பதை தீர்மானிக்க ஒரு கோட்டோ தேவைப்படுகிறது. துரதிர்ஷ்டவசமாக, சில செயலாக்கங்கள் இடம் மற்றும் நேரம் இரண்டிலும் கணிசமான மேல்நிலையைக் கொண்டிருந்தன (குறிப்பாக சப்ஸ்கிரிப்ட்ரேஞ்ச்), எனவே பல புரோகிராமர்கள் நிபந்தனைகளைப் பயன்படுத்துவதைத் தவிர்க்க முயன்றனர். பொதுவான சொற்றொடர் எடுத்துக்காட்டுகள்ஃ நிபந்தனை கோட்டோ லேபிள் விதிவிலக்குகள் நவீன மொழிகள் விதிவிலக்கு கையாளுதலுக்கான ஒரு சிறப்பு கட்டமைக்கப்பட்ட கட்டமைப்பைக் கொண்டுள்ளன, அவை கோட்டோ அல்லது (பல நிலை) இடைவெளிகள் அல்லது வருமானத்தைப் பயன்படுத்துவதை நம்பியிருக்கவில்லை. எடுத்துக்காட்டாக, சி + + இல் ஒருவர் எழுதலாம்ஃ முயற்சி செய்யுங்கள் {XXX1// இங்கே எங்காவது XXX2// பயன்படுத்தவும்ஃ 'எறியுங்கள்' 'சில மதிப்பு; XXX3} கேட்ச் (சில கிளாஸ் & சிலஐடி) {// சில கிளாஸ் நடவடிக்கையின் கேட்ச் மதிப்பு ஃபார் சோம் கிளாஸ்} கேட்ச் (சில வகை & மற்றொருஐடி) {// சில வகை நடவடிக்கையின் கேட்ச் மதிப்பு ஃபார் சோம் டைப்} கேட்ச் (.) {// ஏற்கனவே பிடிக்கப்படாத எதையும் பிடிக்கவும். ஒரு குறிப்பிட்ட வீசுதலுடன் பொருந்தக்கூடிய கேட்ச் இல்லையென்றால், பொருந்தக்கூடிய கேட்ச் காணப்படும் வரை அல்லது முக்கிய ப்ரோக்ராமின் முடிவை அடையும் வரை சப்ரூட்டின் அழைப்புகள் மற்றும்/அல்லது நெஸ்டட் பிளாக்குகள் மூலம் கட்டுப்படுத்தவும், அந்த நேரத்தில் ப்ரோக்ராம் பொருத்தமான பிழை செய்தியுடன் வலுக்கட்டாயமாக நிறுத்தப்படுகிறது. சி + + இன் செல்வாக்கின் மூலம், கேட்ச் என்பது ஜாவா அல்லது சி #போன்ற இன்று பிரபலமான பிற மொழிகளில் ஒரு வடிவத்துடன் பொருந்தக்கூடிய விதிவிலக்கு கையாளியை அறிவிக்க ஒதுக்கப்பட்ட முக்கிய வார்த்தையாகும். அடா போன்ற வேறு சில மொழிகள் விதிவிலக்கு கையாளியை அறிமுகப்படுத்த முக்கிய வார்த்தையை விதிவிலக்காகப் பயன்படுத்துகின்றன, பின்னர் முறை பொருத்தத்திற்கு வேறு முக்கிய வார்த்தையை (அடாவில் இருக்கும்போது) கூட பயன்படுத்தலாம். ஆப்பிள்ஸ்கிரிப்ட் போன்ற சில மொழிகள் விதிவிலக்கு ஏற்படும் போது பல தகவல்களைத் தானாகப் பிரித்தெடுக்க விதிவிலக்கு கையாளும் தொடரமைப்பில் இடப்பெயர்களை இணைக்கின்றன. இந்த அணுகுமுறை ஆப்பிள்ஸ்கிரிப்ட்டில் உள்ள பிழை கட்டமைப்பால் கீழே எடுத்துக்காட்டப்பட்டுள்ளதுஃ பிழையில் எனது எண்ணை எனது எண்ணாக அமைக்க முயற்சிக்கவும் e எண் n ஐ f முதல் t பகுதி முடிவு pr வரை அமைக்க முயற்சிக்கவும் (e = "பூஜ்ஜியத்தால் வகுக்க முடியாது") பின்னர் காட்சி உரையாடல் "நீங்கள் அதை செய்யக்கூடாது" இறுதியில் முயற்சிக்க டேவிட் வாட்டின் 2004 பாடப்புத்தகமும் சீக்வென்சர்களின் கட்டமைப்பில் விதிவிலக்கு கையாளுதலை பகுப்பாய்வு செய்கிறது (சுழல்களிலிருந்து முன்கூட்டியே வெளியேறுவது குறித்த பிரிவில் இந்த கட்டுரையில் அறிமுகப்படுத்தப்பட்டுள்ளது). ஒரு அசாதாரண சூழ்நிலை, பொதுவாக எண்கணித நிரம்பி வழிவது அல்லது கோப்பு கண்டுபிடிக்கப்படாதது போன்ற உள்ளீடு/வெளியீட்டு தோல்விகளுடன் எடுத்துக்காட்டப்படுகிறது, இது ஒரு வகையான பிழையாகும், இது "சில குறைந்த அளவிலான நிரல் பிரிவில் கண்டறியப்படுகிறது, ஆனால் ஒரு கையாளுபவர் மிகவும் இயற்கையாகவே உயர் மட்ட நிரல் பிரிவில் அமைந்துள்ளது". எடுத்துக்காட்டாக, ஒரு நிரலில் கோப்புகளைப் படிக்க பல அழைப்புகள் இருக்கலாம், ஆனால் ஒரு கோப்பு கண்டுபிடிக்கப்படாதபோது செய்ய வேண்டிய செயல் நிரலின் கேள்விக்குரிய கோப்பின் அர்த்தத்தைப் (நோக்கம்) சார்ந்துள்ளது, இதனால் இந்த அசாதாரண சூழ்நிலைக்கான கையாளுதல் வழக்கத்தை குறைந்த அளவிலான கணினி குறியீட்டில் கண்டுபிடிக்க முடியாது. ஒற்றை-வெளியேறும் கட்டமைக்கப்பட்ட நிரலாக்கம் அல்லது (பல-வெளியேறும்) ரிட்டர்ன் சீக்வென்சர்கள் கூட அழைப்பாளரில் நிலைக் கொடிகள் சோதனையை அறிமுகப்படுத்துவது, "பயன்பாட்டுக் குறியீடு நிலைக் கொடிகளின் சோதனைகளால் குழப்பமடைகிறது" மற்றும் "புரோகிராமர் ஒரு நிலைக் கொடியை சோதிக்க மறந்துவிடலாம் அல்லது சோம்பேறித்தனமாக தவிர்க்கலாம்" என்ற சூழ்நிலையில் விளைகிறது என்று வாட்ஸ் மேலும் குறிப்பிடுகிறார். உண்மையில், நிலைக் கொடிகளால் குறிக்கப்படும் அசாதாரண சூழ்நிலைகள் இயல்பாகவே புறக்கணிக்கப்படுகின்றன! " ஸ்டேட்டஸ் ஃபிளாக்ஸ் சோதனைக்கு மாறாக, விதிவிலக்குகள் எதிர் இயல்புநிலை நடத்தையைக் கொண்டுள்ளன என்று வாட் குறிப்பிடுகிறார், இதனால் புரோகிராமர் விதிவிலக்கை ஏதோ ஒரு வகையில் வெளிப்படையாகக் கையாளாவிட்டால், அதை புறக்கணிக்க வெளிப்படையான குறியீட்டைச் சேர்ப்பதன் மூலம் நிரலை நிறுத்தக்கூடும். இந்த வாதங்களின் அடிப்படையில், வாட், ஜம்ப் சீக்வென்சர்கள் அல்லது எஸ்கேப் சீக்வென்சர்கள் மேலே விவாதிக்கப்பட்ட சொற்பொருள்களுடன் ஒரு பிரத்யேக விதிவிலக்கு சீக்வென்சரைப் போல பொருத்தமானவை அல்ல என்று முடிவு செய்கிறார். பொருள் பாஸ்கல், டி, ஜாவா, சி #மற்றும் பைதான் ஆகியவற்றில் முயற்சி கட்டமைப்பில் இறுதியாக ஒரு உட்பிரிவைச் சேர்க்கலாம். எவ்வளவு கட்டுப்பாடு முயற்சியை விட்டுச் சென்றாலும், இறுதியாக உட்பிரிவுக்குள் உள்ள குறியீடு செயல்படுத்தப்படுவதற்கு உத்தரவாதம் அளிக்கப்படுகிறது. செயலாக்கம் முடிந்ததும் ஒரு விலையுயர்ந்த வளத்தை (திறந்த கோப்பு அல்லது தரவுத்தள இணைப்பு போன்றவை) கைவிட வேண்டிய குறியீட்டை எழுதும் போது இது பயனுள்ளதாக இருக்கும்ஃ ஃபைல்ஸ்ட்ரீம் எஸ்டிஎம் = பூஜ்யம்;// சி #எடுத்துக்காட்டு முயற்சிக்கவும் {எஸ்டிஎம் = புதிய ஃபைல்ஸ்ட்ரீம் ("logfile.txt", FileMode.Create); திரும்பும் பிராசஸ் ஸ்டஃப் (எஸ்டிஎம்);// ஒரு விதிவிலக்கை வீசலாம்} இறுதியாக {(எஸ்டிஎம்! = பூஜ்யம்) stm.Close ();} இந்த முறை மிகவும் பொதுவானதாக இருப்பதால், சி #க்கு ஒரு சிறப்பு தொடரியல் உள்ளதுஃ பயன்படுத்துதல் (வர் எஸ்டிஎம் = புதிய ஃபைல் ஸ்ட்ரீம் ("logfile.txt", FileMode.Create)) பைத்தானின் அறிக்கையுடன் மற்றும் File.open க்கு ரூபியின் பிளாக் வாதம் இதே போன்ற விளைவுக்கு பயன்படுத்தப்படுகின்றன. மேலே குறிப்பிடப்பட்ட அனைத்து மொழிகளும் நிலையான விதிவிலக்குகளையும் அவை வீசப்படும் சூழ்நிலைகளையும் வரையறுக்கின்றன. பயனர்கள் தங்கள் சொந்த விதிவிலக்குகளை எறியலாம்; உண்மையில் சி + + பயனர்கள் இன்ட் போன்ற அடிப்படை வகைகள் உட்பட கிட்டத்தட்ட எந்த வகையையும் வீசவும் பிடிக்கவும் அனுமதிக்கிறது, அதே நேரத்தில் ஜாவா போன்ற பிற மொழிகள் அனுமதிக்கப்படுவதில்லை. தொடர்ச்சிகள் ஒத்திசைவு சி #5.0 ஒத்திசைவற்ற ஐ/ஓ ஐ "நேரடி பாணியில்" ஆதரிப்பதற்கான ஒத்திசைவற்ற முக்கிய வார்த்தையை அறிமுகப்படுத்தியது. செமிகோரோடின்கள் என்றும் அழைக்கப்படும் ஜெனரேட்டர்கள் ஜெனரேட்டர்கள், ஒரு நுகர்வோர் முறைக்கு தற்காலிகமாக கட்டுப்பாட்டை வழங்க அனுமதிக்கின்றன, பொதுவாக ஒரு முக்கிய வார்த்தையைப் பயன்படுத்துகின்றன (விளைச்சல் விளக்கம்). ஒத்திசைவற்ற முக்கிய வார்த்தையைப் போலவே, இது "நேரடி பாணியில்" நிரலாக்கத்தை ஆதரிக்கிறது. கோரோடின்கள் என்பது ஒருவருக்கொருவர் கட்டுப்பாட்டை வழங்கக்கூடிய செயல்பாடுகளாகும்-நூல்கள் இல்லாமல் கூட்டுறவு பலதரப்பட்ட பணியின் ஒரு வடிவம். நிரலாக்க மொழி தொடர்ச்சிகள் அல்லது ஜெனரேட்டர்களை வழங்கினால் கோரோடின்களை ஒரு நூலகமாக செயல்படுத்த முடியும்-எனவே நடைமுறையில் கோரோடின்களுக்கும் ஜெனரேட்டர்களுக்கும் இடையிலான வேறுபாடு ஒரு தொழில்நுட்ப விவரமாகும். உள்ளூர் அல்லாத கட்டுப்பாட்டு ஓட்டம் குறுக்கு குறிப்பு முன்மொழியப்பட்ட கட்டுப்பாட்டு கட்டமைப்புகள் 1973 ஆம் ஆண்டில் ஒரு ஸ்பூஃப் டேட்டமேஷன் கட்டுரையில், ஆர். லாரன்ஸ் கிளார்க், கோட்டோ அறிக்கையை காம்ஃப்ரோம் அறிக்கையால் மாற்றலாம் என்று பரிந்துரைத்தார், மேலும் சில பொழுதுபோக்கு எடுத்துக்காட்டுகளை வழங்குகிறது. காம்ஃப்ரோம் இன்டர்கல் என்ற ஒரு மர்மமான நிரலாக்க மொழியில் செயல்படுத்தப்பட்டது. டொனால்ட் க்னுத்தின் 1974 ஆம் ஆண்டு கட்டுரை "அறிக்கைகளுக்குச் செல்வதன் மூலம் கட்டமைக்கப்பட்ட நிரலாக்கம்", மேலே பட்டியலிடப்பட்ட கட்டுப்பாட்டு கட்டமைப்புகளால் உள்ளடக்கப்படாத இரண்டு சூழ்நிலைகளை அடையாளம் காட்டுகிறது, மேலும் இந்த சூழ்நிலைகளைக் கையாளக்கூடிய கட்டுப்பாட்டு கட்டமைப்புகளின் எடுத்துக்காட்டுகளைக் கொடுத்தது. அவற்றின் பயன்பாடு இருந்தபோதிலும், இந்த கட்டமைப்புகள் இன்னும் பிரதான நிரலாக்க மொழிகளில் நுழையவில்லை. நடுவில் சோதனையுடன் லூப் 1972 இல் டால் பின்வருவனவற்றை முன்மொழிந்தார்ஃ லூப் லூப் XXX1 ரீட் (சார்); டெஸ்ட் போது; எண்ட்ஆஃப்ஃபைலில் இல்லை என்றாலும்; XXX2 ரைட் (சார்); ரிபீட்; ரிபீட்; XXX1 தவிர்க்கப்பட்டால், மேலே உள்ள சோதனையுடன் ஒரு லூப் கிடைக்கும் (ஒரு பாரம்பரிய வெயில் லூப்). XXX2 தவிர்க்கப்பட்டால், கீழே உள்ள சோதனையுடன் ஒரு வளையத்தைப் பெறுகிறோம், இது பல மொழிகளில் செய்ய வேண்டிய சுழற்சிக்கு சமம். போது தவிர்க்கப்பட்டால், நாம் ஒரு எல்லையற்ற வளையத்தைப் பெறுகிறோம். இங்குள்ள கட்டுமானத்தை நடுவில் உள்ள போது சரிபார்ப்புடன் ஒரு டூ லூப் என்று கருதலாம். எனவே இந்த ஒற்றை கட்டுமானம் பெரும்பாலான நிரலாக்க மொழிகளில் பல கட்டுமானங்களை மாற்ற முடியும். இந்த கட்டமைப்பைக் கொண்டிராத மொழிகள் பொதுவாக சமமான எல்லையற்ற-லூப்-வித்-பிரேக் முட்டாள்தனத்தைப் பயன்படுத்தி அதைப் பின்பற்றுகின்றனஃ அதே நேரத்தில் (உண்மை) {XXX1 என்றால் (சோதனை இல்லை) XXX2 ஐ உடைக்கவும்} ஒரு சாத்தியமான மாறுபாடு சோதனை செய்யும் போது ஒன்றுக்கு மேற்பட்டவற்றை அனுமதிப்பதாகும்; வளையத்திற்குள், ஆனால் வெளியேறும் பயன்பாடு (அடுத்த பகுதியைப் பார்க்கவும்) இந்த வழக்கை சிறப்பாக உள்ளடக்கியது. அடாவில், மேலே உள்ள வளைய கட்டமைப்பை (சுழற்சி-போது-மீண்டும்) ஒரு நிலையான எல்லையற்ற வளையத்தைப் (சுழற்சி-இறுதி வளையம்) பயன்படுத்தி குறிப்பிடலாம், இது நடுவில் உட்பிரிவு இருக்கும்போது வெளியேறும் (பின்வரும் பிரிவில் வெளியேறும் போது அறிக்கையுடன் குழப்பமடையக்கூடாது). Ada.Text _ IO உடன்; Ada.Integer_Text_IO உடன்; செயல்முறை பிரிண்ட் _ ஸ்கொயர்ஸ் என்பது X: முழு எண்; தொடங்கவும் ரீட் _ டேட்டாஃ லூப் Ada.Integer_Text_IO. பெறுங்கள் (X); வெளியேறுங்கள் ரீட் _ டேட்டா X = 0 ஆக இருக்கும்போது; Ada.Text IO.Put (X * X); Ada.Text IO.New_Line; எண்ட் லூப் ரீட் _ டேட்டா; எண்ட் பிரிண்ட் _ ஸ்கொயர்ஸ்; ஒரு லூபுக்கு பெயரிடுவது (இந்த எடுத்துக்காட்டில் ரீட் _ டேட்டா போன்றவை) விருப்பமானது, ஆனால் பல உள்ளமைக்கப்பட்ட சுழல்களின் வெளிப்புற சுழற்சியை விட்டு வெளியேற அனுமதிக்கிறது. உள்ளமைக்கப்பட்ட சுழல்களிலிருந்து பல முன்கூட்டிய வெளியேற்றம்/வெளியேற்றம் இந்த கட்டமைப்பை ஜான் 1974 இல் முன்மொழிந்தார். ஒரு மாற்றியமைக்கப்பட்ட பதிப்பு இங்கே வழங்கப்படுகிறது. EventA அல்லது EventB அல்லது EventC வெளியேறும் போது; XXX EventA: செயல்A EventB: செயல்B EventC: செயல்C முடிவடைகிறது; XXX க்குள் நிகழக்கூடிய நிகழ்வுகளைக் குறிப்பிட வெளியேறும் போது, நிகழ்வின் பெயரை ஒரு அறிக்கையாகப் பயன்படுத்துவதன் மூலம் அவற்றின் நிகழ்வு குறிக்கப்படுகிறது. சில நிகழ்வுகள் நிகழும்போது, தொடர்புடைய நடவடிக்கை மேற்கொள்ளப்படுகிறது, பின்னர் வெளியேறிய உடனேயே கட்டுப்பாடு கடந்து செல்கிறது. இந்த கட்டுமானம் சில சூழ்நிலைகள் பொருந்தும் என்பதை தீர்மானிப்பதற்கும், அந்த சூழ்நிலைக்கு எடுக்க வேண்டிய நடவடிக்கைக்குமிடையே ஒரு தெளிவான பிரிவினையை வழங்குகிறது. விதிவிலக்கு கையாளுதலுக்கு கருத்தியல் ரீதியாக ஒத்திருக்கும் போது, விதிவிலக்குகள் அல்லது ஒத்த கட்டமைப்புகள் பல மொழிகளில் இந்த நோக்கத்திற்காக பயன்படுத்தப்படுகின்றன. பின்வரும் எளிய எடுத்துக்காட்டு ஒரு குறிப்பிட்ட பொருளுக்கான இரு பரிமாண அட்டவணையைத் தேடுவதை உள்ளடக்கியது. வெளியேறும் போது கண்டுபிடிக்கப்பட்டது அல்லது காணவில்லை; I: = 1 முதல் N வரை J: = 1 க்கு M க்கு அட்டவணை [I, J] = இலக்கு பின்னர் கண்டுபிடிக்கப்பட்டது; காணவில்லை; வெளியேறும் போது கண்டுபிடிக்கப்பட்டதுஃ அச்சிடவும் ("உருப்படி அட்டவணையில் உள்ளது"); காணவில்லைஃ அச்சிடவும் (உருப்படி அட்டவணையில் இல்லை); முடிவடைதல்; பாதுகாப்பு ஒரு மென்பொருளைத் தாக்கும் ஒரு வழி ஒரு நிரலின் செயல்பாட்டின் ஓட்டத்தை திருப்பிவிடுவதாகும். ஸ்டேக் கேனரிகள், இடையக ஓவர்ஃப்ளோ பாதுகாப்பு, நிழல் அடுக்குகள் மற்றும் விடேபிள் சுட்டிக்காட்டி சரிபார்ப்பு உள்ளிட்ட பல்வேறு கட்டுப்பாட்டு-ஓட்ட ஒருமைப்பாடு நுட்பங்கள் இந்த தாக்குதல்களிலிருந்து பாதுகாக்க பயன்படுத்தப்படுகின்றன. மேலும் காண்க கிளை (கணினி அறிவியல்) கட்டுப்பாடு-ஓட்டம் பகுப்பாய்வு கட்டுப்பாடு-ஓட்டம் வரைபடம் கட்டுப்பாடு-ஓட்டம் வரைபடம் கட்டுப்பாடு அட்டவணை கோரோட்டின் சுழற்சி சிக்கல் டிராக்கான்-விளக்கப்படம் ஃப்ளோசார்ட் கோட்டோ ஜெரூ, கட்டுப்பாட்டு கட்டமைப்புகளைக் கற்றுக்கொள்ள உதவுகிறது முக்கிய வளையம் மறுசுழற்சி திட்டமிடல் (கம்ப்யூட்டிங்) ஸ்பாகெட்டி குறியீடு கட்டமைக்கப்பட்ட நிரலாக்க சப்ரூட்டின் சுவிட்ச் அறிக்கை, கட்டுப்பாட்டு ஓட்டத்தை நிபந்தனையுடன் மாற்றுகிறது ஜானின் கட்டுமான குறிப்புகள் மேலும் வாசிப்பு ஹோரே, சி. ஏ. ஆர். "பகிர்வுஃ வழிமுறை 63", "குயிக்சோர்ட்ஃ வழிமுறை 64", மற்றும் "கண்டுபிடிஃ வழிமுறை 65". காம். ACM 4,321-322,1961. வெளிப்புற இணைப்புகள் தீங்கு விளைவிப்பதாகக் கருதப்படும் அறிக்கைக்குச் செல்லுங்கள்-எடுத்துக்காட்டாக அடா குறியீட்டைக் கொண்ட கோடோ-குறைவான நிரலாக்கக் கட்டுரைகளின் மொழியியல் பங்களிப்பு