বিষয়বস্তুতে চলুন

প্রোগ্রামিংয়ের মৌলিক ধারণা/মডুলার প্রোগ্রামিং

উইকিবই থেকে

সংক্ষিপ্ত বিবরণ

[সম্পাদনা]

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

মডিউলারাইজেশনের ধারণা

[সম্পাদনা]

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

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

সাধারণভাবে, ফাংশন বা মডিউল দুটি প্রধান শ্রেণিতে বিভক্ত:

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

বিভিন্ন কম্পিউটার প্রোগ্রামিং ভাষায়, ফাংশনের কার্যকারিতা পরিচালনার জন্য প্রধাণ প্রোগ্রাম -কে মূলত তিনটি কাজ করতে হয়:

  1. ফাংশন ডিফাইন করাফাংশন ডিফাইন করা -এই কথাটির সহজ অর্থ হল কোন প্রোগ্রামের ভেতরে একটি ফাংশন গঠন করা এবং সেই ফাংশনের অন্তর্গত নির্দেশাবলি ও কোড লিখনের কাজ সম্পন্ন করা। অর্থাৎ প্রোগ্রামের ভেতর একটি বিশেষ কার্য সম্পাদনকারী ফাংশনের অস্তিত্ব প্রতিষ্ঠা করাই হল ফাংশন ডিফাইন করা। ইংরেজিতে একে ডিফাইন আ ফাংশন হিসাবে অভিহিত করা হয়।
  2. ফাংশন কল করা – কম্পিউটার প্রোগ্রামে একটি ফাংশন ডিফাইন করার পর যখন সেই ফাংশনের প্রয়োজন পরে তখন প্রোগ্রাম সেই নির্দিষ্ট ফাংশনকে এক বিশেষ সংকেত বা কোড ব্যাবহারের মাধ্যমে কাজ করার নির্দেশ দেয়। এই বিশেষ সাংকেতিক নির্দেশকেই বলা হয়, ফাংশন কল করা
  3. ফাংশন ডিক্লেয়ার করা – সি ও সি++ ইত্যাদি কিছু প্রোগ্রামিং ভাষায় কোন ফাংশন ব্যবহারের আগে কোডস্পেস (কম্পিউটারের যেখানে প্রোগ্রাম মুদ্রিত ও চালনা করা হয়) -এর একদম উপরের দিকে সেই ফাংশনের প্রোটোটাইপ -কে মুদ্রিত করা হয়। প্রোটোটাইপ হল ফাংশনের নাম ও কার্যকারিতা প্রকাশকারী এক ক্ষুদ্র বিশেষ সংকেত []। এককথায় প্রোটোটাইপ হল যেকোন ফাংশনের পূর্বঘোষণা। একেই বলা হয় ফাংশন ডিক্লেয়ার করা। সি ও সি++ ইত্যাদি কিছু প্রোগ্রামিং ভাষায় ফাংশন এই ফাংশন ডিক্লেয়ার করা অত্যন্ত গুরুত্বপূর্ন বিশেষ করে যদি সেই ফাংশন প্রোগ্রামের মূল চালিকাশক্তি মেইন ফাংশন -এর পরে ডিফাইন করা হয়। সেক্ষেত্রে আগে থেকে ফাংশন ডিক্লেয়ার না করলে তাকে ব্যাবহার করা যায়না।(পরে মেইন ফাংশন সম্পর্কে বিশদে আলোচনা করা হয়েছে।)

বি.দ্র.: অধিকাংশ প্রোগ্রামিং ভাষায় ফাংশন ডিফাইন ও কল করা সাধারণ কাজ। তবে ফাংশন ডিক্লেয়ারেশন (প্রোটোটাইপ) নির্দিষ্ট কিছু ভাষার (যেমন সি ও সি++) জন্য প্রযোজ্য।

নিচে একটি সি প্রোগ্রামের মাধ্যমে ফাংশন ডিফাইন, ফাংশন কল এবং ফাংশন ডিক্লেয়ার -এর উদাহরন দেওয়া হল।

#include <stdio.h>

//add function declaration
int add(int a, int b);

// main
int main() {
    int result;
    result = add(5, 3); // add function is being called
    printf("result: %d\n", result);
    return 0;
}

//add function define
int add(int a, int b) {
    return a + b;
}

উপরের সি প্রোগ্রামটি থেকে তিনটি নিম্নলিখিত বিষয় লক্ষ্য করুন;

