Rutas
/
JavaScript
JavaScript
/
Ejercicios
/
Diario del capitán
Diario del capitán

Diario del capitán

Ejercicio de aprendizaje

Introducción

Muchos programas necesitan valores (pseudo)aleatorios para simular sucesos del mundo real.

Entre los ejemplos habituales y conocidos se incluyen:

  • El lanzamiento de una moneda: un valor aleatorio de entre ('H', 'T').
  • La tirada de un dado: un número entero aleatorio del 1 al 6.
  • Barajar una baraja de cartas: un orden aleatorio de una lista de cartas.
  • La creación de árboles y arbustos en una simulación de gráficos en 3D.

Generar valores verdaderamente aleatorios con un ordenador es un desafío técnico sorprendentemente difícil, y por eso también existen los generadores pseudoaleatorios.

Caution

¡La función Math.random() NO se debe usar en aplicaciones de seguridad ni criptográficas! Completa los ejercicios de aprendizaje sobre este concepto para saber más

Generar números aleatorios

En Javascript, puedes generar números pseudoaleatorios con la función Math.random(). Devuelve un número de coma flotante pseudoaleatorio entre el 0 (incluido) y el 1 (excluido).

Instrucciones

Mary es una gran admiradora de la serie de televisión Star Trek: La nueva generación. A menudo juega a juegos de rol de lápiz y papel, en los que ella y sus amigos fingen ser la tripulación de la nave estelar Enterprise. El personaje de Mary es el capitán Picard, lo que significa que tiene que llevar el diario del capitán. Le encanta la parte creativa del juego, pero no le gusta generar datos aleatorios sobre la marcha.

Ayuda a Mary creando generadores aleatorios para los datos que aparecen habitualmente en el diario del capitán.

1. Genera un número de registro de nave estelar aleatorio

¡La Enterprise (número de registro NCC-1701) no es la única nave estelar que surca el espacio! Cuando se encuentra con otra nave estelar, Mary necesita registrar el número de registro de esa nave.

Los números de registro empiezan por el prefijo "NCC-" y después usan un número del 1000 al 9999 (ambos incluidos).

Implementa la función randomShipRegistryNumber() que devuelve un número de registro de nave estelar aleatorio.

randomShipRegistryNumber();
// => "NCC-1947"

2. Genera una fecha estelar aleatoria

¿De qué sirve un diario si no incluye fechas?

Una fecha estelar es un número de coma flotante. Las aventuras de la nave estelar Enterprise de la primera temporada de La nueva generación transcurren entre las fechas estelares 41000.0 y 42000.0. El "4" representa el siglo XXIV y el "1" la primera temporada.

Implementa la función randomStardate que devuelve un número de coma flotante entre 41000.0 (incluido) y 42000.0 (excluido).

randomStardate();
// => 41458.15721310934

3. Genera un planeta aleatorio

La nave estelar Enterprise se encuentra con muchos planetas en sus viajes. Los planetas del universo de Star Trek se dividen en categorías según sus propiedades. Por ejemplo, la Tierra es un planeta de clase M. Todas las clases planetarias posibles son: D, H, J, K, L, M, N, R, T e Y.

Implementa la función randomPlanetClass(). Debe devolver una de las clases planetarias al azar.

randomPlanetClass();
// => "K"
Editar en GitHub El enlace se abre en una ventana o pestaña nueva
JavaScript Exercism

¿Listo para empezar Diario del capitán?

Regístrate en Exercism para aprender y dominar JavaScript con 37 conceptos159 ejercicios y mentoría humana real, todo gratis.