Google Play badge

ফাংশন সংজ্ঞায়িত করা


ফাংশন সংজ্ঞায়িত করা

এই পাঠে, আমরা ফাংশন সম্পর্কে শিখব। ফাংশন হল নির্দেশাবলীর একটি ছোট ব্লক, যেমন একটি রেসিপি, যা কম্পিউটারকে কী করতে হবে তা বলে। ফাংশনগুলি আমাদের বড় সমস্যাগুলিকে ছোট ছোট টুকরো করতে সাহায্য করে। তারা আমাদের কাজকে সহজ করে তোলে এবং আমাদের প্রোগ্রামগুলিকে আরও স্পষ্ট করে তোলে। আজ, আমরা দেখব ফাংশনগুলি কী, আমরা কেন সেগুলি ব্যবহার করি এবং কীভাবে তারা আমাদের সহজ উপায়ে প্রোগ্রাম তৈরি করতে সাহায্য করে।

ভূমিকা

কল্পনা করুন আপনার কাছে একটি খেলনা মেশিন আছে যা সর্বদা একই কাজ করে। আপনি যখন একটি বোতাম টিপবেন, তখন মেশিনটি একটি গান গাইবে। একটি কম্পিউটার প্রোগ্রামের একটি ফাংশন একইভাবে কাজ করে। এটি এমন কিছু নির্দেশাবলীর সেট যা আপনি বারবার ব্যবহার করতে পারেন। আপনি একবার ফাংশনটি সংজ্ঞায়িত করেন এবং তারপরে যখনই এটি ব্যবহার করার প্রয়োজন হয় তখন আপনি এটি কল করতে পারেন। এই ধারণাটি প্রোগ্রামগুলিকে বোঝা সহজ করে তোলে এবং দ্রুত তৈরি করে।

আমাদের দৈনন্দিন জীবনে, আমরা কিছু করার জন্য ধাপগুলি অনুসরণ করি। উদাহরণস্বরূপ, যখন আপনি দাঁত ব্রাশ করেন বা স্যান্ডউইচ তৈরি করেন, তখন আপনি সহজ ধাপগুলি ক্রমানুসারে অনুসরণ করেন। একটি ফাংশন হল সেই ধাপগুলির মতো। প্রতিবার এই কাজগুলি কীভাবে করবেন তা নিজেকে মনে করিয়ে দেওয়ার পরিবর্তে, আপনি ধাপগুলি মনে রাখেন বা একটি বোতাম টিপুন যা আপনার জন্য এটি করে।

ফাংশন কী?

ফাংশন হলো কোডের একটি নামযুক্ত ব্লক যা একটি নির্দিষ্ট কাজ সম্পাদন করে। আপনি এটিকে আপনার বৃহত্তর প্রোগ্রামের ভিতরে একটি মিনি-প্রোগ্রাম হিসাবে ভাবতে পারেন। ফাংশনগুলি একটি ছোট কাজ সম্পাদনের জন্য লেখা হয়। তারা সংখ্যা যোগ করতে পারে, কাউকে হ্যালো বলতে পারে, এমনকি স্ক্রিনে ছবিও আঁকতে পারে। ধারণাটি হল ফাংশনের ভিতরে টাস্কের বিবরণ লুকানো। এইভাবে, আপনাকে কেবল তখনই ফাংশনটিকে তার নাম দিয়ে ডাকতে হবে যখন আপনার কাজটি সম্পন্ন করার প্রয়োজন হবে।

উদাহরণস্বরূপ, একটি সাধারণ ফাংশন দেখতে একটি লাইট সুইচের মতো হতে পারে। যখন আপনি সুইচটি উল্টান, তখন আলো জ্বলে ওঠে। একইভাবে, যখন আপনি একটি ফাংশন কল করেন, তখন কম্পিউটার তার ভিতরের ক্রিয়া সম্পাদন করে। এটি আপনার কাজকে সুন্দর রাখে এবং যেকোনো সমস্যা খুঁজে বের করা এবং সমাধান করা সহজ করে তোলে।

আমরা কেন ফাংশন ব্যবহার করি?

