Wednesday, August 7, 2013

Parameters or Arguments என்றால் என்ன?


முந்தைய பாகத்தில் subroutine பற்றி பார்த்தோம் அல்லவா அதன் தொடர்ச்சியாக parameter என்றால் என்னவென்று பார்ப்போம்.

Parameters என்றால் என்ன?

ஒரு procedure இயங்குவதற்கு input ஆக சிலவற்றை கொடுக்க நேரிடலாம். அத்தகைய input களை parameters என்றும் arguments என்றும் குறிப்பிடுவார்கள்.

Parameter இல்லாமல் procedure எழுதமுடியுமா?

முடியும். ஆனால் அந்த procedure  எப்போதும் ஒரே மாதிரியாகவே செயல்படும். ஒருவேளை நமது தேவைக்கேற்ற மாதிரி அந்த procedure செயல்படவேண்டுமானால் அதற்கு parameter அவசியம்.

அதாவது நாம் என்ன செய்யசொல்கிறோம் என்பதை கவனித்து அதன்படி ஒரு Procedure செயல்படவேண்டுமென்றால் நாம் எதையாவது சொல்லவேண்டும். அந்த எதையாவதுதான் parameter ஆகும்.

Procedure without parameter உதாரணம் :

உங்கள் வீட்டில் காபி பிளாஸ்க் இருக்கும்தானே? அதில் அம்மா காபியை ஊற்றிவைத்திருப்பார்கள். எப்பொழுது தேவையோ அப்பொழுது அதிலிருந்து காபியை எடுத்துக்கொள்ள முடியும். அதாவது எத்தனை தடவை நீங்கள் கேட்டாலும் உள்ளேயிருக்கும் ஒரேயொரு காபியைத்தவிர வேறொன்றையும் அது தராது. இது procedure or function without parameter ருக்கும் பொருந்தும். 


function without parameter, procedure without parameter, programming guide

procedure CoffeeMaker;
begin
  print 'My Name Is Coffee Maker';
  print 'I can make coffee only';
  print 'If you press 1000 times also, i cannot give you anything other than coffee'
  print 'If you want your favorite drink. Please use CoffeMakerWithParameter'
end;

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

Procedure with parameter உதாரணம் :

வெளியே எங்காவது போயிருக்கும் போது காபி மெஷின் உங்கள் கண்ணில் பட்டிருக்குமே? அதை கவனித்திருக்கிறீர்களா? அதினுள்ளே பால், தண்ணீர், சர்க்கரை, காபி தூள், டீ தூள் என்று எல்லாவற்றையும் தனித்தனியாக வைத்திருப்பார்கள். அத்துடன் உங்களது விருப்பத்தை தெரிவிக்க படங்களுடனோ அல்லது பெயர்களுடனோ கூடிய பல பொத்தான்களையும் வைத்திருப்பார்கள். எந்த பொத்தானை நீங்கள் அழுத்துகிறீர்களோ அதற்குரிய பானம் கிடைக்கும். இது procedure or function with parameter ருக்கும் பொருந்தும்.

உங்கள் விருப்பத்தை தெரிவிக்க உள்ள பொத்தான்களே  parameter ஆகும்.

function with parameters, procedure with parameter


procedure CoffeMakerWithParameter (YourOption : String);
begin
  print 'My Name Is Coffee Maker';
  print 'I can make varieties of coffee and tea';
  print 'You asked - ' + YourOption;
  print 'Your drink is ready. Thank you';
end;

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

சரி வாங்க உங்களுக்கு விருப்பமான காபி சாப்பிட்டுக்கிட்டே பாடத்தையும் படிக்கலாம். கீழே உள்ள main procedure ரிலிருந்து நாம் எழுதிய இரண்டு procedure களையும் call செய்து பார்ப்போம்.

procedure Main;
begin
  --next code will call procedure without parameter
  CoffeeMaker;
  --again coffee only
  CoffeeMaker;

  --next code will call procedure with parameter
  CoffeeMakerWithParameter ('Coffee') ;

  --i can order any variety
  CoffeeMakerWithParameter ('BlackCoffee') ;

  CoffeeMakerWithParameter ('CoffeeWithMilk') ;

  CoffeeMakerWithParameter ('CoffeeWithout Sugar') ;

  -- this is wrong. Parameter is missing
  CoffeeMakerWithParameter () ;

end;

Formal parameter vs Actual parameter :

Formal parameter என்பது procedure definition னில் இருப்பது. அதாவது ஒரு procedure ரையோ அல்லது ஒரு function னையோ declare செய்யும்போது இன்னன்ன parameter இதற்கு தேவை என்று குறிப்பிடுவது Formal parameter ஆகும்.

procedure CoffeMakerWithParameter (YourOption : String);

இது procedure declaration ஆகும். இங்கே YourOption என்பது formal parameter ஆகும்.

Actual parameter என்பது procedure ரையோ அல்லது function னையோ call செய்யும்போது நாம் கொடுக்கும் input value வாகும்.

  CoffeeMakerWithParameter ('BlackCoffee') ;

  CoffeeMakerWithParameter ('CoffeeWithMilk') ;

  CoffeeMakerWithParameter ('CoffeeWithout Sugar') ;

இங்கே
'BlackCoffee'
'CoffeeWithMilk'
'CoffeeWithout Sugar' முதலியவை actual parameter ஆகும்.

ஒரு function / procedure ரில் எத்தனை parameter வேண்டுமானாலும் இருக்கலாம். என்ன! அந்த procedure ரை call செய்யும் போது அத்தனை parameter ருக்குமான input களையும் அதே வரிசைப்படி கொடுக்கவேண்டும். இல்லையானால் error message வரும் அல்லது procedure எதிர்பார்த்தபடி வேலைசெய்யாது. ஆனால் சில programming language ல் இந்த பிரச்சினைக்கும் ஒரு தீர்வு இருக்கிறது. அது என்னவென்று அடுத்து பார்ப்போம்.

No comments:

Post a Comment