শিক্ষক মামা -৩

আপুর কথা শুনে প্রোগ্রামিং অনেক কঠিন মনে হলেও এখন অনেক সহজ মনে হচ্ছে। তবে মামার একটু পর পর বিশ্রাম নেয়ার কথাটা আমার খুব ভালো লেগেছে। এমনি ঘোরাঘোরি করতে করতে ১০ মিনিট কেটে গেল। আমি মামার ঘরে যাবার সময় আপুকে সাথে করে নিয়ে গেলাম।

# আপু,প্রোগ্রামিং তো অনেক সহজ, তুমি এত ভয় পাওয় কেন?

* জানি না, আগে তো কিছুই বুঝতে পারতাম না, কিন্তু এখন আবার সব বুঝি, আমার মনে হয় মামার কাছে জাদু আছে। আর তাই তো আম্মুকে বলে মামাকে আসার ব্যবস্থা করেছি।

# ও এই কথা ?? আমি আরও কত কি ভাবছি। তাহলে মামা আমার যেমন শেষ ভরসা, তোমারও শেষ ভরসা, হি হি হি…     

কথা বলতে বলতে মামার ঘরে চলে গেলাম- 

% কি ঘোরাঘোরি শেষ?

# না মামা, তবে ১০ মিনিট শেষ।

% হা হা হা, কি বিরতি কি কম হয়ে গেছে।

* আরে না মামা, ইমু এমনি মজা করছে।

# মামা, তোমার একটু পর পর বিশ্রামের বুদ্ধিটা আমার ভালো লেগেছে।

% তাই না, তোর জন্য সুখবর আছে, আপাকে অনেক বলে বুঝিয়ে এসেছি। এখন মনে হয় তোদের আম্মুই একটু পর পর এসে বিশ্রাম নিতে বলবে, হা হা হা…

# মামা, কি বলে যে তোমাকে ধন্যবাদ দিব-

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

* ওকে মামা, এখন কি করতে হবে বল।

% আমাদের সারাদিনের প্লানগুলো মনে আছে ??

* আছে সব, আমার স্কেচবুকে লেখা আছে।

% চমৎকার, এখন তাহলে একটা একটা করে প্লানগুলোকে প্রোগ্রামে রূপান্তর করে ফেলি। প্রথম কি ছিল ?

*আমরা বাইরে যাব কিনা সেটা,  আর এলগরিদম হল

এলগরিদম ১
আপা যদি অনুমতি দেয়  তাহলে আমরা বাইরে যাব।

% হুম, এখানে আমরা if ব্যবহার করতে পারি, আর অনুমতির জন্য একটি ভেরিয়েবল। আর কি করব সেটা প্রিন্ট করে বলে দিব।

প্রোগ্রাম  ৩.১    

 আমাদের প্রোগ্রামপ্রোগ্রামের আউটপুট




char permission;
printf(“Did we get the permission?”);
scanf(“%c”, &permission);
if(permission== ‘y’)
          printf(“We will go outside”);
Did we get the permission?_
y
We will go outside

% এখানে ৭ নাম্বার লাইন নতুন, আর সবই আমরা আগে দেখেছি।

# মামা, %c ও আগে ব্যবহার করি নাই।

% তাই নাকি ??? মনে রাখিস, একটা জাদু দেখাব-

# ওয়াও, ঠিক আছে মামা-

% এখন if কিভাবে কাজ করে সেটা বুঝার চেষ্টা করি। if এর ভিতরে আমরা যাই দেই না কেন, সে সত্য/ মিথ্যা ছাড়া কিছু বুঝে না।

* মানে কি ?

% মানে if এর ভিতরে আমরা যা লিখি, তার সবগুলো হিসাব করে সত্য/ মিথ্যা বের করা হয়, যা দেখে if কাজ করে।

প্রোগ্রাম  ৩.১.১  

 আমাদের প্রোগ্রামপ্রোগ্রামের আউটপুট

  int a=10;
  printf(“%d”, a==10);
1

 % এখানে a এর মান ১০, শর্ত সত্য তাই আউটপুটে ১ দেখাচ্ছে।  যদি মিথ্যা হত তাহলে শূন্য দেখাত।

প্রোগ্রাম  ৩.১.২  

 আমাদের প্রোগ্রামপ্রোগ্রামের আউটপুট

 int a=10;      