প্রোগ্রামিংয়ে ফাংশন ব্যবহারের অনেক ভালো কারণ রয়েছে। প্রথমত, ফাংশন আমাদের কাজকে সুসংগঠিত করতে সাহায্য করে। একই নির্দেশাবলী বারবার লেখার পরিবর্তে, আমরা সেগুলি একটি ফাংশনে একবার লিখি এবং তারপর প্রয়োজনে ফাংশনটি কল করি। এটি সময় সাশ্রয় করে এবং ভুল প্রতিরোধ করে। দ্বিতীয়ত, ফাংশনগুলি আমাদের কোড পুনরায় ব্যবহার করতে সাহায্য করে। একবার একটি ফাংশন সংজ্ঞায়িত হয়ে গেলে, এটি আমাদের প্রোগ্রামের অনেক অংশে ব্যবহার করা যেতে পারে। তৃতীয়ত, ফাংশনগুলি প্রোগ্রামগুলিকে পড়া সহজ করে তোলে। যখন কোনও কাজকে ছোট ছোট ফাংশনে বিভক্ত করা হয়, তখন প্রোগ্রামটি কী করে তা বুঝতে আপনি ফাংশনগুলির নামগুলি দেখতে পারেন।

কল্পনা করুন আপনি একটি বড় LEGO দুর্গ তৈরি করছেন। আপনি ছোট ছোট ব্লক ব্যবহার করে পুরো দুর্গটি তৈরি করেন। প্রতিটি ছোট ব্লক একটি ফাংশনের মতো যা একটি নির্দিষ্ট কাজ করে। যখন সমস্ত ব্লক একসাথে রাখা হয়, তখন আপনার কাছে সম্পূর্ণ দুর্গ থাকে। একইভাবে, পৃথক ফাংশনগুলি একটি সম্পূর্ণ প্রোগ্রাম তৈরি করে।

একটি ফাংশন কীভাবে সংজ্ঞায়িত করবেন

আমরা একটি বিশেষ কোড ব্যবহার করে একটি ফাংশন সংজ্ঞায়িত করতে পারি। অনেক প্রোগ্রামিং ভাষায়, আমরা একটি কীওয়ার্ড ব্যবহার করি যা কম্পিউটারকে বলে যে আমরা একটি ফাংশন তৈরি করছি। প্রোগ্রামিং শেখানোর জন্য ব্যবহৃত একটি জনপ্রিয় ভাষা হল পাইথন। পাইথনে, আমরা একটি ফাংশন শুরু করার জন্য def শব্দটি ব্যবহার করি। এখানে একটি সহজ উদাহরণ দেওয়া হল:

উদাহরণ:

 ডিফল্ট say_hello():
    মুদ্রণ ("হ্যালো বন্ধু!")
  

এই উদাহরণে, ফাংশনটিকে say_hello বলা হয়। def শব্দটি কম্পিউটারকে বলে যে আমরা একটি ফাংশন সংজ্ঞায়িত করছি। ফাংশনটি একটি কাজ করে: এটি স্ক্রিনে একটি বন্ধুত্বপূর্ণ বার্তা প্রিন্ট করে।

একবার আমরা এই ফাংশনটি সংজ্ঞায়িত করে ফেললে, আমরা পরবর্তীতে আমাদের প্রোগ্রামে এটি ব্যবহার করতে পারি। একে ফাংশন কল করা বলা হয়। প্রতিবার এটি কল করার সময় কম্পিউটার ফাংশনের ভিতরের সমস্ত ধাপ সম্পাদন করবে।

ফাংশনের সহজ উদাহরণ

এখন, আমরা ফাংশনের তিনটি সহজ উদাহরণ দেখব। এগুলি বোঝা সহজ এবং আমাদের মৌলিক ধারণাগুলি শিখতে সাহায্য করে।

উদাহরণ ১: শুভেচ্ছা ফাংশন

প্রথম উদাহরণে, আমরা একটি ফাংশন তৈরি করি যা কাউকে নাম ধরে অভ্যর্থনা জানায়। যখন আমরা ফাংশনটিকে কল করি, তখন এটি একজন বন্ধুকে হ্যালো বলবে।

কোড:

 ডিফল্ট অভিবাদন (নাম):
    মুদ্রণ ("হ্যালো, " + নাম + "!")
  
# "অ্যালিস" নামে ফাংশনটি কল করা হচ্ছে
অভিবাদন ("এলিস")
  

