தரவு அருவமாக்கம் - Study Notes
பாடச் சுருக்கம்
தரவு அருவமாக்கம் என்பது கணினி அறிவியலில் ஒரு சக்திவாய்ந்த கருத்துருவாகும். இது நிரலர்களை நிரல் குறியீட்டை ஒரு பொருளாகக் கருத வழிசெய்கிறது. நிரலர்கள் நிரல் எவ்வாறு செயல்படுத்தப்படுகிறது என்பதைப் பற்றி கவலைப்படத் தேவையில்லை, மாறாக அப்பொருள் என்ன செய்கிறது என்று தெரிந்தால் போதுமானது. தரவு அருவமாக்கத்தை செயல்படுத்த, ஆக்கிகள் (Constructors) மற்றும் செலக்டர்கள் (Selectors) என்ற இரண்டு செயற்ககூறுகள் உருவாக்கப்பட வேண்டும். ஆக்கிகள் தரவு வகையைக் கட்டமைக்கவும், செலக்டர்கள் தகவல்களைத் தரவு வகையிலிருந்து மீட்டெடுக்கவும் பயன்படுகின்றன.
கற்றலின் நோக்கங்கள்
- அருவமாக்க தரவு கட்டமைப்பைப் (Abstract Data Type) புரிந்து கொள்ளுதல்.
- ஆக்கிகள் மற்றும் செலக்டர்கள் இடையேயான வேறுபாடுகளைக் கண்டறிதல்.
- கான்கிரீட் தரவு வகை மற்றும் அருவமாக்க தரவு வகை ஆகியவற்றின் வேறுபாடுகளைப் புரிந்துகொள்ளுதல்.
- இணைகள் (Pairs), பட்டியல்கள் (Lists) மற்றும் டூபுள்கள் (Tuples) போன்ற கூட்டு அமைப்புகளைப் பயன்படுத்தி தரவு அருவமாக்கத்தை செயல்படுத்துதல்.
- வகுப்புகள் (Classes) மூலம் தரவு கட்டமைப்பை உருவாக்குவதை அறிதல்.
முக்கியக் கருத்துருக்கள் மற்றும் வரையறைகள்
அருவமாக்க தரவு வகை (Abstract Data Type - ADT)
அருவமாக்க தரவு வகை என்பது பொருள்களுக்கான வகை (அல்லது இனக்குழு) ஆகும். ADT-yin வரையறை என்ன வகையான செயல்பாடுகள் செய்யப்பட வேண்டும் என்று குறிப்பிடுகிறது, ஆனால் அவை எவ்வாறு செயல்படுத்தப்பட வேண்டும் என்று குறிப்பிடுவதில்லை.
ஆக்கிகள் (Constructors)
ஆக்கி செயற்கூறுகள் அருவமாக்கம் தரவு வகையை கட்டமைக்கப் பயன்படுகின்றன. எடுத்துக்காட்டாக: make_pair(x, y) என்பது ஒரு ஆக்கியாகும்.
செலக்டர்கள் (Selectors)
செலக்டர் செயற்கூறுகள் தகவல்களைத் தரவு வகையிலிருந்து மீட்டெடுப்பதற்குப் பயன்படுகின்றன. எடுத்துக்காட்டாக: first(pair) மற்றும் second(pair) ஆகியவை செலக்டர்கள் ஆகும்.
இணை (Pair) மற்றும் பட்டியல்கள் (List, Tuple)
இரண்டு மதிப்புகளை ஒன்றாக இணைக்கும் கூட்டு அமைப்பிற்கு இணைகள் என்று பெயர். பட்டியல்கள் மற்றும் டூபுள்கள் மூலம் இணைகளை எளிதாக உருவாக்கலாம். பட்டியல்கள் மாற்றக்கூடியவை, ஆனால் டூபுள்கள் மாற்ற முடியாதவை ஆகும்.
செயல்முறை விளக்கங்கள்
விகிதமுறு எண்களை கட்டமைத்தல் (Rational Numbers ADT)
ஒரு விகிதமுறு எண்ணை தொகுதி மற்றும் பகுதி கொண்டு அமைக்கலாம். இதன் ஆக்கி மற்றும் செலக்டர் செயற்கூறுகள் பின்வருமாறு வரையறுக்கப்படும்:
- ஆக்கி: rational(n, d) - இது n மற்றும் d ஆகியவற்றை இணைத்து ஒரு விகிதமுறு எண்ணை உருவாக்குகிறது.
- செலக்டர்கள்: numer(x) தொகுதி மதிப்பையும், denom(x) பகுதி மதிப்பையும் மீட்டெடுத்துத் தருகின்றன.
பொதுவான தேர்வுத் தவறுகள்
- ஆக்கிகள் மற்றும் செலக்டர்களைக் குழப்புதல்: ஆக்கிகள் புதிய தரவுக் கட்டமைப்பை உருவாக்குகின்றன, செலக்டர்கள் அதிலிருந்து தகவல்களை மீட்டெடுக்கின்றன. இவ்விரண்டின் பணிகளையும் மாற்றி எழுதக்கூடாது.
- List மற்றும் Tuple வேறுபாடு: List மாற்றக்கூடிய உறுப்புகளைக் கொண்டது, சதுர அடைப்புக்குறிக்குள் [ ] வரையறுக்கப்படும். Tuple மாற்ற முடியாத உறுப்புகளைக் கொண்டது, வளைந்த அடைப்புக்குறிக்குள் ( ) வரையறுக்கப்படும். தேர்வில் இவற்றின் அடைப்புக்குறிகளை மாற்றி எழுதக் கூடாது.
- கான்கிரீட் மற்றும் அருவமாக்க வேறுபாடு: கான்கிரீட் தரவு வகையின் உருவமைப்பு வெளிப்படையாக அறியப்பட்டது, ஆனால் அருவமாக்க தரவு வகையின் உருவமைப்பு மறைமுகமானது என்பதை நினைவில் கொள்க.
தேர்வு உதவிக்குறிப்புகள்
- ஆக்கிகள் மற்றும் செலக்டர்களை அடையாளம் காணும் வினாக்களை நன்றாகப் பயிற்சி செய்யவும். (எ.கா: make_point என்பது ஆக்கி, xcoord என்பது செலக்டர்).
- இணைகள் (Pairs), பட்டியல்கள் (Lists) மற்றும் டூபுள்களை (Tuples) உருவாக்கும் முறைகளை எடுத்துக்காட்டுடன் எழுதப் பழகிக் கொள்ளுங்கள்.
- நகல் எடுக்க முடியாதபடி தரவை மறைக்கும் நுட்பமே அருவமாக்கம் என்பதை வரையறையாகக் கேட்கும்போது தெளிவாக எழுதவும்.