Главная страница » Ruby » 6. Условные конструкции
Условные конструкции являются важной частью программирования, позволяя управлять выполнением кода в зависимости от выполнения определённых условий. В Ruby основные условные конструкции включают if, elsif, else, unless, case, и unless. В этом уроке мы рассмотрим их использование и особенности.
ifКонструкция if позволяет выполнять блок кода, если заданное условие истинно.
Пример использования if:
age = 21
if age >= 18
puts "Вы совершеннолетний."
end
Здесь код внутри блока if выполняется только если значение переменной age больше или равно 18.
if-elseКонструкция if-else используется, когда необходимо выполнить один блок кода, если условие истинно, и другой блок, если условие ложно.
Пример использования if-else:
age = 16
if age >= 18
puts "Вы совершеннолетний."
else
puts "Вы несовершеннолетний."
end
В этом примере, если возраст меньше 18 лет, будет выполнен код в блоке else.
if-elsif-elseКогда необходимо проверить несколько условий, используется конструкция if-elsif-else. Она позволяет проверить несколько условий последовательно.
Пример использования if-elsif-else:
temperature = 25
if temperature > 30
puts "Очень жарко."
elsif temperature > 20
puts "Тепло."
else
puts "Холодно."
end
В этом примере программа проверяет несколько условий, чтобы определить, какая фраза будет выведена в зависимости от температуры.
unlessКонструкция unless выполняет блок кода, если условие ложно. Это альтернатива конструкции if, которая применяется, когда условие инвертируется.
Пример использования unless:
temperature = 15
unless temperature > 20
puts "Температура ниже 20 градусов."
end
В этом примере блок кода выполняется только если температура не превышает 20 градусов.
caseКонструкция case используется для проверки значения переменной на соответствие множеству возможных значений. Это удобный способ для выполнения разных действий в зависимости от значения переменной.
Пример использования case:
day = "Monday"
case day
when "Monday"
puts "Сегодня понедельник."
when "Tuesday"
puts "Сегодня вторник."
else
puts "Сегодня не понедельник и не вторник."
end
Здесь программа проверяет значение переменной day и выполняет соответствующий блок кода.
elsifПорядок elsif имеет значение. Убедитесь, что условия расположены правильно и покрывают все возможные случаи.
Пример ошибки:
temperature = 25
if temperature > 20
puts "Тепло."
elsif temperature > 30
puts "Очень жарко." # Этот блок не будет выполнен
else
puts "Холодно."
end
Здесь условие temperature > 30 никогда не будет проверено, так как оно расположено после temperature > 20.
unlessПри использовании unless, убедитесь, что условие верное и логическое.
Пример ошибки:
age = 16
unless age >= 18
puts "Вы несовершеннолетний."
else
puts "Вы совершеннолетний."
end
Здесь else блок будет выполнен только если unless условие ложно, что может быть непреднамеренным.
Условные конструкции позволяют управлять выполнением кода в зависимости от выполнения условий. Правильное использование if, unless, case и других конструкций помогает писать чистый и эффективный код. Понимание и применение этих конструкций является основой для решения более сложных задач программирования.
Напишите метод grade_message, который принимает оценку (число от 0 до 100) и возвращает строку с сообщением о том, как хорошо выполнена работа. Используйте case для проверки оценок:
Напишите метод check_number, который принимает число и выводит «Число положительное», если число больше нуля, и «Число отрицательное», если число меньше нуля. Используйте unless для проверки числа.
Пример решения:
def grade_message(score)
case score
when 90..100
"Отлично"
when 70..89
"Хорошо"
when 50..69
"Удовлетворительно"
else
"Неудовлетворительно"
end
end
def check_number(number)
unless number >= 0
puts "Число отрицательное."
else
puts "Число положительное."
end
end
# Примеры вызова методов
puts grade_message(85) # => "Хорошо"
check_number(-5) # => "Число отрицательное."
Проверьте свою программу, чтобы убедиться, что она правильно выполняет все операции и обрабатывает возможные ошибки.
Телефон: +375 33 910-08-92
Email: info@codefor.tech
Адрес: г. Барановичи, ул. Пирогова, д. 7
© 2024-2025 Все права защищены. CodeFor.
Язык сайта: