Los encantamientos de Elyse


Historia

Como aspirante a maga, Elyse necesita practicar algunos conceptos básicos. Tiene una pila de cartas que quiere manipular.

Para ponérselo un poco más fácil, solo usa las cartas del 1 al 10.

Limitamos los valores de las cartas del 1 al 10 para tener que tratar únicamente con números, de modo que los ejercicios que usen esta historia solo necesiten depender de números.

Tareas

Estos son ejemplos de tareas que encajan con la historia de Elyse como principiante:

  • Recuperar una carta de una pila
  • Intercambiar una carta de la pila
  • Insertar una carta en la parte superior de la pila
  • Eliminar una carta de la pila
  • Eliminar la carta superior de la pila
  • Insertar una carta en la parte inferior de la pila
  • Eliminar una carta de la parte inferior de la pila
  • Comprobar el tamaño de la pila

Esta historia puede continuar para enseñar también el análisis de arrays:

  • Encontrar la posición de una carta
  • Determinar si una carta está presente
  • Determinar si cada carta es par
  • Comprobar si la pila contiene una carta con un valor impar
  • Obtener la primera carta impar de la pila
  • Determinar la posición de la primera carta que sea par

Esta historia puede continuar para enseñar también las transformaciones de arrays:

  • Duplicar cada una de las cartas
  • Crear varias copias de cada 3 que aparezca en la baraja
  • Encontrar dos cartas justo del centro de la baraja
  • Las dos cartas de los extremos reaparecerán en el centro de la baraja
  • Todas las cartas que no sean 2 desaparecen
  • Convertir una baraja desordenada en una baraja perfectamente ordenada
  • Cambiar cada carta por el número total de cartas

Esta historia puede continuar para enseñar también la desestructuración de arrays:

  • Obtener la primera carta (sin métodos convencionales, p. ej. un indexador o métodos)
  • Obtener la segunda carta (sin métodos convencionales, p. ej. un indexador o métodos)
  • Intercambiar las dos primeras cartas (sin métodos convencionales, p. ej. un indexador o métodos)
  • Descartar la carta superior (sin métodos convencionales, p. ej. un indexador o métodos)
  • Insertar cartas con figura (sin métodos convencionales, p. ej. un indexador o métodos)

Terminología

Estas son recomendaciones, no reglas, para la terminología recurrente en las instrucciones (incluidos los comentarios de los stubs)

  • La protagonista es Elyse y sus pronombres son she/her. Si necesitas indicar el personaje, usa el nombre o refiérete a ella con su(s) pronombre(s).
  • En lugar de array (o el tipo de datos equivalente), usa la palabra pila o pila de cartas
  • En lugar de element, usa la palabra carta
  • En lugar de length, usa tamaño de la pila
  • La carta superior es el primer elemento
  • La carta inferior es el último elemento

Implementaciones

Versión alternativa

Una versión alternativa de la historia usa tú (el estudiante) como protagonista y se centra únicamente en reordenar la baraja.

Historia

Eres mago y manejas una baraja de cartas. Para ejecutar correctamente tu truco de magia, necesitas poder mover una carta de una posición a otra. Es decir, necesitas poder reordenar la baraja. Naturalmente, quieres poder mover cartas en ambas direcciones y poder decir «desde la parte superior de la baraja» o «desde la parte inferior de la baraja».

Tareas

Estos son ejemplos de tareas que encajan con la historia de querer reordenar cartas:

  • Implementa una función arrange que mueva una carta de una pila de una posición dada a otra y devuelva una pila nueva
  • Implementa una función rearrange que haga lo mismo, mutando la pila original

Implementaciones

Referencia