অধ্যায় ১০: ফাংশন (Function)—বড় কোডকে ছোট ও সহজ করার ম্যাজিক ট্রিক!
হ্যালো ফিউচার কোডারস! আচ্ছা, তোমরা যখন কোনো গেম খেলো, তখন স্ক্রিনের একেকটি বাটন একেকটি নির্দিষ্ট কাজ করে, তাই না? যেমন—’A’ বাটনে চাপ দিলে ক্যারেক্টারটি লাফ দেয় (Jump), আর ‘B’ বাটনে চাপ দিলে সে গুলি ছোড়ে (Shoot)।
গেমের কোড কিন্তু হাজার হাজার লাইনের হয়। এখন প্রতিবার লাফানোর জন্য যদি ডেভেলপারকে বারবার ১০০ লাইনের কোড লিখতে হতো, তাহলে কোড দেখতে জগাখিচুড়ি হয়ে যেত! এই সমস্যা সমাধানের জন্যই জন্ম হয়েছে ফাংশন (Function)-এর।
সহজ কথায়, ফাংশন হলো কোডের একটি নির্দিষ্ট টুকরো বা ব্লক, যা একটি নির্দিষ্ট কাজ করে। তুমি একবার এই ব্লকটি বানিয়ে রাখবে, আর যখনই প্রয়োজন হবে, শুধু তার নাম ধরে ডাকবে (Call করবে), সে সেই কাজটি করে দেবে!
📦 ফাংশন কীভাবে কাজ করে? (বাস্তব জীবনের উদাহরণ)
ধরে নাও, তোমার বাসায় একটি জুসার মেশিন আছে। এই মেশিনের কাজ কী? ১. তুমি তাকে ফল ইনপুট দেবে (যেমন: আম বা কমলা)। ২. সে ভেতরে প্রসেস বা কাজ করবে। ৩. শেষে তোমাকে এক গ্লাস জুস আউটপুট বা রিটার্ন দেবে।
প্রোগ্রামিংয়ের ফাংশনও ঠিক এই জুসার মেশিনের মতো। আমরা তাকে কিছু ডেটা দিই, সে নিজের মতো কাজ করে আমাদের ফলাফল ফিরিয়ে দেয়।
💻 চলো আমাদের প্রথম নিজস্ব ফাংশন তৈরি করি!
আমরা এমন একটি ফাংশন বানাবো যা দুটি সংখ্যাকে যোগ করে দেবে। কোড ব্লকে নিচের কোডটি লিখে রান করো:
C
#include <stdio.h>
// ১. ফাংশন তৈরি করা (Function Definition)
int makeSum(int num1, int num2) {
int result = num1 + num2;
return result; // ফলাফল ফিরিয়ে দেওয়া
}
int main() {
int total;
// ২. ফাংশনকে নাম ধরে ডাকা (Function Call)
total = makeSum(10, 20);
printf("আমাদের ফাংশন বলল যোগফল হলো: %d\n", total);
// আমরা চাইলে যতবার খুশি একে আলাদা সংখ্যা দিয়ে ডাকতে পারি!
printf("আবার ডাকলাম, এবার যোগফল: %d\n", makeSum(50, 40));
return 0;
}
🔍 টিনএজ নোট: কোডে
int makeSum(...)খেয়াল করেছ? ফাংশনের নামের আগেintলেখার মানে হলো, এই ফাংশনটি কাজ শেষে আমাদের একটি পূর্ণসংখ্যা বা Integer মানreturnকরবে। আর ব্র্যাকেটের ভেতরেরnum1ওnum2হলো সেই ফলগুলো, যা আমরা ইনপুট হিসেবে জুসার মেশিনে দিচ্ছি!
⚙️ ফাংশনের সুবিধা কী?
- একই কোড বারবার লিখতে হয় না: একবার ফাংশন বানিয়ে রাখলে শতবার ব্যবহার করা যায়।
- কোড দেখতে সুন্দর হয়: বড় একটা কোডকে ছোট ছোট টুকরো করে রাখলে সহজে ভুল (Bug) খুঁজে বের করা যায়।
💡 আজকের কোডিং চ্যালেঞ্জ (Coding Challenge for You!)
আজকের চ্যালেঞ্জটি বেশ ইন্টারেস্টিং! তুমি নিজে একটি ফাংশন তৈরি করো যার নাম হবে makeSquare। ১. ফাংশনটি ইনপুট হিসেবে একটি মাত্র সংখ্যা (int x) নেবে। ২. সে সংখ্যাটিকে স্কয়ার বা বর্গ করবে (অর্থাৎ x * x)। ৩. বর্গের মানটি main() ফাংশনে return করবে এবং স্ক্রিনে প্রিন্ট করে দেখাবে।
যেমন: ৫ ইনপুট দিলে আউটপুট আসবে ২৫।
ঝটপট কোডটি ট্রাই করো এবং সফল হলে কমেন্ট বক্সে তোমার কোডের স্ক্রিনশট বা কোডটি শেয়ার করো!
আগামী পর্বে আমরা শিখবো একই টাইপের অনেকগুলো ডেটা একসাথে রাখার দারুণ ট্রিক—’অ্যারে’ (Arrays)! চোখ রাখো tolearnteam.com-এ!
Read All Articles
- শূন্য থেকে প্রোগ্রামিং হিরো: C Language ফুল কোর্স!
- কোডিংয়ের হাতেখড়ি: তোমার কম্পিউটারে প্রথম প্রোগ্রাম!
- মেমোরির ম্যাজিক বক্স: ভেরিয়েবল এবং ডেটা টাইপের সহজ পাঠ!
- কম্পিউটার এবার কথা শুনবে! ইউজারের কাছ থেকে ইনপুট নেওয়ার ম্যাজিক
- কম্পিউটারের নিজস্ব মগজ! if-else দিয়ে সিদ্ধান্ত নেওয়ার ম্যাজিক
- জিপিএ ক্যালকুলেটরের রহস্য! else if দিয়ে একাধিক শর্ত মেলানোর ট্রিক
- লজিকের সুপারপাওয়ার! AND এবং OR অপারেটর দিয়ে এক লাইনে একাধিক শর্ত মেলানোর ট্রিক
- এক কোডেই হাজার বার! লুপ (Loop) ব্যবহার করে কম্পিউটারের খাটুনি কমানোর ট্রিক
- শর্ত না মিললে নো এন্ট্রি! while এবং do-while লুপের ভেতরের গল্প
- কোড গুছানোর ম্যাজিক বক্স! C ল্যাঙ্গুয়েজে ফাংশন (Function) কেন এত দরকারি?
- মেমোরির লম্বা ট্রেন! C ল্যাঙ্গুয়েজে অ্যারে (Array) কী এবং কেন শিখব?
- অক্ষরের মালা! C ল্যাঙ্গুয়েজে স্ট্রিং (String) দিয়ে নিজের নাম প্রিন্ট করার ট্রিক
- মেমোরির গোপন ঠিকানা! C ল্যাঙ্গুয়েজে পয়েন্টার (Pointer) কী এবং কেন মানুষ একে ভয় পায়?
- নিজের ইচ্ছায় ডেটা টাইপ! C ল্যাঙ্গুয়েজে স্ট্রাকচার (Structure) দিয়ে কাস্টম প্রোফাইল তৈরির ট্রিক
- এবার আসল প্রজেক্ট! C ল্যাঙ্গুয়েজ দিয়ে নিজের তৈরি প্রথম “স্মার্ট ক্যালকুলেটর”
- C তো শিখলাম, এরপর কী? প্রোগ্রামিং দুনিয়ায় পরবর্তী স্বপ্নের জার্নি!
