அத்தியாயம் 1: செயற்கூறு
இந்த அத்தியாயம் கணினி அறிவியல் பாடத்தில் செயற்கூறுகளின் அடிப்படையை விளக்குகிறது. இதில் அளபுருக்கள், செயலுருபுகள், இடைமுகங்கள் மற்றும் செயல்படுத்துதல் ஆகிய முக்கிய அம்சங்கள் விவரிக்கப்பட்டுள்ளன. மேலும், பக்கவிளைவுகள் அற்ற தூய மற்றும் தூய்மையற்ற செயற்கூறுகளின் தன்மைகள், குரோமிலேண்ட் பச்சோந்திகளின் வண்ண மாற்றப் பிரச்சினை மற்றும் தற்சுழற்சி முறையைப் பயன்படுத்திச் சிக்கல்களைத் தீர்க்கும் வழிமுறைகள் மாணவர்களுக்கு எளிய முறையில் கற்பிக்கப்படுகின்றன.
இந்தப் பாடத்தைப் படியுங்கள்
செயற்கூறு பற்றி
நடுத்தரம் ~60 நிமிடப் படிப்பு
நிரலாக்க மொழிகளில் பெரிய மற்றும் சிக்கலான கணினி நிரல்களை எளிய சிறிய கூறுகளாகப் பிரித்து எளிதில் நிர்வகிப்பதற்கே செயற்கூறுகள் முக்கியமாகப் பயன்படுகின்றன. ஒரு குறிப்பிட்ட செயலை மீண்டும் மீண்டும் செய்ய வேண்டிய சூழல் ஏற்படும் போது, ஒவ்வொரு முறையும் புதிய குறிமுறைகளைத் தட்டச்சு செய்யாமல் செயற்கூறுகளை அழைப்பதன் மூலம் கணினியின் நேரமும் நிரலரின் கடின உழைப்பும் பெருமளவில் சேமிக்கப்படுகின்றன. கணினி அமைப்புகளின் செயல்பாட்டு திறனை மேம்படுத்தவும், மென்பொருளில் ஏற்படும் பிழைகளை மிக எளிதாகத் திருத்தவும் இந்த அடிப்படைக் கருத்து உலகெங்கிலும் உள்ள நிரலர்களால் மிகவும் அவசியமான ஒன்றாகக் கருதப்படுகிறது.
இப்பாடத்தில், செயற்கூறு வரையறையில் பயன்படுத்தப்படும் மாறிகளான அளபுருக்கள் மற்றும் அவற்றுக்கு அனுப்பப்படும் உண்மையான மதிப்புகளான செயலுருபுகள் எவ்வாறு ஒன்றோடொன்று தொடர்பு கொள்கின்றன என்பதை மாணவர்கள் விரிவாகக் கற்றுக்கொள்வார்கள். மேலும், ஒரு பொருள் செய்ய வேண்டிய வெளிப்புற நடவடிக்கையை வரையறுக்கும் இடைமுகத்திற்கும், அதை உள்முகமாக நடைமுறைப்படுத்தும் செயல்படுத்துதலுக்கும் இடையே உள்ள அடிப்படை வேறுபாடுகள் விளக்கப்பட்டுள்ளன. இதன் தொடர்ச்சியாக, எந்தவொரு பக்கவிளைவுகளும் ஏற்படுத்தாத தூய செயற்கூறுகளும், கணினியின் நினைவக சூழலையும் உலகளாவிய மாறிகளையும் மாற்றியமைக்கக்கூடிய தூய்மையற்ற செயற்கூறுகளின் தன்மைகளும் எவ்வாறு நிரலாக்கத்தில் பிணைக்கப்பட்டுள்ளன என்பதை இது தெளிவாக விளக்குகிறது.
பொதுத்தேர்வு நோக்கில், இந்த அத்தியாயத்திலிருந்து தூய மற்றும் தூய்மையற்ற செயற்கூறுகளுக்கு இடையிலான முக்கிய வேறுபாடுகள் மற்றும் இடைமுகம்-செயல்படுத்துதல் பற்றிய ஒப்பீடுகள் போன்ற வினாக்கள் மிக முக்கியமாகக் கேட்கப்படுகின்றன. தற்சுழற்சி செயற்கூறுகளின் கட்டமைப்பு மற்றும் குரோமிலேண்ட் பச்சோந்திகளின் வண்ண மாற்றப் பிரச்சினை போன்ற தர்க்கரீதியான சிந்தனை வினாக்கள் மாணவர்களின் கணக்கீட்டுத் திறனைச் சோதிக்கும் வகையில் ஐந்து மதிப்பெண் பகுதிகளில் அமைகின்றன. எனவே, செயற்கூறுகளின் குறியீட்டு வரைமுறைகளையும் அதன் பின்னணியின் உள்ள தத்துவங்களையும் ஆழமாகப் புரிந்துகொள்வது மாணவர்கள் தேர்வில் மிக எளிதாக முழு மதிப்பெண்கள் பெற பெரிதும் உகந்ததாகும்.
நீங்கள் கற்பவை
- அளபுருக்கள் மற்றும் செயலுருபுகளுக்கு இடையே உள்ள அடிப்படை வேறுபாடுகளைப் புரிந்துகொள்ளுதல்.
- இடைமுகம் மற்றும் செயல்படுத்துதல் ஆகியவற்றின் செயல்பாடுகளை ஒப்பிட்டு வேறுபடுத்துதல்.
- பக்கவிளைவுகள் அற்ற தூய செயற்கூறுகளின் முக்கியத்துவத்தையும் அவற்றின் நன்மைகளையும் விளக்குதல்.
- தூய்மையற்ற செயற்கூறுகள் எவ்வாறு பக்கவிளைவுகளை ஏற்படுத்துகின்றன என்பதைப் பகுப்பாய்வு செய்தல்.
- தற்சுழற்சி முறையைப் பயன்படுத்திச் சிக்கலான கணக்கீடுகளுக்கு எளிய நிரல் தீர்வுகளை உருவாக்குதல்.
- நிரலாக்க மொழிகளில் தரவு வகை குறிப்புகளை எழுதுவதன் பயன்களைக் கண்டறிதல்.
தொடங்குவதற்கு முன்
- கணினி அறிவியல் மற்றும் அதன் அடிப்படை நிரலாக்கக் கருத்துக்களைப் பற்றிய முன்னறிவு.
- மாறிகள், தரவு வகைகள் மற்றும் கட்டுப்பாட்டுக் கட்டமைப்புகள் பற்றிய அடிப்படைப் புரிதல்.
- நிரலாக்கக் குறியீடுகளை வாசிப்பதிலும் எழுதுவதிலும் உள்ள எளிய அனுபவம்.
இந்த அத்தியாயத்தில் உள்ள தலைப்புகள்
செயற்கூறு — விரிவான விளக்கம்
செயற்கூறுகளின் செயல்பாடுகள் மற்றும் அதன் முக்கியக் கோட்பாடுகள்
நிரலாக்க மொழியில் செயற்கூறுகளின் வரையறை
நிரலாக்க மொழிகளில் செயற்கூறு என்பது ஒரு பெரிய நிரல் கட்டமைப்பின் உள்ளே வரையறுக்கப்படும் ஒரு தனித்துவமான குறிமுறை அலகு ஆகும். இது நிலையான மற்றும் மாறாத தன்மையைக் கொண்ட குறிமுறைத் தொகுதிகளை உள்ளடக்கியது. செயற்கூறுகள் பல்வேறு வகையான உள்ளீடுகளைப் பெற்று, அவற்றின் மீது குறிப்பிட்ட கணக்கீடுகளைச் செய்து, மாறாத மற்றும் வெளியீடுகளை வழங்குகின்றன. மென்பொருள் உருவாக்கத்தில் குறிமுறைகளின் எண்ணிக்கையைக் குறைக்கவும், ஏற்கனவே எழுதிய குறியீடுகளை மீண்டும் பயன்படுத்திக் கொள்ளவும் இது மிகவும் பயனுள்ள வடிவமைப்பாகத் திகழ்கிறது. சிக்கலான கணிதப் பயன்பாடுகளை எளிய வழிகளில் தீர்க்க இது பெரிதும் உதவுகிறது. இதனால் பெரிய மென்பொருள் திட்டங்களை எளிதாக பகுப்பாய்வு செய்து மேம்படுத்த முடிகிறது. இது மென்பொருள் உருவாக்கத்தில் குறிமுறைகளின் எண்ணிக்கையைக் கணிசமாகக் குறைத்து செயல்திறனை மிகவும் அதிகரிக்கிறது.
அளபுருக்கள் மற்றும் செயலுருபுகளின் வேறுபாடு
செயற்கூறு வரையறையில் பயன்படுத்தப்படும் மாறிகள் அளபுருக்கள் என்று அழைக்கப்படுகின்றன. மாறாக, செயற்கூறை அழைக்கும் போது அந்த அளபுருக்களுக்கு அனுப்பப்படும் உண்மையான தரவு மதிப்புகள் செயலுருபுகள் எனப்படும். சில நிரலாக்க மொழிகளில் அளபுருக்களுக்குத் தரவு வகையைக் குறிப்பிடுவது கட்டாயமாகும், அதே வேளையில் சில மேம்பட்ட மொழிகளின் தொகுப்பிகள் தானாகவே தரவு வகைகளைக் கண்டறிந்து கொள்ளும் திறன் கொண்டவை. அடைப்புக்குறிகளைப் பயன்படுத்தித் தரவு வகைகளைக் குறிப்பிடுவது குறியீடுகளில் ஏற்படும் பிழைகளைத் தவிர்க்கப் பெரிதும் உதவுகிறது. தரவு வகை குறிப்புகளை எழுதுவது நிரலாக்கப் பிழைகளைக் கண்டறிந்து சரிசெய்வதற்கு எளிய வழியை வழங்குகிறது. இது நிரலின் வாசிப்புத் திறனை அதிகரிக்கச் செய்கிறது. மேலும் நிரலர்கள் பிழைகளை மிக விரைவாகக் கண்டறிய உதவுகிறது.
இடைமுகம் மற்றும் செயல்படுத்துதலின் ஒப்பீடு
ஒரு பொருள் செய்யக்கூடிய வெளிப்புற நடவடிக்கைகளின் தொகுப்பை விவரிப்பது இடைமுகம் ஆகும். ஆனால், அந்த இடைமுகத்தின் பின்னால் உள்ள உண்மையான கட்டளைகளை நிறைவேற்றி, காரியத்தை வெற்றகரமாக முடிப்பது செயல்படுத்துதல் ஆகும். வகுப்புகள் மற்றும் பொருள்கள் சார்ந்த நிரலாக்கத்தில், வகுப்பு என்பது இடைமுகமாகவும், அந்த வகுப்பிலிருந்து உருவாக்கப்படும் பொருள் செயல்படுத்துதலாகவும் விளங்குகிறது. இடைமுகமானது பொருள் என்ன செய்கிறது என்பதை மட்டுமே வெளிப்படுத்தும், அது எவ்வாறு செயல்படுகிறது என்ற உள் விவரங்களை அது வெளிப்புறப் பயனர்களிடமிருந்து மறைத்து வைக்கிறது. இதன் மூலம் மென்பொருளின் பல்வேறு கூறுகளைத் தனித்தனியாகவும் எளிமையாகவும் நிர்வகிக்க முடிகிறது. இது மென்பொருள் வடிவமைப்பை மிகவும் நேர்த்தியாக மாற்ற உதவுகிறது. இதனால் மென்பொருள் பராமரிப்பு மிகவும் எளிதாகிறது.
செயற்கூறுகள் மற்றும் தூய்மையற்ற செயற்கூறுகள்
ஒகே மாதிரியான செயலுருபுகளைக் கொண்டு எத்தனை முறை அழைத்தாலும் எப்போதும் ஒரே மாதிரியான வெளியீட்டைத் தரும் செயற்கூறுகள் தூய செயற்கூறுகள் என்று அழைக்கப்படுகின்றன. இவைகளை மதிப்பிடும் போது எந்தவிதமான பக்கவிளவுகளும் ஏற்படுவதில்லை. இதற்கு மாறாக, தங்களுக்கு வெளியே உள்ள உலகளாவிய மாறிகளையோ அல்லது கணினியின் நினைவகத்தையோ சார்ந்து இயங்கும் செயற்கூறுகள் தூய்மையற்ற செயற்கூறுகள் எனப்படும். இவற்றின் வெளியீடு ஒவ்வொரு முறை அழைக்கும் போதும் மாறுபடக்கூடும், இதனால் இவை கணினியின் தற்போதைய நிலையை மாற்றிவிடுகின்றன. இவற்றுக்கு எடுத்துக்காட்டாக கணிதத்தில் பயன்படுத்தப்படும் சீரற்ற எண்களை உருவாக்கும் செயற்கூறுகளைக் கூறலாம். இவை கணினியின் செயல்பாடுகளை முன்னறிந்து கொள்ள கடினமான சூழலை உருவாக்குகின்றன. இது மென்பொருளின் கணிக்க முடியாத தன்மையை அதிகரித்து விடுகிறது.
செயற்கூறுகளில் ஏற்படும் பக்கவிளைவுகள்
செயற்கூறுகளுக்கு வெளியே உள்ள உலகளாவிய மாறிகளின் மதிப்புகளை மாற்றுவது அல்லது கணினியின் வெளிப்புற நினைவக சூழலை மாற்றியமைப்பது பக்கவிளைவு எனப்படும். தூய்மையற்ற செயற்கூறுகள் இத்தகைய பக்கவிளைவுகளை ஏற்படுத்துகின்றன. சில நேரங்களில் இவை மென்பொருள் வடிவமைப்பில் திட்டமிட்ட பயனுள்ள செயல்களாக இருந்தாலும், பல சமயங்களில் இவை நிரல்களில் எதிர்பாராத பிழைகளை உருவாக்கக்கூடும். எனவே, மென்பொருள் கட்டமைப்பின் நம்பகத்தன்மையையும் பாதுகாப்பையும் அதிகரிக்க, பக்கவிளைவுகள் அற்ற தூய செயற்கூறுகளை உருவாக்குவதே சிறந்த வடிவமைப்புக் கொள்கையாகக் கருதப்படுகிறது. இது நிரல்களை எளிதாக சோதிக்கவும் வழிவகுக்கிறது. மென்பொருளின் பல்வேறு பகுதிகள் தனித்தனியாகச் செயல்பட இது சிறந்த சூழலை வழங்குகிறது. இதனால் ஒட்டுமொத்த நிரலின் நம்பகத்தன்மை பெருமளவு மேம்படுகிறது.
தற்சுழற்சி மற்றும் சிக்கல் தீர்த்தல்
ஒரு செயற்கூறு ஒரு குறிப்பிட்ட நிபந்தனை நிறைவடையும் வரை தனக்குத்தானே மீண்டும் மீண்டும் அழைத்துக் கொள்ளும் முறை தற்சுழற்சி என்று அழைக்கப்படுகிறது. இது பெரிய மற்றும் சிக்கலான கணக்கீட்டுப் பிரச்சினைகளை மிக எளிய வரிகளில் தீர்க்க உதவுகிறது. இதற்கு உதாரணமாக காரணியைக் கண்டறிதல் மற்றும் குரோமிலேண்டில் உள்ள பச்சோந்திகளின் வண்ண மாற்றப் பிரச்சினை போன்றவற்றை கூறலாம். இத்தகைய தற்சுழற்சி முறைகள் சிக்கலான அல்காரிதம்களை எளிமையாகவும் நேர்த்தியாகவும் கட்டமைக்க வழிவகுக்கிறது. இது நிரலின் வரிகளைக் குறைத்து எளிமையாகப் புரிந்துகொள்ள உதவுகிறது.
தவிர்க்க வேண்டிய பொதுவான தவறுகள்
- அளபுருக்களையும் செயலுருபுகளையும் ஒன்றாகக் கருதுதல். செயற்கூறு வரையறையில் உள்ள மாறிகள் அளபுருக்கள் என்றும், அனுப்பப்படும் மதிப்புகள் செயலுருபுகள் என்றும் நினைவில் கொள்ள வேண்டும்.
- தற்சுழற்சி செயற்கூறுகளில் அடிப்படை நிபந்தனையை எழுத மறப்பது. இதனால் நிரல் முடிவில்லாத சுழற்சிக்குள் சிக்கி செயலிழக்கும் என்பதால் எப்போதும் சரியான நிபந்தனையை எழுத வேண்டும்.
- தரவு வகை குறிப்புகளை எழுதும் போது அடைப்புக்குறிகளை இடாமல் விடுவது. செயற்கூறு வரையறையில் தரவு வகைகளைக் குறிப்பிடும் போது அடைப்புக்குறிகளை கட்டாயமாகப் பயன்படுத்த வேண்டும்.
- தூய செயற்கூறுகளுக்குள் உலகளாவிய மாறிகளின் மதிப்புகளை மாற்றுவது. தூய செயற்கூறுகள் வெளிப்புற மாறிகளை ஒருபோதும் மாற்றக்கூடாது, அவ்வாறு மாற்றினால் அது தூய்மையற்றதாகிவிடும்.
இவற்றை பயிற்சித் தேர்வு மூலம் சோதித்துப் பாருங்கள்; பிறகு விடையுடன் கூடிய வினாக்கள் பகுதியில் விரிவான விளக்கத்தைப் படியுங்கள்.
அடிக்கடி கேட்கப்படும் கேள்விகள்
செயற்கூறு என்றால் என்ன?
செயற்கூறு என்பது ஒரு பெரிய கணினி நிரல் கட்டமைப்பில் குறிப்பிட்ட காரியங்களைச் செய்வதற்காகத் தனித்தனியாக வடிவமைக்கப்பட்ட குறிமுறை அலகு ஆகும். இது பல்வேறு உள்ளீடுகளைப் பெற்று கணக்கீடுகளைச் செய்து வெளியீட்டைத் தருகிறது. இது குறியீடுகளை மீண்டும் பயன்படுத்தவும் மென்பொருள் பிழைகளை எளிதில் திருத்தவும் பெரிதும் உதவுகிறது. இதனால் நிரலின் வாசிப்புத்தன்மையும் அதன் மறுபயன்பாடும் பெருமளவு அதிகரிக்கிறது.
அளபுருக்கள் மற்றும் செயலுருபுகள் என்றால் என்ன?
செயற்கூறை வரையறுக்கும் போது அதனுள் பயன்படுத்தப்படும் மாறிகள் அளபுருக்கள் என்று அழைக்கப்படுகின்றன. ஆனால், அந்த செயற்கூறை நிரலின் மற்றொரு பகுதியிலிருந்து அழைக்கும் போது அந்த மாறிகளுக்கு உண்மையாக அனுப்பப்படும் தரவு மதிப்புகள் செயலுருபுகள் எனப்படுகின்றன. சுருக்கமாகக் கூறின் அளபுருக்கள் மாறிகள், செயலுருபுகள் அவற்றின் மாறாத தரவு மதிப்புகள் ஆகும். இதனால் நிரலில் அளபுருக்களுக்கும் செயலுருபுகளுக்கும் உள்ள இத்தகைய தொடர்பு மிகவும் நேர்த்தியாகப் பராமரிக்கப்பட்டு பிழைகள் தவிக்கப்படுகின்றன.
இடைமுகம் மற்றும் செயல்படுத்துதல் எவ்வாறு வேறுபடுகின்றன?
இடைமுகம் என்பது ஒரு பொருள் செய்ய வேண்டிய வெளிப்புறச் செயல்பாடுகளை மட்டுமே விவரிக்கிறது, ஆனால் அந்தச் செயல்பாடுகளை உண்மையாக எப்படிச் செய்ய வேண்டும் என்ற வழிமுறைகளை அது கொண்டிருப்பதில்லை. மாறாக, செயல்படுத்துதல் என்பது இடைமுகத்தில் உள்ள கட்டளைகளை எவ்வாறு நிறைவேற்ற வேண்டும் என்ற முழுமையான உள் குறிமுறைகளையும் செயல்பாடுகளையும் விரிவாகக் கொண்டுள்ளது. இது மென்பொருள் வடிவமைப்பை எளிமையாக்குகிறது.
Keep தூய செயற்கூறு என்றால் என்ன?
ஒரே மாதிரியான உள்ளீடுகளைக் கொண்டு எத்தனை முறை அழைத்தாலும் எப்போதும் அதே வெளியீட்டை மட்டுமே வழங்கும் செயற்கூறுகள் தூய செயற்கூறுகள் ஆகும். இவற்றை மதிப்பிடும் போது உலகளாவிய மாறிகளில் எந்த மாற்றமும் ஏற்படாது. மேலும், இவை எந்தவிதமான பக்கவிளைவுகளையும் ஏற்படுத்துவதில்லை என்பதால் மிகவும் பாதுகாப்பானவை மற்றும் பிழையற்ற நிரல் கட்டமைப்பிற்கு மிகவும் உகந்தவை. இதனால் மென்பொருள் உருவாக்கத்தில் தூய செயற்கூறுகள் முக்கிய பங்கு வகிக்கின்றன.
தற்சுழற்சி செயற்கூறு என்றால் என்ன?
ஒரு செயற்கூறு தனக்குத்தானே மீண்டும் மீண்டும் அழைத்துக் கொள்ளும் முறை தற்சுழற்சி என்று அழைக்கப்படுகிறது. இத்தகைய செயற்கூறுகள் ஒரு குறிப்பிட்ட அடிப்படை நிபந்தனை நிறைவடையும் வரை தங்களை மீண்டும் மீண்டும் இயக்கி, சிக்கலான கணக்கீடுகளுக்கு எளிய வழியில் தீர்வுகளைக் கண்டறிகின்றன. இதற்கு காரணியைக் கணக்கிடும் முறையை உதாரணமாகக் கூறலாம். இது சிக்கலான கணிதப் பிரச்சினைகளைத் தீர்க்கப் பயன்படுகிறது.
செயற்கூறில் பக்கவிளைவு என்றால் என்ன?
ஒரு செயற்கூறு தனக்கு வெளியே உள்ள உலகளாவிய மாறிகளின் மதிப்புகளை மாற்றுவது அல்லது கணினியின் நினைவக சூழலில் மாற்றங்களை ஏற்படுத்துவது பக்கவிளைவு எனப்படும். தூய்மையற்ற செயற்கூறுகள் இத்தகைய பக்கவிளைவுகளை உருவாக்குகின்றன. இது நிரல்களில் எதிர்பாராத பிழைகளை ஏற்படுத்தக்கூடும் என்பதால் தூய செயற்கூறுகளைப் பயன்படுத்துவதே மிகவும் பாதுகாப்பானதாகும். எனவே பக்கவிளைவுகள் அற்ற தூய செயற்கூறுகளைத் திட்டமிட்டு உருவாக்குவது நிரலை எளிதாகப் பகுப்பாய்வு செய்யவும் சோதிக்கவும் வழிவகுக்கிறது.
கடைசியாகப் புதுப்பிக்கப்பட்டது 21 ஆகஸ்ட் 2026