Представим ось координат x и y, визуально можно поделить ее на 4 области:
Когда x меньше 0, и у больше 0 - 1-я четверть.
Когда x больше 0, и у больше 0 - 2-я четверть.
Когда x меньше 0, и у меньше 0 - 3-я четверть.
Когда x больше 0, и у меньше 0 - 4-я четверть.
Необходимо создать функцию findQuarter, которая принимает два числовых аргумента х и у (это координаты точки).
функция выводит в консоль результат к какой четверти принадлежит точка с координатами х,у.
При этом точка может находится на оси координат если у или x равны 0 в данном случае функция выведет в консоль, что “Точка принадлежит оси координат”;
Для вывода результата из функции используем console.log(“ваш результат”);
function findQuarter(x, y) {
if (x === 0 || y === 0) {
return “Точка принадлежит оси координат”;
} else if (x > 0 && y > 0) {
return “Точка принадлежит 2-й четверти”;
} else if (x > 0 && y < 0) {
return “Точка принадлежит 4-й четверти”
} else if (x < 0 && y > 0) {
return “Точка принадлежит 1-й четверти”
} else {
return “Точка принадлежит 3-й четверти”
}
}
function findQuarter(x,y) {
if (x < 0, y > 0){
console.log(“точка находится в 1-вой четверти координатной плоскости.”);}
else if (x > 0, y > 0){
console.log(“точка находится в 2-рой четверти координатной плоскости.”);}
else if (x < 0, y < 0){
console.log(“точка находится в 3-ей четверти координатной плоскости.”);}
else if (x > 0, y < 0){
console.log(“точка находится в 4-ой четверти координатной плоскости.”);}
else {console.log(“Точка принадлежит оси координат.”);}
};
findQuarter(0, 0);
findQuarter(5, 3);
Но почему-то не выводит в консоль вторую и четвёртую плоскости((((
Развернуто. В скобках в условии можно поставить любое выражение (expression в английской терминологии). Важно понимать что любое выражение вычисляемо в некоторое значение. Могу еще расписать отдельно про выражения и значения если у кого будет запрос.
Выражение это любой валидный выполняющийся код. Например это валидный (но бессмысленный) js:
if (function main() {}) {
console.log(100500)
}
выражение в скобках вычисляется в объект функции, булевый эквивалент которого всегда true поэтому тело условия будет всегда выполняться.
Является ли x < 0, y > 0 валидным выражением? Да. Оператор , (обрати внимание что операторы и выражения это не одно и тоже) берет выражение слева от запятой, вычисляет его, берет выражение справа вычисляет его и вычисляется (этому будет равен результат выражения если его залогировать или записать в перменную) в результат вычисления правого выражения.
Моделирует ли код x < 0, y > 0 то что имел в виду автор? Скорее всего нет. Предположу что автор хотел описать условие “x меньше 0 и y больше 0”. false , true вычислится в true, и true, false вычислится в false. В общем виде выражение X, Y всегда будет вычисляться в Y.
А вот && делает то что надо: false && true вычисляется в false и true && false вычисляется в false.
Так как оператор , всегда вычисляется в значение правого выражения, то в коде из примера в условиях можно убрать все выражения до запятой и ничего не изменится.