JavaScript - ayuda para calcular la letra del DNI

 
Vista:

ayuda para calcular la letra del DNI

Publicado por sofi (1 intervención) el 15/10/2012 18:21:07
buenas tardes! tengo un pequeño problema y me gustaría me ayudaran, estoy haciendo un curso y me han mandado a hacer este ejercicio lo e intentado pero es que no se como empezar ni como seguir... la verdad que esta parte del curso a parte de que es aburrida no me entero ni papa!
muchas gracias! aki les dejo el ejercicio y me gustaría que me dijeran como lo han hecho!



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.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

ayuda para calcular la letra del DNI

Publicado por Xavi Navarro (1 intervención) el 29/11/2012 12:47:28
Hola Sofi,
estoy haciendo el mismo curso. Me aseguraron que no hacía falta saber nada de lenguajes de programación y no es cierto.
Opino lo mismo que tú, esta parte es un rollo y no me entero de nada.
¿ Alguien te ha facilitado la respuesta?
¿Tienes la respuesta del ejercico 6 de la Prueba 4?
Un abrazo..... y suerte ....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ayuda para calcular la letra del DNI

Publicado por Poneyboy (1 intervención) el 29/04/2014 12:29:30
Yo estoy en el mismo caso. Dicen que no hace falta tener nociones y yo que llevo años maquetando en HTML y me llevo fatal con la programación llevo 8 horas masticando código a pelo. :(

No me entero de nada, la verdad.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.162
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

ayuda para calcular la letra del DNI

Publicado por xve (2100 intervenciones) el 29/11/2012 14:29:57
Aquí tienes como hacerlo...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<html>
<body>
    <script type="text/javascript">
    function letraDNI(dni)
    {
        var cadena="TRWAGMYFPDXBNJZSQVHLCKET";
        var posicion = dni%23;
        var letra = cadena.substring(posicion,posicion+1);
        return dni+" - "+letra;
    }
    document.write(letraDNI("35738881"));
</script>
</body>
</html>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

ayuda para calcular la letra del DNI

Publicado por MJ Costa (1 intervención) el 09/05/2015 19:10:52

Este funciona correctamente y devuelve las alertas pedidas en el ejercicio



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<!doctype html>
<html lang="es">
	<head>
		<meta charset="UTF-8">
		<script type="text/javascript">
			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'];
			var numero = prompt("Escribe tu numero de DNI (sin la letra)");
			var letra = prompt("Escribe la letra de tu DNI en mayusculas").toUpperCase();
			if (numero < 0 || numero > 99999999) {
				alert("El numero indicado no es válido");
			}
			else {
				var letraCalculada = letras[numero % 23];
				if (letraCalculada != letra) {
					alert ("La letra introducida no es válida");
				}
				else {
					alert ("el número y letra introducidos son correctos");
				}
			}
 
		</script>
	</head>
	<body>
		<p>Esta página comprueba la letra del DNI</p>
	</body>
</html>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar