miércoles, 19 de octubre de 2011

Algoritmo Pseint - Dia, segun la fecha

11. Sabiendo que el día 1 de enero de 1.583 fue sábado y que desde entonces no se han producido modificaciones en el calendario, elaborar un algoritmo para calcular el día de la semana en que cayó o caerá una fecha cualquiera posterior al 1 de enero de 1.583. Nota: Un año se considera bisiesto cuando es divisible por 400 o bien es divisible por 4 pero no por 100.



Proceso dia
escribir 'Diganos la fecha y sabra que dia de la semana cayo o caera'
escribir ' '
Escribir 'Digite el anio'
Leer A
Escribir 'Digite el numero del Mes'
Leer M
Escribir 'Digite el numero del dia'
Leer D
da<-(A - 1583) * 365
avi <- 1584
Mientras  avi <= (a - 1) Hacer

si (avi Mod 100) <> 0 o (avi Mod 400) = 0 Entonces

    



//En cada bisiesto se suma un día más

da <- da + 1

            


FinSi

            
avi <- avi + 4
FinMientras
     
//' Se calcula los días de cada mes en el año seleccionado
para mi<- 1 hasta m-1 Hacer

si mi = 2 Entonces

si (a Mod 4) = 0 y ((a Mod 100) <> 0 o (a Mod 400) = 0) entonces

da <- da + 29

        
sino
da <- da + 28
finsi
sino
si mi = 4 O mi = 6 O mi = 9 O mi = 11 entonces
da <- da + 30
sino
da <- da + 31
finsi
FinSi

FinPara

//Se suman los días

da <- da + (d - 1)

//Se calcula el día de semana de acuerdo a los días contados

r <- da Mod 7

//El día 0 es sabado.

si r = 0 entonces

Escribir "Es sabado."

FINSI

si r = 1 entonces

Escribir "Es domingo."

FINSI

si r = 2 entonces
Escribir "Es lunes."
FINSI
si r = 3 entonces
Escribir "Es martes."
FINSI
si r = 4 entonces
Escribir "Es miercoles."
FINSI
si r = 5 entonces
Escribir "Es jueves."
FINSI
si r = 6 entonces
Escribir "Es viernes."
FINsi



FinProceso

8 comentarios:

Anónimo dijo...

Hola que tal, nunca me imagine que la solución a este caprichoso algoritmo lo encontrara en este blog. Muchas gracias... :D

Saludos desde Colombia, Valle del Cauca

Jhonatan Plata dijo...

De nada.. Cuando me lo Pusieron en la Universidad demoré todo 1 día pensando en como hacerlo, Y Cuando al fin lo Logré me puse muy contento. Decidí montarlo en mi Blog para compartirlo con todos ustedes. Es muy reconfortante recibir los agradecimientos de ustedes.

Anónimo dijo...

buenas noches, mi nombre es Sly, hay un problema en tu codigo el cual es q podemos ingresar cualquier numero tanto en mes como en dia, te digo un una cosa teniendo en cuenta si queremos saber cual fue el primer dia, ejemplo dia 1 mes 1 y año 00, sabiendo que el primer dia fue domingo y teniendo en cuenta si es año bisiesto o no, espero q puedas enviarme una solucion a este problema, mi correo es felino_1238@hotmail.com,

Anónimo dijo...

Uff me lo pusieron el universidad y te lo juro no era capaz de plantearlo .... excelente

muchas gracias

santiago gil parrado dijo...

Excelente muy buen aporte (y)

Leidycita dijo...

Ahora mi profesora pide que teniendo en cuenta la fecha ingresada por un Usuario (actual), la aplicacion determine que dia serà mañana = S, por fis ayudame con tus aportes !!
lejobm@gmail.com

Anónimo dijo...

Mi respetos eso nos pusieron aka en la u lasudos de los chicos del cursoi spn 18 nos salavaste la vida gracias ahora si puedes hacer la variante q dijo la chica de lo agradeceria

Cristian Bossio dijo...

necesito ayuda con este algoritmo porfa
Diseñar un algoritmo haciendo uso del condicional Si-Sino que lea una fecha con el formato DD/MM/AA y muestre por pantalla la fecha del día siguiente, en caso de que la fecha sea inválida mostrar por pantalla un mensaje de error. Ejemplo 1: DATOS DE ENTRADA 29 02 2013 SALIDA FECHA INVALIDA (Año 2013 no es bisiesto) Ejemplo 2: DATOS DE ENTRADA 32 01 2013 SALIDA FECHA INVALIDA (No existe día 32) Ejemplo 3: DATOS DE ENTRADA 30 09 2013 SALIDA "Hoy es 30 de Septiembre de 2013" "Mañana será 1 de Octubre de 2013"

Publicar un comentario en la entrada

Si este Post fue de tu interés, te agradeceriamos un comentario, y le dieras ME GUSTA a nuestra pagina en Facebook. Estaré muy agradecido de mi Parte.. Att: Jhonatan Plata - Administrador

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | cheap international calls