Algoritmo calendario sl
EJERCICIO 4
Dada una variable FECHA que representa un fecha en formato AAAAMMDD, imprimir si la misma es correcta. Losmeses deben estar entre 1 y 12.
El día debe estar entre 1 y el mayor para ese mes. */
var
año,mes,dia,fecha : numerico
esbisiesto : logico
inicio
cls ()imprimir ("Ingrese una fecha en formato AAAAMMDD")
leer (fecha)
año = int (fecha/10000)
mes = int (fecha/100) - año*100
dia = fecha - (mes*100 + año*10000)
imprimir("Fecha ingresada: ",año,"/",mes,"/",dia)
// año bisiesto
si ((año % 4 == 0) and ((año % 100 <> 0) or (año % 400 == 0)))
{ esbisiesto = TRUE
sinoesbisiesto = FALSE
}
// fin año bisiesto
si (mes==1 or mes==3 or mes==5 or mes==7 or mes==8 or mes==10 or mes==12)
{
si (1<=dia and 31>=dia)
{imprimir ("\nFecha correcta")
sino imprimir ("\nFecha incorrecta. El dia para el mes ",mes," debe estar entre 1 y 31")
}
sino si (mes==4 or mes==6 or mes==9 ormes==11)
si (1<=dia and 30>=dia)
{
imprimir ("\nFecha correcta")
sino imprimir ("\nFecha incorrecta. El dia para el mes ",mes," debe estarentre 1 y 30")
}
sino si (mes==2)
si (esbisiesto)
{
si (1<=dia and 29>=dia)
{
imprimir ("\nFecha correcta")
sino imprimir("\nFecha incorrecta. El dia para el mes ",mes," debe estar entre 1 y 29")
}
sino si (1<=dia and 28>=dia)
imprimir ("\nFecha correcta")
sinoimprimir ("\nFecha incorrecta. El dia para el mes ",mes," debe estar entre 1 y 28")
}
sino imprimir ("\nFecha incorrecta. El mes debe estar entre 1 y 12")
}
fin
Regístrate para leer el documento completo.