Encantamentos de Elyse


História

Como aspirante a mágica, Elyse precisa praticar alguns fundamentos. Ela tem uma pilha de cartas que quer manipular.

Para facilitar um pouco as coisas, ela usa apenas as cartas de 1 a 10.

Limitamos os valores das cartas de 1 a 10, para lidar apenas com números, de modo que os exercícios que usam esta história precisem recorrer apenas a números.

Tarefas

Estes são exemplos de tarefas que combinam com a história de Elyse sendo iniciante:

  • Recuperar uma carta de uma pilha
  • Trocar uma carta na pilha
  • Inserir uma carta no topo da pilha
  • Remover uma carta da pilha
  • Remover a carta do topo da pilha
  • Inserir uma carta na base da pilha
  • Remover uma carta da base da pilha
  • Verificar o tamanho da pilha

Esta história pode continuar para também ensinar análise de arrays:

  • Encontrar a posição de uma carta
  • Determinar se uma carta está presente
  • Determinar se cada carta é par
  • Verificar se a pilha contém uma carta de valor ímpar
  • Obter a primeira carta ímpar da pilha
  • Determinar a posição da primeira carta par

Esta história pode continuar para também ensinar transformações de arrays:

  • Dobrar cada uma das cartas
  • Criar várias cópias de cada 3 encontrado no baralho
  • Encontrar duas cartas exatamente no meio do baralho
  • As duas cartas das pontas reaparecem no meio do baralho
  • Toda carta que não for 2 desaparece
  • Converter um baralho embaralhado em um baralho perfeitamente ordenado
  • Trocar cada carta pelo número total de cartas

Esta história pode continuar para também ensinar desestruturação de arrays:

  • Obter a primeira carta (sem métodos convencionais, por exemplo, indexador ou métodos)
  • Obter a segunda carta (sem métodos convencionais, por exemplo, indexador ou métodos)
  • Trocar as duas primeiras cartas (sem métodos convencionais, por exemplo, indexador ou métodos)
  • Descartar a carta do topo (sem métodos convencionais, por exemplo, indexador ou métodos)
  • Inserir cartas de figura (sem métodos convencionais, por exemplo, indexador ou métodos)

Terminologia

Estas são recomendações, não regras, para a terminologia recorrente nas instruções (incluindo os comentários de stub)

  • A personagem principal é Elyse e seus pronomes são ela/dela. Se você precisar indicar a personagem, use o nome ou se refira a ela pelo(s) pronome(s).
  • Em vez de array (ou tipo de dados equivalente), use a palavra pilha ou pilha de cartas
  • Em vez de element, use a palavra carta
  • Em vez de length, use tamanho da pilha
  • A carta do topo é o primeiro elemento
  • A carta de baixo é o último elemento

Implementações

Versão alternativa

Uma versão alternativa da história usa você (o estudante) como protagonista e foca apenas em reorganizar o baralho.

História

Você é um mágico e usa um baralho de cartas. Para executar seu truque de mágica corretamente, você precisa conseguir mover uma carta de uma posição para outra. Ou seja, você precisa conseguir reorganizar o baralho. Naturalmente, você quer conseguir mover cartas nas duas direções, e conseguir dizer "do topo do baralho" ou "de baixo do baralho".

Tarefas

Estes são exemplos de tarefas que combinam com a história de você querer reorganizar cartas:

  • Implemente uma função arrange que move uma carta em uma pilha de uma posição dada para outra, retornando uma nova pilha
  • Implemente uma função rearrange que faz o mesmo, mas alterando a pilha original

Implementações

Referência