Tintu C Raju
  • Home
  • Timeline
  • portfolio
  • Stories & Poems
  • Blogs
    • Blogger - Malayalam
    • ഓർമ്മക്കുറിപ്പുകൾ
    • Tech Talk - English
    • Mysterious world - Malayalam
    • Bodhi
  • Youtube Channel
  • Gallery
    • My Family & Friends
    • My Photography
  • Works of Pappa
  • charity
  • Ask Me?
  • Tintu Doodles
    • trol
    • christmas-16
    • eldhose-anet
    • smule-downloader
  • Developer Tools
    • Scraped data
    • Punching App
    • Code Challenge

എന്താണ് അൽഗോരിതം.?

4/25/2018

1 Comment

 
നമ്മുടെ നിത്യ ജീവിതത്തിൽ നമ്മൾക്ക് ചെറുതും വലുതുമായ ധാരാളം പ്രശ്നങ്ങൾ അഥവ problems ഉണ്ടാകാറുണ്ട്. അതിൽ പലതിനും നമ്മൾ തന്നെ പരിഹാരവും കണ്ടെത്താറുണ്ട്. ഉദാഹരണത്തിന് നമുക്കൊരു ചായ വെയ്ക്കണം. നിത്യ ജീവിതത്തിലെ ഒരു സാധാരണ സംഭവമാണ്. കാര്യം നമ്മുടെ അമ്മമാരൊക്കെ കാലത്തെ എഴുന്നേറ്റു സിമ്പിളായി ചെയ്യുന്ന ഒരു സംഗതിയാണ് , പക്ഷെ അത് സ്വിച്ഛ് ഇട്ടു ലൈറ്റ് തെളിയും പോലെ സിംപിൾ പരിപാടിയല്ല. പാനിൽ വെള്ളം എടുക്കണം , പാൻ അടുപ്പിൽ വെയ്ക്കണം  , വെള്ളം തിളയ്ക്കുമ്പോൾ  ചായപ്പൊടി  ഇടണം....  സ്റ്റോപ്പ് സ്റ്റോപ്പ്....   (ആത്മഗതം : അടുപ്പ് കത്തിക്കാതെ വെള്ളം തിളയ്ക്കുമോ... ) ഒക്കെ അയാം ദി സോറി അളിയാ അടുപ്പ് കത്തിക്കണം , പിന്നെ വെള്ളം തിളയ്ക്കുമ്പോൾ ചായപ്പൊടി ഇടണം , അടുപ്പ് കെടുത്തണം , ഷുഗറിൻ്റെ പ്രശനം ഇല്ലെങ്കിൽ ഇത്തിരി പഞ്ചസാര ഇടണം. ചായ റെഡി....  ഒരു ചായ തിളപ്പിക്കാനുള്ള അൽഗോരിതമാണ് നമ്മളിപ്പോൾ കണ്ടത്. കഞ്ഞി വെയ്ക്കാനുള്ള അൽഗോരിതം ഇതിലും വിഷമം പിടിച്ചതാണ്....  

ഏതൊരു പ്രശ്നത്തെയും , അത് ചായ വെയ്ക്കുന്നതായിക്കോട്ടെ , പാലം പണിയുന്നതായിക്കോട്ടെ,വഴി കണ്ടെത്തുന്നതായിക്കോട്ടെ , കള്ളനെ പിടിക്കുന്നതായിക്കോട്ടെ , ചിട്ടയായി പല ഘട്ടങ്ങളിലൂടെ ,അഥവാ പല സ്റ്റെപ്പുകളായി പരിഹരിക്കുന്നത്തിനുള്ള നിർദ്ദേശങ്ങളെയാണ് അൽഗോരിതം എന്ന് പറയുന്നത്. 

