This is default featured slide 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

Wednesday, August 7, 2013

Conditional statement என்றால் என்ன?


புரோகிராமிங் என்றால் என்ன? தொடர் 13

நிஜவாழ்வில் முடிவெடுத்து சில காரியங்களை நாம் செய்வது போல, நமது program மிலும் முடிவுக்கு தக்கமாதிரி சில காரியங்களை செயல்படுத்த உதவுபவைதான் conditional statements என்பதை முந்தைய பாகத்தில் பார்த்தோம். இனி Conditional statement ல் முதன்மையானதாக இருக்கும் if பற்றி இங்கு பார்ப்போம்.

if statement

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

if..then

இதை simple if statement  என்று சொல்லலாம். இதனுடைய syntax

if boolean_expression then statement
simple if statement, if structure, conditional statement, faridh, elandangudi, elanthangudi, 609404, karkandu
இங்கே 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 statement.

இங்கே  டாக்டர் உள்ளே இருந்தால் என்பது boolean expression ஆகும்.
இதற்கு இருக்கிறார் (true) அல்லது இல்லை (false) என்று ஏதாவது ஒரு பதில்தான் உங்களால் தரமுடியும்.

அந்த பதிலை போட்டு if எப்படி மாறுகிறது என்று பாருங்கள்.

simple if statement, jmr faridh, tamil programming, கம்ப்யூட்டர், தமிழில் புரோகிராம், புரோகிராம் எழுதுவது எப்படி?

டாக்டர் உள்ளே இருக்கிறார் என்றால் என்னாகும்?

டாக்டர் உள்ளே இருக்கிறார் என்கிற expression true (இருக்கிறார்) என்று மாறும்.

if true then நோயாளியை உள்ளே அனுமதிக்கவும்
இங்கே expression true ஆக மாறிவிட்டது அதனால் statement execute செய்யப்படுகிறது. எனவே நோயாளியை நீங்கள் உள்ளே அனுமதிக்கிறீர்கள்.

ஒருவேளை டாக்டர் உள்ளே இல்லை என்றால் என்னாகும்?

if false then நோயாளியை உள்ளே அனுமதிக்கவும்

இங்கே expression false ஆக மாறிவிட்டது அதனால் statement execute செய்யப்படாது.
எனவே நோயாளியை நீங்கள் உள்ளே அனுமதிக்க மாட்டீர்கள்.
நோயாளியிடம் ஒன்றும் சொல்லாமல் நீங்கள் அமர்ந்திருக்கிறீர்கள்.

நோயாளி டென்ஷன் ஆகிறார். ஏன்யா? டாக்டர் இருக்காரா இல்லையா? அப்படின்னு கேட்கிறார். இல்லைன்னு சொல்றீங்க. அப்ப வாயில என்ன கொழுக்கட்டயா வச்சிருக்க, இல்லைன்னு சொல்லவேண்டியதுதானேன்னு சொல்லிட்டு போகிறார்.

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

இவருடைய செயலை நாம் புரோகிராமாக மாற்றி வருகிறோம்.அதாவது stage 1 ல் நாம் எழுதிய program மில் டாக்டர் இல்லாவிட்டால் என்ன செய்யவேண்டும் என்ற logic இல்லை. அதனால் நம்ம புரோகிராமும் முழுமையானதாக இல்லை. வாங்க அடுத்த stage க்கு போவோம்.

இதிலிருந்து நாம் பெறவேண்டிய பாடம் என்னவென்றால் லாஜிக்குகளை தேடி நாம் எங்கும் அலையவேண்டியதில்லை. ஒரு செயலை செய்யும்போது என்னென்னவெல்லாம் செய்யவேண்டியிருக்கிறது (அல்லது செய்வார்கள் - செய்யவேண்டிவரும்) என்பதை யதார்த்தமாக (கற்பனையாக இல்லை) உணர்ந்து பட்டியல் போட்டாலே லாஜிக் தானாக டெவலப் ஆகிவிடும்.

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

