Home Featured শিক্ষাপাতা Hello World প্রোগ্রাম বিশ্লেষণ ও Types of Data -নাদিম নওশাদ

Hello World প্রোগ্রাম বিশ্লেষণ ও Types of Data -নাদিম নওশাদ

আসসালামু আলাইকুম সবাইকে। কেমন আছো সবাই? পড়াশোনার চাপ ঠিক মতো সামলানো যাচ্ছে তো? নাকি এখনো হিমশিম খাচ্ছো। এই চাপে কি কম্পিউটারে বসে প্রোগ্রামিং শেখা সম্ভব হচ্ছে? যদি সময় দিয়ে থাকো- খুবই ভালো। আর যদি অনিয়মিত হয়ে থাকো, তবে চেষ্টা করো দিনে যেন কম্পিউটারে অন্তত পক্ষে একটা ঘণ্টা ব্যয় করা যায়। বুঝতেই তো পারছো- আধুনিক যুগে তুমি পিছিয়ে থাকলে কি চলবে? এই জন্যই আমরা প্রোগ্রামিং শিখবো আর দুনিয়াকে দেখিয়ে দিবো আমরাও কোনো দিক দিয়ে কম যাই না। গত পর্বে আমরা প্রোগ্রামিংয়ের জন্য নতুন ফাইল তৈরি করে “Hello World” প্রিন্ট করেছিলাম। আজ আমরা আরও একটু সামনের দিকে এগোবো। সাথে সাথে দেখবো গত দিনের কোডটা আসলে কীভাবে কাজ করলো। কিন্তু তার আগে চলো গত দিনের আলোচনার একটা সারসংক্ষেপ তৈরি করা যাক। যাতে করে আজকে আমাদের কোড বুঝতে সুবিধা হয় এবং আমরা আরও উৎসাহ নিয়ে কোড করতে পারি।
প্রথমেই আমাদের codeblocks open করতে হবে। তার জন্য সার্চবারে গিয়ে codeblocks লিখে সার্চ দিলেই হবে। এরপর codeblocks open করে crtl+shift+n press করে নতুন ফাইল তৈরি করতে হবে। ফাইল save করার জন্য crtl+s press করে সেখান থেকে ফাইল যে folder এ রাখতে চাও সেটা সিলেক্ট করে, file name এ তোমার পছন্দমতো একটা নাম দিয়ে, নামের পরেই (.cpp) লিখে save file করতে হবে। সব কাজ শেষে save বাটনে ক্লিক করলেই তৈরি হয়ে যাবে প্রোগ্রামিং ল্যাংগুয়েজ লেখার নতুন ফাইল। কোডটি হুবহু একই না হলে কিন্তু কাজ করবে না। তাই দাঁড়ি, কমা, সেমিকোলন সব হুবহু দিতে হবে।

#include <iostream>
using namespace std;
int main() {
cout << “Hello World!”;
return 0;}

কোডটি রান করার জন্য codeblocks এর ফাইল এর ওপরে build and run বাটনে ক্লিক করলেই প্রোগ্রাম run করবে। একটা কালো পপআপে Hello World! লেখা আসবে।
এখন চলো আমাদের কোডের প্রতিটা লাইন সম্পর্কে জেনে নিই। প্রোগ্রামের শুরুতেই #include <iostream> নামে একটি হেডার ফাইল লাইব্রেরি আছে। তোমরা কি জানো হেডার ফাইল কী? C++ এ হেডার ফাইল হলো সেই ফাইল যার মাধ্যমে আমরা সমস্ত declaration করে থাকি। একটা উদাহরণ দিয়ে চলো আরেকটু সহজে বিষয়টাকে বোঝা যাক। তুমি যে Hello World! প্রোগ্রামটা রান করলে, কম্পিউটার কীভাবে বুঝলো যে তুমি Hello World! print করতে চাচ্ছো? ঠিক ধরেছো। Hello World! এর আগে যে cout<< লিখেছি, সেইটার মাধ্যমে আমাদের কম্পিউটার বুঝতে পারছে- আচ্ছা, তাহলে আমাকে Hello World! print করতে হবে। এই যে cout<< লিখলে কম্পিউটার বুঝতে পারছে যে Hello World! print করতে হবে এর কারণ হেডার ফাইলে আমরা iostream সংযুক্ত করেছি। এই iostream হচ্ছে একটা হেডার ফাইল যা CPPএর একটা লাইব্রেরি। প্রতিটা হেডার ফাইলে আমরা বিভিন্ন ধরনের লাইব্রেরি যুক্ত করে থাকি। পরবর্তীতে আমরা হেডার ফাইল সম্পর্কে আরও জানবো।

