Microsoft Small Basic প্রোগ্রামিং [পর্ব-০২] :: আরও একটু এডভান্স
প্রথম পর্বে আমরা Microsoft Small Basic এর সাহায্যে ছোট একটি Hello World প্রোগ্রাম তৈরী করা শিখেছিলাম। এই পর্বে আমরা আরও অ্যাডভান্সড কিছু বিষয় শিখবো। তো চলুন শুরু করা যাক।
আপনি প্রথম প্রোগ্রামে যখন TextWindow.WriteLine লিখেছিলেন তখন দেখেছিলেন যে নিচের মতো একটি মেনু আপনাকে সাজেশন দিচ্ছিল। এই মেনুকে বলা হয়ে থাকে Intellisense মেনু। যখনি আপনার কাঙ্খিত অপারেশন/অবজেকট/মেথড লিখতে লিখতে সাজেশনে এন্টার দিবেন তখন বাকিটুকু অটোমেটিক বসে যাবে।
প্রোগ্রাম এর মূল উদ্দেশ্য কিন্তু গাণিতিক সমস্যার সমাধান করা। অজানা কোন রাশির মান নির্ণয় করা। তাই আমরা চলুন সাধারণ কিছু যোগ বিয়োগের কাজ Microsoft Small Basic এর মাধ্যমে করি।
সাধারণ যে কোন যোগ, বিয়োগ, গুণ, ভাগ Small Basic এ করা যায়। এজন্য আপনাকে কিছু ভেরিয়েবল নিতে হবে। এখন ভেরিয়েবল কি? ভেরিয়েবল হলো গণিতের ভাষায় চলক। যার মান যে কোন সময় পরিবর্তিত হতে পারে। যেমন আমরা পাটিগণিতে করেছিলামঃ
মনে করি,
পিতার বয়স ‘ক’ বছর।
এখানে ‘ক’ হলো একটি ভেরিয়েবল। কারণ ‘ক’ এর মান আমাদের কাছে অজানা। তাই এতে আমরা যে কোন মান দিতে পারি।
Small Basic প্রোগ্রামিং এ ভেরিয়েবলে সরাসরি মান অ্যাসাইন করা যায়। যেমন ধরুন আমি x, y ও z এই তিনটি ভেরিয়েবল এ যথাক্রমে 3, 5 ও 7 মান অ্যাসাইন করবো। তাহলে আমি প্রোগ্রামে লিখবোঃ
x = 3 y = 5 z = 7
এখন আমি এই তিনটি ভেরিয়েবলের যোগফল বের করতে চাই। কিন্তু এদের যোগফল আমি জানি না। এদের যোগফল জমা রাখার জন্য আমি আরেকটি ভেরিয়েবল নিবো। এই ভেরিয়েবলের নাম দিলাম ans. তাহলে আমরা লিখতে পারি,
ans = a + b + c
অর্থাৎ a , b ও c এর যোগফল ans নামক একটি ভেরিয়েবলে অ্যাসাইন হবে বা জমা হবে।
Note: এখানে একটি বিষয় বলে রাখি আপনি যখনি একটি ভেরিয়েবল নিবেন তখনি তার জন্য আপনার র্যামে নির্দিষ্ট পরিমাণ যায়গা বরাদ্দ করা হবে। আসলে ভেরিয়বল হলো আপনার র্যামের একটি নির্দিষ্ট যায়গাকে নাম দিয়ে প্রকাশ করা। আর প্রোগ্রামিং এর প্রতিটি লাইনকে এক একটি স্টেটমেন্ট বলা হয়ে থাকে।
এখন আমাদের কাজ হবে এই যোগফলটা স্ক্রিনে দেখানো। মানে আউটপুট হিসেবে দেখানো। তো এজন্য নিচের কোডটুকু লিখুনঃ
x = 3 y = 5 z = 7 ans = x + y + z TextWindow.WriteLine(ans)
এবার প্রোগ্রামটি রান করে দেখুন। আউটপুট কি দেখতে পারছেন? শুধু 15 তাই না? এর চেয়ে যদি আমাদেরকে The answer is 15 এভাবে দেখাতো তাহলে ভালো হতো না? হ্যাঁ এটা সম্ভব এবং এটা আপনাকে প্রোগ্রামে লিখতে হবে। তাহলে উপরের প্রোগ্রামটা আমরা পুনরায় এভাবে লিখতে পারিঃ
x = 3 y = 5 z = 7 ans = x + y + z TextWindow.WriteLine("The answer is " + ans)
এবার দেখুন আউটপুট কি আসছে? আমরা যা আশা করেছিলাম ঠিক তাই তাইনা? এবার আপনার কাজ হলো এভাবে বিয়োগ, গুন ও ভাগ করা।
লক্ষনীয়ঃ The answer is হলো একটি স্ট্রিং বা একসারি লেটার। আর যে কোন স্ট্রিংকে ডাবল কোটেশনের মধ্যে রাখতে হয়। এবং ans হলো একটি ভেরিয়েবল মাত্র। তাই এটি কোন স্ট্রিং না। তাই এতে কোন ডাবল কোটেশন দেওয়া হয়নি। আর এটি আউটপুট দেবার জন্য এর পূর্বে + চিহ্ণ বসানে হয়েছে। আমরা যদি একাধিক ভেরিয়েবল আউটপুটে রাখতাম তাহলে আমাদের লাইনটি হতোঃ
TextWindow.WriteLine("The sum of " + x + "," + y + " and " + z + " is " + ans)
এবার নিচের প্রোগ্রামটা খেয়াল করুন। আউটপুট কি আসতে পারে তা চিন্তা করে দেখুন।
x = 3 y = 5 y = 7 z = 7 ans = x + y + z TextWindow.WriteLine("The answer is " + ans)
কি দেখলেন? আউটপুট 17 আসলো তাইনা? কিন্তু কেনো? আমরা y এর মান দুইবার অ্যাসাইন করেছি। একবার ৫ এবং আরেকবার ৭। সর্বশেষ যে মানটি অ্যসাইন করা হবে সেটিই গ্রহণযোগ্য হবে। কারণ আমি পূর্বেই বলেছি ভেরিয়েবল হলো মেমোরির একটি যায়গা। যে যায়গায় আপনার দেওয়া মানটি জমা হয়ে যায়। আপনি যদি পরবর্তী লাইনে মান পরিবর্তন করে থাকেন তাহলে ভেরিয়েবলটির মান নতুন দেওয়া মানটি হবে। এটি ভালোভাবে বোঝার জন্য নিচের উদাহরণটি দেখুন।
x = 3 y = 5 z = 7 ans = x + y + z TextWindow.WriteLine("The first answer is " + ans) x = 3 y = 7 z = 7 ans = x + y + z TextWindow.WriteLine("The second answer is " + ans)
এখানে প্রথম আউটপুট লেখার সময় y এর মান ৫ ছিলো তাই আউটপুট ১৫ এসেছে। আর দ্বিতীয় লেখাটি আউটপুট করার সময় y এর মান ছিলো । তাই আউটপুটও ১৭ হয়েছে।
এতোক্ষন আমরা যে প্রোগ্রামগুলো করলাম এগুলোতে x , y , z এর মান ফিক্সড ছিলো। কিন্তু প্রোগ্রামগুলো ইউজার ডিফাইন্ড করলে ভালো হয় না? এখন আমরা এটাই করতে যাবো। আমরা চাই কম্পিউটার ব্যাবহারকারীরা ইনপুট দিবে আর কম্পিউটার উত্তর দেখাবে। এজন্য আমরা TextWindow এর আরেকটি অপারেশন শিখবো। এই অপারেশনটির নাম হলো ReadNumber() . এই অপারেশনটির মাধ্যমে যে কোন নাম্বার ইনপুট নেওয়া যাবে।
TextWindow.WriteLine("Enter a number: ") x = TextWindow.ReadNumber() TextWindow.WriteLine("Enter another number: ") y = TextWindow.ReadNumber() ans = x + y TextWindow.WriteLine("The sum of entered number is : " + ans)
বাহ। আপনি তো একটি ছোট যোগ করার ক্যালকুলেটর বানিয়ে ফেললেন তাইনা? এবার আপনার কাজ হবে একইভাবে একটি বিয়োগ, গুন ও ভাগ করার ক্যালকুলেটর তৈরী করা।
আপনাদের প্রতি বিশেষ অনুরোধঃ প্রতিটি প্রোগ্রাম আপনি নিজে লিখে রান করবেন। কখনও কপি পেস্ট করবেন না। প্রতিটি প্রোগ্রাম নতুন ফাইলে করবেন।
আজ এতোটুকুই থাক। আগামী পর্বে আরও নতুন বিষয় নিয়ে হাজির হবো ইনশাল্লাহ।
Comments
Post a Comment