If statement கள்


Simple If then statement ஐயும் அதன் பயன்பாட்டையும் முந்தைய பாகத்தில் பார்த்தோம். டாக்டர் இல்லாவிட்டால் என்ன செய்யவேண்டும் என்ற logic நம்ம கம்பவுண்டரிடம் முந்தைய stage ல் இல்லை என்பதை பார்த்தோம். இவருடைய செயலை நாம் புரோகிராமாக மாற்றி வருகிறோம்.அதாவது stage 1 ல் நாம் எழுதிய program மில் டாக்டர் இல்லாவிட்டால் என்ன செய்யவேண்டும் என்ற logic இல்லை. அதனால் நம்ம புரோகிராமும் முழுமையானதாக இல்லை.

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

வாங்க stage 2 க்கு போவோம்.

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

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

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

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

இது தான் அவர் பயன்படுத்துற if statement. இதில் இல்லைன்னா என்பதை பயன்படுத்தியிருக்கிறார். இதற்கு CONDITION FALSE ஆகிவிட்டால் என்று அர்த்தம். இதற்கு பொருத்தமான PROGRAMMING COMMAND என்ன இருக்கிறது?....

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

if..else
நாம் பார்த்த simple if then statement ல் expression false ஆகிவிட்டால் என்ன செய்யவேண்டும் என்ற logic இல்லை. இதற்கு else part கைகொடுக்கிறது. எப்படி?

இதனுடைய syntax

if boolean_expression then statement_for_true_expression
else statement_for_false_expression

if else statement, logic development, karkandu, tamil program, தமிழ் பதிவுகள், புரோகிராம், கம்ப்யூட்டர் பயிற்சி
if டாக்டர் உள்ளே இருந்தால் then நோயாளியை உள்ளே அனுமதிக்கவும்
else டாக்டர் இல்லைங்கிற தகவலை சொல்லவும்

இதுதான் if statement.

இங்கே  டாக்டர் உள்ளே இருந்தால் என்பது boolean expression ஆகும்.
இதற்கு இருக்கிறார் (true) அல்லது இல்லை (false) என்று ஏதாவது ஒரு பதில்தான் உங்களால் தரமுடியும்.

அந்த பதிலை போட்டு if எப்படி மாறுகிறது என்று பாருங்கள்.

if else then, how to program, தமிழ் கணிணி கல்வி, சாப்ட்வேர், லாஜிக்
டாக்டர் உள்ளே இல்லை என்றால் என்னாகும்?

டாக்டர் உள்ளே இருந்தால் என்கிற expression இல்லை என்று மாறுகிறது.

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

இங்கே expression false ஆக மாறிவிட்டது அதனால் true part statement execute செய்யப்படாமல் else part execute செய்யப்படும்.

நீங்களும் டாக்டர் இல்லைங்கிற தகவலை சொல்லிவிடுவீர்கள்.
நமது புரோகிராமும் தகவலை சொல்லிவிடும்.

கம்பவுண்டர் (அதாங்க நீங்க) உட்கார்ந்திருக்கீங்க.

ஒரு நோயாளி வருகிறார்;
டாக்டர் உள்ளே இல்லை;
லாஜிக் படி டாக்டர் இல்லைன்னு தகவல் சொல்லியாச்சு.

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

ஆகா இது நமக்கு தெரியாம போயிடுச்சே. சரிங்க டாக்டர் இனிமேல் அந்த மாதிரியே செய்யறேன்னு சொல்றீங்க.

Stage 3
இப்போ உங்களுடைய லாஜிக் கொஞ்சம் கொஞ்சமா improve ஆகுது.

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

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

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

இது தான் நீங்க பயன்படுத்துற if statement.

இதில் இல்லை வந்திடுவாருன்னா என்பதை பயன்படுத்தியிருக்கீங்க. இதற்கு ஒரு CONDITION FALSE ஆகிவிட்டால் இன்னொரு CONDITION னை USE பண்ணுறீங்கன்னு அர்த்தம். இதற்கு பொருத்தமான PROGRAMMING COMMAND என்ன இருக்கிறது?....

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