ধাপে ধাপে ব্যাখ্যা:

উদাহরণ ২: যোগ ফাংশন

দ্বিতীয় উদাহরণে, আমরা একটি ফাংশন লিখি যা দুটি সংখ্যা যোগ করে। এটি একটি ছোট ক্যালকুলেটরের মতো যা সংখ্যাগুলিকে একসাথে যোগ করে।

কোড:

 ডিফল্ট সংখ্যা যোগ করুন (সংখ্যা ১, সংখ্যা ২):
    ফলাফল = সংখ্যা ১ + সংখ্যা ২
    print("যোগফল হল:", ফলাফল)
  
# ৩ এবং ৫ নম্বর দিয়ে ফাংশনটি কল করা
সংখ্যা_সংখ্যা যোগ করুন(৩, ৫)
  

ধাপে ধাপে ব্যাখ্যা:

উদাহরণ ৩: গুণ ফাংশন

তৃতীয় উদাহরণে, আমরা একটি ফাংশন তৈরি করব যা একটি সংখ্যাকে 2 দিয়ে গুণ করবে। এই ফাংশনটি দেখায় কিভাবে একটি ফাংশন পরবর্তী ব্যবহারের জন্য একটি মান ফেরত দিতে পারে।

কোড:

 ডিফল্ট দুই দ্বারা গুণিত (x):
    নতুন_মান = x * 2
    নতুন_মান ফেরত দিন
  
# ফাংশনটি কল করা এবং ফলাফল সংরক্ষণ করা
ফলাফল = দুই দ্বারা গুণ (৪)
print("4 কে 2 দিয়ে গুণ করলে হয়", ফলাফল)
  

ধাপে ধাপে ব্যাখ্যা:

প্যারামিটার এবং রিটার্ন মান বোঝা

ফাংশনগুলি প্যারামিটারের মাধ্যমে বাইরে থেকে তথ্য গ্রহণ করতে পারে। প্যারামিটার হল একটি চলক যা ফাংশন কল করার সময় ডেটা ধারণ করে। আমাদের উদাহরণগুলিতে, name , num1 , num2 , এবং x হল প্যারামিটার।

কিছু ফাংশন মান প্রদান করে । একটি রিটার্ন মান হল ফাংশনটি তার কাজ করার পরে যে ফলাফল প্রদান করে। উদাহরণ 3-এ, multiply_by_two ফাংশনটি একটি মান প্রদান করে যা একটি চলকে সংরক্ষণ করা হয়।

প্যারামিটার এবং রিটার্ন মান ব্যবহারের ধারণা ফাংশনগুলিকে নমনীয় এবং শক্তিশালী করে তোলে। আপনি বিভিন্ন আউটপুট পেতে ইনপুট পরিবর্তন করতে পারেন, ঠিক যেমন একটি রেসিপিতে উপাদান পরিবর্তন করলে ভিন্ন স্বাদ তৈরি হতে পারে।

মডুলার প্রোগ্রামিং: সমস্যাগুলিকে টুকরো টুকরো করা

মডিউলার প্রোগ্রামিং- এ ফাংশন হল একটি মূল ধারণা। মডিউলার প্রোগ্রামিং বলতে বোঝায় একটি বৃহৎ প্রোগ্রামকে ছোট, পরিচালনাযোগ্য অংশ বা মডিউলে বিভক্ত করা। প্রতিটি ফাংশন একটি মডিউলের মতো যা একটি সহজ কাজ করে। যখন সমস্ত মডিউল একসাথে কাজ করে, তখন তারা একটি সম্পূর্ণ প্রোগ্রাম তৈরি করে।

একটা ধাঁধা তৈরির কথা ভাবুন। প্রতিটি অংশ ছোট এবং সহজ। কিন্তু যখন আপনি সমস্ত অংশ একসাথে রাখবেন, তখন আপনি একটি সম্পূর্ণ ছবি দেখতে পাবেন। প্রোগ্রামিংয়ে, ফাংশন ব্যবহার করে আপনি একবারে একটি ছোট অংশে কাজ করতে পারবেন। এইভাবে, প্রোগ্রাম তৈরি করা, বোঝা এবং ঠিক করা সহজ হবে।

