Os encantamentos da Elyse


História

Enquanto aspirante a mágica, a Elyse precisa de praticar o básico. Tem uma pilha de cartas que quer manipular.

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

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

Tarefas

Estes são exemplos de tarefas que se enquadram na história de a Elyse ser principiante:

  • Obter 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 no fundo da pilha
  • Remover uma carta do fundo 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 que é par

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

  • Duplicar cada carta
  • Criar várias cópias de cada 3 encontrado no baralho
  • Encontrar duas cartas exatamente no meio do baralho
  • As duas cartas exteriores reaparecem no meio do baralho
  • Cada carta que não seja 2 desaparece
  • Converter um baralho baralhado num baralho perfeitamente ordenado
  • Alterar cada carta para o 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 figuras (sem métodos convencionais, por exemplo indexador ou métodos)

Terminologia

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

  • A personagem principal é a Elyse e os seus pronomes são she/her. Se precisares de indicar a personagem, usa o nome ou refere-te a ela pelo(s) seu(s) pronome(s).
  • Em vez de array (ou tipo de dados equivalente), usa a palavra pilha ou pilha de cartas.
  • Em vez de element, usa a palavra carta.
  • Em vez de length, usa tamanho da pilha.
  • A carta do topo é o primeiro elemento.
  • A carta do fundo é o último elemento.

Implementações

Versão alternativa

Uma versão alternativa da história usa tu (o estudante) como ator e centra-se apenas em reorganizar o baralho.

História

És um mágico e usas um baralho de cartas. Para executares corretamente o teu truque de magia, tens de conseguir mover uma carta de uma posição para outra. Ou seja, tens de conseguir reorganizar o baralho. Naturalmente, queres conseguir mover cartas nas duas direções e conseguir dizer "do topo do baralho" ou "do fundo do baralho".

Tarefas

Estes são exemplos de tarefas que se enquadram na história de quereres reorganizar cartas:

  • Implementa uma função arrange que move uma carta numa pilha de uma posição dada para outra, devolvendo uma nova pilha
  • Implementa uma função rearrange que faz o mesmo, alterando a pilha original

Implementações

Referência