printf(“%d”, a==15);
0

* ওয়াও, তাহলে এই ১/০ এর উপর ভিত্তি করে আমাদের if কাজ করে!

% ঠিক তাই।

# আচ্ছা মামা, শর্ত সত্য হলে কি সে পরের সব কাজ করতে থাকবে ???

% চমৎকার! খুব সুন্দর প্রশ্ন। না, সত্য হলে if এর পরে যে লাইন বা ব্লক আছে সেটা কাজ করবে।

# লাইন তো বুঝি, কিন্তু ব্লক কি?

% আমরা যে “{  }” ব্যবহার করে কোড লিখি, এটাই হল ব্লক।  এটা দেখ-

  প্রোগ্রাম ৩.১.৩ 

 আমাদের প্রোগ্রামপ্রোগ্রামের আউটপুট
৪ ৫ ৬ ৭int a=5; if(a>10)
printf(“Hello ”);
printf(“Bangladesh”);
এখানে,  a এর মান ১০ এর বড়, তার মানে শর্ত মিথ্যা, কিন্তু আউটপুটে শুধু ৭ নাম্বার লাইন কাজ করছে। তার মানে ৭ নাম্বার লাইন if  এর বাইরে। আউটপুটে- Bangladesh

% আর যদি আমরা ব্লক ব্যবহার করি তাহলে-

প্রোগ্রাম  ৩.১.৪

 আমাদের প্রোগ্রামপ্রোগ্রামের আউটপুট
৪ ৫ ৬ ৭  int a=5; if(a>10)
{ printf(“Hello ”); printf(“Bangladesh”); }
a এর মান ১০ এর ছোট হলে, শর্ত মিথ্যা- আউটপুটে কিছু থাকবে না 

আর a এর মান ১০ এর বড় হলে, if এর পরের ব্লক কাজ করবে, আর আউটপুটে- HelloBangladesh

# মামা এটাই কি যাদু !!

% আরে না, ভালো কথা মনে করেছিস-

প্রোগ্রাম ১.৫

আমাদের প্রোগ্রামপ্রোগ্রামের আউটপুট



float a=5.5; printf(“Float1= %f”, a);
printf(“\nFloat2= %.2f”, a);    
printf(“\nFloat3= %10.2f”, a);    
printf(“\nFloat to integer= %d”, (int)a);
Float1= 5.500000  
Float2= 5.50    
Float3=       5.50
Float to integer= 5

* ও এটা তো আগেই দেখেছি, তবে float থেকে int করা যায় এটা শিখলাম।

% আর একটা নতুন বিষয় আছে, ৭ নাম্বার লাইনে দেখ-

* ও এখানে দশমিকের আগে কত ঘর জায়গা রাখব তা দেয়া যায়।

# এটাই জাদু ??

% না, আসল জাদু তো এখানে, ASCII  কোডের কথা মনে আছে ???

* হুম আছে, কম্পিউটারের ভাষা।

% চমৎকার, এখান তাহলে জাদু দেখ-

প্রোগ্রাম ১.৬

 আমাদের প্রোগ্রামপ্রোগ্রামের আউটপুট

int a=65;
printf(“%c”,a);
A  

% এখানে আমরা Integer  রেখে তা  Char  হিসাবে দেখছি। যদি ৬৬ দেই তাহলে B পাব, আবার ৯৭ থেকে a শুরু। এর বিপরিতটাও করা যায়। 

প্রোগ্রাম ১.৭

 আমাদের প্রোগ্রামপ্রোগ্রামের আউটপুট

char a=’C’;
printf(“%d”,a);
67  

# ওয়াও, মামা, মজার তো।

* এটা ভালো লেগেছে। এবার তোমার কথা বিশ্বাস হচ্ছে।

% হা হা হা, আগে হয় নি?

* না মানে, আগেও হয়েছে, এখন একদম প্রমান করে দিলে। হি হি হি,…

% অনেক জাদু দেখানো হয়েছে। আমাদের আসল কাজে ফিরে আসি।
এখন বাকি প্ল্যানগুলোর জন্য প্রোগ্রাম লিখে ফেলি। 

এলগরিদম ২ আমাদের প্রোগ্রাম ৩.২
  আপা যদি অনুমতি দেয়    
