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

Data Types, Variables, Identifiers, Constants என்றால் என்ன?


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

முந்தைய பாகத்தில் VARIABLE என்றால் என்ன என்று பார்த்தோம். VARIABLE ஐ பற்றி இன்னும் கொஞ்சம் தெரிந்து கொள்ளலாமே...

உங்களிடம் நான் இரண்டு எண்களை மனதில் நினைத்துக்கொள்ள சொல்கிறேன் என்று வைத்துக்கொள்ளுங்கள். நீங்களும் 10, 20 என்று மூளையில் பதிய வைத்துக்கொள்கிறீர்கள்.

அடுத்து 5 ஐ கூட்டச்சொல்கிறேன். உடனே நீங்கள் எதனுடன் கூட்டச்சொல்கிறீர்கள் என்று கேட்பீர்கள்... சரியா?

நான் முதல் எண்ணுடன் என்று சொன்னால் விடையை எப்படி சொல்வீர்கள்?

15 மற்றும் 20 என்று சொல்வீர்கள்

ஒருவேளை நான் இரண்டாம் எண்ணுடன் 5 ஐ கூட்டுங்கள் என்று சொல்லியிருந்தால் உங்கள் பதில்

10 மற்றும் 25 என்றிருக்கும். சரிதானே?

நீங்கள் எப்படி உங்கள் மூளையில் இருக்கும் VARIABLE ஐ பயன்படுத்தி எண்களை கூட்டினீர்களோ அதைப் போன்றுதான் கம்ப்யூட்டரும் MEMORY யில் உள்ள VARIABLE ஐ பயன்படுத்தி கூட்டி விடை சொல்கிறது.

என்னாது! நான் VARIABLE ஐ பயன்படுத்தினேனா? எங்கே பயன்படுத்தினேன் என்று கேட்கிறீர்கள்? சரிதானே...

வாங்க சொல்கிறேன்... உங்களிடம் நான் இரண்டு எண்களை மனதில் நினைத்துக்கொள்ள சொன்னேனா? நீங்களும் 10, 20 என்று மூளையில் பதிய வைத்துக்கொண்டீர்களா?

அடுத்து 5 ஐ கூட்டச்சொன்னேனா?

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

நான் முதல் எண்ணுடன் என்றுதான் சொன்னேன்... உடனே நீங்கள் 10 ஐத்தான் குறிப்பிடுகிறேன் என்று புரிந்து கொண்டீர்கள். அதாவது முதல் எண் என்ற ஒரு VARIABLE ஐ உங்களின் மூளையில் உருவாக்கி அதில் 10 ஐ STORE செய்து வைத்திருந்தீர்கள். முதல் எண் என்ற VARIABLE லில் இருந்த எண்ணுடன் நான் கூட்டச்சொன்ன 5 ஐ கூட்டிமுதல் எண் 15 மற்றும் இரண்டாம் எண் 20 என்று சொன்னீர்கள். சரிதானே...

பாருங்கள்... இரண்டாம் எண் மதிப்பு அப்படியே இருக்கிறது மாறவில்லை. ஏனென்றால் இங்கே நீங்கள் இரண்டு VARIABLE ஐ கையாண்டிருக்கிறீர்கள். முதல் எண் என்ற VARIABLE லில் மட்டும் மாற்றம் செய்யப்பட்டு இரண்டாம் எண் என்ற VARIABLE மாற்றமில்லாமல் இருக்கிறது.

ஒருவேளை உங்கள் வயதுடன் 5 ஐ கூட்டுங்கள் என்று சொன்னால் உங்கள் வயது என்ற VARIABLE லுடன் 5 ஐ கூட்டுவீர்கள்..

VARIABLE என்றால் என்ன என்பதும், நமது PROGRAM முக்கு VARIABLE லின் பங்கு எவ்வளவு முக்கியம் என்பதும் இப்பொழுது விளங்கியிருக்கும் என்று நம்புகிறேன்.

DATA TYPE என்றால் என்ன?

நமது PROGRAM மில் உள்ள ஒவ்வொரு VARIABLE லும் எந்த வகையான DATA வை MEMORY யில் வைத்துக்கொள்ளப் போகிறது என்பதை COMPUTER ருக்கு நாம் சொல்லவேண்டும். இதற்குத்தான் DATA TYPE ஐ பயன்படுத்துகிறோம்.

DATA என்பது பல வகையில் குறிப்பிடப்படுகிறது. அதாவது INTEGER, FLOAT, STRING,  BOOLEAN  என்று பல்வேறு வகைகள் இருக்கின்றன. ஒவ்வொன்றிற்கும் தனித்தனியான குணங்கள் இருக்கின்றன.

"ELANDANGUDI" என்கிற DATA வானது STRING TYPE ஐ சேர்ந்தது.
123 என்பது INTEGER TYPE
123.45 என்பது FLOAT TYPE
TRUE என்பது BOOLEAN TYPE

VARIABLE DECLARATION என்றால் என்ன?

ஒரு VARIABLE ஐ நமது PROGRAM மில் பயன்படுத்துவதற்கு முன்பாக அதை நாம் DECLARE செய்தாக வேண்டும். எப்படி?

MYNAME : STRING
MYAGE : INTEGER
MYWEIGHT : FLOAT
SSLCPASSED : BOOLEAN

இங்கே MYNAME என்பது VARIABLE NAME ஆகும். STRING என்பது DATA TYPE ஆகும். அதாவது MYNAME ல் STRING DATA வை STORE செய்யவேண்டியிருப்பதால் இப்படி DECLARE செய்துள்ளோம். இதைப் போலவே மற்ற VARIABLE களும் DECLARE செய்யப்பட்டுள்ளன.

'GOD IS ONE AND ONE ONLY' அல்லது "I LOVE MY COUNTRY" என்பதை STRING என்று குறிப்பிடுகிறோம்.

மேலே நாம் DECLARE செய்துள்ள VARIABLE களில் VALUE வை போடுவோமா?

MYNAME := "FARIDH"
MYAGE := 33
MYWEIGHT := 80.45
MYWEIGHT := 80.55
SSLCPASSED := TRUE

என்று எழுதினால் COMPUTER கொடுக்கப்பட்ட VALUE க்களை அந்தந்த VARIABLE களில் STORE செய்து வைத்துவிடும்.

அடுத்து VARIABLE லில் உள்ள VALUE வை நமது PROGRAM மில் எத்தனை முறைவேண்டுமானாலும் மாற்றிக்கொள்ளலாம். மேலே MYWEIGHT என்ற VARIABLE லில் இரண்டு முறை VALUE மாற்றப்பட்டிருக்கிறது. கடைசியாக எந்த VALUE வை நாம் பதிந்தோமோ அதுதான் அந்த VARIABLE லில் இருக்கும்.

நமது PROGRAM முடிந்தவுடன் அனைத்து VARIABLE களும் COMPUTER MEMORY யிலிருந்து அழிக்கப்பட்டுவிடும். அதிலிருந்த VALUE க்களும் அழிக்கப்பட்டுவிடும்.
IDENTIFIER என்றால் என்ன?

IDENTIFIER என்பது ஒரு VALID NAME அல்லது TOKEN ஆகும். நமது PROGRAM மில் ஏதோ ஒன்றை அடையாளப்படுத்த நமக்கு IDENTIFIER தேவைப்படுகிறது. VARIABLE NAME, CONSTANT NAME, FUNCTION NAME முதலியவை IDENTIFIER எனப்படும்.

இதற்கு சில பொதுவான விதிகள் இருக்கின்றன. அவையாவன:
  • ஒன்றோ அல்லது அதற்கு மேற்பட்ட எழுத்துக்களைக் கொண்டிருக்கலாம்
  • முதல் எழுத்து ALPHABET ஆக இருக்கவேண்டும்
  • எழுத்துக்களுக்கு இடையில் இடைவெளி இருக்கக்கூடாது
  • ALPHABET, NUMBERS AND SPECIAL CHARACTER _  களை கொண்டுள்ளவைகளை மட்டும் தான் COMPUTER ஏற்றுக்கொள்ளும்
  • IDENTIFIER ரில் DUPLICATE இருக்கக்கூடாது
1234 : STRING //INVALID IDENTIFIER... BEGIN WITH NUMBER
MYNAME1234 : STRING //VALID IDENTIFIER
MY NAME : STRING //INVALID SPACE BETWEEN TWO WORDS
MY_NAME : STRING //VALID IDENTIFIER
M : INTEGER //VALID
M : BOOLEAN //INVALID OR DUPLICATE IDENTIFIER. M IS DECLARED ALREADY AS AN INTEGER

CONSTANT என்றால் என்ன?

CONSTANT ல் ஒரே ஒரு முறை மட்டுமே VALUE வை ASSIGN செய்ய முடியும். ஒருமுறை ஒரு VALUE வை ASSIGN செய்துவிட்டால் PROGRAM முடியும் வரை வேறு VALUE வை ASSIGN செய்ய முடியாது. மற்றபடி VARIABLE லுக்கு பொருந்தும் அனைத்து விசயங்களும் இதற்கு பொருந்தும்.

உதாரணம் கணிதத்தில் PI என்றொரு CONSTANT உள்ளது. அதன் மதிப்பு 22/7 அதாவது 3.142857142857143 இது என்றைக்கும் மாறாதது. எனவே இதை CONSTANT எனலாம்.

நமது PROGRAM மில் சிலவேளைகளில் CONSTANT களை உபயோகப்படுத்த நேரிடலாம்.

CONST PI : FLOAT = 3.142857142857143
CONST COMPANYNAME : STRING = "ABC COMPANY"

CONSTANT ல் ஒரே ஒரு முறை மட்டுமே VALUE வை ASSIGN செய்ய முடியும் என்ற நிபந்தனை இருந்தாலும் அதை நீங்கள் எத்தனை முறை வேண்டுமானாலும் உங்கள் PROGRAM மில் கையாளமுடியும்.

Operator, Operand என்றால் என்ன?


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

ஒரு PROGRAM எழுதுவதற்கு முன் என்னென்ன அடிப்படை விசயங்களை (PROGRAMMING BUILDING BLOCKS) நாம் அவசியம் தெரிந்திருக்கவேண்டும் என்பதை கடந்த இரண்டு பாகங்களில் பார்த்து வருகிறோம். அதன் தொடர்ச்சியாக அடுத்து OPERATOR என்றால் என்னெவென்று பார்ப்போம்.

OPERATOR:

OPERATOR என்பது ஒரு செயலை குறிக்கும் SYMBOL ஆகும். An operator is a symbol that represents an action.

உதாரணத்திற்கு + என்கிற SYMBOL இரு எண்களை கூட்டுவதற்கு பயன்படுகிறது அல்லவா? எனவே...

+ என்பது OPERATOR; கூட்டல் என்பது அதன் செயல் (ACTION).

OPERAND:  

OPERATOR களை தனியாக கையாள முடியாது. இவற்றை OPERAND டுகளுடன் சேர்த்துதான் பயன்படுத்தமுடியும்.

A + B
10 + 2
10 + A

மேற்கண்டவற்றில் A, B, 10, மற்றும் 2 ஆகியவை OPERAND டுகள் ஆகும்.

