সি শার্প ও ডট নেট প্রোগ্রামিং ৩য় পর্ব:কন্ট্রোল স্ট্রাকচার ১

সি-শার্প এবং ডট নেট প্রোগ্রামিং টিউটোরিয়াল

আমার টিউনের গত পর্বে আমরা দেখেছিলাম কিভাবে কনসোল থেকে ইনপুট নিতে হয় এবং আরো দেখেছিলাম ডাটা টাইপ ও অপারেটরের ব্যাবহার। গত পর্বের লিংক দেয়া হল।

সি শার্প ও ডট নেট প্রোগ্রামিং ২য় পর্ব। এখানে ক্লিক করুন।

আজ আমরা শিখব কন্ট্রোল স্ট্রাকচার সম্পর্কে। তবে কন্ট্রোল স্ট্রাকচার ছোট কোন বিষয় নয় তাই একটি পর্বে সব কিছু শেখা সম্ভব নয়। এই পর্বে শুধু জানবেন কন্ট্রোল স্ট্রাকচার কী এবং কন্ট্রোল স্ট্রাকচারের মৌলিক কিছু দিক নিয়ে। আজ আমরা কোন কোড করা দেখব না।

কন্ট্রোল স্ট্রাকচার কি এবং কেন দরকার?

যারা প্রোগ্রামিং নিয়ে কিছুটা ধারনা রাখেন তারা ফ্লোচার্ট বা প্রবাহচিত্র সম্পর্কে নিশ্চইয় শুনে থাকবেন। প্রবাহচিত্র হল আপনার সমস্যার সমাধানের একটি চিত্র রূপ। এর অর্থ হল, আপনি কোন প্রোগ্রামিং সমস্যা কিভাবে সমাধান করবেন তা ধাপে ধাপে ভাগ করে ধাপ অনুসারে তাকে চিত্র আকারে প্রকাশ করেন তবে তাকেই বলা হবে প্রবাহচিত্র। প্রবাহচিত্র তৈরী করার বেশ কিছু নিয়ম ও নীতিমালা এবং আদর্শ রয়েছে তবে এই টিউনে সেগুলো নিয়ে আলোচনা করবনা। তবে উদাহরন হিসেবে শুধু একটি সমস্যা এবং তার প্রবাহচিত্র উল্লেখ করব।

সমস্যা ১:

ধরুন আপনি আপনার ওয়েবসাইটের জন্য লগইন সিস্টেম তৈরি করবেন যা কেবলমাত্র নির্দিষ্ট ব্যাবহারকারীকে প্রবেশ করতে দেবে বাকিদের প্রবেশ করতে বাধা দিবে এবং প্রত্যেকজন কে সর্বোচ্চ ৫ বার সুযোগ দিবে লগইন করার জন্য। কেউ ৫ বারের মধ্যে সঠিক ভাবে লগইন না করলে তাকে চুড়ান্তভাবে লগ-ইন করতে দিবে না এবং পুনরায় কোন সুযোগ দেয়া হবে না। এই সমস্যার একটি ফ্লোচার্ট যদি তৈরী করি, তাহলে কেমন হবে একটু দেখিঃ

ফ্লোচার্টে লক্ষ করুন, দুইবার সিধান্ত গ্রহন করতে হবে। একবার যখন ব্যাবহারী ইউজার নেমি সঠিক কিনা তা পরীক্ষা করে সিধান্ত গ্রহন করব। যদি সঠিক না হয় তাহলে আবার পরীক্ষা করে দেখতে হবে ব্যাবহারকারী কতবার ভুল করেছেন। যদি ৫ বার অতিক্রম করে তাহলে তার প্রবেশ রহিত করতে হবে নইলে আবার সুযোগ দিতে হবে। প্রত্যেকবার ভুল করার জন্য এই ৫ বার পর্যন্ত ইউজারকে সুযোগ দিতে, একই কাজ আমাদের ৫ বার করতে হবে আর এই কাজ হল ইউজারের কাছ থেকে তথ্য নিয়ে সঠিক কিনা তা পরীক্ষা করা।

সমস্যা ২:

মনে করুন কোন বি্দ্যালয়ে ১০০ জন ছাত্র আছে। তাদের বার্ষিক পরীক্ষার ফলাফল তৈরী করার জন্য আপনাকে একটি প্রোগ্রাম তৈরী করতে বলা হল। এবার বিদ্যালয়ের সকল ছাত্র-এর তথ্য প্রোগ্রামের মাধ্যমে ইনপুট নিতে হবে নাহলে আপনি অথবা আপনার প্রোগ্রাম তাদের ফলাফল বার করতে পারবেনা। তাহলে, আপনার প্রোগ্রাম এমনভাবে সাজাতে হবে যে প্রত্যেক ছাত্রের কাছ থেকে তার বিষয়ভিত্তিক নাম্বার গ্রহন করবে এবং তার মোট নাম্বার হিসেব করে সে পাস না ফেল করেছে সে সম্পর্কে সিধান্ত গ্রহন করবে। তাহলে এখানে লুপিং এর মাধ্যমে ১০০ জন ছাত্রের কাছ থেকে বিষয়ভিত্তিক নাম্বার গ্রহন করবে এবং মোট নাম্বার যোগ করে হিসেব করে দেখবে তা কি পাশ নাম্বারের সমান বা বেশি কিনা। যদি হয় তাহলে ছাত্রকে পাশ বলে ঘোষনা করবে অথবা ফেল ঘোষনা করবে। এখানেও সম্পূর্ন কন্ট্রোল স্ট্রাকচারের কাজ রয়েছে।

