.

.

সোমবার, ৭ ডিসেম্বর, ২০১৫

ফ্লো চার্ট / Flow Chart / প্রবাহ চিত্র

কাজ  করার ধাপ গুলোর চিত্রিত রুপ হচ্ছে ফ্লো চার্ট।
এখানে কাজ বলতে যে কোন কাজ। বাজার করতে যাওয়া ,  একটা কম্পিউটার প্রোগ্রাম লেখা , কোন একটা সমস্যা সমাধান করা, আস্ত একটা গেম তৈরি করে ফেলা।
সব গুলো কাজ করতে কিছু ধাপ অনুসরন করতে হয়। এই ধাপ গুলোকে বলে এলগরিদম / অ্যালগরিদম। আর অ্যালগরিদম গুলোর চিত্রিত রুপ হচ্ছে ফ্লো চার্ট বা প্রবাহ চিত্র।
তো কাজ গুলো করতে ধাপ গুলো একের পর এক অনুসরণ করতে হয়। যেমন আমরা স্কুলে যাওয়ার ফ্লো চার্ট তৈরি করলে আগে আমাদের ব্যাগ গুছিয়ে নিতে হবে। এরপর স্কুলের দিকে রওনা দিব। ব্যাগ না গুছিয়ে যদি স্কুলের দিকে যাই, তাহলে তো ঠিক হবে না, তাই না? এ জন্যই কাজ বা কম্পিউটার প্রোগ্রাম লেখার সময়ও ধারাবাহিকতা অনুসরণ করতে হয়। আবার ফ্লো চার্ট তৈরি করার  ও কিছু নিয়ম রয়েছে। নিচের ছবিটি দেখি। এখানে ফ্লো চার্ট তৈরিতে যে চিহ্ন গুলো ব্যবহার করা হয়, যে গুলো দেখা হলো।
flowchart-symbols
  • একঃ প্রান্তিক প্রতীক [Start / End]: উপবৃত্তাকার চিহ্ন। ফ্লো চার্ট এর শুরু এবং শেষ বোঝাতে এ চিহ্ন ব্যবহৃত হয়।
  • দুইঃ তীর [Arrow] চিহ্নঃ একটা ধাপ থেকে আরেকটা ধাপের দিক নির্দেশন দিতে ব্যবহৃত হয়।
  • তিনঃ Input / Output চিহ্নঃ প্রোগ্রামে যদি কোন কিছু ব্যবহার কারী থেকে গ্রহন করে বা ব্যবহার কারীকে কিছু প্রদান করে, তার জন্য এ চিহ্ন ব্যবহার করা হয়।
  • চারঃ প্রসেসিং বা প্রক্রিয়াকরণ চিহ্নঃ গানিতিক বা লজিক্যাল কোন অপারেশন করতে হলে এই চিহ্ন ব্যবহার করা হয়।
  • পাঁচঃ সিন্ধান্ত / Decision চিহ্নঃ কোন সিদ্ধান্ত নিতে হলে এ চিহ্ন ব্যবহৃত হয়। যেমন হ্যাঁ সিন্ধান্ত, না সিদ্ধান্ত ইত্যাদি।

উপরের বিষয় গুলো এখনি পরিষ্কার হয়ে যাবে। আমরা একটা ফ্লোচার্ট দেখি। একটা ল্যাম্প জ্বালানোর ফ্লো চার্ট…

সোর্সঃ http://en.wikipedia.org/wiki/Flowchart
সোর্সঃ http://en.wikipedia.org/wiki/Flowchart
  • ল্যাম্প যদি কাজ না করে, তাহলে আমরা দেখব ল্যাম্পটি কি বিদ্যুৎ লাইনের সাথে প্লাগ করা আছে কিনা। আর এটা একটা সিন্ধান্ত। আমরা চেক করে দেখব। যদি বিদ্যুৎ লাইনের সাথে প্লাগ করা না থাকে, তাহলে তা প্লাগ করব। আমাদের ল্যাম্পটি জ্বালানোর কাজ শেষ। তাই ফ্লো চার্ট এর শেষ চিহ্ন ব্যবহার করব। প্লাগ করার পর তো আর কোন কাজ করার নেই, তাই।
  •  যদি দেখি বিদ্যুৎ লাইনের সাথে প্লাগ করা আছে ল্যাম্পটি, তাহলে আমরা দেখব ল্যাম্পের বাতিটি কি নষ্ট হয়ে গিয়েছে নাকি ঠিক আছে। এটাও আরেকটা সিদ্ধান্ত মূলক ধাপ। তাই এটাতে সিন্ধান্ত / Decision চিহ্ন ব্যবহার করা হয়েছে।
  • যদি বাতি নষ্ট হয়ে যায়, তাহলে বাতিটি রিপ্লেস করব। আমাদের কাজ শেষ।
  •  যদি বাতি ঠিক থাকে, তাহলে বুঝতে হবে ল্যাম্পটি নষ্ট। ল্যাম্পটি ঠিক করতে দিব। কাজ শেষ।