প্রথমত, প্রোগ্রামের পনের তম লাইনে add() নামক একটি ফাংশন ডিফাইন করা হয়েছে যা দুটি পূর্নসংখ্যার যোগফল প্রদান করবে। অর্থাৎ এই যে add() নামক একটি নতুন ফাংশনের গঠন করা হয়েছে দুটি পূর্নসংখ্যার যোগ করার জন্য সেটাকেই কম্পিউটার বিজ্ঞানের ভাষায় ফাংশন ডিফাইন করা বলে।

দ্বিতীয়ত, প্রোগ্রামের মূল ফাংশন main() -এর ভেতরে, প্রোগ্রামের নবম লাইনে দেখুন add() ফাংশনকে কিভাবে কল করা হয়েছে এবং ফাংশনের ইনপুট হিসাবে দুটি পূর্ন সংখ্যা পাঁচ এবং ছয় প্রদান করা হয়েছে। এই উদাহরন থেকে সহজেই বোঝা যায় যে কিভাবে একটি ফাংশন কল করে তার মধ্যে ইনপুট প্রদান করা হয়েছে।

তৃতীয়ত, এখানে একটা জিনিষ লক্ষ্য করুন যে, add() ফাংশনের মূল কাঠামোর অবস্থান main() ফাংশনের বাইরে। main() ফাংশন যাতে add() ফাংশনকে এই প্রোগ্রামের অংশ হিসাবে চিনতে পারে তার জন্য প্রোগ্রামের চতুর্থ লাইনে (এবং main() ফাংশনের মূল কাঠামোর পূর্বে) add() ফাংশন ডিক্লেয়ার করা হয়েছে। প্রোগ্রামের চতুর্থ লাইনে মুদ্রিত int add(int a, int b); হল add() ফাংশনের মূল কাঠামোর একটি প্রোটোটাইপ যার মাধ্যমে main() ফাংশন বুঝতে পারে যে এই প্রোগ্রামে add() নামক আরেকটি ফাংশনের অস্তিত্ব রয়েছে। এইভাবেই ফাংশন ডিক্লেয়ার করা হয়।

বিভিন্ন ফাংশন কর্তৃক ডেটা বা তথ্য আদান-প্রদানের নিয়ম নিম্নরূপ;

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

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

  1. প্রোগ্রামের ফাংশনে ইনপুট দেওয়া না হলে সাধারণত ফাংশন আউটপুটও দেয়না
  2. কিছু কিছু ক্ষেত্রে প্রোগ্রামের ফাংশনে ইনপুট নেই, কিন্তু তাও ফাংশনের একটি নিজস্ব আউটপুট থাকে
  3. প্রোগ্রামের ফাংশনে প্যারামিটার পাসিং পদ্ধতির মাধ্যমে ইনপুট প্রেরণ করা হয় এবং ফাংশন ইনপুটের তথ্য বিশ্লেষণের মাধ্যমে আউটপুটও বা ফলাফল প্রদাণ করে।
  4. কিছু কিছু ক্ষেত্রে প্রোগ্রামের ফাংশনে ইনপুট প্রদাণ করা হয়, কিন্তু ফাংশন কোণ আউটপুট প্রদাণ করেনা।

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

প্রোগ্রাম কন্ট্রোল ফাংশন এবং মেইন ফাংশন

[সম্পাদনা]

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

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

এবার main() ফাংশনের কাঠামোগত উপাদান নিয়ে আলোচনা করা যাক। main() ফাংশনের ভেতরে সাধারণত উপাদানগুলি নিম্নরূপ:

  1. main() ফাংশন সাধারণ ফাংশন হলেও এটি প্রোগ্রামের অন্য ফাংশনের মতো নয়।
  2. main() ফাংশনের সাধারণত কোণ প্রোটোটাইপ ডিক্লেয়ারেশনের দরকার হয়না, কারণ এটি প্রোগ্রামের প্রধান ফাংশন এবং অপারেটিং সিস্টেম বা কম্পাইলার সরাসরি main() ফাংশনের সাথে যোগাযোগ করতে পারে।
  3. অন্য ফাংশনের মতো main() ফাংশনকে সাধারণত কল করতে হয় না; কম্পিউটারের সিস্টেমে প্রোগ্রাম স্বক্রিয় হলেই main() ফাংশন স্বয়ংক্রিয়ভাবে চালু হয়ে যায়।

নির্দিষ্ট কাজের ফাংশন (স্পেসিফিক টাস্ক ফাংশন)

[সম্পাদনা]

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

এই ফাংশনগুলি একটি নির্দিষ্ট কাজ বা স্পেসিফিক টাস্ক সম্পাদন করে তাই এদের নাম নির্দিষ্ট কাজের ফাংশন বা স্পেসিফিক টাস্ক ফাংশন।

সি++, সি শার্প, জাভা -এর মতো প্রোগ্রামিং ভাষার জন্য স্পেসিফিক টাস্ক ফাংশন -এর সাধারণ কাঠামোটি হল,

