গল্পের মাধ্যমে সি প্রোগ্রামিং শেখা: sajib

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

গল্পে গল্পে সি প্রোগ্রামিং: sajib

সি তে মজার মজার প্রোগ্রাম

নিচের প্রোগ্রামটি লক্ষ্য করো:

#include<stdio.h>

#include<conio.h>

void main()

{

int a;

printf("Press 1 or 2 or 3 or4:");

scanf("%d",&a);

switch(a)

{

case 1:

printf("\nYou press one.");

break;

case 2:

printf("\nYou press two.");

break;

case 3:

printf("\nYou press three.");

break;

case 4:

printf("\nYou press four.");

break;

default:

printf("\nYou do not press 1 or 2 or 3 or 4");

break;

}

getch();

}

মূল বর্ণনা:

প্রোগ্রামটি নি:শ্চয় মন:যোগ সহকারে লক্ষ্য করেছ। চলো বন্ধুরা দেখি, আজকে আমাদের জন্য কোন গল্পটা অপেক্ষা করছে? যে গল্পের মাধ্যমে আমরা প্রোগ্রামটি শিখতে পারব।

" ইন্সপেক্টর পিন্টু তার কিছু সেন্ট্রি নিয়ে একটি চোরের পেছনে ধাোয়া করছে। একসময় তারা একটি চার রাস্তার মোরে এসে দাড়িয়ে পড়ল। তারা কেউই বুঝতে পারছে না যে, চোরটি কোন রাস্তা দিয়ে পালিয়েছে? ইন্সপেক্টর পিন্টু তার একটি সেন্ট্রি জিতকে জিজ্ঞাসা করল- চোরটিকে কি তুমি সত্যিই দেখেছিলে? জিত বলল- স্যার, আমি ভালো করে দিখতে পারি নি। তবে অন্ধকারে পায়ের শব্দ শুনে আমি মনে করেছি এটা চোরের পায়ের শব্দ। তাই আপনাকে দ্রুত সংবাদ দিয়ে চোরটির পেছনে ধাোয়া করলাম।

ইন্সপেক্টর পিন্টু বললেন- তার মানে এটি চোর কিনা তা নিশ্চিত নয়। হুম, ভাববার বিষয়। আচ্ছা, এটা যদি চোর হয় তবে কোন রাস্তা দিয়ে গেল, এটাো তো বুঝতে পারছি না। যাইহোক, একটা কাজ করি । আমরা চারটি পয়েন্টে আগাতে পারি। এক: চোরটি যদি পূর্ব দিকের রাস্তা দিয়ে যায়, তবে ঐ দিকে কিছু দুরেই আমাদের ১নং ক্যাম্প আছে। সেখানে ফোন করে জানিয়ে দিই চোরটিকে ধরার জন্য। দুই: চোরটি যদি পশ্চিম দিকের রাস্তা দিয়ে যায় তবে ঐ দিকে আমাদের ২নং ক্যাম্প আছে। সেখানেো জানিয়ে দিই।  তিন: চোরটি যদি উত্তর দিকের রাস্তা দিয়ে যায় তবে ঐ দিকে আমাদের ৩নং ক্যাম্প আছে। সেখানে জানিয়ে দিই।  চার: চোরটি যদি দক্ষিন দিকের রাস্তা দিয়ে যায় তবে ঐ দিকে আমাদের ৪নং ক্যাম্প আছে। সেখানে জানিয়ে দিই।  সুতরাং যেদিকেই যাক না কেন, চোরকে ধরা পড়তেই হবে। আরেকটি কথা, যদি কোন দিকেই চোরটি ধরা না পড়ে তবে এটা চোর নয়, এটা আমাদের সেন্ট্রি জিত এর চোখের ধাঁধা। আর আমরা সবাই বোকা।"

গল্পটি খুবই মজার, তাই না বন্ধুরা?

১) আমরা int a;  statement এর মাধ্যমে a নামক একটি পূর্ণসংখ্যা নিয়েছি। এরপর printf() ফাংশনের মধ্যে লিখেছি  "Press 1 or 2 or 3 or 4:" অর্থাৎ গল্পে বলা হয়েছে "চারটি পয়েন্টে আগাতে পারি।" সুতরাং আমাদেরকে যে কোন একটি  সংখ্যা press করতে বলা হচ্ছে।

২) scanf() ফাংশনের মাধ্যমে আমরা a এর জন্য অর্থাৎ চোর ধরার জন্য  input নিচ্ছি।

