Páscoa - Festas Móveis
Publicado por Khayla Elias dos Santos (última atualização em 09/06/2014)
[ Hits: 3.751 ]
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]}"
Armazenando as fotos de seus contatos do aMSN
Atheros AR242x Script de Instalaçao
Backup de arquivos importantes e MySQL
Verifica duplicação de IPs na rede
Script que execulta 5000 pastas -DarkLooping-
Kernel 6.18 em foco, betas fervilhando e avanços em IA no Linux
O que é o THP na configuração de RAM do Linux e quando desabilitá-lo
Comparação entre os escalonadores BFQ e MQ-Deadline (acesso a disco) no Arch e Debian
Adicionando o repositório backports no Debian 13 Trixie
Como definir um IP estático no Linux Debian
Fedora não reconhece James Donkey 102 Wireless Gaming Mouse (0)
intervenção politica pode interver no Fedora Linux (6)