Switch Case এর ব্যবহার MATLAB-এ
MATLAB-এ switch case একটি কন্ট্রোল স্টেটমেন্ট, যা নির্দিষ্ট এক্সপ্রেশন বা কন্ডিশনের মান অনুযায়ী বিভিন্ন এক্সিকিউশন ব্লক কার্যকর করে। এটি if-else স্টেটমেন্টের একটি বিকল্প হিসেবে ব্যবহৃত হয়, তবে switch-case ব্যবহারের মাধ্যমে কোড আরো পরিষ্কার এবং পড়তে সহজ হয়ে যায় যখন অনেকগুলো শর্তের মধ্যে থেকে একটি নির্দিষ্ট শর্তের সাথে কাজ করতে হয়।
Switch Case স্টেটমেন্টের মৌলিক গঠন
switch variable
case value1
% কোড যা value1 এর জন্য রান হবে
case value2
% কোড যা value2 এর জন্য রান হবে
case {value3, value4}
% কোড যা value3 অথবা value4 এর জন্য রান হবে
otherwise
% যদি কোনো case মেলে না, তাহলে এই কোড রান হবে
endSwitch Case এর অংশসমূহ:
- switch: এটি একটি কিওয়ার্ড যা শর্তের ভিত্তিতে বিভিন্ন ব্লক এক্সিকিউট করার জন্য ব্যবহৃত হয়।
- variable: এটি সেই মান যা যাচাই করা হবে এবং তার ভিত্তিতে এক বা একাধিক
caseব্লক নির্বাচন করা হবে। - case: এটি যেই শর্তের জন্য কোড এক্সিকিউট করতে হবে, সেটা নির্ধারণ করে। একাধিক মানকে
{}ব্যবহার করে গ্রুপ করা যায়। - otherwise: এটি একটি বিকল্প শর্ত যা
switch-caseএর কোনো কেসে মেলানো না হলে রান হবে। এটি ঐচ্ছিক।
Switch Case উদাহরণ
ধরা যাক, আমরা একটি ভেরিয়েবলের মান যাচাই করতে চাই এবং তার উপর ভিত্তি করে কিছু ভিন্ন কাজ করতে চাই। নিচে একটি সহজ উদাহরণ:
day = 'Monday';
switch day
case 'Monday'
disp('Today is Monday!');
case 'Tuesday'
disp('Today is Tuesday!');
case 'Wednesday'
disp('Today is Wednesday!');
case {'Thursday', 'Friday'}
disp('It is the weekend soon!');
otherwise
disp('Invalid day!');
endএখানে, day নামক ভেরিয়েবলটির মান "Monday"। সুতরাং, case 'Monday' অংশটি এক্সিকিউট হবে এবং আউটপুট হবে Today is Monday!।
কী ঘটছে এখানে?
- যখন
dayএর মান"Monday"হয়, তখনcase 'Monday'ব্লকটি রান হবে। case {'Thursday', 'Friday'}ব্লকটি একসাথে দুটি মান পরীক্ষা করে এবং যদিdayএর মান"Thursday"বা"Friday"হয়, তবে এই ব্লকটি এক্সিকিউট হবে।- যদি
dayএর মান কোনো কেসের সাথে মেলে না, তাহলেotherwiseঅংশটি রান হবে, যা "Invalid day!" মুদ্রণ করবে।
Switch Case এর ব্যবহারকারী কিছু বৈশিষ্ট্য:
Multiple Cases:
একাধিক মানের জন্য একই ব্লক চালানোর জন্য আপনি{}ব্যবহার করতে পারেন। যেমন, যদি আপনাকেThursdayএবংFridayজন্য একই কোড চালাতে হয়:switch day case {'Thursday', 'Friday'} disp('It is the weekend soon!'); otherwise disp('Invalid day!'); endDefault Case (otherwise):
যদি কোনোcaseশর্ত মেলে না, তবেotherwiseব্লকটি ব্যবহার করে একটি ডিফল্ট কার্যকলাপ চালানো সম্ভব:switch value case 1 disp('One'); case 2 disp('Two'); otherwise disp('Not one or two'); endCase Sensitivity:
switch-caseস্টেটমেন্ট সাধারণত কেস সেনসিটিভ (case-sensitive) হয়। অর্থাৎ"apple"এবং"Apple"দুটি আলাদা মান হিসেবে গণ্য হবে।switch 'apple' case 'Apple' disp('This is Apple'); otherwise disp('Not Apple'); end- Switch Case এবং কন্টিনিউ:
MATLAB এswitch-caseব্লকটি সম্পূর্ণ করার পরে কন্টিনিউ (continue) বা ব্রেক (break) এর মতো স্টেটমেন্ট ব্যবহার করা সম্ভব না, তবে সাধারণত এটি একটি এক্সিকিউটেবল ব্লক হিসেবে কাজ করে।
Switch Case ব্যবহারকারী কিছু বাস্তব উদাহরণ
উদাহরণ ১: ব্যবহারকারীর ইনপুট অনুযায়ী একটি সিদ্ধান্ত নেওয়া
choice = input('Enter your choice (1-3): ');
switch choice
case 1
disp('You chose option 1');
case 2
disp('You chose option 2');
case 3
disp('You chose option 3');
otherwise
disp('Invalid choice');
endএখানে, ব্যবহারকারী ১, ২ বা ৩ যে কোনো একটি সংখ্যা ইনপুট দিতে পারেন, এবং তার ওপর ভিত্তি করে সঠিক মেসেজ প্রদর্শিত হবে।
উদাহরণ ২: সংখ্যা বিশ্লেষণ
num = 8;
switch num
case {2, 4, 6, 8, 10}
disp('Even number');
case {1, 3, 5, 7, 9}
disp('Odd number');
otherwise
disp('Invalid number');
endএখানে, num এর মান অনুযায়ী এটি "Even number" অথবা "Odd number" হিসেবে চিহ্নিত হবে।
সংক্ষেপে
Switch-case হলো একটি কার্যকর কন্ট্রোল স্টেটমেন্ট যা একাধিক শর্ত যাচাই করে এবং নির্দিষ্ট শর্তের জন্য কোড এক্সিকিউট করে। এটি if-else স্টেটমেন্টের চেয়ে পরিষ্কার এবং কার্যকরী, বিশেষ করে যখন অনেকগুলো শর্তের মধ্যে একটি নির্বাচন করতে হয়।