НАЙКРАЩИЙ САЙТ ДЛЯ ВЕБ-РОЗРОБНИКІВ
Основи програмування. W3Schools українською. Уроки для початківців

En Es De Fr

Інструкції If в програмуванні


Інструкції if дозволяють вашій програмі приймати рішення, тому вона може виконувати різні дії залежно від ситуації.


Що таке інструкція if?

Інструкція if виконує блок коду, якщо умова true (істинна).

Ми робимо подібні речі в реальному житті, наприклад, користуємося парасолькою, якщо йде дощ, або одягаємо пальто, якщо холодно.

Подивіться, як працює інструкція if у простій грі нижче. Мета — отримати 6 очок під час кидання кубика.

Dice

Щоб гра діяла по-різному залежно від результату кидання кубиків, ми використовуємо if з умовою, яка перевіряє, чи результат кидання кубиків дорівнює 6.

Якщо умова істинна (true), ми друкуємо "У вас 6!" та запускаємо конфетті. А якщо умова не істинна (false), ми друкуємо "Спробуй ще".

Ось блок-схема та код Python для гри:

start dice = random(1,6) false true Спробуй ще У вас 6! dice == 6? Condition dice = random.randint(1,6) if else: dice == 6: Condition print('У вас 6!🥳') launchConfetti() Code runs if condition is true print('Спробуй ще') Code runs if condition is false

Ми повинні використовувати else у коді вище, щоб обробити випадок, коли на кубиках випало не 6, щоб ми могли записати "Спробуй ще".

Натисніть кнопку «Запустити приклад» нижче, щоб побачити код кидання кубиків у дії.


Python:
dice = random.randint(1,6)
print('You rolled a ' + str(dice))

if dice == 6:
  print('У вас 6!🥳')
else:
  print('Спробуй ще')
JavaScript:
const dice = Math.floor(Math.random() * 6) + 1;
console.log('You rolled a ' + dice);

if (dice == 6) {
  console.log('У вас 6!🥳');
} else {
  console.log('Спробуй ще');
}
Java:
int dice = random.nextInt(6) + 1;
System.out.println("You rolled a " + dice);

if (dice == 6) {
  System.out.println("У вас 6!🥳");
} else {
  System.out.println("Спробуй ще");
}
C++:
int dice = rand() % 6 + 1;
cout << "You rolled a " + to_string(dice) + "\\n";

if (dice == 6) {
  cout << "У вас 6!🥳\\n";
} else {
  cout << "Спробуй ще\\n";
}
Запустити приклад »

Коли слід використовувати інструкцію If?

Якщо ви хочете, щоб ваша програма виконувала різні дії залежно від ситуації, слід використовувати інструкцію if.

Наприклад, якщо ви хочете, щоб ваша програма виводила «Ласкаво просимо!», коли користувач вводить правильний пароль, і «Доступ заборонено», коли користувач вводить неправильний пароль, слід використовувати інструкцію if.


If, Else та Else If

Інструкція if завжди починається з if.

Інструкція if може містити нуль або багато else if, а також нуль або один else.

Коли присутній else, він має бути останнім, після всіх else if.

Інструкція else гарантує виконання одного (і лише одного) блоку коду.

Іноді достатньо використовувати лише одну інструкцію if, ось так:


Python:
age = 32
print('Вік ' + str(age))

if age > 17:
  print('Ти доросла людина!')
JavaScript:
const age = 32;
console.log('Вік ' + age);

if (age > 17) {
  console.log('Ти доросла людина!');
}
Java:
int age = 32;
System.out.println("Вік " + age);

if (age > 17) {
  System.out.println("Ти доросла людина!");
}
C++:
int age = 32;
cout << "Вік " + to_string(age) + "\\n";

if (age > 17) {
  cout << "Ти доросла людина!\\n";
}
Запустити приклад »

Але зазвичай ми також хочемо обробити випадок, коли умова не є істинною, тому для цього використовуємо інструкцію else.


Python:
age = 10
print('Вік ' + str(age))

