শিক্ষক মামা – ২

এরপর আপু আর মামা মিলে একটা লিস্ট তৈরি করে ফেলল, কোন দিন আমরা কি করেছি। মজার ব্যাপার হল এর সবই নাকি প্রোগ্রামিং এর সাথে মিলে। যাই হোক আপুকে অনেক খুশি খুশি লাগছে- 

দিনবিষয়পড়াশোনার সাথে সম্পর্ক ব্যাখা
বুধবারদোভাষীকম্পাইলার১. আমরাযেটাবলব, সেটাকে কম্পিউটারের ভাষায় রূপান্তর করে দিবে ২. মানুষের সাথে কথা বলতে হলে কম্পাইলারের আরবি, চাইনিজ, ইংরেজি, এমন করে ৩৫০০ ভাষাই শিখতে হবে। এটা সম্ভব না, তাই সে শুধু ইংরেজি শিখেছে।
বৃহস্পতিবার  দোভাষীকম্পাইলার, Statement১. কম্পাইলার সৌন্দর্য্য বুঝে না, আমরা যতই সুন্দর করে প্রোগ্রাম লিখি না কেন , প্রথমে সে সব খালি জায়গা ডিলিট করে দেয়। ২. যেখানে কম্পিউটার সেমিকোলন পাবে সে বুঝতে পারবে যে একটা কাজের শেষ হয়েছে।কাজগুলো কে প্রোগ্রামিং এর ভষায় Statement বলে। ৩. আর এমন কোথায় কিভাবে আমরা লিখব তার একটা ব্যাকরণ আছে, তাকে বলে Syntax । ৪. ভুল করলে, দোভাষী আমাদের থামিয়ে মেসেজ দেয়।
লিচু, আম এবং কাঁঠাল এর ধাধাভেরিয়েবল, ডাটা টাইপ, আইডেন্টিফায়ার– ঘর হল মেমোরি – ঝুড়ি হল ভেরিয়েবল – ঝুড়ির সাইজ হল ডাটা টাইপ, আমাদের নানা রকমের ডাটা টাইপ লাগবে, – ঝুড়ির নাম হল আইডেন্টিফায়ার। – নামে দেয়ার কিছু নিয়ম আছে যেমন, কীওয়ার্ড গুলো দেয়া যাবে না – কিছু না রেখে প্রিন্ট দিলে গার্বেজ ভ্যালু দেখাবে। আর মেমোরির ভিতরে ০,১ ছাড়া কিছু নেই।
কম্পিউটারের অক্ষর জ্ঞানASCII কোড১. আমরা A চাপি, তখন কম্পিউটার পায় ৬৫ এর বাইনারি১০০০০০১ । ২. ২ এর গুনিতক দিয়ে সহজে যেকোন সংখ্যার বাইনারি বের করা যায়।
কম্পিউটার নাকি গননাকারী যন্ত্র  বাইনারি যোগ বিয়োগ, গুন, ভাগ১. কম্পিউটার শুধু যোগ করতে পারে। সে বিয়োগ, গুণ, ভাগ করতে পারে না। ২. যোগ (কমপ্লিমেন্ট) করে বিয়োগ করে। ৩. বার বার যোগ করে গুন, আর এই ভাবে ভাগ করে।

* আজকের গুলো লিস্ট করা হয়নি। তবে আজ অনেক প্ল্যান করে কাজ করেছি। সেটা মনে আছে

% আমি সাহায্য করছি লিস্ট করে ফেল।

দিনবিষয়পড়াশোনার সাথে সম্পর্কব্যাখা
শুক্রবারকাজের পরিকল্পনাএলগরিদমএলগরিদম হল এক ধরনের প্ল্যান। সেঅনুযায়ী সব করলে কাজটা হয়ে যাবে।
এলগরিদম ১Ifশর্ত সত্য হলে কাজ করবে
এলগরিদম ২If, elseশর্ত সত্য হলে এক কাজ করবে, আর না হলে অন্য এক কাজ করবে
এলগরিদম ৩.২Else ifঅনেকগুলো কাজ আছে এবং প্রতি কাজের জন্য আলাদা শর্ত আছে
এলগরিদম ৪.১ switchঅনেকটা এলগরিদম ৩.২ এর মত, কিন্তু এটা নির্দিষ্ট কোন সংখ্যা বা অক্ষর এর জন্য কাজ করে। এখানে বড়, ছোট এমন শর্ত দেয়া যায় না।
 Nested conditional statement৩ নম্বর এলগরিদমটা ২ নম্বর
