C, অপারেটিং সিস্টেম এর প্রাণ… পর্ব ৭

12
510

কেমন আছেন সবাই? আমার টিউন গুলো আপনাদের কতটুকু উপকারে আসতেছে, তাতো বুঝতে পারছিনা! আমি যেভাবে লিখছি, সেভাবে কি আপনাদের কোনও উপকার হচ্ছে? আমার টিউন নিয়ে কোনও অভিযোগ, পরামর্শ থাকলে আমাকে জানাবেন দয়া করে। আর এখনতো টিউনার পেজ এই ব্যক্তিগত ম্যাসেজ দেয়া যায়। যাই হোক, আজকের টিউন এ চলে যাই। অল্প শিখব, কিন্তু খুব ই মজার একটি topic শিখবো! আজকের বিষয় হচ্ছেঃ Decision making and Branching. নাম থেকেই এর কাজ আশা করি কিছুটা বুঝে নিয়েছেন! সহজ ভাষায় বলতে গেলে, এভাবে বলা যায়, প্রোগ্রাম এর সুবিধার্থে আমাদের নির্দিষ্ট শর্ত পালন করে নির্দিষ্ট কাজ করতে হবে, এই অবস্থায় আমরা এই Decision making and branching ইউস করি! হয়তো সংজ্ঞাটা ভালো করে বুঝিয়ে বলতে পারিনি। ধৈর্য ধরে পুরো টিউন টা মনোযোগ দিয়ে পড়ুন, কথা দিচ্ছি, বুঝবেন তো অবশ্যই, মজাও পাবেন!

আগে দেখে নেই কয় ধরনের decision making and branching উপায় আছে আমাদের C তে!

Unlimited Web Hosting
Unlimited Web Hosting
Unlimited Web Hosting
Unlimited Web Hosting
  • if   statement
  • switch  statement
  • conditional operator statement
  • goto  statement(সবচেয়ে কম ব্যবহৃত!)

আজকে আমরা শুধু if   statement দেখবো! তাও পুরোটা না। আগেও হয়তো বলেছি, C তে যতবেশি প্রোগ্রাম practice করা যাবে, ততবেশি শিখা যাবে! তাই আমরা একটা সহজ প্রোগ্রাম দিয়ে  if  statement এর ইউস দেখি!

আমাদের একটা প্রোগ্রাম লিখতে হবে, যে প্রোগ্রাম টা ৪ টা পূর্ণসংখ্যা নিবে ইউজার এর কাছ থেকে; ধরা যাক- a,b,c,d। তারপর এইরকম একটা ratio বের করবেঃ

ratio=(a+b)/(c-d)

একটু চিন্তা করেন এটা কিভাবে করা যায়?! ভেবে দেখেন, c-d = 0 হলে কিন্তু ratio আসবেনা! তখন infinity হয়ে যাবে! তাহলে আমাদের ratio বের করার শর্ত কি হতে পারে?!
যদি c-d এর মান শুন্য না হয়=> এটাই হবে আমাদের শর্ত!!!

আচ্ছা, আমরা এবার code টা দেখি!

#include <stdio.h>
void main(void){
int a,b,c,d;    /* আমরা ৪ টা পূর্ণ সংখ্যা নিবো, তাই এদের data type declare করলাম int হিসেবে */
float ratio;   /*ratio দশমিক সংখ্যা হতে পারে, তাই এর data type declare করলাম float হিসেবে */
printf("Enter four integer values with space: "); /*ইউসার কে ৪ টা সংখ্যা দিতে বললাম */
scanf("%d %d %d %d",&a,&b,&c,&d); /*যেহেতু int type data, তাই এদের নেয়ার জন্য %d লিখলাম। float হলে %f লিখতাম।*/
if (c-d !=0){ /*if  statement এর ভিতরে শর্তটা দেখুন, এটা বুঝায় যদি c-d এর মান শুন্য না হয় , তাহলেই শুধুমাত্র কাজ হবে, নাহলে কোনও result প্রকাশ হবেনা! “!=” এই sign টা বুঝায় “not equal to”। যদি(if) c-d শুন্য না হয়, তাহলেই ভিতরে ঢুকে অন্যান্য statement গুলোর কাজ করবে।*/
ratio=(float)(a+b)/(float)(c-d);  /*এই statement টা আসল কাজটুকু করে! Ratio বের করে। এখানে দেখুন (float)(a+b)/(float)(c-d) লিখছি এই কারণে যে, যদি a+b অথবা c-d এর মান পূর্ণ সংখ্যাও আসে, তার দশমিক অংশ নিবে। মানে হল, যদি a+b এর মান 23 আসে, তাহলে নিবে, 23.00। কারণ আমরা ratio float এ প্রকাশ করতে চাই। এই কাজের আরেক নাম আছেঃ Type Cast! এটা আরেকদিন দেখবো।*/
printf("Ratio= %f\n",ratio);       /*ইউসার কে ফল দেখানো হল! এখানে দেখুন %f লিখা হয়েছে কারণ ratio float।*/
}
}