OPERATOR வகைகள் (TYPES OF OPERATOR):

ஒவ்வொரு PROGRAMMING LANGUAGE லும் காணப்படும் பிரத்யேகமான OPERATOR களைத் தவிர்த்து அனைத்து PROGRAMMING LANGUAGE லும் காணப்படும் பொதுவான OPERATOR வகைகள் என்னவென்று பார்ப்போம்.
  • ARITHMETIC OPERATORS
  • BOOLEAN OPERATORS
  • RELATIONAL OPERATORS
  • STRING OPERATORS
ARITHMETIC OPERATORS:

இந்த வகை OPERATOR கள் INTEGER OR FLOAT TYPE OPERAND டுகளுடன் பயன்படுத்தப்படும். இதிலிருந்து கிடைக்கப்பெறும் RESULT டும் INTEGER OR FLOAT TYPE ஆக இருக்கும்.

கூட்டல்
கழித்தல்
பெருக்கல்
வகுத்தல்
முதலியவை ARITHMETIC OPERATORS எனப்படும்.

BINARY OPERATORS:

இந்த வகை OPERATOR களை இரண்டு OPERAND டுகளுடன்தான்  பயன்படுத்தமுடியும். மேலும் அவ்விரண்டுக்கும் மத்தியில் இவ்வகை OPERATOR இருக்கவேண்டும்.

*
முதலியவை BINARY OPERATORS எனப்படும்.

உதாரணம்

A * B
A / B

அதேவேளையில் + மற்றும் இரண்டும் BINARY ஆகவும் UNARY ஆகவும் செயல்படும்.

A + B
A - B

UNARY  OPERATORS:

இந்த வகை OPERATOR களை ஒரு OPERAND டுடன் பயன்படுத்தமுடியும். நிபந்தனை என்னவென்றால் OPERAND க்கு முன்பாக OPERATOR இருக்கவேண்டும்.

+
-
இரண்டும் UNARY OPERATORS ஆகும்.

உதாரணம்

+B
-A

BOOLEAN OPERATORS:

BOOLEAN என்பது TRUE or FALSE என்ற நிலையை குறிக்க பயன்படுத்தப்படுகிறது. சில சமயங்களில் ஒன்றின் நிலையை கண்டுபிடிக்க வேண்டிவரும். அதற்கு இந்த OPERATOR பயன்படுகிறது.

இந்த வகை OPERATOR கள் BOOLEAN TYPE OPERAND டுகளுடன் பயன்படுத்தப்படும். இதிலிருந்து கிடைக்கப்பெறும் RESULT டும் BOOLEAN ஆக இருக்கும்.

NOT  (LOGICAL NEGATION)
AND  (LOGICAL CONJUNCTION)
OR  (LOGICAL DISJUNCTION)

முதலியவை BOOLEAN OPERATORS எனப்படும்.

NOT:

இதை LOGICAL NEGATION என்பர். அதாவது ஒரு OPERAND ன் எதிர்நிலையை குறிக்கும். இது UNARY OPERATOR ஆகும்.

உதாரணத்திற்கு நீங்களும் உங்கள் நண்பரும் ஒரு விளையாட்டு விளையாடறீங்கன்னு வச்சுக்குவோம். போட்டி நிபந்தனை இதுதான், அதாவது

உங்கள் நண்பர் ஆம் என்றால் நீங்கள் இல்லை என்று சொல்லனும்
அவர் இல்லை என்றால் நீங்கள் ஆம் என்று சொல்லனும்

மாற்றிசொல்லிட்டீங்கன்னா நீங்க தோற்றுவிட்டீர்கள் என்ன போட்டிக்கு ரெடியா? சரி, போட்டியில தோற்கவே கூடாதுன்னா நீங்க NOT OPERATOR ஐ பயன்படுத்தினால்தான் சாத்தியமாகும்.

எப்படி?

NOT OPERAND1

அதாவது

NOT நண்பர்சொன்னது

இங்கே  நண்பர்சொன்னது என்பது OPERAND ஆகும்.
logical negation, not operator, karkandu, boolean operator, karkandu, கற்கண்டு, தமிழ் பதிவு

இப்பொழுது விளையாட்டை ஆரம்பியுங்கள்.

ஆம் (உங்கள் நண்பர் ஆம் என்கிறார்)
NOT ஆம் (நீங்கள் அதன் எதிர் நிலையை சொல்ல NOT ஐ சேர்க்கிறீர்கள்)
RESULT இல்லை (நீங்கள் இல்லை என்கிறீர்கள்)

இல்லை (உங்கள் நண்பர் இல்லை என்கிறார்)
NOT இல்லை (நீங்கள் அதன் எதிர் நிலையை சொல்ல NOT ஐ சேர்க்கிறீர்கள்)
RESULT ஆம் (நீங்கள் ஆம் என்கிறீர்கள்)
புரிஞ்சுதா?

AND:

இதை LOGICAL CONJUNCTION என்பர். அதாவது இரண்டு OPERAND களும் TRUE ஆக இருக்கிறதா என்பதை அறிய பயன்படுத்தப்படும். இரண்டும் TRUE ஆக இருந்தால் மட்டும் RESULT TRUE ஆக கிடைக்கும். இது BINARY OPERATOR ஆகும்.

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

முன்சக்கரத்திலும் காற்று இருக்கவேண்டும் அதோடு பின்சக்கரத்திலும் காற்று இருக்கவேண்டும்.

இதற்குத்தான் AND OPERATOR பயன்படுகிறது.
logical conjunction, and operator, karkandu, boolean operator

எப்படி எழுதுவது?

OPERAND1 AND OPERAND2

அதாவது

