@FastSpace подскажи, это какую функцию имеешь ввиду?
Условно говоря у меня идут действия от одного к другому.
Проверка существования элемента, если его не видно значит нужно выполнить клик по элементу
Если ошибка клика по элементу, т.к он не найден, ставить проверку существования элемента отвечающего за капчу?
Как можно реализовать решение линеных уравнений
-
Как можно решать линейные уравнения? Самые простые где 2 числа, неизвестное и + - * /
типа
6*X=14
X+2=80
12+15=X -
@vaxab23111 Простой способ: переместите X в одну сторону выражения.
X = 14/6
X = 80 - 2
X = 12+15

-
@vaxab23111
Первое что пришло в головуvar task = "X+2=80"; var task_temp = ''; var task_arr = []; for (var i = 0; i < task.length; i++) { var ch = task[i] if (/[0-9]/i.test(ch)) { task_temp += ch; } else { if (task_temp != '') { task_arr.push(task_temp); task_temp = ''; } task_arr.push(ch); } } if (task_temp != '') { task_arr.push(task_temp); } var reversed = { "+":"-", "-":"+", "*":"/", "/":"*", } switch(task_arr.indexOf("X")){ case 0: { task = task_arr[4]+reversed[task_arr[1]]+task_arr[2]; break; } case 2: { task = task_arr[4]+reversed[task_arr[1]]+task_arr[0]; break; } case 4: { task = task_arr.join("").replace("=X",''); break; } } eval("var result="+task) [[A]]=Math.round(result) -
@vaxab23111 Тоже решил поучавствовать на разминки мозга, на 100% не претендует
function getCooficient(exp) { var matched = exp.match(/(\d+)[\s*+-/]*[A-z]/) if (matched) { return parseFloat(matched.pop()) } return 1 } function evalSide(exp) { var cleanExp = exp.replace(/\d*[\s*+-/]*[A-z]/, '') if (!cleanExp) return 0 return eval(cleanExp) } function invertResult(num) { return num > 0? -num : num } function solveEquation(equation) { var parts = equation.split("=") var leftSide = parts[0].trim() var rightSide = parts[1].trim() var coefficient = 1 var leftSideResult = evalSide(leftSide) var rightSideResult = evalSide(rightSide) if (/[A-z]/.test(leftSide)) { var coefficient = getCooficient(leftSide) leftSideResult = invertResult(leftSideResult) } else { var coefficient = getCooficient(rightSide) rightSideResult = invertResult(rightSideResult) } return (leftSideResult + rightSideResult) / coefficient } log(solveEquation("6 * X=14")); // выводит 2.3333333333333335 log(solveEquation("X+2=80")); // выводит 78 log(solveEquation("12+15=X")); // выводит 27 log(solveEquation("6 *X + 2=14")); // выводит 2 log(solveEquation("X+2 * 2=80")); // выводит 76 log(solveEquation("12+15/5=X")); // выводит 15 [[BAS_VARIABLE]] = solveEquation("6 * X=14")