সি শার্পে কি কি কন্ট্রোল স্ট্রাকচার রয়েছে?

  • if
  • if…else
  • do
  • for
  • foreach
  • goto

এ পর্বে আমরা শিখলামঃ

  • কন্ট্রোল স্ট্রাকচার কি?
  • কন্ট্রোল স্ট্রাকচার কেন দরকার?
  • কি কি কন্ট্রোল স্ট্রাকচার রয়েছে?

আজ এ পর্যন্ত। আমার শরীর খুব একটা ভাল না। কম্পিউটারে কাজ করতে অসুবিধা হয়। আমি আন্তরিকভাবে দুঃখীত যে এই পর্বে আপনাদের তেমন কিছুই দেখাতে পারলাম না। আমি নিজেও মনে করি যে এই পর্বের লেখা আপনাদের হতাশ করবে। আমি অনেক কিছু সাজিয়ে রেখেছিলাম যে লিখব বলে তবে কিছুই লেখা হল না। আপনাদের কারোর যদি এই পর্ব ভাল না লাগে (না লাগাটাই স্বাভাবিক) আমি আবারো দুঃখ প্রকাশ করছি আপনাদের সময়ক্ষেপন করার জন্য।

Level 0

আমি জ্যোতি। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 13 বছর 3 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 17 টি টিউন ও 98 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 2 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।

আমি জ্যোতি চৌধুরী। কম্পিউটার সাইন্স এন্ড ইঞ্জিনিয়ারিং এর ছাত্র। মিলিটারি ইন্সটিটিউট অফ সাইন্স এন্ড টেকনোলজি, মিরপুর ক্যান্টনমেন্ট এ পড়াশোনা করছি। ভাল লাগে বন্ধুদের সাথে আড্ডা দিতে, কম্পিউটার প্রযুক্তি সম্পর্কে জানতে। আগ্রহ আছে সফটওয়্যার ডেভেলপমেন্ট, প্রোগ্রামিং ও ওয়েব ডেভেলপমেন্টের প্রতি। স্বপ্ন দেখতে ভালবাসি। স্বপ্ন কে বাস্তবে রুপায়ন করতে পছন্দ করি।


টিউনস


আরও টিউনস


টিউনারের আরও টিউনস


টিউমেন্টস

Level 0

MANY MANY THANK YOU, WAITHNG FOR NEXT.

শরীর ভালো হলে আবার লিখবেন। ভালো হয়ে উঠুন, আপনার জন্য শুভ কামনা। এখানে উদাহরন না দিলেও আপনি ফ্লোচার্ট ও কন্ট্রোল স্ট্রাকচারের মত দুটি ভালো থিওরি নিয়ে আলোচনা করছেন।

    অনেক ধন্যবাদ জাকির ভাই। ইনশাল্লাহ শরীর কিছুটা ভাল হলেই আবার লেখা শুরু করব। কন্ট্রোল স্ট্রাকচার খুব গুরুত্বপূর্ন। এটা নিয়েই আমার একাধিক পর্ব তৈরী করার ইচ্ছে আছে।

    যাইহোক, আজকে আপনার C এর টিউটোরিয়াল গুলো পড়লাম। অনেক ভাল ভাল কিছু থিওরি নিয়ে অনেক সুন্দর ভাবে আলোচনা করেছেন। আমি নিশ্চিত যে তা অবশ্যই অনেকের কাজে আসবে। ভাল থাকবেন। শুভ কামনা রইল।

    আমার টিউন পড়ছেন শুনে ভালো লাগলো। ধন্যবাদ।

সংক্ষিপ্ত হলেও ভালো লাগলো।আশা করি মহান আল্লাহ তাআলা আপনার শারিরীক অসুস্থতা খুব তারাতারি দূর করবেন।পরবর্তি পর্বের অপেক্ষায় রইলাম। ধন্যবাদ।

    ধন্যবাদ রিপন ভাই। পরবর্তি পর্ব প্রকাশিত হয়েছে।

দুঃখ্য প্রকাশ করার কিছু নাই ছোট হইলেও টিউন ভাল হইছে,
আর আপনার সুস্থতা কামনা করছি,
সুস্থ হয়ে আবার সুন্দর ভাবে টিউন নিয়ে হাজির হবেন এই প্রত্যাশায়,
আপনাকে অনেক অনেক ধন্যবাদ।
(অনুমতি পেলে আপনার টিউটোরিয়ালটা আমার ব্লগে প্রকাশ করতে চাই)

    ধন্যবাদ আতাউর রহমান ভাই। এখন মহান আল্লাহর অশেষ রহমতে বেশ সুস্থ। ৪র্থ পর্ব প্রকাশিত হয়েছে। আশা করি ভাল লাগবে। অনুমতি দিলাম, আপনার ব্লগে আপনি আমার লেখা প্রকাশ করতে পারেন। আপনার ব্লগের লিংক দিয়েন। আমি ভিজিট করতে চাই। ব্লগ পড়তে আমার ভাল লাগে।

সকলের উদ্দেশ্যে বলছি-
আমার মনে হয়, আমি আপনাদের সকলের থেকে বয়সে ছোট (বিএসসি ইঞ্জিনিয়ারিং ৩য় বর্ষ)। আমাকে ‘তুমি’ করে বলতে পারেন। আপনি বলার কোন প্রয়োজন নেই…ধন্যবাদ।