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

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

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

নিচের প্রোগ্রামটি একটু মন:যোগ দিয়ে লক্ষ্য কর। প্রোগ্রামটির মাধ্যমে দুটি সংখ্যার মধ্যে যোগফল নির্ণয় করা যাবে।

#include<stdio.h>

#include<conio.h>

void main()

{

int a;

int b;

int Result;

printf("First Number:");

scanf("%d",&a);

printf("Second Number:);

scanf("%d",&b);

Result=a+b;

printf("Result=%d",Result);

getch();

}

মূল বর্ণনা:

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

" মীমের বাসায় দু'জন লোক বেড়াতে এসেছে। তাদের মধ্যে একজন খুবই লম্বা আর একজন খাটো। লোকদুটো মীমের সাথে পরিচিত হল। একটি লোক তাকে জিজ্ঞাসা করল- আচ্ছা মীম, তুমি কি করতে পছন্দ কর? মীম বলল- আমি কোন ছবিতে রং করতে পছন্দ করি। লোকটি বলল- আচছা, তুমি কোন ছবি অংকন করতে পছন্দ কর? মীম বলল- বাংলাদেশের জাতীয় পতাকা। লোকঠট বলল- তুমি কি জানো, বাংলাদেশের জাতীয় পতাকা অংকন করতে কি কি রং লাগে? মীম বলল- হ্যা জানি। লোকটি বলল- তুমি একটা কাজ কর। রং দুটির নাম একটি খাতায় লিখে আমাকে দাো। আমি ঐ দুটি রং কিনে তোমাকে উপহার দেব। মীম খুবই খুমশ হয়ে দ্রুত একটি খাতা নিয়ে এসে নিচের মত করে লিখল:

১. জাতীয় পতাকা অংকন করতে প্রথম রংটির নাম হল:

লাল

২. জাতীয় পতাকা অংকন করতে দ্বিতীয় রংটির নাম হল:

সবুজ

এরপর কাগজটি লোকটির হাতে দিয়ে মীম বলল-এই দুটি রং দিয়ে জাতীয় পতাকা অংকন করে একটি ‍‍বাঁশের খুঁটির সাহায্যে বেঁধে উড়ানো যাবে। ---এই বলে সে ফিক করে হেসে ফেলল।"

গল্পটি নিশ্চয়ই মন:যোগ দিয়ে পড়েছ? এবার চলো দেখি এই গল্পের মাধ্যমে কিভাবে প্রোগ্রামটি বোঝা যায়?

১) বন্ধুরা, আমরা প্রোগ্রামটিতে প্রথমেই int a; int b; int Result ব্যবহার করেছি। এখানে int এর পূর্ণরুপ হল integer  (পূর্ণসংখ্যা)। অর্থা‍ৎ আমরা যে যোগটি করব তা পূর্ণসংখ্যা না দশমিক সংখ্যা হবে int তা নির্ধারণ করে। গল্পে লোকটি মীমকে বলেছে একটি জাতীয় পতাকার রং করতে কি কি লাগে? মীম বলেছে- লাল ো সবুজ রং এবং একটি ‍‍বাঁশের খুঁটির সাথে বেঁধে দিলে পতাকাটি উড়বে। আমরাো তদ্রুপ বলছি, দুটি সংখ্যা যোগ করতে প্রথমেই দুইটি সংখ্যা নিতে হবে। অর্থাৎ গল্পে লাল রং বলতে a নামক একটি সংখ্যা, সবুজ রং বলতে b নামক একটি সংখ্যা এবং একটি ‍‍বাঁশের খুঁটির খুটিঁর সাহায্যে উড়বে বলতে বোঝানো হচ্ছে যে, Result এর মাধ্যমে আমরা আউটপুট দেখব।

২) গল্পে মীম লিখেছে- জাতীয় পতাকা অংকন করতে প্রথম রংটি হল:

এরপর নিচে লিখেছে লাল। আর আমরা এই জিনিসটি printf() এর মধ্যে লিখেছি "দুটি সংখ্যা যোগ করতে প্রথম সংখ্যাটি হল:" ("First Number") । এরপর নিচে scanf() এর মধ্যে লিখেছি প্রথম সংখ্যা a । অর্থাৎ scanf("%d",&a); স্টেটমেন্টটিতে %d লিখলাম এই কারনে যে, আমরা পূর্বে int ব্যবহার করেছি। যদি int এর পরিবর্তে float লিখতাম তবে %f  লিখতাম। %d এর পরে &a এর অর্থ  a সংখ্যার জন্য একটি input নিবে।