মডুলার প্রোগ্রামিং পুনরাবৃত্তি কমাতে সাহায্য করে। যদি আপনার প্রোগ্রামের কোন অংশকে একই কাজ বারবার করতে হয়, তাহলে আপনি তার জন্য একটি ফাংশন লিখুন। তারপর যখনই আপনার সেই কাজটি সম্পন্ন করার প্রয়োজন হয়, তখন একই কোড লেখার পরিবর্তে আপনি কেবল ফাংশনটি কল করুন।

এই পদ্ধতিটি এমন একজন সাহায্যকারীর মতো যে জুতার ফিতা বাঁধতে জানে, তাই প্রতিবার নতুন জুতা কেনার সময় আপনাকে এটি কীভাবে করতে হয় তা পুনরায় শিখতে হবে না।

প্রাসঙ্গিক দৈনন্দিন উদাহরণ

আসুন আমরা ফাংশনগুলিকে দৈনন্দিন কাজের সাথে তুলনা করি। কল্পনা করুন আপনার বাড়িতে অনেক কাজ আছে। আপনার একটি কাজ হল গাছগুলিকে জল দেওয়া। প্রতিবার সমস্ত ধাপগুলি নিয়ে চিন্তা করার পরিবর্তে, আপনি মনে রাখতে পারেন, "গাছগুলিকে জল দিন।" প্রতিবার যখন আপনি গাছগুলিতে কাজ করেন, তখন আপনি আপনার নিজস্ব ফাংশন ব্যবহার করছেন।

আরেকটি উদাহরণ হল একটি স্যান্ডউইচ তৈরি করা। প্রথমে, আপনি দুটি পাউরুটির টুকরো নিন। তারপর, আপনি মাখন, পনির এবং সম্ভবত একটি হ্যামের টুকরো যোগ করুন। অবশেষে, আপনি দুটি স্লাইস একসাথে রাখুন। প্রতিটি ধাপ স্পষ্ট এবং সহজ, একটি ফাংশনের লাইনের মতো। প্রতিবার ধাপগুলি অনুসরণ করে, আপনি শুরু থেকে প্রতিটি ধাপ সম্পর্কে চিন্তা না করেই একটি সুস্বাদু স্যান্ডউইচ তৈরি করেন।

এই দৈনন্দিন উদাহরণগুলি দেখায় যে ফাংশনগুলি আমাদের অনেক কাজ পরিষ্কার, সরল অংশে বিভক্ত করে করতে সাহায্য করে।

ফাংশন সংজ্ঞায়িত করার বিষয়ে আরও

যখন আপনি ফাংশন সম্পর্কে শেখা শুরু করবেন, তখন আপনি লক্ষ্য করবেন যে প্রতিটি ফাংশনের একটি নাম , বন্ধনীর ভিতরে প্যারামিটারের একটি তালিকা এবং ভিতরে কোডের একটি ব্লক রয়েছে। এটি একটি সাধারণ বিন্যাসে এইরকম দেখতে হতে পারে:

সাধারণ কাঠামো:

 def ফাংশন_নাম (প্যারামিটার১, প্যারামিটার২, ...):
    # কোড ব্লক
    প্রয়োজনে some_value # ফেরত দিন
  

এখানে, function_name হল ফাংশনের নাম। প্যারামিটারগুলি হল ফাংশনটি যে ইনপুটগুলি ব্যবহার করে। কোড ব্লক হল নির্দেশাবলীর সেট যা ফাংশনটি কার্যকর করবে। অবশেষে, return ফলাফলটি ফেরত দেয়।

আপনি মাঝে মাঝে এমন ফাংশন দেখতে পাবেন যার কোন প্যারামিটার নেই। যখন কোন ফাংশনের কোন অতিরিক্ত তথ্যের প্রয়োজন হয় না, তখনও আপনি বন্ধনীগুলি লেখেন, কিন্তু সেগুলি খালি থাকে। একইভাবে, অনেক ফাংশন বার্তা মুদ্রণের মতো কাজ করে এবং কোনও মান ফেরত দেয় না।

ফাংশনের অপরিহার্য বৈশিষ্ট্য

এখানে ফাংশনের কিছু গুরুত্বপূর্ণ বৈশিষ্ট্য রয়েছে যা আপনার মনে রাখা উচিত:

