JavaScript · Синтаксис · Начальный уровень
Условные операторы
Практические упражнения по условным операторам в JavaScript: сравнение чисел, проверка диапазонов, работа со строками, паролями, процентами и базовой логикой if, else if, else.
Краткое введение в тему и пояснения перед упражнениями (упражнения ниже):
Сравнение значений и комбинирование условий
#Распространённые паттерны с условиями
#Упражнения:
Проверка знака числа.
#Напишите программу, которая принимает число и выводит, положительное оно, отрицательное или равно нулю.
let number = 5;
Решение
let number = 5;
if (number > 0) {
console.log("Число положительное");
} else if (number < 0) {
console.log("Число отрицательное");
} else {
console.log("Число равно нулю");
}
// или так можно: сначала подготовить сообщение, а потом один раз вывести его
let number = 5;
let result;
if (number > 0) {
result = "Число положительное";
} else if (number < 0) {
result = "Число отрицательное";
} else {
result = "Число равно нулю";
}
console.log(result);
Возрастная категория.
#Программа принимает возраст пользователя и выводит: "Ребёнок" (до 12), "Подросток" (13–17), "Взрослый" (18 и старше).
let age = 16;
Решение
let age = 16;
if (age <= 12) {
console.log("Ребёнок");
} else if (age <= 17) {
console.log("Подросток");
} else {
console.log("Взрослый");
}
// второй вариант: границы можно записать явно
let age = 14;
if (age < 13) {
console.log("Ребёнок");
} else if (age >= 13 && age <= 17) {
console.log("Подросток");
} else {
console.log("Взрослый");
}
Большее из двух чисел.
#Пользователь вводит два числа. Выведите большее из них. Если они равны — выведите сообщение "Числа равны".
let a = 10; let b = 7;
Решение
let a = 10;
let b = 7;
if (a > b) {
console.log("Большее число:", a);
} else if (b > a) {
console.log("Большее число:", b);
} else {
console.log("Числа равны");
}
// или так можно, через переменную result
let a = 10;
let b = 5;
let result;
if (a === b) {
result = "Числа равны";
} else if (a > b) {
result = `Большее число: ${a}`;
} else {
result = `Большее число: ${b}`;
}
console.log(result);
Температура: холодно, тепло, жарко.
#Программа принимает температуру и выводит: "Холодно" (меньше 10), "Тепло" (10–24), "Жарко" (25 и больше).
let temp = 20;
Решение
let temp = 20;
if (temp < 10) {
console.log("Холодно");
} else if (temp <= 24) {
console.log("Тепло");
} else {
console.log("Жарко");
}
Проверка чётности числа.
#Пользователь вводит число. Проверьте, является ли оно чётным.
let num = 5;
Решение
let num = 5;
if (num % 2 === 0) {
console.log("Число чётное");
} else {
console.log("Число нечётное");
}
// или так можно: сохранить проверку в отдельную переменную
let num = 8;
let isEven = num % 2 === 0;
if (isEven) {
console.log("Число чётное");
} else {
console.log("Число нечётное");
}
Проверка длины пароля.
#Пользователь вводит пароль. Если длина пароля меньше 6 символов — выведите "Слишком короткий пароль", иначе — "Пароль принят".
let password = "javascript";
Решение
let password = "javascript";
if (password.length < 6) {
console.log("Слишком короткий пароль");
} else {
console.log("Пароль принят");
}
Оценка по шкале A-F.
#Пользователь вводит оценку от 0 до 100. Выведите: A (90–100), B (80–89), C (70–79), D (60–69), F (меньше 60).
let score = 85;
Решение
let score = 85;
if (score >= 90) {
console.log("A");
} else if (score >= 80) {
console.log("B");
} else if (score >= 70) {
console.log("C");
} else if (score >= 60) {
console.log("D");
} else {
console.log("F");
}
// или так можно: идти от меньших границ к большим
let score = 85;
if (score < 60) {
console.log("F");
} else if (score < 70) {
console.log("D");
} else if (score < 80) {
console.log("C");
} else if (score < 90) {
console.log("B");
} else {
console.log("A");
}
Кратность двух чисел.
#Пользователь вводит два числа. Проверьте, кратно ли первое число второму.
let a = 10; let b = 7;
Решение
let a = 10;
let b = 7;
if (b === 0) {
console.log("На ноль делить нельзя");
} else if (a % b === 0) {
console.log("Первое число кратно второму");
} else {
console.log("Первое число не кратно второму");
}
Округление в диапазоне 0-100.
#Пользователь вводит число. Если оно больше 100 или меньше 0 — выведите "Только от 0 до 100", иначе округлите его до 2 знаков после точки.
let num = 5;
Решение
let num = 5;
if ((num < 0) || (num > 100)) {
console.log("Только от 0 до 100");
} else {
console.log(Number(num.toFixed(2)));
}
// или так можно: проверку диапазона сохранить в переменную
let num = 42.678;
let inRange = num >= 0 && num <= 100;
if (inRange) {
console.log(Number(num.toFixed(2)));
} else {
console.log("Только от 0 до 100");
}
Длинная или короткая строка.
#Пользователь вводит строку. Если длина строки больше 10 символов — выведите "Длинная строка", иначе — "Короткая строка".
let text = "JavaScript course";
Решение
let text = "JavaScript course";
if (text.length > 10) {
console.log("Длинная строка");
} else {
console.log("Короткая строка");
}
// или так можно через переменную message
let text = "JavaScript";
let message;
if (text.length > 10) {
message = "Длинная строка";
} else {
message = "Короткая строка";
}
console.log(message);
Процент от числа.
#Пользователь вводит a и b. Посчитайте сколько процентов a от b. Формула процентов (a/b)*100.
let a = 10; let b = 7;
Решение
let a = 10;
let b = 7;
if (b === 0) {
console.log("На ноль делить нельзя! И части от 0 нет.");
} else {
let result = a / b * 100;
result = Number(result.toFixed(2));
console.log(String(result) + "%");
}
Округление до нужного знака.
#Пользователь вводит число, например 5.2564494 и вводит до какого знака после запятой (точки) его округлить. Сделайте расчеты.
let num = 5; let rounding = 2;
Решение
let num = 5;
let rounding = 2;
if (rounding < 0) {
console.log("Значение для количества знаков после точки не может быть меньше 0.");
} else {
console.log(Number(num.toFixed(rounding)));
}
Преобразование строки в number.
#Пользователь вводит число строкой. Проверьте, есть ли в строке точка, и в любом случае преобразуйте значение в тип number с помощью Number().
let num = "";
Решение
let num = "5.25";
if (num.includes(".")) {
console.log("В строке есть точка");
} else {
console.log("Точки нет");
}
num = Number(num);
console.log(num);
Деление без ошибки нуля.
#Нужно разделить a на b. Если b равняется 0, то выведите сообщение, что на 0 делить нельзя. А если всё ОК, то посчитайте!
let a = 10; let b = 7;
Решение
let a = 10;
let b = 7;
if (b === 0) {
console.log("На ноль делить нельзя! Даже если очень хочется!");
} else {
console.log("Результат:", a / b);
}
Анкета имени и фамилии.
#Пользователь вводит Имя и потом отдельно Фамиилию. Давайте попробуем сделать так, что если он введет все правильно, то мы объединим его Имя и Фамилию в одну строку (как один объект новый) и выведем на печать в терминал. А если он ошибется и введет в поле "Имя" анкеты сразу и свое Имя и Фамилию, то мы выведем сообщение, что: "Внимательно заполняйте анкету!! Это был последний бланк ахахах)))" и программа завершиться. Подсказки: 1) Там будет пробел в строке, если он введет все сразу. 2) Сначала проверяйте ошибочный вариант, так будет проще и правильнее.
let name = "Alex"; let last_name = "Smith";
Решение
let name = "Alex";
let lastName = "Smith";
if (name.includes(" ")) {
console.log("Внимательно заполняйте анкету!! Это был последний бланк ахахах)))");
} else {
let fullName = name + " " + lastName;
console.log(fullName);
}