আমার টিউনের গত পর্বে আমরা দেখেছিলাম কিভাবে কনসোল থেকে ইনপুট নিতে হয় এবং আরো দেখেছিলাম ডাটা টাইপ ও অপারেটরের ব্যাবহার। গত পর্বের লিংক দেয়া হল।
সি শার্প ও ডট নেট প্রোগ্রামিং ২য় পর্ব। এখানে ক্লিক করুন।
আজ আমরা শিখব কন্ট্রোল স্ট্রাকচার সম্পর্কে। তবে কন্ট্রোল স্ট্রাকচার ছোট কোন বিষয় নয় তাই একটি পর্বে সব কিছু শেখা সম্ভব নয়। এই পর্বে শুধু জানবেন কন্ট্রোল স্ট্রাকচার কী এবং কন্ট্রোল স্ট্রাকচারের মৌলিক কিছু দিক নিয়ে। আজ আমরা কোন কোড করা দেখব না।
কন্ট্রোল স্ট্রাকচার কি এবং কেন দরকার?
যারা প্রোগ্রামিং নিয়ে কিছুটা ধারনা রাখেন তারা ফ্লোচার্ট বা প্রবাহচিত্র সম্পর্কে নিশ্চইয় শুনে থাকবেন। প্রবাহচিত্র হল আপনার সমস্যার সমাধানের একটি চিত্র রূপ। এর অর্থ হল, আপনি কোন প্রোগ্রামিং সমস্যা কিভাবে সমাধান করবেন তা ধাপে ধাপে ভাগ করে ধাপ অনুসারে তাকে চিত্র আকারে প্রকাশ করেন তবে তাকেই বলা হবে প্রবাহচিত্র। প্রবাহচিত্র তৈরী করার বেশ কিছু নিয়ম ও নীতিমালা এবং আদর্শ রয়েছে তবে এই টিউনে সেগুলো নিয়ে আলোচনা করবনা। তবে উদাহরন হিসেবে শুধু একটি সমস্যা এবং তার প্রবাহচিত্র উল্লেখ করব।
সমস্যা ১:
ধরুন আপনি আপনার ওয়েবসাইটের জন্য লগইন সিস্টেম তৈরি করবেন যা কেবলমাত্র নির্দিষ্ট ব্যাবহারকারীকে প্রবেশ করতে দেবে বাকিদের প্রবেশ করতে বাধা দিবে এবং প্রত্যেকজন কে সর্বোচ্চ ৫ বার সুযোগ দিবে লগইন করার জন্য। কেউ ৫ বারের মধ্যে সঠিক ভাবে লগইন না করলে তাকে চুড়ান্তভাবে লগ-ইন করতে দিবে না এবং পুনরায় কোন সুযোগ দেয়া হবে না। এই সমস্যার একটি ফ্লোচার্ট যদি তৈরী করি, তাহলে কেমন হবে একটু দেখিঃ
ফ্লোচার্টে লক্ষ করুন, দুইবার সিধান্ত গ্রহন করতে হবে। একবার যখন ব্যাবহারী ইউজার নেমি সঠিক কিনা তা পরীক্ষা করে সিধান্ত গ্রহন করব। যদি সঠিক না হয় তাহলে আবার পরীক্ষা করে দেখতে হবে ব্যাবহারকারী কতবার ভুল করেছেন। যদি ৫ বার অতিক্রম করে তাহলে তার প্রবেশ রহিত করতে হবে নইলে আবার সুযোগ দিতে হবে। প্রত্যেকবার ভুল করার জন্য এই ৫ বার পর্যন্ত ইউজারকে সুযোগ দিতে, একই কাজ আমাদের ৫ বার করতে হবে আর এই কাজ হল ইউজারের কাছ থেকে তথ্য নিয়ে সঠিক কিনা তা পরীক্ষা করা।
সমস্যা ২:
মনে করুন কোন বি্দ্যালয়ে ১০০ জন ছাত্র আছে। তাদের বার্ষিক পরীক্ষার ফলাফল তৈরী করার জন্য আপনাকে একটি প্রোগ্রাম তৈরী করতে বলা হল। এবার বিদ্যালয়ের সকল ছাত্র-এর তথ্য প্রোগ্রামের মাধ্যমে ইনপুট নিতে হবে নাহলে আপনি অথবা আপনার প্রোগ্রাম তাদের ফলাফল বার করতে পারবেনা। তাহলে, আপনার প্রোগ্রাম এমনভাবে সাজাতে হবে যে প্রত্যেক ছাত্রের কাছ থেকে তার বিষয়ভিত্তিক নাম্বার গ্রহন করবে এবং তার মোট নাম্বার হিসেব করে সে পাস না ফেল করেছে সে সম্পর্কে সিধান্ত গ্রহন করবে। তাহলে এখানে লুপিং এর মাধ্যমে ১০০ জন ছাত্রের কাছ থেকে বিষয়ভিত্তিক নাম্বার গ্রহন করবে এবং মোট নাম্বার যোগ করে হিসেব করে দেখবে তা কি পাশ নাম্বারের সমান বা বেশি কিনা। যদি হয় তাহলে ছাত্রকে পাশ বলে ঘোষনা করবে অথবা ফেল ঘোষনা করবে। এখানেও সম্পূর্ন কন্ট্রোল স্ট্রাকচারের কাজ রয়েছে।
সি শার্পে কি কি কন্ট্রোল স্ট্রাকচার রয়েছে?
এ পর্বে আমরা শিখলামঃ
আজ এ পর্যন্ত। আমার শরীর খুব একটা ভাল না। কম্পিউটারে কাজ করতে অসুবিধা হয়। আমি আন্তরিকভাবে দুঃখীত যে এই পর্বে আপনাদের তেমন কিছুই দেখাতে পারলাম না। আমি নিজেও মনে করি যে এই পর্বের লেখা আপনাদের হতাশ করবে। আমি অনেক কিছু সাজিয়ে রেখেছিলাম যে লিখব বলে তবে কিছুই লেখা হল না। আপনাদের কারোর যদি এই পর্ব ভাল না লাগে (না লাগাটাই স্বাভাবিক) আমি আবারো দুঃখ প্রকাশ করছি আপনাদের সময়ক্ষেপন করার জন্য।
আমি জ্যোতি। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 13 বছর 11 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 17 টি টিউন ও 98 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 2 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।
আমি জ্যোতি চৌধুরী। কম্পিউটার সাইন্স এন্ড ইঞ্জিনিয়ারিং এর ছাত্র। মিলিটারি ইন্সটিটিউট অফ সাইন্স এন্ড টেকনোলজি, মিরপুর ক্যান্টনমেন্ট এ পড়াশোনা করছি। ভাল লাগে বন্ধুদের সাথে আড্ডা দিতে, কম্পিউটার প্রযুক্তি সম্পর্কে জানতে। আগ্রহ আছে সফটওয়্যার ডেভেলপমেন্ট, প্রোগ্রামিং ও ওয়েব ডেভেলপমেন্টের প্রতি। স্বপ্ন দেখতে ভালবাসি। স্বপ্ন কে বাস্তবে রুপায়ন করতে পছন্দ করি।
MANY MANY THANK YOU, WAITHNG FOR NEXT.