Wednesday, August 7, 2013

Nested If என்றால் என்ன?



If condition ஐ பயன்படுத்தி எவ்வாறு program எழுதுவது, எந்த சூழ்நிலையில் அதை பயன்படுத்துவது என்பதை தொடர்ந்து பார்த்து வருகிறோம். வெறுமனே if ஐ மனப்பாடம் செய்யாமல், யதார்த்தமாக கற்றுக்கொள்ள டாக்டர் கம்பவுண்டர் உதாரணத்தை பயன்படுத்தி வருகிறோம். இதன் நோக்கம், தினமும் பல சூழ்நிலைகளில் தக்க முடிவெடுத்து அதற்கேற்ப காரியங்களை செய்கிறோம் என்பதை நீங்கள் உணரவேண்டும். இவ்வாறு நாம் எடுக்கும் ஒவ்வொரு முடிவும் if condition ஐ பயன்படுத்தியே எடுக்கப்படுவதால் அதை எளிதாக program மாக மாற்றிவிடலாம். இதற்காகத்தான் நாம் ஒவ்வொரு stage லும் கம்பவுண்டரின் முடிவுகளை அதற்கு பொருத்தமான if ஐ  போட்டு எழுதிப்பழகி வருகிறோம்.

ஏம்ப்பா! ஏற்கனவே ஒரு நோயாளி உள்ளே இருக்காருல்ல. இவர் இருக்கும் போது ஏன் இன்னொருத்தர உள்ளே அனுப்பினேன்னு டாக்டர் கேட்டதையும், இனிமேல் இந்த தப்பு நடக்காதுன்னு கம்பவுண்டர் சொன்னதையும் முந்தைய பாகத்தில் பார்த்தோம்.

இனி...

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

stage 4
இனி நம்ம program மையும் improve செய்யவேண்டுமே! என்ன செய்ய?

கம்பவுண்டருடைய செயலை பட்டியல் போட்டு அதிலிருந்து ஏதாவது clue கிடைக்கிறதான்னு பார்ப்போம்.

டாக்டர் வைத்தியம் செய்துகொண்டிருந்தால் நோயாளியை காத்திருக்க சொல்லனும்
இல்லையென்றால் நோயாளியை உள்ளே அனுப்பனும்; 

இது தான் கம்பவுண்டர் (அட நீங்கதாங்க) பயன்படுத்துற if statement.

இங்கே டாக்டர் வைத்தியம் செய்துகொண்டிருந்தால் என்பதை பயன்படுத்தியிருக்கீங்க. பார்ப்பதற்கு ஒரு விஷயத்தை (condition ஐ) சோதிப்பது போல தோன்றினாலும் இதில்  இரண்டு condition கள் உள்ளன.

டாக்டர் வைத்தியம் செய்துகொண்டிருக்கிறாரா இல்லையா என்பதை சோதிக்கிறீர்கள் என்றால் டாக்டர் கிளினிக்குல இருக்கிறார் என்பதை உறுதிசெய்துகொண்டீர்கள் என்று வருகிறது. டாக்டர் கிளினிக்குலேயே இல்லைன்னா வைத்தியம் பார்த்துக்கொண்டிருக்கிறாரா என்ற கேள்வியே எழாது. என்ன புரியுதா?

இப்படித்தான் சிலவேளைகளில் நம்முடைய ஒரு முடிவு இன்னொரு முடிவைச் சார்ந்து வேலை செய்கிறது.

அதாவது ஒரு CONDITION ஐ evaluate செய்வதற்கு முன்பே இன்னொரு condition evaluate செய்யப்பட்டு TRUE ஆகியிருக்கவேண்டும். இதற்கு பொருத்தமான PROGRAMMING COMMAND என்ன இருக்கிறது?....

NESTED IF இருக்கே... இதை வச்சு எப்படி எழுதலாம்னு பார்ப்போம். 

Nested if
ஒரு if க்குள் இன்னொரு if ஐ போட்டு எழுதுவதை nested if என்று சொல்கிறோம். அதாவது ஒரு if expression true ஆகிவிட்டால் இன்னொரு if ஐ போட்டு எழுதுவதை nested if என்று சொல்கிறோம்.

இதனுடைய syntax

if boolean_expression1 then 
  if boolean_expression2 then statement_expression1_and_expression2_are_true
  else statement_expression1_is_true_but_expression2_is_false
else statement_expression1_is_false

nested if statements, nested if else, karkandu, கற்கண்டு, ஃபரீத், புரோகிராம் எழுதுவது எப்படி?

மேலே உள்ள படத்தில் வலது பக்கத்தில் சிவப்பு வண்ணத்தில் nested if structure உள்ளது.இடது பக்கத்தில் else if structure உள்ளது.

if டாக்டர் இருந்தால் then
  if வைத்தியம் செய்துகொண்டிருந்தால் then  காத்திருக்க சொல்லவும்
  else உள்ளே அனுப்பவும்
else டாக்டர் இல்லையென்றால் என்னென்ன செய்யனுமோ அதை செய்யவும்

இதுதான் nested if statement.
nested if example, how to program, ஃபரீத் எலந்தங்குடி, புரோகிராம் எழுதுவது எப்படி?

மேலே உள்ள படத்தில் வலது பக்கத்தில் சிவப்பு வண்ணத்தில் nested if ஐ பயன்படுத்தியுள்ளோம்.

இதுவரை நாம் பார்த்த if வகைகள்:
1. if then (simple if)
2. if then else
3. if..else if (evaluate second expression if first one is false)
4. nested if (if within if; evaluate second expression if first one is true)

If structure ரின் 4 பாகத்தையும் நாம் பார்த்துவி்ட்டோம். மேலே உள்ள flow chart ஆனது ஒரு கம்பவுண்டரின் செயல்களை ஓரளவுக்கு (முழுமையாக இல்லை) அழகாக விவரிக்கிறது. இப்படி விரிவுபடுத்த என்னன்னவெல்லாம் யோசித்தோம் என்பதை நினைவுபடுத்தி பாருங்கள். இதை நீங்கள் இன்னும் விரிவுபடுத்தலாம்

Conditional statement அனைத்தும் நமது நிஜ வாழ்வோடு எப்படி ஒத்துப்போகிறது  என்பதை கவனித்தீர்களா? இதிலிருந்து நமக்கு என்ன தெரிகிறது? அன்றாடம் நடக்கும் நிகழ்வுகளை சரியாக கவனித்தாலே நமக்கு லாஜிக் எளிமையாக புரிய ஆரம்பிக்கும். பிறகென்ன... அந்த லாஜிக்குளை programming command டுகளாக மாற்றிவிட முடியும்.

If statement களை நமது program மில் எப்படி பயன்படுத்துவது என்பது தெரிந்திருக்கும் என்று நம்புகிறேன். இந்த கம்பவுண்டர் உதாரணத்தை அப்படியே ஒரு Program ஆக மாற்ற முயற்சி செய்யுங்கள். இப்படித்தான் ஒவ்வொரு பயன்பாட்டுக்கும் program எழுதப்படுகிறது. அதாவது ஒரு program எழுதுவதற்கு முன்பு எதற்காக நாம் program செய்யப்போகிறோமோ அந்த பணிகளைப் பற்றி நாம் முழுமையாக ஆய்வு செய்தால்தான் நமது Program அந்த பணிக்கு பிரயோஜனமாக இருக்கும். இல்லையென்றால் என்னாகும்? நமது Program நடைமுறைக்கு ஒத்துவராது என்று ஒதுக்கப்பட்டுவிடும்.

No comments:

Post a Comment