Foros del Web » Programando para Internet » Javascript »

calculo DNI

Estas en el tema de calculo DNI en el foro de Javascript en Foros del Web. Por favor, necesito que alguien me ayude con este ejercicio. Por mucho que intento razonarlo no se ni por donde empezar. Necesito que alguien me ...
  #1 (permalink)  
Antiguo 25/03/2013, 17:58
 
Fecha de Ingreso: enero-2013
Mensajes: 16
Antigüedad: 11 años, 3 meses
Puntos: 0
calculo DNI

Por favor, necesito que alguien me ayude con este ejercicio. Por mucho que intento razonarlo no se ni por donde empezar. Necesito que alguien me diga cómo hacerlo y explicarmelo.

Muchas gracias por anticipado.

A continuación expongo el enunciado del ejercicio en cuestion:

El cálculo de la letra del Documento Nacional de Identidad (DNI) es un proceso matemático sencillo que se basa en obtener el resto o módulo de la división entera del número de DNI entre el número 23. A partir del resto de la división, se obtiene la letra seleccionándola dentro de un array de letras.



El array de letras es:

var letras = [‘T’, ‘R’, ‘W’, ‘A’, ‘G’, ‘M’, ‘Y’, ‘F’, ‘P’, ‘D’, ‘X’, ‘B’, ‘N’, ‘J’, ‘Z’, ‘S’, ‘Q’, ‘V’, ‘H’, ‘L’, ‘C’, ‘K’, ‘E’, ‘T’];



Por tanto, si el resto de la división es 0, la letra del DNI es la T; y, si el resto es 3, la letra es la A.



Con estos datos, y teniendo en cuenta que ya tienes almacenado en una variable llamada numero los números introducidos por el usuario, y en una variable llamada letra la letra en mayúscula tecleada también por el mismo, elabora un pequeño script que:



a. En primer lugar (y en una sola instrucción) compruebe si el número es menor que 0 o mayor que 99999999.

Si ese es el caso, mostrar un mensaje al usuario indicando que el número proporcionado no es válido y el programa no muestra más mensajes.



b. Si el número es válido, calcula la letra que le corresponde según el método explicado anteriormente.



c. Una vez calculada la letra, se debe comparar con la letra indicada por el usuario. Si no coinciden, se muestra un mensaje al usuario diciéndole que la letra que ha indicado no es correcta. En otro caso, se muestra un mensaje indicando que el número y la letra de DNI son correctos.
  #2 (permalink)  
Antiguo 25/03/2013, 22:25
Avatar de Albuss  
Fecha de Ingreso: enero-2012
Ubicación: Coruña
Mensajes: 475
Antigüedad: 12 años, 3 meses
Puntos: 30
Respuesta: calculo DNI

Usa el buscador. muchas gracias por anticipado.
  #3 (permalink)  
Antiguo 25/03/2013, 22:39
 
Fecha de Ingreso: enero-2013
Mensajes: 16
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: calculo DNI

¿usar el buscador? Para qué? Para buscar algo sobre DNI´s?

Eso ya lo he hecho, pero lo que necesito es que alguien me explique este ejercicio en concreto para poder entenderlo, porque viendo otro ejemplos no lo comprendo.
  #4 (permalink)  
Antiguo 25/03/2013, 23:00
Avatar de Albuss  
Fecha de Ingreso: enero-2012
Ubicación: Coruña
Mensajes: 475
Antigüedad: 12 años, 3 meses
Puntos: 30
Respuesta: calculo DNI

esto es un tema muy recurrente, hay montones de temas parecidos a este, donde incluso tienes todo el codigo explicado desde 0.
  #5 (permalink)  
Antiguo 25/03/2013, 23:15
 
Fecha de Ingreso: enero-2013
Mensajes: 16
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: calculo DNI

si, efectivamente Albuss, entiendo perfectamente lo que me quieres decir, pero tal vez me haya explicado mal. Lo que quiero decir es que ya he buscado con el buscador del foro y he leído/repasado cientos de hilos "parecidos" a mi caso, pero el problema es que no soy capaz de entenderlo.

Es por eso que pido encarecidamente que alguien de aquí me diga cómo hacer este ejercicio que he expuesto anteriormente y me explique cómo se ha hecho, de esa manera podré entender cada apartado y arrancar desde ahí.
  #6 (permalink)  
Antiguo 25/03/2013, 23:25
Avatar de Albuss  
Fecha de Ingreso: enero-2012
Ubicación: Coruña
Mensajes: 475
Antigüedad: 12 años, 3 meses
Puntos: 30
Respuesta: calculo DNI

a ver, he leido los enunciados , ¿no sabes hacer unos cuantos condicionales basados en un resultado entre parentesis (por lo de "una sola linea de codigo) de expresiones regulares?


Me temo que necesitas aprender a programar.
  #7 (permalink)  
Antiguo 25/03/2013, 23:28
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: calculo DNI

¿Y qué es lo que no entiendes?

si el dni introducido es 123456789x tienes que calcular el resto de dividir por 23, que se hace con el operador %


123456789 % 23 = 11

Y ahora te vas a la posición 11 del arrray que es la 'B' y como no coincide con la x que he puesto antes en el DNI, está mal.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #8 (permalink)  
Antiguo 25/03/2013, 23:33
 
Fecha de Ingreso: enero-2013
Mensajes: 16
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: calculo DNI

vamos a ver...

Por lo poco que yo sé (estoy empezando y hay que entender que nadie nace sabido), para crear una función básica para el cálculo de un DNI se podría poner tal que así (no se si me equivoco):

<script type="text/javascript">
function letraDNI(dni)
{
var cadena="TRWAGMYFPDXBNJZSQVHLCKET";
var posicion = dni%23;
var letra = cadena.substring(posicion,posicion+1);
return letra;
}
</script>

Ahora bien, no entiendo como aplicar mis pequeños conocimientos para realizar el ejercicio en cuestión. Por eso pido que me expliquen como hacerlo.
  #9 (permalink)  
Antiguo 25/03/2013, 23:46
Avatar de Albuss  
Fecha de Ingreso: enero-2012
Ubicación: Coruña
Mensajes: 475
Antigüedad: 12 años, 3 meses
Puntos: 30
Respuesta: calculo DNI

Condicionales, condicionales!

Etiquetas: calculo, dni
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 07:07.