প্রোগ্রামিং একটি ফাংশন কি?

আপনি কি আপনার প্রোগ্রামের বিভিন্ন বিভাগে পুনরায় র জন্য নিজের কোডটি অনুলিপি এবং আটকানো দেখতে পান?

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

একটি কাজ কি?

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

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

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

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

সম্পর্কিত: প্রোগ্রামিং ভাষাগুলি বিনা কারনে অস্তিত্ব রাখতে পারে না কেন

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

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

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

পাইথন

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

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

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

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

 function helloFunction(){
alert("Hello World!");
}
helloFunction();

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

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

দ্রষ্টব্য: পূর্ববর্তী উদাহরণে মুদ্রণের মতো () অনেকটা সতর্কতা () এছাড়াও একটি ফাংশন।

সি ++

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

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

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

মূল্যবোধের প্রয়োজন হয় এমন কার্যাদি

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

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

পাইথন

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

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

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

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

সি ++

 #include <iostream>
using namespace std;
void helloFunction(string newPhrase){
cout << newPhrase;
}
int main(){
helloFunction("Our new Phrase");
return 0;
}

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

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

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

ক্রিয়াকলাপ যা একটি মান দেয় Return

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

পাইথন

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

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

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

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

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

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

সি ++

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

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

আপনার কাজ পরিচালনা করুন

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

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