Практическая информатика


         

Если логическое_выражение истинно, то выполняется


Для аналогичных целей используется и тернарный оператор

логическое_выражение ? выражение1 : выражение2

Если логическое_выражение истинно, то выполняется выражение1, иначе - выражение2. Посмотрите на примеры использования этого оператора:

i = 23 i < 100 ? puts("Мало") : puts("Значительно больше") i = 1234 s = i < 100 ? "Мало" : "Значительно больше" puts s

Как видите, этот оператор особенно удобен, если требуется переменной присвоить одно из двух значений.

Пример

Напишите программу, определяющую четность введенного числа.

print "Введите целое число: " a = gets.to_i str = a%2 == 0 ? "четно" : "нечетно" puts "Число #{a} " + str

Если требуется выполнить последовательность операторов только в том случае, когда выполнено некоторое условие, то используется форма

if <логическое_выражение> [then] тело_оператора end

Для этих же целей можно использовать и модифицированный оператор if:

выражение if <логическое_выражение>

Ниже приводятся две версии фрагмента программы, использующей оператор if:

if radiation > 3000 puts "Радиационная опасность!" end # то же самое puts "Радиационная опасность!" if radiation > 3000

Пример

Напишите программу, определяющую, является ли введенная фраза палиндромом (перевертышем).

puts "Введите фразу:" a = gets.chop!.delete(' ') # удалили все пробелы a = a.tr('A-Z,А-Я', 'a-z,а-я') # замена букв на прописные str = "палиндром" str = "не " + str if a != a.reverse # проверка puts "Введенная фраза - " + str + "."

При выборе из большего числа альтернатив удобнее использовать оператор case. Ниже приведен его общий вид (части, заключенные в квадратные скобки, могут быть опущены).

case <выражение> when <тест1> [then] ... when <тест2> [then] ... when <тестN> [then] ... [else ... ] end

В операторе case <выражение> последовательно сравнивается с выражениями <тест> до тех пор пока, оно не совпадет с одним из них (сравнение производится при помощи операции ==), после чего выполняется соответствующий фрагмент кода.

Содержание  Назад  Вперед