در زبان های برنامه نویسیزبان های برنامه نویسی چیست؟این مقاله عالی توضیح داده که زبان های برنامه نویسی چیست؟ و انواع زبان های برنامه نویسی و بهترین زبان برنامه نویسی برای شروع و پردرآمدترین آنها را معرفی کرده روشهای متفاوتی برای کنترل جریان اجرای برنامه وجود دارد. یکی از متداولترین روشها، استفاده از دستور If…Else If میباشد که تقریباً در همه زبانهای برنامه نویسی وجود دارد؛ ولی در شرایطی که تعداد شروط افزایش پیدا میکند، استفاده از این دستور باعث میگردد که کدهای برنامه تمیز و مرتب به نظر نرسند و برنامهنویس دچار سردرگمی شود. اینجاست که میتوان از دستور Switch Case استفاده کرد. در واقع استفاده از این دستور کدهای شما را مرتبتر میکند و باعث بهینه شدن برنامه شما میگردد؛ بنابراین لازم است هر برنامهنویس با ساختار دستور Switch Case آشنا باشد و بتواند از این دستور بهدرستی استفاده کند و از مزایای آن بهره ببرد.
دستور Switch Case چیست؟
این دستور زمانی کاربرد دارد که بخواهید چندین شرط را برای یک یا چند متغیر بررسی کنید. در واقع این دستور جایگزینی برای If … Else If میباشد و باعث میگردد بر اثر زیاد شدن شروط، ظاهر کد تمیز مانده و خوانایی آن کاهش نیابد.
فلوچارت Switch Case
در فلوچارتفلوچارت چیست؟ | آموزش الگوریتم فلوچارت | رسم فلوچارتاین مقاله عالی به آموزش رسم فلوچارت برای الگوریتم ها پرداخته و مواردی چون رسم فلوچارت، معرفی برنامه فلوچارت، نمونه سوالات الگوریتم و فلوچارت را بررسی کرده فوق مشاهده میکنید که پس از دستور Switch میتوان چندین دستور Case مورد استفاده قرار گیرد. در واقع متغییری که قصد بررسی آن را داریم را در بخش Switch قرار داده و در ادامه، شروط مختلف را در بخش Case مورد بررسی قرار میدهیم. در انتها اگر هیچ کدام از شروط Case برقرار نشود، دستور Default اجرا میگردد.
نحوه پیادهسازی یا Syntax
نحوه پیادهسازی دستور Switch Case ممکن است از زبانی به زبان دیگر متفاوت باشد، ولی ساختار کلی آن بهصورت زیر میباشد:
switch variable:
case value1:
Statements 1;
Break;
Case value2:
Statements 2;
Break;
… …
Default:
Statements executed if no case matches
مزایای استفاده از دستور Switch Case
- زمانی که از دستور Switch Case به جای If … Else If استفاده میکنید، خوانایی کد افزایش پیدا میکند.
- دیباگدیباگ چیست؟ معرفی روشها و ابزارهای دیباگینگ(اشکال زدایی)این مقاله عالی مفاهیم دیباگ (debug)، دیباگینگ (Debugging) یا همان اشکال زدایی، دیباگر (Debugger) را معرفی و همچنین روشها و ابزارهای دیباگینگ را بررسی کرده و پیادهسازی راحتتر با وجود شروط زیاد.
- سرعت اجرای بالاتر.
معایب استفاده از دستور Switch Case
- دستور Switch فقط از دادههای با نوع عدد صحیح (Integer) و رشته (String) استفاده میکند (در پایتون این محدودیت وجود ندارد. به عنوان مثال دستور Switch میتواند با داده از نوع لیست هم کار کند).
- عدم پشتیبانی ازعملگرهای منطقی.
- به ازای هر دستور Case باید از دستور Break استفاده کنیم (در ادامه خواهیم دید که در پایتون این مورد نیز برقرار نمیباشد).
دستور Switch Case در زبان سیشارپ
نحوه پیادهسازی یا Syntax این دستور در زبان سی شارپسی شارپ چیست ⚡️سی شارپ به زبان سادهاین صفحه عالی بررسی کرده که سی شارپ چیست و تاریخچه سی شارپ، محیط و ابزارهای سی شارپ، ویژگی های سی شارپ، مزایای سی شارپ و کاربرد و بازار کار سی شارپ را گفته به صورت زیر است:
switch (variable)
{
case value1:
// Statements that run if variable == value1
break;
case value2:
// Statements that run if variable == value2
break;
case value3:
// Statements that run if variable == value3
break;
default:
// Statements that run if no case matched
}
نکته دیگری که میتوان به آن توجه کرد، استفاده از Case های گروه بندی شده است. این مورد زمانی کاربرد دارد که بخواهیم به ازای مقادیر متفاوت Variable، یک قطعه کد واحد اجرا شود و بخواهیم از تکرارهای بیهوده جلوگیری کنیم. نحوه استفاده از این متد به صورت زیر است:
char name;
Console.WriteLine("Enter a name: ");
name = Convert.ToChar(Console.ReadLine());
switch(Char.ToLower(name)){
case 'james':
case 'emily':
case 'michael':
case 'sarah':
case 'david':
Console.WriteLine("You are in the list!");
break;
default:
Console.WriteLine("You are not invited.");
break;
}
در قطعه کد بالا مشاهده میکنیم که اگر نام وارد شده جزو اسامی باشد که در Caseها آمده است، یک پیغام واحد در خروجی چاپ شده و در غیر این صورت، دستور Default اجرا میشود.
دستور Switch Case در زبان پایتون
بر خلاف بسیاری از زبانهای برنامهنویسی، زبان پایتونزبان برنامه نویسی پایتون چیست؟ – نحوه شروع و دلایل محبوبیتزبان برنامه نویسی پایتون (Python) چیست؟ این مقاله عالی به بررسی دلایل محبوبیت پایتون، موارد استفاده از پایتون و نحوه شروع به برنامه نویسی پایتون پرداخته دستوری به نام Switch ندارد. در واقع تا قبل از پایتون ورژن 3.10 این مفهوم در این زبان وجود نداشت و مجبور به استفاده از If … Else If بودیم. در نسخه 3.10 ما شاهد اضافه شدن دستور Match Case بودیم و از این دستور میتوان به جای Switch Case استفاده کرد. نحوه استفاده از Match Case به صورت زیر است:
match variable:
case value1:
# Statement 1
case value2:
# Statement 2
case value3:
# Statement 3
case value4:
# Statement 4
case value5:
# Statement 5
case default:
# Statement default
یکی از تفاوتهایی که Match Case با Switch Case در سی شارپ دارد، عدم نیاز به استفاده از دستور Break به ازای هر Case است. از دیگر تفاوتهای Match Case پشتیبانی از دادههای مختلف است.
names = list(map(lambda x : x.title(), input("Enter 3 names: ").split(" ")))
match names:
case ["Smith", "Jones", "Miller"]:
print(f"They are in First group.")
case ["Williams", "Sanderson", "Gordon"]:
print("They are in Second group.")
case ["Jeremy", "Johnny", "Richard"]:
print("They are in Third group.")
case default:
print(f"{names} are not in any group!")
قطعه کد بالا ابتدا سه نام از کاربر دریافت کرده (در یک خط که هر اسم با Space از دیگری جدا شده است) و سپس آنها را در یک لیست ذخیره میکند و با استفاده از دستور Match Case به مقایسه آن با سه لیست مختلف میپردازد. اگر اسامی وارد شده دقیقاً با یکی از لیستهای درج شده در برنامه برابر باشد، پیغامی را در خروجی چاپ خواهد کرد و در غیر این صورت، دستور Case Default اجرا خواهد شد.
از دیگر نکات استفاده Match Case در پایتون، میتوان به استفاده از چندین متغیر برای Match و بررسی آنها در Caseها اشاره کرد. روش پیادهسازی این مورد به صورت زیر است:
match value1, value2:
case 5, 10:
print(f"value1 = 5 and value2 = 10")
case 15, 8:
print(f"value1 = 15 and value2 = 8")
case 17, 25:
print(f"value1 = 17 and value2 = 25")
دستور Switch Case در زبانهای جاوا و سی پلاس پلاس
برای آشنایی هرچه بیشتر با دستور Switch Case، در ادامه میتوانید پیادهسازی برنامه ماشین حساب ساده با استفاده از این دستور را در زبانهای جاواجاوا چیست؟ تعریف، معنی و ویژگی های جاوا (java) از 0تا100جاوا یک زبان برنامه نویسی همه منظوره، مبتنی بر کلاس و شی گرا است که برای داشتن وابستگی های پیاده سازی کمتر طراحی شده است، زبان برنامه نویسی جاوا شبیه ++C است و سی پلاس پلاسبرنامه نویسی سی پلاس پلاس چیست؟ مزایای برنامه نویسی C++؟برنامه نویسی سی پلاس پلاس چیست و چه کاربردی دارد؟ این صفحه عالی به بررسی مزایای برنامه نویسی C++ پرداخته و نمونه هایی از کدهای زبان برنامه نویسی ++C را آورده مشاهده کنید.
جاوا
import java.util.Scanner;
public class Calculator {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter the first number:");
double num1 = sc.nextDouble();
System.out.println("Enter the second number:");
double num2 = sc.nextDouble();
System.out.println("Enter an operator (+, -, *, /):");
char op = sc.next().charAt(0);
double result = 0.0;
switch (op) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
if (num2 != 0) {
result = num1 / num2;
} else {
System.out.println("Cannot divide by zero");
return;
}
break;
default:
System.out.println("Invalid operator");
return;
}
System.out.println(num1 + " " + op + " " + num2 + " = " + result);
}
}
سی پلاس پلاس
#include <iostream>
using namespace std;
int main() {
double num1, num2;
char op;
cout << "Enter the first number: ";
cin >> num1;
cout << "Enter the second number: ";
cin >> num2;
cout << "Enter an operator (+, -, *, /): ";
cin >> op;
double result = 0.0;
switch (op) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
if (num2 != 0) {
result = num1 / num2;
} else {
cout << "Cannot divide by zero" << endl;
return 0;
}
break;
default:
cout << "Invalid operator" << endl;
return 0;
}
cout << num1 << " " << op << " " << num2 << " = " << result << endl;
return 0;
}
جمعبندی
دستور Switch Case یکی از پرکاربردترین دستورها در برنامه نویسی است که با استفاده از آن میتوان کدهای تمیزتر و خواناتر نوشت. شاید به دلیل برخی از محدودیتهایی که این دستور دارد، مجبور شویم که از دستور If … Else If استفاده کنیم ولی پیشنهاد میشود در حد امکان برای بررسی شروط، از این دستور استفاده کنید تا بتوانید از مزیتهای Switch Case بهرهمند شوید.
دستور Switch Case چیست؟
این دستور یک متغیر را دریافت و شروط مختلفی را برای مقدار آن بررسی میکند که در صورت برآورده شدن یکی از شروط، قطعه کد خاصی اجرا میشود.
فرق دستور Switch Case و If … If Else چیست؟
در نگاه اول شاید به نظر برسد این دو دستور مانند هم عمل میکنند، ولی تفاوتهایی وجود دارد؛ به عنوان مثال اگر تعداد شروط زیاد باشد، خوانایی کدی که با استفاده از Switch Case پیادهسازی شده است بیشتر از کدی است که با استفاده از If … Else If پیادهسازی شده است.
دستور Break و Default در Switch Case چه کاری را انجام میدهند؟
استفاده از دستور Break باعث میشود زمانی که شرط یکی از Caseها برقرار شد، مابقی Caseها بررسی نشوند (به جز پایتون که نیازی به استفاده از Break نیست) و دستور Default زمانی استفاده میشود که بخواهیم در صورتی که هیچ کدام از شروط برآورده نشد، قطعه کد مشخصی اجرا شود.