വെറുതെ നിർദേശം കൊടുത്താൽ പോരാ അത് അടുക്കും ചിട്ടയുമായി കൊടുക്കണം , clear ആയിരിക്കണം. order തെറ്റിപ്പോയാൽ തീർന്നു , പാചകം ചെയ്യുമ്പോൾ ഒരു സ്റ്റെപ്പ് മാറിപ്പോയാൽ സാമ്പാർ രസമായി പ്പോയി എന്നിരിക്കും. ഇതും അത്രയേ ഉള്ളു..  ഒരു പാചകക്കുറിപ്പ് ഒരു ചെറിയ അൽഗോരിതം ആണെന്ന് പറയാം.

കമ്പ്യൂട്ടറുകളുടെ കാര്യത്തിലും ഇത് അങ്ങിനെ തന്നെ. നമ്മൾ കമ്പ്യൂട്ടർ ന് നിർദ്ദേശങ്ങൾ കൊടുക്കുന്നത് പ്രോഗ്രാമുകളുടെ സഹായത്തോടെയാണ്. നമ്മുടെ എന്തെങ്കിലും problem കമ്പ്യൂട്ടർ നെ കൊണ്ട് പരിഹരിക്കാൻ വേണ്ടിയാണ് നമ്മൾ ഒരു പ്രോഗ്രാം എഴുതുക. അപ്പോൾ നമ്മൾ ആദ്യം ചെയ്യേണ്ടത് ഈ പ്രോബ്ലം പരിഹരിക്കാനുള്ള  മാർഗം  മനസ്സിലാക്കി അതിനുള്ള ഒരു അൽഗോരിതം എഴുതുകയാണ്. അൽഗോരിതം കിട്ടിയാൽ പിന്നെ അതിനെ ഏതൊരു കമ്പ്യൂട്ടർ ഭാഷയിലും ഉള്ള പ്രോഗ്രാം ആക്കി മാറ്റുവാൻ സാധിക്കും. 

നമ്മൾ പ്രോഗ്രാം എഴുതുന്നതിനു മുന്നോടി ആയിട്ടാണ് അൽഗോരിതമെഴുതുക. അപ്പോൾ ഒരു കാര്യം ഓർമ്മയിൽ ഉണ്ടാകണം. എട്ടും പൊട്ടും തിരിയാതെ ഒരു കുട്ടിയാണ് നമ്മുടെ കമ്പ്യൂട്ടർ. നമ്മൾ എന്ത് ചെയ്യാൻ പറയുന്നോ അത് ചെയ്യും. അത് കൊണ്ട് എന്ത് സംഭവിക്കും എന്നോ , അതിൻ്റെ പ്രാത്യാഘാതം എന്താണെന്നോ മൂപ്പർ ആലോചിക്കില്ല.... (അതിനുള്ള ബുദ്ദിയില്ലാന്നേ...... :-p ) അപ്പോൾ  നമ്മൾ മുതിർന്നവർ എന്ത് വേണം നല്ലവണ്ണം ആലോചിച്ച് ക്ര്യത്യമായി കാര്യങ്ങൾ പറഞ്ഞു കൊടുക്കണം. 


അൽഗോരിതം ലോകം മുഴുവൻ ഉപയോഗിക്കുന്ന ഒരു സംഗതി ആയതുകൊണ്ട് കുറച്ച് കാര്യങ്ങൾ ശ്രദ്ദിച്ചിട്ടു വേണം അൽഗോരിതം എഴുതാൻ. അല്ലെങ്കിൽ ആരെങ്കിലും അത് കണ്ടിട്ടു നമ്മളോട് പറയില്ലേ ഇത് എന്തുട്ട് അൽഗോരിതാടോ എന്ന്.  ഒരു അൽഗോരിതത്തിനു  

* തുടക്കവും (start)  അവസാനവും (end) വേണം.  start എന്ന നിർദ്ദേശത്തിൽ തുടങ്ങി end എന്ന നിർദ്ദേശത്തിലാണ് ഒരു അൽഗോരിതം അവസാനിക്കേണ്ടത്.... ( അതായാത് തലയും വാലും ഇല്ലാത്ത അൽഗോരിതം എഴുതരുത് എന്ന്... )