<return value data type> function identifier name(<data type> <identifier name for input value>) {
    //lines of code;
    return <value>;
}

জাভাস্ক্রিপ্ট প্রোগ্রামিং ভাষার জন্য স্পেসিফিক টাস্ক ফাংশন -এর সাধারণ কাঠামোটি হল,

function identifier name(<identifier name for input value>) {
    //lines of code;
    return <value>;
}

পাইথন প্রোগ্রামিং ভাষার জন্য স্পেসিফিক টাস্ক ফাংশন -এর সাধারণ কাঠামোটি হল,

def function identifier name(<identifier name for input value>):
    //lines of code
    return <value>

কিছু প্রোগ্রামিং ভাষায় (যেমন সি, জাভা) ফাংশনের কোড ব্লক বা মূল কাঠামো -কে চিহ্নিত করার জন্য {} ব্যবহার করা হয়। আবার আধুনিক কিছু প্রোগ্রামিং ভাষা (যেমন পাইথন) ইন্ডেন্টেশন শৈলী[] বা begin এবং end এর মতো সংকেত ব্যবহার করে ফাংশনের মূল কাঠামোর শুরু ও শেষ বোঝায়। সাধারণত, প্রতিটি ফাংশনের ভিতরে একাধিক কোড লাইন থাকে যা একটি নির্দিষ্ট কাজ সম্পন্ন করে।

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

প্রোগ্রামের বিন্যাস

[সম্পাদনা]

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

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

ইনক্লুড বা ইমপোর্ট স্টেটমেন্ট: স্ট্যান্ডার্ড লাইব্রেরি[] -এর ফাংশন ব্যবহার করতে এই সংকেতগুলি প্রোগ্রামে যুক্ত করা হয়। যেমন সি ও সি++ প্রোগ্রামের ক্ষেত্রে #include, পাইথন প্রোগ্রানের ক্ষেত্রে import ইত্যাদি।

ভাষা-নির্ভর কোড: কিছু ভাষায় নেমস্পেস, ফাংশন প্রোটোটাইপ ইত্যাদি উল্লেখ করতে হয়।

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

মূল পরিভাষা

[সম্পাদনা]

নিচে দেওয়া হলো উল্লিখিত শব্দগুলোর বাংলা অনুবাদসহ সংজ্ঞা:

ব্রেসেস
ব্রেসেস হল {} চিহ্ন, যা সি++, সি শার্প, জাভা ও জাভাস্ক্রিপ্ট -এর মতো ভাষায় কোডের মূল কাঠামো বা কোড ব্লক চিহ্নিত করতে ব্যবহার হয়।
ফাংশন
আধুনিক প্রোগ্রামিং ভাষাগুলিতে মডিউল বা কোডের অংশ যা নির্দিষ্ট কাজ সমাপন করে।
ফাংশন কল
একটি ফাংশনের ভেতর থেকে অন্য একটি ফাংশনকে কিছু কাজ করার জন্য আহ্বান করা।
ফাংশন ডেফিনিশন
একটি ফাংশনের কার্যাকারিতার প্রতিষ্ঠা
ফাংশন প্রোটোটাইপ
একটি ফাংশনের পূর্বঘোষণা যার মাধ্যমে কম্পাইলারকে জানানো হয় ফাংশনের নাম, ইনপুট তথ্য এবং ফাংশনটিকে কিভাবে আহ্বান (কল) করা হবে।
আইডেন্টিফায়ার নাম
প্রোগ্রামার কর্তৃক নির্দিষ্টকৃত নাম, যা ফাংশন, ভেরিয়েবল ইত্যাদি চিহ্নিত করতে ব্যবহৃত হয়।
মডিউলারাইজেশন
কিছু নির্দিষ্ট কোডকে লাইনের একটি একক অংশে বিন্যস্ত করার সক্ষমতা, যা প্রোগ্রামে বারবার ব্যবহারযোগ্য।
প্যারামিটার পাসিং
একটি ফাংশনে ইনপুট তথ্যের প্রকৃতি এবং আউটপুট তথ্যের প্রকৃতি।
প্রোগ্রাম কন্ট্রোল
প্রোগ্রামকে বিভিন্ন ছোট অংশে ভাগ ও নিয়ন্ত্রণ করার জন্য ব্যবহৃত ফাংশন।
স্পেসিফিক টাস্ক
এমন ফাংশন যা একাধিক প্রোগ্রামে ব্যবহারযোগ্য এবং নির্দিষ্ট একটি কাজ সম্পন্ন করে।

তথ্যসূত্র

[সম্পাদনা]