এই পোস্টে আমরা ফ্লোचार্ট এবং অ্যালগরিদমের পার্থক্য বুঝব।
অ্যালগরিদম (Algorithm)
- এটি সুপরিভাষিত স্টেপের একটি সিকোয়েন্স হিসেবে ডিফাইন করা হয়।
- এই স্টেপগুলো হাতে থাকা সমস্যা সমাধানের একটি সমাধান/পথ দেয়।
- এটি একটি সিস্টেম্যাটিক এবং লজিক্যাল অপ্রোച്ച, যেখানে প্রসিডিউর ধাপে ধাপে ডিফাইন করা থাকে।
- এটি একটি নির্দিষ্ট সমস্যার সমাধান দেয়।
- এই সমাধানটি মেশিন কোডে ট্রান্সলেট হয়, যা সিস্টেম দ্বারা এক্সিকিউট হয়ে রিলেভেন্ট আউটপুট দেয়।
- অনেক সিম্পল অপারেশন কম্বাইন হয়ে একটি আরও জটিল অপারেশন তৈরি করে, যা কম্পিউটার সহজে পারফর্ম করে।
- অ্যালগরিদম ন্যাচারেল ল্যাঙ্গুয়েজ, ফ্লোचार্ট ইত্যাদি ব্যবহার করে রিপ্রেজেন্ট করা যায়।
- বুঝতে কঠিন।
- প্লেইন টেক্সট ব্যবহার করা হয়।
- ডিবাগ করা সহজ।
- এর কনস্ট্রাকশন কঠিন।
- এটি কনস্ট্রাক্ট করার সময় কোনো নিয়ম মানতে হয় না।
- এটিকে একটি প্রোগ্রামের সিউডোকোড (pseudocode) হিসেবে বুঝা যায়।
লিনিয়ার সার্চের জন্য অ্যালগরিদম
- অ্যারে-এর লেফটমোস্ট পার্ট থেকে একটি এলিমেন্ট সার্চ শুরু করুন।
- প্রতিটি ইটারেশনে একটি এলিমেন্ট item_to_be_searched-এর সাথে কমপেয়ার করুন।
- যদি কোনো ম্যাচ না পাওয়া যায়, -1 রিটার্ন করুন।
- অন্যথায়, যে ইনডেক্সে এলিমেন্টটি আছে সেটি রিটার্ন করুন।
ফ্লোچار্ট (Flowchart)
- এটি একটি অ্যালগরিদমের গ্রাফিক্যাল রিপ্রেজেন্টেশন।
- প্রোগ্রামাররা এটি একটি প্রোগ্রাম-প্ল্যানিং টুল হিসেবে ব্যবহার করে সমস্যা সমাধানের জন্য।
- এটি ইন্টারকানেক্টেড সিম্বল ব্যবহার করে।
- এটি কন্ট্রোল ফ্লো, ইনফরমেশন ফ্লো এবং প্রসেসিং ইন্ডিকেট করে।
- একটি অ্যালগরিদমের জন্য ফ্লোчар্ট আঁকা প্রক্রিয়াকে "ফ্লোचार্টিং" (flowcharting) বলা হয়।
- এটি একটি ডায়াগ্রাম যা ডেটা ফ্লো রিপ্রেজেন্ট করতে বিভিন্ন শেপ ব্যবহার করে তৈরি করা যায়।
- বুঝতে সহজ।
- ডিবাগ করা কঠিন।
- বানানো সহজ।
- বানানোর সময় কিছু নির্দিষ্ট রুল মানতে হয়।
- এটি লজিকের একটি গ্রাফিক্যাল রিপ্রেজেন্টেশন।
সুইচ স্টেটমেন্টের জন্য ফ্লোچار্ট
