கணினி அறிவியல் - அருவமாக்கம் | 11th Computer Science : Chapter 6 : Specification and Abstraction

   Posted On :  24.09.2022 07:03 pm

11வது கணினி அறிவியல் : அலகு 6 : விவரக்குறிப்பு மற்றும் அருவமாக்கம்

அருவமாக்கம்

ஒரு சிக்கலை பல விவரங்களை உள்ளடக்கியது. இவற்றில் பல விவரங்கள், அந்த சிக்கலை தீர்ப்பதில் நேரடி தொடர்பு அற்றவையாக உள்ளது.

அருவமாக்கம் (Abstraction)


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


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


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


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


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


நிலை : நெறிமுறையின் கணக்கீட்டு நிலை மாறித் தொகுதியில், அருவமாக்கப்பட்டுள்ளது.


செயற்கூறுகள் : ஒரு நெறிமுறை மிகவும் சிக்கலானதாக இருக்கும் போது, அது செயற்கூறுகளாக பிரிக்கப்படுகிறது. ஒவ்வொரு செயற்கூறும், அதன் விவரக்குறிப்பில் அருவமாக்கப்படும். 


1. நிலை


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


எடுத்துக்காட்டு 6.11. சாக்லேட் பார்: ஒரு செவ்வக வடிவிலான சாக்லேட் பார், கிடக்கை மற்றும் நெடுக்கைகிடையாக வெட்டப்பட்டு சதுரங்களாக பிரிக்கப்படுகிறது.


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


இந்த எடுத்துக்காட்டில், சிக்கலின் அவசியமான மாறிகளை அருவமாக்கலாம். இந்த சிக்கலுக்கான தீர்வு எடுத்துக்காட்டு 8.6ல் கொடுக்கப்பட்டுள்ளது.


அவசியமான மாறிகள்: இந்த சிக்கலின் அவசியமான மாறிகள், மொத்த துண்டுகள் மற்றும் மொத்த "வெட்டு" செயல்கள் ஆகும். இந்த இரண்டு மாறிகளையும், p மற்றும் c என்ற மாறிகளில் குறிப்பிடலாம். செயல்முறையின் நிலை, இந்த இரண்டு மாறிகளான p மற்றும் c ஆல் அருவமாக்கப்பட்டுள்ளது. 


அவசியமற்ற தகவல்கள்: 


1. சாக்லேட் பார்-யை பல சிறிய துண்டுகளாக வெட்டுத்தாலோ அல்லது மொத்த அஞ்சல் வில்லைகளை தனித்தனியாக வெட்டியெடுக்கும் செயலோ. அது அவசியமற்றது. ஒட்டுமொத்தமாக, சிக்கல் என்னவெனில், ஒரு பெரிய சதுரவடிவத்தை, பல சிறிய சதுரங்களாக பிரித்தல் ஆகும்.



2. எந்த வரிசையில் வெட்டப்படவேண்டும், அதன் வடிவம், அளவு போன்றவையும் அவசியமற்ற தகவல்தான். p மற்றும் c மாறிகளிலிருந்து, ஒவ்வொரு தனித்தனி துண்டுகளையும், மறுகட்டமைப்பு செய்ய முடியாது. ஆனால், அது சிக்கல் தீர்வுக்கு அவசியமற்ற தகவல் ஆகும். 


எடுத்துக்காட்டு 6.12. ஆடு, புல்லுக்கட்டு மற்றும் ஓநாய் சிக்கல் எடுத்துக்காட்டு 6.2ல் கொடுக்கப்பட்டுள்ளதை எடுத்துக்கொள்ளலாம். 


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


தொடக்க நிலையில், அனைத்து நான்கு மாறிகளான விவசாயி, ஆடு, புல்லுக்கட்டு மற்றும் ஓநாய் ஆகியவை ஒவ்வொன்றும் - மதிப்பை பெற்றிருக்கும்.


farmer, goat, grass, wolf = L, L, L, L


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


farmer, goat, grass, wolf = R, R, R, R


இந்த சிக்கலின் விவரக்குறிப்பு வருமாறு: 


cross_river

 

--inputs: farmer, goat, grass, wolf = L, L, L, L

 

--outputs: farmer, goat, grass, wolf = R, R, R, R


நிபந்தனைகளின் அடிப்படையில், 


1. ஆடும், புல்லுகட்டும் ஒன்றாய் இருக்க கூடாது.


if goat = grass then farmer = goat 


2. ஆடும், ஓநாயையும் ஒன்றாக இருக்க முடியாது


if goat = wolf then farmer = goat


2. மதிப்பிருத்து கூற்று


மாறிகள் மதிப்புகளை சேமிக்கும் பெயரிடப்பட்ட பெட்டிகளாகும். மதிப்பிருத்து கூற்று (Assignment Statement) ஒரு மாறிக்குள் ஒரு மதிப்பை சேமிக்க பயன்படுத்தப்படுகிறது. செயற்குறியின் இடது பக்கத்தில் மாறியும் வலது பக்கத்தில் அதன் மதிப்பு எழுதப்பட்டுள்ளது.


variable := value 


இந்த மதிப்பிருத்து செயல்படுத்தப்படும் போது, வலது பக்கத்தின் மதிப்பு இடது பக்கத்தில் மாறியில் சேமிக்கப்படுகிறது.


m:= 2


மாறி m - இல், மதிப்பு 2 ஐக் சேமிக்கும்.