முன்சக்கரத்தில் காற்று இருக்கவேண்டும் என்பது OPERAND1
பின்சக்கரத்தில் காற்று இருக்கவேண்டும் என்பது OPERAND2

உங்கள் சைக்கிளின் இரண்டு சக்கரத்தினுடைய நிலையை (VALUE வை) இங்கே APPLY செய்யுங்கள்.

உதாரணமாக முன்புற டயரில் காற்று இருக்கிறது ஆனால் பின்புற டயரில் காற்று இல்லை.

இதை

TRUE AND FALSE

என்று போட்டால் இதனுடைய ரிசல்ட் FALSE என்று கிடைக்கும். அதாவது சைக்கிள் ஓட்ட முடியாது என்று சொல்கிறது.

இரண்டிலும் காற்று இருந்தால்?

TRUE AND TRUE

RESULT IS TRUE

சைக்கிள் ஓட்ட முடியும்.
அடுத்து....

OR:

இதை LOGICAL DISJUNCTION என்பர். அதாவது இரண்டு OPERAND களில் ஏதாவது ஒன்று TRUE ஆக இருக்கிறதா என்பதை அறிய பயன்படுத்தப்படும். அப்படி இரண்டில் ஒன்று TRUE ஆக இருந்தால் மட்டுமே RESULT TRUE ஆக கிடைக்கும். இது BINARY OPERATOR ஆகும்.

உதாரணத்திற்கு உங்கள் நண்பருடன் ஹோட்டலுக்கு சாப்பிட போகிறீர்கள். சாப்பிட்டு முடித்ததும் மாவாட்டாமல் வெளியே வரவேண்டும் என்றால் சாப்பிட்டதற்கு காசு கொடுக்கவேண்டும். இதற்கு இருவரிடமே காசு இருந்தாலும் யாராவது ஒருவர் காசு கொடுத்தாலே போதும் வெளியே வந்திடலாம். இருவரிடமே இல்லையென்றால் பிரச்சினைதான். இதற்கு OR OPERATOR பயன்படுகிறது.

எப்படி?

உங்களிடம் காசு இருக்கவேண்டும் அல்லது நண்பரிடம் காசு இருக்கவேண்டும்

OPERAND1 OR OPERAND2

அதாவது

உங்களிடம் காசு இருக்கவேண்டும் என்பது OPERAND1
நண்பரிடம் காசு இருக்கவேண்டும் என்பது OPERAND2

உங்கள் பதிலை (VALUE வை) இங்கே APPLY செய்யுங்கள்.
logical disjunction, or operator, karkandu, boolean operator

RELATIONAL OPERATORS:

இந்த வகை OPERATOR கள் இரண்டு OPERAND டுகளை COMPARE செய்யவும் அவற்றிற்கிடையேயுள்ள RELATION ஐ அறியவும் உதவுகிறது. OPERAND எந்த வகையாக இருந்தாலும் RESULT BOOLEAN ஆக இருக்கும்.

EQUALITY
<> INEQUALITY
> GREATER THAN
>= GREATER THAN OR EQUAL TO
LESS THAN
<= LESS THAN OR EQUAL TO

முதலியவை RELATIONAL OPERATORS எனப்படும். மேலும் இவையனைத்தும் BINARY OPERATOR ஆகும்.

இரண்டும் சமமா?
ஒன்றைவிட மற்றொன்று பெரிதா? போன்றவற்றை அறிய இவை பயன்படுகின்றன.

OPERAND1 RELATIONAL_OPERATOR OPERAND2

உதாரணமாக

10 = 10 ? அதாவது 10 ம் 10 ம் சமமா என்று பார்க்கிறோம். பதில் ஆம் என்று வருகிறது.

TRUE = FALSE ? பதில் இல்லை என்று வருகிறது.

"TAMIL" = "PROGRAM" ? பதில் இல்லை என்று வருகிறது.

10 = 5 ? அதாவது 10 ம் 5 ம் சமமா என்று பார்க்கிறோம். பதில் இல்லை என்று வருகிறது.

10 <> 5 ? அதாவது 10 ம் 5 ம் சமமில்லையா என்று பார்க்கிறோம். பதில் ஆம் என்று வருகிறது.

10 > 5 ? அதாவது 10 என்பது 5 ஐ விட பெரிதா என்று பார்க்கிறோம். பதில் ஆம் என்று வருகிறது.

10 >= 5 ? அதாவது 10 என்பது 5 ஐ விட பெரிது மற்றும் சமமா என்று பார்க்கிறோம். பதில் ஆம் என்று வருகிறது.

10 < 5 ? அதாவது 10 என்பது 5 ஐ விட சிறியதா என்று பார்க்கிறோம். பதில் இல்லை என்று வருகிறது.

10 <= 5 ? அதாவது 10 என்பது 5 ஐ விட சிறியது மற்றும் சமமா என்று பார்க்கிறோம். பதில் இல்லை என்று வருகிறது.

என்ன புரிந்ததா?

STRING OPERATOR:

இந்த வகை OPERATOR கள் STRING TYPE OPERAND டுகளுடன் பயன்படுத்தப்படும். இதிலிருந்து கிடைக்கப்பெறும் RESULT டும் STRING TYPE ஆக இருக்கும்.

இணைத்தல்

இது BINARY OPERATOR ஆகும்.

உதாரணமாக இரண்டு வார்த்தைகளை இணைக்க இது பயன்படுகிறது.

OPERAND1 + OPERAND2

'TAMIL ' + 'NADU'

RESULT IS 'TAMIL NADU'

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

Programming building blocks என்றால் என்ன?



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


முந்தைய பாகத்தில்  Algorithm என்றால் என்ன என்பதை விரிவாக பார்த்தோம். இனி...

Program என்றால் என்ன?