এই বৈশিষ্ট্যগুলি অনুসরণ করে, প্রোগ্রামাররা এমন প্রোগ্রাম তৈরি করতে পারে যা বোঝা, ডিবাগ করা এবং সময়ের সাথে সাথে উন্নত করা সহজ। ঠিক যেমন আপনার খেলনাগুলিকে বাক্সে সাজানোর মাধ্যমে আপনার ঘরটি পরিষ্কার রাখা হয়, তেমনি ফাংশনগুলি প্রোগ্রামগুলিকে পরিষ্কার এবং সুসংগঠিত রাখে।

বৈচিত্র্য এবং আরও উন্নত ধারণা

ফাংশনের ধারণাটি সম্পর্কে আপনি যত বেশি স্বাচ্ছন্দ্য বোধ করবেন, ততই আপনি কিছু ভিন্নতার সম্মুখীন হতে পারেন। কখনও কখনও ফাংশনগুলি কিছুই ফেরত দেয় না; তারা কেবল ক্রিয়া সম্পাদন করে। অন্য সময়, ফাংশনগুলি অন্যান্য ফাংশনগুলিকে কল করতে পারে। এটি নেস্টিং ফাংশন বা ফাংশন কম্পোজিশন নামে পরিচিত।

উদাহরণস্বরূপ, একটি ফাংশন অন্য কাজ শুরু করার আগে একটি শুভেচ্ছা ফাংশন কল করতে পারে। ফাংশনের এই স্তরবিন্যাস আপনাকে অনেক ছোট, সহজ কাজ থেকে জটিল প্রোগ্রাম তৈরি করতে দেয়।

পরবর্তী পর্যায়ে, আপনি রিকার্সিভ ফাংশনের মতো বিষয়গুলি অন্বেষণ করতে পারেন। রিকার্সিভ ফাংশন হল এমন একটি ফাংশন যা নিজেকে ডাকে। যদিও এই ধারণাটি কিছুটা জটিল শোনাচ্ছে, এটি সমস্যাগুলিকে ছোট ছোট অংশে বিভক্ত করার আরেকটি উপায়। আপাতত, এটি জেনে রাখা যথেষ্ট যে ফাংশনগুলি আপনাকে স্মার্ট এবং পরিপাটি কোড লিখতে সাহায্য করে।

অতিরিক্ত উদাহরণ এবং ধাপে ধাপে সমাধান

আসুন আমরা আরও দুটি বিস্তারিত উদাহরণ দেখি যা দেখায় যে ফাংশনগুলি ধাপে ধাপে কীভাবে কাজ করে।

উদাহরণ ৪: জোড় সংখ্যা পরীক্ষা করার একটি ফাংশন

 def সমান_হয়(সংখ্যা):
    # সংখ্যাটি জোড় কিনা তা পরীক্ষা করুন।
    যদি সংখ্যা % 2 == 0:
        সত্য ফেরত দিন
    অন্যথায়:
        মিথ্যা ফেরত দিন

# ৬ নম্বরটি পরীক্ষা করার জন্য ফাংশনটি ব্যবহার করা
ফলাফল = সমান(6)
মুদ্রণ ("৬ কি জোড়?", ফলাফল)
  

ধাপে ধাপে ব্যাখ্যা:

উদাহরণ ৫: একটি বর্গক্ষেত্রের ক্ষেত্রফল গণনা করার জন্য একটি ফাংশন

 বর্গক্ষেত্রের_ক্ষেত্রফল(পার্শ্ব_দৈর্ঘ্য):
    # সূত্র ব্যবহার করে ক্ষেত্রফল গণনা করুন: ক্ষেত্রফল = পার্শ্ব_দৈর্ঘ্য * পার্শ্ব_দৈর্ঘ্য
    ক্ষেত্রফল = পার্শ্বদৈর্ঘ্য * পার্শ্বদৈর্ঘ্য
    প্রত্যাবর্তন এলাকা

# ৫ বাহুর দৈর্ঘ্য বিশিষ্ট একটি বর্গক্ষেত্রের ক্ষেত্রফল গণনা করার জন্য ফাংশনটি ব্যবহার করা
বর্গক্ষেত্র = বর্গক্ষেত্রের_ক্ষেত্রফল(5)
print("বর্গক্ষেত্রের ক্ষেত্রফল হল", square_area)
  

