Условное выполнение — это фундаментальная концепция программирования, которая позволяет вам управлять потоком кода на основе определенных условий. В этой статье мы рассмотрим различные методы условного выполнения, приведя примеры кода на разных языках программирования.
- Инструкция If:
Наиболее распространенным методом условного выполнения является оператор if. Он позволяет вам указать блок кода, который будет выполняться, если определенное условие истинно. Ниже приведен пример на Python:
age = 25
if age >= 18:
print("You are an adult.")
else:
print("You are a minor.")
- Оператор Switch (или его эквивалент):
Некоторые языки программирования предоставляют «оператор переключения» или эквивалентную конструкцию, которая допускает несколько условных ветвей. Вот пример на JavaScript:
let day = "Monday";
switch (day) {
case "Monday":
console.log("It's the start of the week.");
break;
case "Friday":
console.log("It's almost the weekend!");
break;
default:
console.log("It's an ordinary day.");
}
- Тернарный оператор.
Тернарный оператор обеспечивает краткий способ выполнения условного выполнения в пределах одной строки кода. Вот пример на Java:
int temperature = 25;
String weather = (temperature > 30) ? "Hot" : "Moderate";
System.out.println("The weather is " + weather);
- Цепочка if-else if-else:
В ситуациях, когда вам нужно оценить несколько условий, вы можете использовать цепочку if-else if-else. Вот пример на C++:
int num = 5;
if (num > 0) {
cout << "Positive number.";
} else if (num < 0) {
cout << "Negative number.";
} else {
cout << "Zero.";
}
- Защитные предложения.
Защитные предложения — это метод минимизации вложенных условных операторов путем предварительной проверки недопустимых условий. Вот пример на Ruby:
def calculate_discount(price)
return 0 if price.nil? || price <= 0
return 0.1 if price > 100
return 0.2 if price > 200
return 0.3 if price > 300
0.5
end
- Условное присвоение.
Некоторые языки допускают условное присвоение, при котором значение переменной присваивается на основе условия. Вот пример на PHP:
$grade = ($score >= 60) ? "Pass" : "Fail";
- Сопоставление с образцом.
Сопоставление с образцом — это мощный метод, который сопоставляет структуру данных с шаблонами и соответствующим образом выполняет код. Вот пример на Rust:
enum Coin {
Penny,
Nickel,
Dime,
Quarter,
}
fn value_in_cents(coin: Coin) -> u8 {
match coin {
Coin::Penny => 1,
Coin::Nickel => 5,
Coin::Dime => 10,
Coin::Quarter => 25,
}
}
- Логическое короткое замыкание.
В языках с сокращенным вычислением вы можете использовать логические операторы для условного выполнения кода. Вот пример на C#:
bool isReady = true;
string message = isReady && GetMessage();
- Указатели на функции (или их эквиваленты).
В некоторых языках вы можете использовать указатели на функции (или их эквиваленты) для выбора и выполнения различных функций на основе условия. Вот пример в Swift:
let operation: (Int, Int) -> Int = (isAddition) ? add : subtract
let result = operation(10, 5)
- Конечные машины:
Для сложного условного выполнения конечные автоматы предоставляют структурированный способ управления различными состояниями и переходами. Вот пример на Python с использованием библиотекиtransitions:
from transitions import Machine
class TrafficLight:
states = ['green', 'yellow', 'red']
def __init__(self):
self.machine = Machine(model=self, states=TrafficLight.states, initial='green')
self.machine.add_transition('change', 'green', 'yellow')
self.machine.add_transition('change', 'yellow', 'red')
self.machine.add_transition('change', 'red', 'green')
light = TrafficLight()
light.change()
print(light.state)
Условное выполнение — жизненно важный аспект программирования, позволяющий создавать динамический и отзывчивый код. В этой статье мы рассмотрели десять различных методов условного выполнения, приведя примеры кода на различных языках программирования. Используя эти методы, вы можете улучшить читаемость и функциональность вашего кода, сделав его более эффективным и простым в обслуживании.