* ഓരോ നിർദ്ദേശവും ക്ലിയർ ആയിരിക്കണം.

* ഒരു അൽഗോരിതത്തിനു  ആവശ്യമെങ്കിൽ ഒന്നോ അതിലധികമോ ഇന്പുട് എടുക്കാം. 10 + 20 എന്നതാണ് എൻ്റെ problem എങ്കിൽ 10 ഉം 20 ഉം ഇന്പുട് ആയി കൊടുക്കണം എന്നാലേ 30 എന്ന ഉത്തരം കണ്ടുപിടിക്കാൻ പറ്റൂ.

* ഒരു അൽഗോരിതം ഒന്നോ അതിലധികമോ ഔട്ട്പുട്ട് തിരികെ തരണം. ഏതൊരു അൽഗോരിതം ആണെങ്കിലും അവസാനം ഒരു result ആവശ്യമാണ്. 10 + 20 എന്ന പ്രോബ്ലം നോക്കിയാൽ 30 ആണ് നമ്മുടെ output 

* അൽഗോരിതം ഒരിക്കലും അവസാനിക്കാതെ തുടർന്ന് പോകരുത്. ആദ്യം പറഞ്ഞതു പോലെ അൽഗോരിതത്തിനു ഒരു അവസാനം വേണം. അല്ലാതെ അന്തമില്ലാതെ പോകുന്നതല്ല അൽഗോരിതം. (അതായാത്  അൽഗോരിതം ഒരു വണ്ടിയാണെങ്കിൽ  ഇറങ്ങേണ്ട സ്ഥലം ആകുമ്പോൾ പെട്രോൾ തീർന്നിട്ടാണെങ്കിലും വണ്ടി നിന്നിരിക്കണം)

നേരത്തെ പറഞ്ഞ ചായ വെയ്ക്കുന്ന ഉദാഹരണം നമുക്കൊന്ന് അൽഗോരിതം ആയി എഴുതി നോക്കാം 


സ്റ്റെപ്പ് 1 :  തുടങ്ങുക(start)  
സ്‌റ്റെപ് 2 : പാനിൽ വെളളം നിറക്കുക 
സ്റ്റെപ് 3 : പാൻ അടുപ്പിൽ വയ്ക്കുക 
സ്റ്റെപ്പ് 4: അടുപ്പ് കത്തിക്കുക 
സ്റ്റെപ്‌ 5: തിളയ്ക്കുമ്പോൾ ചായപ്പൊടി ഇടുക. 
സ്റ്റെപ്പ് 6: അടുപ്പ് നിർത്തുക 
സ്റ്റെപ്‌ 7: ചായയ്ക്ക് പഞ്ചസാര ഇടുക 
സ്റ്റെപ്പ് 8: ചായ ഗ്ളാസ്സിലേക്ക് പകർത്തുക 
സ്റ്റെപ്പ് 9: നിർത്തുക (stop)       


  
ഇത് ചായ തിളപ്പിക്കാനുള്ള ഒരു സാദാ അൽഗോരിതമാണ്. നമ്മൾ ഒന്നുകൂടി ശ്രദ്ദിച്ചാൽ മനസിലാകും ഈ അൽഗോരിതം പൂർണ്ണമല്ല. ഇനിയും ഇതിനെ നമുക്ക് വിപുലീകരിക്കാൻ സാധിയ്ക്കും. പഞ്ചാസാര ഇടണം എന്നത് നിർബന്ധമില്ലാത്ത കാര്യമാണ്. അതിനു മുൻപ് ആൾക്ക് ഷുഗർ പ്രോബ്ലം ഉണ്ടോ എന്ന് ചോദിക്കണം. ഷുഗർ പ്രോബ്ലം ഇല്ലെങ്കിൽ മാത്രം പഞ്ചസാര ഇട്ടാൽ മതിയല്ലോ... അപ്പോൾ നമ്മൾ ഇവിടെ ഒരു ചോദ്യം ചോദിക്കണം.. 

