Foros del Web » Programando para Internet » Javascript »

problema con algoritmo de calculo

Estas en el tema de problema con algoritmo de calculo en el foro de Javascript en Foros del Web. Buenas tardes estoy haciendo un programa en el cual necesito validar que para cierto numero ingresado se cumpla cierto algoritmo (el ultimo numero de dicha ...
  #1 (permalink)  
Antiguo 25/08/2009, 12:39
 
Fecha de Ingreso: agosto-2008
Ubicación: Caracas
Mensajes: 51
Antigüedad: 15 años, 8 meses
Puntos: 0
problema con algoritmo de calculo

Buenas tardes estoy haciendo un programa en el cual necesito validar que para cierto numero ingresado se cumpla cierto algoritmo (el ultimo numero de dicha cadena ingresada debe ser el resultado de un algoritmo realizado con el resto de los numeros). Pero al momento de tratar de plasmar esto en codigo javascript me da error y no hace absolutamente nada...
el codigo de la funcion es la siguiente:
function valida_codigo(cod)
{
if (cod.length==5 || cod.length==7 || cod.length==9)
{
num = cod.length;
ult_num =(num-1);
primer_par=(num-2);
primer_inpar=num-3;
sumainpar=0;
sumapar=0;
for (j=primer_inpar; j>=0)
{
sumainpar=sumainpar+cod.charAt(j);
j=j-2;
}

for ( j = primer_par; j>=0)
{
sumapar = sumapar + cod.charAt(j);
j = j-2;
}
num1 = sumapar*5;
num2 = num1+sumainpar;
num3 = num2/10;
num4 = intval(num3) ;
num5 = (num4 * 10) +10;
digdecheq = num5 - num2;
if (digdecheq==10)
{
digdecheq=0;
}
if (digdecheq!=cod.charAt(ult_num))
{
return false;
}
}
else
{
return false;
}

}

agradezco de antemano la ayuda que me puedan prestar ya que estoy empezando a utilizar javascript y este problemita me tiene varado
  #2 (permalink)  
Antiguo 25/08/2009, 18:04
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: problema con algoritmo de calculo

la estructura for le falta un argumento, el iterador. estas usando la estructura como si fuera un while, el cual no esta mal, pero aun asi esta mal construido. supone que los argumentos del for es:
for(inicializacion; condicion; iterador){
codigo...
}


sin embargo, todos los argumentos pueden ser opcionales, pero para ello por obligacion tienes que escribir los punto y coma.
Código:
for(;;){
// codigo;
}
de modo, que aplicado a tu caso, tienes que escribirlo de la siguiente forma.
Código:
for (j=primer_inpar; j>=0;){ // notese el punto y coma luego de j>=0
...
}
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 26/08/2009, 08:00
 
Fecha de Ingreso: agosto-2008
Ubicación: Caracas
Mensajes: 51
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: problema con algoritmo de calculo

Buenos días, gracias por la sugerencia zerokilled pero ya vi donde estaba el error y no era ese.
El hecho era que al tomar la variable del formulario y tratarla como un vector no efectuaba las operaciones matematicas ya que interpretaba los numeros como caracteres. lo que hice fue pasar de string a num los valores del cod.charAt("x") con parseInt y listo.
De todas maneras muchas gracias a todos, saludos
  #4 (permalink)  
Antiguo 26/08/2009, 08:00
 
Fecha de Ingreso: agosto-2008
Ubicación: Caracas
Mensajes: 51
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: problema con algoritmo de calculo

Buenos días, gracias por la sugerencia zerokilled pero ya vi donde estaba el error y no era ese.
El hecho era que al tomar la variable del formulario y tratarla como un vector no efectuaba las operaciones matematicas ya que interpretaba los numeros como caracteres. lo que hice fue pasar de string a num los valores del cod.charAt("x") con parseInt y listo.
De todas maneras muchas gracias a todos, saludos
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 22:28.