আচ্ছা… এখনো যদি বুঝতে অসুবিধে হয়, আমরা আরেকটি উদাহরণ দেখি। এবার আমরা দুইটি সংখ্যা থেকে কোনটা বড় তা বের করার একটা ফ্লোচার্ট তৈরি করব।
EX 3

  • প্রথম ধাপঃ প্রথমে প্রোগ্রামটা শুরুর করতে হবে, এ জন্য শুরু/শেষ চিহ্ন।
  • দ্বিতীয় ধাপঃ এরপর যে সংখ্যা দুইটি থেকে বড়টা বের করতে হবে, সে গুলো ইনপুট নিতে হবে। ইনপুট আউটপুটের চিহ্ন ব্যবহার করেছি এখানে আমরা। ধরে নিচ্ছিল একটা সংখা A আরেকটি B.
  • তৃতীয় ধাপঃ সিন্ধান্ত নিব।  দেখব A কি B থেকে বড়?
  • চতুর্থ ধাপঃ যদি উত্তর হ্যা হয়, তাহলে আমরা আউটপুট দিব, A is maximum. উত্তর যদি না হয়, তাহলে আউটপুট দিব B is maximum.
  • পঞ্চম ধাপঃ প্রোগ্রামটি শেষ করব।
এবার সহজ মনে হচ্ছে, তাই না? ফ্লো চার্ট সহজই…
যেমন আমরা আরেকটি ফ্লো চার্ট তৈরি করতে পারি। দুইটি সংখার যোগ ফল বের করার ফ্লো চার্টঃ
lec14_clip_image016

  • প্রথম ধাপঃ প্রথমে প্রোগ্রামটা শুরুর করতে হবে, এ জন্য শুরু/শেষ চিহ্ন।
  • দ্বিতীয় ধাপঃ এরপর যে সংখ্যা দুইটর যোগ ফল বের  করতে হবে, সে গুলো ইনপুট নিতে হবে। ইনপুট আউটপুটের চিহ্ন ব্যবহার করেছি এখানে আমরা। ধরে নিচ্ছিল একটা সংখা A আরেকটি B। তো আমরা একই ধাপে দুইটি সংখা ইনপুট নিতে পারি। আবার দুইটি ধাপেও পারি। উপরের ফ্লো চার্টে আমরা একই ধাপে নিয়েছি।
  • তৃতীয় ধাপঃ  এবার হচ্ছে প্রসেসিং। আমদের যোগ করতে হবে দুইটা সংখা। যোগ করলাম, এ জন্য ব্যবহার করেছি প্রসেসিং চিহ্ন।
  • চতুর্থ ধাপঃ  যোগফলটা প্রিন্ট করব। এ জন্য ইনপুট আউটপুট চিহ্ন ব্যবহার করেছি।
  • পঞ্চম ধাপঃ প্রোগ্রামটি শেষ করব।

আমরা ছোট খাটো সমস্যার ফ্লো চার্ট তৈরি করেছি। এভাবে আমরা যে কোন সমস্যার / কাজের / প্রোগ্রামের ফ্লোচার্ট তৈরি করে ফেলতে পারি। আর ফ্লো চার্ট দেখে দেখে আমরা কম্পিউটার প্রোগ্রাম লিখে পেলতে পারি।

কোন সমস্যার ফ্লো চার্ট তৈরি করে ফেললে প্রোগ্রাম লেখা অনেক সহজ হয়ে যায়। তাই আমরা প্রোগ্রামিং শেখার পাশা পাশি ফ্লোচার্ট সহ অন্যান্য বিষয় গুলো শিখি।

M05T4F4

About M05T4F4

Author Description here.. Nulla sagittis convallis. Curabitur consequat. Quisque metus enim, venenatis fermentum, mollis in, porta et, nibh. Duis vulputate elit in elit. Mauris dictum libero id justo.

Subscribe to this Blog via Email :