வரையெல்லை - 12ஆம் வகுப்பு கணினி அறிவியல்
நிரலாக்கத்தில் மாறிகள், அளபுருக்கள் மற்றும் செயற்கூறுகளின் அணுகல் எல்லையைத் தீர்மானிக்கும் வரையெல்லை கொள்கைகளைப் பற்றி இப்பாடம் விரிவாக விளக்குகிறது. இதில் LEGB விதிமுறையின் படிநிலைத் தேடல், மாறிகளின் வாழ்நாள், நிரல் தொகுதிகள் மற்றும் பாதுகாப்பு அம்சங்களை மேம்படுத்தும் அணுகல் கட்டுப்பாட்டு முறைகள் போன்ற கணினி அறிவியலின் மிக முக்கியமான அடிப்படைக் கருத்துருக்கள் எளிய உதாரணங்களுடன் மாணவர்களுக்குத் தெளிவாகக் கற்றுத் தரப்படுகின்றன.
இந்தப் பாடத்தைப் படியுங்கள்
வரையெல்லை பற்றி
நடுத்தரம் ~45 நிமிடப் படிப்பு
கணினி அறிவியல் மற்றும் நிரலாக்கத்தில் ஒரு மாறியை எங்கு வேண்டுமானாலும் வரையறுத்து விடலாம், ஆனால் அதன் பயன்பாடு மற்றும் அணுகல் தன்மை நிரலின் எல்லாப் பகுதிகளிலும் ஒரே மாதிரியாக இருப்பதில்லை. வரையெல்லை (Scoping) என்பது ஒரு மாறியின் பெயர் நிரலில் எந்த எல்லை வரை செல்லுபடியாகும் மற்றும் அணுகக்கூடியதாக இருக்கும் என்பதைத் துல்லியமாகத் தீர்மானிக்கிறது. மாறிகளை நினைவகப் பொருள்களுடன் பிணைக்கும் மேப்பிங் (Mapping) மற்றும் அவற்றை நிர்வகிக்கும் நேம்ஸ்பேஸ் (Namespaces) கொள்கலன்களின் செயல்பாடுகளைப் புரிந்துகொள்வது, ஒரு திறமையான மற்றும் பெரிய அளவிலான பிழையற்ற மென்பொருள்களை உருவாக்குவதற்கு மிகவும் அவசியமான அடிப்படையாகும்.
இப்பாடத்தில் விரிவாக விவரிக்கப்பட்டுள்ள LEGB விதிமுறை, நிரலில் ஒரு குறிப்பிட்ட மாறியின் மதிப்பைத் தேடும் படிநிலை வரிசையை உள்ளமை, இணைக்கப்பட்ட, முழுத்தழுவிய மற்றும் உள்ளிணைந்த என்ற நான்கு முக்கிய எல்லைகளின் அடிப்படையில் நெறிப்படுத்துகிறது. இதன் தொடர்ச்சியாக, பெரிய நிரல்களை சிறிய துணை நிரல்களாகவும் எளிமையான தொகுதிகளாகவும் பிரித்து நிர்வகிக்கும் தொகுதி நிரலாக்கத்தின் (Module Programming) சிறப்பம்சங்களை மாணவர்கள் எளிதில் கற்றுக் கொள்ள முடியும். இது மென்பொருள் வடிவமைப்பில் குறியீடுகளின் மறுபயனாக்கத்தையும், விரைவான பிழைதிருத்தும் திறனையும் மேம்படுத்த பெரிதும் உதவுகிறது.
தேர்வு நோக்கில் பார்க்கும் போது, இப்பாடம் மிக முக்கியமான கோட்பாட்டு மற்றும் நடைமுறை வினாக்களைக் கொண்டுள்ளது. குறிப்பாக LEGB விதியின் தேடல் படிநிலை, மாறியின் வாழ்நாள் (Life time) மற்றும் தரவுப் பாதுகாப்பை உறுதிசெய்யும் அணுகல் கட்டுப்பாட்டு முறைகளான பொது, தனிப்பட்ட மற்றும் பாதுகாக்கப்பட்ட அம்சங்கள் பற்றி முக்கிய வினாக்கள் பொதுத் தேர்வில் கேட்கப்படுகின்றன. இந்த அடிப்படைக் கருத்துக்களை ஆழமாகப் பயில்வது, மாணவர்கள் பைத்தான் போன்ற நவீன நிரலாக்க மொழிகளில் தங்களின் செய்முறைத் திறனை வளர்த்துக்கொள்ளவும், பொதுத் தேர்வில் சிறந்த மதிப்பெண்களைப் பெறவும் பெரிதும் வழிவகுக்கும்.
நீங்கள் கற்பவை
- வரையெல்லை என்றால் என்ன என்பதைப் பற்றி முழுமையாகப் புரிந்துகொள்ளுதல்.
- LEGB விதியை நிரலாக்கத்தில் நடைமுறைப்படுத்தி மாறிகளின் மதிப்புகளைக் கண்டறிதல்.
- உள்ளமை, இணைக்கப்பட்ட, முழுத்தழுவிய மற்றும் உள்ளிணைந்த வரையெல்லைகளை வேறுபடுத்துதல்.
- தொகுதி நிரலாக்கத்தின் முக்கியத்துவத்தை அறிந்து குறியீடுகளை மறுபயன்பாடு செய்தல்.
- நிரலாக்க மொழியில் அணுகல் கட்டுப்பாட்டின் பல்வேறு பாதுகாப்பு வகைகளை ஆராய்தல்.
தொடங்குவதற்கு முன்
- மாறிகள், தரவு வகைகள் மற்றும் செயற்கூறுகளின் அடிப்படை செயல்பாடுகளை அறிந்திருத்தல்.
- நிரலின் பாய்வு மற்றும் கட்டுப்பாட்டு கட்டமைப்புகளின் இயக்க முறையைப் புரிந்து கொள்ளுதல்.
இந்த அத்தியாயத்தில் உள்ள தலைப்புகள்
வரையெல்லை — விரிவான விளக்கம்
வரையெல்லை கருத்துருக்களின் விரிவான மேலோட்டம்
மாறியின் வரையெல்லை மற்றும் மேப்பிங் அறிமுகம்
வரையெல்லை என்பது கணினி நிரலாக்கத்தில் மாறிகள், அளபுருக்கள் மற்றும் செயற்கூறுகளின் அணுகல் நிலையை நிரலின் ஒரு பகுதியிலிருந்து மற்றொரு பகுதிக்குத் தெளிவாகக் குறிப்பதாகும். நிரலாக்க மொழியில் உள்ள மாறிகளைப் புரிந்துகொள்வதற்கு, அவை நினைவகத்தில் உள்ள ஒரு பொருளின் முகவரியைக் குறிக்கின்றன என்பதை அறிய வேண்டும். மாறியின் பெயரை ஒரு குறிப்பிட்ட பொருளுடன் பிணைக்கும் செயல்முறை மேப்பிங் (Mapping) என்று அழைக்கப்படுகிறது. பொதுவாக, சமக்குறி (=) குறியீடு மாறியையும் பொருளையும் பிணைக்கப் பயன்படுகிறது. இத்தகைய பிணைப்புகளை நிரலாக்க மொழிகள் நேம்ஸ்பேஸ் (Namespaces) எனப்படும் கொள்கலன்கள் மூலம் மிகக் கவனமாகக் கண்காணிக்கின்றன. ஒரு மாறி குறிமுறையில் பயன்படும் நேரமே அதனுடைய வாழ்நாள் (Lifetime) எனப்படும்.
LEGB விதிமுறை மற்றும் தேடல் வரிசை
LEGB விதிமுறை என்பது நிரலில் ஒரு மாறியின் மதிப்பைத் தேடும் போது, சரியான மதிப்பை வெவ்வேறு வரையெல்லைகளில் இருந்து பெறுவதற்காக அவை எந்த வரிசையில் பொருளுடன் மேப்பிங் செய்யப்பட வேண்டும் என்பதை வரையறுக்கும் விதிமுறையாகும். இதன் படிநிலைத் தேடல் முறையானது மிகச் சிறிய எல்லையிலிருந்து தொடங்கி படிப்படியாகப் பெரிய எல்லையை நோக்கி நகர்கிறது. இதன்படி, நிரல் முதலில் உள்ளமை (Local) வரையெல்லையிலும், பின்னர் இணைக்கப்பட்ட (Enclosed) வரையெல்லையிலும், அதன் பிறகு முழுத்தழுவிய (Global) வரையெல்லையிலும், இறுதியாக உள்ளிணைந்த (Built-in) வரையெல்லையிலும் மாறிக்கான மதிப்பைத் தேடுகிறது. இந்த வரிசையைத் தீர்மானிப்பதே LEGB விதியின் அடிப்படைப் பணியாகும்.
வரையெல்லையின் நான்கு முக்கிய வகைகள்
மாறிகளின் வரையெல்லைகள் உள்ளமை, இணைக்கப்பட்ட, முழுத்தழுவிய மற்றும் உள்ளிணைந்த என நான்கு முக்கிய வகைகளாகப் பிரிக்கப்படுகின்றன. உள்ளமை வரையெல்லை என்பது நடப்பு செயற்கூறு அல்லது இனக்குழுவிற்கு உள்ளே வரையறுக்கப்பட்ட மாறிகளைக் குறிக்கும். வெளிப்புற செயற்கூறின் உள்ளே உள்ள மற்றொரு பின்னலான செயற்கூறு வெளிப்புற மாறியை அணுகுவது இணைக்கப்பட்ட வரையெல்லையாகும். நிரலின் அனைத்து செயற்கூறுகளுக்கும் வெளியே மேல்நிலையில் அறிவிக்கப்படும் மாறிகள் முழுத்தழுவிய வரையெல்லை எனப்படும். இறுதியாக, நிரலகோப்பு அல்லது கம்பைலர் தொடங்கும் போதே தானாகவே ஏற்றப்பட்டுவிடும் நூலக செயற்கூறுகள் அனைத்தும் உள்ளிணைந்த வரையெல்லையின் கீழ் வருகின்றன.
தொகுதி நிரலாக்கத்தின் செயல்பாடுகள்
தொகுதி (Module) என்பது நிரலின் ஒரு குறிப்பிட்ட பகுதியைத் தனித்து இயங்கும் வகையில் வடிவமைக்கும் அமைப்பாகும். ஒரு பெரிய கணினி நிரலை எளிமையாகப் புரிந்துகொள்வதற்காகவும், பராமரிப்பதற்காகவும் பல சிறிய துணை நிரல்களாகப் பிரிக்கும் செயல்முறையே தொகுதி நிரலாக்கம் (Module Programming) எனப்படும். ஒரு தொகுதி தொடர்புடைய பல கூற்றுகளையும், மாறிகளையும், செயற்கூறுகளையும் கொண்டிருக்கும். இந்தத் தொகுதி நிரலாக்கத்தின் மூலம் குறியீடுகளின் நீளம் பெருமளவு குறைக்கப்படுகிறது. மேலும், ஒரே வகையான குறிமுறையை மீண்டும் மீண்டும் எழுதாமல் பல பயன்பாடுகளில் மறுபயன்பாடு செய்யவும், நிரலில் ஏற்படும் பிழைகளை மிக எளிதாகவும் வேகமாகவும் கண்டறிந்து திருத்தவும் இது பயன்படுகிறது.
பாதுகாப்பான அணுகல் கட்டுப்பாடு
அணுகல் கட்டுப்பாடு என்பது கணினி சூழலில் உள்ள கோப்புகள், தரவுகள் மற்றும் முக்கிய வளங்களை யாரெல்லாம் பார்வையிட மற்றும் பயன்படுத்த முடியும் என்பதை வரைமுறைப்படுத்தும் ஒரு பாதுகாப்புத் தொழில்நுட்பமாகும். பொருள் நோக்கு நிரலாக்க மொழிகளில் இனக்குழு உறுப்பினர்களின் அணுகலை வரைமுறைப்படுத்த public, private மற்றும் protected ஆகிய சிறப்புச் சொற்கள் பயன்படுத்தப்படுகின்றன. இவற்றில் public உறுப்பினர்களை வெளியிலிருந்தும் அணுகலாம், ஆனால் private உறுப்பினர்களை இனக்குழுவிற்குள் மட்டுமே அணுக முடியும். பைத்தான் மொழியில் நேரடியாக இத்தகைய சொற்கள் இல்லாவிட்டாலும், மாறிகளின் பெயருக்கு முன்னால் ஒற்றை மற்றும் இரட்டை அடிக்கோடிடுவதன் மூலம் இந்த அணுகல் கட்டுப்பாடுகள் மிகத் திறம்படப் பின்பற்றப்படுகின்றன.
தவிர்க்க வேண்டிய பொதுவான தவறுகள்
- செயற்கூறுக்கு வெளியே உள்ளமை மாறிகளை அணுக முயற்சிப்பது பிழையாகும்; உள்ளமை மாறிகளை செயற்கூறுக்கு உள்ளே மட்டுமே பயன்படுத்த வேண்டும்.
- முழுத்தழுவிய மாறியின் மதிப்பை செயற்கூறினுள் 'global' சிறப்புச் சொல் இல்லாமல் மாற்ற முயல்வது; 'global' சொல்லைப் பயன்படுத்தியே மதிப்பை மாற்ற வேண்டும்.
- பைத்தானில் private மாறிகளை அணுகும் போது அடிக்கோடுகளைத் தவறவிடுவது; private மாறிகளுக்கு பெயருக்கு முன்னால் இரட்டை அடிக்கோடிட (__) வேண்டும்.
- பிணைப்பு செய்யப்படாத மாறியை நிரலில் பயன்படுத்த முயலும் போது 'NameError' ஏற்படும்; மாறியைப் பயன்படுத்துவதற்கு முன் அதற்கு மதிப்பை இருத்த வேண்டும்.
இவற்றை பயிற்சித் தேர்வு மூலம் சோதித்துப் பாருங்கள்; பிறகு விடையுடன் கூடிய வினாக்கள் பகுதியில் விரிவான விளக்கத்தைப் படியுங்கள்.
அடிக்கடி கேட்கப்படும் கேள்விகள்
வரையெல்லை என்றால் என்ன?
வரையெல்லை என்பது கணினி நிரலாக்கத்தில் மாறிகள் மற்றும் செயற்கூறுகளின் அணுகல் தன்மையை நிரலின் ஒரு குறிப்பிட்ட பகுதியிலிருந்து மற்றொரு பகுதிக்குக் குறிப்பதாகும். அதாவது நிரலின் எந்தப் பகுதியிலிருந்து ஒரு மாறியை அணுக அல்லது பயன்படுத்த முடியும் என்பதைத் தீர்மானிக்கும் எல்லை இதுவாகும். பொதுவாக வரையறுக்கப்படும் எல்லைகளைப் பொறுத்து மாறிகளின் செயல்பாடு மற்றும் அதன் அணுகல் தன்மை வேறுபடும். இது நிரலாக்கத்தில் ஒரு முக்கியமான தரவு பாதுகாப்பு அங்கமாகும்.
மேப்பிங் என்றால் என்ன?
நிரலாக்க மொழியில் மாறியின் பெயரை நினைவகத்தில் சேமிக்கப்பட்டுள்ள ஒரு குறிப்பிட்ட பொருளுடன் பிணைக்கும் செயல்முறை மேப்பிங் எனப்படும். இதற்கு சமக்குறி (=) குறியீடு பயன்படுத்தப்படுகிறது. நிரலாக்க மொழிகள் இத்தகைய அனைத்து பிணைப்புகளையும் நேம்ஸ்பேஸ்கள் மூலம் மிகக் கவனமாகக் கண்காணிக்கின்றன. இதன் மூலம் மாறிக்கும் பொருளுக்கும் இடையே சிறந்த தொடர்பு ஏற்படுத்தப்பட்டு நினைவக முகவரிகள் மிகச் சரியாக மேலாண்மை செய்யப்படுகின்றன.
LEGB விதியின் படிநிலைத் தேடல் என்றால் என்ன?
LEGB விதிமுறை என்பது மாறியின் மதிப்பைத் தேடும் படிநிலை வரிசையாகும். இதன்படி நிரல் முதலில் உள்ளமை வரையெல்லையிலும், பின்னர் இணைக்கப்பட்ட வரையெல்லையிலும், அதன் பிறகு முழுத்தழுவிய வரையெல்லையிலும், இறுதியாக உள்ளிணைந்த வரையெல்லையிலும் மாறிக்கான மதிப்பைத் தேடி அணுகும். இது மிகச் சிறிய எல்லையிலிருந்து தொடங்கி பெரிய எல்லை வரை செல்லும் ஒரு படிநிலை வரிசைத் தேடலாகும்.
முழுத்தழுவிய மாறியின் மதிப்பை செயற்கூறினுள் எவ்வாறு மாற்றுவது?
செயற்கூறுக்கு வெளியே வரையறுக்கப்பட்ட முழுத்தழுவிய மாறியின் மதிப்பை ஒரு செயற்கூறின் உள்ளே மாற்றுவதற்கு, அந்த மாறியின் பெயருக்கு முன்னால் 'global' என்னும் சிறப்புச் சொல்லைப் பயன்படுத்த வேண்டும். அவ்வாறு பயன்படுத்தினால் மட்டுமே நினைவகத்தில் உள்ள அசல் முழுத்தழுவிய மாறியின் மதிப்பு மாற்றியமைக்கப்படும், இல்லையெனில் அது ஒரு புதிய உள்ளமை மாறியாகவே கருதப்பட்டு மதிப்புகள் வெவ்வேறாகச் சேமிக்கப்படும்.
தொகுதி நிரலாக்கத்தின் நன்மைகள் யாவை?
தொகுதி நிரலாக்கம் என்பது பெரிய கணினி நிரலைச் சிறிய மற்றும் சுதந்திரமான பல தனித்தனித் தொகுதிகளாகப் பிரிப்பதாகும். இதனால் குறியீடுகளின் நீளம் பெருமளவு குறைகிறது, பிழைகளைக் கண்டறிந்து திருத்துவது எளிதாகிறது மற்றும் ஒரே வகையான குறியீட்டைப் பல நிரல்களில் மறுபயன்பாடு செய்ய முடிகிறது. இது மென்பொருள் உருவாக்கப் பணிகளைப் பல நிரலர்கள் எளிதாகப் பகிர்ந்துகொண்டு வெற்றிகரமாகச் செய்து முடிக்கப் பெரிதும் உதவுகிறது.
பைத்தானில் private மற்றும் public உறுப்புகள் எவ்வாறு வேறுபடுகின்றன?
பைத்தானில் இனக்குழுவின் உறுப்பினர்கள் அனைத்தும் தானமைவாக public ஆகும், இவற்றை நிரலின் எந்தவொரு வெளியிலிருந்தும் எளிதாக அணுகலாம். ஆனால், பெயருக்கு முன்னால் இரட்டை அடிக்கோடிட்ட (__) மாறிகள் private ஆகும், இவற்றை இனக்குழுவிற்குள் மட்டுமே அணுக முடியும். இதனால் இனக்குழுவில் உள்ள முக்கியமான தரவுகளுக்கு அதிகப் பாதுகாப்பும் நம்பகத்தன்மையும் கிடைப்பதுடன் தரவுக் கசிவுகளும் முற்றிலும் தவிர்க்கப்படுகின்றன.
கடைசியாகப் புதுப்பிக்கப்பட்டது 21 ஆகஸ்ட் 2026