আমাদের আজকের আলোচনার বিষয় গাণিতিক, তুলনামূলক, যৌক্তিক, অ্যাসাইনমেন্ট ও কনকেটানেশন অপারেটর – যা অধ্যায় ৪ ”ভিজ্যুয়াল বেসিক অপারেটর ও এক্সপ্রেশন” এর অন্তর্ভুক্ত। বর্তমান বিশ্বের সর্বাধুনিক প্রযুক্তি হচ্ছে কম্পিউটার প্রযুক্তি। কারণ শিল্পকারখানা, গবেষণা, শিক্ষাপ্রতিষ্ঠান, চিকিৎসাশাস্ত্র ইত্যাদি সকল ক্ষেত্রই আজ কম্পিউটার অটোমেটেড। কম্পিউটার অটোমেশনের সঙ্গে কম্পিউটার প্রোগ্রামিং ও প্রোগ্রামিং লেখার জন্য প্রোগ্রামিং ল্যাংগুয়েজ অত্যন্ত গুরুত্বপূর্ণ।
তাই শিক্ষা ও গবেষণার জন্য প্রোগ্রামিং ল্যাংগুয়েজ অধ্যয়ন একটি অতি আবশ্যকীয় বিষয়। বিষয়টি অত্যন্ত গুরুত্বসহ বিবেচনা করে বর্তমানে কারিগরি শিক্ষার সকল টেকনোলজিতে কম্পিউটার প্রোগ্রামিং ল্যাংগুয়েজ বিষয়কে আবশ্যিক করা হয়েছে ।

Table of Contents
গাণিতিক, তুলনামূলক, যৌক্তিক, অ্যাসাইনমেন্ট ও কনকেটানেশন অপারেটর
গাণিতিক অপারেটর (Arithmetic operator): যেসব অপারেটর বিভিন্ন ধরনের গাণিতিক কাজ যেমন- যোগ, বিয়োগ, গুণ, ভাগ, ভাগশেষ, সূচক ইত্যাদি করার জন্য ব্যবহৃত হয় তাদেরকে গাণিতিক অপারেটর (Arithmetic Operator) বলে। ভিজ্যুয়াল বেসিকে ৭ ধরনের গাণিতিক অপারেটর ব্যবহার করা হয় নিম্নে তাদের তালিকা উল্লেখ করা হল।
| অপারেটর (Operator) | চিহ্ন (symble) |
| Addition | ( + ) |
| Subtraction | – |
| Multiplication | * |
| Division | / |
| Division | \ |
| Remainder | MOD |
| Exponent | ∧ |
নিম্নে বিভিন্ন ধরনের গাণিতিক অপারেটর সমূহ বর্ণনা করা হল।
প্লাস (+) অপারেটর।
একে addition অপারেটর বলে, যা দুটো অপারেন্ড যোগ করার জন্য ব্যবহার করা হয়, যেমনঃ
result = operand1 + operand2
এখানে operand1 এবং operand2 হিসাবে ভেরিয়েবল, কনস্ট্যান্ট কিংবা সরাসরি কোন সংখ্যা ব্যবহার করা যায়।
উদাহরণ।
DimtestVal
testVal = 5+5
testVal 435.90+555.45
‘এখানে test Val এর মান হবে 10
testVal এর মান হবে 991.35
তবে + অপারেটরকে দুটো স্ট্রিং একত্র করতেও ব্যবহার করা যায়। যেমনঃ
Dim testVal, str, val
str = “26” val = 2 testVal = str + val। এখানে test Val = 28 হবে কিন্তু,
Dim testVal, str, val
str= “26”
val = “2”
testVal = str + val। এখানে test Val = “262” হবে।
মাইনাস অপারেটর
একে Minus অপারেটর বলে। প্রোগ্রামে বিয়োগের কাজ করার জন্য কিংবা কোন ধনাত্মক সংখ্যাকে ঋণাত্মক কিংবা ঋণাত্মকন সংখ্যাকে ধনাত্মক সংখ্যায় পরিণত করার জন্য এই অপারেটর ব্যবহার করা হয়।
যেমন: result = operandi – operand2
কিংবা
operand
এখানে operand, operand1 এবং operand2 হিসাবে ভেরিয়েবল, কনস্ট্যান্ট কিংবা সরাসরি কোন সংখ্যা ব্যবহার করা যায়।
উদাহরণ:
Dim testVal
testVal = 5-3 এখানে test Val এর মান হবে 2
testVal = 1435.90-555.45 ‘test Val এর মান হবে 880.4
testVal-(-555.45) test Val এর মান হবে 555.45
উল্লেখ্য যে, যখন ‘-‘ এর সাথে একটা অপারেন্ড ব্যবহার করা হয়, তখন তাকে Unary অপারেটর বলে। Minus অপারেটরকে Unary এবং Binary অপারেটর হিসাবে ব্যবহার করা যায়।
মাল্টিপ্লিকেশন (*) অপারেটর:
একে Multiplication অপারেটর বলে। দুটো অপারেন্ড গুণ করার জন্য এই অপারেটর ব্যবহার করা হয়। Dim testVal
যেমন: result = operand1 operand2
এখানে operand1 এবং operand2 হিসাবে ভেরিয়েবল, কনস্ট্যান্ট কিংবা সরাসরি কোন সংখ্যা ব্যবহার করা যায়।
উদাহরণ:
testVal =55 ‘ এখানে testVal এর মান হবে 25
testVal = 123.59 435.90 testVal ‘র মান হবে 53872.881
ডিভিশন (1) অপারেটর।
প্রোগ্রামে ভাগের কাজ করার জন্য এই অপারেটর ব্যবহার করা হয়। এই অপারেটর ব্যবহার করলে ভাগফলটা দশমিকসহ পাওয়া যাবে। যেমনঃ
result = operand 1/ operand2 এখানে operand1 এবং operand2 হিসাবে ভেরিয়েবল, কনস্ট্যান্ট কিংবা সরাসরি কোন সংখ্যা ব্যবহার করা যায়।
উদাহরণ:
Dim testVal
testVal = 10/4 testVal = 2.5 হবে
testVal = 10/3 testVal = 3.333333 হবে।
ইন্টিজার ডিভিশন (1) অপারেটর।
এই অপারেটরকেও ভাগের কাজ করার জন্য ব্যবহার করা হয়। তবে এক্ষেত্রে ভাগফলটা পূর্ণ সংখ্যা হবে। যেমন:
result = operand1\ operand2 এখানে operand1 এবং operand2 হিসাবে ভেরিয়েবল, কনস্ট্যান্ট কিংবা সরাসরি কোন সংখ্যা ব্যবহার করা যায়।
উদাহরণঃ
Dim testVal
testVal = 1114 testVal = 2 হবে
testVal = 913 testVal = 3 হবে
testVal = 10013 testVal = 33 হবে
মড (Mod) অপারেটরঃ
একে remainder অপারেটর বলে। ভাগের কাজ করার সময় ভাগশেষ বের করার জন্য এই অপারেটর ব্যবহার করা হয়। যেমন:
result = operand1 Mod operand2
এখানে operand1 এবং operand2 হিসাবে ভেরিয়েবল, কনস্ট্যান্ট কিংবা সরাসরি কোন সংখ্যা ব্যবহার করা যায়।
উদাহরণঃ
Dim testVal
TestVal = 10 Mod 5 “Returns testVal =0.
Testval = 10 Mod 3 ‘Returns 1.
উল্লেখ্য যে, Mod অপারেটরের কোন অপারেন্ড floating point number (দশমিকসহ সংখ্যাকে floating point number বলে) হলে, এই অপারেটর প্রথমে তা কাছাকাছি integer (পূর্ণ সংখ্যায়) টাইপে রূপান্তর করে নেয় এবং পরে ভাগশেষ বের করে যেমন,
testVal = 22 Mod 4 ‘এখানে testVal = 2 হবে
কিন্তু,
testVal 22.6 Mod 4 ‘এখানে testVal=3 হবে
এখানে শেষের test Val এর মান হবে 3. কারণ, Mod অপারেটর 22.6 কে প্রথমে পূর্ণসংখ্যা অর্থাৎ, 23 এ রূপান্তর করবে এবং পরে 4 দিয়ে ভাগ করে ভাগশেষ বের করবে।
সূচক (০) অপারেটর:
বিভিন্ন গাণিতিক কাজে আমাদের সূচক ব্যবহার করতে হতে পারে। যেমনঃ
(a+b)²= a² + 2ab + b²
কিন্তু কী-বোর্ডে এভাবে সূচক ব্যবহারের সরাসরি কোন ব্যবস্থা নেই। ভিজ্যুয়াল বেসিকে এই সূচকের কাজ করার জন্য অপারেটর ব্যবহার করা হয়। যেমন:
result = operand exponent
উদাহরণ:
Dim testVal
testVal = 2^2 testVal = 4
testVal = 3^33 testVal 19683
testVal = (-5) 3 testVal = -125
testVal = 53 testVal = 125
এখানে 2^2 মানে হল 22, 3^3^ 3 মানে হল 33, (-5) 3 মানে হল -53 একইভাবে আমরা উপরের সূত্রটা এই অপারেটরের মাধ্যমে নিচের মত উপস্থাপন করতে পারি।
(a+b)^2=a^2+2*a*b+b^2
তুলনামূলক অপারেটর (Comparison Operator) :
যেসব অপারেটর এক বা একাধিক অপারেন্ড (Operand)-এর মধ্যে তুলনা বা বিভিন্ন রকম সম্পর্ক যেমন, ছোট, বড়, ছোট বা সমান, বড় বা সমান, সমান ইত্যাদি বুঝানোর জন্য ব্যবহৃত হয় তাদেরকে তুলনামূলক (Comparison) অপারেটর বলে। ভিজ্যুয়াগ বেসিকে মোট ৬ ধরনের তুলনামূলক অপারেটর ব্যবহার করা হয়। নিম্নে তাদের তালিকা উল্লেখ করা হল।
এখানে 2^2 মানে হল 22, 3^3^ 3 মানে হল 33, (-5) 3 মানে হল -53 একইভাবে আমরা উপরের সূত্রটা এই অপারেটরের মাধ্যমে নিচের মত উপস্থাপন করতে পারি।
(a+b)^2=a^2+2*a*b+b^2
তুলনামূলক অপারেটর
যেসব অপারেটর এক বা একাধিক অপারেন্ড (Operand)-এর মধ্যে তুলনা বা বিভিন্ন রকম সম্পর্ক যেমন, ছোট, বড়, ছোট বা সমান, বড় বা সমান, সমান ইত্যাদি বুঝানোর জন্য ব্যবহৃত হয় তাদেরকে তুলনামূলক (Comparison) অপারেটর বলে। ভিজ্যুয়াগ বেসিকে মোট ৬ ধরনের তুলনামূলক অপারেটর ব্যবহার করা হয়। নিম্নে তাদের তালিকা উল্লেখ করা হল।
| অপারেটর (Operator) | চিহ্ন (symble) |
| Less than | < |
| Less than or equal to | <= |
| Greater than | > |
| Greater than or equal to | ( > =) |
| Equat to | ( = ) |
| Not equal to | < > |
উদাহরণ:
Dim x, y, z
যদি x = 5: y=10: z= 1 হয় তবে
x>y False
x>=y False
x<y True
x<= y True
(x+y) <> z True
যৌক্তিক অপারেটর (Logical Operator): যেসব অপারেটর লজিক্যাল অপারেশন যেমন লজিক্যাল এন্ড, লজিক্যাল অর, লজিক্যাল নট অপারেশন সম্পন্ন করার জন্য ব্যবহৃত হয় তাদেরকে যৌক্তিক অপারেটর (Logical Operator) বলে। ভিজ্যুয়াল বেসিকে মোট ৬ ধরনের লজিক্যাল অপারেটর বিদ্যমান। অপারেটরগুলো নিম্নরূপঃ
| অপারেটর (Operator) | চিহ্ন (symble) |
| And Operator | And |
| Or Operator | Or |
| Not Operator | Not |
| Eqv Operator | Eqv |
| Imp Operator | Imp |
| Xor Operator | Xor |
নিম্নে বিভিন্ন প্রকার লজিক্যাল অপারেটর বর্ণনা করা হলঃ
AND অপারেটর:
একাধিক এক্সপ্রেশন সত্য কিনা তা বের করার জন্য এই অপারেটর ব্যবহার করা হয়। যদি এই অপারেটরের অপারেন্ড হিসাবে নির্ধারিত সবগুলো এক্সপ্রেশন সত্য হয়, তাহলে পুরো এক্সপ্রেশনটাই সত্য হবে, ফলে এক্সপ্রেশনের মান হবে True. যেমন ও result = exprsn1 And exprsn2 এখানে = এর ডানদিকের অংশকে বলা হয় AND এক্সপ্রেশন। এই এক্সপ্রেশনের মান কিভাবে নির্ধারিত হয় তা নিচের তালিকায় দেখানো হল,
| Exprsn1 | Exprsn2 | Result |
| TRUE | TRUE | TRUE |
| TRUE | FALSE | FALSE |
| FALSE | TRUE | FALSE |
| FALSE | FALSE | FALSE |
| TRUE | Null | Null |
| FALSE | Null | FALSE |
| Null | TRUE | Null |
| Null | FALSE | FALSE |
| Null | Null | Null |
যদি exprsn1 এবং exprsn2 উভয়ের মান True হয় তাহলে, result এর মান True হবে। একইভাবে তালিকার অন্যান্য মানগুলো কাজ করে।
উদাহরণঃ
Dim p, q, r, s, testVal
যদি P = 10, q = 8, r = 6, s = Null হয় তবে ‘Initialize variables.
‘Initialize variables. testVal = True.
testVal = (q> p) And (q> r) testVal = False.
tesVal = (pq) And (q>s) testVal = Null.
এখানে testVal = (p > q) And (q> r) এই স্টেটমেন্টটার কথাই ধরা যাক। p এর মান যেহেতু 10 এবং ৭ এর মান যেহেতু ৪, তাই p > q এই এক্সপ্রেশনটা সত্য। ফলে এক্সপ্রেশনের মান হবে True, আবার এ এর মান ৪ এবং এর মান যেহেতু ও, তাই ৫। এই এক্সপ্রেশনটা সত্য। ফলে এক্সপ্রেশনের মান হবে True. এখানে And এর উভয় অপারেন্ড (এক্সপ্রেশন) এর মান যেহেতু True, তাই পুরো And এক্সপ্রেশনটাই True হবে। ফলে testVal এর মান হবে True.
Or অপারেটর:
একাধিক এক্সপ্রেশনের মধ্যে কোন একটা এক্সপ্রেশন সত্য কিনা তা বের করার জন্য এই অপারেটর ব্যবহার করা হয়। যেমন: result exprsn1 Or exprsn2 Or এক্সপ্রেশনের মান কিভাবে নির্ধারিত হয়, তা নিচের তালিকায় দেখানো হল,
| Exprsn1 | Exprsn2 | Result |
| TRUE | TRUE | TRUE |
| TRUE | FALSE | TRUE |
| FALSE | TRUE | TRUE |
| FALSE | FALSE | FALSE |
| TRUE | Null | TRUE |
| FALSE | Null | Null |
| Null | TRUE | TRUE |
| Null | FALSE | Null |
| Null | Null | Null |
অর্থাৎ, Or অপারেটরের অপারেন্ড হিসাবে নির্ধারিত কোন একটা এক্সপ্রেশনের মান True হলে, Or এক্সপ্রেশনের মান True । অন্যথায় এক্সপ্রেশনের মান False কিংবা Null হবে।
উদাহরণঃ
Dim p, q, r, s, testVal
যদি P = 10, q = 8, r = 6, s = Null হয় তবে “Intialize variables.
testVal = (P > q) Or (q > r) testVal = True
testVal = (q> p) Or (q > r) ‘testVal = True
testVal = (p > q) Or (q>s) ‘testVal = True
testVal = q>s) Or (q> p) testVal
Not অপারেটর:
কোন এক্সপ্রেশনের মান লজিক্যালি ঋণাত্মক করার জন্য এই অপারেটর ব্যবহার করা হয়।
যেমন:
result = Not exprsn
Not এক্সপ্রেশনের মান কিভাবে নির্ধারিত হয় তা নিচের তালিকায় দেখানো হল,
| Exprsn1 | Result |
| TRUE | FALSE |
| FALSE | Null |
উদাহরণঃ
Dim p, q, r, s, testVal
যদি p = 10, q = 8, r = 6, s = Null হয় তবে Initialize variables.
testVal = Not (p > q) ‘testVal = False.
testVal = Not (q> p) ‘testVal = True.
testVal = Not (r>s) testVal = Null
Eqv অপারেটর :
দুটো এক্সপ্রেশন লজিক্যালি একরকম কিনা তা এই অপারেটরের মাধ্যমে বের করা যায়।
যেমন:
result = exprsn1 Eqv exprsn2
এখানে উভয় এক্সপ্রেশন যদি Null হয়, তাহলে result এর মানও Null হবে। অন্যথায় result এর মান নিচের তালিকানুসারে ধারিত হবে।
| Exprsn1 | Exprsn2 | Result |
| TRUE | TRUE | TRUE |
| TRUE | FALSE | FALSE |
| FALSE | TRUE | FALSE |
| FALSE | FALSE | TRUE |
অর্থাৎ, এই অপারেটরের উভয় অপারেন্ড (এক্সপ্রেশনের)-এর মান যদি একই রকম হয়, তাহলে result হবে True. অন্যথায় esult হবে False.
উদাহরণঃ
Dim p, q, r, s, testVal
যদি p = 10 q = 8, r = 6 s = Null হয় তবে ‘Initialize variables.
testVal = (p > q) ; Eqv (q > f) ‘testVal = True.
testVal = (q > P) Eqv (q > r) ‘testVal = False.
testVal yl = (p > q) Eqv (q > s) testVal = Null.
অর্থাৎ, এই অপারেটরের উভয় অপারেন্ড (এক্সপ্রেশনের)-এর মান যদি একই রকম হয়, তাহলে result হবে True. অন্যথায় esult হবে False.
উদাহরণঃ
Dim p, q, r, s, testVal
যদি p = 10 q = 8, r = 6 s = Null হয় তবে ‘Initialize variables.
testVal = (p > q) ; Eqv (q > f) ‘testVal = True.
testVal = (q > P) Eqv (q > r) ‘testVal = False.
testVal yl = (p > q) Eqv (q > s) testVal = Null.
Imp অপারেটর:
দুটো এক্সপ্রেশনের উপর লজিক্যাল ইমপ্লিকেশন-এর জন্য এই অপারেটর ব্যবহার করা হয়। যেমনঃ
result = exprsn1 Imp exprsn2 Imp অপারেটরের মাধ্যমে তৈরি এক্সপ্রেশনের মান কিভাবে নির্ধারিত হয়, তা নিচের তালিকায় দেখানো হল,
| Exprsn1 | Exprsn2 | Result |
| TRUE | TRUE | TRUE |
| TRUE | FALSE | FALSE |
| FALSE | TRUE | TRUE |
| FALSE | FALSE | TRUE |
| TRUE | Null | Null |
| FALSE | Null | TRUE |
| Null | TRUE | TRUE |
| Null | FALSE | Null |
| Null | Null | Null |
উদাহরণ:
Dim p, q, r, s, testVal
যদি p = 10, q = 8 q = 8, r = 6 s = Null হয় তবে “Intialize variables.
testVal = (pq) Imp (q > r) testVal = True.
lestVal = (p > q) Imp (r > q) testVal = False.
testVal = (q > p) Imp (r> q) ‘testVal = True.
testVal = (q > p) ; (r > s) testVal = True.
Xor অপারেটর:
একাধিক এক্সপ্রেশনের মধ্যে Xor অপারেশন সম্পন্ন করার জন্য Xor অপারেটর ব্যবহৃত হয়। যেমনঃ
result exprsn1 Xor exprsn2
Xor অপারেটরের মাধ্যমে তৈরি এক্সপ্রেশনের কোন একটা অপারেন্ড Null হলে result ও Null হবে, অন্যথায় এক্সপ্রেশন এর মান নিচের তালিকানুযায়ী নির্ধারিত হবে,
| Exprsn1 | Exprsn2 | Result |
| TRUE | TRUE | TRUE |
| TRUE | FALSE | TRUE |
| FALSE | TRUE | TRUE |
| FALSE | FALSE | FALSE |
অর্থাৎ, উভয় অপারেন্ড-এর মান একই রকম হলে এক্সপ্রেশনের মান হবে False. অন্যথায়, অর্থাৎ, যে কোন একটা অপারে True হলে এক্সপ্রেশনের মান হবে True:
উদাহরণঃ
যদি P = 10, q = 8, r = 6, s = Null হয় তবে যদি P = 10, q = 8, r = 6, s = Null হয় তবে
testVal = (pq) Xor (q > r) ‘testVal = False,
testVal (q> p) Xor (q > r) testVal = True
testVal (q> p) Xor (r>q) testVal = False.
testVal (qs) Xor (p > q) ‘testVal = Null.
অ্যাসাইনমেন্ট অপারেটর (Assignment Operator): কোন এক্সপ্রেশন বা ভেরিয়েবল এর মানকে অপর কো ভেরিয়েবলের মান হিসাবে নির্ধারণ করার জন্য যে ধরনের অপারেটর” ব্যবহার করা হয় তাকে অ্যাসাইনমেন্ট অপারেটর বলে। ভিজ্যুয়াল বেসিকে অ্যাসাইনমেন্ট অপারেটর হিসেবে” কে ব্যবহার করা হয়।
উদাহরণ:
x = 5, y = 2
z=x+y
উপরোক্ত উদাহরণগুলোতে প্রথমে x এর মান ‘5’ এবং y এর মান হিসেবে ‘2’ কে অ্যাসাইন করা হয়েছে। পরবর্তীতে x এবং y এ মানকে যোগ করলে উভয়ের যোগফল z এবং y এর মানকে যোগ করলে উভয়ের যোগফল z এর মান হিসেবে অ্যাসাইন করা হয়েছে। অ্যাসাইনমেন্ট অপারেটরের সিনট্যাক্স হলঃ
Variable expression;
কনকেটানেশন অপারেটর (Concatenation operator):
যেসব অপারেটর দুটো স্ট্রিং কে একত্রিত বা সংযুক্ত করার জন্য ব্যবহৃত হয় তাদেরকে কনকেটানেশন অপারেট (Concatenation Operatir) বলে। ভিজ্যুয়াল বেসিকে দুই ধরনের কনকেটানেশন অপারেটর ব্যবহার করা হয়। অপারেটরগুলে হল ‘&’ অপারেটর এবং ‘+’ অপারেটর। নিম্নে কনকেটানেশন অপারেটরগুলো আলোচনা করা হল।
দুটো এক্সপ্রেশনকে একত্রিত করার জন্য এই অপারেটর ব্যবহার করা হয়। যেমনঃ
result = expression1 & expression2
এখানে result হল যে কোন String বিংবা Variant টাইপের ভেরিয়েবল এবং expression1 expression2 হল যে কোন এক্সপ্রেশন।
উদাহরণঃ
Dim testStr
testStr = “Golam” & “Moula” & “Foundation” এখানে testStr এর মান হবে, “Golam Moula Foundation”
testStr “He is & 24 & Years Old”
এখানে testStr এর মান হবে, “He is 24 Years Old”
তবে উল্লেখ্য যে, এখানে যদি কোন একটা এক্সপ্রেশন String না হয়, তাহলে তা প্রথমে String Variant এ রূপান্তর ক হবে। যদি উভয় এক্সপ্রেশন Null হয়, তাহলে ফলাফলও Null হবে।
তবে এছাড়া কোন ভেরিয়েবল-এ সংরক্ষিত ডাটাও এই অপারেটরের মাধ্যমে ব্যবহার করা যায়। যেমনঃ
setValue = 500
MsgBox “You Earned & setValue & “Dollar.”
এখানে MsgBox ফাংশনে & এর পর যে setValue ব্যবহার করা হয়েছে, প্রোগ্রাম চলার সময়, setValue শব্দটির পরিবর্তে, এই ভেরিয়েবল-এ সংরক্ষিত ডাটা (এ ক্ষেত্রে ৫০০) প্রদর্শিত হবে।

+ অপারেটর:
+ অপারেটরকেও দুটো স্ট্রিং একত্র করতে ব্যবহার করা যায়। যেমনঃ
Dim testVal, str, val str = “260” val = 20
testVal = str + val ‘এখানে test val = 280 হবে
কিন্তু,
Dim testVal, str,
val str = “260”
val = “20”
testVal = str + val ‘এখানে test Val = “26020” হবে
এভাবে concatenation operator ব্যবহার করে একাধিক স্ট্রিং একত্র করা যায়।