TN Online Testசமச்சீர் கல்விப் பயிற்சி

தரவு அருவமாக்கம்: ஒரு மதிப்பெண் வினாக்கள், புத்தக வினா விடைகள் மற்றும் குறிப்புகள்

12ஆம் வகுப்பு · கணினி அறிவியல் · #2

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

இந்தப் பாடத்தைப் படியுங்கள்

முந்தைய பொதுத் தேர்வுகளில் கேட்கப்பட்டவை

இந்தப் பாடத்திலிருந்து 7 வினாக்கள் 7 முந்தைய பொதுத் தேர்வுகளில் கேட்கப்பட்டன. விடையையும் விளக்கத்தையும் காண எந்த வினாவையும் திறக்கவும்.

  1. மார்ச் 2026
    உருவமைப்பு அறியப்பட்ட தரவுவகை __________ என அழைக்கப்படுகிறது.
    விடையுடன் வினாத்தாளில் பார் →
  2. மார்ச் 2025
    பின்வரும் எந்த செயற்கூறு அருவமாக்கம் தரவு வகையை உருவமைக்கப் பயன்படுகிறது?
    விடையுடன் வினாத்தாளில் பார் →
  3. மார்ச் 2024
    உருவமைப்பு அறியப்படாத தரவு வகை எவ்வாறு அழைக்கப்படுகிறது ?
    விடையுடன் வினாத்தாளில் பார் →
  4. மார்ச் 2023
    உருவமைப்பு அறியப்பட்ட தரவு வகை __________ என அழைக்கப்படுகிறது.
    விடையுடன் வினாத்தாளில் பார் →
  5. மே 2022
    பின்வரும் எந்த செயற்கூறு தரவு வகையில் இருந்து தகவல்களை மீட்டெடுக்கும் ?
    விடையுடன் வினாத்தாளில் பார் →
  6. துணைத் தேர்வு 2021
    பின்வரும் எந்த செயற்கூறு அருவமாக்கம் தரவு வகையை உருவமைக்கப் பயன்படுகிறது ?
    விடையுடன் வினாத்தாளில் பார் →
  7. மார்ச் 2020
    மாற்ற செய்ய முடியாத பொருளின் தொடர் வரிசை :
    விடையுடன் வினாத்தாளில் பார் →

தரவு அருவமாக்கம் பற்றி

நடுத்தரம் ~90 நிமிடப் படிப்பு

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

பாடம் அருவமாக்கத் தரவு வகையுடன் (Abstract Data Type - ADT) தொடங்குகிறது. ADT அதன் சேமிப்பு முறையால் அல்ல, அதன் மதிப்புகளாலும் செயல்பாடுகளாலும் வரையறுக்கப்படுகிறது. அடுத்து அருவமாக்கத்தை இயங்க வைக்கும் இரண்டு வகைச் செயற்கூறுகள் வருகின்றன: பொருளை உருவாக்கும் ஆக்கிகள் (Constructors), அதன் பகுதிகளைப் படிக்கும் செலக்டர்கள் (Selectors). பாடநூலின் எடுத்துக்காட்டுகள்: makecity(name, lat, lon) மூலம் உருவாக்கப்படும் நகரம், தொகுதியும் பகுதியும் கொண்டு உருவாக்கப்படும் விகிதமுறு எண். கடைசியில் இந்தப் பொருள்கள் இணைகள் (லிஸ்ட், டூபுள்) மற்றும் இனக்குழுக்கள் மூலம் உண்மையில் எப்படிச் சேமிக்கப்படுகின்றன என்பது காட்டப்படுகிறது.

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

நீங்கள் கற்பவை

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

தொடங்குவதற்கு முன்

  • அலகு 1 இல் கற்ற மாறிகள், செயற்கூறுகள், அளபுருக்கள்.
  • மதிப்பிருத்தும்போது ஒரு பெயர் ஒரு மதிப்புடன் எப்படிப் பிணைக்கப்படுகிறது என்பது.
  • பைத்தானில் லிஸ்ட், சுட்டெண் பற்றிய அடிப்படைப் புரிதல்.

இந்த அத்தியாயத்தில் உள்ள தலைப்புகள்

