প্রোগ্রামিংয়ের মৌলিক ধারণা/ফ্লোচার্ট
সারসংক্ষেপ
[সম্পাদনা]
একটি ফ্লোচার্ট এমন একটি চিত্র যা কোনো অ্যালগরিদম, কর্মপ্রবাহ বা প্রক্রিয়াকে উপস্থাপন করে। এতে বিভিন্ন ধরণের ছকের মাধ্যমে ধাপে ধাপে নির্দেশনা দেখানো হয় এবং ছকগুলোকে তীর চিহ্ন দিয়ে সংযুক্ত করে তাদের ক্রম বোঝানো হয়। এই চিত্রভিত্তিক উপস্থাপনা কোনো সমস্যার সমাধান মডেলকে তুলে ধরে। বিভিন্ন ক্ষেত্রে যেমন বিশ্লেষণ, ডিজাইন, ডকুমেন্টেশন বা কোনো প্রক্রিয়া বা প্রোগ্রাম পরিচালনার কাজে ফ্লোচার্ট ব্যবহার করা হয়।[১]
আলোচনা
[সম্পাদনা]ফ্লোচার্ট কোডের ধাপগুলোকে বিভিন্ন আকারের চিহ্ন হিসেবে উপস্থাপন করে, যেগুলো তীর চিহ্ন দিয়ে একে অপরের সঙ্গে যুক্ত থাকে। মূল উদ্দেশ্য হলো প্রোগ্রামিং সমস্যার একটি খসড়া সমাধান তৈরি করা। ফ্লোচার্টে কোন ধরণের আকার ব্যবহার করা হবে তা নির্ভর করে প্রোগ্রামার কী ধরণের স্টেটমেন্ট লিখতে চায় তার উপর। উদাহরণস্বরূপ, একটি “if” স্টেটমেন্ট (যা তখনই কাজ করে যখন নির্দিষ্ট শর্ত পূরণ হয়) একটি ডায়মন্ড আকারে দেখানো হয়। আর লুপিং স্টেটমেন্টগুলো (যেগুলো একটি নির্দিষ্ট অংশ বারবার চালানোর সুযোগ দেয়) সাধারণত ষড়ভুজ আকারে দেখানো হয়। অনেক সময় বিভিন্ন ধরণের স্টেটমেন্টকে বিভিন্ন রঙে দেখানো হয় যাতে কোড পড়া সহজ হয়।
নিচে সাধারণ কিছু ফ্লোচার্ট চিহ্ন এবং উদাহরণ দেখানো হয়েছে। এই অংশ প্রথম পড়ার সময় সহজ চিহ্ন এবং উদাহরণগুলোর উপর মনোযোগ দিন। পরবর্তীতে, পরবর্তী অধ্যায় পড়ার সময় এই অংশে ফিরে এসে চিহ্ন ও উদাহরণগুলো দেখে নিন।
সহজ ফ্লোচার্ট চিহ্ন
[সম্পাদনা]টার্মিনাল
[সম্পাদনা]বৃত্তাকার প্রান্তবিশিষ্ট আয়তাকার চিহ্নগুলো ফ্লোচার্টের শুরু ও শেষ বোঝাতে ব্যবহৃত হয়।
ফ্লো লাইন
[সম্পাদনা]নোট: ডিফল্ট ফ্লো সাধারণত বাম থেকে ডানে এবং উপরে থেকে নিচে হয় (যেমন ইংরেজি পড়া হয়)। সময় বাঁচাতে তীরচিহ্ন কেবল তখনই আঁকা হয় যখন ফ্লো লাইন এই স্বাভাবিক দিকের বিপরীতে যায়।
ইনপুট/আউটপুট
[সম্পাদনা]প্যারালেলোগ্রাম চিহ্ন ইনপুট বা আউটপুট কার্যক্রম বোঝাতে ব্যবহৃত হয়।
প্রসেস
[সম্পাদনা]আয়তক্ষেত্র চিহ্নটি কোনো গাণিতিক গণনা বা ভেরিয়েবল অ্যাসাইনমেন্টের মতো কোনো প্রক্রিয়া নির্দেশ করে।
সিদ্ধান্ত
[সম্পাদনা]ডায়মন্ড চিহ্নটি সত্য/মিথ্যা ভিত্তিক শর্ত যাচাইয়ের সিদ্ধান্ত বোঝাতে ব্যবহৃত হয়।
উন্নত ফ্লোচার্ট চিহ্ন
[সম্পাদনা]মডিউল কল
[সম্পাদনা]কোনো প্রোগ্রাম মডিউলকে ফ্লোচার্টে দেখানো হয় একটি আয়তাকার চিহ্ন দিয়ে, যার মধ্যে কিছু রেখা থাকে যা এটিকে সাধারণ প্রসেস চিহ্ন থেকে আলাদা করে। প্রোগ্রামাররা সাধারণত প্রোগ্রাম নিয়ন্ত্রণ এবং নির্দিষ্ট টাস্ক মডিউল বা লোকাল ফাংশন এবং লাইব্রেরি ফাংশনের মধ্যে পার্থক্য করে দেখান।
কানেক্টর
[সম্পাদনা]অনেক সময় একটি ফ্লোচার্টকে দুই বা ততোধিক ছোট ফ্লোচার্টে ভাগ করা হয়। এটি তখন করা হয় যখন একটি ফ্লোচার্ট এক পাতায় ফিট হয় না বা এটি ভাগ করে উপস্থাপন করতে হয়। একটি ছোট বৃত্ত যার ভেতরে একটি সংখ্যা বা অক্ষর থাকে, সেটি একই পাতায় দুটি ফ্লোচার্টকে সংযুক্ত করতে ব্যবহৃত হয়। আর একটি চিহ্ন যা জামার পকেটের মতো দেখায়, সেটি অন্য পাতায় থাকা ফ্লোচার্টের সঙ্গে সংযুক্ত করতে ব্যবহৃত হয়।
সহজ উদাহরণ
[সম্পাদনা]
সহজ উদাহরণ
[সম্পাদনা]আমরা কিছু ছদ্ম-কোড (pseudocode) এর ফ্লোচার্ট দেখিয়ে বিভিন্ন ফ্লোচার্ট আইটেম ব্যাখ্যা করব।
ফাংশন
[সম্পাদনা]ছদ্ম-কোড: কোনো প্যারামিটার ছাড়াই একটি ফাংশন
Function clear monitor
Pass In: কিছু নয়
অপারেটিং সিস্টেমকে মনিটর পরিষ্কার করতে নির্দেশ দেয়
Pass Out: কিছু নয়
End function
pseudocode: main ফাংশন যেটি clear monitor ফাংশনকে কল করে
Function main
Pass In: কিছু নয়
কিছু কোডের লাইন চলমান
Call: clear monitor
আরও কিছু কোডের লাইন চলমান
Pass Out: অপারেটিং সিস্টেমে মান ০ ফেরত দেয়
End function
সিকোয়েন্স কন্ট্রোল স্ট্রাকচার
[সম্পাদনা]নিচে একটি সাধারণ তাপমাত্রা রূপান্তর প্রোগ্রামের ছদ্ম-কোড (pseudocode) দেওয়া হয়েছে। এটি অন-পেজ এবং অফ-পেজ কানেক্টরের ব্যবহার দেখায়। এটি সেই সিকোয়েন্স কন্ট্রোল স্ট্রাকচারের উদাহরণ, যেখানে কিছুই অস্বাভাবিক হয় না। শুধুমাত্র তালিকাভুক্ত নির্দেশনাগুলো একে একে পালন করা হয়।
pseudocode: সিকোয়েন্স কন্ট্রোল স্ট্রাকচার
file-name: Solution_Lab_04_Pseudocode.txt Purpose: ফারেনহাইট থেকে সেলসিয়াসে তাপমাত্রা রূপান্তর করা Author: Ken Busbee; © ২০০৮ Kenneth Leroy Busbee Date: ২৪ ডিসেম্বর, ২০০৮
Pseudocode = IPO Outline
input
ব্যবহারকারীর কাছে ফারেনহাইটে তাপমাত্রা চেয়ে একটি বার্তা দেখাও
কীবোর্ড থেকে ব্যবহারকারীর তাপমাত্রা ইনপুট নাও
processing
সেলসিয়াস হিসাব করো প্রথমে ফারেনহাইট তাপমাত্রা থেকে ৩২ বিয়োগ করো, তারপর ফলাফল ৫ দিয়ে গুণ করো, তারপর ৯ দিয়ে ভাগ করো। এরপর প্রাপ্ত মানটি কাছাকাছি পূর্ণসংখ্যায় রাউন্ড করো।
পরামর্শ:নির্ভুলতার জন্য বিয়োগ করার সময় ৩২.০ ব্যবহার করো।
output
উপযুক্ত একটি বার্তার সঙ্গে সেলসিয়াস মানটি দেখাও
ব্যবহারকারী যেন ফলাফল দেখতে পারে সে জন্য বিরতি দাও
উন্নত উদাহরণ
[সম্পাদনা]সিলেকশন কন্ট্রোল স্ট্রাকচার
[সম্পাদনা]pseudocode: If then Else
যদি বয়স > ১৭ হয়
তাহলে একটি বার্তা দেখাও যা জানায় তুমি ভোট দিতে পারো।
না হলে
একটি বার্তা দেখাও যা জানায় তুমি ভোট দিতে পারো না।
Endif
pseudocode: Case
Case of age
০ থেকে ১৭ Display "তুমি ভোট দিতে পারো না।"
১৮ থেকে ৬৪ Display "তুমি কর্মক্ষম বয়সে আছো।"
৬৫ + Display "তোমার অবসর নেওয়া উচিত।"
End case
পুনরাবৃত্তি (Iteration) কন্ট্রোল স্ট্রাকচার
[সম্পাদনা]pseudocode: While
count = 0
While count < 5
দেখাও "I love computers!"
count মান ১ করে বাড়াও
End while
pseudocode: For
For x শুরু 0 থেকে, x < 5, প্রতি ধাপে x এক করে বাড়বে
Display "তুমি কি উপভোগ করছো?"
End for
for লুপের জন্য নির্দিষ্ট কোনো ফ্লোচার্টিং নিয়ম নেই, তাই এটি বিভিন্নভাবে উপস্থাপন করা হয়। for লুপ যদি গণনার উদ্দেশ্যে ব্যবহার করা হয়, তাহলে তা while লুপের মত করেই ফ্লোচার্টে দেখানো যায়।
pseudocode: Do While
count = 5
Do
Display "শিগগিরই প্রোগ্রাম শুরু হবে!"
Decrement count
While count > 0
pseudocode: Repeat Until
count = 5
Repeat
Display "শিগগিরই প্রোগ্রাম শুরু হবে!"
Decrement count
Until count < 1
মূল শব্দসমূহ
[সম্পাদনা]- সিদ্ধান্ত চিহ্ন
- একটি হীরা আকৃতির চিহ্ন যা ফ্লোচার্টে কোনো প্রশ্ন জিজ্ঞাসা এবং সিদ্ধান্ত গ্রহণ বোঝাতে ব্যবহৃত হয়।
- ফ্লো লাইন
- রেখাগুলো (অনেক সময় তীর চিহ্নসহ) যেগুলো ফ্লোচার্টের বিভিন্ন চিহ্নকে একে অপরের সঙ্গে যুক্ত করে।
- ফ্লোচার্টিং
- একটি প্রোগ্রাম ডিজাইনের উপায়, যেখানে চিত্রভিত্তিক উপাদান ব্যবহার করে কোনো ফাংশনের ভিতরের যুক্তির প্রবাহ দৃশ্যত উপস্থাপন করা হয়।
- ইনপুট/আউটপুট চিহ্ন
- একটি সমান্তরল চতুর্ভুজ, যা ইনপুট/আউটপুট কার্যক্রম বোঝাতে ফ্লোচার্টে ব্যবহৃত হয়।
- প্রসেস চিহ্ন
- একটি আয়তক্ষেত্র যা সাধারণ প্রসেস যেমন মান নির্ধারণ বোঝাতে ব্যবহৃত হয়।