if..else if
மேலே நாம் பார்த்த if..else statement ல் டாக்டர் இல்லாவிட்டால் என்ன செய்யவேண்டும் என்ற logic முழுமையாக இல்லை. அதாவது டாக்டர் உள்ளே இல்லை. ஆனால் ஒருவேளை டாக்டர் இன்று 1/2 மணிநேரம் தாமதமாக வரலாம் அல்லது வராமலும் போகலாம். இந்த சூழ்நிலையில் வந்த நோயாளியிடம் எப்படி நடந்துகொள்வது என்பதற்கு else if part கைகொடுக்கிறது. எப்படி?

இதனுடைய syntax
if boolean_expression1 then statement_expression1_is_true 
else if boolean_expression2 then statement_expression1_is_false_but_expression2_is_true
else statement_expression1and2_are_false


if else if statement, conditional statement, learn programming, பரீத், ஃபரீத், எலந்தங்குடி

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

இதுதான் if statement.
if else if structure, logical thinking, software development, flow chart

டாக்டர் உள்ளே இல்லை
ஆனால் அரை மணி நேரத்தில் வருவார் என்றால் என்னாகும்?

டாக்டர் உள்ளே இருந்தால் என்கிற expression இல்லை என்று மாறுகிறது.
எனவே False Side க்கு control போகிறது.
அங்கே இன்னொரு condition evaluate செய்யப்படுகிறது.
டாக்டர் 1/2 மணிநேரத்தில் வருவார் என்கிற expression ஆம் என்று மாறுகிறது.

இங்கே expression2 true ஆக மாறிவிட்டது அதனால் expression2 வினுடைய true part statement execute செய்யப்படுகிறது.

எனவே நீங்கள் நோயாளியை காத்திருக்கச் சொல்வீர்கள்.

ஒருவேளை டாக்டர் இன்று வரவில்லையென்றால் என்னாகும்?

டாக்டர் 1/2 மணிநேரத்தில் வருவார் என்கிற expression இல்லை என்று மாறுகிறது. எனவே False Side க்கு control போகிறது.

எனவே டாக்டர் இன்று விடுமுறை என்று சொல்லி நோயாளியை நீங்கள் அனுப்பிவிடுகிறீர்கள்.

ஒரு நல்ல கம்பவுண்டராக உங்கள் பணியை செய்ய ஆரம்பிக்கிறீர்கள்.

ஒரு நோயாளி வருகிறார்;
டாக்டரும் உள்ளே இருக்கிறார்;
லாஜிக் படி நோயாளியை உள்ளே அனுப்பறீங்க

அவர் உள்ளே போனதும் டாக்டர் உங்களை கூப்பிடுகிறார்.

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

ஆஹா! இந்த யோசனை நமக்கு வரலியேன்னு நெனச்சுக்கிட்டே, சரிங்க டாக்டர் இனிமேல் இந்த தப்பு நடக்காதுன்னு சொல்றீங்க.

ஆனா உங்க லாஜிக்குல இந்த தவறை தடுக்க எந்த condition னும் இல்லையே! இப்ப என்ன செய்யப்போறீங்க? யோசிச்சு வையுங்க அடுத்த பாகத்துல பார்க்கலாம்.

Expression , Operator precedence என்றால் என்ன?


புரோகிராமிங் என்றால் என்ன? தொடர் 10

நாம் எழுதுகின்ற program மில் expression என்பது இன்றியமையாதது ஆகும். எனவே அதைப்பற்றி இங்கே தெரிந்து கொள்வோம்.

Expression என்றால் என்ன? What is an expression in computer programming?

An expression is a combination of values, constants, variables, operators, and functions, which are constructed according to the syntax of the language, which are interpreted according to the particular rules of precedence, that evaluates to a single value.