দ্বিতীয় লাইনে আমরাusing namespace std; ব্যবহার করেছি। namespace এমন একটা জায়গা declarative region যার সাহায্যে আমরা আমাদের কোডকে ছোটো ছোটো group (logical) এ ভাগ করে আরও সহজে প্রকাশ করতে পারি। সাথে সাথে এটাও চেক করি যে, আমরা যে লাইব্রেরিগুলো ব্যবহার করবো সেগুলো যেন বার বার ব্যবহার না হয়। যদি আমরা namespace std না ব্যবহার করতাম তাহলে প্রতিবার cout এর বদলে std::cout << লিখতে হতো। ব্যাপারটা বেশ জটিল না? এজন্য আমরা namespace std ব্যবহার করি ।

তৃতীয় লাইনে আমরা int main() লিখেছি। এখানে main একটা ফাংশন। ফাংশন হচ্ছে একটা গ্রুপ যেখানে অনেকগুলো কোড একত্রে থাকে। আমাদের যেমন সবার আলাদা কিছু বেস্টফ্রেন্ড থাকে, যাদের সাথে আমরা সবসময় খেলাধুলা করি, আড্ডা দেই- ঠিক তেমনই। function এ আমরা যে কোডগুলো লিখি তা একটা গ্রুপ হয়ে কাজ করে। পরবর্তীতে ইনশাআল্লাহ আমরা আরও শিখবো function সম্পর্কে।
main() এর আগে যে int আছে এটার মাধ্যমে বোঝানো হয়েছে, এই ফাংশন থেকে কিছু return করতে হবে। কী, কঠিন হয়ে গেল? ধরো তুমি দোকানে চকোলেট কিনতে গেছ। তো তুমি দোকানদারকে টাকা দিলে সে তোমায় চকোলেট return করে। ঠিক একই ভাবে int main() লেখার মাধ্যমে বোঝানো হচ্ছে main ফাংশন থেকে আমাদের কিছু return করতে হবে। সেই জন্য আমরা ফাংশন শেষ করার আগে পঞ্চম লাইনে return 0 লিখেছি।

চতুর্থ লাইনে cout << Hello World!; দিয়েই মূলত আমরা স্ক্রিনে Hello World! লেখা দেখতে পাই। এখানে cout ব্যবহার করা হয়েছে। যেটা দিয়ে বোঝায় আমরা কিছু জিনিস স্ক্রিনে দেখতে চাচ্ছি। তাই আমরা যখন cout << Hello World!; লিখি তখন Hello World! প্রিন্ট হয়।

আরও একটা মজার কথা বলে রাখি। তোমাদের মনে কি এই প্রশ্ন আসছে, আমরা যখন লিখি তখন প্রতিটা লাইনের মাঝে দাঁড়ি বা ফুলস্টপ ব্যবহার করি, কিন্তু কম্পিউটার কীভাবে বোঝে একটা লাইন শেষ? তোমরা কি লক্ষ করেছো, cout << Hello World!; এই লাইনের শেষে আমরা একটা সেমিকোলন ব্যবহার করছি? হ্যাঁ, ঠিকই ধরেছো। C++ programming language এ সেমিকোলন (;) দিয়ে লাইনের শেষ বোঝায়। সেমিকোলন যেখানে থাকবে সেখানেই আমাদের একটা লাইনের কোড শেষ বোঝাবে। সেমিকোলনের পর অন্য যা কিছু থাকবে তা পরের লাইনে যুক্ত হবে। অর্থাৎ পরের সেমিকোলন না আসা অবধি আরো একটা লাইন হিসাবে গণ্য হবে। উদাহরণের সাহায্যে চলো আরেকটু সহজ করে বোঝার চেষ্টা করি। ক্রিকেট খেলা তো আমাদের দেখা হয় নিশ্চয়ই? ক্রিকেটে টেস্ট ম্যাচে একটা দল প্রথম ব্যাট করার পর যে রান করে, প্রতিপক্ষ সেই রান তাড়া করে। এক সময় প্রতিপক্ষ ভালো খেললে সেই রান অতিক্রম করে ফেলে, এরপর প্রতিপক্ষ যে রানগুলো করে সেই রানগুলো তাদের পরের ইনিংসে জমা হয়। ঠিক তেমনই, কোডে একটা সেমিকোলনের পর যা কিছু আসুক তা পরের লাইনে জমা হয়। চলো এবার কোড দিয়ে বোঝা যাক, ধরো তুমি দুইবার Hello World! প্রিন্ট করতে চাচ্ছ। তার জন্য তোমাকে লিখতে হবে-
cout << “Hello World!”;
cout << “Hello World!”;

তুমি যদি একই কোড এভাবে লেখো-
cout << “Hello World!”; cout << “Hello World!”;

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

SHARE

Leave a Reply