Início > Funções > Descobrindo o Dia da Semana

Descobrindo o Dia da Semana

Olá, estreiando nossa parte sobre Funções, um código para obter o dia da semana de qualquer data.

Seu funcionamento é muito simples. Você chama a função, informando uma data por parâmetro, e ela lhe retorna um número correspondente à data, dessa forma:

Retorna 0 se Domingo
Retorna 1 se Segunda
Retorna 2 se Terça
Retorna 3 se Quarta
Retorna 4 se Quinta
Retorna 5 se Sexta
Retorna 6 se Sábado

Para obter o resultado, devemos passar os três argumentos que correspondem ao dia, mes e ano, assim:

diaSemana([DIA,][MES,][ANO]);

Vamos ver agora como fica o corpo da função:

sub diaSemana(){
           my $dia = $_[0];
           my $mes = $_[1];
           my $ano = $_[2];
           my $d_semana=0;
           $d_semana=$ano+$dia+3*($mes-1)-1;
           if($mes<3){$ano--;}
           else{$d_semana-=int(0.4*$mes+2.3);}
           $d_semana+=int(($ano/4)-int((($ano/100+1)*0.75)));
           $d_semana%=7;
           return $d_semana;
}

Note que para pegar os argumentos, o Perl usa a array especial @_

Assim, em nosso script, para obter os três argumentos iniciais, informamos diretamente a posição destes ($_[0], $_[1] e $_[2]) para as respectivas variáveis locais (my) de destino.


Veja Funcionando:

[ Que Dia da Semana Caiu? ]


Veja o Código Completo:
(func-diasemana.pl)

#!/usr/bin/perl

print &diaSemana(13,4,2008);
# Mostrará na tela '0', porque 13/4/2008 caiu num Domingo.

sub diaSemana(){
           my $dia = $_[0];
           my $mes = $_[1];
           my $ano = $_[2];
           my $d_semana=0;
           $d_semana=$ano+$dia+3*($mes-1)-1;
           if($mes<3){$ano--;}
           else{$d_semana-=int(0.4*$mes+2.3);}
           $d_semana+=int(($ano/4)-int((($ano/100+1)*0.75)));
           $d_semana%=7;
           return $d_semana;
}
  1. Nenhum comentário ainda.
  1. No trackbacks yet.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: