திங்கள், 30 டிசம்பர், 2024

தொல்காப்பியம் - நூன்மரபு (பைத்தான்வழி உரை-3) Tholkaappiyam - Nunmarabu (Python Text-3)

அறிமுகம்

முந்தைய இலக்கணம்-காலாண்டுச் சஞ்சிகை பூ 2 இதழ் 2, 3-களில் தொல்காப்பியம் அறிமுகம், பைத்தான் அறிமுகம், பைத்தான் நிரல் எழுதும் முறை, தொல்காப்பிய நூற்பாவைப் பைத்தான் நிரலாக மாற்றும் முறைமைகளை அறிந்தோம். அவை தொல்காப்பிய நூன்மரபு முதல் ஏழு நூற்பாக்களுக்கு பைத்தான் நிரலாக்கமுறையில் விளக்கம் தரப்பெற்றதாகவும் பைத்தான் நிரல் உருவாக்கும் வழிமுறைககளை விளகுவதாகவும் அமைந்தன. அதன் தொடர்ச்சியாகத் தொல்காப்பிய நூற்பா 8-ற்கு ஆணைத்தொடர் (Algorithm) உருவாக்கிப் பைத்தான் நிரல் எழுதும் வழிமுறையை  இக்கட்டுரை இயம்புகின்றது. 

உயிர் எழுத்தினை நிரலாக எழுதும் முயற்சி

முந்தைய வகுப்பில் கற்ற முக்கியக் குறிப்புகளை மட்டும் இங்கு மீண்டும் நினைவுபடுத்திப் பார்ப்போமா? சரி ஐயா…

input - இது பயனரிடமிருந்து தரவைப் பெறுவதற்குப் பயன்படுகின்றது.

if - ஒன்றை ஆய்வுசெய்ய பயன்படுகின்றது.

in - பயனர் தரக்கூடிய குறிப்பு, ஏற்கனவே உள்ள பட்டியலில் உள்ளதா எனக் கண்டறிய உதவுகின்றது.

elif - if என்பதில் தரப்பெற்ற குறிப்புத் தவறு என்றால் இன்னொரு மாறியில் உள்ள பட்டியலைச் சரிபார்த்துப் பயனர் தந்த குறிப்புச் சரியானதா என உறுதிப்படுத்த இது பயன்படும்.

else - if, elif ஆய்விற்குப் பின்பு பயனர் தந்த குறிப்புத் தவறு என்றால். இந்தக் குறிச்சொல்மூலம் அதனைத் தெரிவிக்க உதவுகின்றது.

இவற்றை எல்லாம் ஒருமுறை  நினைவுப்படுத்திப் பார்த்துக் கொண்டேன் ஐயா. மிக்க மகிழ்ச்சி. அதனை வைத்தே  இனிவரும் நூற்பா 8-ற்கும் நிரல் எழுதிப் பழகலாம். அந்த நூற்பா வருமாறு:-

ஔகார இறுவாய்ப்

பன்னீர் எழுத்தும் உயிர் என மொழிப. ⁠ ⁠(நூற்பா 8)

இந்த நூற்பாவில் சொல்லப்பெற்ற கருத்தியலுக்கு எந்தெந்த தன்மைகளில் விளக்கலாமென ஒரு வரைவை உருவாக்க வேண்டும். அதாவது ஒரு குழந்தைக்குக் கற்றுக் கொடுப்பதுபோல் அதனை எடுத்துச் சொல்ல வேண்டும். அதற்கு நாம் முதலில் ஆணைத்தொடர் (Algorithm) எழுதும் பழக்கத்தை ஏற்படுத்திக்கொள்ள வேண்டும். ஆணைத்தொடர் என்றால் என்ன ஐயா. கொஞ்சம் விளக்குங்கள். சரி. அதனை முதலில் பார்ப்போம். இதனை ஆங்கிலத்தில் அல்காரிதம் என்பர். இதற்குப் படிமுமுறை, படிமுறைத் தீர்வு, படிநிலை, செய்நெறி, இடங்காட்டிப் படிமுறை, நெறிமுறைப்பாங்கு, கணிப்பு நெறியெனப் பலமுறைகளில் இணைய அகராதிகள் விளக்கம் தருகின்றன. சுருக்கமாகப் புரிந்துகொள்வது என்றால் நம்மிடம் ஒரு சிக்கல் உள்ளது என்றால் அதனைத் தீர்ப்பதற்குப் பல நிலைகளில் சிந்தித்து அதற்கான தீர்வை அடைவதற்கு ஒரு படிநிலையை வகுத்துக் கொள்வோம் அல்லவா? அதனைத்தான் ஆணைத்தொடர் என்கின்றனர். இதை இப்படிப் புரிந்துகொள்க அன்ப!. நீ மாமரத்திற்கு அடியில் நிற்கின்றாய் என்று வைத்துக்கொள்வோம். அந்த மரத்தில் கனி ஒன்று எட்டாத தூரத்தில் உள்ளது. அதனைப் பறிக்க வேண்டும். எப்படிப் பறிப்பது? நம்மால் பறிக்க முடியுமா? மரம் பெரியதாக உள்ளதே? இதில் ஏறிப் பறிக்க முடியுமா? எனப் பலவாறு கருதுவாய் அல்லவா அதுதான் சிக்கல். அந்தச் சிக்கலிற்கு உடனே ஒரு தீர்வினைக் கண்டிருப்பாய் அல்லவா? ஏறித்தான் பறிக்கப் போகின்றாய் என்றால் அடியிலிருந்து அந்தக் கனி தொங்கிக் கொண்டிருக்கும் கிளைவரைக்கும் ஏறவேண்டிய படிநிலைகளை உன் மூளை ஒரு வரைபடமாகப் படிமுறைகளாக வகுத்துத் தந்திருக்கும்  அல்லவா? அதே ஒரு குழந்தைக்கு என்ன சொல்வோம். இந்தப் பகுதியிலிருந்து இப்படித்தான் ஏறி அந்தப் பழத்தைப் பறிக்க வேண்டும் என்று சொல்லித் தருவோம் அல்லவா. அப்படிக் கணினிக்கும் கற்றுத்தரும் முறைக்குப் பெயர்தான் ஆணைத்தொடர் என்பதாகும்.

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

