Algoritmo bisiesto

Descripción general

En programación, el algoritmo para calcular si un año es bisiesto es un algoritmo útil para la realización de calendarios.


↑↑↑

Como calcular un año bisiesto en Visual Basic .NET

La regla para los años bisiestos según el calendario gregoriano es:

Un año es bisiesto si es divisible por 4, excepto el último de cada siglo (aquel divisible por 100), salvo que este último sea divisible por 400.

Es decir los años que sean divisibles por 4 serán bisiestos; aunque no serán bisiestos si son divisibles entre 100 (como los años 1700, 1800, 1900 y 2100) a no ser que sean divisibles por 400 (como los años 1600, 2000 ó 2400)

En programación, el algoritmo para calcular si un año es bisiesto es un algoritmo útil para la realización de calendarios.

Considérese las siguientes proposiciones o enunciados lógicos:

La fórmula lógica que se suele usar para establecer si un año es bisiesto sería cuando [p y ¬q] ó [r] es verdadera, pero esta otra p y [¬q ó r] sería más eficiente.

''' <summary>
'''  Determina si un año es Bisiesto o no
''' </summary>
''' <param name="YYYY"> el año que se analiza</param>
''' <returns>
'''    <para>Un valor logico que indica:</para>
'''    <para>TRUE, si es año bisieto</para>
'''    <para>FALSE no es bisiesto</para>
''' </returns>
''' <remarks>
'''  Algoritmo bisiesto - De Wikipedia, la enciclopedia libre
''' <code>http://es.wikipedia.org/wiki/Algoritmo_bisiesto</code> 
''' <para>Un año es bisiesto si es divisible entre 4, excepto aquellos divisibles entre 100 pero no entre 400.</para>
''' <para>Considérese las siguientes proposiciones o enunciados lógicos:</para>
''' <para> p: Es divisible entre 4 </para>
''' <para>¬q: No es divisible entre 100 </para>
''' <para> r: Es divisible entre 400 </para>
''' <para> La fórmula lógica que se suele emplear para establecer si un año es bisiesto o no
'''        es cuando el resultado [p y ¬q] ó [r] es verdadero, 
'''        pero esta otra expresion p y [¬q ó r] = Verdad es más eficiente.</para>
'''</remarks>
Public Shared Function IsAñoBisiesto(ByVal YYYY As Integer) As Boolean
    Return YYYY Mod 4 = 0 _
                And (YYYY Mod 100 <> 0 Or YYYY Mod 400 = 0)
End Function

''' <summary>
'''  Es año bisiesto (Si,No)
''' </summary>
''' <param name="YYYY">el año empleado para el calculo</param>
Public Shared Function IsAñoBisiesto2(ByVal YYYY As Integer) As Boolean
    Return Date.IsLeapYear(YYYY)
End Function

''' <summary>
'''  Es año bisiesto (Si,No)
''' </summary>
''' <param name="unaFecha">La fecha empleada para el calculo</param>
Public Shared Function IsLeapYear(ByVal unaFecha As DateTimeOffset) As Boolean
    Return Date.IsLeapYear(unaFecha.Year)
End Function

↑↑↑

A.2.Enlaces

[Para saber mas]
[Grupo de documentos]
[Documento Index]
[Documento Start]
[Imprimir el Documento]
© 1997 - - La Güeb de Joaquín
Joaquin Medina Serrano
Ésta página es española