ADVERTENCIA: LOS SIGUIENTES ALGORITMO SE ENTREGA "COMO SON" ("AS IS") SiN GARANTIA DE NINGUN TIPO. DEBE REALIZAR LAS VERIFICACIONES CORRESPONDIENTES ANTES DE EMPLEARLOS PARA CUALQUIER FIN. SOLO TIENEN UNA FINALIDAD EDUCATIVA.

viernes, 16 de noviembre de 2012

Ejemplo de Algoritmo que determina el dia de semana al que corresponde una determinada fecha

En el siguiente enlace podrá encontrar el día de semana al que pertenece una fecha en particular, es deciar, si ingresa 16 de noviembre del 2012 devuelve: Viernes


//Basado en Wikipedia
Proceso DeterminaDiaSemana

Definir anio como entero;
Definir mes como entero;
Definir dia Como Entero;
Definir dias como cadena;
Definir w como entero;
Definir c como entero;
Definir dmc como entero;
Definir a como entero;
Definir b como entero;
Definir d como entero;
Definir a1 como entero;
Definir dm como entero;
Definir dml como entero;

Dimension dml[13];
Dimension dm[13];
Dimension dias[7];

Escribir "Ingrese el dia (1-31): ";
Leer dia;

Escribir "Ingrese mes (1-12): ";
Leer mes;

Escribir "Ingrese año: ";
Leer anio;

dm[1] <- 0;
dm[2] <- 3;
dm[3] <- 3;
dm[4] <- 6;
dm[5] <- 1;
dm[6] <- 4;
dm[7] <- 6;
dm[8] <- 2;
dm[9] <- 5;
dm[10] <- 0;
dm[11] <- 3;
dm[12] <- 5;

dml[1] <- 0;
dml[2] <- 3;
dml[3] <- 4;
dml[4] <- 0;
dml[5] <- 2;
dml[6] <- 5;
dml[7] <- 0;
dml[8] <- 3;
dml[9] <- 6;
dml[10] <- 1;
dml[11] <- 4;
dml[12] <- 6;


Si ((anio % 400 = 0)) | ((anio % 4 = 0) &  (anio % 100 > 0)) Entonces
dmc <- dml[mes];
Sino
dmc <- dm[mes];
FinSi




mes <- mes -1;

a1 <- anio - 1;
a <- trunc((a1)/100);
b <- trunc(3*(a+1)/4);
c <- trunc ((a1)/4);
d <-(c-b)%7;


dias[0] <- "Domingo";
dias[1] <- "Lunes";
dias[2] <- "Martes";
dias[3] <- "Miercoles";
dias[4] <- "Jueves";
dias[5] <- "Viernes";
dias[6] <- "Sabado";



w <- (a1%7 + d%7 + dia%7 + dmc%7 )%7;




Escribir "La fecha indicada es del dia ",dias[w];


FinProceso

No hay comentarios:

Publicar un comentario