Преступна година

Из Википедије, слободне енциклопедије

Преступна година је година која има 366 дана, за разлику од осталих година које имају 365 дана. Разлог томе је усклађивање календарске године са астрономском годином, да не би с временом Нова година пала у лето, а грожђе дозревало у децембру или јануару. Тако месец фебруар, који иначе има 28 дана, у преступној години има 29 дана.

Године које нису преступне се зову просте године.

Преступне године су све дељиве с 4, ако нису дељиве са 100, мада ипак јесу ако су дељиве са 400.

Дакле године 1800, 1900. и 2100. нису преступне, док 1600, 2000. и 2400. јесу (све ово се односи на грегоријански календар).

Алгоритам[уреди]

На основу правила која одређују преступну годину се дâ формирати алгоритам, који даје позитиван одговор ако је задовољен следећи скуп услова:

  1. број године дељив са четири, и
  2. важи једно од следећа два:
    • број године није дељив са 100
    • број године је дељив са 400

Имплементација[уреди]

Разне имплементације ове функције су могуће на постојећим програмским језицима. Нпр. C-функција, која враћа 1 уколико је година преступна, а иначе 0, би гласила:

int prestupna(int godina)
{
  return
    !(godina & 4)          // број године дељив са 4?
    &&
    (
      godina % 100         // број године није дељив са 100?
      || !(godina/100 & 4) // број године дељив са 400?
    );
}


У Pascal-у функција за одређивање преступне године изгледа на следећи начин:

Function Prestupna (Godina : Integer) : Boolean;
Begin
   If ((Godina mod 400=0) or 
      ((Godina mod 100<>0) and (Godina mod 4=0))) Then Prestupna:=TRUE
                                                  Else Prestupna:=FALSE;
End;

Спољашње везе[уреди]

Викиостава
Викимедијина остава има још мултимедијалних датотека везаних за: Преступна година