অ্যালগরিদম (Algorithm)
কোন সমস্যাকে ধাপে ধাপে সমাধান করার পদ্ধতিকে Algorithm বলে। অন্যভাবে যদি বলি তাহলে, কোন একটি নির্দিষ্ট সমস্যা সমাধানের ক্ষেত্রে কতগুলো যৌক্তিক সিদ্ধান্তের মাধ্যমে পর্যায়ক্রমে সমস্যাটি সমাধানের পরিকল্পনাকে অ্যালগরিদম বলে। অ্যালগরিদম শব্দটি মুসলিম গণিতবিদ “আল-খোয়ারেজমী” এর নাম থেকে নামকরণ করা হয়েছে। অ্যালগরিদম প্রোগ্রামের একটি গুরুত্বপূর্ণ অংশ।
অ্যালগরিদম তৈরির নিয়ম বা শর্ত :
- অ্যালগরিদম সহজবোধ্য হতে হবে।
- প্রত্যেকটি ধাপ স্পষ্ট হতে হবে।
- ধাপে ধাপে সমস্যার সমাধান করতে হবে।
- প্রয়োগ উপযোগী হতে হবে।
- কম সংখ্যক ধাপে সমস্যার সমাধান করতে হবে।
- প্রতিটি ধাপ যুক্তি নির্ভর হতে হবে।
- সুনির্দিষ্ট আউটপুট থাকতে হবে।
অ্যালগরিদম লেখার সুবিধা :
- প্রোগ্রামের ভুল নির্ণয় সহায়তা করে।
- প্রোগ্রাম পরিবর্তন ও পরিবর্ধনে সহায়তা করে।
- সহজে প্রোগ্রামের উদ্দেশ্য বুঝা যায়।
- জটিল প্রোগ্রাম সহজে তৈরি করা যায়।
অ্যালগরিদম লেখার অসুবিধা :
- প্রোগ্রাম বুঝতে বেশি সময় লাগে।
- প্রোগ্রাম প্রবাহের দিক হাঠাৎ বুঝে উঠা যায় না।
Note : অ্যালগরিদম ও ফ্লোচার্ট তৈরি করতে পর্যায়ক্রমিকভাবে ৫টি কাজ (নূন্যতম ধাপ) সম্পন্ন করতে হয়। যথা-
- প্রোগ্রাম শুরু করা
- ইনপুট গ্রহণ করা
- প্রক্রিয়াকরণ তথা প্রোগ্রামের মূল কাজ করা
- আউটপুট প্রদর্শন করা
- প্রোগ্রাম শেষ করা
উদাহরণ-০১ : তিনটি সংখ্যার যোগফল নির্ণয়ের অ্যালগরিদম লেখ।
সমাধান :
ধাপ-০১ : প্রোগ্রাম শুরু করি।
ধাপ-০২ : a, b ও c সংখ্যা তিনটি গ্রহণ করি।
ধাপ-০৩ : Sum=a+b+c নির্ণয় করি।
ধাপ-০৪ : প্রাপ্ত Sum এর মান প্রিন্ট করি।
ধাপ-০৫ : প্রোগ্রাম শেষ করি।
ফ্লোচার্ট (Flowchart) বা প্রবাহচিত্র
যে চিত্রের মাধ্যমে কোন সিস্টেম বা প্রোগ্রাম কিভাবে কাজ করবে তার গতিধারা নির্ধারণ করা হয় তাকে ফ্লোচার্ট বা প্রবাহচিত্র বলে। ফ্লোচার্ট অ্যালগরিদমের চিত্ররুপ অর্থাৎ অ্যালগরিদমের ধাপগুলি নির্দিষ্ট চিত্রের মাধ্যমে তুলে ধরাই হচ্ছে ফ্লোচার্ট। প্রোগ্রাম সহজে বুঝার জন্য ফ্লোচার্ট অত্যন্ত গুরুত্বপূর্ণ। ফ্লোচার্ট বা প্রবাহচিত্র দুই প্রকার। যথা-
- সিস্টেম ফ্লোচার্ট
- প্রোগ্রাম ফ্লোচার্ট
সিস্টেম ফ্লোচার্ট : কোন সংস্থা বা সংগঠনের সকল কাজের ধারাবাহিকতা একটি চিত্রের মাধ্যমে প্রকাশ করলে তাকে সিস্টেম ফ্লোচার্ট বলে। যেমন-একটি হাসপাতালের যাবতীয় কাজের জন্য একটি ফ্লোচার্ট তৈরি করা। এক্ষেত্রে মনে রাখতে হবে সিস্টেম ফ্লোচার্টের সকল কাজ কমিাপউটার দ্বারা নিয়ন্ত্রিত নাও হতে পারে। সিস্টেম ফ্লোচার্টে অনেক ধরনের প্রতিক ব্যবহার করা হয়।
প্রোগ্রাম ফ্লোচার্ট : একটি কম্পিউটার প্রোগ্রাম লেখার পূর্বে প্রোগ্রামের ধারাবাহিক কার্যপ্রণালি একটি চিত্রের মাধ্যমে প্রকাশ করলে তাকে প্রোগ্রাম ফ্লোচার্ট বলে। প্রোগ্রাম ফ্লোচার্ট এর সকল কার্যধারা কম্পিউটার দ্বারা নিয়ন্ত্রিত। প্রোগ্রাম ফ্লোচার্ট-এ ব্যবহৃত প্রতিকগুলি নিচে দেওয়া হলো-
প্রোগ্রাম ফ্লোচার্টে ব্যবহৃত প্রতিকসমূহ এবং এদের ব্যবহার :
ফ্লোচার্ট তৈরির নিয়ম বা শর্ত :
- নির্দিষ্ট প্রতিক ব্যবহার করতে হবে।
- প্রবাহের দিক নির্দেশের জন্য তীর চিহ্ন ব্যবহার করতে হবে।
- অতিরিক্ত সংযোগ রেখা ও প্রতীকের ব্যবহার পরিহার করতে হবে।
- প্রতিকের ভিতরের লেখা সংক্ষিপ্ত ও সহজ হতে হবে।
- নির্দিষ্ট কোন প্রোগ্রামিং ভাষা ব্যবহার করা উচিৎ নয়।
- কোন অংশের বিস্তারিত বর্ণনার প্রয়োজন হলে তা পৃথকভাবে উল্লেখ করতে হবে।
- ফ্লোচার্টের প্রবাহের দিক সাধারণত উপর থেকে নিচের দিকে যাবে।
- প্রতিকগুলো ছোট বা বড় যাই হোক তাদের জ্যামিতিক আকৃতি অবিকৃত রাখতে হবে।
ফ্লোচার্ট তৈরির সুবিধা :
- সহজে প্রোগ্রামের উদ্দেশ্য বুঝা যায়।
- প্রোগ্রামের ভুল নির্ণয়ে সহায়তা করে।
- প্রোগ্রাম পরিবর্তন ও পরিবর্ধনে সহায়তা করে।
- প্রোগ্রামের দিক বুঝতে সহায়তা করে।
- সহজে ও সংক্ষেপে জটিল প্রোগ্রাম লিখতে সাহায্য করে।
- চিত্রের উপস্থাপন খুব সহজে বুঝা যায়।
উদাহরণ-০২ : তিনটি সংখ্যার যোগফল নির্ণয়ের ফ্লোচার্ট তৈরি কর।
সমাধান :
অ্যালগরিদম ও ফ্লোচার্টের মধ্যে পার্থক্য
অ্যালগরিদম(Algorithm) | ফ্লোচার্ট(Flowchart) |
১. সমস্যা সমাধানের ধাপসমূহের লিখিত পদ্ধতিকে অ্যালগরিদম বলে। | ১. সমস্যা সমাধানের ধাপসমূকে চিত্রের মাধ্যমে প্রকাশের পদ্ধতিকে ফ্লোচার্ট বলে। |
২.অ্যালগরিদম বর্ণনা নির্ভর। | ২.ফ্লোচার্ট চিত্র নির্ভর। |
৩.অ্যালগরিদম দেখে প্রোগ্রাম বুঝতে সময় বেশি লাগে। | ৩.ফ্লোচার্ট দেখে প্রোগ্রাম বুঝতে সময় কম লাগে। |
৪.প্রোগ্রামের দিক অনুধাবন করা যায় না। | ৪. প্রোগ্রামের দিক অনুধাবন করা যায়। |
৫. অ্যালগরিদমের সাহায্যে প্রোগ্রামের ভুলত্রুটি সহজে সংশোধন করা যায় না। | ৫. ফ্লোচার্ট দেখে প্রোগ্রামের ভুলত্রুটি সহজে সংশোধন করা যায়। |
Note : ১৯৪৫ সালে ফ্লোচার্টের প্রথম ডিজাইনার জন ভন নিউম্যান।
সুডোকোড (Pseudo Code) :
সুডো (Pseudo) একটি গ্রীক শব্দ। সুডো শব্দের অর্থ হচ্ছে ছদ্ম বা যা সত্য নয়। প্রোগ্রামাররা প্রোগ্রাম তৈরির পূর্ব প্রস্তুতি হিসেবে সুন্দর ও সহজ ইংরেজি ভাষায় প্রোগ্রামের যে খসড়া ভার্সন তৈরি করে তাকে সুডোকোড বলে। সুডোকোডকে অনেকসময় অ্যালগরিদমের বিকল্প হিসেবে বিবেচনা করা হয়।
যেমন-দুটি সংখ্যার যোগফল নির্ণয়ের সুডোকোড
INPUT A, B
SUM=A+B
PRINT SUM
STOP
তৃতীয় অধ্যায় লেকচার-১৬: রেজিস্টার এবং কাউন্টার সম্পর্কে আলোচনা।
Written by:
Author at www.habibictcare.com
Email:habibbzm2018@gmail.com
Cell: +8801712-128532,+8801913865284