আমাদের আজকের আলোচনার বিষয় প্রোগ্রাম ফ্লো ও কন্ট্রোল স্টেটমেন্টসমূহের স্ট্রাকচার ও ফরম্যাট – যা অধ্যায় ৫ ”ভিজ্যুয়াল বেসিক প্রজেক্ট, কোড, প্রোগ্রাম ফ্লো ও কন্ট্রোল স্টেটমেন্ট” এর অন্তর্ভুক্ত। বর্তমান বিশ্বের সর্বাধুনিক প্রযুক্তি হচ্ছে কম্পিউটার প্রযুক্তি। কারণ শিল্পকারখানা, গবেষণা, শিক্ষাপ্রতিষ্ঠান, চিকিৎসাশাস্ত্র ইত্যাদি সকল ক্ষেত্রই আজ কম্পিউটার অটোমেটেড। কম্পিউটার অটোমেশনের সঙ্গে কম্পিউটার প্রোগ্রামিং ও প্রোগ্রামিং লেখার জন্য প্রোগ্রামিং ল্যাংগুয়েজ অত্যন্ত গুরুত্বপূর্ণ।
তাই শিক্ষা ও গবেষণার জন্য প্রোগ্রামিং ল্যাংগুয়েজ অধ্যয়ন একটি অতি আবশ্যকীয় বিষয়। বিষয়টি অত্যন্ত গুরুত্বসহ বিবেচনা করে বর্তমানে কারিগরি শিক্ষার সকল টেকনোলজিতে কম্পিউটার প্রোগ্রামিং ল্যাংগুয়েজ বিষয়কে আবশ্যিক করা হয়েছে ।
Table of Contents
প্রোগ্রাম ফ্লো ও কন্ট্রোল স্টেটমেন্টসমূহের স্ট্রাকচার ও ফরম্যাট
VB-তে যে সকল statement ব্যবহৃত হয় তাদেরকে সাধারণত দু’ভাগে বিভক্ত করা যায়। যথাঃ
- ব্রাঞ্চিং স্টেটমেন্টস (Branching Statements)
- লুপিং স্টেটমেন্টস (Looping Statements)
নিম্নে বিভিন্ন ধরনের Branching statements Looping statements সমূহ্যের flow structure ও format উল্লেখ করা হল।
ব্রাঞ্চিং স্টেটমেন্টস
প্রোগ্রামে আমাদের বিভিন্ন ধরনের সিদ্ধান্তমূলক কাজ করার প্রয়োজন য়। সিদ্ধান্ত গ্রহণের জন্য Visual Basic এ যে ধরনের Decision Structure ব্যবহৃত হয় তাকে Branching বলে। প্রোগ্রামের খো এ decision structureটি শর্ত পরীক্ষা করে শর্তের ভিত্তিতে Program flow নির্ধারণ করে থাকে। কি ঘটবে অথবা ঘটবে না । শর্তের মানের উপর নির্ভর করে।
Branching statement হিসেবে যে ধরনের Statement সমূহ ব্যবহৃত হয় সেগুলো হচ্ছে-
(ক) If —-Then statement
(খ) If —–Then Else statement
(গ) Select Case statement ইত্যাদি।
নিম্নে উল্লেখিত Statement সমূহের flow structure ও format দেখানো হল।
If—Then statement:
এ ধরনের statement এর বেলায় expressionটি কেবলমাত্র সত্য হলেই Optional statements block execute হবে।
If-Then statement এর Flow Structure :

If–Then statement এর format বা Syntax:
এর format নিম্নরূপ। যথাঃ
If Condition Then Statement
উদাহরণঃ
If Your Aye > 18 Then
Msg Box “You are Adult”
এখানে expression টি সত্য হলে Then এর পর লেখা statement টি কাজ করবে, মিথ্যা হলে করবে না। অর্থাৎ
‘ondition “Age” এর মান 18 বা তার বেশি হলে Statement “You are Adult” print হবে নচেৎ নয়।
If Then Else statement:
এ Statement টি বহুবিধ সিদ্ধান্ত গ্রহণের ক্ষেত্রে ব্যবহৃত হয়। যদি Exprension টি সত্য হয় তাহলে নির্দিষ্ট কতকগুলো
itatement execute হবে আর expression মিথ্যা হলেও নির্দিষ্ট কতগুলো statement execute হবে।
If ThenElse statement এর flow structure:

If Then Else statement এর Format/ Syntax:
If Condition 1 Then
[Block of code 1]
else if condition 2
Then. [Block of Code 2]
–
–
–
–
–
else [
Block of Code n]
end if
উদাহরণঃ
Private Sub Command1_click ()
Dim a
a = val (Text 1)
ifa<0 Print “It’s a negative number”
elseif a = 0 Then
Print “It is zero”
else
Print “It’s a positive number”
end if
end sub.
উপরের উদাহরণটি লক্ষ্য করলে দেখা যাবে যে, ও এর মান হিসেবে কোন মান Input নেয়ার পর যদি Condition 1 সত্য হল তাহলে statement 1 “It’s a negative number” execute হবে। আর যদি Conditon 1 সত্য না হয়ে Condition 2 হয় তাহলে statement 2 “It is zero” execute হবে নচেৎ statments “It’s a positive number” execute হবে।
Select Case statement:
Select Case হলো সিদ্ধান্তমূলক structure যা দুই বা ততোধিক Block code থেকে একটি Block code কে নির্বাচন করে ও execute করে। একটি select case statement শুরু হয় select case statomont দিয়ে শেষ হয় End select statement দিয়ে এবং এর ভিতর এক/একাধিক and select Block থাকে। মূলত কোন expression এর একটা ভেরিয়েবলের বিভিন্ন রকম মানের জনা ভিন্ন ভিন্ন statement ব্যবহার করতে হলে এই select case statement ব্যবহার করা হয়। Select Case statement এর Flow Structure:

