সিস্কুলে আজকে তোমার প্রথম ক্লাস। ক্লাসে আসার পর তোমার প্রথম কাজই হচ্ছে বাকি সবার সাথে পরিচিত হয়ে নেয়া। নইলে তুমি ক্লাস করবে কিভাবে? যেহেতু তুমি আর কিছুদিন পরেই প্রোগ্রামার হয়ে যাবে, তাই সবার সাথে পরিচয়ও প্রোগ্রাম দিয়েই করতে হবে। আপাতত খুব বেশি কিছু বোঝার দরকার নেই। ঝটপট তাহলে আমরা আমাদের প্রথম প্রোগ্রাম লিখে ফেলি:
যদি তুমি কোড ব্লকস ব্যবহার করো, তাহলে ওপরের কোডটুকু হুবহু লিখে Build মেনুতে গিয়ে Compile সিলেক্ট করো অথবা Ctrl + Shift + F9 চাপো। আর C4droid ব্যবহার করলে স্ক্রিনের নিচের দিকে Compile বাটন চাপো। যদি তুমি ঠিকঠাক মত সবটুকু অংশ লিখে থাকো, তাহলে কোডব্লকসে নিচের দিকে নীল রংয়ে দেখা যাবে 0 Error, 0 Warning. আর C4droid এ দেখা যাবে Successfully Compiled. এটুকু ঠিকঠাক মত করতে না পারলে সামনে এগোনোর প্রয়োজন নেই। তুমি তোমার দোভাষীর সাথে শুদ্ধ বাংলায় যদি কথাই না বলতে পারো তাহলে সে অন্য ভাষায় অনুবাদ করবে কিভাবে? এখানেও তেমনই। বারবার চেষ্টা করে ভুলটুকু খুঁজে বের করো। প্রয়োজনে অভিজ্ঞ কারও সাহায্য নাও।
ঠিকঠাক মত কম্পাইল হলে এরপর কোডব্লকসে Build মেনু থেকে Build and Run সিলেক্ট করো অথবা F9 চাপো। আর c4droid এ Run এ ক্লিক করো। স্ক্রিনে দেখা যাবে – Hellow Everyone!
অভিনন্দন! তুমি তোমার প্রথম প্রোগ্রাম তৈরি করে ফেলেছো এবং সেই প্রোগ্রামে সিস্কুলের সবাইকে হ্যালো বলেছো। তুমি জেনে আরও খুশি হবে, তোমার লেখা এই প্রোগ্রামটাই পৃথিবীর নাইন্টি নাইন পয়েন্ট নাইন নাইন পার্সেন্ট প্রোগ্রামারের প্রথম প্রোগ্রাম।
এখন একটু দেখা যাক ওপরে আমরা কী করেছি। আপাতত আমরা কাজের সুবিধার্থে কয়েকটা লাইন মুখস্থ করে ফেলব। পরে সুযোগ মত সেগুলো বুঝে নেব। আপাতত ধরে নিই
এই অংশটুকু প্রতিটি প্রোগ্রামেই থাকবে। আমাদের যত কাজ কারবার এর মাঝের অংশ নিয়ে। আমাদের প্রথম প্রোগ্রামে এর মাঝে কেবল মাত্র একটা লাইনই ছিল – printf(“Hellow Everyone!”); এই লাইনটার মানে কী? এখানে printf() একটা ফাংশন যার কাজ হচ্ছে, স্ক্রিনে কোন কিছু প্রিন্ট করা। আমরা যখন printf এর পরে ফার্স্ট ব্রাকেট দিয়ে তার মধ্যে আবার ডবল ইনভার্টেড কমা দিয়ে Hellow Everyone কথাটা লিখেছি, তখন কম্পাইলার বুঝে গেছে এর মাধ্যমে কী নির্দেশ দেয়া হয়েছে। সে সেইমত কম্পিউটারকে ভুজুং ভাজুং দিয়ে দিয়েছে। আর কম্পিউটারও তোমার নির্দেশ মেনে স্ক্রিনে দেখিয়েছে Hellow Everyone. তুমি যদি Hellow Everyone এর পরিবর্তে অন্য কিছু লিখতে, তবে কম্পিউটার সেটাই স্ক্রিনে দেখাতো। তোমার ইচ্ছে মত যা খুশি লিখে দেখতে পারো। আসলে লিখে দেখতে পারো এর পরিবর্তে বলা উচিৎ লিখে দেখো। কারণ, অন্য যে কোন বিষয়ের তুলনায় প্রোগ্রামিং অনেক বেশি অনুশীলন নির্ভর কাজ। তুমি যত বেশি অনুশীলন করবে, তত বেশি দক্ষ প্রোগ্রামার হতে পারবে।
এবার যেহেতু, তুমি ক্লাসের সবাইকে হ্যালো বলে ফেলেছ, সুতরাং এখন তোমাকে বাকি সবার কাছে নিজের পরিচয় দিতে হবে। চলো আমরা সেই প্রোগ্রামটাও লিখে ফেলি।
ওপরের লেখাটা কম্পাইল করে রান করলে স্ক্রিনে দেখা যাবে ‑ My name is Shakib the programmer. I am a student of siskul. My roll no is 01. I have came here to learn C programming language. কিন্তু, এতগুলো কথা এক লাইনে দেখতে কেমন হিজিবিজি লাগছে না? এক কাজ করা যাক। আমরা প্রতিটা বাক্যের জন্য একটা নতুন লাইন যোগ করি। কিভাবে করব সেটা? তিনটা আলাদা printf() ব্যবহার করে তিনটা আলাদা লাইনে লিখে দেখা যাক? চলো লিখে ফেলা যাক।
এই প্রোগ্রামটা লিখে কম্পাইল করে রান করো। স্ক্রিনে কী দেখা যায়? নাহ! এবারও তো সেই এক লাইনেই পুরোটা দেখা যাচ্ছে? সমস্যাটা কোথায়? আসলে কম্পিউটার তো একটা গাধা। সে চাইনিজদের মত খালি ফটরফটরই করতে পারে। কিন্তু, কাজের বেলায় ঠনঠনা। তাকে যে কাজ করতে বলা হবে, সে তার চেয়ে এক লাইনও বেশি করবে না। তাই তাকে যদি না বলা হয় পরের লাইনে যেতে, তাহলে সে সেটা জীবনেও করবে না। সেই কাজটা আমাদেরকেই করতে হবে? কিভাবে করা যায়? আমরা জানি নতুন লাইনে যাবার জন্য Enter বাটন চাপতে হয়। তাহলে কি printf() এর ভেতরে Enter লিখে দেব? তুমি লিখে চেষ্টা করতে পারো। আর যদি তুমি বেশি পাকনা হও তাহলে এমনিতেই বুঝে যাবে, printf() এর ভেতর Enter লিখলে আসলে স্ক্রিনে Enter শব্দটাই দেখা যাবে।
তাহলে আমরা কী করব? এর জন্য আমাদের একটা “স্পেশাল ক্যারেকটার” ব্যবহার করতে হবে। এই স্পেশাল ক্যারেক্টারটা হচ্ছে ‑ \n । এটাকে পড়া হয় ব্যাকস্ল্যাশ এন (Backslash n) কিংবা সংক্ষেপে শুধু স্ল্যাশ এন। কিবোর্ডের এমন বেশ কিছু বাটন যা অক্ষর দিয়ে প্রকাশ করা যায় না (যেমন Enter কিংবা Tab) অথবা সি ল্যাঙ্গুয়েজে অন্য কিছু বোঝাতে ব্যবহৃত হয় এমন চিহ্ন ( যেমন “” কিংবা \) সেটা স্ক্রিনে দেখানোর জন্য “ব্যাকস্ল্যাশ ক্যারেকটার” ব্যবহার করা হয়। \n , \t , \a , \” , \\ ‑ ইত্যাদি বিভিন্ন ব্যাকস্ল্যাশ ক্যারেকটারের উদাহরণ। আমরা \n ব্যবহার করে একটা প্রোগ্রাম লিখে দেখি কী হয়।
এবার স্ক্রিনে আউটপুট দেখা যাবে –
My name is Shakib the programmer.
I am a student of siskul.
My roll no is 01.
I have came here to learn C programming language.
আমরা যেটা দেখতে চেয়েছিলাম।
তোমার আজকের হোমওয়ার্ক অন্যান্য ব্যাকস্ল্যাশ ক্যারেকটার ব্যবহার করে দেখো কী হয়। এবং একই সাথে এও দেখ, ক্যারেকটারগুলোর আগে ব্যাকস্ল্যাশ না দিলেই বা কী হয়? সেই সাথে জায়গা মত সেমিকোলন (;) কিংবা ডবল ইনভার্টেড কমা(“”) না দিলে কী হয়? এই জিনিসগুলো হাতে কলমে দেখে নিলে পরবর্তীতে ভুল কম করবে।
দেখা হবে পরবর্তী ক্লাসে।
No comments:
Post a Comment