Microsoft Small Basic প্রোগ্রামিং [পর্ব-০৩] :: কন্ডিশনাল স্টেটমেন্ট

Microsoft Small Basic এ প্রোগ্রামিং শিখুন টিউটোরিয়ালের তৃতীয় পর্বে আপনাকে স্বাগতম। আজ আমরা কন্ডিশনাল স্টেটমেন্ট সম্পর্কে জানবো। তবে এর পূর্বে আমি গত পর্বে কিছু বিষয় বাদ দিয়ে গিয়েছিলাম যা আমার জানানো উচিত ছিলো।

স্ট্রিং ইনপুট নেওয়া

আমি গত পর্বেই বলেছিলাম স্ট্রিং হলো একসারি ক্যারেকটার। যেমন আপনার নাম বা যে কোন লেখা। আমরা যে কোন নাম্বার ইনপুট নিয়েছিলাম ReadNumber অপারেশন ব্যাবহার করে। স্ট্রিং ইনপুট নেওয়ার জন্য আমরা শুধুমাত্র Read অপারেশন ব্যাবহার করবো। নিচের উদাহরণটি লক্ষ্য করুন।

TextWindow.WriteLine("Please Enter your Name: ")
name = TextWindow.Read()
TextWindow.WriteLine("Hello " + name +", welcome to the world of programming.")

আপনারা নিচের মতো আউটপুট দেখতে পারবেনঃ

TextWindow এর টাইটেল দেওয়া ও Text রঙ্গীন করা

উপরের প্রোগ্রামটির স্ক্রীনশট দেখুন। আমাদের কনসোল এর টাইটেলবারে ফাইলের লোকেশন দেখাচ্ছে। কিন্তু আমরা আমাদের অ্যাপ্লিকেশনের কাজ অনুযায়ী এর নাম দিতে চাই। যেমন উপরের প্রোগ্রামটার টাইটেল আমরা String Input Example দিতে পারি। এজন্য আমরা TextWindow.Title ব্যবহার করবো। নিচের উদাহরনটি লক্ষ্য করুন।

TextWindow.Title = "String Input Example"
TextWindow.WriteLine("Please Enter your Name: ")
name = TextWindow.Read()
TextWindow.WriteLine("Hello " + name +", welcome to the world of programming.")

Output:

আবার আমরা কনসোলের লেখাগুলোর বর্ণও পরিবর্তন করতে পারি। আপনারা হয়তো সাদা রং দেখতে পছন্দ করবেন না। তাই লেখাগুলোর বর্ণ পরিবর্তন করতে আমরা TextWindow.ForegroundColor প্রোপারটি টি ব্যাবহার করবো। নিচের উদাহরনটি লক্ষ্য করুন।

TextWindow.Title = "Changing Color of TEXT"
TextWindow.ForegroundColor = "green"
TextWindow.WriteLine("This text has GREEN color")
TextWindow.ForegroundColor = "Red"
TextWindow.WriteLine("This Text has RED color")

প্রোগ্রামটি রান করলে আমরা নিচের মতো দেখতে পারবোঃ

আপনাদের সুবিধার্তে আমি Small Basic এ কিছু বৈধ রংয়ের নাম দিচ্ছি।

Black

Blue

Cyan

Gray

Green

Magenta

Red

White

Yellow

DarkBlue

DarkCyan

DarkGray

DarkGreen

DarkMagenta

DarkRed

DarkYellow

কন্ডিশনাল স্টেটমেন্ট

এবার আমি আমার আজকের পর্বের মূল বিষয় কন্ডিশনাল স্টেটমেন্ট সম্পর্কে বর্ণনা করবো। কন্ডিশন এর বাংলা হলো শর্ত। তাই এখানে আমরা শর্ত নিয়েই কাজ করবো। এখন প্রশ্ন শর্ত কি? যেমন আপনাকে শর্ত দেওয়া হলো যে আপনার বয়স ২১ বছর না হলে আপনি বিয়ে করতে পারবেন না। তেমনি প্রোগ্রামেও আপনাকে এরকম শর্ত দেওয়া হবে যে একটা নির্দিষ্ট মান সত্য হলেই শুধুমাত্র তার পরবর্তী কোডগুলো এক্সিকিউট হবে।

MS Small Basic ল্যাংগুয়েজে শর্ত দেওয়ার Syntax বা নিয়ম হলোঃ

If (condition) Then
    'some code goes here
Else
    'some code goes here
End If

চলুন উদাহরনের মাধ্যমে বোঝানো যাক। নিচের প্রোগ্রামটি ইউজার থেকে একটি নাম্বার ইনপুট নিবে। তারপর চেক করে আউটপুট দিবে নাম্বারটি ধনাত্মক নাকি ঋণাত্মক।

TextWindow.WriteLine("Enter a number: ")
x = TextWindow.ReadNumber()
If (x >= 0) Then
    TextWindow.WriteLine("The Number is Positive!")
Else
    TextWindow.WriteLine("The Number is Negative!")