Select Case statement এর Format:
Select case statement এর format/syntax নিম্নরূপ।
Select Case Expression
Case Value1
Statement!
Case Value2
Statement2
—————
—————
Case Valuen
Statementn
Case Else
Statement
End Select
উদাহরণঃ Select Case স্টেটমেন্ট ব্যবহার করে গ্রেড নির্ণয়ের প্রোগ্রাম
Private Sub Command1_Click()
Dim score
score = InputBox(“Enter your Score:”)
Select Case score \ 10
Case 9, 10
MsgBox “Your grade is A
Case 8
MsgBox “Your grade is B
Case 7
MsgBox “Your grade is C
Case 6
MsgBox “Your grade is D”
Case Else
MsgBox “Your grade is F”
End Select
End Sub

এখানে score ভেরিয়েবলের জন্য যে মান দেয়া হবে তা ১০ দিয়ে ভাগ করার পর, ভাগফল যে Case এর মানের সা মিলবে, সেই Case সংশ্লিষ্ট MsgBox কাজ করবে। যেমন, score এর মান যদি 87 হয়, তাহলে Select Case এর tem expression এর মান হবে, score /10 = 87/10 = ৪ ফলে প্রোগ্রামে Case ৪ সংশ্লিষ্ট Statement কাজ করবে। অর্থাৎ, স্ত্রী Your Grade is B লেখাটা দেখা যাবে। যদি score এর জন্য এমন মান নির্ধারণ করা হয় (যেমন, ৩৪), যা কোন Case সাথেই মিলে না, তাহলে Case Else অংশ কাজ করবে।
উপরে একটা বিষয় লক্ষনীয় যে, প্রথম Case এ আমরা দুটো মান একসাথে লিখেছি,
Case 9, 10 অর্থাৎ, এক্ষেত্রে score ভেরিয়েবলের মান 10 দিয়ে ভাগ করার পর যদি ভাগফল ও কিংবা 10 হয়, তাহলে এই Case সংশ্লি MsgBox কাজ করবে এবং এভাবে একাধিক মান কমা দিয়ে লিখলে ভিজ্যুয়াল বেসিক কিছুই মনে করবে না।
লুপিং স্টেটমেন্টস
প্রোগ্রাম ফ্লোকে (Flow) নির্দিষ্ট শর্তসাপেক্ষে কতগুলো নির্দিষ্ট কমান্ড ব্লকের মধ্যে বারবার আবর্তিত করানোর প্রক্রিয়াই হচ্ছে লুপ বা লুপিং (Looping)। ভিজ্যুয়াল বেসিকে ব্যবহৃত Looping statement বা Iterative statment সমূহ হচ্ছে-
Do—Loop
For—Next Loop
While Wend Loop ইত্যাদি।
Do—Loop: কোন প্রোগ্রামে যদি এমন হয় যে, কম্পিউটার কোন Statement নিয়ে অন্তত একবার হলেও কাজ করবে এবং পরবর্তীতে Statement এর কাজ করা না করা ব্যবহারকারীর (User) ইচ্ছার উপর নির্ভর করবে তবে ঐ পরিস্থিতিতে Do ——- Loop ব্যবহার করা হয় Do Loop এর flow structure:

বিকল্প পদ্ধতিঃ

Do— Loop এর Format :
Do Loop এর গঠন বা সিনট্যাক্স অথবা ফরম্যাট নিম্নরূপঃ
Do While Condition
Statements
Loop
অথবা,
Do
Statements
Loop
While Condition
উদাহরণ:
Do while ch <> “q”
Ch = Input Box (“Press any character (q for quit)”)
Loop
Msg Box “You Pressed Q
এখানে প্রোগ্রাম চলার সময় কম্পিউটার প্রথম যখন Do… Loop টা পাবে, তখন সে প্রথমে Do…..Loop এর মধ্যবর্তী statement নিয়ে কাজ করবে। ফলে এক্ষেত্রে একটা ইনপুট বক্স প্রদর্শিত হবে।
এই ইনপুট বক্সে যা লেখা হবে, তা ch ভেরিয়েবলে রাখা হবে। statement গুলোর কাজ শেষ হয়ে গেলে, এবার কম্পিউটার Do…Loop এর Condition টা চেক করবে যে, এটা কি সত্য না মিথ্যা। যদি সত্য হয়, তাহলে statement গুলো আবার কাজ করবে এবং এভাবে Condition মিথ্যা না হওয়া পর্যন্ত, statement অংশের কাজ চলতেই থাকবে।
For Next Loop:
প্রোগ্রামের এক/একাধিক Statement কে একটা নির্দিষ্ট সংখ্যক বার পর্যন্ত কাজ করানোর জন্য For Next statement ব্যবহার করা হয়। For নির্দেশের সাথে একই লাইনে To এবং step নির্দেশ ব্যবহার করা হয় To দ্বারা এখানে কতবার পর্যন্ত আবর্তিত হবে তাকে বুঝায় এবং Step দ্বারা Difference কে বুঝায়। Step এর মান ধনাত্মক/ঋণাত্মক উভয় হতে পারে। Step ব্যবহার না করলে Step এর মান by default 1 হিসেবে ধরা হয়।
For-Next Loop-এর Flow Structure:

For Next Statement এর Format:
For—Next Statement এর Syntax নিম্নরূপ:
For Counter Start to End Step Inc/Der Counter
Statements
Next Counter
এখানে Counter বলতে Variable Name কে বুঝানো হয়েছে। Start বলতে initial value, end বলতে highest value, Inc/Der Counter বলতে Counter এর মান কত করে বাড়বে বা কমবে তাকে বুঝানো হয়েছে।
উদাহরণ:
Private Sub Command1_Click()
Dim q
For q = 5 to 100 step 5
Print q
Next q
End Sub
উপরের উদাহরণটিতে 5 10 15….. 95 100 এ ধারাটি Print করার একটি প্রোগ্রাম লেখা হয়েছে যেখানে এ হচ্ছে Counter Variable starting value 5, ending value 100 এবং difference 5 কে Step 5 দ্বারা বুঝানো হয়েছে।
While Wend loop:
প্রোগ্রামে এক/একাধিক statement একটা নির্দিষ্ট Condition মিথ্যা না হওয়া পর্যন্ত চালানোর জন্য While statement ব্যবহার করা হয়। Wend statement ব্যবহার করা হয়।
While Wend loop এর flowchart :

While Wend loop এর Format:
While Wend loop এর Format হচ্ছে-
While (Condition)
Statement (s)
wend
এখানে Condition টা যতক্ষণ পর্যন্ত মিথ্যা না হবে ততক্ষণ পর্যন্ত While Wend এর মধ্যবর্তী এক বা একাধিক statement কাজ করবে
উদাহরণঃ
Dim i As Integer
i= Input Box (“Enter Any Value (0 for quit)”)
While i < > 0
MsgBox Your Entered Value is: &i
I = Intput Box (“Enter Any value (0 for Quit):”)
Wend
MsgBox ” You entered 0. So, Program is End.”
এই কোডগুলো ফর্মের Click ইভেন্ট- এ লিখে, ফর্মটা রান করে আমরা যদি তাতে ক্লিক করি, তাহলে প্রথমে একটা ইনপুট বক্স প্রদর্শিত হবে। এই ইনপুট বক্স এর মাধ্যমে প্রাপ্ত ডাটা। ভেরিয়েবলে সংরক্ষিত হবে। এরপর While -এর কাজ শুরু হবে। এখানে ভিজ্যুয়াল বেসিক দেখবে যে,। <> ০ এই condition টা মিথ্যা না সত্য।। এর মান যদি 0 না হয়, তাহলে condition সত্য হবে।
ফলে While…Wend এর মধ্যবর্তী Statement গুলো কাজ করবে। যেমন, আমরা যদি ইনপুট বক্স এ 10 লিখি, তাহলে condition সত্য হবে। ফলে While…Wend এর মধ্যবর্তী statement কাজ করবে। অর্থাৎ, এক্ষত্রে প্রথমে MagBox কাজ করবে। ফলে স্ক্রীনে একটা উইন্ডোতে Your Entered Value is 10 প্রদর্শিত হবে। এরপর পরবর্তী statement তথা Input Box কাজ করবে এবং এবারও প্রাপ্ত মানকে। ভেরিয়েবলে সংরক্ষণ করবে।
এভাবে সব Statement কাজ করার পর ভিজ্যুয়াল বেসিক যখন Wend পাবে তখন আবার চেক করে দেখবে যে, While এর condition সত্য না মিথ্যা। যদি সত্য হয় তাহলে While …Wend এর statement পুনরায় কাজ করবে এবং এভাবে চলতে থাকবে যতক্ষন পর্যন্ত এই condition মিথ্যা না হবে। ধরা যাক, Input Box এ আমরা ০ লিখলাম। তাহলে While এর condition মিথ্যা হবে।
ফলে While…Wend এর মধ্যবর্তী statement কোন কাজ করবেনা অর্থাৎ, While…Wend এর কাজ শেষ হয়ে যাবে এবং কম্পিউটার While….Wend এর পরবর্তী Statement গুলো নিয়ে কাজ করবে। যেমন, ইনপুট বক্সে ০ লিখলে একটা ম্যাসেজ বক্সে You entered 0. So, Program is End. প্রদর্শিত হবে, যা কিনা উপরের প্রোগ্রামে While…. Wend এর পরবর্তী Statement.