Flashcard FC368481
Como calcular a n-ésima ocorrência de um dia da semana em um mês usando deslocamento em módulo 7 entre datas?
Exercícios Envolvendo Datas e Calendários
Instituto Consulplan · 2024
Como calcular a n-ésima ocorrência de um dia da semana em um mês usando deslocamento em módulo 7 entre datas?
Mostrar resposta e comentário
Resposta
Calcule o deslocamento (mod 7) entre a data de referência e o 1º do mês alvo, determine o dia da semana do dia 1, ache a 1ª ocorrência com \(1+((t-w_1+7)\bmod7)\) e some \(7\cdot(n-1)\).
Explicação:
1) Conte os dias entre a data de referência e o 1º do mês alvo e calcule \(D\equiv D\pmod7\).
2) Dia da semana do dia 1: \(w_1 \equiv w_{ref}+D\pmod7\).
3) Dia do mês da 1ª ocorrência do dia desejado \(t\): \(first = 1+((t-w_1+7)\bmod7)\).
4) Dia do mês da n-ésima ocorrência: \(day = first + 7\cdot(n-1)\).
Exemplo:
Suponha que 10 de março é terça (mapeando: segunda=1, terça=2, quarta=3, quinta=4, ...). Queremos a 3ª quinta de abril.
\(D = 31-10+1 = 22,\; 22\equiv1\pmod7\).
\(w_1 = 2+1 = 3\) (quarta, portanto 1º de abril é quarta).
\(first = 1+((4-3+7)\bmod7)=1+1=2\) (1ª quinta = 2 de abril).
3ª quinta: \(2 + 7\cdot(3-1)=2+14=16\).
Resposta: 16 de abril.
Explicação:
1) Conte os dias entre a data de referência e o 1º do mês alvo e calcule \(D\equiv D\pmod7\).
2) Dia da semana do dia 1: \(w_1 \equiv w_{ref}+D\pmod7\).
3) Dia do mês da 1ª ocorrência do dia desejado \(t\): \(first = 1+((t-w_1+7)\bmod7)\).
4) Dia do mês da n-ésima ocorrência: \(day = first + 7\cdot(n-1)\).
Exemplo:
Suponha que 10 de março é terça (mapeando: segunda=1, terça=2, quarta=3, quinta=4, ...). Queremos a 3ª quinta de abril.
\(D = 31-10+1 = 22,\; 22\equiv1\pmod7\).
\(w_1 = 2+1 = 3\) (quarta, portanto 1º de abril é quarta).
\(first = 1+((4-3+7)\bmod7)=1+1=2\) (1ª quinta = 2 de abril).
3ª quinta: \(2 + 7\cdot(3-1)=2+14=16\).
Resposta: 16 de abril.
Veja como foi cobrado:
https://flashcardsconcursos.com.br/portal/flashcard/365093
Conteúdo do catálogo FC Concursos · Atualizado em