অপারেটর প্রেসিডেন্স ও এসোসিয়েটিভিটি I প্রোগ্রামিং ল্যাংগুয়েজ ৩

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

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

 

অপারেটর প্রেসিডেন্স ও এসোসিয়েটিভিটি I প্রোগ্রামিং ল্যাংগুয়েজ ৩

 

অপারেটর প্রেসিডেন্স ও এসোসিয়েটিভিটি

কোন এক্সপ্রেশনে একাধিক অপারেটর ব্যবহৃত হলে কম্পাইলার যে অনুক্রমের (order) ভিত্তিতে বিভিন্ন প্রকার অপারেটরের অগ্রগণ্যতা নির্ধারণ করে তাকে অপারেটর প্রেসিডেন্স (Operator Precedence) বলে।

ভিজ্যুয়াল বেসিক এক্সপ্রেশনে বিভিন্ন ধরনের অপারেটর যেমনঃ গাণিতিক অপারেটর, তুলনামূলক অপারেটর ও যৌক্তিক অপারেটর ব্যবহৃত হলে ও তাদের সকলের প্রেসিডেন্স একই রকম নয়। যেমনঃ কোন এক্সপ্রেশনে যদি একই সময়ে গাণিতিক ও তুলনামূলক অপারেটর বিদ্যমান থাকে তবে আগে গাণিতিক অপারেটরের কাজ হবে এবং পরে তুলনামূলক অপারেটরের কাজ হবে।

উদাহরণ-১:

যদি x = 3, y = 4, z= 2, k = 1 হয় তবে p = x < (y+z) Or x < z And z <k এর মান কত?

সমাধানঃ

p=x(y+z) Or x < z And z <k

= 3(4+2) Or 3 <2 And 2 <1

= 36 Or 3<2 And 2 <1             [এখানে গাণিতিক অপারেটর () এর কাজ আগে হয়েছে]

= rue Or False And False

= True Or False                        [এখানে And এবং OR একত্রে থাকায় আগে And এর কাজ হবে।

= True

= 1

উদাহরণ-২ঃ

যদি x = 3, y = 4, z= 2, k= 1 হয় তবে

p=(x<y Orxz) And z < k এর মান কত?

সমাধানঃ

p=(x<y Orxz) And z <k

= (34 Or 32) And 2 < 1

= (True Or False) And Faise                        [যদিও এখানে And এবং OR দুটোই আছে কিন্তু OR অপারেটরটি () দ্বারা আবন্ধ বিধায় আগে OR এর কাজ হবে।

= True And False

= False

= 0

 

এসোসিয়েটিভিটি (Associativity): কোন এক্সপ্রেশনে যদি একাধিক অপারেটর ব্যবহৃত হয় এবং এই সকল অপারেটরের প্রেসিডেন্স যদি সমান হয় তবে এদের কাজ ডান থেকে বামে নাকি বাম থেকে ডানে হবে তা যে বৈশিষ্ট্যের মাধ্যমে নির্ধারিত হয়। তাকে এসোসিয়েটিভিটি Associativity) বলে।

উদাহরণ-১:

যদি x = 3, y = 5, z = 7 হয় তবে

p = x*y/z এর মান কত?

সমাধানঃ

p = x*y/z                              [* এবং / এর প্রেসিডেন্স একই কিন্তু এসোসিয়েটিভিটি’র জন্যই আগে গুণের কাজ সম্পন্ন হবে।

= 3*5/7

= 15/7

= 2

উদাহরণ-২ঃ

P=3*4/5+5/5+93 + 6/9 এর মান কত?

সমাধান:

p=3*4/5+5/5+9-3+6/9

=12/5+5/5+9-3+6/9          [* এবং / এর ক্ষেত্রে এর কাজ আগে হবে]

=2+1+9-3+0                      [একাধিক / থাকায় বাম দিক থেকে কাজ শুরু হবে।

=12-3

= 9

 

অপারেটর প্রেসিডেন্স ও এসোসিয়েটিভিটি I প্রোগ্রামিং ল্যাংগুয়েজ ৩

 

নিম্নে বিভিন্ন প্রকার ভিজ্যুয়াল বেসিক অপারেটরের প্রেসিডেন্স ও এসোসিয়েটিভিটি উল্লেখ করা হল।

অপারেটর প্রসিডেল এসোসিয়েটিভিটি
() 1
বাম থেকে ডান
^ 2
3 ডান থেকে বাম
*,/ 4
বাম থেকে ডান
\ 5
mod 6
( +,- ) 7
% (string) 8
( = ) 9
বাম থেকে ডান
< > 10
< > 11
> 12
< = 13
> = 14
Not 15
বাম থেকে ডান
And 16
Nor 17
Xor 18
Equ 19
Imp 20

 

Leave a Comment