பிரித்தல் மற்றும் ஒருங்கிணைத்தல்
கற்றலின் நோக்கங்கள்
இப்பாடத்தை கற்றறிந்த பிறகு மாணவர்கள் அறிந்துக் கொள்வது.
1. நெறிமுறைகளில் பயன்படுத்தப்படும் குறியீட்டு முறைகளை தெரிந்து கொள்ளுதல்.
2. நெறிமுறையில் பிரித்தல் மற்றும் ஒருங்கிணைத்தல் நுட்பங்களை தெரிந்து கொள்ளுதல்.
பாடம் 6ல், நெறிமுறை என்பது, ஒருங்கிணைக்கப்பட்ட கூற்றுகள் என பார்த்தோம். கூற்றுகள், ஒன்றிணைக்கப்பட்ட குழுவாகப்படும்போது ஒரு படிநிலை நெறிமுறை அமைப்பை (hierarchical structure of algorithms) தோற்றுவிக்கிறது. பிரித்தல் என்பது சிக்கல் தீர்க்கும் ஒரு அடிப்படை நுட்பமாகும். ஒரு சிக்கலை தீர்க்கும் உயர்நிலை தகவல்களை மட்டும் வெளிப்படுத்தும் கூற்றுகளை உள்ளடக்கியதாக ஒரு நெறிமுறையானது, பலபாகங்களாக பிரிக்கப்படலாம். பின்னர், அதன் ஒவ்வொரு சிறிய பகுதியும், மேலும் நுண்ணிய தகவல்களைக் கொண்ட சிறு பகுதியாக பிரிக்கப்படும் (அல்லது) ஒவ்வொரு சிறிய பகுதியும், சிக்கலை தீர்க்கும் வழிமுறைகளை உள்ளடக்கிய செயற்கூறாக (Function) உருவாக்கப்படலாம்.
நெறிமுறை குறியீட்டு முறைகள்
நெறிமுறைகளை குறிப்பிட சில குறியீட்டு முறைகள் தேவைப்படுகின்றது. ஒரு நெறிமுறையை குறிப்பிட மூன்று முதன்மை குறியீட்டு முறைகள் உள்ளது. அவை,
1. நிரலாக்க மொழி (Programming Language)
2. போலிக் குறிமுறை (Pseudo code)
3. பாய்வுப் படம் (Flowchart)
(1) நிரலாக்க மொழி (Programming Language)
நிரலாக்க மொழி என்பது, ஒரு நெறிமுறையை கணிப்பொறியில் இயக்கி சிக்கலைத் தீர்க்கும் ஒரு குறியீட்டு முறையாகும்.
(2) போலிக் குறிமுறை (Pseudo code)
போலிக் குறிமுறை, நிரலாக்க மொழிக்கு நிகரானதாகும். போலிக் குறிமுறையாக குறிப்பிடப்படும் நெறிமுறைகளை கணிப்பொறிகளில் இயக்க முடியாது. ஆனால், நெறிமுறையை படிப்பவர், சிக்கலுக்கான தீர்வு வழிமுறையை புரிந்துகொள்ள இது பயன்படுகிறது.
(3) பாய்வுப்படம் (Flowchart)
பாய்வுப்படம் என்பது, நெறிமுறைகளை படவடிவில் குறிப்பிடும் ஒரு வழிமுறை ஆகும். ஒரு நெறிமுறை செயல்படுத்தும் போது, கட்டுப்பாட்டு பாய்வை (Control Flow) படவடிவில் காட்சிப்படுத்த இது பயன்படுகிறது.
1. நிரலாக்க மொழி
நிரலாக்க மொழி என்பது, நெறிமுறையை குறிப்பிடப் பயன்படும் ஒரு குறியீட்டு முறையாகும். இதனை கணிப்பொறி செயலாக்கம் செய்து, சிக்கல்களுக்கு தீர்வை தருகின்றது. நிரலாக்க மொழியில் குறிப்பிடப்படும் நெறிமுறை "நிரல்" (Program) என்று அழைக்கப்படுகிறது. C, C++ மற்றும் பைத்தான் (Python) போன்றவை நிரலாக்க மொழிக்கு சில எடுத்துக்காட்டுகளாகும்.
நிரலாக்க மொழிகள், சிக்கலை தீர்ப்பதற்கான முறையான வழிமுறைகளில் ஒன்றாகும். நிரல்கள், நிரலாக்க மொழியின் கட்டளை அமைப்பு (Syntax) முறைகளை கட்டாயமாக பின்பற்ற வேண்டும். நிரலாக மொழியில், புள்ளி, அரைப்புள்ளி போன்ற சிறு நிறுத்தற் குறிகளும் முக்கியத்துவம் பெற்றவை இயற்கை மொழிகளான தமிழ் அல்லது ஆங்கிலம் போன்ற முறைசாரா அமைப்பை, கணிப்பொறி நிரலாக்க மொழிகள் அனுமதிப்பதில்லை. நிரல் பெயர்ப்பிகள், நிரல்களை கணிப்பொறிகள் இயக்கும் கட்டளைகளாக, மாற்றம் செய்கின்றன.நிரல்களின் கட்டளை அமைப்பில் பிழைகள் இருப்பின், நிரல் பெயர்ப்பியால் அவற்றை மொழிமாற்றம் செய்ய முடிவதில்லை.
2. போலிக் குறிமுறை
போலிக் குறிமுறை என்பது, கணிப்பொறியில் நிரலாக்க மொழியை போன்ற கட்டமைப்பும், எளிய ஆங்கிலமும் கலந்த ஒரு குறியீட்டு முறை ஆகும். இந்த குறியீட்டு முறை ஒரு முறையானதல்ல. நிரலாக்க மொழியின் கட்டுமான தொகுதிகளான மாறிகள் (Variables), கட்டுப்பாட்டு பாய்வுகள் போன்றவற்றை போலிக் குறிமுறைகளும் பயன்படுத்திக் கொள்கின்றன ஆனால் இவை கூற்றுகள், நிபந்தனைக்களுக்காக ஆங்கில மொழியை பயன்படுத்த அனுமதிக்கின்றன போலிக் குறிமுறையாக குறிப்பிடப்படும் நெறிமுறைகளை நேரடியாக கணிப்பொறியில் இயக்க முடியாது, ஆனால், இவை படிப்பவர்கள் புரிந்துகொள்வதற்காக மட்டுமே பயன்படுத்தப்படுகிறது. எனவே, போலிக்குறிமுறைகள், நிரலாக்க மொழியின் கட்டளை அமைப்பை பின்பற்ற வேண்டிய அவசியம் இல்லை. எனினும் போலிக் குறிமுறைகள் சரியான அமைப்புடன் எழுதப்பட வேண்டும். எனினும், போலிக் குறிமுறைகள், நெறிமுறைகளை குறிப்பிடுவதற்கு பரவலாகப் பயன்படுத்தப்படும் குறியீட்டு முறையாகும்
3. பாய்வுப் படங்கள்
நெறிமுறைகளை படவடிவில் குறிப்பிடப் பயன்படும், குறியீட்டு முறை பாய்வுப்படங்கள் ஆகும். இவை, நெறிமுறையின் கட்டுப்பாட்டு பாய்வுகளை, தெளிவான காட்சிப்படமாக காட்டுவதற்கு பயன்படுகிறது. செவ்வக வடிவ பெட்டி, எளிய கூற்றுகளையும் வைர வடிவ பெட்டி, கட்டுப்பாடுகளை குறிக்கவும் மற்றும் அம்புக்குறி நெறிமுறைகள் இயங்கும் போது, கட்டுப்பாடு எவ்வாறு பாய்கிறது என்பதை விவரிக்கப் பயன்படுகிறது.
பாய்வுப்படம், கூற்றுகள் மற்றும் கட்டுப்பாடுகளை கொண்ட பெட்டிகளின் தொகுப்பு ஆகும். இது, அம்புக்குறிகளால் இணைக்கப்பட்ட பெட்டிகள் இயக்கப்படும் வரிசைமுறையை காட்டும்.
(1) வெளியேறும் ஒற்றை அம்புக்குறியுடன் தோன்றும் ஒரு செவ்வகபெட்டியிலுள்ள ஒரு கூற்று அடுத்து இயக்கப்படும் பெட்டியை குறிக்கும்.
(2) கட்டுப்பாட்டு கூற்று, இரண்டு வெளியேறும் அம்புக்குறிகளையுடைய, "True" மற்றும் “False” என்ற விவரத்துணுக்குகளை கொண்ட ஒரு வைரவடிவ பெட்டியின் உள்ளே குறிப்பிடப்பட்டுள்ளது. "True" என்று குறிக்கப்பட்ட அம்புக்குறி, கொடுக்கப்பட்ட நிபந்தனை மெய் எனில், . இயக்கப்பட வேண்டிய அடுத்த பெட்டியை குறிக்கும். "False" என்று குறிக்கப்பட்ட அம்புக்குறி, கொடுக்கப்பட்ட நிபந்தனை பொய் எனில், அடுத்து இயக்கப்பட வேண்டிய பெட்டியை குறிக்கும்.
(3) உள்ளீடு மற்றும் வெளியீடுகள், நாற்கர வடிவ பெட்டியில் குறிப்பிடப்பட்டுள்ளது
(4) Start மற்றும் End என்று குறிக்கப்பட்ட சிறப்பு பெட்டிகள், ஒரு இயக்கத்தின் தொடக்கம் மற்றும் முடிவை குறிப்பிடப் பயன்படுகிறது.
படம் 7.1ல், A என்ற ஒரு முழு எண்ணை B என்ற எண்ணால் வகுத்து, ஈவு மற்றும் மீதியை கணக்கிடும் நெறிமுறைக்கு, பாய்வுப் படம் வரைவதற்கான, உள்ளீடு வெளியீ நிபந்தனை, மதிப்பிருத்தல் மற்றும் பெட்டிகளுக்கிடையேயான பாய்வுக்கட்டுப்பாடு போன்றவற்றிற்கான பல்வேறு வடிவங்கள் கட்டப்பட்டுள்ளது.
பாய்வுப்படத்தின் குறைபாடுகள் வருமாறு:
(1) நெறிமுறைகளை, கணிப்பொறி நிரலாக்க மொழி அல்லது போலிக் குறிமுறை ஆகியவற்றில் குறிப்பிடுவதைவிட பாய்வுப்படங்கள் குறைந்த தாக்கத்தையே ஏற்படுத்துகின்றன.
(2) நெறிமுறையின் அடிப்படை படிநிலை அமைப்பு தெளிவற்றதாக இருக்கும்.
(3) தேர்ந்தெடுப்பு கூற்றுகள் (Alternative statements) மற்றும் மடக்குகள் (Loops) போன்றவை முறையாக வரையறுக்கப்பட்ட கட்டுப்பாட்டு பாய்வு அமைப்புகளாகும். பாய்வுப்படங்கள் இது போன்ற அமைப்புகளை வரைவதை கட்டுப்படுத்துவதில்லை.