EndIf

উপরের প্রোগ্রামটি কিভাবে কাজ করে তা নিচের ফ্লো চার্টের মাধ্যমে দেখানো যেতে পারে।

আশা করি আপনারা বুঝতে পেরেছেন। এখানে শর্তে আমরা যে অপারেটর ব্যাবহার করেছি তা হলো বড় ও সমান (>= বা Greater Than or Equal). এই অপারেটরকে বলা হয় রিলেশনাল অপারেটর। MS Small Basic এর রিলেশনাল অপারেটর সমূহ হলোঃ

Sign

In Words

=

Equal To

>

Greater Than

<

Less Than

>=

Greater Than or Equal

<=

Less Than or Equal

!=

Not Equal

এখন আমরা যদি একাধিক শর্ত দিতে চাই তাহলে আমাদের Elseif ব্যবাহার করতে হবে। Syntax হবে নিম্নরূপঃ

If (condition Then
    'some code goes here
Elseif(condition) Then
    'some code goes here
Else
    'some code goes here
End If

আমরা ধরে নেই ০ ধনাত্মক বা ঋণাত্মক নয়। উপরের প্রোগ্রামটি শূন্য ইনপুট দিলে বলে যেনো The number is Zero. তাহলে আমাদের প্রোগ্রামটি হবেঃ

TextWindow.WriteLine("Enter a number: ")
x = TextWindow.ReadNumber()
If (x > 0) Then
    TextWindow.WriteLine("The Number is Positive!")
ElseIf (x=0) Then
    TextWindow.WriteLine("The Number is Zer0!")
Else
    TextWindow.WriteLine("The Number is Negative!")
EndIf

আমরা একটি কন্ডিশনাল স্টেটমেন্টের ভিতর আরও কন্ডিশন দিতে পারি। চলুন নিচের প্রোগ্রামটা দেখি।

TextWindow.Title = "Marriage Age Checking"
TextWindow.WriteLine("Enter your Name: ")
name = TextWindow.Read()
TextWindow.WriteLine("Are You Male/Female ? (Enter m or f)")
sex = TextWindow.Read()
If( sex = "m") Then
    TextWindow.WriteLine("Enter your Age: ")
    age = TextWindow.ReadNumber()
    If( age < 21 ) Then
        TextWindow.ForegroundColor = "red"
        TextWindow.WriteLine("Sorry " + name +", you don’t have right to get married.")
    Else
        TextWindow.ForegroundColor = "green"
        TextWindow.WriteLine("Congrats " + name + ", you have the right to get married.")
    EndIf
ElseIf ( sex = "f" ) Then
    age = TextWindow.ReadNumber()
    If( age < 18 ) Then
        TextWindow.ForegroundColor = "red"
        TextWindow.WriteLine("Sorry " + name +", you don’t have right to get married.")
    Else
        TextWindow.ForegroundColor = "green"
        TextWindow.WriteLine("Congrats " + name + ", you have the right to get married.")
    EndIf
Else
    TextWindow.WriteLine("You have entered wrong letter !")
EndIf

বিশাল প্রোগ্রাম তাই না? বাস্তব জীবনের প্রোগ্রাম এর চেয়েও বড় হয়! আচ্ছা আমাকে কি প্রোগ্রামটা ব্যাখ্যা করতে হবে? আশাকরি প্রোগ্রামটা দেখেই বুঝতে পারবেন। যদি বুঝতে না পারেন তাহলে মন্তব্যের ঘর ফাঁকাই থাকে। ওটাতে জিজ্ঞাসা করতে পারেন। আমি ব্যাখ্যা যুক্ত করে দিবো।

আজ এতোটুকুই থাক। আগামী পর্বে আমরা লুপ শিখবো।

Level New

আমি সাকিব। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 13 বছর 11 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 21 টি টিউন ও 154 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 1 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।

প্রথম সেমিস্টার, প্রথম বর্ষ, কম্পিউটার বিজ্ঞান ও প্রকৌশল বিভাগ, বেগম রোকেয়া বিশ্ববিদ্যালয়, রংপুর।


টিউনস


আরও টিউনস


টিউনারের আরও টিউনস


টিউমেন্টস

Level 0

দারূন হচ্ছে।চালিয়ে যান।একটা ব্যাপার, ব্যাসিক শেষ হলে পুরনাংগ একটা project চাই।

    @SHAKIL: আর কয়েক পর্বের পরেই দেখতে পারবেন ইনশাল্লাহ …

vi ajke apnar kono post pi ni, I have been so much benifited from this three posts. Sorry for not commented early. May Allah help u…………

    @Md. Rokibul Huq: দুঃখিত ভাই। ব্যাক্তিগত কাজে কাল ও আজ একটু ব্যাস্ত ছিলাম। কিছুক্ষন আগে নতুন পোস্ট দিয়েছি।

খুব ভাল হচ্ছে। ভাই পরের পর্ব তাড়াতাড়ি চাই।