Rutas
/
MIPS Assembly
MIPS Assembly
/
Ejercicios
/
Verificador de ISBN
Verificador de ISBN

Verificador de ISBN

Fácil

Instrucciones

El proceso de verificación del ISBN-10 se utiliza para validar números de identificación de libros. Normalmente contienen guiones y tienen este aspecto: 3-598-21508-8

ISBN

El formato ISBN-10 consta de 9 dígitos (del 0 al 9) más un carácter de control (que puede ser un dígito o una X solamente). En el caso de que el carácter de control sea una X, esta representa el valor '10'. Pueden escribirse con o sin guiones, y su validez puede comprobarse con la siguiente fórmula:

(d₁ * 10 + d₂ * 9 + d₃ * 8 + d₄ * 7 + d₅ * 6 + d₆ * 5 + d₇ * 4 + d₈ * 3 + d₉ * 2 + d₁₀ * 1) mod 11 == 0

Si el resultado es 0, el ISBN-10 es válido; en caso contrario, no es válido.

Ejemplo

Tomemos el ISBN-10 3-598-21508-8. Lo sustituimos en la fórmula y obtenemos:

(3 * 10 + 5 * 9 + 9 * 8 + 8 * 7 + 2 * 6 + 1 * 5 + 5 * 4 + 0 * 3 + 8 * 2 + 8 * 1) mod 11 == 0

Como el resultado es 0, esto demuestra que nuestro ISBN es válido.

Tarea

Dado un string, el programa debe comprobar si el string proporcionado es un ISBN-10 válido. Llevar esto a cabo requiere pensar un poco en el preprocesamiento y el análisis del string antes de calcular el dígito de control del ISBN.

El programa debe ser capaz de verificar ISBN-10 tanto con guiones de separación como sin ellos.

Advertencias

Convertir strings en números puede ser complicado en ciertos lenguajes. Ahora es aún más complicado, ya que el dígito de control de un ISBN-10 puede ser 'X' (que representa '10'). Por ejemplo, 3-598-21507-X es un ISBN-10 válido.

Registros

Registro Uso Tipo Descripción
$a0 entrada dirección string de entrada terminado en nulo
$v0 salida Boolean ISBN válido (0 = false, 1 = true)
$t0-9 temporal cualquiera se usan para almacenamiento temporal
Editar en GitHub El enlace se abre en una ventana o pestaña nueva
MIPS Assembly Exercism

¿Listo para empezar Verificador de ISBN?

Regístrate en Exercism para aprender y dominar MIPS Assembly con 70 ejercicios y mentoría humana real, todo gratis.