ধাপে ধাপে ব্যাখ্যা:

উদাহরণ ৬: দুটি সংখ্যার বৃহত্তর নির্ধারণের জন্য একটি ফাংশন

 def বৃহত্তর_সংখ্যা(a, b):
    # দুটি সংখ্যার তুলনা করুন এবং বড়টি দিন।
    যদি a > b:
        ফেরত দাও a
    অন্যথায়:
        রিটার্ন খ

# ৭ থেকে ১০ এর মধ্যে বৃহত্তর সংখ্যাটি খুঁজে বের করার জন্য ফাংশনটি ব্যবহার করা
বৃহত্তম = বৃহত্তর_সংখ্যা (৭, ১০)
print("বড় সংখ্যাটি হল", বৃহত্তম)
  

ধাপে ধাপে ব্যাখ্যা:

মডুলারিটির জন্য ফাংশন কেন গুরুত্বপূর্ণ

ফাংশন হল একটি শক্তিশালী হাতিয়ার যা আমাদের প্রোগ্রামগুলিকে মডুলার পদ্ধতিতে তৈরি করতে সাহায্য করে। ফাংশন ব্যবহার করে, আপনি আপনার প্রোগ্রামের পৃথক অংশ তৈরি করতে পারেন যা স্বাধীনভাবে কাজ করে। এর মানে হল যে যদি আপনার প্রোগ্রামের একটি অংশে ভুল থাকে বা উন্নতির প্রয়োজন হয়, তাহলে আপনাকে প্রচুর কোড অনুসন্ধান করার পরিবর্তে কেবল সেই একটি ফাংশনটি ঠিক করতে হবে।

মডুলার প্রোগ্রামিং হলো LEGO ব্লক দিয়ে তৈরি করার মতো। প্রতিটি ব্লক স্বাধীন এবং বিভিন্ন কাঠামো তৈরি করার জন্য বিভিন্ন উপায়ে সংযুক্ত করা যেতে পারে। যদি একটি ব্লক ভেঙে যায়, তাহলে আপনি পুরো দুর্গটি পুনর্নির্মাণ না করেই এটি প্রতিস্থাপন করতে পারেন। ফাংশনগুলির সাহায্যে, আপনার প্রোগ্রামের প্রতিটি ছোট অংশ নিজেই তৈরি, পরীক্ষা এবং ঠিক করা যেতে পারে।

এই প্রোগ্রামিং পদ্ধতি আপনাকে সমস্যাগুলি আরও ভালভাবে বুঝতে সাহায্য করে এবং জটিল কাজগুলিকে সহজ করে তোলে। এটি আপনাকে সমস্যাগুলি সম্পর্কে যুক্তিসঙ্গতভাবে চিন্তা করতে এবং ধাপে ধাপে সেগুলি কীভাবে সমাধান করতে হয় তাও শেখায়।

মূল বিষয়গুলির সারাংশ

পরিশেষে, ফাংশনগুলি প্রোগ্রামিংয়ের একটি অপরিহার্য অংশ। এগুলি আমাদের পরিষ্কার, স্পষ্ট এবং সহজে বোধগম্য কোড লিখতে সাহায্য করে। ফাংশনগুলি ব্যবহার করে, আমরা বড় সমস্যাগুলিকে ছোট, পরিচালনাযোগ্য কাজে বিভক্ত করে সমাধান করতে পারি। এটি কোনও বন্ধুকে শুভেচ্ছা জানানো, গণনা করা, অথবা কোনও সংখ্যা জোড় কিনা তা পরীক্ষা করা যাই হোক না কেন, ফাংশনগুলি আমাদের প্রোগ্রামগুলিকে সহজ এবং মজাদার করে তুলতে সাহায্য করে।

সর্বদা মনে রাখবেন: ছোট ছোট ধাপ ব্যবহার করে প্রতিটি বড় কাজ সহজ করা যেতে পারে, এবং সেই ছোট ধাপগুলিই আপনার প্রোগ্রামের ফাংশন।

প্রোগ্রামিং শিখতে, অন্বেষণ করতে এবং মজা করতে থাকুন। সৃজনশীল এবং কার্যকর কোড লেখার প্রথম ধাপ হল ফাংশন!

Download Primer to continue