கட்டுப்பாட்டுக் கட்டமைப்புகள் - 12ஆம் வகுப்பு கணினி அறிவியல்
இந்த பாடம் பைத்தான் நிரலாக்க மொழியில் பயன்படுத்தப்படும் பல்வேறு கட்டுப்பாட்டுக் கட்டமைப்புகளைப் பற்றி விளக்குகிறது. இதில் வரிசைமுறை கூற்றுகள், நிபந்தனைகளின் அடிப்படையில் இயங்கும் கிளைப்பிரிப்பு கூற்றுகள் மற்றும் மீண்டும் மீண்டும் இயங்கும் சுழற்சி கூற்றுகள் விரிவாக விளக்கப்பட்டுள்ளன. மேலும், நிரலின் பாய்வைக் கட்டுப்படுத்தும் தாவல் கூற்றுகளான பிரேக், கன்டினியூ மற்றும் பாஸ் ஆகியவற்றை மாணவர்கள் எளிதாகப் புரிந்துகொள்ளும் வகையில் இந்த அத்தியாயம் வடிவமைக்கப்பட்டுள்ளது.
இந்தப் பாடத்தைப் படியுங்கள்
கட்டுப்பாட்டுக் கட்டமைப்புகள் பற்றி
நடுத்தரம் ~120 நிமிடப் படிப்பு
கணினி அறிவியல் மற்றும் மென்பொருள் உருவாக்கத்தில் கட்டுப்பாட்டுக் கட்டமைப்புகள் என்பவை மிக முக்கியமான அடிப்படை கட்டுமானக் கற்களாகும். ஒரு கணினி நிரலானது எப்போதும் வரிசையாக மட்டுமே இயங்கினால், அதனால் சிக்கலான முடிவுகளை எடுக்க முடியாது. இயல்பான இந்த வரிசைமுறை இயக்கத்தை மாற்றி, குறிப்பிட்ட நிபந்தனைகளின் அடிப்படையில் குறியீட்டின் பாய்வை வழிநடத்தவும், தேவையான குறியீட்டுத் தொகுதியைத் தேர்ந்தெடுக்கவும் இக்கட்டமைப்புகள் உதவுகின்றன. நிஜ உலகப் பிரச்சனைகளுக்குத் தீர்வு காணும் திறன்மிக்க மற்றும் புத்திசாலித்தனமான மென்பொருள்களை உருவாக்க இத்தகைய கட்டுப்பாட்டுக் கட்டமைப்புகள் இன்றியமையாதவை ஆகும்.
இப்பாடத்தில் உள்ள கருத்துக்கள் அனைத்தும் ஒன்றோடொன்று தொடர்புடைய வகையில் மிக அழகாக ஒருங்கிணைக்கப்பட்டுள்ளன. முதலில் எளிய வரிசைமுறை கூற்றுகள் விளக்கப்பட்டு, பின்னர் நிபந்தனைகளின் அடிப்படையில் முடிவெடுக்கும் 'if', 'if-else' மற்றும் 'if-elif-else' போன்ற கிளைப்பிரிப்பு கூற்றுகள் அறிமுகமாகின்றன. அதன் தொடர்ச்சியாக, குறிப்பிட்ட நிபந்தனை முடியும் வரை மீண்டும் மீண்டும் இயங்கும் 'while' மற்றும் 'for' போன்ற சுழற்சி கட்டமைப்புகள் மற்றும் 'range()' செயற்கூறின் பயன்பாடுகள் விவரிக்கப்படுகின்றன. இவற்றுடன் இணைந்து நிரலின் பாய்வை உடனடியாக மாற்றியமைக்க உதவும் தாவல் கூற்றுகளான 'break', 'continue' மற்றும் 'pass' ஆகியவற்றின் செயல்பாடுகளும் அவற்றின் தொடர்புகளும் விளக்கப்பட்டுள்ளன.
தேர்வு நோக்கில் பார்க்கும்போது, கட்டுப்பாட்டுக் கட்டமைப்புகளின் தொடரியல், அவற்றின் பாய்வு வரைபடங்கள் மற்றும் குறியீட்டு தொகுதிகளை வேறுபடுத்தும் உள் தள்ளல் விதிகள் மிக முக்கியமானவையாகும். குறிப்பாக, பல்வேறு மடக்குகளின் வேறுபாடுகள், 'break' மற்றும் 'continue' கூற்றுகளுக்கு இடையேயான ஒப்பீடுகள் மற்றும் வெளியீட்டைக் கண்டறியும் நிரல் பகுதிகள் ஆகியவை தேர்வில் அடிக்கடி கேட்கப்படும் பகுதிகளாகும். எனவே, மாணவர்கள் இக்கோட்பாடுகளின் நுட்பங்களைப் புரிந்துகொண்டு எளிய நிரல்களை உருவாக்கப் பயிற்சி பெறுவது தேர்வில் மிக எளிதாக முழு மதிப்பெண்களையும் பெற பெரிதும் உதவும்.
நீங்கள் கற்பவை
- வரிசைமுறை, கிளைப்பிரிப்பு மற்றும் சுழற்சி கட்டமைப்புகளின் அடிப்படை வேறுபாடுகளைக் கண்டறிதல்.
- if, if-else மற்றும் if-elif-else போன்ற கூற்றுகளைப் பயன்படுத்தி நிபந்தனை நிரல்களை உருவாக்குதல்.
- while மற்றும் for மடக்குகளைப் பயன்படுத்தி மீண்டும் மீண்டும் இயங்கும் குறியீடுகளை வடிவமைத்தல்.
- range() செயற்கூற்றினைப் பயன்படுத்தித் தேவையான எல்லைகளுக்குள் எண்களைத் தோற்றுவித்தல்.
- break, continue மற்றும் pass போன்ற தாவல் கூற்றுகளைச் சரியான இடங்களில் கையாளுதல்.
- உள் தள்ளல் விதிகளைப் பின்பற்றிப் பிழையற்ற பைத்தான் குறியீட்டுத் தொகுதிகளை உருவாக்குதல்.
தொடங்குவதற்கு முன்
- பைத்தான் மொழியின் அடிப்படை மாறிகள் மற்றும் செயற்குறிகள் பற்றிய அறிவு.
- நிபந்தனை வெளிப்பாடுகள் மற்றும் பூலியன் மதிப்புகளின் செயல்பாடுகள் பற்றிய புரிதல்.
- நிரல் வரிகளைத் தொகுதிகளாக வேறுபடுத்தும் உள் தள்ளல் பற்றிய அடிப்படைத் தெளிவு.
இந்த அத்தியாயத்தில் உள்ள தலைப்புகள்
கட்டுப்பாட்டுக் கட்டமைப்புகள் — விரிவான விளக்கம்
கட்டுப்பாட்டுக் கட்டமைப்புகளின் விரிவான ஆய்வு
வரிசைமுறை கூற்றுகளின் அடிப்படை இயல்பு
வரிசைமுறை கூற்றுகள் என்பது நிரலாக்க மொழிகளில் மிகவும் எளிமையான மற்றும் இயல்பான பாய்வுக் கட்டமைப்பாகும். இதில் உள்ள அனைத்து நிரல் வரிகளும் நிரலரால் எழுதப்பட்ட வரிசையின்படியே, அதாவது மேலிருந்து கீழாக ஒன்றன்பின் ஒன்றாக எந்தவொரு நிபந்தனையும் அல்லது கிளைப்பிரிப்பும் இல்லாமல் நேரடியாக வரிசையாக இயங்குகின்றன. ஒரு மாணவனின் பெயர், அவனது வயது, வகுப்பு மற்றும் தொலைபேசி எண் போன்ற விவரங்களை வரிசையாகத் திரையில் அச்சிடும் எளிய நிரல் இதற்குச் சிறந்த உதாரணமாகும். இந்த எளிய அமைப்பில் எந்தவொரு குறிப்பிட்ட குறியீட்டுப் பகுதியும் தவிர்க்கப்படுவதோ அல்லது மீண்டும் மீண்டும் இயக்கப்படுவதோ இல்லை. இது நிரலின் தொடக்கப் புள்ளியிலிருந்து இறுதிப் புள்ளி வரை ஒரு நேர்கோட்டுப் பாதையில் பாய்வை மிகத் துல்லியமாக வழிநடத்துகிறது.
முடிவெடுக்கும் மாற்று அல்லது கிளைப்பிரிப்பு கூற்றுகள்
நிரல் இயங்கும் நேரத்தில் சில குறிப்பிட்ட நிபந்தனைகளின் அடிப்படையில் குறியீட்டின் ஒரு குறிப்பிட்ட பகுதியைத் தேர்ந்தெடுத்து இயக்கவும், அதே நேரத்தில் தேவையற்ற பகுதிகளைத் தவிர்த்துவிடவும் கிளைப்பிரிப்பு கூற்றுகள் உதவுகின்றன. பைத்தான் மொழியில் இதற்காக 'simple if', 'if-else' மற்றும் 'if-elif-else' ஆகிய மூன்று முக்கிய அமைப்புகள் பயன்படுத்தப்படுகின்றன. 'simple if' கூற்றில் நிபந்தனை மெய்யாக இருந்தால் மட்டுமே கொடுக்கப்பட்ட கூற்றுத் தொகுதி இயங்கும்; தவறாக இருக்கும்போது எதையும் செய்யாது. ஆனால், 'if-else' அமைப்பானது நிபந்தனை மெய்யாக இருக்கும்போது ஒரு தொகுதியையும், அதுவே தவறாக இருக்கும்போது மற்றொரு மாற்றுத் தொகுதியையும் இயக்க வழிவகை செய்கிறது. பலதரப்பட்ட மாறுபட்ட நிபந்தனைகளை வரிசையாக ஒப்பிட்டுப் பார்த்துத் தகுந்த முடிவுகளை எடுக்க 'if-elif-else' கூற்று பயன்படுகிறது, இது சி++ மொழியின் பின்னலான 'if' கூற்றுக்கு முற்றிலும் நிகரானது.
மீண்டும் மீண்டும் இயங்கும் சுழற்சி அல்லது மடக்கு அமைப்புகள்
ஒரு குறிப்பிட்ட குறியீட்டுத் தொகுதியைத் தேவையான எண்ணிக்கையிலோ அல்லது கொடுக்கப்பட்ட நிபந்தனை மெய்யாக இருக்கும் வரையோ மீண்டும் மீண்டும் இயக்குவதற்குச் சுழற்சி அமைப்புகள் பெரிதும் பயன்படுகின்றன. பைதான் மொழியானது 'while' மற்றும் 'for' ஆகிய இரண்டு வலிமையான மற்றும் பயனுள்ள மடக்குகளை நமக்கு வழங்குகிறது. 'while' மடக்கானது ஒரு நுழைவுச் சோதனை மடக்கு ஆகும், இது நிபந்தனை தவறாகும் வரை தொடர்ந்து இயங்கும்; மேலும் இதனுடன் பயன்படுத்தப்படும் 'else' பகுதி முற்றிலும் விருப்பமான ஒன்றாகும். 'for' மடக்கானது ஒரு வரையறுக்கப்பட்ட மடக்கு ஆகும், இது தொடர் மதிப்புகள் அல்லது எல்லைகளைக் கடந்து செல்லப் பயன்படுகிறது. இதற்காக பைத்தானில் 'range()' செயற்கூறு பயன்படுத்தப்பட்டு, தொடக்க மதிப்பு, இறுதி எல்லை மற்றும் இடைவெளி ஆகியவற்றின் அடிப்படையில் எண்களின் வரிசை மிக எளிதாக உருவாக்கப்படுகிறது.
நிரலின் பாய்வை உடனடியாக மாற்றும் தாவல் கூற்றுகள்
நிரலின் இயல்பான பாய்வுக் கட்டுப்பாட்டை எந்தவொரு நிபந்தனையும் இன்றி, நிரலின் ஒரு குறிப்பிட்ட பகுதியைத்த்திலிருந்து மற்றொரு பகுதிக்குத் தாவச் செய்ய தாவல் கூற்றுகள் பயன்படுத்தப்படுகின்றன. பைத்தான் மொழியில் இதற்காக 'break', 'continue' மற்றும் 'pass' ஆகிய மூன்று சிறப்புச் சொற்கள் வழங்கப்பட்டுள்ளன. 'break' கூற்றானது அது அமைந்துள்ள மடக்கை உடனடியாக நிறுத்திவிட்டு, கட்டுப்பாட்டை மடக்கிற்கு வெளியே உள்ள அடுத்த கூற்றிற்குக் கொண்டு செல்கிறது. ஆனால் 'continue' கூற்றானது நடப்புச் சுழற்சியை மட்டும் தவிர்த்துவிட்டு, மடக்கியின் அடுத்த சுழற்சியைத் தொடக்கத்திலிருந்து இயக்கும். 'pass' என்பது ஒரு வெற்று அல்லது செயலற்ற கூற்று ஆகும், இது எதிர்காலத்தில் குறியீடுகளை எழுதக்கூடிய இடங்களை நிரப்பி வைக்க (Place holder) ஒரு தற்காலிக அமைப்பாகப் பயன்படுத்தப்படுகிறது.
தவிர்க்க வேண்டிய பொதுவான தவறுகள்
- உள் தள்ளலைத் தவறாகப் பயன்படுத்துதல்: ஒரு தொகுதியின் கீழ் உள்ள அனைத்து கூற்றுகளும் ஒரே அளவிலான உள் தள்ளலைக் கொண்டிருக்க வேண்டும்.
- நிபந்தனையின் இறுதியில் முக்காற்புள்ளியை (:) இட மறப்பது: 'if', 'while' மற்றும் 'for' போன்ற கூற்றுகளின் முடிவில் கட்டாயம் முக்காற்புள்ளி இட வேண்டும்.
- for மடக்கின் இறுதி எல்லையைக் கணக்கிடுவதில் தவறு செய்தல்: 'range(start, stop)' என்பதில் இறுதி மதிப்பு 'stop - 1' வரை மட்டுமே இயங்கும் என்பதை நினைவில் கொள்ள வேண்டும்.
- 'while' மடக்கின் கட்டுப்பாட்டு மாறியை மேம்படுத்த மறப்பது: கட்டுப்பாட்டு மாறியை புதுப்பிக்கத் தவறினால் அது எல்லையற்ற சுழற்சிக்கு (Infinite loop) வழிவகுக்கும்.
- சமக்குறி செயற்குறியை மாற்றிப் பயன்படுத்துதல்: ஒப்பிட்டுப் பார்க்க ஒப்பீட்டுச் செயற்குறியான '==' என்பதையும், மதிப்பிருத்தலுக்கு '=' என்பதையும் சரியாகப் பயன்படுத்த வேண்டும்.
இவற்றை பயிற்சித் தேர்வு மூலம் சோதித்துப் பாருங்கள்; பிறகு விடையுடன் கூடிய வினாக்கள் பகுதியில் விரிவான விளக்கத்தைப் படியுங்கள்.
அடிக்கடி கேட்கப்படும் கேள்விகள்
பைத்தானில் கட்டுப்பாட்டுக் கட்டமைப்பு என்றால் என்ன?
ஒரு நிரலின் கூற்றுகள் இயங்கும் இயல்பான வரிசைமுறையை மாற்றி, குறிப்பிட்ட நிபந்தனைகளின் அடிப்படையில் குறியீட்டின் பாய்வை வழிநடத்தும் அல்லது குறியீட்டுத் தொகுதிகளைத் திரும்பத் திரும்ப இயக்கும் கட்டமைப்புகள் கட்டுப்பாட்டுக் கட்டமைப்புகள் எனப்படும். பைத்தானில் வரிசைமுறை, கிளைப்பிரிப்பு மற்றும் சுழற்சி என மூன்று வகையான கட்டுப்பாட்டுக் கட்டமைப்புகள் பயன்படுத்தப்படுகின்றன.
பைத்தானில் உள் தள்ளலின் முக்கியத்துவம் என்ன?
சி மற்றும் சி++ போன்ற பிற மொழிகளில் குறியீட்டுத் தொகுதிகளைக் குறிக்க நெளிவு அடைப்புக்குறிகள் பயன்படுத்தப்படுகின்றன. ஆனால், பைத்தான் மொழியில் தொகுதிகள் மற்றும் துணைத் தொகுதிகளை உருவாக்க வெற்று இடைவெளிகளைக் கொண்ட உள் தள்ளல் மட்டுமே பயன்படுத்தப்படுகிறது. எனவே, ஒரே தொகுதியில் உள்ள அனைத்து வரிகளும் சம அளவிலான உள் தள்ளலைக் கொண்டிருக்க வேண்டியது கட்டாயமாகும்.
while மற்றும் for மடக்குகளுக்கு இடையேயான வேறுபாடு யாது?
while மடக்கானது கொடுக்கப்பட்ட நிபந்தனை மெய்யாக இருக்கும் வரை தொடர்ந்து இயங்கும் ஒரு நுழைவுச் சோதனை மடக்கு ஆகும். ஆனால், for மடக்கானது எண்களின் எல்லைகள் அல்லது தொடர் மதிப்புகளைக் கடந்து செல்லப் பயன்படும் ஒரு வரையறுக்கப்பட்ட மடக்கு ஆகும். பொதுவாக எல்லை தெரிந்தபோது 'for' மடக்கையும், நிபந்தனையின் அடிப்படையில் இயங்கும்போது 'while' மடக்கையும் பயன்படுத்துவது சிறந்தது.
range() செயற்கூறின் மூன்று செயலுருபுகள் யாவை?
range() செயற்கூறானது start, stop மற்றும் step ஆகிய மூன்று செயலுருபுகளைக் கொண்டுள்ளது. இதில் start என்பது தொடக்க மதிப்பையும், stop என்பது இறுதி எல்லையையும், step என்பது இடைவெளியின் அளவையும் குறிக்கும். இதில் stop தவிர மற்ற இரண்டும் விருப்பப் பகுதியாகும். இந்த செயற்கூறு stop - 1 வரை எண்களின் வரிசையை நமக்கு உருவாக்குகிறது.
break மற்றும் continue கூற்றுகளை எப்போது பயன்படுத்த வேண்டும்?
ஒரு மடக்கின் இயக்கம் முடிவதற்கு முன்பே அதிலிருந்து முற்றிலும் வெளியேற விரும்பும்போது 'break' கூற்றைப் பயன்படுத்த வேண்டும். ஆனால், மடக்கின் நடப்புச் சுழற்சியை மட்டும் தவிர்த்துவிட்டு, அடுத்த சுழற்சியை உடனடியாகத் தொடக்கத்திலிருந்து இயக்க விரும்பும்போது 'continue' கூற்றைப் பயன்படுத்த வேண்டும். இவை இரண்டும் தாவல் கூற்றுகள் எனப்படும்.
பைத்தானில் pass கூற்றின் பயன்பாடு என்ன?
pass என்பது ஒரு வெற்று அல்லது செயலற்ற கூற்று ஆகும். பைத்தான் நிரலில் மடக்கின் உடற்பகுதியையோ அல்லது செயற்கூறையோ தற்காலிகமாக வெற்றுத் தொகுதியாக விட முடியாது. அவ்வாறு எழுதினால் மொழிபெயர்ப்பி பிழையைக் காட்டும். இப்பிழையைத் தவிர்க்கவும், எதிர்காலத்தில் எழுதப்போகும் குறியீடுகளுக்கான இடத்தை தற்காலிகமாக நிரப்பவும் 'pass' கூற்று ஒரு இடநிரப்பியாகப் பயன்படுகிறது.
கடைசியாகப் புதுப்பிக்கப்பட்டது 21 ஆகஸ்ட் 2026