Skip to content
Home » மலைப்பாம்பு மொழி 14 – இரக்கமற்றவர்

மலைப்பாம்பு மொழி 14 – இரக்கமற்றவர்

Python

சாவி கொடுத்தால் கை தட்டும் குரங்கு பொம்மை மிகப் பிரபலமாக இருந்தது ஒரு காலத்தில், என் சந்தேகம் என்னவென்றால் அப்படி மும்முரமாக கை தட்டிக்கொண்டிருக்கும் குரங்கின் செயலை பாதியில் நிறுத்த முடியுமா? அல்லது 3வது மற்றும் 5வது முறையாக கை தட்டுவதை மட்டும் தவிர்க்கச் சொல்லி அறிவுறுத்த இயலுமா?

குரங்கிடம் இது சாத்தியமா தெரியவில்லை, ஆனால் ஒரு நிரலில் for loopல் இது சாத்தியம். உதாரணத்துக்கு 10ல் தொடங்கி 20 வரைக்கும் இயங்கும்படி ஒரு for loop வடிவமைக்கப்பட்டு இருக்கிறது என்று வைத்துக்கொள்வோம். குரங்கிடம் சொன்னது போல இரண்டு விஷயங்களில் இந்த நிரலோடு விளையாடலாம்.

1) 10ல் தொடங்கி 20 வரைக்கும் இயங்கியே ஆகவேண்டிய சட்டமொன்றுமில்லை. நிரலாளர் அதை எங்கே வேண்டுமென்றாலும் நிறுத்தலாம். அதற்கு நாம் பயன்படுத்தவேண்டியது break.

2) நிரலாளருக்கு இந்த எண் தொடரை(10ல் தொடங்கி 20 வரைக்கும்) பாதியில் நிறுத்த விருப்பமில்லை. ஆனால் 4,5 ஆகிய எண்களை மட்டும் தவிர்க்க விரும்புகிறார் என்றால், அதற்கும் ஒரு வாய்ப்பிருக்கிறது, அது continue.

நேர்காணல்களில் அதிகம் வினவப்படும் கேள்விகளில் ஒன்றாக break, continue ஆகிய இரண்டுக்கும் இடையேயான வேறுபாட்டைச் சொல்லலாம். அதை இரண்டு நிரல்களை எழுதுவதன் மூலம் புரிந்துகொள்ளலாம்.

நிரல் 1: break, தயவு தாட்சண்ணியமின்றி முறித்துக் கொள்பவர்


விளக்கம்:

பயனரிடமிருந்து 5 மதிப்பெண்களைக் கேட்டுப்பெற்று அதன் கூட்டுத்தொகையை அச்சிடுகிறோம். இந்த செயல்முறை for loopன் தொகுதிக்குக் கீழே வருகிறது. ஆனால் ஒவ்வொருமுறையும் கவனமாகப் பெறப்படும் மதிப்பெண்ணை நோக்கி ஒரு நிபந்தனையை முன்வைக்கிறோம். அதாவது ஒருவேளை மதிப்பெண்ணின் மதிப்பு 33ற்கு குறைவாக இருக்கும் பட்சத்தில், break.

5 மதிப்பெண்களைக் கேட்டுப்பெறும் வகையில் for loop வடிவமைக்கப்பட்டு இருக்கிறது, ஒருவேளை 3வது செய்கையில் பெறப்படும் மதிப்பெண் 27 ஆக(33க்கும் குறைவாக) இருந்தால், இன்னும் செயல்படுத்தவேண்டிய 2 செய்கைகளையும் விடுத்து, for loop தனது செயல்பாட்டை நிறுத்திக்கொள்ளும்.
கவனிக்க நிரல் முற்றுப்பெறவில்லை, for loop தனது செயல்பாட்டை நிறுத்திக்கொண்டுவிட்டது.

எதற்காக இதெல்லாம்?

100 முறை இயங்கவேண்டிய வகையில் வடிவமைக்கப்பட்டு இருக்கும் for loopஐ, தான் நினைக்கும் இடத்தில்(முற்பாதி, பாதி, பிற்பாதி) நிறுத்தமுடிகிற வாய்ப்பினை நிரலாளருக்கு வழங்குகிறது பைத்தான்.

இதனால் என்ன சாதிக்க முடிகிறது?

1) நிரலின் முழு கட்டுப்பாடு நம்மிடம் இருக்கிறது.
2) நிபந்தனைகளைப் பின்பற்றாத தரவுகளைக் கண்டறிய, for loop முழுவதுமாக இயங்கி முடிக்கவேண்டிய வரை காத்திருக்க வேண்டியதில்லை.

வெளியீடு:

கீழே கொடுக்கப்பட்டிருக்கும் குறு அனிமேஷன் நிரலை இன்னும் நெருக்கமாகப் பார்க்க உங்களுக்கு உதவலாம்.

என்ன தான் இருந்தாலும் breakற்கு இவ்வளவு அதீத கோபம் ஆகாது, 5 முறை இயங்கவேண்டிய for loopஐ மூன்றாவது செய்கையிலே நிபந்தனையைக் காரணம் காட்டி, “உங்கிட்ட இன்னும் 2 செய்கைகள் இருக்கலாம். அதற்கெல்லாம் இப்போது நேரமில்லை. நீ வெளியே போ!” என்று சொல்வது கொஞ்சம் அநியாயமாகத்தானே தெரிகிறது?

