C++ এ টারনারি অপারেটরের সিনট্যাক্স
টারনারি অপারেটরের জন্য তিনটি অপারেন্ড প্রয়োজন: শর্তসাপেক্ষ, সত্য এবং মিথ্যা। যেহেতু টারনারি অপারেটর পরীক্ষার অবস্থা বিশ্লেষণ করে এবং ফলাফলের উপর নির্ভর করে, কোডের একটি ব্লক কার্যকর করে, সিনট্যাক্স হল:
# (exp_1)? exp_2 : exp_3এখানে 'exp' ভাব প্রকাশ করে। একটি অভিব্যক্তির ফলাফলের উপর নির্ভর করে, এই অপারেটর দুটি মানের একটি প্রদান করে। অভিব্যক্তি 2 এবং 3 মূল্যায়ন করা হয়, এবং যদি 'exp_1' একটি বুলিয়ান সত্যে মূল্যায়ন করা হয় তবে তাদের মানগুলি চূড়ান্ত ফলাফল হিসাবে ফেরত দেওয়া হয়; অন্যথায়, অভিব্যক্তি 1 একটি বুলিয়ান মিথ্যা হিসাবে মূল্যায়ন করা হয়, এবং অভিব্যক্তি 2 মূল্যায়ন করা হয়, এবং এর মান চূড়ান্ত ফলাফল হিসাবে ফেরত দেওয়া হয়।
উদাহরণ 1
C++ এর টারনারি অপারেটর কিভাবে ব্যবহার করতে হয় তা এখানে একটি সহজবোধ্য উদাহরণ প্রোগ্রাম।
# অন্তর্ভুক্ত করুন
#include
নামস্থান std ব্যবহার করে ;
int প্রধান ( ) {
দ্বিগুণ সিজিপিএ ;
cout <> সিজিপিএ ;
string student_result = ( সিজিপিএ >= 1.5 ) ? 'উত্তীর্ণ' : 'ব্যর্থ হয়েছে' ;
cout << 'আপনি ' << ছাত্র_ফলাফল << ' সেমেস্ত্র.' ;
ফিরে 0 ;
}
প্রোগ্রামে, আমরা আমাদের হেডার বিভাগটি C++ লাইব্রেরি দিয়ে পূরণ করেছি। এর পরে, আমরা 'using' কীওয়ার্ড দিয়ে নেমস্পেস std যোগ করেছি। তারপর, এর ভিতরে 'ডবল' ডেটার ধরন সহ 'CGPA' ভেরিয়েবল ঘোষণা করা হয়েছে। পরের লাইনে, আমরা ব্যবহারকারীকে cout কমান্ড প্রিন্ট করে CGPA এ প্রবেশ করতে বলেছি। cin কমান্ডের সাহায্যে ব্যবহারকারীরা CGPA যোগ করে।
তারপর, আমরা আরেকটি ভেরিয়েবল তৈরি করেছি, 'ছাত্র_ফল', যার একটি ত্রিমাত্রিক অপারেটর রয়েছে। টারনারি অপারেটরের এখানে তিনটি এক্সপ্রেশন প্রয়োজন। প্রথম শর্ত যা ব্যবহারকারী দ্বারা প্রবেশ করানো CGPA '1.5' এর চেয়ে বেশি বা সমান কিনা তা পরীক্ষা করে। যদি তাই হয়, বিবৃতি 'পাস' মুদ্রিত হবে, অন্যথায় তৃতীয় অভিব্যক্তি মুদ্রিত হবে। আপনি যখন cout কমান্ড ব্যবহার করবেন তখন ফলাফল দেখানো হবে।
ধরা যাক ব্যবহারকারীরা CGPA '3.5' টাইপ করে। CGPA >= 1.5 তারপর মানদণ্ড পূরণ করে সত্যে মূল্যায়ন করে। সুতরাং, ফলাফল প্রথম শব্দ 'পাস' দেওয়া হয়.
ধরা যাক ব্যবহারকারীর ধরন 1.00। ফলস্বরূপ, শর্ত CGPA >= 1.5 মিথ্যাভাবে মূল্যায়ন করা হয়। অতএব, ফলাফলটিকে দ্বিতীয় অভিব্যক্তি দেওয়া হয়, 'ব্যর্থ'।
উদাহরণ 2
C++ এর কিছু নির্দিষ্ট ধরনের if else স্টেটমেন্ট টারনারি অপারেটরের সাথে অদলবদল করা যেতে পারে। আমরা একটি উদাহরণ হিসাবে এই কোড পরিবর্তন করতে পারেন. প্রথম উদাহরণ প্রোগ্রামটি if-else শর্ত ব্যবহার করে এবং অন্য উদাহরণ প্রোগ্রামটি টারনারি অপারেটর ব্যবহার করে।
# অন্তর্ভুক্ত করুননামস্থান std ব্যবহার করে ;
int প্রধান ( ) {
int একের উপর = - 3 ;
cout << 'একের উপর :' < 0 )
cout << ' \n ধনাত্নক পূর্ণসংখ্যা' ;
অন্য
cout << ' \n নেতিবাচক পূর্ণসংখ্যা!' ;
ফিরে 0 ;
}
আমরা ঋণাত্মক পূর্ণসংখ্যার মান সহ int ডেটা টাইপ ভেরিয়েবল 'num' ঘোষণা করেছি এবং শুরু করেছি। এর পরে, cout কমান্ডের সাথে, 'num' মানটি মুদ্রিত হয়। তারপর, আমরা যদি অন্য শর্ত আছে. 'if' শর্তের ভিতরে, আমরা শর্তটি নির্দিষ্ট করেছি যে ভেরিয়েবল 'num' মান শূন্যের চেয়ে বেশি হওয়া উচিত। যদি শর্ত সত্য হয়, তাহলে 'if' শর্তের ঠিক পরে cout কমান্ডটি প্রিন্ট করা হবে। যদি শর্ত মিথ্যা হয়ে যায়, তাহলে else cout স্টেটমেন্ট প্রিন্ট করা হবে।
সংখ্যাটি একটি ঋণাত্মক মান হওয়ায় if শর্ত মিথ্যা হয়ে যায় এবং
এর পরে, আমরা টারনারি অপারেটরের সাথে উপরের প্রোগ্রামটি কার্যকর করেছি। if-else শর্ত এবং টারনারি অপারেটরের একই প্রভাব আছে কিনা তা পরীক্ষা করে দেখা যাক।
# অন্তর্ভুক্ত করুন#include
নামস্থান std ব্যবহার করে ;
int প্রধান ( ) {
int মাইনাম = - 7 ;
cout << 'পূর্ণসংখ্যা:' << মাইনাম < 0 ) ? 'ধনাত্নক পূর্ণসংখ্যা!' : 'নেতিবাচক পূর্ণসংখ্যা!' ;
cout << ফলাফল << endl ;
ফিরে 0 ;
}
আমরা 'MyNum' ভেরিয়েবল ঘোষণা করেছি এবং এটি একটি নেতিবাচক মান দিয়ে শুরু করেছি। আমরা cout কমান্ডের ভিতরে “MyNum” ভেরিয়েবলকে কল করে নেতিবাচক মান প্রিন্ট করেছি। তারপর, আমরা স্ট্রিং টাইপের সাথে 'আউটকাম' হিসাবে আরেকটি ভেরিয়েবল সেট করি। ফলাফল পরিবর্তনশীল টারনারি অপারেটর অপারেশন লাগে. প্রথমত, আমাদের শর্ত আছে যে 'MyNum' শূন্যের চেয়ে বড় হওয়া উচিত। এর পরে, আমরা একটি টার্নারি অপারেটর রাখি '?'। শর্তের ফলাফলের উপর অন্য দুটি অভিব্যক্তি কার্যকর করা হবে।
যেহেতু পূর্ণসংখ্যার মান হল '-7' তৃতীয় অভিব্যক্তি, 'নেতিবাচক পূর্ণসংখ্যা!' প্রম্পটে মুদ্রিত হয়। এখানে, উভয় অ্যাপ্লিকেশনের আউটপুট একই। টারনারি অপারেটর, তবে, আমাদের কোডের পঠনযোগ্যতা এবং পরিচ্ছন্নতা উন্নত করে।
উদাহরণ 3
উপরন্তু, টারনারি অপারেটর একে অপরের ভিতরে নিযুক্ত করা যেতে পারে। নিম্নলিখিত প্রোগ্রামে একটি মান ধনাত্মক, ঋণাত্মক বা শূন্য কিনা তা পরীক্ষা করতে নেস্টেড টারনারি অপারেটর ব্যবহার করুন।
# অন্তর্ভুক্ত করুন#include
নামস্থান std ব্যবহার করে ;
int প্রধান ( ) {
int পূর্ণসংখ্যা = 0 ;
স্ট্রিং ফলাফল ;
ফলাফল = ( পূর্ণসংখ্যা == 0 ) ? 'শূন্য' : ( ( পূর্ণসংখ্যা > 0 ) ? 'ইতিবাচক' : 'নেতিবাচক' ) ;
cout << 'পূর্ণসংখ্যা হল' << ফলাফল ;
ফিরে 0 ;
}
শুধু প্রোগ্রামের প্রধান পদ্ধতি দিয়ে শুরু করুন। int main(), আমরা 'পূর্ণসংখ্যা' নাম দিয়ে ভেরিয়েবল তৈরি করেছি এবং এর মান শূন্য হিসাবে সেট করেছি। তারপর, আমরা ডাটা টাইপ স্ট্রিং সহ আরেকটি ভেরিয়েবল, 'ফলাফল' সংজ্ঞায়িত করেছি। আমরা ভেরিয়েবল 'ফলাফল' সেট করেছি, এটিতে টার্নারি অপারেটরকে বাইপাস করে। শর্ত হল যে পরিবর্তনশীল 'পূর্ণসংখ্যা' মানটি শূন্য 'পূর্ণসংখ্যা == 0' এর সমান হওয়া উচিত। প্রাথমিক অবস্থা, (পূর্ণসংখ্যা == 0), একটি প্রদত্ত পূর্ণসংখ্যা শূন্য কিনা তা নির্ধারণ করে। যদি তাই হয়, ফলাফলটি স্ট্রিং মান 'শূন্য' দেওয়া হয়। যদি উত্তর সঠিক হয়। অন্যথায়, প্রথম শর্তটি মিথ্যা হলে, দ্বিতীয় শর্ত (পূর্ণসংখ্যা > 0) পরীক্ষা করা হয়।
হ্যাঁ, প্রদত্ত পূর্ণসংখ্যা শূন্য, যেমন স্ক্রিপ্টে দেখানো হয়েছে। আউটপুট 'পূর্ণসংখ্যা শূন্য' উৎপন্ন করে।
উপসংহার
আমরা অবগত যে শর্তসাপেক্ষ অপারেটর হল ত্রিদেশীয় অপারেটর। এই অপারেটরের সাহায্যে, আমরা একটি শর্ত পরীক্ষা করতে পারি এবং তার সাথে সামঞ্জস্য রেখে কাজ করতে পারি। আমরা টারনারি অপারেটরের পরিবর্তে if-else শর্তগুলি ব্যবহার করে একই জিনিসটি সম্পাদন করতে পারি। এই C++ টিউটোরিয়ালটি আমাদের শিখিয়েছে কিভাবে তার সিনট্যাক্স এবং উদাহরণ প্রোগ্রামের মাধ্যমে টারনারি অপারেটর ব্যবহার করতে হয়। মনে রাখবেন যে চূড়ান্ত বিবৃতিটি সংক্ষিপ্ত হলেই শুধুমাত্র টারনারি অপারেটর ব্যবহার করা উচিত।