পঞ্চম অধ্যায় পাঠ-৪ অ্যালগোরিদম, ফ্লোচার্ট এবং সূডোকোড।
এই পাঠ শেষে যা যা শিখতে পারবে-
- ১। অ্যালগোরিদম ও ফ্লোচার্ট ব্যাখ্যা করতে পারবে।
- ২। অ্যালগোরিদম তৈরির শর্ত সমূহ বর্ণনা করতে পারবে।
- ৩। অ্যালগোরিদম ও ফ্লোচার্ট তৈরির সুবিধাসমূহ বর্ণনা করতে পারবে।
- ৪। ফ্লোচার্ট তৈরির নিয়মসমূহ বর্ণনা করতে পারবে।
- ৫। ফ্লোচার্টে ব্যবহৃত প্রতীক সমূহের ব্যবহার বর্ণনা করতে পারবে।
অ্যালগোরিদমঃ কোনো একটি নির্দিষ্ট সমস্যা সমাধানের জন্য যুক্তিসম্মত সসীম সংখ্যক পর্যায়ক্রমিক ধারা বর্ননাকে একত্রে অ্যালগোরিদম বলা হয়। কোনো সমস্যাকে কম্পিউটার প্রোগ্রামিং দ্বারা সমাধান করার পূর্বে কাগজে-কলমে সমাধান করার জন্যই অ্যালগোরিদম ব্যবহার করা হয়। আরব গনিতবিদ ‘আল খারিজমী’ এর নাম অনুসারে অ্যালগোরিদম নামকরন করা হয়েছে।
অ্যালগোরিদম তৈরির শর্তঃ
- ১। ইনপুট এবং আউটপুট স্পষ্টভাবে নির্ধারন করতে হবে।
- ২। অ্যালগোরিদমের প্রত্যেকটি ধাপ স্পষ্ট হতে হবে যাতে সহজে বোঝা যায়।
- ৩। সসীম সংখ্যক ধাপে সমস্যার সমাধান হতে হবে।
- ৪। অ্যালগোরিদম ব্যাপকভাবে প্রয়োগ উপযোগী হতে হবে।
- ৫। অ্যালগোরিদমে কোন কম্পিউটার কোড থাকা যাবে না। বরং অ্যালগোরিদম এমনভাবে লিখতে হবে যা একই ধরণের প্রোগ্রামিং ভাষার জন্য ব্যবহার করা যাবে।
অ্যালগোরিদম তৈরির সুবিধাঃ
- ১। এটি একটি ধাপ-ভিত্তিক উপস্থাপনা ফলে সহজে প্রোগ্রামের উদ্দেশ্য বোঝা যায়।
- ২। একটি অ্যালগরিদম একটি নির্দিষ্ট পদ্ধতি ব্যবহার করে।
- ৩। এটি কোনও প্রোগ্রামিং ভাষার উপর নির্ভরশীল নয়, তাই প্রোগ্রামিং জ্ঞান ছাড়াই যেকারো পক্ষে এটি বোঝা সহজ।
- ৪। একটি অ্যালগরিদমের প্রতিটি ধাপের নিজস্ব লজিকাল ক্রম আছে তাই এটি ডিবাগ করা সহজ।
- ৫। প্রোগ্রাম পরিবর্তন ও পরিবর্ধনে সহায়তা করে।
দুটি সংখ্যার গড় নির্ণয়ের অ্যালগোরিদম-
- ধাপ-১: শুরু করি।
- ধাপ-২: ইনপুট হিসেবে a ও b চলকের মান গ্রহণ করি।
- ধাপ-৩: avg = (a+b)/2 নির্নয় করি।
- ধাপ-৪: ফলাফল হিসেবে avg চলকের মান প্রদর্শন করি।
- ধাপ-৫: শেষ করি।
ফ্লোচার্ট বা প্রবাহ চিত্রঃ যে চিত্রভিত্তিক পদ্ধতিতে বিশেষ কতকগুলো চিহ্নের সাহায্যে কোনো একটি নির্দিষ্ট সমস্যার সমাধান করা হয় তাকে ফ্লোচার্ট বলা হয়। অন্যভাবে বলা যায়, অ্যালগোরিদমের চিত্ররূপই হল ফ্লোচার্ট। ফ্লোচার্টের সাহায্যে প্রোগ্রাম বোঝা সহজ হয় বলে এটি প্রোগ্রামার ও ব্যবহারকারীর মাঝে সংযোগ রক্ষার জন্য ব্যবহৃত হয়।
ফ্লোচার্ট তৈরি করার নিয়মাবলীঃ
- ১। প্রতিটি ফ্লোচার্টের অবশ্যই একটি শুরু এবং শেষ থাকবে।
- ২। নিয়ন্ত্রণ প্রবাহ অবশ্যই টপ থেকে শুরু হবে।
- ৩। নিয়ন্ত্রণ প্রবাহ অবশ্যই বোটম থেকে শেষ হবে।
- ৪। প্রচলিত চিহ্ন বা প্রতীক ব্যবহার করে ফ্লোচার্ট তৈরি করতে হবে।
- ৫। তীর চিহ্ন দিয়ে নিয়ন্ত্রণ প্রবাহ দেখাতে হবে।
- ৬। ফ্লোচার্টে কোন প্রোগ্রামিং ভাষা ব্যবহার করা যাবে না।
- ৭। চিহ্ন বা প্রতীক গুলো ছোট বড় হলে ক্ষতি নাই তবে আকৃতি ঠিক থাকতে হবে।
ফ্লোচার্টের সুবিধাঃ
- ১। একটি প্রোগ্রামের যুক্তির মধ্যে যোগাযোগের চমৎকার উপায় হলো ফ্লোচার্ট ।
- ২। ফ্লোচার্ট ব্যবহার করে সমস্যা বিশ্লেষণ করা সহজ।
- ৩। প্রোগ্রাম উন্নয়নের সময়, ফ্লোচার্ট একটি ব্লুপ্রিন্টের ভূমিকা পালন করে, যা প্রোগ্রামের উন্নয়ন প্রক্রিয়াকে আরও
সহজ করে তোলে। - ৪। ফ্লোচার্ট এর সাহায্যে প্রোগ্রাম বা সিস্টেম রক্ষণাবেক্ষণ সহজ হয়।
- ৫। ফ্লোচার্টকে যেকোন প্রোগ্রামিং ভাষার কোডে রূপান্তর করা সহজ।
ফ্লোচার্টের প্রকারভেদঃ ফ্লোচার্টকে প্রধানত দুইভাগে ভাগ করা যায়। যথা-
- ১। সিস্টেম ফ্লোচার্ট – সিস্টেম ফ্লোচার্টে ডেটা গ্রহণ, প্রক্রিয়াকরণ, সংরক্ষণ এবং ফলাফল প্রদর্শনের প্রবাহ দেখানো হয়। কোন সিস্টেমের কার্যপ্রনালী বোঝাতে সিস্টেম ফ্লোচার্ট ব্যবহৃত হয়।
- ২। প্রোগ্রাম ফ্লোচার্ট – প্রোগ্রাম ফ্লোচার্টে প্রোগ্রামের বিভিন্ন ধাপের বিস্তারিত বিবরণ দেওয়া হয়। এছাড়া প্রোগ্রামের ভূল নির্ণয় ও সংশোধনে প্রোগ্রাম ফ্লোচার্ট ব্যবহৃত হয়।
ফ্লোচার্ট গঠনের মৌলিক ধরণ বা স্ট্রাকচারঃ
- ১। সরল অনুক্রম (Simple Sequence) – এই স্ট্রাকচারে প্রোগ্রামের নির্দেশগুলো সরল অনুক্রমে ধারাবাহিকভাবে নির্বাহ হয়ে থাকে।
- ২। নির্বাচন বা সিলেকশন (Selection)- কোন একটি শর্তের সত্য বা মিথ্যার উপর ভিত্তি করে সিদ্ধান্ত নিয়ে কার্য নির্বাহের ক্ষেত্রে এই স্ট্রাকচার ব্যবহৃত হয়।
- ৩। পুনরাবৃত্তি বা লুপ (Loop)- একই ধরণের কাজ পুনরাবৃত্তি করার জন্য এই স্ট্রাকচার ব্যবহৃত হয়।
- ৪। জাম্প (Jump)- এই স্ট্রাকচারে প্রোগ্রামের প্রবাহ সরল অনুক্রমের পরিবর্তে কোন শর্তের সত্য বা মিথ্যার উপর ভিত্তি করে উপরের বা নিচের নির্দিস্ট কোন নির্দেশ নির্বাহ হতে থাকে।
ফ্লোচার্টে ব্যবহৃত প্রতিক সমূহ এবং এদের ব্যবহারঃ
প্রতিক | প্রতিকের নাম | ব্যবহার |
ডিম্বক (Oval) | এটি ফ্লোচার্টের শুরু এবং শেষ নির্দেশ করে । | |
সামন্তরিক | ইনপুট নেওয়া ও আউটপুট প্রদর্শন নির্দেশ করে। | |
আয়তাকার | এই প্রতীক কোন প্রক্রিয়াকরণ নির্দেশ করে। | |
হীরক | যখন শর্তের সাপেক্ষে কোন প্রক্রিয়া সম্পন্ন করতে হয় তখন ব্যবহৃত হয়। এই প্রতীকের মধ্যে শর্ত লেখা হয়। | |
বৃত্ত | একাদিক শাখা যখন একটি বিন্দুতে মিলিত হয় তখন এই প্রতীক ব্যবহৃত হয়। | |
তীর চিহ্ন | প্রবাহের দিক নির্দেশে ব্যবহৃত হয়। |
দুটি সংখ্যার গড় নির্ণয়ের ফ্লোচার্ট-
সূডোকোড (Pseudo Code): একটি প্রোগ্রামের কার্যপ্রণালী বর্ননা বা উপস্থাপনার জন্য ইংরেজি ভাষায় লেখা কতগুলো নির্দেশনার সমষ্টিকে একত্রে সূডোকোড বলে। সূডোকোডকে অ্যালগোরিদমের পূর্ব-পস্তুতি বা অনেক সময় অ্যালগোরিদমের বিকল্প হিসেবে বিবেচনা করা হয়। সূডো(Pseudo) একটি গ্রীক শব্দ যার অর্থ হচ্ছে ছদ্ম।
দুটি সংখ্যার গড় নির্ণয়ের সূডোকোড-
- Start
- Input a and b
- avg = (a+b)/2
- Print avg
- Stop
পাঠ মূল্যায়ন-
জ্ঞানমূলক প্রশ্নসমূহঃ
- ক। অ্যালগোরিদম কী?
- ক। ফ্লোচার্ট কী?
- ক। সূডোকোড কী?
অনুধাবনমূলক প্রশ্নসমূহঃ
- খ। প্রোগ্রাম কোডিং–এ অ্যালগোরিদমের গুরুত্ব লেখ।
- খ। ‘অ্যালগোরিদম কোডিং-এর পূর্বশর্ত’ -ব্যাখ্যা কর।
- খ। প্রবাহচিত্রে ব্যবহৃত প্রতীকগুলো ব্যাখ্যা কর।
- খ। ‘ফ্লোচার্ট হলো চিত্রভিত্তিক অ্যালগরিদম’ – ব্যাখ্যা কর।
- খ। “অ্যালগোরিদমের চেয়ে ফ্লোচার্টের মাধ্যমে সমস্যা সমাধান করা সহজ” – ব্যাখ্যা কর।