இதையெல்லாம் தட்டிக்கேட்க ஆளே இல்லையே? ஏன் இல்லை? அவர்தாம் continue.

இவர் எங்கே மாறுபடுகிறார்? அதே டைலர், அதே வாடகை தான். ஆனால் நிபந்தனை பலிக்கும் பட்சத்தில் ஒட்டுமொத்தமாக ஊத்திமூடி வெளியேறுவதற்குப் பதிலாக, for loopன் குறிப்பிட்ட அந்த செய்கை மட்டும் தவிர்க்கப்பட்டு, மற்றவை வழக்கம்போல இயங்கும்.

புரிதலுக்காக முன்பு நாம் பார்த்த அதே நிரலை எடுத்துக்கொள்வோம். 3வது செய்கையில் தான் பஞ்சாயத்து இல்லையா? அது மட்டும் தவிர்க்கப்பட்டு for loop ஜம்மென்று மற்ற நான்கு செய்கைகளை இயக்கி முடிக்கும்.

நிரல் 2: continue, கொஞ்சம் இறக்கம் காட்டுபவர்

வெளியீடு:

விளக்கம்:

மூன்றாவது செய்கையில் தான் நிபந்தனை பலிக்கிறது, ஆகவே continueவை பின்தொடர்ந்து வரும் அனைத்தையும் தவிர்த்துவிட்டு for loopன் அடுத்த செய்கைக்கு(நான்காவது) நிரல் நகர்ந்துவிடுகிறது.

புரிதலுக்காக குறு அனிமேஷன்.( வேறு மதிப்புகளுடன் )

“அதெல்லாம் சரிப்பா, நேர்காணல்ல இப்படி வளவளன்னு பேசிட்டு இருந்தா தூங்கிற மாட்டாங்களா?” என்பவர்கள் முகத்தைக் கழுவிவிட்டுத் தொடரவும்.

1) break, continue இரண்டுமே மறுசெய்கை வரிகளுக்கு உள்ளே, அதன் ஓட்டத்தைக் கட்டுப்படுத்துவதற்காகப் பயன்படுகின்றன.

2) நிபந்தனை பலித்தால், break என்ன செய்யும்?

– for loop செயல்படுத்த வேண்டிய செய்கைகள் இன்னும் எத்தனை மீதம் இருந்தாலும் சரி, அதையெல்லாம் முற்றிலும் தவிர்த்துவிட்டுக் கட்டுப்பாடு நிரலுக்குத் திரும்பும்.

3) நிபந்தனை பலித்தால், continue என்ன செய்யும்?

– for loopன் எந்த செய்கையில் நிபந்தனை பலிக்கிறதோ, அப்போது continueவை தொடர்ந்து வரும் நிரல் வரிகள் புறக்கணிக்கப்படும்(loopக்கு உள்ளே மட்டும், குறிப்பிட்ட அந்த செய்கைக்கு மட்டும்). மற்றபடி for loop முழுமையாக இயங்கி தனது அனைத்து செய்கைகளையும் முடித்துக் கொடுக்கும்.

சரி, இப்போது பயிற்சிக்கான நேரம். வழக்கம் போல இவற்றை முடித்து 9789855667 என்ற வாட்ஸ்அப் எண்ணுக்கு அனுப்பி விடாதீர்கள், தெய்வக்குத்தம் ஆகிவிடும்.

1) 100 வரைக்கும் for loopஐ ஓடவிடுங்கள். மூன்றால் வகுபடும் எண்கள் தவிர்த்து மற்றவை திரையில் தோன்ற வேண்டும்.
பிட்: சொல்ல முடியாது.

2) பயனரிடமிருந்து 10 எண்களைப் பெற்று அதன் கூட்டுத்தொகையைக் கணக்கிட்டு அச்சிடுங்கள். ஒருவேளை அவர் ஏதாவதொரு செய்கையில் 0வை தந்துவிட்டால், சோலி முடிந்தது. அதுவரைக்கும் பெறப்பட்ட எண்ணின் கூட்டுத்தொகை மட்டும் அச்சிடப்பட்ட வேண்டும்.
ஹிண்ட்: கொடுக்க முடியாது.

3) for loop நாக்குத்தள்ள 50 வரை ஓடிக்கொண்டிருக்கிறது. உங்களுக்கு ஒற்றைப்படை எண்கள் என்றால் ஆகாது, ஆகவே அவற்றைத் தவிர்த்து மற்றதைத் திரையில் வர வையுங்கள் பார்ப்போம்.
உதவி: பண்ண முடியாது.

என்னது? அந்த பரோட்டா நிரலா? அட போங்கையா.

(தொடரும்)

பகிர:
ரிஷிகேஷ் ராகவேந்திரன்

ரிஷிகேஷ் ராகவேந்திரன்

நாமக்கல் மாவட்டம் இராசிபுரத்தை அடுத்த புதுப்பாளையம் என்னும் கிராமத்தைச் சேர்ந்தவர். தொழில்நுட்பத் துறை சார்ந்து தொடர்ந்து எழுதிவருபவர். இவர் எழுதிய ‘தமிழ் ராக்கர்ஸ் தோற்றமும் மறைவும்‘ என்னும் மின்னூல் பரவலான கவனத்தைப் பெற்றது. ரூபியா ரிஷி என்ற பெயரில் புனைவுகள் எழுதி வருகிறார்.View Author posts

பின்னூட்டம்

Your email address will not be published. Required fields are marked *