Páscoa - Festas Móveis
Publicado por Khayla Elias dos Santos (última atualização em 09/06/2014)
[ Hits: 3.557 ]
Homepage: https://linktr.ee/khayla.elias
Calcula datas de feriados nacionais móveis baseados na Páscoa através do algoritmo de Jean Baptiste Joseph Delambre.
Exemplo de uso:
$ pascoa 2014
O parâmetro de entrada é opcional, caso se refira ao ano corrente.
#!/bin/bash # Calculo dos Feriados Nacionais baseados na Pascoa através do # Algoritmo de Jean Baptiste Joseph Delambre (1749 – 1822). # # Por: Alexandre Elias dos Santos (aleniac@yahoo.com.br) # confere parametro de entrada if [ $# != 0 ]; then if [ $1 -ge 1583 ]; then y=$1 else echo "Erro: Ano deve ser maior ou igual a 1583!" exit 1 fi else y=`date +%Y` fi #testa ano bissexto para calendario gregoriano function bissexto(){ local y=$1 if ([ $(($y % 4)) -eq 0 ] && [ $(($y % 100)) -ne 0 ]) || [ $(($y % 400)) -eq 0 ] then return 1 else return 0 fi } # bissexto – retorna 1 se ano for bissexto, caso contrario 0. # vetores para armazenar dia e mes dos feriados moveis (carnaval, paixao, pascoa, corpus) vdia=(0 0 0 0) vmes=(0 0 0 0) # vetor para saida do teste de ano bissexto bis=("nao" "sim") #calcula pascoa a=$(($y % 19)) b=$(($y / 100)) c=$(($y % 100)) d=$(($b / 4)) e=$(($b % 4)) f=$((($b + 8 ) / 25)) g=$((($b -$f + 1) / 3)) h=$(((19 * $a + $b - $d - $g + 15) % 30)) i=$(($c / 4)) k=$(($c % 4)) l=$(((32 + 2 * $e + 2 * $i - $h - $k) % 7)) m=$((($a + 11 * $h + 22 * $l) / 451)) p=$((($h + $l - 7 * $m + 114) / 31)) q=$((($h + $l - 7 * $m + 114) % 31)) q=$(($q + 1)) vdia[2]=$q vmes[2]=$p #verifica se ano e’ bissexto bissexto $y bi=$? # calcula Sexta da Paixao if [ $q -le 2 ]; then vdia[1]=$((29 + $q)) # dia vmes[1]=3 #mes else vdia[1]=$(($q - 2)) # dia vmes[1]=$p # mes fi # calcula terça de Carnaval if [ $p -eq 4 ]; then if [ $q -le 16 ]; then vdia[0]=$((12 + $bi + $q)) vmes[0]=2 else vdia[0]=$(($q - 16)) vmes[0]=3 fi else vdia[0]=$(($bi + $q - 19)) vmes[0]=2 fi # calcula quinta de Corpus vdia[3]=$(($q - 1)) if [ $p -eq 3 ]; then vmes[3]=5 else if [ $q -eq 1 ]; then vdia[3]=31 vmes[3]=5 else vmes[3]=6 fi fi # saidas echo "Datas das Festas Moveis em $y" echo "Algoritmo de Delambre (1749 - 1822)" echo echo -e "Ano Bissexto: \t${bis[$bi]}" echo -e "Carnaval: \t${vdia[0]}/${vmes[0]}" echo -e "Paixao: \t${vdia[1]}/${vmes[1]}" echo -e "Pascoa: \t${vdia[2]}/${vmes[2]}" echo -e "Corpus: \t${vdia[3]}/${vmes[3]}"
MPlayer em modo texto com desligamento programado do sistema
Instalação Zabbix-agent CentOS 6
Jogo da velha para dois jogadores
Identificando sinal de rede sem fio em modo texto
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (15)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)
Pendrive não formata de jeito nenhum (4)