Los encantamientos de Elyse


Historia

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

Para que todo sea 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 lidiar ú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:

  • Obtener una carta de la 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
  • Consultar el tamaño de la pila

Esta historia se 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 valor impar
  • Obtener la primera carta impar de la pila
  • Determinar la posición de la primera carta que sea par

Esta historia se 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 de la mitad exacta de la baraja
  • Las dos cartas de los extremos reaparecerán en el medio de la baraja
  • Toda carta que no sea 2 desaparece
  • Convertir una baraja mezclada en una baraja perfectamente ordenada
  • Cambiar cada carta por el número total de cartas

Esta historia se 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 las figuras (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 del stub)

  • La protagonista es Elyse y sus pronombres son she/her. Si necesitas referirte al personaje, usa el nombre o sus pronombres.
  • En lugar de array (o el tipo de dato 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 actor 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 que quieres reordenar cartas:

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

Implementaciones

Referencia