6.5
அடிப்படைக் கட்டளை அமைப்புகள் (Basic Command Structures)
கணிப்பொறியில் செயல்படுத்தப்படும்
உயர்நிலை மொழிகள் ஒவ்வொன்றும் தனக்கெனத் தனி இலக்கணத்தைக் கொண்டுள்ளன என்றபோதிலும்
அனைத்து மொழிகளும் குறிப்பிட்ட சில கட்டளை அமைப்புகளையே கொண்டுள்ளன. கணிப்பொறி
மொழிகளின் அடிப்படைக் கட்டளை அமைப்புகளைப் பொதுவாக மூன்றாக வகைப்படுத்தலாம்:
1) |
வரிசைமுறை
அமைப்பு (Sequencing) |
2) |
கிளைபிரித்தல்
(Branching) |
3) |
பன்முறைச்
செயல் (Iteration) |
ஒவ்வொரு வகைப்பிரிவிலும் உட்பிரிவுகள்
உள்ளன. ஒவ்வொரு கட்டளை அமைப்பையும் எடுத்துக்காட்டுகளோடு காண்போம்.
6.5.1
வரிசைமுறை அமைப்பு (Sequencing)
கணிப்பொறியானது, பொதுவாகக் கட்டளைகளை
ஒன்றன்பின் ஒன்றாய் வரிசையாகச் செயல்படுத்தும். இவ்வாறு அடுத்தடுத்து நிறைவேற்றப்படும்
கட்டளைகள் ஒன்றன்கீழ் ஒன்றாய் வரிசையாக இடம்பெறுவதை வரிசைமுறை அமைப்பு என்கிறோம்.
மூன்று எண்களின் சராசரியைக் காண எழுதப்பட்ட கட்டளைகள் வரிசைமுறை அமைப்புக்கு
எடுத்துக்காட்டாகும்.
6.5.2
கிளைபிரித்தல் (Branching)
ஒரு நிபந்தனையின் அடிப்படையில்,
‘இதை நிறைவேற்று’, ‘இதை நிறை வேற்றாதே’ என நிரலின் கட்டுப்பாட்டைத் திசைதிருப்பி,
கிளைப்பிரிவு ஒன்றை நோக்கிச் செலுத்த முடியும். நிபந்தனை அடிப்படையில் கிளைவழிச்
செலுத்தும் கட்டளை அமைப்பை மூன்று உட்பிரிவுகளாகப் பிரிக்கலாம்: (1) ஒருவழிக்
கிளை (2) இருவழிக் கிளை (3) பலவழிக் கிளை.
(1) ஒருவழிக் கிளைபிரித்தல்
ஒரு நிபந்தனை ‘சரி’ அல்லது ‘ஆம்’ எனில் குறிப்பிட்ட கட்டளையை நிறைவேற்றச் செய்வது இப்பிரிவில் அடங்கும். இதற்கான கட்டளை அமைப்பு இப்படி இருக்கும்:
if <condition> then <commands> |
ரூபாய் ஆயிரம் அல்லது அதற்குமேல்
பொருள் வாங்குவோர்க்கு விலையில் பத்து சதவீதம் தள்ளுபடி தரப்படும் எனில்,
if amount >= 1000 then |
|
amount = amount - (amount * 10 / 100) |
என்று கட்டளை அமையும். தொகை 1000-க்குக்
குறைவெனில் தள்ளுபடி கிடை யாது. எனவே இரண்டாவது வரியில் உள்ள கட்டளை செயல்படுத்தப்படாது.
(2) இருவழிக் கிளைபிரித்தல்
ஒரு நிபந்தனை ‘சரி’ அல்லது ‘ஆம்’
எனில் குறிப்பிட்ட கட்டளையை நிறைவேற்றச் செய்வது, ‘தவறு’ அல்லது ‘இல்லை’
எனில் வேறு கட்டளையை நிறைவேற்றச் செய்வது இப்பிரிவில் அடங்கும். இதற்கான
கட்டளை அமைப்பு இப்படி இருக்கும்:
if <codition> then <commands> else <commands> |
ரூபாய் ஆயிரம் அல்லது அதற்குமேல் பொருள் வாங்குவோர்க்கு விலையில் பத்து சதவீதம்
தள்ளுபடி, இல்லையேல் ஐந்து சதவீதம் தள்ளுபடி தரப்படும் எனில்,
if amount >= 1000 then |
|
amount = amount - (amount * 10 / 100) |
else |
|
amount = amount - (amount * 5 / 100) |
என்று கட்டளை அமையும். பாய்வுப் படங்களில் கிளைபிரித்தல் சாய்சதுரப் பெட்டி
மூலம் நிறைவேற்றப்படுவது காண்க. மூன்று எண்களில் பெரியது காணப் போலிக் குறிமுறையில்
எழுதியுள்ளது இக்கட்டளை அமைப்பே.
(3) பலவழிக் கிளைபிரித்தல்
மேற்கண்ட எடுத்துக்காட்டில், தொகை 1000 வரை 5%, 1000-க்கு மேல் 5000 வரை
10%, 5000-க்கு மேல் 10000-க்குக்கீழ் 20%, 10000-க்கு மேல் 25% தள்ளுபடி
எனில் ஒன்றுக்குள் ஒன்றாக if ... then ... else ... if ... then ... எனப்
பல கிளைகளாகப் பிரியும். கிளைகள் அதிகம் ஆகும்போது, if ... then ... else
... அமைப்பு குழப்பத்தைத் தரும். எனவே பலவழிக் கிளைபிரித்தலுக்கு ஒரு மாற்றுக்
கட்டளை அமைப்பும் பயன்படுத்தப்படுகிறது. 7-க்குள் ஓர் எண்ணை உள்ளீடாகப் பெற்று,
1 எனில் ஞாயிறு, 2 எனில் திங்கள், 3 எனில் செவ்வாய், ... என வெளியிட வேண்டுமெனில்,
select case <number> |
|
case 1 : print ‘Sunday’ |
|
case 2 : print ‘Monday’ |
|
case 3 : print ‘Tuesday’ |
|
..................................... |
end select |
என்கிற பலவழிக் கிளைபிரிக்கும் கட்டளை அமைப்பைப் பயன்படுத்தலாம்.
6.5.3
பன்முறைச் செயல் (Iteration)
ஒரு நிபந்தனை சரியாக இருக்கும்வரை
குறிப்பிட்ட செயல்பாட்டினை திரும்பத் திரும்பப் பலமுறை செயல்படுத்துவது ‘பன்முறைச்
செயல்’ எனப்படும். குறிப்பிட்ட செயல்பாட்டைத் திரும்பத் திரும்ப எத்தனை முறை
செயல் படுத்துவது என்பது முன்கூட்டியே அறியப்படுமாயின், அதனை ‘வரம்பறிந்த
பன்முறைச் செயல்' (Definite Iteration) என்றும், எத்தனை முறை என்பது முன்கூட்டியே
அறிய முடியாதெனில், அதனை ‘வரம்பறியாப் பன்முறைச் செயல்’ (Indefinite Iteration)
என்றும் வகைப்படுத்துவர்.
(1) வரம்பறிந்த பன்முறைச்
செயல்
இதன் கட்டளை அமைப்பு இவ்வாறு
அமையும்:
for <from value> to <to value> do <commands> |
1 முதல் 100 வரையுள்ள எண்களைக்
கூட்டி மொத்தம் காண வேண்டும். இந்தக் கணக்கீட்டில் ‘கூட்டல்’ என்னும் செயல்பாட்டைத்
திரும்பத் திரும்பச் செய்ய வேண்டும். நூறு முறை செய்ய வேண்டும் என்பது முன்கூட்டியே
தெரிகிறது. எனவே இது வரம்பறிந்த பன்முறைச் செயல் ஆகும். இதற்கு,
S = 0 |
for n = 1 to 100 do |
|
S = S + n |
print S |
என்ற கட்டளை அமைப்பைப் பயன்படுத்த
வேண்டும்.
(2) வரம்பறியாப் பன்முறைச்
செயல்
இதன் கட்டளை அமைப்பு இவ்வாறு
அமையும்:
while <condition> do <commands> |
ஓர் எண் பகாஎண்ணா என் அறியும் அதே கணக்கை எடுத்துக் கொள்வோம். N என்ற எண்
உள்ளீடு செய்யப்படுகிறது. அதன் வர்க்க மூலத்துக்குக் குறைவான எண்களால் N-ஐ
வகுத்துப் பார்க்க வேண்டும். அதாவது வகுத்தல் செயல்பாட்டைத் திரும்பத் திரும்பச்
செய்ய வேண்டும். ஆனால் N-இன் மதிப்பையோ N-இன் வர்க்கமூலத்தையோ முன்கூட்டியே
அறிய முடியாது. எனவே வகுத்தல் செயல்பாட்டை எத்தனை முறை நிகழ்த்த வேண்டும்
என்பதை முன்கூட்டியே அறிய முடியாத காரணத்தால் இது வரம்பறியாப் பன்முறைச்
செயலாகும். இதற்கான கட்டளை அமைப்பைப் போலிக் குறிமுறையில் காண்க. அதிலுள்ள
பன்முறைச் செயல் பகுதி மீண்டும் கீழே தரப்படுகிறது.
while D < M do |
( |
|
if D devides N then |
|
|
print ‘N is not a prime!’ |
|
|
goto end |
|
D = D + 1 |
) |
print ‘N is a prime!’ |
மேற்கண்ட மூன்று கட்டளை அமைப்புகளையும்
பயன்படுத்திக் கணிப்பொறியில் எத்தகைய கணிப்புகளையும் செய்துவிட முடியும்.
எந்தக் கட்டளைக்குப் பிறகு எந்தக் கட்டளையைச் செயல்படுத்த வேண்டுமென இக்கட்டளை
அமைப்புகள் கட்டுப்படுத்துவதனால் இவற்றைக் ‘கட்டுப்பாட்டுக் கட்டமைப்புகள்’
(Control Structures) என்று அழைப்பர்.
தன் மதிப்பீடு : வினாக்கள் - II |
1.
|
பாய்வுப்
படத்தின் உறுப்புகளை வரைந்து காட்டுக. |
2.
|
மூன்று
எண்களில் பெரியது காணப் பாய்வுப் படம் வரைக. |
3.
|
பாய்வுப்
படங்களின் நிறை குறைகளை எழுதுக. |
4.
|
போலிக்
குறிமுறையை வரையறுக்கவும். |
5. |
போலிக்
குறிமுறையின் கட்டளைகளை எழுதுக. |
6. |
ஓர் எண் பகாஎண்ணா
என அறியும் போலிக் குறிமுறையை எழுதுக. |
7. |
போலிக் குறிமுறையின்
பயன்கள் யாவை? |
8. |
கணிப்பொறி மொழிகளின்
அடிப்படைக் கட்டளை அமைப்புகள் யாவை? |
|