அருவமாக்கத் தரவு வகைகள் மதிப்புகளின் தொகுப்பாலும் செயல்பாடுகளாலும் நடத்தை வரையறுக்கப்படும் வகை. அது எப்படிச் சேமிக்கப்படுகிறது அல்லது செயல்படுத்தப்படுகிறது என்பது இதில் சொல்லப்படுவதில்லை.
அருவமாக்கம் செயல்படுத்துதல் விவரங்களை மறைத்துத் தேவையான அம்சங்களை மட்டும் காட்டுவது. இதனால் நிரலைத் தனித்தனித் தொகுதிகளாகப் பிரிக்க முடிகிறது.
ஆக்கிகள் பகுதிகளிலிருந்து அருவமாக்கத் தரவு வகையை உருவாக்கும் செயற்கூறுகள். எ.கா. makecity(name, lat, lon), இது ஒரு நகரப் பொருளைத் தருகிறது.
செலக்டர்கள் சேமிப்பு முறையை வெளிப்படுத்தாமல் அருவமாக்கத் தரவுப் பொருளின் பகுதிகளைப் படிக்கும் செயற்கூறுகள். எ.கா. getname(city), numer(x).
கான்கிரீட் மற்றும் அருவமாக்கப் பிரதிநிதித்துவம் கான்கிரீட் பிரதிநிதித்துவத்தில் சேமிப்பு முழுமையாகத் தெரியும். அருவமாக்கப் பிரதிநிதித்துவம் அதை மறைத்து, செயல்படுத்துதலைச் சாராத பார்வையைத் தருகிறது.
இணைகள், லிஸ்ட், டூபுள் இணை இரண்டு மதிப்புகளை ஒன்றாகக் கட்டுகிறது. பைத்தானில் சதுர அடைப்புக்குறி லிஸ்ட் (மாறக்கூடியது) அல்லது வளைவு அடைப்புக்குறி டூபுள் (மாறாதது) கொண்டு இணைகள் அமைக்கப்படுகின்றன.

தரவு அருவமாக்கம் — விரிவான விளக்கம்

ADT, ஆக்கிகள், செலக்டர்கள் மற்றும் இணைகள்

அருவமாக்கத் தரவு வகைகள்

அருவமாக்கத் தரவு வகை (ADT) என்பது, மதிப்புகளின் தொகுப்பாலும் செயல்பாடுகளின் தொகுப்பாலும் நடத்தை வரையறுக்கப்படும் பொருள்களுக்கான வகை. இந்த வரையறை என்ன செயல்பாடுகளைச் செய்யலாம் என்பதைச் சொல்கிறது; அவை எப்படி செய்யப்படுகின்றன, நினைவகத்தில் தரவு எப்படி அமைகிறது என்பதைச் சொல்வதில்லை. அதனால்தான் ADT, செயல்படுத்துதலைச் சாராத பார்வையைத் தருகிறது என்கிறோம். அருவமாக்கம் என்பது இந்த விவரங்களை மறைத்து, தேவையான அம்சங்களை மட்டும் காட்டுவது. இதனால் ஒரு பெரிய நிரலை வெவ்வேறு நபர்கள் வேலை செய்யக்கூடிய தொகுதிகளாகப் பிரிக்க முடிகிறது.

ஆக்கிகளும் செலக்டர்களும்

ஆக்கிகள் (Constructors) அருவமாக்கத் தரவு வகையை உருவாக்கும் செயற்கூறுகள். city := makecity(name, lat, lon) ஓர் ஆக்கி: மூன்று மதிப்புகளை ஒரே நகரப் பொருளாகக் கட்டுகிறது. செலக்டர்கள் (Selectors) அந்தப் பொருளிலிருந்து தகவலைப் பெறும் செயற்கூறுகள்: getname(city), getlat(city), getlon(city). விகிதமுறு எண்ணுக்கு rational(n, d) அதை உருவாக்குகிறது; numer(x), denom(x) தொகுதியையும் பகுதியையும் படிக்கின்றன.

இந்த வடிவமைப்பு உத்தியைப் பாடநூல் விருப்பச் சிந்தனை (Wishful Thinking) என்கிறது: ஆக்கியும் செலக்டர்களும் ஏற்கனவே இருப்பதாகக் கொண்டு, அவற்றைப் பயன்படுத்தி மீதி நிரலை எழுதுகிறீர்கள். தரவு உண்மையில் எப்படிச் சேமிக்கப்படும் என்பதைப் பின்னர் முடிவு செய்கிறீர்கள்.

கான்கிரீட் மற்றும் அருவமாக்கத் தரவு பிரதிநிதித்துவம்

