অ্যালগোরিদম, ফ্লোচার্ট ও সূডোকোড

অ্যালগোরিদম, ফ্লোচার্ট ও সূডোকোড – নোট

১. অ্যালগোরিদম (Algorithm)

সংজ্ঞা:
কোনো সমস্যা সমাধানের জন্য যুক্তিসম্মত এবং সসীম সংখ্যক ধাপের ধারাবাহিক নির্দেশনার সমষ্টিকে অ্যালগোরিদম বলা হয়।

উদাহরণ: দুটি সংখ্যার গড় নির্ণয়ের অ্যালগোরিদম

  1. শুরু

  2. a ও b এর মান গ্রহণ

  3. avg = (a + b)/2 নির্ণয়

  4. avg প্রদর্শন

  5. শেষ

অ্যালগোরিদম তৈরির শর্ত:

  1. সহজবোধ্য ও বোধগম্য হতে হবে

  2. ইনপুট ও আউটপুট স্পষ্ট হতে হবে

  3. কোনো ধাপ পুনরাবৃত্তি বা অস্পষ্ট না হবে

  4. ধাপের লজিক্যাল ক্রম থাকতে হবে

  5. সসীম ধাপে সমস্যার সমাধান হতে হবে

  6. ব্যাপকভাবে প্রয়োগযোগ্য হতে হবে

  7. কোন প্রোগ্রামিং কোড ব্যবহার করা যাবে না

সুবিধা:

  • প্রোগ্রামের উদ্দেশ্য সহজে বোঝা যায়

  • ভাষা নিরপেক্ষ, যেকেউ বুঝতে পারে

  • ডিবাগিং ও প্রোগ্রাম উন্নয়ন সহজ হয়


২. ফ্লোচার্ট (Flowchart)

সংজ্ঞা:
ফ্লোচার্ট হলো অ্যালগোরিদমের চিত্ররূপ। এটি বিভিন্ন প্রতীক এবং তীর চিহ্ন ব্যবহার করে সমস্যার সমাধানের ধাপগুলো দেখায়।

ফ্লোচার্টের নিয়মাবলী:

  1. অবশ্যই শুরু এবং শেষ চিহ্ন থাকবে

  2. নিয়ন্ত্রণ প্রবাহ টপ থেকে শুরু, বটমে শেষ হবে

  3. প্রচলিত প্রতীক ব্যবহার করা হবে

  4. তীর চিহ্ন দিয়ে প্রবাহ নির্দেশ করা হবে

  5. অতিরিক্ত সংযোগ রেখা বা প্রতীক ব্যবহার করা যাবে না

  6. প্রোগ্রামিং ভাষা ব্যবহার করা যাবে না

ফ্লোচার্টের সুবিধা:

  • প্রোগ্রামের যুক্তি সহজে বোঝা যায়

  • সমস্যা বিশ্লেষণ সহজ হয়

  • প্রোগ্রাম ডিজাইনে blueprint হিসেবে কাজ করে

  • প্রোগ্রাম রক্ষণাবেক্ষণ সহজ হয়

  • যেকোনো প্রোগ্রামিং ভাষার কোডে রূপান্তর সহজ হয়

ফ্লোচার্টের প্রকারভেদ:

  1. সিস্টেম ফ্লোচার্ট: জটিল সিস্টেমের কার্যপ্রণালী বোঝাতে

  2. প্রোগ্রাম ফ্লোচার্ট: অ্যালগোরিদমের যৌক্তিক ধাপ দেখাতে

ফ্লোচার্টে ব্যবহৃত প্রতীক:

প্রতীক ব্যবহার
আয়তক্ষেত্র প্রক্রিয়াকরণ (Processing)
ডায়মন্ড সিদ্ধান্ত/শর্ত (Decision)
প্যারালালোগ্রাম ইনপুট/আউটপুট
বল বা অণ্ডাকৃতি শুরু/শেষ
তীর চিহ্ন প্রবাহ নির্দেশ

মূল স্ট্রাকচার:

  • সরল অনুক্রম (Simple Sequence): ধাপগুলো ধারাবাহিকভাবে

  • নির্বাচন (Selection): শর্তের সত্য বা মিথ্যায় সিদ্ধান্ত

  • পুনরাবৃত্তি (Loop): একই কাজ পুনরাবৃত্তি

  • জাম্প (Jump): শর্ত অনুযায়ী নির্দেশ সরাসরি অন্য ধাপে


৩. সূডোকোড (Pseudo Code)

সংজ্ঞা:
সূডোকোড হলো প্রোগ্রামের ইনফরমাল বর্ণনা, যা কোন প্রোগ্রামিং ভাষা ব্যবহার করে লেখা হয় না। এটি কোডের রূপরেখা বা খসড়া তৈরির জন্য ব্যবহৃত হয়।

উদাহরণ: দুটি সংখ্যার গড় নির্ণয়

Start
Input a & b
avg = (a + b)/2
Print avg
Stop

সুবিধা:

  • যেকেউ বুঝতে পারে, প্রোগ্রামার বা নন-প্রোগ্রামার

  • অ্যালগোরিদমে মনোনিবেশ করতে সাহায্য করে

  • প্রোগ্রামের লগিক ঠিক রাখে


৪. অ্যালগোরিদম বনাম ফ্লোচার্ট বনাম সূডোকোড

বিষয় অ্যালগোরিদম ফ্লোচার্ট সূডোকোড
ধরন ধাপে ধাপে বর্ণনা চিত্ররূপ ইনফরমাল ইংরেজি কোড
ভাষা নিরপেক্ষ
সুবিধা সহজে বুঝা যায়, ডিবাগ সহজ প্রোগ্রামের প্রবাহ বোঝায় অ্যালগোরিদমের রূপরেখা দেখায়
ব্যবহার প্রোগ্রাম ডেভেলপমেন্টের পূর্বে প্রোগ্রাম ডিজাইনে কোডিং পূর্বে পরিকল্পনা