அதாவது values, constants, variables, operators மற்றும் functions களைக் கொண்டு எழுதப்படுவதை Expression என்று சொல்லலாம்.

நாம் எந்த programming language ல் program எழுதுகிறோமோ அந்த language புரிந்து கொள்வது மாதிரி நமது expression அமையவேண்டும்.

உதாரணத்திற்கு

A := 1 + 2 + 3
A := A + A
B := "Learn Programming"
C := 10 > 5
A + 15

இவையெல்லாம் expression கள் ஆகும்.

நாம் எழுதிய expression ஆனது குறிப்பிட்ட programming language னுடைய rules of precedence படி evaluate செய்யப்பட்டு இறுதியில் ஒரு value வை தருகிறது.

அந்த value வானது integer, float, string, அல்லது boolean ஆக இருக்கும். அதாவது நமது expression னில் எந்தவகையான elements இருந்ததோ அந்த வகையான value கிடைக்கும்.

உதாரணத்திற்கு
A := 1 + 2 + 3

என்பது integer expression ஆகும். ஏனென்றால் இங்கே Operand கள் Integer type ஆக இருக்கின்றன, மேலும் arithmetic operator பயன்படுத்தப்பட்டுள்ளது. எனவே result டும் integer ஆக இருக்கும்.

இதனுடைய result 6 ஆகும். இது A என்ற variable லில் store செய்யப்படுகிறது.

அடுத்து
B := "Learn Programming"

என்பது string expression ஆகும். ஏனென்றால் இங்கே operand string type ஆக இருக்கிறது, எனவே result டும் string ஆக இருக்கும்.

இதனுடைய result "Learn Programming" ஆகும். இது B என்ற variable லில் store செய்யப்படுகிறது.

அடுத்து
C := 10 > 5

என்பது boolean expression ஆகும். ஏனென்றால் இங்கே relational operator பயன்படுத்தப் பட்டுள்ளது. இதனுடைய result boolean ஆக இருக்கும்.

இதனுடைய result TRUE ஆகும். இது C என்ற variable லில் store செய்யப்படுகிறது. Boolean expression ஆனது comparison expression, conditional expression, அல்லது relational expression என்றும் குறிப்பிடப்படுகிறது.

Rules of precedence / Operator precedence என்றால் என்ன?

Expression என்பது simple ஆகவோ அல்லது complex ஆகவோ இருக்க வாய்ப்புண்டு.
அவ்வாறு complex ஆக இருக்கும் expression களில் இடம்பெற்றுள்ள element களை எந்த வரிசைப்படி evaluate or operate செய்து விடை காணவேண்டும் என்பதைக் கூறும் விதிகளைத்தான் rules of precedence அல்லது operator precedence என்று கூறுகிறோம்.

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

In complex expressions, rules of precedence (sometimes called operator precedence) determine the order in which operations are performed.  This rule is used to clarify unambiguously which procedures should be performed first in a given expression.

நமது expression னில் பல்வேறு operator கள் இருக்கும் பட்சத்தில் முன்னுரிமை எவ்வாறு வழங்கப்படுகிறது என்பதை விளக்கும் பட்டியல்.

operator precedence, rules of precedence, expression evaluation, learn programming, what is programming

ஒரு expression னில் ஒன்றுக்கு மேற்பட்ட operator இருந்தால் மேற்கண்ட பட்டியல் படி முன்னுரிமை வழங்கப்பட்டு, அதன் பிரகாரம் expression evaluate செய்யப்படுகிறது. அப்படியில்லாமல் சம உரிமைபெற்ற இரண்டு operator கள் பயன்படுத்தப்பட்டிருந்தால் இடமிருந்து வலமாக அவை evaluate செய்யப்பட்டு விடை தரப்படும்.

A + B + C

இதில் இரண்டு சம உரிமைபெற்ற operator பயன்படுத்தப்பட்டிருப்பதால் இடமிருந்து வலமாக evaluate செய்யப்பட்டு விடை தரப்படும்.