বাংলা সিনেমাLogical operatorAND, OR, NAND, NOR, XOR, XNOR, NOT
বন্ধুFunctionঅসামাজিক, হিসাবী, সুবিধাভোগী, দানশীল

# কিন্তু মামা, আমি তো কিছুই বুঝতে পারছি না, তোমরা কি নিয়ে কথা বলছ।

* কিন্তু মামা, আমার তো মনে হয় প্রোগ্রামিং অর্ধেক শিখা হয়ে গেছে !

# মামা তো শুরুই করল না। আজ শুরু করার কথা ।

* তা ঠিক হাতে কলমে দেখায় নি। কিন্তু গল্পে গল্পে অনেক কিছু বুঝানো শেষ। কিন্তু মামা, ইমু কিন্তু ঠিকই বলছে তুমি কিন্তু এখনও কিছু শিখাও নি।

% তো কি করতে হবে।

* আমাদের প্রোগ্রামিং শিখাতে হবে। সময় কম, শনি আর রবি। এরপর তো আব্বু চলে আসবে।

% হুম, তোদের স্কুলে কি লাইব্রেরী  আছে ??

* আছে, তবে এখন ডিজিটাল  লাইব্রেরী বেশি জনপ্রিয়।

% হুম, প্রোগ্রামিং এর বই পাওয়া যায় ?

* প্রচুর…… ! এখন তো মনে হয় ৩০ এর উপর প্রোগ্রামিং ভাষা আছে। তাছাড়া অন্য অনেক বই ও আছে। যেমন, গল্পের বই বা ইতিহাসের বই।

% সব বই কি তোর ডাউনলোড করা আছে ??

* না তা হবে কেন?? ডাউনলোড করে রাখতে হবে কেন ?? যখন যেটা দরকার আমি তো তখন সেটা ডাউনলোড করে নিতে পারি, শুধু আগে থেকে ডাউনলোড করে রেখে জায়গা নষ্ট করব কেন ?

% মজার বিষয় হল আমাদের প্রোগ্রামিং ও কিন্তু একই ভাবে কাজ করে।

* মানে !!!

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

* তার মানে কি? আমাদের প্রোগ্রামের সাথে সাথে সেই ফাইলের সব তথ্যও থাকে?

% হুম, ঠিক তাই। আর তা না হলে অন্য কম্পিউটারে নিলে তো আমাদের প্রোগ্রাম কাজ করার কথা না । তাই প্রোগ্রামের শুরুতে আমাদের কি কি লাগবে তা এনে রাখা (ইনক্লুড) ভাল।

# আচ্ছা মামা,  আমরা যদি লাইব্রেরীর সব ফাইল এনে রেখে দেই, তাহলে তো আর চিন্তা নেই। সব ফাংশন কাজ করবে।

% কাজ করবে, কিন্তু ইমু মাথা ঠান্ডা করে ভেবে দেখ ইমি কেন সব বই ডাউনলোড করে রাখে না?!

# হুম, ডাউনলোড একটা সমস্যা।

* আরে না বোকা, কাজে লাগবে না এমন বই দিয়ে সারা ঘর ভরে রেখে লাভ কি??

# ও তাই তো!

% অনেক তো বক বক হল, চল একটা প্রোগ্রাম করি।

# ইয়ে… আমরা এখন প্রোগ্রামিং শিখব।

* মামা, হঠাৎ কেমন জানি লাগছে !

% আরে বোকা, সহজ, এইগুলো তুই পারিস।

* দেখা যাক ।

% তোরা সবাই স্কেচবুকে সেটিংসে গিয়ে GCC (GNU Compiler Collection) চালু করে নে। তাহলে আমরা স্কেচবুকে প্রোগ্রামিং করতে পারব। আমাদের সময় আলাদা সফটওয়্যার লাগত। তখন কোডব্লকস অনেক জনপ্রিয় ছিল।

এরপর মামা, স্কেচবুকে প্রথম প্রোগ্রাম টি লিখে ফেলল-

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





#include<stdio.h>
int main ( )
          {
            printf(“Bangladesh”);
            return 0;
          }
Bangladesh

# এখানে ১ নাম্বার লাইনে আমরা লাইব্রেরী থেকে stdio.h ফাইলটি এনে রাখতে বলেছি। এটা আমদের ইনপুট আউটপুট নিয়ে কাজ করতে সাহায্য করবে। আর এর পরের লাইনে মেইন ফাংশন শুরু হয়েছে, শেষ হয়েছে ৬ নাম্বার লাইনে।  আমাদের কত রকেমের বন্ধু ছিল মনে আছে ??

