Todo mês, seu parceiro se encontra com o melhor amigo dele. Os dois têm agendas muito cheias, o que torna difícil encontrar uma data que funcione! Como você também tem uma agenda cheia, seu parceiro sempre confirma com você as possíveis datas do encontro:
Na ligação deste mês, seu parceiro te fez esta pergunta:
Sem entender, você pergunta o que é um dia "teenth". Seu parceiro explica que um dia "teenth", um conceito que ele inventou, refere-se aos dias do mês que terminam em '-teenth':
Como também há sete dias da semana, é garantido que cada dia da semana tenha exatamente um dia "teenth" por mês.
Agora que você entende o conceito de dia "teenth", confere seu calendário. Você não tem nada planejado para a quinta-feira "teenth", então confirma a data com seu parceiro alegremente.
Sua tarefa é encontrar a data exata de um encontro, dado um mês, um ano, um dia da semana e uma semana.
Há seis valores de semana a considerar: first, second, third, fourth, last, teenth.
Por exemplo, pode ser que você precise encontrar a data do encontro na primeira segunda-feira de janeiro de 2018 (1º de janeiro de 2018).
Da mesma forma, pode ser que você precise encontrar:
A semana teenth se refere aos sete dias de um mês que terminam em '-teenth' (13th, 14th, 15th, 16th, 17th, 18th e 19th).
Se pedirem para encontrar o sábado teenth de agosto de 1953, consultamos o calendário:
August 1953
Su Mo Tu We Th Fr Sa
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
Com isso, vemos que o sábado teenth é 15 de agosto de 1953.
Este exercício define um Subtipo chamado Month, para os números naturais de 1 a 12.
Um Subtipo pode ser pensado como um par ⟨x, h⟩, em que x é o valor e h é a prova de sua validade.
O valor dentro de um Subtipo (x, neste caso) pode ser acessado usando .val, por exemplo, x.val.
Sua prova pode ser acessada usando .property, por exemplo, x.property.
Ambos também podem ser acessados por casamento de padrões, como de costume.
Crie sua conta no Exercism para aprender e dominar Lean com 100 exercícios e mentoria humana de verdade, tudo de graça.