சம உரிமை என்பதன் பொருள் நீங்கள் A யுடன் B ஐ கூட்டி வரும் விடையோடு C ஐ கூட்டினாலோ

அல்லது B யுடன் C ஐ கூட்டி வரும் விடையோடு A ஐ கூட்டினாலோ விடையில் எந்த மாறுதலும் வராது.

அடுத்து

X + Y * Z

இதில் முதலில் Y யும் Z டும் multiply செய்யப்பட்டு வரும் விடையோடு X ஐ கூட்டி விடை தரப்படும். இங்கு * முதலில் operate செய்யப்படுகிறது, ஏனென்றால் + ஐ விட * குத்தான் முன்னுரிமை நமது பட்டியலில் தரப்பட்டுள்ளது.

நீங்கள் கணக்கு போடும் போது மாற்றி evaluate செய்துவிட்டால் விடை தவறாக வரும்.

உதாரணத்திற்கு

X := 8
Y := 5
Z := 2
என்று வைத்துக்கொண்டால்
X + Y * Z என்பது 8 + 5 * 2 என்று ஆகும்.

Operator precedence rule பிரகாரம் முதலில்
5 * 2 evaluate செய்யப்படுகிறது. விடை 10.

அடுத்து
8 + கிடைத்த விடை.
அதாவது 8 + 10
இறுதியில் 18 கிடைக்கும்.

Operator precedence rule ஐ நீங்கள் follow செய்யாவிட்டால் என்னவாகும்?
8 + 5 * 2

இடமிருந்து வலமாக evaluate செய்ய ஆரம்பிப்பீர்கள்
8 + 5 விடை 13

அடுத்து
கிடைத்த விடை * 2
அதாவது 26

எவ்வளவு வித்தியாசம் பார்த்தீர்களா? கணக்கும் தப்பாகிவிட்டது. Program மும் தப்பாகிவிட்டது. என்னப்பா ஒரு சின்ன விசயத்தை கூட உன்னால் செய்ய முடியவில்லையே என்று பேச்சு கிடைக்கும்.

இல்லை இல்லை 26 தான் சரி. இப்படித்தான் என் கணக்கு வேலை செய்யணும். அய்யய்ய... computer தவறாக சொல்கிறதே என்று நீங்கள் கூறுவீர்களானால் parentheses என்னும் அடைப்புக் குறிகளை expression னில் பயன்படுத்தி முன்னுரிமைகளை நீங்களே தீர்மானிக்கலாம். எப்படி?

Operator precedence ஐ மாற்ற முடியுமா?

முன்னுரிமை பட்டியலின் படி evaluate செய்யும்போது * முதலிலும் + அடுத்தும் எடுத்துக்கொள்ளப்பட்டு நமக்கு விடை கிடைத்தது. ஆனால் சில வேளைகளில் + முதலிலும் * அடுத்தும் evaluate செய்யப்படவேண்டும் என்ற நிர்பந்தம் ஏற்படும். அதை எப்படி செய்வது?

உங்கள expression ஐ இப்படி மாற்றிவிடுங்கள்.

 ( 8 + 5 ) * 2

என்று நீங்கள் எழுதினால் ( 8 + 5 ) முதலில் evaluate செய்யப்பட்டு அடுத்து வரும் விடையோடு 2 பெருக்கப்பட்டு விடை கிடைக்கும்.

அதாவது 13 * 2 = 26

என்ன உங்கள் பிரச்சினை தீர்ந்ததா? சரி அடைப்புக்குறிகளுக்கு இங்கென்ன வேலை என்கிறீர்களா? Rules of precedence களை parentheses மூலம் மாற்றிவிடமுடியும். Expression னில் அடைப்புக்குறி இருந்தால் அனைத்தையும் விடவும் அதுதான் முன்னுரிமை பெருகிறது. அடைப்புக்குறிக்குள் இருப்பவை முதலில் evaluate செய்யப்பட்டு அதன் விடை ஒரு operand ஆக மாற்றப்படுகிறது. இதைத்தான் ஆங்கிலத்தில் overriding operator precedence என்று குறிப்பிடுவார்கள்.

