"மீண்டும் நான்தான். நான் ஒன்றை விளக்க மறந்துவிட்டேன். நான் இப்போது மாறிகள் மற்றும் நினைவக முகவரியிடல் (memory addressing) பற்றி கூறுகிறேன். நாம் எதையும் ஆழமாக ஆராயப் போவதில்லை. ஆனால் குறைந்தபட்சம் கொஞ்சமாவது நினைவில் வைத்துக் கொள்வது நல்லது."

"பாடங்களை நீங்கள் அணுகும் முறை எனக்குப் பிடித்துள்ளது: உங்களுக்கு புரிந்தால் - சிறந்தது. உங்களுக்கு எதுவும் புரியவில்லை என்றாலும் - பரவாயில்லை."

"அன்பைக் கட்டாயப்படுத்த முடியாது. அது வெளிப்படையானது. உங்கள் கிரகத்தில் அப்படி இல்லையா?"

"இல்லை. எங்களது அணுகுமுறை வேறுவிதமானது. நீங்கள் விரும்பினால், படிங்கள்; விரும்பவில்லை என்றால், விருப்பமில்லாவிட்டாலும் படிக்க வேண்டும்."

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

"நாம் அனைத்தையும் வீணாக்குவோம். நாம் அந்த சோகமான விஷயங்களைப் பற்றி பேசி நேரத்தை வீணாக்க வேண்டாம்."

"சரி. Excelஐ எடுத்துக் கொள்ளுங்கள். எல்லோருக்கும் Excel தெரியும். Excel ஷீட்டில் செல்கள் இருக்கும். ஒவ்வொரு செல்லுக்கும் அதன் தனித்துவமான அடையாளங்காட்டி இருக்கும் (A1, A2,… B1, B2). ஒரு செல்லின் அடையாளங்காட்டி உங்களுக்குத் தெரிந்திருந்தால், அதில் சில மதிப்பை எழுதலாம் அல்லது அதில் சேமித்து வைக்கப்பட்ட எந்த மதிப்பையும் பெறலாம். கணினி நினைவகமும் இதேபோன்று ஒழுங்கமைக்கப்பட்டுள்ளது."

image-ru-01-25

"நான் இதுவரை கவனித்துக் கொண்டுதான் இருக்கிறேன்."

"நிரல் இயங்கும்போது, நிரலும் நிரலின் தரவும் நினைவகத்தில் சேமிக்கப்படும். அனைத்து கணினி நினைவகமும் சிறிய செல்கள் அல்லது பைட்டுகளாகப் பிரிக்கப்பட்டுள்ளன. ஒவ்வொரு செல்லுக்ம் அதனுடன் தொடர்புடைய ஒரு தனிப்பட்ட அடையாளங்காட்டி அல்லது எண் இருக்கும்: 0,1,2,3,… (எண்கள் 0இல் இருந்து தொடங்குகின்றன). உங்களுக்குக் செல்லின் எண் தெரியுமெனில், அதில் தரவைச் சேமிக்கலாம். அல்லது அதிலிருக்கும் தரவைப் பெறலாம். சில செல்கள் நிரலின் குறிமுறையைச் சேமிக்கின்றன. அதாவது செயலிக்கான கட்டளைகளின் தொகுப்பைச் சேமிக்கின்றன. மற்றவை நிரலால் பயன்படுத்தப்படும் தரவை சேமிக்கின்றன. ஒவ்வொரு செல்லின் எண்ணும் அதன் முகவரி என்று அழைக்கப்படுகிறது."

"பேராசிரியர் ஏற்கனவே செயலி (processor) மற்றும் கட்டளைகளைப் பற்றி கூறினார், ஆனால் விரிவாக இல்லை."

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

"ஆனால் நான் ஏன் இதெல்லாம் செய்ய வேண்டும்?"

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

" மாறி என்பதற்கு பெயர், வகை, நினைவகத்தின் ஒரு பகுதி மற்றும் மதிப்பு என்று அர்த்தமாகுமா?"

"அது எல்லாவற்றையும் ஒன்றாக சேர்த்து. சில எடுத்துக்காட்டுகளைக் காணுங்கள்:"

குறிமுறை: விளக்கம்
1
String s;
இந்த வரி s என்ற பெயர் கொண்ட ஒரு மாறியை உருவாக்குகிறது. நாம் அதன் வகையை String என அறிவிக்கிறோம். ஏனெனில் இது உரையைச் சேமிக்கப் பயன்படுகிறது.
அதே செயல்பாடு அல்லது கிளாஸில் உள்ள அதே பெயருடன் மற்றொரு மாறியை அறிவிக்க முடியாது.
2
String s2 = "I'm Diego";
இந்த வரி s2 என்ற ஒரு சர மாறியை உருவாக்கி உடனடியாக "I'm Diego" என்ற மதிப்பை ஒதுக்குகிறது.
3
int a;
a என்ற பெயர் கொண்ட ஒரு மாறியை இங்கே உருவாக்குகிறோம். அதன் தரவு வகை அதில் சேமிக்கப்படும் வகையைப் பொருத்துகிறது. int தரவு வகையானது முழுஎண் என்பதற்கு குறுகிய வடிவம்.
4
int b = 4;
b என்ற பெயர் கொண்ட ஒரு மாறியை உருவாக்குகிறோம். அதன் தரவு வகை (int) முழுஎண்களை சேமிப்பதற்காகும். 4 என்ற மதிப்பு உடனடியாக உடனடியாக ஒதுக்கப்படுகிறது.

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