৩) গল্পে মীম এরপরই লিখেছে- জাতীয় পতাকা অংকন করতে দ্বিতীয় রংটি হল:

এরপর নিচে লিখেছে সবুজ। আমরাো printf() এর মধ্যে লিখেছি ("Second Number:") এরপর নিচে লিখেছি দ্বিতীয় সংখ্যা b অর্থাৎ scanf("%d",&b) statement টির মধ্যিমে যদি প্রশ্ন করি "%d" কার জন্য? উত্তর হবে b এর জন্য কারণ "%d" এর পরে কমা দিয়ে &b লেখা আছে।

৪) এবার সংখ্যা দুটি যোগ করা হয়েছে Result=a+b; statement টির মাধ্যমে। সুতরাং a একটি সংখ্যা এবং b আরেকটি সংখ্যা যোগ করে যোগফল থাকবে Result এর মধ্যে। গল্পের মত লাল ো সবুজ রং দিয়ে পতাকা অংকন করে পতাকাটি উড়বে বাশেঁর খুটিঁর মাধ্যমে।

৫) এবার printf("Result=%d",Result); statement  টির মাধ্যমে যোগফল পাোয়া যাবে। আগেই বলেছি ডাবল কোটেশনের (" ") মধ্যে যা লেখা যায় আউটপুটে তাই দেখতে পাোয়া যায়। সে হিসেবে আউটপুটে দেখার কথা Result=%d , কিন্তু তা হবে না। Result= এতটুকুই থাকবে শুধু %d থাকবে না। কম্পাইলারের কাছে এর অন্য একটি অর্থ আছে। অর্থাৎ %d কার জন্য? পাশেই লিখেছি Result এর জন্য। সুতরাং পূবের্র লাইনের যোগকৃত ফলাফল %d এর এখানে বসে থাকবে।

OUTPUT: প্রোগ্রামটি রান করলে নিন্মের আউটপুট পাোয়া যাবে:

First Number:10

Second Number: 20

Result=30

উপরের প্রোগ্রামটি নিচের মত ছোট করেো লিখা যাবে। এতে আউটপুটের যোগফলের কোন পরিবর্তন হবে না।

#include<stdio.h>

#include<conio.h>

void main()

{

int a,b,Result;

printf("First and Second Number:");

scanf("%d%d",&a,&b);

Result=a+b;

printf("Result=%d",Result);

getch();

}

সুতরাং প্রোগ্রাম দুটির মধ্যে পার্থক্য হচ্ছে প্রথম প্রোগ্রামে int a; int b; int Result; আলাদা লাইনে লেখা হয়েছে এবং int কথাটা তিনবার লেখা হয়েছে। কিন্তু এখানে একটি int দিয়ে a,b,Result; লেখা হয়েছে মাঝখানে শুধু কমা চিহ্ন দিয়ে।তদ্রুপ printf()এর মধ্যে লেখা হয়েছে First and Second Number:

একটি scanf() এর মধ্যেই দুটি সংখ্যা নেয়া হয়েছে a ো b । আর এভাবেই প্রোগ্রামটি ছোট হয়ে গেছে।

একটি মজার জিনিস:

উপরের প্রোগ্রামে দুটি সংখ্যা যদি ৩২৭৬৭ এর চেয়ে বেশী হয় তবে প্রোগ্রামের আউটপুট ভুল দেখাবে। সেক্ষেত্রে int এর পূর্বে long ব্যবহার করতে হবে। অর্থাৎ মীমের বাসায় যে দু'জন লোক এসেছিল এদের মধ্যে লম্বা লোকটি যত উপরের জিনিস ছুটে পারবে খাটো লোকটি কিন্তু অত উঁচু জিনিস ছুতে পারবে না। তাই খাটো লোকটি হল int আর লম্বা লোকটি হল long int । int এর সীমা  -32768 থেকে +32768 এবং long int এর সীমা -217483648 -2147483647 পর্যন্ত। আর %d এর জায়গায় দিতে হবে %ld।

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

#include<stdio.h>

#include<conio.h>

void main()

{

------------

getch();

}

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

ভালো থেকো। প্রোগ্রামের চর্চা চালিয়ে যাো।
আগের পর্ব: সি তে মজার মজার প্রোগ্রাম