( 8 + 5 ) * 2 என்று எழுதியதை
computer 13 * 2 என்று மாற்றியதல்லவா? அதன் சூட்சுமம் இதுதான்.

எனவே நீங்கள் program செய்யப்போகும் language உடைய Rules of precedence / Operator precedence ஐ அவசியம் தெரிந்து வைத்திருக்க வேண்டும்.

அடைப்புக்குறிகளை ( ) பயன்படுத்துவதால் கிடைக்கும் பலன்கள்:

அடைப்புக்குறி போடுவது expression ஐ புரிந்துகொள்ள நமக்கும் எளிதாக இருக்கும், அதோடு கணிணி எப்படி அதை evaluate செய்யப்போகிறது என்பதை நம்மால் தீர்மானிக்கவும் முடியும்.

சில வேளைகளில் அடைப்புக்குறி தேவையில்லாத போதும் நமது புரிதலுக்காக பயன்படுத்துவது தவறாகாது.

உதாரணத்திற்கு

8 + 5 * 2 என்பதன் விடையை computer 18 என்று காண்பிக்கும். இதை நீங்கள் சரி என்று ஒத்துக்கொண்டீர்கள் என்று வைத்துக்கொள்வோம். ஆனால் rules of precedence ஐ பற்றி அறியாதவர் இதை evaluate செய்யும்போது 26 என்று சொல்ல வாய்ப்பு உள்ளது. அவருக்கு புரிய வைக்க இப்படி எழுதினால் குழப்பம் தீர்ந்துவிடும்

X + ( Y * Z )

8 + ( 5 * 2 ) விடை 8 + 10 விடை 18.

இதிலிருந்து என்ன தெரிகிறது?

X + Y * Z என்பதற்கும் X + ( Y * Z ) என்பதற்கும் computer ரின் விடையில் ஒரு வித்தியாசமும் இல்லையென்றபோதும் programmer ரின் புரிதலுக்காக அடைப்புக்குறிகளை பயன்படுத்துவது தவறல்ல என்பதுதான்.

குறிப்பு:

நான் Embarcadero Delphi (முன்னர் இது Borland Delphi யாக இருந்தது)  பயன்படுத்துவதால் என்னுடைய உதாரணங்களில் பெரும்பாலானவை Delphi (Pascal Language) யில் இருக்கும் என்பதை அறியவும். அடுத்து, இத்தொடரில் நான் Delphi ஐ உங்களுக்கு கற்றுத்தரவில்லை மாறாக Programming தான் கற்றுத்தருகிறேன் என்பதையும் நினைவில் கொள்ளவும்.

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

ஆகவே Programming அடிப்படைகளை கற்றுக்கொண்டபிறகு உங்களுக்கு பிடித்தமான Programming Language ஐ தேர்வு செய்து நீங்களும் Programmer ஆகலாம்.

Comments ஏன் எழுத வேண்டும்?


புரோகிராமிங் என்றால் என்ன? தொடர் 11
  
நம்முடைய PROGRAM ஐ ஒருவருக்கு புரியவைக்க நமக்கு கிடைத்திருக்கும் ஒரு அருமையான வாய்ப்பு COMMENTS எழுதுவது. அது என்னவென்று இங்கே பார்ப்போம். 

//WE ARE GOING TO LEARN THE IMPORTANCE OF COMMENTS
இங்கே 
// என்கின்ற SYMBOL ளுக்கு அடுத்து இருப்பவை COMMENTS ஆகும்

நாம் எழுதும் program மில் இடம்பெறும் குறிப்புகளைத்தான் comments என்கிறோம். இந்த குறிப்புகளை compiler கண்டுகொள்ளாது. எனவே இது நமது program size ஸையோ அல்லது performance ஸையோ பாதிக்காது. 

