Home Featured শিক্ষাপাতা Variable ও প্রোগ্রামিংয়ে যোগ, বিয়োগ, গুণ, ভাগ -নাদিম নওশাদ

Variable ও প্রোগ্রামিংয়ে যোগ, বিয়োগ, গুণ, ভাগ -নাদিম নওশাদ

আসসালামু আলাইকুম সবাইকে। আশা করি সবাই অনেক ভালো আছো। প্রথমেই আমি তোমাদের সাথে একটা মজার বিষয় শেয়ার করতে চাই। বলোতো, আমাদের আদি পিতা কত বছর দুনিয়াতে বেঁচেছিলেন? আমি জানি তোমরা সবাই এই প্রশ্নের উত্তরটা জানো। তারপরও প্রশ্নটা করার উদ্দেশ্য হচ্ছে এই যে- দুনিয়া যত এগিয়ে যাচ্ছে, মানুষের হায়াত ততো কমছে। আর মানুষ তার উন্নত বুদ্ধিকে কাজে লাগিয়ে কঠিন কঠিন সমস্যার সমাধান করছে কয়েক মুহূর্তে। আর তা সম্ভব হচ্ছে টেকনোলজির কারণে। উন্নত টেকনোলজির বড়ো একটা অংশ জুড়েই আছে কম্পিউটারের ব্যবহার। যেখানে আগে একটা কাজ করতে অনেক বেশি সময় লাগতো, সেখানে এখন তার থেকে অনেক কম সময়ে কাজ শেষ করা সম্ভব হচ্ছে। যেমন, মনে করো তুমি বাংলাদেশ থেকে হজ্জের জন্য কাবা শরীফে যেতে চাও। তার জন্য তুমি বিমানের সাহায্যে খুব সহজে খুব অল্প সময়ে যেতে পারবে। কিন্তু আগেকার যুগে বিমানের ব্যবস্থা ছিল না। তখন মানুষকে পায়ে হেঁটে বা পশুর পিঠে করে যেতে হতো। তাই সময়ও অনেক বেশি লাগতো। কম্পিউটারের এই ব্যাপক ব্যবহারের জন্য ঢ়ৎড়মৎধসসবৎ এর চাহিদাও বেড়েছে। তাই আমাদের সকলকেই প্রোগ্রামিং ল্যাংগুয়েজ শিখতে হবে বর্তমান পৃথিবীর সাথে তাল মিলিয়ে চলার জন্য।
অনেক জ্ঞান দেওয়া হলো, এখন আমরা কাজের কথায় আসি। গত পর্বে আমরা Data type সম্পর্কে পড়াশোনা করেছিলাম। programming language-এ দুই ধরনের data types থাকে। প্রথমটি হলো pre define ও দ্বিতীয়টি হলো user define। predefine data type হচ্ছে সেই সমস্ত data type যেগুলো আগে থেকেই c++ programm এ তৈরি করা থাকে। এর মধ্যে আছে int, float, double, char, string, bool ইত্যাদি। আর user define data type হচ্ছে সেই সমস্ত data type যাদেরকে আমরা নিজেদের ইচ্ছে মতো বানাতে পারি।
কিছু data type সম্পর্কে নিচে দেওয়া হলো:
Int : দশমিক ছাড়া পূর্ণ সংখ্যা সংরক্ষণ করে।
Float : এক বা একাধিক দশমিক সমন্বিত ভগ্নাংশ সংখ্যা সংরক্ষণ করে। ৭ দশমিক সংখ্যা পর্যন্ত সংরক্ষণের জন্য যথেষ্ট।
Double: এক বা একাধিক দশমিক সমন্বিত ভগ্নাংশ সংখ্যা সংরক্ষণ করে। ১৫ দশমিক সংখ্যা পর্যন্ত সংরক্ষণের জন্য যথেষ্ট।
Char: একটি একক অক্ষর/বর্ণ /সংখ্যা বা ASCII মান সংরক্ষণ করে।
Bool: শুধুমাত্র শূন্য বা এক সংরক্ষণ করে। যেখানে, true মানে ১ আর false মানে ০।

