Оператор условного перехода if-else. Виды операторов условного перехода
Содержание
- 1. Оператор условного перехода if-else. Виды операторов условного перехода. Назначение
- 2. Сокращенная форма оператора условного перехода: if
- 3. Полная форма: if-else
- 4. Лестничная форма: if-else-if
- 5. Примеры использования оператора if (сокращенная форма)
- 6. Примеры использования оператора if-else (полная форма)
- 7. Примеры использования оператора if-else-if (лестничная форма)
- Похожие темы
Поиск на других ресурсах:
1. Оператор условного перехода if-else. Виды операторов условного перехода. Назначение
В языке программирования Kotlin существуют средства, изменяющие вычислительный процесс в зависимости от выполнения некоторого условия. К таким средствам относится оператор if-else.
Оператор условного перехода имеет 3 формы:
- сокращенная форма if;
- полная форма if-else;
- лестничная форма if-else-if.
⇑
2. Сокращенная форма оператора условного перехода: if
Общая форма сокращенной формы оператора условного перехода следующая
if (condition) statement;
здесь
- condition — условное выражение, возвращающее результат логического типа Boolean. Если значение условного выражения condition равно true, то выполняется оператор statement. Если значение condition равно false, то ничего не выполняется (выполняется оператор, следующий за оператором if);
- statement — некоторый оператор.
Если в сокращенном операторе if нужно выполнить несколько операторов, то согласно синтаксису Kotlin, эти операторы берутся в фигурные скобки { }. В этом случае общая форма оператора if иметь вид:
if (condition) { // блок операторов (инструкций) // ... }
На рисунке 1 изображено схематическое обозначение сокращенной формы оператора if.
Рисунок 1. Сокращенная форма оператора if
⇑
3. Полная форма: if-else
Полная форма оператора условного перехода имеет вид
if (condition) { // блок инструкций если condition=true // ... } else { // инструкции (операторі) если condition=false // ... }
здесь
- condition — условное выражение, значение которого определяет, какая группа операторов будет выполняться. Если condition=true, то выполняются операторы после ключевого слова if. В противном случае выполняются операторы после ключевого слова else.
Если после ключевого слова if или else нужно выполнить только один оператор, то фигурные скобки { } можно опустить.
На рисунке 2 изображено графическое обозначение оператора if-else.
Рисунок 2. Оператор if-else. Графическое обозначение
⇑
4. Лестничная форма: if-else-if
Общий синтаксис лестничной формы условного оператора if-else-if следующий
if (condition1) { // statements1 // ... } else if (condition2) { // statements2 // ... } ... else if (conditionN) { // statementsN // ... } else { // statementsN+1 // ... }
здесь
- condition1, condition2, conditionN — условные выражения. Если значение одного из условных выражений равно true, то выполняется соответствующий блок операторов. Все остальные блоки (ветви) операторов пропускаются. Например, если condition2 = true, то выполняется только один блок операторов statement2;
- statement1, statement2, statementN — один или несколько операторов, которые выполняются, если соответствующее условное выражение равно true. Если после некоторого блока if или else нужно выполнить только один оператор, то фигурные скобки { } не обязательны.
⇑
5. Примеры использования оператора if (сокращенная форма)
5.1. Абсолютное значение числа
Условие задачи. Дано вещественное число a, которое вводится с клавиатуры. Вывести на экран его абсолютную величину. В программе не использовать дополнительных функций.
Решение.
fun main(args:Array<String>) { // Оператор if(...) { ... } // 1. Объявление переменной a val a : Double // 2. Ввод значения a print("a = ") a = readLine().toString().toDouble() // 3. Вывод абсолютного значения // с помощью сокращенной формы оператора if if (a<0) println("abs(a) = " + (-a)) if (a>=0) println("abs(a) = " + a) }
Результат выполнения программы
a = -8 abs(a) = 8
⇑
5.2. Вычисление суммы чисел
Условие задачи. Даны четыре вещественных числа. Найти сумму тех чисел, которые больше 10. Оператор цикла не использовать.
Решение.
fun main(args:Array<String>) { // Оператор if(...) { ... } // 1. Объявление переменных val a : Double val b : Double val c : Double val d : Double var summ : Double = 0.0 // Искомая сумма val Value : Double = 10.0 // число для сравнения // 2. Ввод чисел a, b, c, d print("a = "); a = readLine().toString().toDouble() print("b = "); b = readLine().toString().toDouble() print("c = "); c = readLine().toString().toDouble() print("d = "); d = readLine().toString().toDouble() // 3. Вычисление с использованием оператора if if (a>Value) summ += a if (b>Value) summ += b if (c>Value) summ += c if (d>Value) summ += d // 4. Вывод результата println("summ = " + summ) }
Результат выполнения программы
a = 15 b = 5 c = 6 d = 11 summ = 26.0
⇑
6. Примеры использования оператора if-else (полная форма)
6.1. Определение суммы цифр числа
Дано двузначное число. Определить, есть ли сумма цифр числа двузначным числом. Например, для числа 78 сумма цифр равна 15, значит, ответ «Да».
Решение.
fun main(args:Array<String>) { // Оператор if-else // 1. Объявление переменных val num : Int // Указанное число // 2. Ввод числа num print("num = ") num = readLine().toString().toInt() // 3. Вычисление // 3.1. Проверка, двузначное ли число if ((num<10) || (num>99)) { println("Incorrect input.") return } // 3.2. Вычислить сумму цифр числа val sum = (num % 10 + num / 10) // 3.3. Вывести результат if (sum > 9) println("Yes") else println("No") }
Результат выполнения программы
num = 57 Yes
⇑
6.2. Проверка выполнения неравенства
Условие задачи.
Заданы три числа a, b, c. Проверить, выполняется ли неравенство a<b<c.
Решение.
fun main(args:Array<String>) { // Оператор if-else // 1. Объявление переменных val a : Int val b : Int val c : Int // 2. Ввод чисел a, b, c print("a = ") a = readLine().toString().toInt() print("b = ") b = readLine().toString().toInt() print("c = ") c = readLine().toString().toInt() // 3. Вычисление и вывод результата if ((a<b) && (a<c)) println("a<b<c => true") else println("a<b<c => false") }
Результат выполнения программы
a = 5 b = 9 c = 12 a<b<c => true
⇑
7. Примеры использования оператора if-else-if (лестничная форма)
7.1. Определение меньшего расстояния
Условие задачи. Известны два расстояния: одно в километрах, другое в футах (1 фут = 0.45 м). Какое из расстояний меньше а какое больше? Проработать все возможные варианты.
Решение.
fun main(args:Array<String>) { // Оператор if-else-if // 1. Объявление переменных val lenKm : Double // расстояние в километрах val lenFt : Double // расстояние в футах (1 фут = 0.45 м) // 2. Ввод расстояний print("Расстояние в километрах: lenKm = "); lenKm = readLine().toString().toDouble() print("Расстояние в футах: lenFt = "); lenFt = readLine().toString().toDouble() // 3. Вычисление. Используется оператор if-else-if if (lenKm*1000 > lenFt*0.45) // Привести все расстояния в метры println("lenKm > lenFt") else if (lenKm*1000 < lenFt*0.45) println("lenKm < lenFt") else println("lenKm == lenFt") }
Результат выполнения программы
Расстояние в километрах: lenKm = 0.9 Расстояние в футах: lenFt = 2000 lenKm == lenFt
⇑
7.2. Определение номера четверти на координатной плоскости
Условие задачи. Вывести на экран номер четверти координатной плоскости, которой принадлежит точка с координатами (x, y), при условии, что x≠0 и y≠0.
fun main(args:Array<String>) { // Оператор if-else-if // 1. Объявление переменных val x : Double val y : Double // 2. Ввод значений x, y print("x = ") x = readLine().toString().toDouble() print("y = ") y = readLine().toString().toDouble() // 3. Вычисление и вывод результата if ((x==0.0) || (y==0.0)) { println("Incorrect input") return } if ((x>0) && (y>0)) println("1") else if ((x>0) && (y<0)) println("4") else if ((x<0) && (y>0)) println("2") else println("3") }
Результат выполнения программы
x = 5 y = -2 4
⇑
Похожие темы
- Базовые типы. Числовые литералы. Числовые константы. Примеры
- Переменные и константы. Ключевые слова var, val, const
⇑