Computer என்ன செய்யவேண்டும் என்பதை programming language ல் command டுகளாக எழுதுவது  program எனப்படும். Program ஐ எழுதி execute செய்வதன் மூலம் நமக்கு தேவையான result டை நாம் பெறுகிறோம்.

Programming building blocks என்றால் என்ன?

எந்தவொரு Programming Language ஐ எடுத்துக்கொண்டாலும் அதில் சில அடிப்படையான விசயங்கள் இருக்கும். நீங்கள் எழுதும் program எதுவாக இருந்தாலும் இந்த அடிப்படைகளை கொண்டுதான் உங்களால் எழுதமுடியும். இதைத்தான் Programming building blocks அல்லது Programming elements என்கிறோம்.


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

எனவே இவற்றை நாம் கட்டாயம் தெரிந்து வைத்துக்கொள்ள வேண்டும்.  அப்படி தெரிந்து கொண்டால்தான் எந்தவொரு Programming Language ஐயும் நம்மால் எளிதாக புரிந்துகொள்ள முடியும். மேலும் ஒரு Programming Language ஐ படித்துவிட்டு அடுத்த Programming Language ஐ எளிதாக கற்க முடியும்.

Programming building blocks ல் என்னென்ன உள்ளன? 
  • Variables
  • Data types
  • Identifiers
  • Constants
  • Operators
  • Expressions
  • Comments
  • Assignment statements
  • Conditional statements
  • Looping statements
  • Simple statements
  • Compound statements
  • Functions
  • Parameters
  • Procedures
  • Scope

Variables என்றால் என்ன?

ஒரு தகவலை (Value) சேமித்து வைக்கவும் சேமித்து வைத்ததை பயன்படுத்தவும் Program  ல் நாம் பயன்படுத்தும் token ஐ Variable என்கிறோம். Variable in which you can store the piece of data that a program is working on.

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

Faisal
Faridh
52. North Main Road
Elandangudi
1-1-2000
O+
Yes
Yes
No
Good
Eligible
252000
264500
1-5-2005

என்னங்க இது! மாணவருடைய விவரம் தராம சம்பந்தமில்லாமல் எதையோ கொடுக்கறீங்களே என்று டென்ஷன் வருமா வராதா?

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

அதனால்தான் உங்களால் அதை புரிந்துகொள்ளவோ அல்லது உங்களுக்கு தேவையான விவரத்தை அந்த form லிருந்து எடுத்து கையாளவோ முடியவில்லை. விடுபட்டுபோன அந்த ஒன்று வேறொன்றுமில்லை Variable தான்.

சரி இப்போது நாம் கையாள்வதற்கு தகுதியான விவரமாக எப்படி மாற்றுவது? Variable ஐ சேர்க்க வேண்டியதுதான்.

இங்கே பாருங்கள்

Name : Faisal
Father Name : Faridh
Photo :
Street : 52. North Main Road
Town : Elandangudi
Date of Birth : 1-1-2000
Blood Group : O+
Sex : Male
Telephone : 252000
Office : 264500
Date Joined : 1-5-2005
Class Joined : 1

இப்படி ஒவ்வொரு தகவலையும் ஒரு Variable லில் சேமித்து வைத்தாயிற்று. மாணவர் பெயர் வேண்டுமென்றால் என்ன செய்வீர்கள்? Name என்ற Variable லில் உள்ள value வை எடுப்பீர்கள். இனி உங்களால் அந்த மாணவர் குறித்த விவரத்தை variable மூலமாக எளிதாக எடுக்கமுடியும். அப்படி முடிந்தால்தான் உங்களால் பள்ளியை ஒழுங்காக நிர்வாகம் செய்ய முடியும். சரிதானே?

இதே முறையில்தான் நமது மூளையும் இயங்குகிறது. அதாவது ஒருவரைப் பார்த்ததும் அவருடைய பெயர் நமக்கு உடனே தெரிந்துவிடுகிறதுதானே. எப்படி? அந்த நபரின் பெயர் முதன்முதலில் நமக்கு தெரியவரும்போது நமது மூளையின் ஒரு பகுதியில் அந்த நபருடைய பெயர் store செய்யப்பட்டு அந்த பகுதியின் location ஐ இன்னாருடைய பெயர் என்ற variable மூலம் அடையாளமிடப்படுகிறது. பிறகு எப்போது அவரைப் பார்த்தாலும் நமது மூளையானது அவருடைய தகவல்கள் store  செய்யப்பட்டிருக்கும் Location க்கு போய் அவருடைய பெயர் என்கிற variable ஐ எடுத்து அதில் என்ன value இருக்கிறதோ அதை நமக்கு தருகிறது.

இதே அடிப்படையில்தான் Program மும் இயங்குகிறது. அதாவது நமது program ல் இடம்பெறும் data வை கையாள்வதற்கு முன் அதை store செய்ய ஒரு variable தேவைப்படுகிறது. எனவே நமது Program மில் data வை சேமிக்கவும் பின்னர் அதை பயன்படுத்தவும் Variable ரொம்ப முக்கியம்.

உதாரணத்திற்கு இரண்டு எண்களைக் கூட்ட program எழுதுவோமா?
இரண்டை கூட்டவேண்டுமென்றால் எந்த இரண்டு என்ற கேள்வி வரும்.

10
20
10
என்று எழுதினால் computer ருக்கு விளங்காது. இதை variable லில் store செய்யுமாறு நமது program ஐ மாற்றவேண்டும்.

எனவே

A := 10
B := 20
X := 10
என்று எழுதினால் computer புரிந்துகொள்ளும்.

