Sprawdzanie czy dany rok jest przestępny.
Algorytmy i sposoby ręcznego liczenia.



Laboratorium Cybermoon Laboratorium Cybermoon - Użyj tego programu do sprawdzenia przestępności danego roku z przedziału lat: (-5000/2000000).


Zobacz także:
Podstawowe algorytmy astronomiczne - Cybermoon



W dniu 15.10.1582 wprowadzono Kalendarz Gregoriański, który zastąpił mniej dokładny Kalendarz Juliański. Zmieniono wtedy liczenie lat przestępnych, system taki obowiązuje do dziś:


Rok jest zwykły jeśli nie dzieli się przez 4,
Rok jest przestępny jeśli dzieli się przez 4, chyba że ...
- ... dzieli się przez 100 - zwykły, chyba że
- ... dzieli się przez 400, jest wtedy przestępny.


Jak widać system jest bardziej skomplikowany niż ten, który obowiązywał wcześniej (czyli Rok przestępny dzielił się tylko przez 4). W Obecnym systemie dodano także podzielności przez 100 i 400 dzięki czemu nasz kalendarz jest dużo dokładniejszy, i bardziej zsynchronizowany z ruchem obiegowym Ziemi. To dlatego rok 1896 był przestępny, a rok 1900 już nie, gdyż był podzielny przez 100.

Algorytmy:





Funkcja sprawdzająca przestępność podanego roku napisana w języku Pascal (zwraca wartość true (prawda) dla lat przestępnych i false (fałsz) dla zwykłych:

function rokprzestepny(x:word):boolean;
begin
 if x mod 4 =0 then rokprzestepny:=true else rokprzestepny:=false;
 if x mod 100=0 then
    if x mod 400 =0 then rokprzestepny:=true else
    rokprzestepny:=false;
end;





Funkcja w języku C++ sprawdzająca czy rok jest przestępny (zwraca wartość 0 dla lat zwykłych i 1 dla przestępnych):

int rokprzestepny(int x)
 {
  int a;
  if (x%4==0) a=1; else a=0;
  if (x%100==0) { if (x%400==0) {a=1;} else {a=0;}; }
  return a;
 }







Teraz wystarczy podać Rok np. "rokprzestepny( 2002 )" i zostanie nam zwrócona odpowiedź odnośnie przestępności tego roku. Oczywiście gotowe kody źródłowe i wynikowe możesz ściągnąć tutaj, gdzie znajdziesz gotowe algorytmy napisane w C++ i Pascalu.




Linki pomocnicze:

Proste algorytmy astronomiczne - Cybermoon


Pamiętaj, że Autor opracowując tę stronę poświęcił trochę swojego czasu , więc jeżeli choć trochę skorzystałeś z tych informacji w ramach zapłaty poświęć trochę swojego czasu i dopisz się do Księgi Gości, lub oddaj głos klikając w banery rankingów, znajdujących się w Menu po lewej stronie.