Spójrz na kalendarz jeszcze raz. Być może zauważyła(eś), że zwykle rok ma 365 dni, a w niektórych przypadkach ma 366 dni (np. rok 2024 jest takim rokiem). Skąd taka różnica? Kiedy tak będzie, że rok będzie dłuższy?

Rys. 1. Mężczyzna analizujący kalendarz. Opracowanie własne na podstawie AI dostępnego na stronie https://pixlr.com/pl/image-generator/
Spis treści
- Co to jest rok przestępny?
- Kiedy będzie kolejny rok przestępny?
- Algorytm na rok przestępny z programem
No to zaczynamy!
Otóż musisz wiedzieć, że Ziemia – planeta na której żyjemy, okrąża Słońce w czasie 365,2422 dni (dokładniej: 365 dni, 5 godzin, 48 minut i 45,989 sekund). Czas ten jest wyznaczony na poczet roku zwrotnikowego.
Przyjrzyj się teraz tej ,,dodatkowej” wartości. Wynosi ona niespełna 6 godzin, prawda?
Wydawać by się mogło, że jest to dość mało, jednak gdy zobaczymy na ten dodatek w większym wymiarze czasu, czas ten zdecydowanie się wydłuża – w szczególności, w przypadku 4 lat wynosi on blisko 24 godziny.
Ta obserwacja dokonana w starożytności (m.in. zajmowali się tym Egipcjanie, czy też Rzymianie za czasów Juliusza Cezara), sprawiła, że postanowiono od tamtej pory uwzględniać dodatkowy dzień w stosowanym przez nich kalendarzu, właśnie co 4 lata.
Te lata, w których mamy 1 dodatkowy dzień, są nazywane latami przestępnymi.