அதாவது 10 ஐ ஒரு memory location ல் store செய்து அந்த location ஐ A என்று அடையாளப்படுத்தி புரிந்துகொள்கிறது.

அடுத்து 20 ஐ இன்னொரு memory location ல் store செய்து அந்த location ஐ B என்று அடையாளப்படுத்தி புரிந்துகொள்கிறது.

அடுத்து 10 ஐ இன்னொரு memory location ல் store செய்து அந்த location ஐ X என்று அடையாளப்படுத்தி புரிந்துகொள்கிறது.

அடுத்து 10 ஐயும் 20 ஐயும் கூட்ட நாம் எப்படி எழுதுவது? எந்த 10 என்று கேள்வியெழுகிறது.

A + B என்று எழுதினால் மறுபடியும் புரிந்து கொள்ளாது.

ஏனென்றால் A + B ஆனது 10 + 20 ஆக மாற்றம் பெறுகிறது.

அதாவது

A என்ற location னில் உள்ள value + B என்ற location னில் உள்ள value

10 + 20

இப்பொழுது 30 என்ற மதிப்பு கிடைக்கிறது. 30 என்றால் என்ன? என்று முழிக்கிறது. Computer ருக்கு விளங்கவைக்க நாம் நமது program ஐ மாற்றவேண்டும்.

C := A + B

அதாவது

A என்ற location னில் உள்ள value ஐயும்
B என்ற location னில் உள்ள value ஐயும் கூட்டி

வரும் மதிப்பை ஒரு memory location ல் store செய்து அந்த location ஐ C என்று அடையாளப்படுத்தி புரிந்துகொள்கிறது.

Variable இல்லாத Program

10
20
10
10+20
20

Variable உள்ள program அடுத்து எழுதப்பட்டுள்ளது :
A := 10
B := 20
X := 10
C := A + B
X := B
Print A
Print B
Print C
Print X

இப்பொழுது உங்கள் program ல்
A யின் மதிப்பு 10
B யின் மதிப்பு 20
C யின் மதிப்பு 30
X ன் மதிப்பு 20

ஒரு Program மிற்கு எத்தனை variable தேவைப்படும்?

அதை நீங்கள்தான் முடிவு செய்யவேண்டும். அதாவது ஒரு மாணவருடைய application ல் என்னென்ன விவரங்கள் இருந்தால் நல்லது என்று எப்படி நீங்கள் முடிவெடுக்கிறீர்களோ, அதைப்போன்றுதான் உங்களுடைய Program ல் என்னென்ன விவரங்கள் கையாள வேண்டுமோ அத்தனை variable ஐ நீங்கள் பயன்படுத்திக்கொள்ளலாம். இதில் எந்த ஒரு கட்டுப்பாடும் இல்லை.

Algorithm, Pseudo code, Flowchart என்றால் என்ன?

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

Algorithm (அல்காரிதம்) என்றால் என்ன? 

ஒரு Problem முக்கு நாம் எப்படி Solution கொடுக்கப் போகிறோம் என்கிற விவரத்தை step by step களாக எழுதுவதையே Algorithm என்கிறோம். எனவே நாம் எழுதும் step கள் அனைத்தும் ஒழுங்கான order ல் தெளிவாக இருக்க வேண்டும். அதாவது logic சரியாக இருக்கவேண்டும்.

Algorithm மானது Sequence, Selection, and Repetition என்கிற method களில் எழுதப்படுகிறது.அவை ஒவ்வொன்றையும் இங்கே நாம் பார்ப்போம்.

1. Sequential Control Algorithm

Sequential Control Algorith தத்தில் எழுதப்பட்ட step கள் அனைத்தும் எழுதப்பட்ட வரிசையில் execute செய்யப்படும். அதாவது அனைத்து step களும் ஒரேயொரு முறை execute செய்யப்படும்.

இரண்டு எண்களை கூட்டி விடையை காண்பிக்க Sequential Control முறைப்படி ஒரு Algorithm எழுத முடியும். அந்த Algorithm எப்படி இருக்கும் என்பதை இங்கே கவனியுங்கள்...

1. முதல் எண்ணை வாங்கவேண்டும்
2. இரண்டாம் எண்ணை வாங்கவேண்டும்
3. முதல் எண்ணையும் இரண்டாம் எண்ணையும் கூட்ட வேண்டும்
4. கூட்டி வந்த விடையை காட்ட வேண்டும்

இந்த Alogrith தத்தில் 4 step கள் எழுதப்பட்டுள்ளன. மேற்கண்ட step களை எழுதப்பட்ட வரிசையில் ஒரு தடவை செயல்படுத்தினாலே விடை கிடைத்துவிடும். இதைத்தான் Sequential control Algorithm என்கிறோம்.

இங்கே நாம் ஒன்றை கவனிக்கவேண்டும். அதாவது இந்த Algorithm தமிழில் எழுதப்பட்டுள்ளது. இப்படி மனித மொழியில் எழுதுவதை Pseudo code என்று சொல்கிறோம். இதுமட்டுமல்லாமல் நமது Algorith தத்தை வடிவங்கள் மூலமாகவும் (graphical representation) விவரிக்க முடியும். இதைத்தான் flowchart என்று கூறுகிறோம்.

Pseudo code (ஸூடோகோட்) என்றால் என்ன?

மனிதர்களுக்கு (கவனிக்கவும் கம்ப்யூட்டருக்கு அல்ல) விளங்கக்கூடிய முறையில் விளக்கமாக High level language ல் Algorithm எழுதுவதை Pseudo code என்கிறோம். எனவே Computer க்கு புரியும் மாதிரி எழுதும் Program ல் இருப்பது போன்று variable declaration, syntax, subroutine எல்லாம் Pseudo code ல் இருக்காது.