புரியும்படி சொல்வதானால் முதலில் நீங்கள் ஒரு Program ஐ எழுதி compile செய்து பாருங்கள் ஒரு executable (.exe) file கிடைக்கும். அதனுடைய size என்னவென்று குறித்துக்கொள்ளுங்கள். அடுத்து program line களுக்கிடையில் comment களை எழுதி மீண்டும் compile செய்யுங்கள், இப்பொழுதும் ஒரு executable (.exe) file கிடைக்கும். இதனுடைய size என்னவென்று பாருங்கள். இரண்டு size களுக்குமிடையில் எந்த வித்தியாசமும் இருக்காது. 

இதிலிருந்து நமக்கு புரிவது என்னவென்றால், உங்களுடைய comment ஆனது ஒரு Programmer உங்கள் code ஐ பார்க்கும் போது எதற்காக அந்த  வரிகள் எழுதப்பட்டிருக்கின்றன என்பதை எளிதில் புரிய உதவியாய் இருக்கிறது என்பதுதான்.

ஒவ்வொரு PROGRAMMING LANGUAGE லும் ஒவ்வொரு விதமான Comment syntax இருக்கும்.

உதாரணத்திற்கு
// YOUR COMMENTS இது ஒரு வரி comment 

REM YOUR COMMENTS இது ஒரு வரி comment

{
 YOUR COMMENTS START HERE 
இந்த { } symbol ஐ பயன்படுத்தி பல வரிகளில் நம்மால் Comment எழுத முடியும்.  YOUR COMMENTS END HERE 
}

/*  YOUR COMMENTS START HERE 
இந்த /* */ symbol ஐ பயன்படுத்தி பல வரிகளில் நம்மால் Comment எழுத முடியும். 
YOUR COMMENTS END HERE  */
' YOUR COMMENTS இது ஒரு வரி comment
முதலியவை பொதுவாக Programming language களில் காணப்படும் Comments Syntax ஆகும்.

எதற்காக Comment எழுத வேண்டும்?

நமது Program மில் பல நூற்றுக்கணக்கான வரிகளை நாம் எழுதியிருப்போம். அவ்வாறு நாம் எழுதியதை கொஞ்ச நாள் கழித்து பார்த்தால் எதற்காக இந்த code எழுதப்பட்டிருக்கிறது என்கிற விசயம் ஞாபகத்துக்கு வராது. எழுதிய நமக்கே இப்படியென்றால் நமது code ஐ இன்னொருவர் எப்படி புரிந்து கொள்வார்? எனவேதான் முக்கியமான சில இடங்களில் comment எழுதுவது அவசியமாகிறது.

உதாரணத்திற்கு

ic := yr * 3 * 12

இது எதற்காக எழுதப்பட்டுள்ளது என்று உங்களால் கணிக்க இயலுமா? கஷ்டம் தானே?

சரி இப்பொழுது சொல்லுங்கள்...
//Convert yard into inches
ic := yr * 3 * 12

இப்பொழுது புரிந்தது அல்லவா?

ஒவ்வொரு வரிக்கும் Comment எழுதவேண்டுமா?

அப்படி எழுதக்கூடாது. சில வரிகளை பார்த்த மாத்திரத்திலேயே அதன் அர்த்தம் விளங்கிடும். அதற்கெல்லாம் comment எழுதினால் அது நமக்கே எரிச்சல் கொடுக்கும். கஷ்டமான விசயங்கள் மற்றும் முக்கியமானவைகளுக்கு மட்டும் comment எழுதுவது நல்லது.

உதாரணத்திற்கு
num2 := num1 + 1

இதை பார்த்தவுடனேயே நமக்கு விளங்கிவிடுவதால் இதற்கெல்லாம் comment எழுத அவசியம் இல்லை.

இறுதியாக நீங்கள்  எழுதிய comment களை நீங்களே ஒருமுறையாவது படித்து பாருங்கள். இது உங்கள் comment ன் தரத்தை உயர்த்த பிரயோஜனமாக இருக்கும்.