Rys 2. Data 29 lutego. Obraz cyfrowy (na licencji Public Domain). Źródło: https://openclipart.org/detail/298143/vector-calendar-which-shows-the-current-date
Zapewne zapytasz – a kiedy ten dzień dodatkowy w kalendarzu przypadnie? Już Ci odpowiadam. Przyjrzyjmy się drugiemu miesiącu w kalendarzu gregoriańskim (ten kalendarz jest podstawą do rachuby czasu w Polsce), jakim jest luty. Ile ma dni ten miesiąc? No… zazwyczaj 28 dni. Z jednym wyjątkiem – w roku przestępnym będzie to dokładnie 29 lutego. Niewykluczone że powodem, dla którego dołożono dzień do tego akurat miesiąca, jest okres, w którym występują cykliczne zmiany faz Księżyca (m.in. nów, pierwsza kwadra, ostatnia kwadra, pełnia). Trwa 29,5 dnia i nazywany jest on miesiącem synodycznym.
Nie dziwi więc, że są ludzie, którzy urodzili się właśnie 29 lutego. Znasz takie osoby? Kiedy w takim razie mogą świętować swe urodziny w latach zwykłych?
Tradycyjnie obchodzą je 28 lutego, albo 1 marca.
Wydawałoby się wobec powyższego, że kolejny rok przestępny będzie dokładnie co 4 lata. Często faktycznie tak będzie, ale niestety… Tak do końca nie jest. Otóż, muszą zajść jeszcze dodatkowe warunki. Na początku wyznaczono zasadę ,,100 lat” – oznacza to, że co 100 lat musiałaby wypaść przerwa, jeżeli chodzi o rok przestępny.
Jednakże aby tak często tej przerwy nie dawać, liczba oznaczająca konkretny rok musi być dodatkowo podzielna przez 400.
Pytania sprawdzające:
- Czy rok 2025 jest rokiem przestępnym?
- Czy rok 1900 jest rokiem przestępnym?
- Czy rok 800 jest rokiem przestępnym?
Jest to dobry moment na to, abym przedstawił Ci algorytm w postaci schematu blokowego, a następnie kod źródłowy programu sprawdzającego, czy dany rok jest rokiem przestępnym (w trzech różnych językach programowania).
Rys. 3. Schemat blokowy algorytmu. Źródło: Opracowanie własne.
Zdecydowałem się napisać nazwy funkcji, zmiennych po polsku, tak abyś mógł (mogła) łatwo zorientować się, co za co odpowiada. Ty możesz napisać spokojnie nazwy po angielsku, do czego bardzo zachęcam 😊
/* PROGRAM 1: CZY PODANY ROK JEST ROKIEM PRZESTĘPNYM
Stworzony przez: Konstanty Dmochowski
Programtica - https://programtica.edu.pl
Wersja: C++ (98-20)
*/
#include <iostream>
bool czyPrzestepny(int rok) {
if((rok%4==0 && rok%100!=0) || rok%400==0)
return true;
return false;
}
int main() {
int rok;
std::cout << "Podaj rok: ";
std::cin >> rok;
if(czyPrzestepny(rok)==true)
std::cout << "Ten rok jest rokiem przestepnym!";
else
std::cout << "Ten rok NIE jest rokiem przestepnym!";
std::getchar();
return 0;
}
#PROGRAM 1: CZY PODANY ROK JEST ROKIEM PRZESTĘPNYM
#Stworzony przez: Konstanty Dmochowski
#Programtica - https://programtica.edu.pl
#Wersja: Python
def czyPrzestepny(rok):
if ((rok%4==0 and rok%100!=0) or rok%400==0):
return True;
return False;
rok = input("Podaj rok: ")
rok = int(rok)
if(czyPrzestepny(rok)==True):
print("Ten rok jest rokiem przestępnym!")
else:
print("Ten rok NIE jest rokiem przestępnym!")
/* PROGRAM 1: CZY PODANY ROK JEST ROKIEM PRZESTĘPNYM
Stworzony przez: Konstanty Dmochowski
Programtica - https://programtica.edu.pl
Wersja: Java
*/
import java.util.Scanner;
public class Main {
public static void main (String[] args) {
System.out.println("Podaj rok: ");
Scanner skaner = new Scanner(System.in);
int rok = skaner.nextInt();
if(czyPrzestepny(rok) == true) {
System.out.println("Ten rok jest rokiem przestepnym!");
} else {
System.out.println("Ten rok NIE jest rokiem przestepnym!");
}
}
public static boolean czyPrzestepny(int rok) {
if((rok%4==0 && rok%100!=0) || rok%400==0)
return true;
return false;
}
}
Funkcję sprawdzającą, czy dany rok jest rokiem przestępnym wykorzystam teraz w programie napisanym w języku C++ do wyznaczania lat przestępnych w podanym przedziale. Program ten będziesz mógł (mogła) pobrać z tego miejsca w formie paczki .zip, którą to należy wypakować w wybrane miejsce (np. na pulpicie):
Aby uruchomić program z tak napisanego kodu, należy jeszcze tylko wykorzystać kompilator – czyli program tłumaczący automatycznie kod z jednego języka na inny – w tym przypadku maszynowy. Jak go obsłużyć?
Na ten temat szerzej napisałem artykuł pt. Kompilacja programów napisanych w językach C/C++. Zapraszam Cię tam serdecznie!
Epilog
Dotarliśmy płynnie do końca artykułu. Mam nadzieję, że udało mi się zachęcić Ciebie do zapoznania się bliżej z pojęciem roku przestępnego.
Niezależnie od sytuacji, w jakiej się znajdujesz – życzę Ci powodzenia w przyszłości i do zobaczenia na moim kanale!
W materiale Autor korzystał ze źródeł, takich jak:
- Autor nieznany. Rok przestępny — czym jest i jak w łatwy sposób obliczyć, które lata są przestępne? online; dostęp 1 marca 2024, url: https://kobieta.onet.pl/wiadomosci/ile-dni-ma-rok-przestepny-kiedy-wypadnie-nastepny-29-lutego/ngbbp8j
- Czernikiewicz, Jan. Rok przestępny. Dlaczego co 4 lata luty jest o dzień dłuższy? online; dostęp 1 marca 2024, url: https://parenting.pl/rok-przestepny.
- Kurdyła, Krzysztof. Jak powstały kratery na księżycu? O budowie i powstaniu naszego satelity. online; dostęp 7 marca 2024, url: https://naukatolubie.pl/junior/kratery-na-ksiezycu/
Bardzo ciekawy artykuł. Klarownie wyjaśnia zagadnienie różnicy pomiędzy rokiem zwykłym a rokiem przestępnym a także dlaczego w niektórych latach luty ma 28 bądź 29 dni. Z czystym sumieniem polecam każdemu przeczytać artykuł 😀