നിങ്ങൾക്ക് പഞ്ചസാരയുടെ അസുഖം ഉണ്ടോ... ??


ഉണ്ടെങ്കിൽ ചായയ്ക്ക് പഞ്ചസാര ഇടാം അല്ലെങ്കിൽ ചായ ഗ്ലാസ്സിലേക്ക് പകരാം. അതിനായി സ്റ്റെപ്പ് ഇങ്ങനെ മാറ്റി എഴുതാം.


സ്റ്റെപ്പ് 7 : നിങ്ങൾക്ക് പഞ്ചസാരയുടെ അസുഖം ഉണ്ടോ... ??  ഉണ്ടെങ്കിൽ step 9  ലേക്ക് പോവുക അല്ലെങ്കിൽ സ്റ്റെപ്പ് 8 ലേക്ക് പോവുക.



സ്റ്റെപ്പ് 8: ചായക്ക് പഞ്ചസാര ഇടുക 
സ്റ്റെപ്പ് 9 : ചായ ഗ്ലാസ്സിലേക്ക് പകർത്തുക  
സ്റ്റെപ്പ് 10 : നിർത്തുക (stop)   


പഞ്ചസാരയുടെ അസുഖം ഉണ്ട് എങ്കിൽ നമ്മൾ നേരെ സ്റ്റെപ്പ്  9 ലേക്ക് പോകും അതായത് ചായ ഗ്ളാസ്സിലേക്ക് പകർത്തും പഞ്ചസാര ഇടാതെ.

പക്ഷെ അസുഖം ഇല്ല എങ്കിൽ സ്റ്റെപ്പ് 8 ലേക്ക് പോകും. ചായക്ക് പഞ്ചസാര ഇടും , പിന്നെ സ്റ്റെപ്പ് 9 ലേക്ക് പോകും ചായ ഗ്ലാസ്സിലേക്ക് പകരും. അങ്ങിനെ നമുക്ക് ഓരോ സാഹചര്യങ്ങൾ പരിശോധിച്ച് ഓരോ കാര്യങ്ങൾ ചെയ്യുവാൻ സാധിക്കും. 

അൽഗോരിതത്തിനെ ഒരു ചിത്രത്തിൻ്റെ സഹായത്തോടെ പ്രദർശിപ്പിക്കാൻ നമുക്ക് ഫ്ളോചാർട്ട് ഉപയോഗിക്കാം. തർക്കാലം അത് നമ്മുടെ വിഷയമല്ലാത്തതിനാൽ പിന്നെ അതിനെപ്പറ്റി നോക്കാം...

1 Comment
Nimya_V
5/4/2018 01:02:37 am

👏👏👏

Reply



Leave a Reply.

    About

    Basic Programming Concepts in simple terms hope this will be helpful for the beginners. 

    Archives

    April 2018
    November 2015

    Categories

    All
    Computer
    അൽഗോരിതം
    കമ്പ്യൂട്ടർ സയൻസ് മലയാളം
    പ്രോഗ്രാമിംഗ്

    RSS Feed

Powered by Create your own unique website with customizable templates.
  • Home
  • Timeline
  • portfolio
  • Stories & Poems
  • Blogs
    • Blogger - Malayalam
    • ഓർമ്മക്കുറിപ്പുകൾ
    • Tech Talk - English
    • Mysterious world - Malayalam
    • Bodhi
  • Youtube Channel
  • Gallery
    • My Family & Friends
    • My Photography
  • Works of Pappa
  • charity
  • Ask Me?
  • Tintu Doodles
    • trol
    • christmas-16
    • eldhose-anet
    • smule-downloader
  • Developer Tools
    • Scraped data
    • Punching App
    • Code Challenge