* জ্বী, মামা, চার ধরনের। তার মানে আমাদের চার ধরনের ফাংশন আছে। এর মধ্যে এই মেইন ফাংশন হল “দানশীল”, কিছু নেয় না কিন্তু দেয়। ৫ নাম্বার লাইনটা হল দেয়ার জন্য। আর main এর পর যে ( ) আছে এটা হল নেয়ার জন্য। ব্র্যাকেটের ভিতরে এখন কিছু নেই, তার মানে হল কিছু নিচ্ছে না, আবার যেহেতু দানশীল ফাংশন কিন্তু কাকে কি দিবে তা আমরা ঠিক করি নাই তাই আমাদের এই প্রোগ্রাম শূন্য return করছে। এখানে সব চেয়ে গুরুত্বপুর্ন লাইন হল ৪ নাম্বার লাইন। এখানে  printf ফাংশন ব্যবহার করে আমরা আউটপুটে “Bangladesh” পেয়েছি। আর এই কাজ শেষে আমরা “;” ব্যবহার করেছি। যেন কম্পাইলার বুঝতে পারে। আমরা চাইলে এখানে সেমিকোলন না দিয়েও দেখতে পারি ঠিক মত কাজ করে কিনা। তখন আমাদের দোভাষী মানে কম্পাইলার কিন্তু আমাদেরকে ম্যাসেজ দিয়ে বলে দিবে কোথায় কি সমস্যা হয়েছে। সাধারনত এই ক্ষেত্রে সে ৫ নাম্বার লাইনে ভুল দেখাবে, কারন সে ৪ আর ৫ নাম্বার লাইনকে এক ভাবছে। আর ভালো কথা আমরা চাইলে এই প্রোগ্রাম আরো ছোট করে লিখতে পারি।

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

#include<stdio.h> int main ( )
{printf(“Bangladesh”);return 0;}
Bangladesh

* ওয়াও ! তাহলে এত বড় করে লেখার দরকার কি ?

# একটু আগে বললে জায়গা নষ্ট না করতে, আবার নিজেই ছোট প্রোগ্রাম বড় করে লিখে আমাদের দেখাচ্ছ কেন ?

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

* হুম, ঠিক, সব এক লাইনে হলে বুঝতে অনেক সমস্যা হত।

% আর কারো কোন প্রশ্ন আছে ?

* না, মামা আপাতত নেই।

# আমার ও নেই, তবে মাথায় কিছু আসলে মাথা ঘোরা শুরুর আগেই তোমাকে জানাবো।

% হা হা হা।। হুম, দেরী করিস না। আর তারমানে আমরা আমাদের প্রগ্রামিং শিখে ফেললাম।

# কিভাবে ?? এই ৬ লাইনেই প্রোগ্রামিং শেষ??

% মোটামোটি, এটা দিয়ে আমরা যা ইচ্ছে তাই লিখে দেখাতে পারব।

# কিভাবে ?

%  খুব সহজ, আমাদেরকে “Bangladesh” এর জায়গায় যা দেখতে চাই তা লিখে, নতুন করে আবার বানাতে (build) হবে, এরপর সেটা চলালে (run) আমরা আমাদের কাঙ্ক্ষিত আউটপুট দেখতে পাব।

# ও তাই নাকি ??

% হুম তাই-

এরপর আমি আর আপু অনেক কিছু লিখে দেখলাম কাজ করে কিনা। মামা আমাদের এক লাইনের নিচে আর এক লাইন কিভাবে লিখতে হয় সেটাও শিখিয়ে দিল। এর জন্য আমদেরকে “\n” ব্যবহার করতে হবে।  আর \t ব্যবহার করলে ট্যাব দেয়ার কাজ করে, মানে লেখা একটু দূরে সরে যায়।

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





#include<stdio.h>
int main ( )
{
  printf(“ Saturday \n Sunday \n \t Monday ”);
   return 0; 
     }
    Saturday Sunday      Monday

* মামা, আমরা কি সারা জীবন প্রিন্ট করেই কাটিয়ে দিব নাকি ??

% আরে না, নে শুরু কর –

# ইয়ে… আজই প্রোগ্রামার হয়ে যাব। বল কি করতে হবে-

% অংক দিয়ে শুরু করি-

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