৩) switch()   statement  এর মাধ্যমে আমরা চারটি case দেখিয়েছি। গল্পে বলা হয়েছে, এক: চোরটি যদি পূর্ব দিকের রাস্তা দিয়ে যায় তবে ঐ দিকে আমাদের ১নং ক্যাম্প আছে। সেখানে ফোন করে জানিয়ে দিই চোরটিকে ধরার জন্য। আমরাো বলছি  case 1:

printf("\nYou press one.");

অর্থাৎ কীবোর্ড থেকে ১ চাপলে আউটপুটে দেখাবে You press one.

৪) গল্পে বলা হয়েছে, দুই: চোরটি যদি পশ্চিম দিকের রাস্তা দিয়ে যায় তবে ঐ দিকে আমাদের ২নং ক্যাম্প আছে। সেখানে ফোন করে জানিয়ে দিই চোরটিকে ধরার জন্য। আমরাো বলছি  case 2 :

printf("\nYou press two.");

অর্থাৎ কীবোর্ড থেকে ২ চাপলে আউটপুটে দেখাবে You press two.

৫) গল্পে বলা হয়েছে, তিন:  চোরটি যদি উত্তর দিকের রাস্তা দিয়ে যায় তবে ঐ দিকে আমাদের ৩নং ক্যাম্প আছে। সেখানে ফোন করে জানিয়ে দিই চোরটিকে ধরার জন্য। আমরাো বলছি  case 3 :

printf("\nYou press three.");

অর্থাৎ কীবোর্ড থেকে ৩ চাপলে আউটপুটে দেখাবে You press three.

৬) গল্পে বলা হয়েছে, চার:  চোরটি যদি দক্ষিন দিকের রাস্তা দিয়ে যায় তবে ঐ দিকে আমাদের ৪নং ক্যাম্প আছে। সেখানে ফোন করে জানিয়ে দিই চোরটিকে ধরার জন্য। আমরাো বলছি  case 4 :

printf("\nYou press four.");

অর্থাৎ কীবোর্ড থেকে ৪ চাপলে আউটপুটে দেখাবে You press four.

৭) গল্পে শেষে বলা হয়েছে, যদি কোন দিকেই চোরটি ধরা না পড়ে তবে এটা চোর নয়। আমরা বলছি default:

printf("\nYou do not press 1 or 2 or 3 or 4");

অর্থাৎ যদি ১ কিংবা ২ কিংবা ৩ কিংবা ৪ এর কোনটিই press না করে অন্য কোন সংখ্যা press করি তবে output এ দেখাবে You do not press 1 or 2 or 3 or 4

৮) প্রত্যেকটি case এর শেষে break; দেোয়া হয়েছে। কারণ ১ কংবা ২ কিংবা ৩ কিংবা ৪ press করার পর যে কোন একটি  case কাজ করবে। অর্থাৎ 1 চাপলে case 1  সম্পাদিত হবে। এরপর break; statement এর জন্য case 2 বা case 3 বা case 4 বা default এর কোনোটিই সম্পাদিত হবে না। আর switch()  statement  শুরুর জন্য "{" এবং শেষে "}" চিহ্ন দিতে হবে।  switch(a) দেোয়া হয়েছে এজন্য যে,  a এর যে মান  input হিসেবে নেোয়া হবে তা  case এর পরের সংখ্যার সাথে মিলে গেলে সেই  case executation হবে। আর না মিললে  default executation হবে। \n বলতে নতুন লাইন বোঝায়।

Output: প্রোগ্রামটি  Run করলে নিন্মোক্ত  Output পাোয়া যাবে।

Press 1 or 2 or 3 or 4:       2

You press two.

পরিশেষ:

বন্ধুরা, আজ এ পর্যন্তই। তবে তোমরা কিন্তু আজকে switch() এর ব্যবহার শিখে গেলে। আজো আমি প্রোগ্রামের শুধু মূল অংশটুকুই বর্ণনা করেছি। সকল প্রোগ্রামের জন্য নিচের অংশটুকু মোটামুটিভাবে বাধ্যতামূলক।

#include<stdio.h>

#include<conio.h>

void main()

{

————

getch();

}

তাই "{" এবং "}"  অংশের মধ্যের অংশই বর্ণনা করেছি। তবে উপরের এই অংশ কেন বাধ্যতামূলক তা আমি পূর্বের প্রথম টিউটোরিয়াল “সি তে মজার মজার প্রোগ্রামিং” এ উল্লেখ করেছি। এরপর দ্বিতীয় টিউটোরিয়াল  " গল্পে গল্পে সি প্রোগ্রামিং " এ আরো কিছু উল্লেখ করেছি। তোমরা একটু কষ্ট করে পড়ে নিো, কেমন?

ভালো থেকো। বেশি বেশি প্রোগ্রামের চর্চা চালিয়ে যাো।

