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