கான்கிரீட் தரவு பிரதிநிதித்துவத்தில் தரவு சேமிக்கப்படும் விதம் முழுமையாகத் தெரியும். அருவமாக்கத் தரவு பிரதிநிதித்துவத்தில் சேமிப்பு மறைக்கப்படுகிறது; தரவை அதன் செயற்கூறுகள் வழியாக மட்டுமே பயன்படுத்துகிறீர்கள். numer(x) ஐ அழைக்கும் நிரல் அருவமாக்கப் பார்வையைப் பயன்படுத்துகிறது; x[0] ஐ நேரடியாகப் படிக்கும் நிரல் கான்கிரீட் லிஸ்டைச் சார்ந்திருக்கிறது.

இணைகள்: லிஸ்ட் மற்றும் டூபுள்

இரண்டு மதிப்புகளை ஒன்றாகக் கட்டும் எந்த முறையையும் இணை (Pair) என்று கருதலாம். பைத்தான் லிஸ்ட் அல்லது டூபுள் கொண்டு இணைகளை உருவாக்குகிறது. லிஸ்ட் (List) சதுர அடைப்புக்குறிக்குள் மதிப்புகளை எழுதி அமைக்கப்படுகிறது; எ.கா. lst = [10, 20]. அதன் உறுப்புகளைச் சுட்டெண் மூலம் படிக்கலாம்; உருவாக்கிய பிறகும் மாற்றலாம். எனவே லிஸ்ட் மாறக்கூடியது (mutable). டூபுள் (Tuple) என்பது வளைவு அடைப்புக்குறிக்குள் காற்புள்ளிகளால் பிரிக்கப்பட்ட மதிப்புகளின் வரிசை; எ.கா. colour = ('red', 'blue'). ஒருமுறை மதிப்பிருத்திய பின் அதன் உறுப்புகளை மாற்ற முடியாது. எனவே டூபுள் மாறாதது (immutable). இரண்டிலும் சுட்டெண் பயன்பாடும் பல மதிப்பிருத்தலும் உண்டு; எ.கா. x, y = lst.

பெயரிட்ட பகுதிகளுக்கு இனக்குழுக்கள்

['Ram', 17, 90] போன்ற லிஸ்டில் எது பெயர், எது மதிப்பெண் என்று தெரியாது. ஒரு பொருளுக்குப் பல பகுதிகள் இருக்கும்போது, ஒவ்வொரு பகுதிக்கும் பெயர் இருக்கும்படி கட்டமைப்பு அல்லது இனக்குழு (Class) பயன்படுத்தப்படுகிறது. இனக்குழு என்பது பொருள்களை உருவாக்குவதற்கான வார்ப்புரு; பொருள் (Object) அந்த இனக்குழுவின் ஒரு நிகழ்வு. பாடநூல் இவற்றை பிஸ்கட் அச்சு, பிஸ்கட் என்று ஒப்பிடுகிறது. இனக்குழு பெயரிட்ட தரவையும் அதன் மீது வேலை செய்யும் செயற்கூறுகளையும் சேர்த்து வைத்திருக்கிறது; தொடர்புடைய தரவும் நடத்தையும் ஒரே இடத்தில் இருக்கின்றன.

தவிர்க்க வேண்டிய பொதுவான தவறுகள்

  • செலக்டர் பொருளை மாற்றுகிறது என்று நினைப்பது. செலக்டர்கள் மதிப்புகளைப் படிக்க மட்டுமே செய்கின்றன; பொருளை உருவாக்குவது ஆக்கி.
  • டூபுளை மாற்றலாம் என்று சொல்வது. லிஸ்ட் உறுப்புகளை மதிப்பிருத்திய பின்னும் மாற்றலாம்; டூபுள் உறுப்புகளை மாற்ற முடியாது.
  • numer(x) ஐ அழைக்காமல் x[0] போன்ற லிஸ்ட் சுட்டெண் கொண்டு அருவமாக்கத் தரவைப் படிப்பது. இது நிரலை ஒரே சேமிப்பு வடிவத்துடன் கட்டிப்போட்டு அருவமாக்கத்தை உடைக்கிறது.
  • இனக்குழுவையும் பொருளையும் ஒன்றாகக் கருதுவது. இனக்குழு வார்ப்புரு (பிஸ்கட் அச்சு); பொருள் அதிலிருந்து உருவாக்கப்படும் ஒரு நிகழ்வு (பிஸ்கட்).

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

அடிக்கடி கேட்கப்படும் கேள்விகள்

அருவமாக்கத் தரவு வகை (ADT) என்றால் என்ன?