১০
১১
১২
#include<stdio.h>
int main ( )
{
         int a;
         int b;
         a=10;
         b=5;  
         int sum;  
         sum=a+b;  
         printf(“Result=%d”, sum);  
         return 0; 
       }
Result=15

% আমাদের এই ২.১ প্রোগ্রামের ৪ ও ৫ নাম্বার লাইনে a ও b নামের দুইটি int টাইপের ভেরিয়েবল নিয়েছি। ৬ ও ৭ নাম্বার লাইনে  a ও b তে সংখ্যা রেখেছি। এর পর যোগ করে রাখার জন্য নতুন আরও একটি ভেরিয়েবল নিয়েছি (৮ নাম্বার লাইনে )। ৯ নাম্বার লাইনে যোগ করেছি। আর ১০ নাম্বার লাইনে যোগফল প্রিন্ট করার ব্যবস্থা করেছি। এই printf একটু আলাদা, এখানে ভেরিয়েবলের মান প্রিন্ট করার জন্য একটু বেশি কাজ করতে হয়। লাইনের যেখানে আমরা ভেরিয়েবলের মান দেখতে চাই সেখানে “Format specifier / Control String”  ব্যবহার করতে হবে । আবার এই Format specifier এক এক “ডাটা টাইপ” এর জন্য এক এক রকম।

 ডাটা টাইপFormat specifier / Control String
int%d   বা  %i
float%f  এবং  %2.2f (কত ঘর পর্যন্ত রাখব)
char%c
double%lf

আমরা জানি যে, কম্পিউটারের ভিতরে ০,১ ছাড়া কিছু নাই, তাহলে সে এই ০, ১ কে কি সংখ্যা হিসাবে দেখাবে নাকি অক্ষর হিসাবে দেখাবে সেটা আমরা বলে দেই এই Format specifier এর মাধ্যমে।

# মামা, শুধু এক যোগ করতেই ১২ লাইনের কোড লিখতে হবে ??

* মামা, আমি তো অন্য রকম করে শিখেছিলাম।

% হুম, এক এক জনের প্রোগ্রাম এক এক রকমের হয়। তোদের কে বুঝানোর জন্য ভেঙ্গে ভেঙ্গে লিখেছি। এটা আরো ছোট করে করা যায়-

এখানে আমি শুধু main এর ভিতরের অংশ আবার নতুন করে লিখলাম- 

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


int a=10, b=5;  
printf(“Result=%d”, a+b);
return 0;       
Result=15

এখানে আগের ৮ লাইনের কোড আমরা ৩ লাইনে লিখে ফেলেছি, আবার একটি ভেরিয়েবল কম ব্যবহার করেছি। আমাদের এই প্রোগ্রাম ২.২ কিন্তু প্রোগ্রাম ২.১ থেকে ভাল অর্থাৎ তাড়াতাড়ি কাজ করবে। কারন এখানে কম কাজ করতে হচ্ছে।

# মামা, মানে প্রোগ্রামের আবার ভালো খারাপ ও আছে ??

% আছে মানে, আমি তো দুইটি প্রোগ্রামে একই কাজ করলাম, এখন তুই-ই বল। দুইটি প্রোগ্রাম কি এক ?

# না এক হবে কেন ?? একটি ১২ লাইনের আর একটি ৭ লাইনের (main ফাংশনের ভিতরে ৩ লাইন)

* হুম, বুঝলাম তাহলে প্রোগ্রাম কোনটা ভাল খারাপ সেটা বুঝব কিভাবে?

% খুব সহজ, যে প্রোগ্রাম কম সময়ে কম জায়গা নিয়ে কাজ শেষ করতে পারবে, সেটা ভাল।

# আচ্ছা, আর নতুন একটা বিষয় শিখলাম- printf এর মধ্যেও যোগ করা যায়।

% শুধু যোগ না, আরও অনেক কাজ করা যায়। আমরা ধীরে ধীরে সব দেখব। এখন বল, আমার কি সব ভেঙে ভেঙেবুঝাতে হবে ২.১ এর মত? নাকি ভাল প্রোগ্রাম লিখব??

* মামা, তুমি তোমার মত, বুঝাও। আমি না বুঝলে জিজ্ঞাসা করব।

% ঠিক আছে। তাহলে আমরা আরও কিছু অঙ্ক শিখে ফেলি-

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






