Foros del Web » Programación para mayores de 30 ;) » Java »

Dar prioridad a operaciones matemáticas frente a otras.

Estas en el tema de Dar prioridad a operaciones matemáticas frente a otras. en el foro de Java en Foros del Web. Ante nada, agradezco cualquier aportación y ayuda. Intento hacer una operación matemática larga en javascript y pretendo aplicarle la lógica de las matemáticas, utilizando paréntesis ...
  #1 (permalink)  
Antiguo 25/04/2013, 06:13
Avatar de musicdruel  
Fecha de Ingreso: octubre-2012
Ubicación: España
Mensajes: 8
Antigüedad: 12 años, 1 mes
Puntos: 0
Pregunta Dar prioridad a operaciones matemáticas frente a otras.

Ante nada, agradezco cualquier aportación y ayuda.
Intento hacer una operación matemática larga en javascript y pretendo aplicarle la lógica de las matemáticas, utilizando paréntesis () y corchetes [], pero algo debe haber en javascript para dar preferencia a unas operaciones en vez de otras y no hacer una operación y guardarla en una variable y luego usarla.

Mi intención es hacer esta operación:

[((Aciertos–(errores / 2)) / Nº de preguntas) x 10].


Podría hacer lo siguiente:
var1=errores/2;
var2=aciertos-var1;
etc...
pero me parece una opción muy poco elegante, seguro que se debe poder dar preferencia a operaciones en Javascript, el caso que usando los corchetes y paréntesis no lo consigo.
Si alguien conociera la forma de hacerlo, le sería muy agradecido. Un saludo y gracias.
  #2 (permalink)  
Antiguo 25/04/2013, 06:26
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 16 años, 2 meses
Puntos: 188
Respuesta: Dar prioridad a operaciones matemáticas frente a otras.

var aciertos = 50;
var errores = 10;
var numPreguntas = 60;
var cuenta = 10*(aciertos-errores/2)/numPreguntas;
alert(cuenta);
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #3 (permalink)  
Antiguo 25/04/2013, 06:45
Avatar de musicdruel  
Fecha de Ingreso: octubre-2012
Ubicación: España
Mensajes: 8
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Dar prioridad a operaciones matemáticas frente a otras.

Cita:
Iniciado por Fuzzylog Ver Mensaje
var aciertos = 50;
var errores = 10;
var numPreguntas = 60;
var cuenta = 10*(aciertos-errores/2)/numPreguntas;
alert(cuenta);
1º- Gracias por tu aportación, esa es la misma lógica sencilla que sigo yo.
2º- Observa este caso:

aciertos=12; errores=1; alternativas=3; total=20;
function MostrarResultado(){
var resultado;
resultado=10*(aciertos-(errores/alternativas))/(total-1);
return resultado;
}
El resultado que debería devolver es 5.75 y en cambio devuelve 6.14.

Mi problema persiste, agradezco de nuevo cualquier aportación.
Y si agluien observa algún error que justifica el error, decidlo porfavor.
  #4 (permalink)  
Antiguo 25/04/2013, 07:25
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años, 6 meses
Puntos: 306
Respuesta: Dar prioridad a operaciones matemáticas frente a otras.

La fórmula que has puesto, por javascript o calculadora da 6.14.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #5 (permalink)  
Antiguo 25/04/2013, 09:31
 
Fecha de Ingreso: febrero-2011
Mensajes: 672
Antigüedad: 13 años, 8 meses
Puntos: 78
Respuesta: Dar prioridad a operaciones matemáticas frente a otras.

musicdruel porque te debería dar 5,75?

He realizado la operación con calculadora y da 6,15.
  #6 (permalink)  
Antiguo 25/04/2013, 15:33
Avatar de musicdruel  
Fecha de Ingreso: octubre-2012
Ubicación: España
Mensajes: 8
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Dar prioridad a operaciones matemáticas frente a otras.

Disculpad mi gran error, os agradezco la atención y me sirve para aprender. No me gusta preguntar porque la mayoría de las veces encuentro sólo el error, como todos nosotros supongo. He visto cual era el error, me extrañaba muchísimo que javascript no fuera capaz de seguir la prioridad de las operaciones.Lineas más abajo tenia la variable total cambiada, que al utilizarla global para el código la confundí con la de otra función. Disculpadme, pero me habéis ayudado a revisar bien el código. Muchísimas gracias.

Etiquetas: javascript, operadores
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:43.