8 thoughts on “গল্পের মাধ্যমে সি প্রোগ্রামিং শেখা: sajib”

  1. গল্পে গণ্পে সি প্রোগ্রামিং টিউটরিয়াল লেখার জন্য আপনাকে ধন্যবাদ। আপনার টিউটরিয়াল লেখার পদ্ধতিটি সম্পূর্ণ ইউনিক। আশা করি এ ধারাবাহিকতা বজায় থাকবে।

  2. “প্রোগ্রামিং অনেক ঝকোমারি বিষয় কিছুই মাথায় ডুকতে চায় না।” কথাটা আংশিক সত্য আর আংশিক মিথ্যা । আমার কাছে যে কোন প্রোগ্রামই শুরুর মূহর্তে কঠিন লাগে। কিন্তু ধর্য ধরে কিছুটা সময় ব্যায় করলে অনেক কিছুই বোঝা যায়। আর তা দিয়ে যদি কিছু করে ফেলা যায় তবে শেখার আগ্রহটা বাড়ে, তখন বলা যায় শেখার রাস্তাটা অন্তত চেনা গেছে। আর এ রাস্তায় চলতে থাকলে দক্ষতা অর্জনও সম্ভব হয়। আসলে আমরা প্রায়ই যে কাজটা করি, যে কোন প্রগ্রামিং শেখার শুরুর মূহর্তেই খুজতে থাকি এ দিয়ে কি করা যায় । আর আকর্ষনীয় সব কিছুরই কোডিং বেশ জটিল হয় এবং ধরে নেই এ জিনিস আমার পক্ষে সম্ভব নয়। ফলশ্রতিতে আর তা শেখা হয়ে ওঠে না । তার চেয়ে বরং আমরা প্রথমেই সংকল্প করে নেই আমাকে এই প্রোগ্রামটা শিখতেই হবে তারপর বিশ্বস্ত কোন উৎস থেকে শেখার প্রাথমিক উপকরণ সংগ্রহ করে লেগে পরি শেখার মিশনে। না কি বলেন?

    ধন্যবাদ………………..

  3. “আর আকর্ষনীয় সব কিছুরই কোডিং বেশ জটিল হয় এবং ধরে নেই এ জিনিস আমার পক্ষে সম্ভব নয়।” এখান থেকেই শুরু করি—
    প্রগ্রামিং বেপারটা অনেকটা “অ আ ক খ” শেখা আর “ব্যাকরণ” শেখার মতো। প্রোগ্রামিং এর টোকেন হলো অ আ ক খ আর সিনটেক্স হলো ব্যাকরণ। ভাষা শেখার মতো করে কয়েকটি শব্দে শব্দে এগিয়ে গেলে বাক্য বাক্য থেকে ছোট ছোট প্যারগ্রাফ তার পর রচনা তার পর মহা-কাব্যও হতে পারে । ঠিক তেমনি প্রোগ্রামিং এর কোডিং এক সময় হাজার হাজার লাইনের কোডও হতে পারে। এজন্য ভয়ের কারন নাই। আরেকটা বিষয় দেখা যায়-হারা হাজার লাইনের কোডিং কয়েকটা ক্লিকের মাধ্যমেই কিছু কিছু প্রোগ্রাম দিয়ে করা যায় আর সেই দিকে চলে গেলে মৌলিক প্রোগ্রামিংটাই শেখা হবে না। আমি এজন্য সবাই কে সি প্রোগ্রামিং দিয়ে পড়ালেখাটা শুরু করতে বলি।

  4. বিশ্বজিত

    প্রোগ্রাম এর সকল সিকোয়েন্স জানানোর অনুরোধ এবং এপর্যন্ত যা জানিয়েছেন তার জন্য ধন্যবাদ।
    আশা করি প্রোগ্রামিং এর সকল ধারণা পাঠকরা এখান থেকে পেয়ে যাবে।

  5. কেমন আছেন সবাই? আশা করি আল্লাহর রহমতে খুবই ভালো। অনেক দিন পর টিউটোরিয়াল বিডিতে ভিজিট করলাম।
    আমি এখন seo নিয়ে খুবই ব্যস্ত আছি। যার ফলে টিউটোরিয়াল লেখার সময় পাই না।
    কাজী মাসুম বিল্লাহ ভাইকে,
    ————————–
    জাভা প্রোগ্রাম নিয়ে লিখতে পারতাম, কিন্তু সময় হয় না ভাই। কি করব বলেন?

    যাইহোক, আশাকরি সবাই নিয়মিত টিউটোরিয়াল বিডি তে প্রবেশ করবেন, আপনার কোন বিষয়ে সমস্যা খাকলে প্রশ্ন করতে পারেন।

Leave a Comment