Thursday, April 5, 2012

Lesson 10_Python


 ഫങ്ഷനുകള്‍ 

ഒരു പ്രോഗ്രാമില്‍ ഒരേ കോഡുതന്നെ വീണ്ടും വീണ്ടും ഉപയോഗിക്കേണ്ടതായി വരാം.  നമുക്ക് വീണ്ടും വീണ്ടും ഉപയോഗിക്കേണ്ട കാര്യങ്ങള്‍ ഒരു ഫങ്ഷനായി എഴുതുകയും അതിനെ ആവശ്യമുളള സ്ഥലത്തേക്ക് വിളിക്കുകയും ചെയ്യാം. ഫങ്ഷനുകള്‍ എന്നാല്‍ സബ് പ്രോഗ്രാമുകളാണ്. സ്വതന്ത്രമായി നില്‍ക്കുന്ന ഇത്തരം സബ് പ്രോഗ്രാമുകളെ ആവശ്യമുള്ള സന്ദര്‍ഭങ്ങളില്‍ മറ്റു പ്രോഗ്കാമുകള്‍ക്ക് പ്രയോജനപ്പെടുത്തുകയും ചെയ്യാം. 
കാല്‍ക്ക് സോഫ്റ്റ്‌വെയറില്‍ നാം ഉപയോഗിക്കുന്ന sum, average, count തുടങ്ങിയ ഫങ്ഷനുകള്‍ പോലെ ഗണിതക്രിയകള്‍ എളുപ്പമാക്കുന്നതും വീണ്ടും വീണ്ടും ഉപയോഗിക്കാന്‍ കഴീയുന്നതുമായ ഫങ്ഷനുകള്‍ പൈത്തണ്‍ ഭാഷയിലും നിര്‍മ്മിക്കാന്‍ കഴിയും. ഒരു ഫങ്ഷന്‍ നിര്‍വചിക്കുവാന്‍ നമ്മള്‍ def എന്ന കീവേഡാണുപയോഗിക്കുന്നത്.
രണ്ടു സംഖ്യകളുടെ തുക കാണുന്നതിനുള്ള പൈത്തണ്‍ ഫങ്ഷന്‍ താഴെ നല്കുന്നു.
def sum(a,b):
    c=a+b
    return c

ഇതില്‍ def sum(a,b): എന്നത് രണ്ട് ചരങ്ങളുടെ വിലകള്‍ സ്വീകരിക്കാന്‍ കഴിയുന്ന sum എന്ന പേരിലുള്ള ഫങ്ഷന്‍ നിര്‍മ്മിക്കുന്നതിനുള്ള നിര്‍ദ്ദേശം നല്കുന്നതിനുപയോഗിക്കുന്നു.

c=a+b എന്നത് ഫങ്ഷനിലേക്ക് ലഭ്യമാകുന്ന രണ്ട് വിലകള്‍ തമ്മില്‍ കൂട്ടി c എന്ന ചരത്തില്‍ ശേഖരിക്കുന്നതിന് സഹായിക്കുന്നു.

return c എന്നത് ഫങ്ഷന്‍ ഉപയോഗപ്പെടുത്തുന്ന പ്രോഗ്രാമിന് രണ്ടു സംഖ്യകളുടെ തുക തിരികെ നല്കുന്നതിന് സഹായിക്കുന്നു.

ഫങ്ഷനുകള്‍ തയ്യാറാക്കുമ്പോള്‍ ശ്രദ്ധിക്കേണ്ട കാര്യങ്ങള്‍ :
ഫങ്ഷന്‍ നിര്‍മ്മിക്കുന്നതിന് def നിര്‍ദ്ദേശം നല്കണം.
ഫങ്ഷന് ഇഷ്ടമുള്ള പേര് നല്കാം. (മുകളിലെ ഉദാഹരണത്തില്‍ sum എന്നാണ് നല്കിയിരിക്കുന്നത്)
ഫങ്ഷനിലേക്ക് നല്കുന്ന വിലകളെ സൂചിപ്പിക്കുന്ന ചരങ്ങള്‍ ഫങ്ഷന്റെ പേരിനു ശേഷം ബ്രാക്കറ്റിലാണ് നല്കേണ്ടത്.
ഫങ്ഷന്‍ പ്രവര്‍ത്തിക്കുമ്പോള്‍ഉണ്ടാകുന്ന ഉത്തരം തിരികെ പ്രധാന പ്രോഗ്രാമിനു ലഭിക്കണമെങ്കില്‍ return നിര്‍ദേശമാണ് ഉപയോഗിക്കേണ്ടത്.
മുകളില്‍ നല്കിയ തുക കാണാനുള്ള ഫങ്ഷന്‍ ടൈപ്പ് ചെയ്ത്  function.py എന്ന പേരില്‍ സ്വന്തം ഫോള്‍ഡറില്‍ (pythonsb) സേവ് ചെയ്യുക.  അതിനു ശേഷം താഴെ നല്കിയിരിക്കിന്ന പ്രോഗ്രാം ടൈപ്പ് ചെയ്ത്
(add.py എന്ന പേരില്‍) മുന്‍പ് തയ്യാറാക്കിയ അതേ ഫോള്‍ഡറില്‍ (pythonsb) സേവ് ചെയ്തതിനുശേഷം പ്രവര്‍ത്തിപ്പിച്ചുനോക്കൂ.