ADT என்பது, மதிப்புகளின் தொகுப்பாலும் செயல்பாடுகளின் தொகுப்பாலும் நடத்தை வரையறுக்கப்படும் பொருள்களுக்கான வகை. எந்தச் செயல்பாடுகள் அனுமதிக்கப்படுகின்றன என்று சொல்கிறது; அவை எப்படி நிறைவேற்றப்படுகின்றன, தரவு எப்படிச் சேமிக்கப்படுகிறது என்று சொல்வதில்லை. எனவே அது தரவைப் பற்றி செயல்படுத்துதலைச் சாராத பார்வையைத் தருகிறது.

ஆக்கிக்கும் செலக்டருக்கும் என்ன வேறுபாடு?

ஆக்கி பகுதிகளிலிருந்து அருவமாக்கத் தரவுப் பொருளை உருவாக்குகிறது; எ.கா. makecity(name, lat, lon). செலக்டர் அந்தப் பொருளிலிருந்து ஒரு தகவலைப் படிக்கிறது; எ.கா. getname(city) அல்லது getlat(city). செலக்டர்கள் பொருளை மாற்றுவதில்லை.

தரவு அருவமாக்கத்தில் இணைகளை ஏன் பயன்படுத்துகிறோம்?

இணை இரண்டு மதிப்புகளை ஒரே அலகாகக் கட்டுகிறது. விகிதமுறு எண் (தொகுதி, பகுதி) அல்லது புள்ளி (x, y ஆயத்தொலைவுகள்) போன்ற தரவுக்குத் தேவையானது இதுவே. பைத்தானில் இணைகள் லிஸ்ட் அல்லது டூபுள் கொண்டு அமைக்கப்படுகின்றன.

பைத்தானில் லிஸ்ட் டூபுளிலிருந்து எப்படி வேறுபடுகிறது?

லிஸ்ட் [10, 20] போலச் சதுர அடைப்புக்குறிக்குள் எழுதப்படுகிறது; அதன் உறுப்புகளை மாற்றலாம், சேர்க்கலாம், நீக்கலாம். டூபுள் (10, 20) போல வளைவு அடைப்புக்குறிக்குள் காற்புள்ளிகளால் பிரிக்கப்பட்ட வரிசை; ஒருமுறை மதிப்பிருத்திய பின் அதன் உறுப்புகளை மாற்ற முடியாது.

நிரல் வடிவமைப்பில் விருப்பச் சிந்தனை என்றால் என்ன?

ஆக்கியும் செலக்டர்களும் ஏற்கனவே இருப்பதாகக் கொண்டு நிரலை எழுதுவதே விருப்பச் சிந்தனை. எ.கா. விகிதமுறு எண் எப்படிச் சேமிக்கப்படும் என்று முடிவு செய்யும் முன்பே numer(x), denom(x) ஐப் பயன்படுத்துவது. சேமிப்பு விவரங்களைப் பிறகு நிரப்புகிறீர்கள்.

இனக்குழுவுக்கும் பொருளுக்கும் என்ன வேறுபாடு?

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

கடைசியாகப் புதுப்பிக்கப்பட்டது 17 செப்டெம்பர் 2026

கணினி அறிவியல் பாடத்தின் மற்ற பாடங்கள்

அனைத்தையும் பார்க்க
1 செயற்கூறு 3 வரையெல்லை 4 நெறிமுறையின் யுத்திகள் 5 பைத்தான் அறிமுகம்—மாறிகள் மற்றும் செயற்குறிகள் 6 கட்டுப்பாட்டுக் கட்டமைப்புகள் 7 பைத்தான் செயற்கூறுகள் 8 சரங்கள் மற்றும் சரங்களைக் கையாளுதல் 9 (List, Tuples, Set மற்றும் Dictionary) தொகுப்பு தரவினங்கள் 10 பைத்தான் இனக்குழுக்கள் மற்றும் பொருள்கள் 11 தரவுதள கருத்துருக்கள் 12 வினவல் அமைப்பு மொழி (SQL) 13 பைத்தான் மற்றும் CSV கோப்புகள் 14 பைத்தானில் C++ நிரல்களை தருவித்தல் 15 SQL மூலம் தரவுகளைக் கையாளுதல் 16 தரவுக் காட்சிப்படுத்துதல்: PYPLOT பயன்படுத்தி – கோட்டு வரைபடம், வட்ட வரைபடம் மற்றும் பட்டை வரைபடம் உருவாக்குதல்