SoloCodigo

Programación General => Pascal => Mensaje iniciado por: _.B._ en Miércoles 4 de Febrero de 2004, 20:27

Título: Años Bisiestos (#4).
Publicado por: _.B._ en Miércoles 4 de Febrero de 2004, 20:27
Algo necesitado con frecuencia, es saber si un año es o no bisiesto.
Para ello, diseñé éste sencillo código:

Código: Text
  1.     FUNCTION Bisiesto (Anio:INTEGER):BOOLEAN;
  2.       BEGIN
  3.         Bisiesto:=FALSE;
  4.         IF Anio MOD 400 = 0 THEN
  5.           Bisiesto:=TRUE
  6.         ELSE
  7.           IF Anio MOD 100 = 0 THEN
  8.             Bisiesto:=FALSE
  9.           ELSE
  10.             IF Anio MOD 4 = 0 THEN
  11.               Bisiesto:=TRUE
  12.       END;
  13.  
  14.  

Bueno, estos 4 por ahora.
Suerte, y espero les sirvan.
A programar!.

Bernardo L. :comp:
Título: Re: Años Bisiestos (#4).
Publicado por: Enko en Miércoles 4 de Febrero de 2004, 22:59
:o  No habia visto una funcion que identifica un año bisiesto tan corta.
 ¡Me la copio YA!
Gracias por pasarlo a la pagina , mas personbas deberian hacerlo asi se podrian
ver otros ejemplos de la buena programacion B)
Título: Re: Años Bisiestos (#4).
Publicado por: CiRRuS en Miércoles 4 de Febrero de 2004, 23:11
Estos son de los algoritmos que vale la pena para cualquier lenguaje, no solo para pascal, codigo limpio y a primera vista (y despues de varias pruebas  :comp: ) eficiente.

Pascal no programo casi nada, pero para C y demás viene de maravilla  :D .

Thks. Nos vemos
Título: Re: Años Bisiestos (#4).
Publicado por: BlackTigerX en Viernes 6 de Febrero de 2004, 15:19
Código: Text
  1.  
  2. function Bisiesto(Anio: Integer): Boolean;
  3. begin
  4.   Bisiesto:= (Anio mod 4 = 0) and ((Anio mod 100 <> 0) or (Anio mod 400 = 0));
  5. end;
  6.  
  7.  
salu2
Título: Re: Años Bisiestos (#4).
Publicado por: Enko en Viernes 6 de Febrero de 2004, 15:24
BlackTiger  :
                   Eso lo que yo llamo  un algoritmo eficaz :comp: !
Título: Re: Años Bisiestos (#4).
Publicado por: TempWin en Sábado 7 de Febrero de 2004, 00:50
Vaya, BlackTigerX, yo cree un programa que tiene el mismo código que tú  :P

Gracias por la aportación!
Título: Re: Años Bisiestos (#4).
Publicado por: BlackTigerX en Sábado 7 de Febrero de 2004, 15:51
si pues, este codigo ya es viejo, yo no lo cree... me imagino que tendra muchos años en circulacion... solo lo comparto con ustedes
Título: Re: Años Bisiestos (#4).
Publicado por: elmango80 en Jueves 11 de Marzo de 2004, 10:13
FELICITACIONES

En todos los años que estuve programando en Pascal nunca me encontre con un algoritmo tan corto y tan efectivo....


:devil: ---------------------- :angel:
Título: Re: Años Bisiestos (#4).
Publicado por: flog en Lunes 30 de Mayo de 2005, 18:24
Yo tengo una mas corta todavia!!!

function Bisiesto(Anio: Integer): Boolean;
begin
 Bisiesto:= (Anio mod 4 = 0)
end;

Todos los años multiplos de 4 del año 2000 seran bisiestos!!! jejeje

 ;)
Título: Re: Años Bisiestos (#4).
Publicado por: Lastent en Martes 31 de Mayo de 2005, 20:29
BlackTigerX no veo que no usas estructuras de control, entonces una pregunta sabes como cambiar dos filas de un  arreglo sin extructuras de control?????
Título: Re: Años Bisiestos (#4).
Publicado por: JrcsDev en Sábado 8 de Julio de 2006, 05:18
emmm... tengo una duda: no se supone que para saber si un año es bisiesto solo debemos obtener el residuo de dividirlo entre 4??? o sea solo: anio mod 4 = 0...

Creo que eso es suficiente =S
Título: Re: Años Bisiestos (#4).
Publicado por: Enko en Sábado 8 de Julio de 2006, 14:19
Cita de: "leon-binario"
emmm... tengo una duda: no se supone que para saber si un año es bisiesto solo debemos obtener el residuo de dividirlo entre 4??? o sea solo: anio mod 4 = 0...

Creo que eso es suficiente =S
yo siempre pense lo mismo, con tal de que sea multiplo de 4 debe de ser suficiente. :rolleyes:

(esto sobre el codigo del primer post:
400 es multiplo de 4 al igual que 100, por eso el 4 es lo qe importa)