C++ এর A to Z, [পর্ব- ০৬] :: ফাংশন

হ্যালো বন্ধুরা কেমন আছো  সবাই?? আশা করছি প্রোগ্রামিং কে সাথে নিয়ে নতুন কিছু শেখা ভালই চলছে । তোমাদের সামনে আবারো  হাজির হলাম ৬তম পর্ব নিয়ে। আমার আজকের টিউটোরিয়ালটি function নিয়ে সাজানো। function  নিয়ে হয়তোবা আমি এর আগে কোন টিউটোরিয়াল এ কিছুটা আলোচনা করেছিলাম। আমি আবারো  function  নিয়ে আলোচনা করতে চাই আসলে  function  টা কি ?? আর কেন  function  টি c++ প্রোগ্রামিং এ ব্যাবহারযোগ্য।

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

#include<iostream>

using namespace std;

int main()

{

cin.get();

return 0;

}

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

#include<iostream>

using namespace std;

int main()

{

cin.get();

return 0;

}

এটা একটি ফাংশন।তাহলে চলো আমরা আরও একটি ফাংশন তৈরি করি। সেটার জন্যে আমরা মেইন ফাংশন এর বাইরে তৈরি করবো। এখন আমাদের প্রথমে যে জিনিষটা লাগবে সেটা হল return type। যখন কেউ একটি ফাংশন তৈরি করে তারা সচরাচর কোন একটা ক্যাল্কুলেসন তৈরি করে যেটা কিছু back দিবে।

যেমন,

যদি আমাদের একটা ফাংশন থাকে যেটা আমার ওজন গণনা করবে সেটা তখন আমাকে কিছু সংখা back দিবে।

আসলে ফাংশন সব সময় যে গুননা করে তা  কিন্তু নয়। অনেক সময় ফাংশন তৈরি করাহয় শুধু মাত্র কোন কিছু প্রিন্ট আউট করার জন্যে। তো কিছু সময় ফাংশন কোন কিছু গণনা করে তোমাকে কিছু return back  দিবে। এবার কোন কোন সময় ফাংশন শুধু মাত্র কিছু প্রিন্ট আউট করবে কিন্তু কোন  return back  দিবেনা।

যখন তুমি একটা ফাংশন তৈরি করতে চাচ্ছো যেটা শুধু প্রিন্ট আউট করবে কিন্তু কোন কিছু return back দিবেনা সেটার জন্যে শুধু টাইপ করো void তোমার ফাংশন এর নাম দাও। যেমনটা আমরা প্রথম ফাংশন এ দিয়েছিলাম main তো আমাদের নতুন void  ফাংশন এর নাম দিলাম nilpakhi ওকে এরপরে আমরা আগের মতই পারেন্থেসিস যুক্ত করবো এরপরে ব্রেসেস যুক্ত করবো।

আমি তোমাদের আগেই বলছিলাম যে ব্রেসেস এর মাঝে যা থাকে তাকে বলা হয় body of a function তো প্রত্তেক্ত ফাংশন এর বডি তেই ফাংশন এর সব ইন্সট্রাকশন দেওয়া হয়। তো এখন আমরা বডিতে লিখতেছি যে।

cout<<" we love hemel's programming tutorials"<<endl;

মম আসলেই আমার টিউটোরিয়াল তোমরা লাইক করো নাকি?? তো আমাদের void ফাংশন টি দারাল ঠিক  এরকম

#include<iostream>

using namespace std;

int main()

{

cin.get();

return 0;

}

void nilpakhi()

{

cout<<"we love hemel's programming tutorials"<<endl;

}

যখন আমরা এই ফাংশনটিকে কল করবো তখনি ফাংশন টি ডিসপ্লে করবে

we love hemel's programming tutorials
ওকে একটা বিসয় সব সময় স্মরণ রাখবে সেটা হল। যখনি আমাদের প্রোগ্রামটি মেইন ফাংশন দিয়ে শুরু তখন আমাদের মেইন ফাংশনকে বলতে হবে যে আমি নতুন ফাংশনটি ব্যাবহার করতে চাচ্ছি। তো নতুন ফাংশনটি কে ডিসপ্লে করার জন্যে মেইন ফাংশনের মধ্যে টাইপ করো

nilpakhi();

তো এখন যদি আমরা প্রোগ্রামটিকে কম্পাইল করে রান করি তাহলে অবশ্যই error দেখাবে।


তোমরা  দেখতে পাচ্ছ কম্পাইলর লাল চিহ্ন দারা  error  বুঝাচ্ছে। তো আসলে প্রবলেম কথায়?? তোমরা হয়ত চিন্তা করতেছ হিমেল বলেছে যে প্রোগ্রামটি ভালভাবেই তৈরি করা হয়েছে কিন্তু  error  দেখাচ্ছে কেন?? কিন্তু যখনি আমরা কম্পাইল করে রান করলাম কম্পাইলার আমাদের  error  দেখাচ্ছে। আসলে কম্পিউটার প্রোগ্রাম কাজ করে একদম শুরু থেকে

তো শুরু থেকে প্রোগ্রামটি চেক করে যখন মেইন ফাংশন এ আসে তখন প্রোগ্রামটি c++ চিন্তা করে  nilpakhi() এটা কথা থেকে আসল?? সে কারনে কম্পাইলর প্রোগ্রামটিকে error দেখায়। তো এটার জন্যে আমাদের যেটা করতে হবে সেটা হচ্ছে আমাদের নতুন ফাংশনটিকে মেইন ফাংশন এর পূর্বে বসাতে হবে। তাহলে কম্পাইলর যখন চেক করবে তখন আর error দেখাবেনা। তো আমরা আমদের প্রোগ্রামটিকে সাজাব এভাবে।

#include<iostream>

using namespace std;

void nilpakhi()

{

cout<<"we love hemel's programming tutorials"<<endl;

}
int main()

{

nilpakhi();

cin.get();

return 0;

}

এখন প্রোগ্রামটিকে রান করলে আর error   দেখাবেনা।


এখন আমরা আমাদের কাংখিত লেখাটি ডিসপ্লে তে দেখতে পাচ্ছি।

আশা করি ফাংশন সম্পর্কে বুঝতে তোমাদের আর সমস্যা হবেনা।জদি কোন সমস্যা হয় কিম্বা কোন প্রশ্ন থাকে তাহলে অবশ্যই কমেন্ট করে জানাবে।


কিম্বা সরাসরি ফেসবুকে আমি Mustakim Billah Hemel

সৌজন্যেঃ Sciencetech

Previous
Next Post »

পোস্ট সম্পর্কিত সমস্যার জন্য মন্তব্য দিন।ডাউনলোড লিঙ্ক এ সমস্যা জন্য ইনবক্স করুন Aimzworld007
ConversionConversion EmoticonEmoticon

Thanks for your comment