மாறிகள் ஏற்கனவே ஏதேனும் சேமித்த மதிப்பைக் கொண்டிருப்பின், மதிப்பிருத்தல் அதன் மதிப்பை வலது பக்கத்தில் உள்ள மதிப்பிற்கு மாற்றுகிறது. மாறி அதன் பழைய மதிப்பை இழக்கிறது. 


ஒரு மதிப்பிருத்து கூற்றின் வலது பக்கம் ஒரு கோவையாக இருக்கலாம்


variable := expression


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

எடுத்துக்காட்டு


m:= m + 3 


m - மாறியின் தற்போதைய மதிப்பை பயன்படுத்தி கோவை m+3-யை மதிப்பிடுகிறது.


m + 3 


= 2 + 3


= 5 


மாறி m-யில் மதிப்பு 5-ஐ சேமிக்கிறது.



இதை v "becomes" e என்று படிக்கவேண்டும். மதிப்பிருத்தல் செயற்குறி, சமம் செயற்குறிக்கு நிகர் அல்ல... v: = e மற்றும் v = e என்பதன் பொருள் வேவ்வெறு மதிப்பிடுதல், மாறியின் கணித சமன்பாட்டை குறிக்காது. ஆனால் மாறியின் மதிப்பை மாற்றும் m: = m + 3 என்ற மதிப்பிடுதல் M மற்றும் m + 3 ஒன்றே என்பதை குறிக்காது. ஆனால் m + 3 என்ற கோவை இயக்க M-மதிப்பை மாற்றும் ஒரு மதிப்பிலிருந்து செயற்குறி மூலம் ஒரே நேரத்தில் பல மாறிகளின் மதிப்புகளை மாற்றலாம். இடது பக்கம் உள்ள மாறிகளின் எண்ணிக்கையானது வலது பக்கம் உள்ள மாறிகளின் எண்ணிக்கையோடு பொருந்தும் எடுத்துக்காட்டாக v1, v2 மற்றும் v3 என்ற மூன்று மாறிகளுக்கு மதிப்பு இருந்த விரும்பினால் e1.e2 மற்றும் e3 என்ற மூன்று கோவைகள் தேவைப்படும்.


vl, v2, v3 := el, e2 , e3


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


எடுத்துக்காட்டு 6.13. m, n மாறிகளில் மதிப்பிருத்தலுக்கு பிறகு என்ன மதிப்பு இருக்கும்? 


1.           m, n := 2 , 5

 

2.           m, n = ? , ?

 

3.           m,n:=m+3,n-1

 

4.           m, n = ? , ?


வரி 1-ல் மதிப்பிருத்தலில் m என்ற மாறியில், மதிப்பு 2 எனவும், n என்ற மாறியில் மதிப்பு 5 எனவும், சேமிக்கப்படும்.

m     n

2      5


வரி 3-இல் உள்ள மதிப்பிருத்தலை, m + 3 மற்றும் n - 1 ஆகியவற்றை மதிப்பீடு செய்ய, m மற்றும் 1 இன் தற்போதைய மதிப்புகளை பயன்படுத்துகிறது


m + 3 , n - 1

 

=2+3,5-1

 

= 5,4


5 மற்றும் 4 ஆகிய மதிப்புகளை, m, n அகிய மாறிகளில் சேமித்து வைக்கிறது.



1. m, n := 2,5

 

2. -- m, n = 2 , 5

 

3. m, n := m + 3, n - 1

 

4. -- m, n = 2 + 3, 5-1 = 5, 4


மாறிகளின் மதிப்புகள் இரண்டு மதிப்பிருத்தளுக்கு பின் வரி 2 மற்றும் 4-ல் காட்டப்பட்டுள்ளது.



எடுத்துக்காட்டு 6.14. எடுத்துக்காட்டு 6.11ல், p மற்றும் C அகிய இரண்டு மாறிகளை சுருக்கி செயல்படுத்தி காட்டப்பட்டுள்ளது.

எடுத்துக்காட்டு 6.14 எடுத்துக்காட்டு 6.11ல் P மற்றும் C மாறிகளில் செயல்பாட்டின் நிலையை அருவமாக்கியுள்ளோம். அடுத்த படிநிலை சாக்லேட் பார்வை துண்டுகளாக்கு வழிமுறையை வடிவமைக்கவேண்டும். சாக்லேட் பார்வை ஒரு முறை வெட்டும் போது துண்டுகளின் எண்ணிக்கை (P) மற்றும் வெட்டுக்களின் எண்ணிக்கை (c) யின் மதிப்புகள் 1 கூடும். இதை ஒரு மதிப்பிலிருந்து கூற்றின் நாம் வடிவமைக்கலாம்.


p, c := p + 1, c+1


p, c-யை, p+1 மற்றும், c+1 என முறையே படிக்கப்படுகிறது.



Tags : Computer Science கணினி அறிவியல்.
11th Computer Science : Chapter 6 : Specification and Abstraction : Abstraction Computer Science in Tamil : 11th Standard TN Tamil Medium School Samacheer Book Back Questions and answers, Important Question with Answer. 11வது கணினி அறிவியல் : அலகு 6 : விவரக்குறிப்பு மற்றும் அருவமாக்கம் : அருவமாக்கம் - கணினி அறிவியல் : 11 ஆம் வகுப்பு தமிழ்நாடு பள்ளி சமசீர் புத்தகம் கேள்விகள் மற்றும் பதில்கள்.
11வது கணினி அறிவியல் : அலகு 6 : விவரக்குறிப்பு மற்றும் அருவமாக்கம்