ஆணைத்தொடர்களின் பயன்பாடு 

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

படிநிலை - 1:- முதலில் தமிழ்மொழியைக் கணினி முறைக்குப் புரியும் வகையில் எழுத வேண்டும் என்றால், முதலில் அதற்குரிய ஓபன் தமிழ் அகராதியை நிறுவ வேண்டும்.

!pip install Open - Tamil

படிநிலை - 2:- நிறுவிய பின்பு ஓபன் தமிழ் அகராதியை உள்ளே வருவிக்க வேண்டும்.

import tamil

படிநிலை - 3:- அடுத்து நூற்பாவில் சொல்லப்பெற்ற உயிர் எழுத்துக்களைப் பட்டியலாக உருவாக்க  'உயிர்_எழுத்து' எனும் மாறி உருவாக்க வேண்டும்.

உயிர்_எழுத்து = ['அ', ஆ''இ', 'ஈ', 'உ', 'ஊ', 'எ', 'ஏ', 'ஐ', 'ஒ', 'ஓ', 'ஔ']

படிநிலை - 4:- அதனை விளைவாகக் காட்டுகின்றதா என எழுதி ஆய்வுசெய்ய வேண்டும்.

print (உயிர்_எழுத்து)

படிநிலை - 5:- ஏற்கனவே உயிர் எழுத்தின் குறில், நெடில்  எழுத்துக்கள்குறித்து அறிந்தமையால் அவற்றையும் பட்டியல்களாகத் தனித்தனி மாறிகளில் 'உயிர்_குற்றெழுத்து', 'உயிர்_நெட்டெழுத்து' என எழுதிக்கொள்ள வேண்டும்.

உயிர்_குற்றெழுத்து = ['அ', 'இ', 'உ', 'எ', 'ஒ']

உயிர்_நெட்டெழுத்து = ['ஆ', 'ஈ', 'ஊ', 'ஏ', 'ஐ', 'ஓ', 'ஔ']

படிநிலை - 6:- இவற்றை எல்லாம் ஆய்வுசெய்து பார்க்க ஒரு எழுத்தைப் பெறும் input எனும் குறியீட்டுச் சொல் தந்து, 'எழுத்தறிதல்' எனும் மாறியில் எழுத வேண்டும்.

எழுத்தறிதல் = input("எழுத்தைக் கண்டறிய ஒரு எழுத்தைத் தருக: ")

படிநிலை - 7:- அதன்பிறகு if எனும் கட்டளையில் எழுதி ஆய்வுசெய்ய வேண்டும்.

if  எழுத்தறிதல் in உயிர்_குற்றெழுத்து:

படிநிலை - 8:- எழுத்தறிதல் எனும் மாறியில் வாங்கிய எழுத்து உயிர்_குற்றெழுத்தாக இருந்தால் பின்வருமாறு விளைவினைத் தருவதாக எழுத வேண்டும்.

 print ("சரி. இது உயிர் குறில் எழுத்தே. பாராட்டு…")

படிநிலை - 9:- அந்த எழுத்து இல்லை என்றால் அதன்பிறகு elif எனும் கட்டளையில் எழுதி ஆய்வுசெய்ய வேண்டும்.

elif எழுத்தறிதல் in உயிர்_நெட்டெழுத்து:

படிநிலை - 10:- அந்த எழுத்து இல்லை என்றால் எழுத்தறிதல் எனும் மாறியில் வாங்கிய எழுத்து உயிர்_நெட்டெழுத்தாக இருந்தால் பின்வருமாறு விளைவினைத் தருவதாக  எழுத வேண்டும்.

 print ("சரி. இது உயிர் நெடில் எழுத்தே. பாராட்டு…")

படிநிலை - 11:- மேற்கூறிய எழுத்து எதுவுமே இல்லை என்றால் அதன்பிறகு else எனும் கட்டளையில் எழுதி ஆய்வுசெய்ய பின்வருமாறு விளைவினைத் தருவதாக  எழுத வேண்டும்.

else:

   print ("நீங்கள் எழுதிய எழுத்து உயிர் குறிலும் இல்லை; நெடிலும் இல்லை. மீண்டும் முயற்சிக்கவும்…")

இவ்வாறு ஆணைத்தொடர்களின் அடிப்படையில் எழுதிய அந்த நூற்பாவிற்குரிய நிரல் பின்வருமாறு முழுமையாக அமையும்.

!pip install Open - Tamil

import tamil

உயிர்_எழுத்து = ['அ', ஆ''இ', 'ஈ', 'உ', 'ஊ', 'எ', 'ஏ', 'ஐ', 'ஒ', 'ஓ', 'ஔ']

print (உயிர்_எழுத்து)

உயிர்_குற்றெழுத்து = ['அ', 'இ', 'உ', 'எ', 'ஒ']

உயிர்_நெட்டெழுத்து = ['ஆ', 'ஈ', 'ஊ', 'ஏ', 'ஐ', 'ஓ', 'ஔ']

எழுத்தறிதல் = input("எழுத்தைக் கண்டறிய ஒரு எழுத்தைத் தருக: ")

if  எழுத்தறிதல் in உயிர்_குற்றெழுத்து:

 print ("சரி. இது உயிர் குறில் எழுத்தே. பாராட்டு…")

elif எழுத்தறிதல் in உயிர்_நெட்டெழுத்து:

  print ("சரி. இது உயிர் நெடில் எழுத்தே. பாராட்டு…")

else:

   print ("நீங்கள் எழுதிய எழுத்து உயிர் குறிலும் இல்லை; நெடிலும் இல்லை. மீண்டும் முயற்சிக்கவும்…")

சரி அன்ப! இந்த வகுப்பை இத்துடன் முடித்துக் கொள்வோமா. பிற குறிப்புகளை அடுத்துவரும் பாடவேளையில் அறிந்துகொள்வோமா? சரி ஐயா. மிக்க நன்றி!

முடிவுரை

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

துணைநின்றவை

  1. முனைவர் அ.வினோத், கோ.பூவேந்திரன், முனைவர் சத்தியராஜ் தங்கச்சாமி (2023, அக்டோபர் 15, 16). தொல்காப்பியக் குறுஞ்செயலி உருவாக்கம், தொழில்நுட்ப மாநாடு, குமரகுரு தொழில்நுட்பக் கல்லூரி, கோயமுத்தூர்.

  2. 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.

  3. தெய்வசுந்தரம் ந., மொழியியலும் கணினிமொழியியலும் (தொகுதி இரண்டு), அமுத நிலையம், சென்னை. (2021)

  4. 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 

  5. https://pypi.org/project/Open-Tamil/

  6. Tholkaappiyar_Nuunmarapu, https://github.com/neyakkoot/Tholkaappiyar_Nuunmarapu 

  7. பைத்தான்– https://ta.wikipedia.org/s/112 

  8. https://kaniyam.com/category/let-us-learn-learn-python/

  9. தொல்காப்பியம்/எழுத்ததிகாரம்/நூல் மரபு https://ta.wikisource.org/s/238

  10. சத்தியராஜ் தங்கச்சாமி (2024). தொல்காப்பியம் - நூன்மரபு (பைத்தான்வழி உரை-1) (Tholkaappiyam - Nunmarabu (Python Text-1)), இலக்கணம்-காலாண்டுச் சஞ்சிகை - 6, பூ 2 இதழ் 2, இலங்கை. ISSN: 2961-5712

  11. சத்தியராஜ் தங்கச்சாமி (2024). தொல்காப்பியம் - நூன்மரபு (பைத்தான்வழி உரை-2) (Tholkaappiyam - Nunmarabu (Python Text-2)), இலக்கணம்-காலாண்டுச் சஞ்சிகை - 7, பூ 2 இதழ் 3, இலங்கை, ISSN: 2961-5712

சத்தியராஜ் தங்கச்சாமி

தமிழ் உதவிப்பேராசிரியர் & விக்கிமீடியர், 

ஸ்ரீ கிருஷ்ணா ஆதித்யா கலை மற்றும் அறிவியல் கல்லூரி, கோயம்புத்தூர் – 641042.

கருத்துகள் இல்லை:

கருத்துரையிடுக

உங்கள் கருத்துகள் வரவேற்கப்படுகின்றன