আমি code এর পাশে কমেন্ট লাইন এই ব্যাখ্যা করে দিয়েছি যেন আপনাদের বুঝতে সুবিধা হয়। আগেই জেনেছি যে কমেন্ট লাইন নিজের সুবিধার জন্যই ব্যবহৃত হয়, আর এগুলো executable statement ও না! Compiler এগুলো ignore করে যায়!

কেমন লাগলো code টা?! মজার না?! নিচে একটা পিক দিলাম এর sample output এর!

এটাতো গেলো simple if statement! এরকম আরও আছে if এর মধ্যেই। এদের নামগুলো হলঃ

  1. simple if statement (এতক্ষণ আমরা যা দেখলাম।)
  2. if … else statement
  3. Nested if…else statement
  4. else if ladder

বাকীগুলোর উদাহরণ ও দেখবো আস্তে আস্তে! আজ আরও কিছু দেখাতাম। কিন্তু শরীর টা ভালো না। বসে থাকতে অনেক কষ্ট হয়। দোয়া  করবেন। ভালো থাকবেন!  :)

টিউনারপেজের নতুন টিউন আপনাকে ইমেইল করব?
Unlimited Web Hosting
Unlimited Web Hosting
Unlimited Web Hosting
Unlimited Web Hosting

12 মন্তব্য

  1. ভাল বুদ্ধি দিয়েছেন। ধন্যবাদ আপনাদের। তাহলে শুরু করতে হবে এবার।

  2. ভাই আমি প্রোগ্রামিং এ একেবারে বিশেষজ্ঞ (বিশেষভাবে অজ্ঞ)। বিজুয়াল বেসিক আর সি শিখার ইচ্ছা আছে। কয়েকটা বইও সংগ্রহ করেছি। কিন্তু বইগুলো দেখলে ভয় লাগে। রবীঠাকুরের শ্রেষ্ট গল্পের চেয়েও বড়। শুরু করলে শেস করতে পারবো কিনা জানিনা। আপনার পোষ্টটি পেয়ে আবার আশা জাগল। আমি কোন ল্যাঙ্গুয়েজটা আগে শিখব দয়া করে আমাকে একটা পরামর্শ দেন। আপনার পরামর্শ পেলে আবার শুরু করবো।

    • ভাই, এটা আপনার উপর নির্ভর করে যে আপনি কোনটা শিখবেন! যদি আপনার প্রগ্রাম্মিং নিয়ে কাজ করার ইচ্ছে থাকে , তাহলে বেসিক C দিয়েই শুরু করতে পারেন কারণ এটি motherlanguage ! আর বই দেখলে আমার নিজের ও মাথা ঘুরে! আমি স্যার এর লেকচার থেকেই যা শিখার শিখছি! তবে বই আপনাকে দেখতেই হবে, শুরু করেন, সমস্যা হলে জানাবেন! :)

      • ভাই ভয় পাইলে কি আর হবে………….
        শুরু করে দেন……একটু মারা মারি করেন ………
        দেখবেন তার পরে সব ঠিক হয়ে গেছে…..

  3. অনেক দিন ধরে ক নিয়ে কনু কাজ করি না…..
    আপনার পোস্ট দেখে মনে হটছে…….
    আবার চেস্ট একরে দেখি…..
    ধন্য++++++=
    চালিয়ে যান……সাথেই আছি.

    • ভাই, আমি খুব ই চিন্তায় আছি। আমি টিউন গুলো সুন্দর করে গুছাতে পারছিনা। দোয়া করবেন যেন শিখে যাই তাড়াতাড়ি। :)

একটি উত্তর ত্যাগ

Please enter your comment!
Please enter your name here

nine − 6 =