তাহলে আমরা বাইরে যাব।
আপা যদি অনুমতি না দেয়
তাহলে সারাদিন বাসায় গেম খেলব।  






১০
char permission; printf(“Permission?”);
scanf(“%c”, &permission);
if(permission== ‘y’)
          printf(“We will go outside”);
else printf(“Stay at home”);
এলগরিদম ৩.২ আমাদের প্রোগ্রাম ৩.৩
যদি ৩০০ টাকার উপরে পাই   
তাহলে রিক্সায় যাব
যদি ২০০ থেকে ৩০০ টাকার মধ্যে পাই    
তাহলে আমরা অটোকারে যাব
যদি ১০০ থেকে ২০০ টাকার মধ্যে পাই     
তাহলে আমরা পাবলিক বাসে যাব আর
যদি টাকা না পাই    
তাহলে পায়ে হেঁটে যাব  






১০
১১
১২
১৩
১৪
int taka;
printf(“How much do we have?”);
scanf(“%d”, &taka);  
if(taka>=300)          
printf(“Rikshaw”);  
else if (taka>=200 && taka<300)        printf(“AutoCar”);  
else if (taka>=100 && taka<200)        printf(“Bus”);  
else
printf(“We have to walk”);
এলগরিদম ৪.১ আমাদের প্রোগ্রাম ৪.১
ছক্কার সংখ্যা ১ হলেঃ
    আমরা লাচ্ছি খাব।    
ধন্যবাদ, আজ আর নয়।
ছক্কার সংখ্যা ২ হলেঃ
    আমরা শর্মা খাব ।
    ধন্যবাদ, আজ আর নয়।
ছক্কার সংখ্যা ৩ হলেঃ
    আমরা সিজলিং খাব।
    ধন্যবাদ, আজ আর নয়।
ছক্কার সংখ্যা ৪ হলেঃ
    আমরা বার্গার খাব
    ধন্যবাদ, আজ আর নয়।
ছক্কার সংখ্যা ৫ হলেঃ
           আমরা ফ্রাইড চিকেন স্লাইস খাব
    ধন্যবাদ, আজ আর নয়।
ছক্কার সংখ্যা ৬ হলেঃ
    আমরা ব্লু পিজ্জা  খাব
    ধন্যবাদ, আজ আর নয়।
আর ছক্কা বাইরে চলে গেলে
    আমরা ফ্রেন্স ফ্রাই খাব  






১০
১১
১২
১৩
১৪
১৫
১৬
১৭
১৮
১৯
২০
২১
২২
২৩
২৪
২৫
int dice_number;
printf(“please enter the dice number”);
scanf(“%d”, &dice_number);
  switch(dice_number){
case 1:
         printf(“Lassi”);
         break;
case 2:
         printf(“Sharma”);
         break;
case 3:
         printf(“Sizzling”);
         break;
case 4:
         printf(“burger”);
         break;
case 5:
         printf(“Fried Chicken”);
         break;
case 6:
         printf(“Blue Pizza”);
         break;
default:          printf(“french fry”); }

* আচ্ছা মামা, এভাবে মানে switch দিয়ে কি ছয়টির বেশি কাজ করা যায় না ?

% কেন যাবে না, যত খুশি করা যাবে। আর ‘Break’ না দিলে কিন্তু বিপদ, কোথাও শুরু হলে একদম শেষ পর্যন্ত হবগুলো কাজ করবে। এখানে তো সংখ্যা দেয়া আছে, আমরা চাইলে কিন্তু অক্ষর দিয়েও করতে পারি। এই দেখ-

 আমাদের প্রোগ্রাম ৪.১.১আউটপুট






১০
১১
১২
১৩
১৪
১৫
১৬
১৭
১৮
১৯
২০
২১
২২
২৩
২৪
int a,b;
char c;

printf(“Please Enter the value of a”);
scanf(“%d”,&a);
printf(“Please Enter the value of b”);
scanf(“%d”,&b);
printf(“Please choose an option\n      a for addition\n  
s for subtraction\n”);
scanf(“%c”, &c);
 
switch(c)
{
case ‘a’:
       Printf(“result=%d”,a+b);
         break;
case ‘s’:
         printf(“result=%d”,a-b);
         break;
}  
Please Enter the value of a 10  
Please Enter the value of b 5    
Please choose an option a for addition s for subtraction   a result=15