நீங்கள் algorithm சம்பந்தப்பட்ட புத்தகங்களை படித்தீர்களானால் இந்த முறையில் தான் Program கள் எழுதப்பட்டிருக்கும். அவற்றை உங்களுக்கு விருப்பமான மொழியில் (c, vb, java, Delphi) Programming command டுகளாக மாற்றி எழுதிக்கொள்ளலாம்.

ஒரு Program எழுதி அதை எழுதச்சொன்னவருக்கு புரியவைப்பதை விட Pseudo code ன் வாயிலாக எளிதில் புரியவைத்துவிடலாம். Algorith தத்தை Pseudo code ல் எழுதும் போது program symbol களையும் இணைத்து எழுதலாம். அதை இங்கே பார்ப்போம்...

1. READ first number
2. READ second number
3. COMPUTE Total = first number + second number
4. DISPLAY Total 

இங்கே READ, COMPUTE, DISPLAY ஆகியவை Program symbol ஆகும்.

Flowchart என்றால் என்ன?

நமது Algorith தத்தை வடிவங்கள் மூலமாக (graphical representation) குறிப்பிடுவதைத்தான் flowchart என்று கூறுகிறோம்.

விளங்கும்படி சொல்வதானால் வீடு கட்ட engineer போட்டுத்தரும் blue print plan போன்றதுதான் இந்த flowchart. அந்த கட்டிட பிளானை பார்த்தாலே நமக்கு வீடு எப்படி இருக்கப்போகிறது என்பது விளங்கும். இந்த பிளானை (வடிவங்களின் அர்த்தம் தெரிந்த) எந்த ஒரு மனிதரும் புரிந்து கொள்ளமுடியும். பிரச்சனைகளை எளிதாக கண்டுபிடித்துவிட முடியும். வாசற்படியை இங்கே வையுங்கள்; ஒரு ஜன்னல் போதாது; மாடிப்படியை காணோம் என்று பிரச்சனைகளை கண்டுபிடித்து விடலாம்.

Flowchart ல் ஒவ்வொரு step or process ம் ஒரு கட்டத்தில் குறிப்பிடப்பட்டிருக்கும். இரு கட்டங்களுக்கிடையில் உள்ள அம்புக்குறி அவையிரண்டுக்கும் இடையில் data flow எப்படி நடக்கிறது என்பதை விவரிக்கும். மேற்கண்ட Algorith தத்தை flowchart ல் இப்படி எழுதலாம்.
karkandu sequential control algorithm flowchart pseudocode தமிழ் கல்வி கற்கண்டு அல்காரிதம் கம்ப்யூட்டர் புரோகிராமர் புரோகிராம்
Flowchart shows sequential control algorithm
2. Selection control Algorithm

Selection Control Algorith தத்தில் step கள் பல கிளைகளாக எழுதப்பட்டிருக்கும். அவற்றில் ஏதேனும் ஒரு கிளையில் எழுதப்பட்ட step கள் மட்டும் எழுதப்பட்ட வரிசையில் execute செய்யப்படும்.

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

1. வீட்டை விட்டு புறப்பட்டு வெளியே போகிறோம்
2. தெருவில் இறங்கி நடக்கிறோம்
3. கடைக்கு போய் அரிசி வாங்குகிறோம்
4. திரும்பி வீட்டுக்கு வருகிறோம்


இது இன்னமும் Sequential control Algorithm ஆகத்தான் இருக்கிறது.

சரி. கடைக்கு போகும் வழியில் எதிரே நண்பர் வந்துவிட்டார் என்று வைத்துக்கொள்வோம். நமது algorithm எவ்வாறு மாற்றப்படுகிறது என பாருங்கள்.

1. வீட்டை விட்டு புறப்பட்டு வெளியே போகிறோம்
2. தெருவில் இறங்கி நடக்கிறோம்
3. எதிரே வந்த நம் நண்பர் அவர் வீட்டுக்கு நம்மை அழைக்கிறார்
4. போகிறதா வேண்டாமா என்று முடிவெடுக்க வேண்டிய சூழ்நிலை

இங்கே sequential control algorithm வேலை செய்யாது. ஏனெனில் decision எடுக்கவேண்டிய சூழ்நிலை. Decision எடுத்தால் இரண்டில் ஒன்றுதான் சாத்தியப்படும். ஒன்று அவர் வீட்டுக்கு போகவேண்டும்; இல்லை போகக்கூடாது. என்ன செய்வது? நமது மூளை இப்போது Selection control algorithm போட்டு அதன்படி வேலைசெய்கிறது. விளைவு? 4 வது step இரு பிரிவுகளாக பிரிக்கப்படுகிறது.

4.1. அவர் வீட்டுக்கு போகலாமா? என்ற கேள்வியை தயார் செய்கிறது.

4.2. போகலாம் என்று பதில் கிடைத்தால் அதை செயல்படுத்த அவர் வீட்டுக்கு போகச்சொல்லி  ஒரு பக்கம் algorithm எழுதுகிறது.

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

5. அடுத்து கடைக்கு போய் அரிசி வாங்கிக்கொண்டு வீட்டுக்கு திரும்புகிறோம்.

மேலை உள்ள algorithm இரு வகையில் செயல்படும் வண்ணம் வடிவமைக்கப்பட்டுள்ளதை நீங்கள் காணலாம்.

முதல் வகை: நண்பர் வீட்டுக்கு செல்லுதல்
Execution Order is 1, 2, 3, 4.1, 4.2, 5

இரண்டாம் வகை: நண்பர் வீட்டுக்கு செல்லவில்லை
Execution Order is 1, 2, 3, 4.1, 4.3, 5

