Здравствуйте, у меня есть несколько задач, которые нужно сделать с помощью if:else и switch, где следует использовать if:else, а где switch и в чём их разница и как понять когда нужно использовать. Я знаю как это сделать но не понимаю где switch, а где if: else
1)
Написать программу "конвертер чисел". Пользователь вводит число от 1 до 9, программа должна сконвертировать это число в римское. Например: 2 -> II, 5 -> V и т.д.
2)
Написать программу которая запрашивает число у пользователя и выводит название планеты солнечной системы по порядковому номеру. Например: 1 -> Меркурий, 3 -> Земля, 9 -> Плутон. Очередность планет если точно не знаете, то гуглите)
3)
Написать следующую программу: запросить у пользователя значение температуры и вывести его ощущение. Например: ниже -10 морозно, от -10 до 0 Очень холодно, от 0 до 10 Холодно, от 11до 20 Прохладно, от 21 до 25 Облачно, от 26 до 32 Тепло, выше 33 Жарко.
4)
Написать программу: пользователь вводит какая у него карта (серебро, золото, платина) и вводит на какую сумму хочет заправится. Программа должна посчитать сколько баллов ему причитается. Серебро 1% от суммы, золото 2% от суммы, платина 4% от суммы.
JavaScript
Условные операторы и лочические операторы JS
Бритва Оккама
const roman = ["","I","II","III","IV","V","VI","VII","VIII","IX"];
while (true) {
let n = +prompt("Введите однозначное натуральное число");
if (!isNaN(n) && n && n < 10) {
console.log(roman[n]);
} else {
console.log("Ошибка");
}
}
Здравствуйте! Операторы if/else и switch используются для выполнения разных действий в зависимости от условий. Оператор if/else используется, когда у вас есть несколько условий, которые нужно проверить. Оператор switch используется, когда у вас есть одно выражение, которое нужно сравнить с несколькими значениями.
Вот как я бы решил каждую из ваших задач:
1. Для этой задачи я бы использовал оператор switch, так как у нас есть одно значение (число от 1 до 9), которое нужно сравнить с несколькими значениями (римские цифры).
Вот как я бы решил каждую из ваших задач:
1. Для этой задачи я бы использовал оператор switch, так как у нас есть одно значение (число от 1 до 9), которое нужно сравнить с несколькими значениями (римские цифры).
let num = prompt("Введите число от 1 до 9");
switch (num) {
case '1':
console.log('I');
break;
case '2':
console.log('II');
break;
case '3':
console.log('III');
break;
case '4':
console.log('IV');
break;
case '5':
console.log('V');
break;
case '6':
console.log('VI');
break;
case '7':
console.log('VII');
break;
case '8':
console.log('VIII');
break;
case '9':
console.log('IX');
break;
default:
console.log('Неверное число');
}
2. Для этой задачи я бы также использовал оператор switch, так как у нас есть одно значение (номер планеты), которое нужно сравнить с несколькими значениями (названия планет). let num = prompt("Введите номер планеты");
switch (num) {
case '1':
console.log('Меркурий');
break;
case '2':
console.log('Венера');
break;
case '3':
console.log('Земля');
break;
case '4':
console.log('Марс');
break;
case '5':
console.log('Юпитер');
break;
case '6':
console.log('Сатурн');
break;
case '7':
console.log('Уран');
break;
case '8':
console.log('Нептун');
break;
default:
console.log('Неверный номер планеты');
}
3. Для этой задачи я бы использовал оператор if/else, так как у нас есть несколько условий, которые нужно проверить (диапазоны температур). let temp = prompt("Введите температуру");
if (temp < -10) {
console.log("Морозно");
} else if (temp >= -10 && temp < 0) {
console.log("Очень холодно");
} else if (temp >= 0 && temp < 10) {
console.log("Холодно");
} else if (temp >= 11 && temp < 20) {
console.log("Прохладно");
} else if (temp >= 21 && temp < 25) {
console.log("Облачно");
} else if (temp >= 26 && temp < 32) {
console.log("Тепло");
} else {
console.log("Жарко");
}
4. Для этой задачи я бы использовал оператор switch, так как у нас есть одно значение (тип карты), которое нужно сравнить с несколькими значениями (серебро, золото, платина). let card = prompt("Какая у вас карта?");
let sum = prompt("На какую сумму хотите заправиться?");
switch (card) {
case 'серебро':
console.log(`Вам причитается ${sum * 0.01} баллов`);
break;
case 'золото':
console.log(`Вам причитается ${sum * 0.02} баллов`);
break;
case 'платина':
console.log(`Вам причитается ${sum * 0.04} баллов`);
break;
default:
console.log('Неверный тип карты');
}
Шаров Евгений
Спасибо большое, теперь я понял
switch нужен чтобы не плести веревку из if else, (выглядит некрасиво)
Похожие вопросы
- Поясните пожалуйста про условный оператор "?"
- Можно ли в javascript не использовать условный оператор '?' и полностью заменить его if`ами?
- Помогите определиться с выбором нового языка (JS(TS) vs Java)
- Js фреймворки, что полезного можно для себя найти?
- В чем цель фреймворков js web?
- [HTML/CSS/JS] Как сохранять изменённые в .js данные оффлайн-сервера локально?
- Почему jQuery методы популярнее js методов при общении с ДоМ?
- ПОЧЕМУ JS ТАКОЙ НЕПОНЯТНЫЙ???
- вопрос по JS. " простой ()";
- Порядок изучени JavaScripta. Путь к Node.js. Нужен совет по обучению от программистов