১০
১১
১২
১৩
১৪ ১৫
int  a=10, b=5,  sum;
float s=5.5, t=10.0;
printf(“Here we use all integer value\n”); printf(“Summation=%d\n”, a+b);
printf(“Subtraction=%d\n”, a-b); printf(“Multiplication=%d\n”, a*b);
printf(“Division=%d\n”, a/b);
printf(“Reminder=%d\n”, a%b);
printf(“\nHere we use float value\n”); printf(“Summation =%f\n”, a+b);
printf(“Multiplication =%.2f\n”, a*b);
return 0;        
 Here we use all integer value
Summation=10
Subtraction=5
Multiplication=50
Division=2
Reminder=0
Here we use float value
Summation =10.5000
Multiplication =55.00

# মামা প্রগ্রামিং তো অনেক সহজ, আর এখন তো আমি ক্যালকুলেটর  বানাতে পারব।

* কিন্তু তোর ক্যালকুলেটর  তো সারা জীবন একই উত্তর দিবে, মামা তুমি তো এখনও কিভাবে ভেরিয়েবলের মান নিতে হয় সেটা দেখায় নি।

# ও তাই তো! আর মামা, আমি কিন্তু ১১ নাম্বার লাইন বুঝি নাই। কত কিছু লিখলে আর উত্তর নাকি “০”!

* হি হি এটা হল ভাগ শেষ। এখানে ১০ কে ৫ দিয়ে ভাগ করলে ভাগশেষ তো শূন্যই হবে। যদি ১০ না হয়ে ১২ হত তাহলে ভাগশেষ ২ হত। এবার বুঝলি? নাকি তোকেও ভাগ করে ভাগশেষ বের করতে হবে ?? হি হি হি…

% আর একটা বিষয় আমরা ১৪ নাম্বার লাইনে floatএর জন্য %.2f ব্যবহার করেছি। তাই দশমিকের পর দুই ঘর দেখাচ্ছে।

* ও তাই তো, খেয়াল করি নাই।  আমি এর আগে অনেক বার এটা করতে চেয়েছি কিন্তু আজ শিখে ফেললাম।

# আচ্ছা মামা, আমরা কি সব সময় ১০ আর ৫ দিয়েই অংক করব?

% হা হা বুঝতে পেরেছি, ভেরিয়েবলের মান নেয়া শিখতে চাচ্ছিস তো, ঠিক আছে- 

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


         int   a;
         scanf(“%d”,&a);
         return 0;       
   _

% এই নে, এভাবে আমরা a এর মান নিতে পারব। এখানে “a” এর আগে “&” ব্যবহার করা হয়েছে, “&a” এর সাহায্যে আমরা a ভেরিয়েবলের ঠিকানা পাই, এটা মেমরির কোথায় আছে। কম্পিউটার a এর মান নিয়ে সরাসরি সেখানে রেখে দেয়। এখানে printf হল আউটপুট দেয়ার জন্য আর scanf হল ইনপুট নেয়ার জন্য, অনেকটা আমাদের প্রিন্টার ও স্ক্যানার এর মত।

# কিন্তু মামা, আটপুটে তো কিছু নেই। শুধু একটা দাগ লাফালাফি করছে!!

% হুম, এর মানে হল, সে তোর কাছ থেকে কিছু জানতে চাচ্ছে, কিছু একটা তথ্য না দিলে সারা দিন এমন লাফাতে থাকবে। যেকোন সংখ্যা দেয়ার পর এন্টার দিলে পরের লাইনের কাজ শুরু হবে।

* কিন্তু মামা, এখানে তো পরে কিছু লেখা হয় নি!

% ও তাই তো-

# আর মামা, এমন লাফালেও কিন্তু কি করতে হবে সেটা সবাই বুঝবে না-

% হুম, দেখি কি করা যায়…

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




int  a,b;
printf(“Enter the value of A& B:”);
scanf(“%d %d”,&a, &b);
printf(“\nResult: %d+%d=%d”, a,b,a+b);
return 0;        
  Enter the value of A& B:5 _2
Result:  5+2=7

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

* হুম, তা তো দেখাই যাচ্ছে, প্রথম %d তে  এর পর b এর মান আর শেষেরটায় a+b। 

% আর একটা মজার কথা বলি, আমরা printf এর ভিতরে যা খুশি লিখতে পারি, তাই প্রিন্ট হবে!

# বুঝলাম না!

% এটা দেখ-

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


printf(“A=2\nB=2\n     A+B=5”);
return 0;       
A=2
B=2     
A+B=5

# মামা, তুমি না বলেছিলে কম্পিউটার ভুল করে না! এখন দেখি ২+২ এর উত্তর ৫ বলে???

