விகிதமுறு எண்களைக் கொண்டு அருவமாக்க தரவு வகையை
உருவமைப்பு செய்தல்
தரவு அருவமாக்கத்தின் அடிப்படை நோக்கம், நிரலினை அருவமாக்க தரவில்
இயக்கும்படி கட்டமைப்பதாகும். அதாவது, நிரலில் தரவுகளை பயன்படுத்திக் கொள்ளும் போது
அதைப்பற்றி சில ஊகங்களை செய்து கொள்ள வாய்ப்புள்ளது. அதை வேளையில் காண்கீரிட் தரவு
உருவமைக்கும் போது நிரலின் தனிப்பகுதியாக வரையரை செய்ய வேண்டும்.
குறிப்பு
கான்கீரிட்
தரவு உருவமைப்பில், அனைத்து செயற்கூறுகளின் வரையறையும் தெரிந்திருக்க வேண்டும்.
அனைத்து நிரல்களும் இரு பகுதிகளை கொண்டிருக்கும். அருவமாக்க
தரவின் மீது செயல்படும் பகுதி மற்றும் அருவமாக்க தரவு வகையை செயல்படுத்தும் சில செயற்கூறுகளின்
தொகுப்பை கொண்டு கான்கீரிட் உருவமைப்பை வரையறுக்கும் பகுதி என இரு பிரிவுகளை கொண்டிருக்கும்.
இந்த நுட்பத்தை புரிந்து கொள்வதற்கு , விகித முறு எண்களை கையாளும் சில செயற்கூறுகளுடன்
வடிவமைக்கப்பட்ட எடுத்துக்காட்டை காணலாம்.
எடுத்துக்காட்டு:
விகிதமுறு எண்கள் முழு எண்களின் விகிதமாகும். அவை மெய் எண்களின்
முக்கிய துணை வர்க்கமாக அமைகிறது. 8/3 அல்லது 19/23 போன்ற விகித முறு எண்களை பின்வருமாறு
எழுதலாம்.
< தொகுதி >/< பகுதி >
தொகுதி மற்றும் பகுதி ஆகிய இரண்டும் முழு எண்ணின் இடம் மதிப்புகளாகும்.
இந்த இரண்டு பகுதிகளும் விகிதமுறு எண்களை சரியாக கனிப்பதற்கு பயன்படுகிறது. முழு எண்களை
வகுக்கும் போது முழு எண்ணின் துல்லியம் இழந்து தோராயமான மிதவை எண் கிடைக்கிறது.
8/3 =2.6666666666666665
எனினும், சரியான முறையில் விகித முறு எண்களை குறிப்பதற்கு தொகுதி,
பகுதி ஆகிய இரண்டையும் இணைந்து கொடுக்க வேண்டும்.
செயற்கூறு கருத்துக்களைக் கொண்டு, நிரலின் சில பகுதிகளை செயல்படுத்துவதற்கு
முன்னதாக நாம் ஒரு நிரலின் செயல்திறனை மேம்படுத்திக் கொள்ள முடியும். நாம், ஒரு விகிதமுறு
என்ணை, தொகுதி மற்றும் பகுதி கொண்டு அமைக்க முடியும் என்ற கருதிக்கொள்வோம். அதே போன்று,
கொடுக்கப்பட்ட விகிதமுறு எண்ணிற்கு நாம் தொகுதி மற்றும் பகுதியை தேர்ந்தெடுக்க முடியும்.
மேலும் கண்ஸ்ட ரக்டர் மற்றும் செலக்டர்ஸ் கொண்டும் நிறைவேற்றலாம்.
இதில் விஸ்புல் திங்கிங் என்ற சக்தி வாய்ந்த செயல் யுக்தியை
பயன்படுத்தி நிரல் வடிவமைக்கப்படுகின்றது. நாம் இதுவரை, ஒரு விகிதமுறு எண் எவ்வாறு
அமைக்க வேண்டும் என்றோ அல்லது ஒரு கண்ஸ்டரக்டர் மற்றும் செலக்டர் எவ்வாறு செயல்படுத்தப்படுகின்றது
என்று நாம் பார்க்கவில்லை.
குறிப்பு
விஸ்புல்
திங்கிங் என்பது யதார்த்தத் திற்கு பதிலாக நம்பிக்கையின் அடிப்படையில் விருப்பதற்கு
ஏற்ப முடிவெடுப்பதாகும்.
எடுத்துக்காட்டு:-
விகிதமுறு எண்ணின் ADT
- - constructor
-- constructs a rational number with
numerator n, denominator d
rational(n, d)
- - selector
numer(x) –> returns the numerator of rational number x
denom(y) –> returns the denominator of rational number y
இப்பொழுது, விகிதமுறு எண்களின் செயல்பாடுகள் செலக்டார் செயற்கூறுகள்
நியூமர் மற்றும் மீனாம் கொண்டும் மற்றும் கண்ஸ்டரக்டர் செயற்கூறு ரேஸனல் கொண்டும் வரையறுக்கப்படுகிறது.
ஆனால் இச்செயற்கூறுகள் வரையறுக்கப்படவில்லை. நமது தேவை என்னவென்றால், தொகுதி மற்றும்
பகுதியை இணைத்து கூட்டு மதிப்பை உருவாக்கும் வழிமுறையாகும்.
மேலே காணும் கண்ஸ்டரக்டர்ஸ் மற்றும் செலக்டர்ஸ் கொண்டு விகிதமுறு
எண்களை உருவமைக்கும் போலிக் குறிமுறை
x,y:=8,3
rational(x,y)
numer(x)/denum(y)
- - output : 2.6666666666666665