if age > 17:
  print('Ти доросла людина!')
else:
  print('Ти ще не доросла людина')
JavaScript:
const age = 10;
console.log('Вік ' + age);

if (age > 17) {
  console.log('Ти доросла людина!');
} else {
  console.log('Ти ще не доросла людина');
}
Java:
int age = 10;
System.out.println("Вік " + age);

if (age > 17) {
  System.out.println("Ти доросла людина!");
} else {
  System.out.println("Ти ще не доросла людина");
}
C++:
int age = 10;
cout << "Вік " + to_string(age) + "\\n";

if (age > 17) {
  cout << "Ти доросла людина!\\n";
} else {
  cout << "Ти ще не доросла людина\\n";
}
Запустити приклад »

Блок коду, що належить до else, буде виконано лише у випадку, якщо умова в if є false (хибною).

Ми також можемо використовувати else if для перевірки кількох умов, щоб отримати більше двох результатів.


Python:
age = 15
print('Вік ' + str(age))

if age < 13:
  print('Ти дитина')
elif age < 20:
  print('Ти підліток')
else:
  print('Ти доросла людина')
JavaScript:
const age = 15;
console.log('Вік ' + age);

if (age < 13) {
  console.log('Ти дитина');
} else if (age < 20) {
  console.log('Ти підліток');
} else {
  console.log('Ти доросла людина');
}
Java:
int age = 15;
System.out.println("Вік " + age);

if (age < 13) {
  System.out.println("Ти дитина");
} else if (age < 20) {
  System.out.println("Ти підліток");
} else {
  System.out.println("Ти доросла людина");
}
C++:
int age = 15;
cout << "Вік " + to_string(age) + "\\n";

if (age < 13) {
  cout << "Ти дитина";
} else if (age < 20) {
  cout << "Ти підліток";
} else {
  cout << "Ти доросла людина";
}
Запустити приклад »

Ви можете мати лише одну інструкцію if та лише одну інструкцію else, але ви можете мати скільки завгодно інструкцій else if.

Також, інструкція if завжди перша, else завжди остання, а інструкції else if знаходяться посередині.


Вкладені інструкції If

Вкладені інструкції if — це інструкції if всередині іншої інструкції if.

Вкладені інструкції if корисні у випадках, коли потрібно перевірити умову, лише якщо інша умова true (істинна).


Python:
age = 19
print('Вік ' + str(age))

if age < 13:
  print('Ти дитина')
elif age < 20:
  print('Ти підліток')
  if age > 17:
    print('і доросла людина!')
else:
  print('Ти доросла людина')
JavaScript:
const age = 19;
console.log('Вік ' + age);

if (age < 13) {
  console.log('Ти дитина');
} else if (age < 20) {
  console.log('Ти підліток');
  if (age > 17) {
    console.log('і доросла людина!');
  }
} else {
  console.log('Ти доросла людина');
}
Java:
int age = 19;
System.out.println("Вік " + age);

if (age < 13) {
  System.out.println("Ти дитина");
} else if (age < 20) {
  System.out.println("Ти підліток");
  if (age > 17) {
    System.out.println("і доросла людина!");
  }
} else {
  System.out.println("Ти доросла людина");
}
C++:
int age = 19;
cout << "Вік " + to_string(age) + "\n";

if (age < 13) {
  cout << "Ти дитина";
} else if (age < 20) {
  cout << "Ти підліток";
  if (age > 17) {
    cout << "\nі доросла людина!";
  }
} else {
  cout << "Ти доросла людина";
}
Запустити приклад »

У наведеному вище коді вкладена інструкція if дозволяє нам відфільтрувати особливий випадок віку 18 та 19 років, коли ви одночасно підліток і доросла особа.

age = {{age}}  age < 13 true 'child' false false age < 20 true 'teen' age > 17 true 'and adult' 'adult'

Age

На блок-схемі вище ми бачимо, що блок коду для age > 17 виконується лише тоді, коли age дорівнює 18 або 19.