16 thoughts on “গল্পে গল্পে সি প্রোগ্রামিং: sajib”

  1. প্লিজ ভাই …একটা অনুরোধ করি এই লেখার ধারাবাহিককতা টা বজায় রাখবেন…প্লিজ ২ বা ৩ টা পার্ট লিখে শেষ করে দিবেন না। আমরা যারা সি শিখতে আগ্রহী তাদের জন্য এটা খুব ই উপকারী…বস আপনি আমাকে একটা ইয়াহু তে ইনভাইট পাঠান…আমি ২ মাস থেকে সি র প্রাথমিক অবস্থায় পড়ে আছি কেউ কোন সাহায্য করছে না…আমি মনে করি আপনি আমাকে সেই সাহায্য টা করতে পারেন অপেক্ষায় রইলাম
    sabbirahat

    1. নিয়মিত টিউটোরিয়াল পড়তে থাকুন। আর ফেসবুকে Habibur Rahman Sajib এ পডংজডুট পাঠিয়ে যোগাযোগ রাখতে পারো।

  2. গল্পে গল্পে এত মুন্দর করে সি প্রগ্রামের আলোচনা করার জন্য ধন্যবাদ,সজীব। রাহাতের মতো আমি চাই এ ধারাবাহিকতা বজায় থাকে। টিউটরিয়ালবিডির লেখক পরিবারে আপনাকে পেয়েও আমরা গর্বিত।
    .-= টিউটো´র শেষ পোস্ট: >>উইনডোজ সেভেনের অফিসিয়াল ওয়ালপেপার কালেকশন =-.

  3. উদাহরনের সাহায্যে গল্পে গল্পে এত সুন্দর উপস্হাপনা…সত্যিই মজার।তবে অবশ্যই continue করতে ভুলবেন না যেন । ধন্যবাদ ।

  4. অনেক দিন পর আবার আপনার কাছে সি প্রোগ্রামিং শেখা শুরু করলাম । আশা করি সি নিয়ে আমার সমস্যা গুলো দেখিয়ে দিবেন । আর নিয়মিত পোষ্ট লিখবেন । আপনার ছোট ভাই ।

  5. আপনার লেখার ধারা বাহিগতা বজায় রাখলে আমাদের অনেক উপকার হবে। আসলে এই সমন্ত জিনিষ এর ব্যাপারে কেই সাপাজ্য করে না।

    1. হ্যা। “এর ব্যাপারে কেই সাপাজ্য করে না।”
      যারা একবার উপরে উঠে যায়, তাদের নিচে তাকানোর সময় থাকে না। তাই অনেকেই ভালো জানলেও লেখার সময় পায় না। যাহোক, আমি আপনাদের যতটুকু ধারনা দিয়েছি, এরপর আপনাদের কারো কাছে বই থাকলে শিখতে থাকেন। দেখবেন মুটামুটি সবকিছুউ বুঝতে পারবেন। আর কোন সমস্যা হলে আমাকে জানাতে পারবেন। আমার ফেসবুক আইডি sajib_spm@yah…… সবাই ভালো থাকবেন। নিয়মিত টিউটোরিয়াল বিডি তে প্রবেশ করুন। টিউটোরিয়াল দেখুন। আপনি যে বিষয়ে পারেন, সেই বিষয়ে টিউটোরিয়াল লিখুন। আর অজানা গুলো জেনে নিন। ধন্যবাদ সবাইকে।

  6. Israt Ahamed Sabbir

    #include লিখলে বার বার Unable To open include file ‘STDIO.H’ লেখা উঠে আমি কি করতে পারি।

  7. To: Israt Ahamed Sabbir

    problem solve এর জন্য তুমি আগে দেখো, তোমার TC কোন drive এ আছে? যেখানেই থাকুক না কেন, তুমি সেটাকে c drive এ আনো। তারপর TC open করো। এবার উপরের মেনু থেকে Optoins এ ক্লিক করো। তারপর Directories এ ক্লিক করো। এখন তুমি Include Direcories এ দেখো এরকম লেখা আছে কি না? C:\TC\INCLUDE না থাকলে এরকম লেখো। আর Library Directories এ C:\BIN\LIB লেখো। এবার এর নিচে Output Directories এবং Source Directories ফাকা রাখো। এবার OK তে ক্লিক করো।
    এবার আবার Options এ ক্লিক করো। Applications এ ক্লিক করো। Standard এ ক্লিক করে OK তে ক্লিক করো।
    এবার RUN করে দেখো কোন সমস্যা হবে না।

    ধন্যবাদ।

  8. এিট অামার ১ম েদখা এবং ১ম মতামত েদোয়া- অ্মার খুব ভাল েলেগেছ এবং অািম খুব খুশী ।নতুনরা খুবই উপকৃত হ েব ।

  9. Pingback: সি/সি++ প্রোগ্রামিং- এর বাংলা রিসোর্স | CSE World

Leave a Comment