Conditional and Looping Statements in javascript

5 Conditional statements

ஒரு variable-ல் சேமிக்கப்பட்டுள்ள மதிப்பானது பல்வேறு நிபந்தனைகளோடு ஒப்பிடப்படும். ஒவ்வொரு நிபந்தனையும் பல்வேறு வகையான நிகழ்வுகளைக் கொண்டிருக்கும். ஒப்பிடப்படுகின்ற மதிப்பானது எந்த நிபந்தனையோடு ஒத்துப்போகிறதோ, அதனுடைய நிகழ்வினை நிகழ்த்தும் செயலுக்கு If…Else மற்றும் switch_case போன்ற conditional statements பயன்படுகின்றன.

If…Else

பின்வரும் உதாரணத்தில் age எனும் variable-ல் உள்ள மதிப்பு 18 முதல் 21 வரை இருப்பின் “Legally fit for marriage” எனும் வாக்கியத்தையும், 21-ஐ விட அதிகமாக இருந்தால் “Legally and Medically fit” எனும் வாக்கியத்தையும், வேறு எந்த மதிப்பாக இருந்தாலும் “Not fit for marriage” எனும் வாக்கியத்தையும் வெளிப்படுத்துமாறு கொடுக்கப்பட்டுள்ளது.

ஒரு If…Else சோதனையில் எப்போதும் if, else if, else எனும் 3 வகையான சோதனைகளை கட்டாயம் கொடுக்க வேண்டும் என்று அவசியமில்லை. If மட்டுமே கொடுத்து ஒரு சோதனையுடன் நிறுத்திக்கொள்ளலாம். If-வுடன் சேர்த்து Else-ஐயும் கொடுத்து இரண்டு சோதனையுடன் நிறுத்திக்கொள்ளலாம். பல்வேறு சோதனைகளை நிகழ்த்த விரும்பினால் else if -மூலம் வேண்டிய எண்ணிக்கையில் சோதனைகளை சேர்த்துக்கொண்டேயும் செல்லலாம்.

இதன் Output பின்வருமாறு:

Switch Case

பின்வரும் உதாரணத்தில் switch- க்குள் ஒரு குறிப்பிட்ட மதிப்பினைத் (II) தாங்கியுள்ள variable (grade) கொடுக்கப்பட்டுள்ளது. அதன்கீழ் உள்ள case-க்குள் பல்வேறு மதிப்புகளும் அதற்கான வெளிப்பாடுகளும் கொடுக்கப்பட்டுள்ளன. Switch-க்குள் உள்ள variable-ன் மதிப்பானது case-க்குள் உள்ள மதிப்புகளுடன் ஒப்பிடப்பட்டு, எந்த மதிப்புடன் ஒத்துப்போகிறதோ (case ‘II’), அதற்கான வெளிப்பாட்டினை (“Pretty good”) நிகழ்த்துகிறது. இந்த வகையான செயல்பாட்டிற்கு நாம் பல்வேறு Else If கூட பயன்படுத்தலாம். இவை இரண்டிற்கும் உள்ள ஒரே ஒரு வித்தியாசம் என்னவெனில் Swtich Case-ஆனது ஒரே ஒரு variable-ன் மதிப்பினை மட்டுமே பல்வேறு மதிப்புகளுடன் ஒப்பிடும்; Else If- ஆனது ஒன்றுக்கும் மேற்பட்ட variable-களை இணைத்து பல்வேறு மதிப்புகளுடன் ஒப்பிடும்.

இதன் Output பின்வருமாறு:

6 Looping statements

ஒரு குறிப்பிட்ட நிரல் தொகுப்பினை மீண்டும் மீண்டும் இயக்குவதற்கு while, for போன்றவை பயன்படுகின்றன. இவை இரண்டும் முதலில் ஒரு variable-ன் அடிப்படையில் condition-ஐ வலியுறுத்தும். பின்னர் அந்த condition பொய்யாகும் வரை variable- ன் மதிப்பினை ஒவ்வொன்றாக அதிகரிப்பதன் மூலம் சுழற்சியை உருவாக்குகின்றன.

While & Do while loop

இதில் while மற்றும் do while எனும் இரண்டு வகைகள் உள்ளன.
கீழ்க்கண்ட எடுத்துக்காட்டில் x-ஆனது while-ன் செயல்பாட்டினை விளக்குவதற்கும், y-ஆனது do while-ன் செயல்பாட்டினை விளக்குவதற்கும் பயன்பட்டுள்ளது. இவை இரண்டுக்கும் முதலில் 0 எனும் மதிப்பு வழங்கப்பட்டுள்ளது.

While loop: இது X- ன் மதிப்பு 10-க்கும் குறைவாக இருக்கும்வரை அடைப்புக் குறிக்குள் { } உள்ளவற்றை செயல்படுத்துகிறது. முதலில் Number:0 என்பது வெளிப்படுகிறது. பின்னர் X++ என்பது x-ன் மதிப்புடன் 1-ஐ கூட்டி அடுத்த சுழற்சியைத் தூண்டுகிறது. எனவே அடுத்த சுழற்சியில், Number:1 என்பதும் வெளிப்படும். எப்போது x-ன் மதிப்பு 10-ஐ அடைகிறதோ அப்போது அடைப்புக் குறிக்குள் { } உள்ளவற்றை செயல்படுத்தாமல் சுழற்சியை நிறுத்துகிறது.

