வாரம் 3: தொல்காப்பியம் - நூன்மரபு (பைத்தான்வழி உரை-3)
முனைவர் சத்தியராஜ் தங்கச்சாமி
தமிழ் உதவிப்பேராசிரியர் & விக்கிமீடியர்,
ஸ்ரீ கிருஷ்ணா ஆதித்யா கலை மற்றும் அறிவியல் கல்லூரி, கோயம்புத்தூர் – 641042.
முந்தைய வகுப்பில் தொல்காப்பியம் அறிமுகம், பைத்தான் அறிமுகம், பைத்தான் நிரல் எழுதும் முறை, தொல்காப்பிய நூற்பாவைப் பைத்தான் நிரலாக மாற்றும் முறைமைகளை அறிந்தோம். அவை தொல்காப்பிய நூன்மரபு முதல் ஏழு நூற்பாக்களுக்குப் பைத்தான் நிரலாக்கமுறையில் விளக்கம் தரப்பெற்றதாகவும் பைத்தான் நிரல் உருவாக்கும் வழிமுறைகளை விளக்குவதாகவும் அமைந்தன. அதன் தொடர்ச்சியாகத் தொல்காப்பிய நூற்பா 8-ற்கு ஆணைத்தொடர் (Algorithm) உருவாக்கிப் பைத்தான் நிரல் எழுதும் வழிமுறையை இப்பாடம் இயம்புகின்றது.
- input - இது பயனரிடமிருந்து தரவைப் பெறுவதற்குப் பயன்படுகின்றது.
- if - ஒன்றை ஆய்வுசெய்ய பயன்படுகின்றது.
- in - பயனர் தரக்கூடிய குறிப்பு, ஏற்கனவே உள்ள பட்டியலில் உள்ளதா எனக் கண்டறிய உதவுகின்றது.
- elif - if என்பதில் தரப்பெற்ற குறிப்புத் தவறு என்றால் இன்னொரு மாறியில் உள்ள பட்டியலைச் சரிபார்த்துப் பயனர் தந்த குறிப்புச் சரியானதா என உறுதிப்படுத்த இது பயன்படும்.
- else - if, elif ஆய்விற்குப் பின்பு பயனர் தந்த குறிப்புத் தவறு என்றால். இந்தக் குறிச்சொல்மூலம் அதனைத் தெரிவிக்க உதவுகின்றது.
மிக்க மகிழ்ச்சி. அதனை வைத்தே இனிவரும் நூற்பா 8-ற்கும் நிரல் எழுதிப் பழகலாம்.
பன்னீர் எழுத்தும் உயிர் என மொழிப. (நூற்பா 8)
இந்த நூற்பாவில் சொல்லப்பெற்ற கருத்தியலுக்கு எந்தெந்த தன்மைகளில் விளக்கலாமென ஒரு வரைவை உருவாக்க வேண்டும். அதாவது ஒரு குழந்தைக்குக் கற்றுக் கொடுப்பதுபோல் அதனை எடுத்துச் சொல்ல வேண்டும். அதற்கு நாம் முதலில் ஆணைத்தொடர் (Algorithm) எழுதும் பழக்கத்தை ஏற்படுத்திக்கொள்ள வேண்டும்.
சரி. அதனை முதலில் பார்ப்போம். இதனை ஆங்கிலத்தில் அல்காரிதம் என்பர். இதற்குப் படிமுமுறை, படிமுறைத் தீர்வு, படிநிலை, செய்நெறி, இடங்காட்டிப் படிமுறை, நெறிமுறைப்பாங்கு, கணிப்பு நெறியெனப் பலமுறைகளில் இணைய அகராதிகள் விளக்கம் தருகின்றன. சுருக்கமாகப் புரிந்துகொள்வது என்றால் நம்மிடம் ஒரு சிக்கல் உள்ளது என்றால் அதனைத் தீர்ப்பதற்குப் பல நிலைகளில் சிந்தித்து அதற்கான தீர்வை அடைவதற்கு ஒரு படிநிலையை வகுத்துக் கொள்வோம் அல்லவா? அதனைத்தான் ஆணைத்தொடர் என்கின்றனர்.
எடுத்துக்காட்டு: நீ மாமரத்திற்கு அடியில் நிற்கின்றாய் என்று வைத்துக்கொள்வோம். அந்த மரத்தில் கனி ஒன்று எட்டாத தூரத்தில் உள்ளது. அதனைப் பறிக்க வேண்டும். எப்படிப் பறிப்பது? நம்மால் பறிக்க முடியுமா? மரம் பெரியதாக உள்ளதே? இதில் ஏறிப் பறிக்க முடியுமா? எனப் பலவாறு கருதுவாய் அல்லவா அதுதான் சிக்கல். அந்தச் சிக்கலிற்கு உடனே ஒரு தீர்வினைக் கண்டிருப்பாய் அல்லவா? ஏறித்தான் பறிக்கப் போகின்றாய் என்றால் அடியிலிருந்து அந்தக் கனி தொங்கிக் கொண்டிருக்கும் கிளைவரைக்கும் ஏறவேண்டிய படிநிலைகளை உன் மூளை ஒரு வரைபடமாகப் படிமுறைகளாக வகுத்துத் தந்திருக்கும் அல்லவா? அதே ஒரு குழந்தைக்கு என்ன சொல்வோம். இந்தப் பகுதியிலிருந்து இப்படித்தான் ஏறி அந்தப் பழத்தைப் பறிக்க வேண்டும் என்று சொல்லித் தருவோம் அல்லவா. அப்படிக் கணினிக்கும் கற்றுத்தரும் முறைக்குப் பெயர்தான் ஆணைத்தொடர் என்பதாகும்.
அது பயிற்சி செய்யச்செய்ய தானாகப் புரிய ஆரம்பித்துவிடும். எனவே, அவற்றின் பயன்பாட்டை முதலில் தெரிந்து கொள்வாய் அன்ப!
ஆணைத்தொடர்கள் பல்வேறு துறைகளில் முக்கிய பங்கு வகிக்கின்றன. இது பல பயன்பாடுகளைக் கொண்டுள்ளன.
- கணினி அறிவியல்: கணினி நிரலாக்கத்தின் அடிப்படையை இது உருவாக்குகின்றது. மேலும் அவை எளிய வரிசைப்படுத்துதல், தேடுதல் முதல் செய்யறிவு, இயந்திரக் கற்றல் போன்ற சிக்கலான பணிகள் வரையிலான சிக்கல்களைத் தீர்க்கப் பயன்படுகின்றன.
- கணிதத் துறை: நேரியல் சமன்பாடுகளின் அமைப்புக்கு ஏற்றத் தீர்வைக் கண்டறிதல், வரைபடத்தில் குறுகிய பாதையைக் கண்டறிதல் போன்ற கணிதச் சிக்கல்களைத் தீர்க்கப் பயன்படுத்தப்படுகின்றன.
- போக்குவரத்து, தளவாடங்கள்: வள ஒதுக்கீடு போன்ற துறைகளில் மேம்படுத்தவும் முடிவுகளை எடுக்கவும் பயன்படுத்தப்படுகின்றன.
- செய்யறிவுத் துறை: இயந்திரக் கற்றலின் துறையில் இது அடித்தளமாகும். மேலும் அவை படத்தை அறிதல், இயற்கை மொழிச் செயலாக்கம், முடிவெடுத்தல் போன்ற பணிகளைச் செய்யக்கூடிய அறிவார்ந்த அமைப்புகளை உருவாக்கப் பயன்படுகின்றன.
- தரவு அறிவியல்: சந்தைப்படுத்தல், நிதி, சுகாதாரம் போன்ற துறைகளில் உள்ள பெரிய அளவிலான தரவுகளிலிருந்து நுண்ணறிவுகளைப் பகுப்பாய்வு செய்யவும், செயலாக்கவும், பிரித்தெடுக்கவும் பயன்படுத்தப்படுகின்றன.
இவ்வாறு பயன்படும் இதனை இலக்கணங்களைக் கணினிப்படுத்தம் செய்யவும் பயன்படுத்திக் கொள்ளலாம். ஆகையால் நாமும் அவ்வாறே சிந்தித்து இனி நிரல் எழுதிப் பழகுவோமா?
அதில் கூறப்பட்டுள்ள செய்திகள் என்ன? ஔ எனும் எழுத்துவரை பன்னிரண்டு எழுத்துக்கள் உள்ளன. அவை உயிர் எழுத்துக்கள் என்று தொல்காப்பியர் கூறுகின்றார். அப்படி என்றால் பின்வருமாறு படிநிலை ஆணைத் தொடர்கள் எழுத வேண்டும்.
!pip install Open-Tamil
import tamil
உயிர்_எழுத்து = ['அ', 'ஆ', 'இ', 'ஈ', 'உ', 'ஊ', 'எ', 'ஏ', 'ஐ', 'ஒ', 'ஓ', 'ஔ']
print(உயிர்_எழுத்து)
உயிர்_குற்றெழுத்து = ['அ', 'இ', 'உ', 'எ', 'ஒ']உயிர்_நெட்டெழுத்து = ['ஆ', 'ஈ', 'ஊ', 'ஏ', 'ஐ', 'ஓ', 'ஔ']
எழுத்தறிதல் = input("எழுத்தைக் கண்டறிய ஒரு எழுத்தைத் தருக: ")
if எழுத்தறிதல் in உயிர்_குற்றெழுத்து:
print("சரி. இது உயிர் குறில் எழுத்தே. பாராட்டு…")
elif எழுத்தறிதல் in உயிர்_நெட்டெழுத்து:
print("சரி. இது உயிர் நெடில் எழுத்தே. பாராட்டு…")
else:
print("நீங்கள் எழுதிய எழுத்து உயிர் குறிலும் இல்லை; நெடிலும் இல்லை. மீண்டும் முயற்சிக்கவும்…")
இவ்வாறு ஆணைத்தொடர்களின் அடிப்படையில் எழுதிய அந்த நூற்பாவிற்குரிய நிரல் பின்வருமாறு முழுமையாக அமையும்.
import tamil
உயிர்_எழுத்து = ['அ', 'ஆ', 'இ', 'ஈ', 'உ', 'ஊ', 'எ', 'ஏ', 'ஐ', 'ஒ', 'ஓ', 'ஔ']
print(உயிர்_எழுத்து)
உயிர்_குற்றெழுத்து = ['அ', 'இ', 'உ', 'எ', 'ஒ']
உயிர்_நெட்டெழுத்து = ['ஆ', 'ஈ', 'ஊ', 'ஏ', 'ஐ', 'ஓ', 'ஔ']
எழுத்தறிதல் = input("எழுத்தைக் கண்டறிய ஒரு எழுத்தைத் தருக: ")
if எழுத்தறிதல் in உயிர்_குற்றெழுத்து:
print("சரி. இது உயிர் குறில் எழுத்தே. பாராட்டு…")
elif எழுத்தறிதல் in உயிர்_நெட்டெழுத்து:
print("சரி. இது உயிர் நெடில் எழுத்தே. பாராட்டு…")
else:
print("நீங்கள் எழுதிய எழுத்து உயிர் குறிலும் இல்லை; நெடிலும் இல்லை. மீண்டும் முயற்சிக்கவும்…")
['அ', 'ஆ', 'இ', 'ஈ', 'உ', 'ஊ', 'எ', 'ஏ', 'ஐ', 'ஒ', 'ஓ', 'ஔ']
எழுத்தைக் கண்டறிய ஒரு எழுத்தைத் தருக: அ
சரி. இது உயிர் குறில் எழுத்தே. பாராட்டு…
இதுவரை விளக்கப்பெற்ற கருத்துக்களின் அடிப்படையில் தொல்காப்பியம் பைத்தான் நிரலாக்கமாக எழுத ஆணைத்தொடர் என்பது மிக அடிப்படை என்பதைப் புரிந்துகொள்ளப்பெற்றது. ஆணைத்தொடராக எழுதும்பொழுது நிரல் எழுதுவது என்பது மிக எளிய செயல்பாடு என்பதை அறிந்து கொண்டிருப்போம் அல்லவா. இனி, இதன் தொடர்ச்சியை வகுப்பில் அறிவோம்.
முனைவர் அ.வினோத், கோ.பூவேந்திரன், முனைவர் சத்தியராஜ் தங்கச்சாமி (2023, அக்டோபர் 15, 16). தொல்காப்பியக் குறுஞ்செயலி உருவாக்கம், தொழில்நுட்ப மாநாடு, குமரகுரு தொழில்நுட்பக் கல்லூரி, கோயமுத்தூர்.
Vinoth, A., Thangasamy, S., Nithya, R., Poovandran, G., Mounash, V., Subalalitha, C. N., ... & Jafer, K. S. (2023, December). Automatic Identification of Meimayakkam in Tamil Words Using Rule-Based and Transfer Learning Approaches. In International Conference on Speech and Language Technologies for Low-resource Languages (pp. 443-458). Cham: Springer Nature Switzerland.
தெய்வசுந்தரம் ந., மொழியியலும் கணினிமொழியியலும் (தொகுதி இரண்டு), அமுத நிலையம், சென்னை. (2021)
Thangasamy, S., A, V., A, J. P. B., S, S., S, S. S., & Rathinavel, L. (2024). பைத்தான் தானியக்கம்வழி விக்கிமூல மேலடி - கீழடி மேம்பாடு : Python-based Automation for Header-footer Improvement in Wikisource. PULAM: INTERNATIONAL JOURNAL OF TAMILOLOGY STUDIES, 37–46. https://doi.org/10.5281/zenodo.10991314
https://pypi.org/project/Open-Tamil/
Tholkaappiyar_Nuunmarapu, https://github.com/neyakkoot/Tholkaappiyar_Nuunmarapu
பைத்தான்– https://ta.wikipedia.org/s/112
https://kaniyam.com/category/let-us-learn-learn-python/
தொல்காப்பியம்/எழுத்ததிகாரம்/நூல் மரபு https://ta.wikisource.org/s/238
சத்தியராஜ் தங்கச்சாமி (2024). தொல்காப்பியம் - நூன்மரபு (பைத்தான்வழி உரை-1) (Tholkaappiyam - Nunmarabu (Python Text-1)), இலக்கணம்-காலாண்டுச் சஞ்சிகை - 6, பூ 2 இதழ் 2, இலங்கை. ISSN: 2961-5712
சத்தியராஜ் தங்கச்சாமி (2024). தொல்காப்பியம் - நூன்மரபு (பைத்தான்வழி உரை-2) (Tholkaappiyam - Nunmarabu (Python Text-2)), இலக்கணம்-காலாண்டுச் சஞ்சிகை - 7, பூ 2 இதழ் 3, இலங்கை, ISSN: 2961-5712
வாரம் 3 - தொல்காப்பியம் நூன்மரபு & ஆணைத்தொடர் (Algorithm) நிறைவு
உயிர் எழுத்துக்கள் - பன்னிரண்டும் பைத்தானில்
கருத்துகள் இல்லை:
கருத்துரையிடுக
உங்கள் கருத்துகள் வரவேற்கப்படுகின்றன