import function
x=input("Enter first number:")
y=input("Enter second number:")
print "sum =",function.sum(x,y)



ഉദാ: സംഖ്യകളുടെ ഗുണനഫലം (പട്ടിക) കാണുന്നതിനുളുള്ള പൈത്തണ്‍ പ്രോഗ്രാം

def prod(a,b):
    c=a*b
    return c 
മുകളില്‍ നല്കിയ ഗുണനഫലം കാണാനുള്ള ഫങ്ഷന്‍ ടൈപ്പ് ചെയ്ത്  myfunction.py എന്ന പേരില്‍ സ്വന്തം ഫോള്‍ഡറില്‍  സേവ് ചെയ്യുക.  അതിനു ശേഷം താഴെ നല്കിയിരിക്കിന്ന പ്രോഗ്രാം ടൈപ്പ് ചെയ്ത് (mt.py എന്ന പേരില്‍) മുന്‍പ് തയ്യാറാക്കിയ അതേ ഫോള്‍ഡറില്‍  സേവ് ചെയ്തതിനുശേഷം പ്രവര്‍ത്തിപ്പിച്ചുനോക്കൂ.
import myfunction
n=input("Enter a Number:")
for i in range(1,11):
    print i,"x",n,"=",myfunction.prod(i,n) 


ഉദാ: തുക, വ്യത്യാസം, ഗുണനഫലം, ഹരണഫലം, ശിഷ്ടം തുടങ്ങിയവ കാണാന്‍ സഹായിക്കുന്ന ഫങ്ഷനുകള്‍ അടങ്ങിയ പ്രോഗ്രാം.
def sum(a,b):
    return (a+b)
def diff(a,b):
    return (a-b)
def prod(a,b):
    return (a*b)
def quot(a,b):
    return (a/b)
def rem(a,b):
    return (a%b)

മുകളില്‍ നല്കിയ  ഫങ്ഷനുകള്‍ ടൈപ്പ് ചെയ്ത്  functions.py എന്ന പേരില്‍ സ്വന്തം ഫോള്‍ഡറില്‍  സേവ് ചെയ്യുക.  അതിനു ശേഷം താഴെ നല്കിയിരിക്കിന്ന പ്രോഗ്രാം ടൈപ്പ് ചെയ്ത് (cal.py എന്ന പേരില്‍) മുന്‍പ് തയ്യാറാക്കിയ അതേ ഫോള്‍ഡറില്‍  സേവ് ചെയ്തതിനുശേഷം പ്രവര്‍ത്തിപ്പിച്ചുനോക്കൂ.
import functions
x=input("Enter first number:")
y=input("Enter second number:")
print "sum =",functions.sum(x,y)
print "difference =",functions.diff(x,y)
print "Product =",functions.prod(x,y)
print "Quotient =",functions.quot(x,y)
print "Remainder =",functions.rem(x,y)



ഒരു ഫയലില്‍ ഒന്നില്‍ക്കൂടുതല്‍ ഫങ്ഷനുകള്‍ ഉള്‍പ്പെടുത്താവുന്നതാണ്.  വ്യത്യസ്ത ഫങ്ഷനുകളും ക്ലാസ്സുകളുമെല്ലാം ചേര്‍ന്ന ഫയലുകളാണ്  മൊഡ്യൂളുകള്‍ എന്നറിയപ്പെടുന്നത്.  പൈത്തണ്‍ ഭാഷയോടൊപ്പം തന്നെ ഇത്തരം ധാരാളം മൊഡ്യൂളുകള്‍ ലഭ്യമാണ്.  ഇവ import എന്ന നിര്‍ദ്ദേശത്തിന്റെ സഹായത്തോടെ നമ്മുടെ പ്രോഗ്രാമിലും ഉള്‍പ്പെടുത്താം.  (eg: import time, from turtle import* ....) ഒരു മൊഡ്യൂള്‍ നമ്മുടെ പ്രോഗ്രാമില്‍ ഉള്‍പ്പെടുത്തുമ്പോള്‍ ആ മൊഡ്യൂളിലുള്ള  എല്ലാ ഫങ്ഷനുകളും നമ്മുടെ പ്രോഗ്രാമിലും ലഭ്യമാകും.

No comments:

Post a Comment