இன்னொரு உதாரணம்: இரண்டு எண்களில் எது பெரியது என்பதை கண்டுபிடிக்க Algorithm எழுதப்பட்ட முறையை கவனியுங்கள்.

1. முதல் எண்ணை வாங்கவேண்டும்
2. இரண்டாம் எண்ணை வாங்கவேண்டும்
3. இரண்டு எண்களில் எது பெரியது என்பதை காட்ட வேண்டும்

இதை Pseudo code ல் எழுதுவோமா?

1. READ first number
2. READ second number
3. DISPLAY biggest number

மேலே நாம் கண்ட algorithm மேலோட்டமாக சொல்லப்பட்டுள்ளது. அதாவது 1,2 ல் ஒன்றும் பிரச்சினை இல்லை. ஆனால் 3 ல் எழுதியுள்ள பெரிய நம்பரை எப்படி கண்டுபிடிக்கப்போகிறோம் என்பதை விளக்கமாக சொல்லவில்லை. இதை நாம் divide and conquer method பிரகாரம் சிறிய step களாக எழுதப்போகிறோம்.

1. READ first number
2. READ second number
3. IF First number is BIGGER THAN second number THEN
        3.1 DISPLAY First number
    ELSE
        3.2 DISPLAY Second number

இரண்டு நம்பரில் பெரிய நம்பர் எதுவென்று கண்டுபிடிக்க Sequence Control Algorithm உதவாது. ஏனென்றால் இரண்டில் ஏதாவது ஒன்றுதான் பெரியதாக இருக்கமுடியும். இதுவா அல்ல அதுவா என்ற நிலை வரும்போது Selection Control Algorithm பயன்படுத்தப்படுகிறது.

மேலே உள்ள step 3 ல் உள்ள condition true என்றால் 3.1 step execute செய்யப்பட்டு 3.2 execute செய்யப்படாமல் Program முடிந்துவிடும்.

மேலே உள்ள step 3 ல் உள்ள condition false என்றால் 3.1 step execute செய்யப்படாமல் 3.2 execute செய்யப்பட்டு Program முடிந்துவிடும்.



karkandu selection control algorithm flowchart pseudocode கற்கண்டு அல்காரிதம் கம்ப்யூட்டர் புரோகிராமர் புரோகிராம்
Flowchart shows selection control algorithm
3. Repetition control Algorithm

Repetition control Algorith தத்தில் எழுதப்பட்ட step கள் குறிப்பிட்ட எண்ணிக்கையில் திரும்ப திரும்ப execute செய்யப்படும்.

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

1. திண்ணையில் அமர்ந்து கொள்ளுதல்
2. தண்ணீர் கேட்டு வருபவருக்கு 
3. குவளையை கழுவிவிட்டு தண்ணீர் முகர்ந்து கொடுப்பது

இது Sequential control method ல் எழுதப்பட்டுள்ளது. அடுத்து

4. தண்ணீர் கேட்டு வேறொருவர் வருகிறார்
5. குவளையை கழுவிவிட்டு தண்ணீர் முகர்ந்து கொடுப்பது

இதுவும் Sequential control method ல் எழுதப்பட்டுள்ளது. அடுத்து

6. தண்ணீர் கேட்டு வேறொருவர் வருகிறார்
7. குவளையை கழுவிவிட்டு தண்ணீர் முகர்ந்து கொடுப்பது

இதுவும் Sequential control method ல் எழுதப்பட்டுள்ளது. அடுத்து வேறொருவர் வருகிறார்.... இப்படியே 2 மற்றும் 3 வது step திரும்ப திரும்ப செயல்படுத்தப்படுகிறது. இப்போது 1000 நபர் வந்தால்.... அப்பப்பா நமது algorith தத்தில் 2001 step கள் தேவைப்படும்.

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

இங்குதான் repetitive control algorithm நமக்கு கைகொடுக்கிறது. ஆம்! நமது மூளையும் அந்த method ல் தான் algorithm எழுதுகிறது.

ஒரே செயலை திரும்ப திரும்ப செயல்படுத்த sequential control and selection control இரண்டுமே உதவாது. Repetitive control algorithm தான் சரிப்பட்டுவரும். இப்போது திருத்தப்பட்ட algorithm எப்படி இருக்கும் என்று பார்க்கலாம்.

1. திண்ணையில் அமர்ந்து கொள்ளுதல்
2. தண்ணீர் கேட்டு வரும் ஒவ்வொருவருக்கும்
3. குவளையை கழுவிவிட்டு தண்ணீர் முகர்ந்து கொடுப்பது

இங்கே 2 வது step ஐ சிறிது மாற்றிவிட்டால் எத்தனை பேர் வந்தாலும் தண்ணீர் கொடுக்க வேண்டும் என்று நமது program செயல்படும்.

இதை Pseudo code ஆக மாற்றுவோமா?

1. READY to serve
2. FOR EACH Person who ask water
    3. WASH Tumbler
    4. GIVE water
5. END FOR

Step 2 முதல் 5 வரை உள்ளதைத்தான் Loop (sequence of computer operations repeated until some condition is satisfied) என்று சொல்வார்கள்.


karkandu repetitive control algorithm flowchart pseudocode கற்கண்டு அல்காரிதம் கம்ப்யூட்டர் புரோகிராமர் புரோகிராம்
Flowchart shows repetitive control algorithm

Algorithm, pseudo code, flowchart என்றால் என்னவென்பது இப்போது உங்களுக்கு விளங்கியிருக்கும் என நம்புகிறேன். அடுத்து Program எழுதவேண்டியதுதான் பாக்கி.அதை எழுத தேவையான basic elements அதாவது programming building blocks என்னென்னஎன்பதை அடுத்து பார்க்கலாம்...