புரோகிராமிங் என்றால் என்ன? தொடர் 13
நிஜவாழ்வில் முடிவெடுத்து சில காரியங்களை நாம் செய்வது போல, நமது program மிலும் முடிவுக்கு தக்கமாதிரி சில காரியங்களை செயல்படுத்த உதவுபவைதான் conditional statements என்பதை முந்தைய பாகத்தில் பார்த்தோம். இனி Conditional statement ல் முதன்மையானதாக இருக்கும் if பற்றி இங்கு பார்ப்போம்.
if statement
if condition, இதை நாம் அன்றாடம் உபயோகித்து வருகிறோம். எந்த சூழ்நிலையில் உபயோகிக்கிறோம் என்பதை உணராததால்தான் நமது program மில் எங்கே பயன்படுத்துவது என்ற குழப்பம் ஏற்படுகிறது. அதை நிவர்த்தி செய்யும்வண்ணம் if பயன்படும் சூழ்நிலைகளை இங்கே பார்ப்போம்.
if..then
இதை simple if statement என்று சொல்லலாம். இதனுடைய syntax
if boolean_expression then statement
இங்கே boolean expression ஆனது true என்றோ அல்லது false என்றோ மாறும். அதாவது expression ஐ evaluate செய்தால் true / false என்ற விடை கிடைக்கும். Expression true ஆக மாறினால் then க்கு அடுத்துள்ள statement execute ஆகி அதற்கடுத்த பகுதிக்கு சென்றுவிடும். Expression false ஆக மாறினால் if ஒன்றும் செய்யாமல் அடுத்த பகுதிக்கு சென்றுவிடும்.
கொஞ்சம் விளக்கமா சொல்லட்டுமா? நம் கிராமத்துல சின்ன கிளினிக் வைத்துக்கொண்டிருக்கும் ஒரு டாக்டரிடம் நீங்கள் கம்பவுண்டராக வேலை பார்க்கிறீர்கள் என்று வைத்துக்கொள்வோம். உங்களுக்கு if condition எப்படி எல்லாம் உதவுதுன்னு இங்கே அலசுவோம். வெறுமனே படிப்பதை விட எதற்கு பயன்படுதுன்னு தெரிஞ்சா தெளிவா விளங்கும்ல...
கம்பவுண்டருடைய வேலை நோயாளி வந்தால் டாக்டர் அறைக்கு அவரை அனுப்பிவைக்கவேண்டும். என்ன கம்பவுண்டர் ரெடியா?
சரி இங்கே if statement எப்படி உதவுதுன்னு யோசிக்கிறீங்களா?
ரொம்ப சிம்பிள்...
நீங்கள் கிளினிக்கில் உட்கார்ந்திருக்கிறீர்கள். நோயாளி ஒருத்தர் வருகிறார். நோயாளி வந்தா உள்ளே அனுப்பிடுவீங்களா?
ஆமாம் என்று நீ்ங்கள் பதில் சொன்னால், நீங்கள் இன்னும் யதார்த்தத்தை உணரவில்லை என்று அர்த்தம். அதாவது கம்பவுண்டர் எப்படி வேலை செய்வார் என்பதை இன்னும் நீங்கள் உணரவில்லை. கொஞ்சம் யோசியுங்கள்...
தெரியலியா?
சரி உங்க வழியிலேயே வர்ரேன்...
நோயாளியை உள்ளே அனுப்பறீங்க
அவரும் உள்ளே போயிட்டு போன வேகத்துல வெளியே வருகிறார்
ஏங்க இன்னும் டாக்டர் வரலீங்களான்னு கேட்கிறார.
என்ன கம்பவுண்டரே இப்போ புரிஞ்சிச்சா? என்ன பிரச்சினைன்னு.
என்னோட கேள்விக்கு இப்போ விடை சொல்லுங்க பார்ப்போம்.
டாக்டர் இருந்தாத்தான் உள்ளே அனுப்பனும்.
கரெக்ட்! இப்போத்தான் யதார்த்தமா பேசறீங்க.
இப்படி யதார்த்தத்த உணர்ந்தாதான் உங்களால லாஜிக்க டெவலப் செய்யமுடியும். Program எழுத முடியும். என்ன சின்னபுள்ளத்தனமா கேள்விகேட்கறேன்னு நீங்க நினைச்சா லாஜிக்க டெவலப் செய்ய முடியாது.
உள்ளே நோயாளியை அனுப்பனும்னா முதலில் டாக்டர் இருக்கனும். இது தான் நீங்கள் பயன்படுத்துற if statement. பிறகென்ன? இதை எப்படி program மா மாத்தறது?
எதற்கு இதை program ஆக மாத்தனும்? அதற்கென்ன அவசியம் வந்துச்சுன்னு கேட்கறீங்களா?
இப்படி நம்மைச்சுற்றி அன்றாடம் நடக்குற விசயங்கள நோட்டமிட்டு அதை பேப்பருல யதார்த்தமா எழுதினாலேயே தானாக லாஜிக் டெவலப் ஆகிவிடும். அப்புறம் அந்த லாஜிக்குக்கு தகுந்த programming command டுகள பொருத்திப் பார்த்தால் program ரெடியாகிவிடும்.
இப்படி நாம யதார்த்தமாக எழுத ஆரம்பிக்கும் லாஜிக் போகப்போக எப்படி டெவலப் ஆகுதுன்னு பார்க்கலாம்.
Stage 1
if டாக்டர் உள்ளே இருந்தால் then நோயாளியை உள்ளே அனுமதிக்கவும்
கொஞ்சம் விளக்கமா சொல்லட்டுமா? நம் கிராமத்துல சின்ன கிளினிக் வைத்துக்கொண்டிருக்கும் ஒரு டாக்டரிடம் நீங்கள் கம்பவுண்டராக வேலை பார்க்கிறீர்கள் என்று வைத்துக்கொள்வோம். உங்களுக்கு if condition எப்படி எல்லாம் உதவுதுன்னு இங்கே அலசுவோம். வெறுமனே படிப்பதை விட எதற்கு பயன்படுதுன்னு தெரிஞ்சா தெளிவா விளங்கும்ல...
கம்பவுண்டருடைய வேலை நோயாளி வந்தால் டாக்டர் அறைக்கு அவரை அனுப்பிவைக்கவேண்டும். என்ன கம்பவுண்டர் ரெடியா?
சரி இங்கே if statement எப்படி உதவுதுன்னு யோசிக்கிறீங்களா?
ரொம்ப சிம்பிள்...
நீங்கள் கிளினிக்கில் உட்கார்ந்திருக்கிறீர்கள். நோயாளி ஒருத்தர் வருகிறார். நோயாளி வந்தா உள்ளே அனுப்பிடுவீங்களா?
ஆமாம் என்று நீ்ங்கள் பதில் சொன்னால், நீங்கள் இன்னும் யதார்த்தத்தை உணரவில்லை என்று அர்த்தம். அதாவது கம்பவுண்டர் எப்படி வேலை செய்வார் என்பதை இன்னும் நீங்கள் உணரவில்லை. கொஞ்சம் யோசியுங்கள்...
தெரியலியா?
சரி உங்க வழியிலேயே வர்ரேன்...
நோயாளியை உள்ளே அனுப்பறீங்க
அவரும் உள்ளே போயிட்டு போன வேகத்துல வெளியே வருகிறார்
ஏங்க இன்னும் டாக்டர் வரலீங்களான்னு கேட்கிறார.
என்ன கம்பவுண்டரே இப்போ புரிஞ்சிச்சா? என்ன பிரச்சினைன்னு.
என்னோட கேள்விக்கு இப்போ விடை சொல்லுங்க பார்ப்போம்.
டாக்டர் இருந்தாத்தான் உள்ளே அனுப்பனும்.
கரெக்ட்! இப்போத்தான் யதார்த்தமா பேசறீங்க.
இப்படி யதார்த்தத்த உணர்ந்தாதான் உங்களால லாஜிக்க டெவலப் செய்யமுடியும். Program எழுத முடியும். என்ன சின்னபுள்ளத்தனமா கேள்விகேட்கறேன்னு நீங்க நினைச்சா லாஜிக்க டெவலப் செய்ய முடியாது.
உள்ளே நோயாளியை அனுப்பனும்னா முதலில் டாக்டர் இருக்கனும். இது தான் நீங்கள் பயன்படுத்துற if statement. பிறகென்ன? இதை எப்படி program மா மாத்தறது?
எதற்கு இதை program ஆக மாத்தனும்? அதற்கென்ன அவசியம் வந்துச்சுன்னு கேட்கறீங்களா?
இப்படி நம்மைச்சுற்றி அன்றாடம் நடக்குற விசயங்கள நோட்டமிட்டு அதை பேப்பருல யதார்த்தமா எழுதினாலேயே தானாக லாஜிக் டெவலப் ஆகிவிடும். அப்புறம் அந்த லாஜிக்குக்கு தகுந்த programming command டுகள பொருத்திப் பார்த்தால் program ரெடியாகிவிடும்.
இப்படி நாம யதார்த்தமாக எழுத ஆரம்பிக்கும் லாஜிக் போகப்போக எப்படி டெவலப் ஆகுதுன்னு பார்க்கலாம்.
Stage 1
if டாக்டர் உள்ளே இருந்தால் then நோயாளியை உள்ளே அனுமதிக்கவும்
இதுதான் if statement.
இங்கே டாக்டர் உள்ளே இருந்தால் என்பது boolean expression ஆகும்.
இதற்கு இருக்கிறார் (true) அல்லது இல்லை (false) என்று ஏதாவது ஒரு பதில்தான் உங்களால் தரமுடியும்.
அந்த பதிலை போட்டு if எப்படி மாறுகிறது என்று பாருங்கள்.
டாக்டர் உள்ளே இருக்கிறார் என்றால் என்னாகும்?
டாக்டர் உள்ளே இருக்கிறார் என்கிற expression true (இருக்கிறார்) என்று மாறும்.
if true then நோயாளியை உள்ளே அனுமதிக்கவும்
இங்கே expression true ஆக மாறிவிட்டது அதனால் statement execute செய்யப்படுகிறது. எனவே நோயாளியை நீங்கள் உள்ளே அனுமதிக்கிறீர்கள்.இதற்கு இருக்கிறார் (true) அல்லது இல்லை (false) என்று ஏதாவது ஒரு பதில்தான் உங்களால் தரமுடியும்.
அந்த பதிலை போட்டு if எப்படி மாறுகிறது என்று பாருங்கள்.
டாக்டர் உள்ளே இருக்கிறார் என்றால் என்னாகும்?
டாக்டர் உள்ளே இருக்கிறார் என்கிற expression true (இருக்கிறார்) என்று மாறும்.
if true then நோயாளியை உள்ளே அனுமதிக்கவும்
ஒருவேளை டாக்டர் உள்ளே இல்லை என்றால் என்னாகும்?
if false then நோயாளியை உள்ளே அனுமதிக்கவும்
இங்கே expression false ஆக மாறிவிட்டது அதனால் statement execute செய்யப்படாது.
எனவே நோயாளியை நீங்கள் உள்ளே அனுமதிக்க மாட்டீர்கள்.
நோயாளியிடம் ஒன்றும் சொல்லாமல் நீங்கள் அமர்ந்திருக்கிறீர்கள்.
நோயாளி டென்ஷன் ஆகிறார். ஏன்யா? டாக்டர் இருக்காரா இல்லையா? அப்படின்னு கேட்கிறார். இல்லைன்னு சொல்றீங்க. அப்ப வாயில என்ன கொழுக்கட்டயா வச்சிருக்க, இல்லைன்னு சொல்லவேண்டியதுதானேன்னு சொல்லிட்டு போகிறார்.
டாக்டர் இல்லாவிட்டால் என்ன செய்யவேண்டும் என்ற logic நம்ம கம்பவுண்டரிடம் இல்லை. இப்பொழுது அவரை யோசிக்க செய்யவேண்டும். என்ன செய்கிறார் என்று பார்ப்போம்.
இவருடைய செயலை நாம் புரோகிராமாக மாற்றி வருகிறோம்.அதாவது stage 1 ல் நாம் எழுதிய program மில் டாக்டர் இல்லாவிட்டால் என்ன செய்யவேண்டும் என்ற logic இல்லை. அதனால் நம்ம புரோகிராமும் முழுமையானதாக இல்லை. வாங்க அடுத்த stage க்கு போவோம்.
எனவே நோயாளியை நீங்கள் உள்ளே அனுமதிக்க மாட்டீர்கள்.
நோயாளியிடம் ஒன்றும் சொல்லாமல் நீங்கள் அமர்ந்திருக்கிறீர்கள்.
நோயாளி டென்ஷன் ஆகிறார். ஏன்யா? டாக்டர் இருக்காரா இல்லையா? அப்படின்னு கேட்கிறார். இல்லைன்னு சொல்றீங்க. அப்ப வாயில என்ன கொழுக்கட்டயா வச்சிருக்க, இல்லைன்னு சொல்லவேண்டியதுதானேன்னு சொல்லிட்டு போகிறார்.
டாக்டர் இல்லாவிட்டால் என்ன செய்யவேண்டும் என்ற logic நம்ம கம்பவுண்டரிடம் இல்லை. இப்பொழுது அவரை யோசிக்க செய்யவேண்டும். என்ன செய்கிறார் என்று பார்ப்போம்.
இவருடைய செயலை நாம் புரோகிராமாக மாற்றி வருகிறோம்.அதாவது stage 1 ல் நாம் எழுதிய program மில் டாக்டர் இல்லாவிட்டால் என்ன செய்யவேண்டும் என்ற logic இல்லை. அதனால் நம்ம புரோகிராமும் முழுமையானதாக இல்லை. வாங்க அடுத்த stage க்கு போவோம்.
இதிலிருந்து நாம் பெறவேண்டிய பாடம் என்னவென்றால் லாஜிக்குகளை தேடி நாம் எங்கும்
அலையவேண்டியதில்லை. ஒரு செயலை செய்யும்போது என்னென்னவெல்லாம்
செய்யவேண்டியிருக்கிறது (அல்லது செய்வார்கள் - செய்யவேண்டிவரும்) என்பதை யதார்த்தமாக (கற்பனையாக இல்லை) உணர்ந்து பட்டியல் போட்டாலே லாஜிக் தானாக டெவலப்
ஆகிவிடும்.
நம்முடைய இந்த தொடரின் நோக்கமே யதார்த்த வாழ்க்கையை எப்படி program மாக மாற்றுவது என்பதுதான். இந்த அடிப்படையை தெரிந்து கொண்டீர்களானால் பெரும்பாலான விஷயங்களை புரிந்துகொண்டு உங்களால் லாஜிக் (program) எழுத முடியும்.
நல்லதொரு பதிவு... பகிர்வுக்கு நன்றி... தொடர வாழ்த்துக்கள் !
பதிலளிநீக்குby. www.99likes.blogspot.com