প্রোগ্রামিং এর কাজ কি?

প্রোগ্রামিং এর কাজ কি?

আপনি কি প্রায়শই আপনার প্রোগ্রামের বিভিন্ন বিভাগে পুনuseব্যবহার করার জন্য আপনার কোডটি অনুলিপি এবং আটকান?





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





একটি ফাংশন কি?

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





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

আপনি কিভাবে একটি ফাংশন লিখবেন?

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



সম্পর্কিত: প্রোগ্রামিং ভাষাগুলি ফাংশন ছাড়া কেন বিদ্যমান থাকতে পারে না

অকার্যকর ফাংশন

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





টিপ: ফাংশনগুলির নাম দিন যা তারা কী করে তা ব্যাখ্যা করে। ফাংশনগুলি পরিচালনা করা এবং কোডটি পড়া আরও সহজ হবে কারণ আপনার প্রোগ্রামটি আরও জটিল হয়ে উঠবে।

পাইথন





def helloFunction():
print('Hello World')
helloFunction()

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

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

জাভাস্ক্রিপ্ট

উইন্ডোজ 10 ওয়াইফাই সংযোগ বন্ধ করে রাখে
function helloFunction(){
alert('Hello World!');
}
helloFunction();

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

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

দ্রষ্টব্য: অনেক ভালো লেগেছে ছাপা() আগের উদাহরণে, সতর্কতা () এছাড়াও একটি ফাংশন।

সি ++

#include
using namespace std;
void helloFunction(){
cout << 'Hello World!';
}
int main(){
helloFunction();
return 0;
}

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

আপনি কি C ++ কোডে আরেকটি ফাংশন দেখেছেন? হ্যাঁ, প্রধান () একটি ফাংশন। যখন আপনি একটি C ++ প্রোগ্রাম চালান, আপনি স্বয়ংক্রিয়ভাবে প্রধান ফাংশন কল করুন। যখন প্রধান ফাংশন সফলভাবে সম্পন্ন হয়, এটি 0 প্রদান করে কারণ এটি প্রোগ্রাম থেকে বেরিয়ে আসে সিগন্যাল করার জন্য যে প্রোগ্রাম চালানোর সময় কোন ত্রুটি ছিল না।

ফাংশন যা মান প্রয়োজন

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

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

পাইথন

def helloFunction(newPhrase):
print(newPhrase)
helloFunction('Our new phrase')

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

জাভাস্ক্রিপ্ট

function helloFunction(newPhrase){
alert(newPhrase);
}
helloFunction('Our new phrase');

সি ++

অ্যান্ড্রয়েড থেকে পিসিতে ফাইল ট্রান্সফার
#include
using namespace std;
void helloFunction(string newPhrase){
cout << newPhrase;
}
int main(){
helloFunction('Our new Phrase');
return 0;
}

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

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

সম্পর্কিত: 5 টি কার্যকরী প্রোগ্রামিং ভাষা যা আপনার জানা উচিত

একটি মান ফেরত যে ফাংশন

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

পাইথন

def addingFunction(a, b):
return a + b
print(addingFunction(2, 4))

এই উদাহরণে, আমাদের ফাংশনটির পরিবর্তে দুটি ভেরিয়েবল প্রয়োজন। আমরা কমা দিয়ে আমাদের পরিবর্তনশীল নাম আলাদা করে নির্দেশ করি। কীওয়ার্ড প্রত্যাবর্তন ফাংশনকে নিম্নলিখিত ডেটা ফেরত দিতে বলে, এই ক্ষেত্রে, 2 + 4, বা 6. আমরা ফাংশনকে ভিতরে কল করি ছাপা() ফাংশন

একবার আমাদের প্রোগ্রাম সেই লাইনে পৌঁছে গেলে, এটি থেমে যেত, আমাদের ফাংশনটি চালাত এবং তারপর চলতে থাকে যেন ফাংশন যোগ করা (2, 4) আসলে ফেরত দেওয়া মান ছিল 6।

জাভাস্ক্রিপ্ট

জাভাস্ক্রিপ্ট কোডটি পাইথন কোডের অনুরূপ। প্রাথমিক পার্থক্য হল যে ফাংশন একটি সতর্কতা বলা হয়।

function addingFunction(a, b){
return a + b;
}
alert(addingFunction(2, 4));

সি ++

#include
using namespace std;
int addingFunction(int a, int b){
return a + b;
}
int main(){
cout << addingFunction(2, 4) ;
return 0;
}

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

আপনার কার্যাবলী পরিচালনা করুন

ফাংশন সম্পর্কে একটি মজার বিষয় হল যে ফাংশন অন্যান্য ফাংশন কল করতে পারে। এমনকি তারা নিজেদের ডাকতে পারে! কিন্তু মহান ক্ষমতা সঙ্গে মহান দায়িত্ব আসে। আরো ফাংশন কল যে অন্যান্য ফাংশন কল যে ফাংশন সঙ্গে কোড তৈরি পাগল না।

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

শেয়ার করুন শেয়ার করুন টুইট ইমেইল কিভাবে আপনার কোড অবজেক্ট এনক্যাপসুলেশন দিয়ে পরিষ্কার রাখবেন

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

পরবর্তী পড়ুন
সম্পর্কিত বিষয়
  • প্রোগ্রামিং
  • প্রোগ্রামিং
  • কার্যকরী প্রোগ্রামিং
লেখক সম্পর্কে জেনিফার সিটন(21 নিবন্ধ প্রকাশিত)

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

জেনিফার সিটন থেকে আরো

আমাদের নিউজলেটার সদস্যতা

প্রযুক্তি টিপস, রিভিউ, ফ্রি ইবুক এবং এক্সক্লুসিভ ডিলের জন্য আমাদের নিউজলেটারে যোগ দিন!

সাবস্ক্রাইব করতে এখানে ক্লিক করুন