* মামা, এখানে যে default দিলে না।

% এটা না দিলেও কাজ করে, তখন অন্যকোন সংখ্যা দিলে কিছুই করবে না। আর একটা বিষয়, default এর কিন্তু কোন break এর প্রয়োজন হয় না।

* ও তাই তো !

# মামা, ছেড়ে দাও। আজ আর নয়।

% তোকে ধরলাম কখন ??

* আরে মামা, ও বলতে চাচ্ছে…

% জানি আমি সে কি বলতে চাচ্ছে, এখন বল প্রোগ্রামিং কি অনেক কঠিন কিছু?

* আরে না মামা, এখন তো মনে হয় সব কাজই প্রোগ্রামিং করে করি।

% হা হা হা, তাই নাকি ?

* হুম তাই, তাহলে মামা আমাদের প্রোগ্রামিং শেষ করতে আর কয় দিন লাগতে পারে ?

% শেষ তো!

* কি যে বল? এখনো তো আসলটাই বাকি। লুপের কথা মনে হলে তো ইমুর মত আমারও মাথা ঘোরা শুরু হয়ে যায়।

% হা হা তাই নাকি ??? ঠিকই তো আছে লুপ মানে তো ঘোরাই।

* মামা…!

% হা হা, সব বাদ চল কাল রমনা পার্কে ঘুরতে যাই।

# কিন্তু মামা, কাল তো শনিবার!

% আরে তাই তো ঘুরব, ঘোরা কি কোন কাজ হল নাকি??

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

% তাহলে তো ভালোই হল, কাল শুধু ঘোরাঘুরি।

* ইয়ে… , কিন্তু মামা লুপ কিন্তু বুঝাতে হবে।

% তা দেখা যাবে, খুব সকালে বের হব। এখন যা, আমার কিছু কাজ জমে গেছে, কাল দেখা হবে। আর ইমু তোর হ্যাকিং নিয়ে পড়াশুনার কি অবস্থা ?

# এইতো মামা চলছে। এখন কয়েকটা পদ্ধতি শিখে ফেলেছি। চাইলে তোমাকেও শিখাতে পারি।

% না, দরকার হলে তোকে বলব, সব কি আমাকেইকরতে হবে নাকি… ! আর কি যেন বলবি?

# মামা এখন না, এখন তো আম্মু খাওয়ার জন্য ডাকবে, খেয়ে দেয়ে রাতে ঘুমানোর আগে তোমার সাথে বসতে হবে।

% শুনে মনে হচ্ছে ইন্টারিস্টিং কিছু একটা হয়েছে!

# হুম, তোমার হেল্প লাগবে।

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

* ঠিক আছে মামা, তুমি থাকতে আমি কোন ভয় পাই না। কিন্তু সমস্যা হল তোমাকে সব সময় পাবো না।

# মামা, তাহলে আমরা যাই। একটু বিশ্রামের দরকার। অনেক প্রোগ্রামিং হয়েছে।

% হাহা, ঠিকা আছে যা, আর কোন কারনে মাথা ঘুরালে আমাকে বলিস।

# হি হি, আমার তো মনে হয় সব সময়ই মাথা ঘুরায়, কিন্তু কি কারনে ঘুরে তা ভাবতেই আবার ঘুরে, এভাবে ঘুরতেই থাকে। কখনো কম আবার কখনো বেশি, তবে তুমি পাশে থাকলে ঘুরে না। ভাবছি তোমার ত্রিমাত্রিক হলোগ্রাম আমার মোবাইলে রেখে দিব।

% হাহা, কাজ করে কিনা আমাকে জানাবি।

# ঠিক আছে, আর মনে থাকে যেন, তোমার সাথে কিন্তু জরুরি কাজ আছে।

% হ্যা মনে আছে। ১০টায় কথা হবে।

এরপর আমার একটু বিশ্রাম নিয়ে রাতের খাবার সবাই একসাথে খেলাম। আম্মু এখন ব্যস্ত সময় পার করছে। অনেক দিন পর আব্বু বাসায় আসবে। খারাব টেবিলে আম্মু আপুর পড়াশুনা নিয়ে খোঁজখবর নিল। আর আব্বু আসার আগে সব শেষ করার জন্য তাগিদা দিল।

আরো গল্প

Leave a Reply

Your email address will not be published.