৫. সংক্ষিপ্ত টিপস

  • সমস্যা সমাধানের পূর্বে অ্যালগোরিদম → ফ্লোচার্ট → সূডোকোড ধাপে ধাপে ব্যবহার করা যায়।

  • ফ্লোচার্ট মানে “চিত্রভিত্তিক অ্যালগোরিদম”, যা সমস্যা সমাধান সহজ করে।

  • সূডোকোড শুধু নির্দেশনার রূপরেখা, কোন প্রোগ্রামিং কোড নয়

    অ্যালগোরিদম, ফ্লোচার্ট ও সূডোকোড – ২০টি MCQ

    1. অ্যালগোরিদম কী?
      ক) কোনো প্রোগ্রামের কোড
      খ) সমস্যা সমাধানের ধাপে ধাপে নির্দেশনা ✔
      গ) ফ্লোচার্টের চিত্র
      ঘ) ইনপুট এবং আউটপুটের মান

    2. ফ্লোচার্টের মূল উদ্দেশ্য কী?
      ক) প্রোগ্রামিং ভাষা শেখা
      খ) প্রোগ্রামের যৌক্তিক ধাপ চিত্রের মাধ্যমে দেখানো ✔
      গ) ডিবাগিং করা
      ঘ) ইনপুট নেওয়া

    3. সূডোকোড কী?
      ক) প্রোগ্রামিং ভাষা
      খ) অ্যালগোরিদমের ইনফরমাল রূপ ✔
      গ) ফ্লোচার্টের প্রতীক
      ঘ) কম্পাইলার

    4. অ্যালগোরিদম তৈরির শর্তের মধ্যে কোনটি অন্তর্ভুক্ত?
      ক) ধাপগুলো অস্পষ্ট হতে হবে
      খ) লজিক্যাল ক্রম থাকা উচিত ✔
      গ) কোড ব্যবহার করা যাবে
      ঘ) অনির্দিষ্ট ধাপে সমস্যার সমাধান হবে

    5. ফ্লোচার্টে সিদ্ধান্ত নেয়ার প্রতীক কোনটি?
      ক) আয়তক্ষেত্র
      খ) ডায়মন্ড ✔
      গ) প্যারালালোগ্রাম
      ঘ) বল/অণ্ডাকৃতি

    6. ফ্লোচার্টে ইনপুট/আউটপুট চিহ্ন কোনটি?
      ক) আয়তক্ষেত্র
      খ) ডায়মন্ড
      গ) প্যারালালোগ্রাম ✔
      ঘ) বল/অণ্ডাকৃতি

    7. অ্যালগোরিদমের সুবিধা কী?
      ক) প্রোগ্রাম ভাষা নির্ভর
      খ) সমস্যা ধাপে ধাপে বোঝা যায় ✔
      গ) ডিবাগ করা কঠিন
      ঘ) ফ্লোচার্ট তৈরি হয় না

    8. সূডোকোডের সুবিধা হলো:
      ক) যেকেউ বুঝতে পারে ✔
      খ) শুধুমাত্র কম্পাইলার বুঝে
      গ) সমস্যা সমাধান করতে পারবে না
      ঘ) প্রোগ্রাম কোডের পরিবর্তন হয় না

    9. ফ্লোচার্ট কত প্রকার?
      ক) ২ ✔
      খ) ৪
      গ) ৬
      ঘ) ৮

    10. ফ্লোচার্টের কোন প্রতীক প্রক্রিয়াকরণের জন্য ব্যবহার হয়?
      ক) আয়তক্ষেত্র ✔
      খ) ডায়মন্ড
      গ) প্যারালালোগ্রাম
      ঘ) বল/অণ্ডাকৃতি

    11. অ্যালগোরিদমের কোন শর্তটি সত্য?
      ক) অসীম ধাপ থাকবে
      খ) সসীম ধাপে সমাধান হবে ✔
      গ) লজিক্যাল ক্রম প্রয়োজন নেই
      ঘ) ফ্লোচার্ট ব্যবহার করা হবে না

    12. সূডোকোডের উদাহরণ কোনটি?
      ক) avg = (a + b)/2 ✔
      খ) draw_rectangle()
      গ) Diamond shape
      ঘ) Arrow

    13. ফ্লোচার্ট তৈরির নিয়মের মধ্যে কোনটি নেই?
      ক) শুরু এবং শেষ চিহ্ন থাকা ✔
      খ) নিয়ন্ত্রণ প্রবাহ টপ থেকে শুরু
      গ) তীর চিহ্ন দিয়ে প্রবাহ নির্দেশ করা
      ঘ) প্রোগ্রামিং ভাষা ব্যবহার করা যাবে না

    14. “চিত্রভিত্তিক অ্যালগোরিদম” কোনটি?
      ক) সূডোকোড
      খ) ফ্লোচার্ট ✔
      গ) কোডিং
      ঘ) ইনপুট

    15. সরল অনুক্রমের স্ট্রাকচারে কী হয়?
      ক) শর্ত অনুযায়ী লাফ
      খ) ধাপগুলো ধারাবাহিকভাবে ✔
      গ) লুপ
      ঘ) ডায়মন্ড

    16. লুপ স্ট্রাকচার কোনটি বোঝায়?
      ক) শর্ত অনুযায়ী ধাপ পুনরাবৃত্তি ✔
      খ) সরল অনুক্রম
      গ) সূডোকোড
      ঘ) ডিবাগিং

    17. অ্যালগোরিদমের কোন অংশ প্রোগ্রামিং ভাষা ব্যবহার করে লেখা হয় না?
      ক) কোডিং
      খ) ধাপ নির্দেশনা ✔
      গ) ফ্লোচার্টের তীর
      ঘ) ইনপুট

    18. ফ্লোচার্টের কোন স্ট্রাকচার শর্তের উপর ভিত্তি করে কাজ করে?
      ক) লুপ
      খ) নির্বাচিত/সিলেকশন ✔
      গ) সরল অনুক্রম
      ঘ) সূডোকোড

    19. সূডোকোড ব্যবহার করার সুবিধা হলো:
      ক) কম্পাইলার ছাড়া বোঝা যায় ✔
      খ) শুধু ফ্লোচার্ট তৈরি করা যায়
      গ) সমস্যা সমাধান হয় না
      ঘ) প্রোগ্রাম langs নির্ভর

    20. দুটি সংখ্যার গড় নির্ণয়ের সূডোকোড কোনটি?
      ক) Start → Input a,b → avg = (a+b)/2 → Print avg → Stop ✔
      খ) avg = a + b
      গ) draw_rectangle(a,b)
      ঘ) Diamond shape


    ict lecturer 

    Md Belal Hossain Neel 

Facebook
Twitter
Email
Print

Leave a Reply

Your email address will not be published. Required fields are marked *