আজকের পর্বে আমাদের পড়াশোনা হবে যোগ, বিয়োগ, গুণ এবং ভাগ নিয়ে। আমি জানি তোমরা সবাই যোগ, বিয়োগ, গুণ ও ভাগ করতে জানো। তারপরও আবার কেন এসব নিয়ে আলোচনা করবো তা নিয়ে তোমাদের মনে প্রশ্ন জাগতে পারে। তাই চলো প্রথমে এই জিনিসটা স্পষ্ট করা যাক। তোমাকে যদি বলা হয় ৫+৪ = কতো? তুমি সাথে সাথেই বলবে ৯। এ পর্যন্ত কম্পিউটারেরও কোনো অসুবিধা নেই কাজ করতে। কিন্তু আরেক ধাপ এগিয়ে যদি বলা হয় ৫+৪ এর যে যোগফল হবে সেটার সাথে আরও ৭ যোগ করতে হবে। তখন তুমি তো সাথে সাথেই বলবে ১৬। কিন্তু কম্পিউটার তা করতে পারবে না। কারণ, তোমাকে যখন বলা হলো ৫+৪ যোগ করে তার সাথে আরও ৭ যোগ করো, তখন তুমি প্রথমে ৫+৪ যোগ করে তোমার ব্রেইনে সেইভ করছো। তার পরে ৫+৪ এর যোগফলের সাথে তোমার ব্রেইন আরও ৭ যোগ করছে। কম্পিউটারের মধ্যে এভাবে যোগ করার জন্য তোমাকে কম্পিউটারেও ৫+৪ সেইভ করতে হবে। সেই বিষয়টাই আজ আমরা শিখবো।
Programming Language এ data store করা হয় variable এর মধ্যে। আরও সহজ করে বলতে গেলে আমরা যে ৫+৪ যোগ করে আমাদের ব্রেইনে store করছিলাম, সেই কাজটা programming করার সময় আমরা variable এর মধ্যে করে থাকি। variable বলতে এমন একটা ঘরকে বোঝায় যার মধ্যে আমরা data value store করে থাকি। কোনো variable তৈরি করার জন্য variable এর একটা নাম, কোন ধরনের data store করবো তার type ও data এর value দিতে হয়। দেখতে খানিকটা এমন
data Type variable Name = value;

variable এর নাম কেমন হবে তার কিছু নির্দিষ্ট নিয়ম আছে। সেগুলো হলো-
১. প্রতিটা variable এর নাম অবশ্যই আলাদা আলাদা হতে হবে। কখনোই দুটো variable এর নাম একই হতে পারবে না। variable এর নাম যেকোনো কিছু হতে পারে। কিন্তু এমন নাম নেওয়া উচিত যেন পরবর্তীতে দেখলে বোঝা যায় variableএর নামটা কোন কাজে ব্যবহৃত হয়েছে।
২. variable এর নামে অক্ষর (letter), অঙ্ক (digit) এবং আন্ডারস্কোর ( থ ) থাকতে পারে। (num, num1, num_1)
৩. Variable নাম অবশ্যই একটি অক্ষর বা একটি আন্ডারস্কোর ( থ ) দিয়ে শুরু হতে হবে। (myvar, _myvar)
৪. Variable নামগুলোর নামে capital letter ও small letter যেভাবে লেখা হবে, ঠিক সেইভাবে ব্যবহার করতে হবে। যেমন: myVar এবং myvar দুইটা আলাদা variable।
৫. Variable নামগুলোতে হোয়াইটস্পেস যেমন (var Name ) বা বিশেষ অক্ষর যেমন (!, #, %) ইত্যাদি থাকতে পারে না।
৬. সংরক্ষিত শব্দ (C++ কিওয়ার্ড, যেমন int, double, float, cout, namespace) নাম হিসেবে ব্যবহার করা যাবে না।
আমরা যদি পরবর্তীতে এই data ব্যবহার করতে চাই, তাহলে প্রথমে একটা variable এর মধ্যে storeকরে তারপর শুধুমাত্র variableএর নাম ধরে ডাক দিলেই হবে। যেমন, মনে করো তুমি একটা variable এর মধ্যে 5 store করতে চাচ্ছো। তাহলে তোমাকে প্রথমে variable এর একটা নাম দিতে হবে। মনে করো variable এর নাম x।
তাহলে structure বা syntax অনুযায়ী প্রথমে আমাদের data type দিতে হবে। ৫ যেহেতু integer, তাই data type হবে int।
সুতরাং আমাদের কোডটা হচ্ছে-
int x = 5;
একইভাবে, যদি আরেকটা variableএ আমরা 4 store করি? পারবো তো! নাকি?
মনে করো এই variable-টার নাম y।
তাহলে আমাদের কোডটা দাঁড়াচ্ছে –
int y = 4;
এখন আমরা যদি ৫ আর ৪ কে যোগ করতে চাই তাহলে ৫+৪ না লিখে x+y লিখতে পারি। সাথে সাথে যোগফলকেও নতুন variable এ store করতে পারি।
ধরো, আমরা sum নামের variable এ store করতে চাচ্ছি। তাহলে sum এর data type হবে int। কারণ,x ও y দুইটা variable B int। সুতরাং চোখ বন্ধ করে বলে দেওয়া যায়, এদের যোগফলটাও int B হবে।
কোড:
int sum = x + y;
তাহলে এখন sum এর মধ্যে 5+4 = 9 store হয়েছে। এখন যদি আমরা ৫+৪ এর যোগফলের সাথে আবার কিছু যোগ করতে চাই তাহলেও করতে পারবো। মনে করো, আমরা ৭ যোগ করতে চাই।
সেক্ষেত্রে আমাদের কোড হবে-
int sum1 = sum + 7;
একইভাবে আমরা বিয়োগ ও গুণও করতে পারবো। কিন্তু ভাগের ক্ষেত্রে একটু ভিন্নভাবে আমাদের কাজ করতে হবে। কারণ, ২টা integer number এর ভাগফল integer নাও হতে পারে। তাই ভাগফল float বা double type নিতে হবে। সাথে প্রথমে float বা double লিখতে হবে।
float div= (float)x+y
এই ঘটনাকেtype casting লে। আমরা পরবর্তীতে type casting নিয়ে বিস্তারিত জানবো ইনশাআল্লাহ।
এখন চলো আমরা দুটো number যোগ করার জন্য একটা C++ এর একটা প্রোগ্রাম লিখি।
Problem: Write a C++ code to add two integer number. Then add another number with the sum. Print the final sum.
Answer:
#include <iostream>
using namespace std;
int main() {
int x = 5;
int y = 4;
int sum = x+y;
int final_sum = sum+7;
cout<<final_sum;
return 0; }
কোডটাকে আরও সুন্দর করে লিখতে চাইলে বার বার variable type না দিয়ে একবারেই লিখে দিতে পারো। C++ এ আমরা এটা সহজেই করতে পারি। এর জন্য প্রতিবার variable এর valueবসিয়ে তারপর একটা কমা ( , ) দিয়ে আরেকটা variable লিখতে হবে। আর যেসব variable এর প্রথমেই কোনো value নেই, তাদের value zero ( ০ ) ধরে নিতে হবে।
Syntax:
int x = 5, y = 4 , sum = 0, final_sum = 0
একইভাবে sum এর সাথে আমরা আলাদা যে ৭ যোগ করেছি সেটাকেও একটা variableএ storeকরতে পারো।
Syntax:
int z = 7
এক্ষেত্রে আমাদের কোডটা হবে ।
#include <iostream>
using namespace std;
int main() {
int x = 5, y = 4, z = 7, sum = 0, final_sum = 0 ;
sum = x+y;
final_sum = sum+z;
cout<<final_sum;
return 0;}
একইভাবে বিয়োগের জন্য variable নিতে হবে
int sub = 0;
এরপর, ওপরের কোডে যেখানে যেখানে sum লেখা আছে সেখানে সেখানে শুধু sub লিখলে বিয়োগের কোড হয়ে যাবে।

আশা করি একইভাবে তোমরা গুণ ( * ) ও ভাগ ( / ) করতে পারবে। পরবর্তী পর্বে আমরা value সরাসরি না দিয়ে কীভাবে ইচ্ছামতো value নেওয়া যায় সেই বিষয়ে শিখবো ইনশাআল্লাহ।

SHARE

Leave a Reply