Оператор умовного переходу 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
⇑