অ্যালগরিদম
কোন একটি সমস্যা সমাধানের জন্য কতকগুলো ধাপ অনুসরণ করতে হয়। অ্যালগরিদম অর্থ ধাপে ধাপে
সমস্যা সমাধান। অর্থাৎ একটি সমস্যাকে কয়েকটি ধাপে ভেঙে প্রত্যেকটি ধাপ পর্যায়ক্রমে সমাধান করে সমগ্র সমস্যা
সমাধান করা। সমস্যা সমাধানের এই যৌক্তিক পর্যায়ক্রমকে অ্যালগরিদম বলা হয়। অন্য কথায়, যে পদ্ধতিতে ধাপে ধাপে
অগ্রসর হয়ে কোনো একটি নির্দিষ্ট সমস্যার সমাধান করা হয় তাকে অ্যালগরিদম বলা হয়।
অ্যালগরিদমের বৈশিষ্ট্য
১. অ্যালগরিদমে শূন্য, এক বা একাধিক ইনপুট থাকে।
২. কমপক্ষে একটি আউটপুট থাকে।
৩. প্রত্যেকটি ধাপ স্পষ্ট থাকে ।
৪. অ্যালগরিদম সহজবোধ্য।
৫. নির্দিষ্ট সংখ্যক ধাপে সমস্যার সমাধান হয়।
৬. একে ব্যাপকভাবে প্রয়োগ করা সম্ভব।
উদাহরণ
তিনটি সংখ্যার যোগফল এবং গড় নির্ণয়ের অ্যালগরিদম।
ধাপ-১ : শুরু।
ধাপ-২ : সংখ্যা তিনটি পড়।
ধাপ-৩ : সংখ্যা তিনটির যোগফল বের কর।
ধাপ-৪ : যোগফলকে ৩ দ্বারা ভাগ করে গড় নির্ণয় কর।
ধাপ-৫ : যোগফল এবং গড় ছাপাও।
ধাপ-৬ : শেষ কর।
ফ্লোচার্ট
অ্যালগরিদমের চিত্ররূপ হলো ফ্লোচার্ট বা প্রবাহচিত্র। ফ্লোচার্ট প্রোগ্রামের প্রকৃতি ও ধারাবাহিকতা বুঝাতে সাহায্য করে।
ফ্লোচার্ট তৈরির ক্ষেত্রে নির্দিষ্ট কিছু প্রতীক বা ব্লক ব্যবহার করা হয় এবং সেগুলোকে তাদের ক্রমানুসারে বিন্যস্ত করে তীর
চিহ্ন দ্বারা সংযুক্ত করে ফ্লোচার্ট তৈরি করতে হয়। ফ্লোচার্টের উপর নির্ভর করে প্রোগ্রাম রচনা করা হয়। তবে ফ্লোচার্ট
কোনো নির্দিষ্ট প্রোগ্রামিং ভাষায় লেখা উচিত নয়। একটি ফ্লোচার্টের ডিজাইন ব্যক্তি থেকে ব্যক্তিতে আলাদা হতে পারে।
এজন্য একজন প্রোগ্রামারকে সর্বোত্তম না হলেও চেষ্টা করা উচিত একটি ভালো ফ্লোচার্ট তৈরি করার।
ফ্লোচার্টের বৈশিষ্ট্য
একটি উন্নতমানের ফ্লোচার্টে নিচে লিখিত বৈশিষ্ট্যসমূহ বিদ্যমান। যেমন ―
১। প্রোগ্রামের ভুল নির্ণয়ে সহায়তা করে।
২। প্রোগ্রাম পরিবর্তন এবং পরিবর্ধনে সহায়তা করে।
৩। সহজে প্রোগ্রামের উদ্দেশ্য বুঝা যায়।
৪। সহজে ও সংক্ষেপে জটিল প্রোগ্রাম লেখা যায়।
৫। প্রোগ্রাম রচনায় সহায়তা করে।