Do while loop: do-வைத் தொடர்ந்து என்ன செயல்படுத்த வேண்டுமோ, அதை முதலில் கொடுத்து விட வேண்டும். அதன் பின்னர் condition வலியுறுத்தப்படும். இங்கு அடைப்புக் குறிக்குள் { } உள்ளவை y- ன் மதிப்பு 5-க்கும் குறைவாக இருக்கும் வரை செயல்படுத்தப்படுகின்றன.
இவை இரண்டும் பார்ப்பதற்கு ஒரே மாதிரியாக இருந்தாலும், அதன் செயல்முறையில் வேறுபடுகின்றன.

While ஆனது முதலில் சோதனை பொருந்துகிறதா எனப் பார்த்து, பின்னர் அடைப்புக்குறிக்குள் உள்ளவற்றை செயல்படுத்துவதால் இது ‘Entry control loop’ எனப்படும்.

Do While ஆனது அடைப்புக்குறிக்குள் உள்ளவற்றை செயல்படுத்திய பின்னரே சோதனை பொருந்துகிறதா எனப் பார்ப்பதால், இது ‘Exit control loop’ எனப்படும். எனவே Do while-ல் சோதனை பொருந்தவில்லை என்றாலும், அதனால் அடுத்த சுழற்சியை மட்டுமே தடுக்க முடியுமே தவிர, ஏற்கனவே அடைப்புக்குறிக்குள் நடந்து முடிந்த ஒன்றை தவிர்க்க இயலாது.

இதன் Output பின்வருமாறு:

For loop

For loop- ம் while போன்றதே. இதன் வடிவம் மட்டுமே மாறுபட்டுள்ளது. ஒரே ஒரு வித்தியாசம் என்னவெனில், loop-க்குள் variable-ன் துவக்க மதிப்பு வரையறுக்கப்படுகிறது. கீழ்க்கண்ட எடுத்துக்காட்டில் for loop- ஆனது x-ன் மதிப்பு 0 என்றும், அது 10-க்கும் குறைவாக(x<10) இருக்கும் வரை அடைப்புக் குறிக்குள் { } உள்ளவற்றை செயல்படுத்த வேண்டும் எனவும், ஒவ்வொரு முறையும் துவக்க மதிப்புடன் 1 கூட்டப்பட வேண்டும் (x++) எனவும் கூறுகிறது.

For…In என்பது for loop-ன் மற்றொரு வகை. இது variable-ஐ ஒரு object-ன் வழியே செலுத்தி அதன் அனைத்து பண்புகளையும் ஒவ்வொன்றாக வெளிக்காட்ட உதவுகிறது. X எனும் variable- ஐ கீழ்க்கண்டவாறு navigator எனும் object வழியே செலுத்தும்போது அது அதன் அனைத்து பண்புகளையும் ஒவ்வொன்றாக வெளிப்படுத்துவதைக் காணலாம்.

இதன் Output பின்வருமாறு:

Break…Continue

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

கீழ்க்கண்ட எடுத்துக்காட்டில் x-ஆனது break-ன் செயல்பாட்டினை விளக்குவதற்கும், y-ஆனது continue-ன் செயல்பாட்டினை விளக்குவதற்கும் பயன்பட்டுள்ளது. Heading: என்பது ஆகும். x, y இரண்டுக்கும் முதலில் 0 எனும் மதிப்பு வழங்கப்பட்டுள்ளது.

Break: x- ன் மதிப்பு 10-க்கும் குறைவாக இருக்கும் வரை அடைப்புக் குறிக்குள் { }
உள்ளவற்றை செயல்படுத்துமாறு ஒரு while loop அமைக்கப்பட்டுள்ளது. இதில் x-ன் மதிப்பானது 5 எனும் சுழற்சி எண்ணை அடையும்போது சுழற்சியை விட்டு வெளியேதும் வகையில் if (x == 5){break;} எனும் வாக்கியம் கொடுக்கப்பட்டுள்ளது.

Continue: y- ன் மதிப்பு 10-க்கும் குறைவாக இருக்கும் வரை அடைப்புக் குறிக்குள் { }
உள்ளவற்றை செயல்படுத்துமாறு ஒரு while loop அமைக்கப்பட்டுள்ளது. இதில் y-ன் மதிப்பானது 5 எனும் சுழற்சி எண்ணை அடையும்போது மட்டும் if (y == 5){continue;}, அடைப்புக்குறிக்குள் உள்ளவற்றை செயல்படுத்தாமல் loop-ன் தொடக்கத்தை சென்றடைந்து அடுத்த சுழற்சி எண்ணிலிருந்து சுழல ஆரம்பிக்கிறது.

Labels: i-ன் மதிப்பு 3-க்கும் குறைவாக இருக்கும் வரை வெளிப்புற loop சுழலும்படியும், அதற்குள் உள்ள j-ன் மதிப்பு 5-க்கும் குறைவாக இருக்கும் வரை உட்புற loop சுழலும்படியும் 2 for loops அமைக்கப்பட்டுள்ளன. உட்புற loop-ல் j-ன் மதிப்பு 3-ஐ அடையும்போது Heading எனும் பெயர் கொண்ட label உள்ள இடத்திற்குச் செல்லுமாறு ஒரு வரி if (j == 3){continue Heading;} கொடுக்கப்பட்டுள்ளது. இந்த Heading: வெளிப்புற loop-ன் துவக்கத்தில் கொடுக்கப்பட்டிருப்பதால், அங்கிருந்து சுழற்சி எண் 3- க்கான சுழற்சியை ஆரம்பிக்கும். ஆனால் (i<3) எனும் சோதனைக்குள் அடங்காததால், இங்கு சுழற்சி முடிக்கப்பட்டுள்ளது.

இதன் Output பின்வருமாறு:

%d bloggers like this: