প্রোগ্রামিংয়ের মৌলিক ধারণা/অ্যাসাইনমেন্ট বনাম সমতা
পর্যালোচনা
[সম্পাদনা]অ্যাসাইনমেন্ট মানে হলো একটি ভ্যারিয়েবলে নতুন মান রাখা বা পুরানো মান বদলে নতুন মান বসানো। এই মানটি কম্পিউটারে নির্দিষ্ট এক জায়গায় সংরক্ষণ করা থাকে, যেটি সেই ভ্যারিয়েবলের নাম দিয়ে চিহ্নিত করা হয়। এসাইনমেন্ট সমতা মানে হলো দুটি জিনিসের মধ্যে সম্পর্ক পরীক্ষা করা—যেমন তারা একে অপরের সমান কি না, সেটি বোঝা। রিলেশনাল অপারেটর
আলোচনা
[সম্পাদনা]বেশিরভাগ কন্ট্রোল স্ট্রাকচারে একটি টেস্ট এক্সপ্রেশন থাকে, যা সত্য না মিথ্যা, তা দেখে সিদ্ধান্ত নেওয়া হয়—যেমন if then else বা লুপের ক্ষেত্রে while, do while বা for। এই কারণে আমরা প্রায়ই বুলিয়ান এক্সপ্রেশন নিয়ে আলোচনা করি, যেটা এই স্ট্রাকচারের কাজ চালায়। কিছু প্রোগ্রামিং ভাষায় এই এক্সপ্রেশনটি অবশ্যই বুলিয়ান হতে হয়, এবং এটি নির্দিষ্ট কিছু নিয়ম মেনে চলে। আবার অনেক ভাষায় যেকোনো ধরনের ডেটাকেই বুলিয়ান হিসেবে ব্যবহার করা যায়—যেমন শূন্য বা ফাঁকা মানকে ধরা হয় মিথ্যা, আর অন্য সব মানকে ধরা হয় সত্য।
তবে সমস্যা হয় যখন আমরা সমান চিহ্ন (=) নিয়ে বিভ্রান্ত হই। গণিতে আমরা = চিহ্ন দিয়ে সমতার মানে বুঝি, কিন্তু প্রোগ্রামিংয়ে একে ব্যবহার করা হয় অ্যাসাইনমেন্টের জন্য। অর্থাৎ এটা কোনো মান কোনো ভ্যারিয়েবলে বসানোর জন্য ব্যবহার হয়। যদি আমাদের সত্যিকারের সমতা পরীক্ষা করতে হয়, তাহলে দুইটি সমান চিহ্ন (==) ব্যবহার করতে হয়। যেমন:
If (pig = ‘y’) Output “Pigs are good” Else Output “Pigs are bad.”
এই উদাহরণে ভুল হয়েছে। এখানে pig = ‘y’ মানে pig ভ্যারিয়েবলে ‘y’ বসানো হয়েছে। তারপর pig-এ কোনো মান আছে, তাই এক্সপ্রেশনটি সব সময় সত্য হবে। ফলে “Pigs are good” সব সময়ই দেখাবে, আর “Pigs are bad.” কখনও দেখাবে না। কিন্তু প্রোগ্রামার আসলে চেয়েছিল যদি pig-এর মান ‘y’ হয়, তাহলে কিছু দেখাক। সেক্ষেত্রে সঠিক কোড হবে:
If (pig == ‘y’) Output “Pigs are good” Else Output “Pigs are bad.”
এই উদাহরণ থেকে শেখার বিষয় হলো, যখন টেস্ট এক্সপ্রেশন লিখবেন, তখন অবশ্যই খেয়াল রাখতে হবে যেন এটি আসলেই একটি প্রশ্নের মতো হয়—মানে, সম্পর্ক নির্ধারণ করছে। অনেক প্রোগ্রামিং ভাষা এই রকম ভুল অ্যাসাইনমেন্ট দিলে সতর্কবার্তা বা এরর দেখায়, আবার কিছু ভাষা তা করে না।
তাই মনে রাখবেন: সমতার জায়গায় ভুল করে অ্যাসাইনমেন্ট চিহ্ন (=) ব্যবহার করবেন না।
প্রধান শব্দাবলী
[সম্পাদনা]- অ্যাসাইনমেন্ট
- একটি ভেরিয়েবলের মান নির্ধারণ বা পরিবর্তন করা।
- সমতা
- দুইটি মান এক কিনা তা যাচাই করা বা সম্পর্ক নির্ধারণ করা।