* আরে চুপ কর, নিশ্চয়ই কোন কিন্তু আছে, চুপ করে শোন মামা কি বলে-

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

* ও মামা, এখন বুঝেছি, আর লেখার মাঝে যদি কোন ভেরিয়েবলের মান চাই তাহলে আমাদেরকে Format specifier ব্যবহার করতে হবে।

% ঠিক তাই।

* ওয়াও, মামা, এখন তো পারব মনে হচ্ছে। অনেক নতুন কিছু শিখেছি।

% মাত্র তো শুরু, আমরা কি শুধু এই যোগ বিয়োগই করে যাব নাকি ?? যদি কঠিন কোন equation দেয়া হয়, যেমন (a+b)2। এটা করতে পারবি?

# এটা কোন ব্যাপার? শুধু বল স্কয়ার বের করব কিভাবে?

% হা হা খুব সহজ, দুই বার গুন করে। এখন তোরা দুই জন কর দেখি, পারিস কিনা –

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



int a=5, b=2, r;
r=a*a+2*a*b+b*b;
printf(“Result=%d”, r);
return 0;       
    Result=49
ইমির  প্রোগ্রাম ২.৪.১
 আমাদের প্রোগ্রামপ্রোগ্রামের আউটপুট


int a=5, b=2;
printf(“Result=%d”, ((a+b)*(a+b)));
return 0;       
  Result=49

* মামা, উত্তর ৪৯।

# মামা, আমার ও হয়েছে। উত্তর ৪৯।

% তাই নাকি? দেখি দেখি-  হা হা হা যা ভেবেছিলাম তাই, ইমি দেখ ইমু কত কঠিন করে করেছে।

* হায় হায়, এত কিছু করেছে কেন??

# মামা, আমি আবার কি করলাম এভাবেই তো শিখেয়েছ আমাদের।

* আরে বোকা এটা তো আর অংক না। আমারটা দেখ, “a+b” দুইবার গুন করলেই তো কাজ শেষ।

% তবে ইমুর প্রোগাম কিন্তু ভুল না, দু’জনের টাই হয়েছে, তবে ইমিরটা ভাল হয়েছে।

# মামা, আমার মনে হয় এখন একটু বিরতি দরকার, মাথা কেমন কেমন করছে…

* কি তোর আবার মাথা ঘুরানো শুরু হয়ে গেছে নাকি??

# না, তবে অনেক পড়াশুনা হয়েছে।

% হা হা আচ্ছা, ১০ মিনিটের বিরতি। এমনিও বেশিক্ষণ বসে থাকা ঠিক না। এছাড়া যারা কম্পিউটার ব্যবহার করে তাদের চোখের জন্য ২০-২০ একটা নিয়মও আছে। ২০ মিনিট পর পর ২০ সেকেন্ডে ২০ টি জিনিসের দিকে তাকানো। এটা এক ধরনের চোখের ব্যায়াম। আর এর সাথে আমরা একটু হাটাহাটিও করতে পারি। তাহলে আর পিঠে, ঘারে, কোমরে বা হাত- পায়ে ব্যাথা হবে না।

# ঠিক মামা, তুমি এই কথা গুলো আম্মুকে বলে দিও। খালি পড়তে বলে।

% হা হা, ঠিক আছে, বলে দিব। আর ১০ মিনিট পর, মানে ৭টা ২৫ এ আবার দেখা হচ্ছে।

* মামা, এরপর আমরা কি শিখব?

% আমরা সারা দিন যে প্ল্যানগুলো করলাম সেগুলো প্রোগ্রামিং দিয়ে কিভাবে করা যায়, সেটা

# ওয়াও, তাহলে তো আমাদের আর বারবার প্ল্যান করতে হবে না, তাই না ?

% ঠিক তাই। শুধু পকেটে কত টাকা আছে সেটা বলতে হবে, আর আমাদের প্রোগ্রাম কি করতে হবে তা বলে দিবে।

# ওয়াও, অনেক মজা হবে… ইয়ে…!

% তোদের সময় কিন্তু শেষ হয়ে যাচ্ছে।

* ও তাই তো।

# মামা, তাহলে একটু ঘুরে আসি। আর তুমি আম্মুকে মনে করে বলবে কিন্তু।

% ঠিক আছে, আমি এক্ষণই বলে আসছি। এরপর আমরা মামার ঘর থেকে বের হয়ে গেলাম। আর মামাও আমাদের সাথে বের হয়ে আম্মুর ঘরের দিকে গেল।

আরো গল্প

Leave a Reply

Your email address will not be published.