Skip to content
Snippets Groups Projects
Commit d6d88d98 authored by dali662d's avatar dali662d
Browse files

Upload New File

parent c24c0234
No related branches found
No related tags found
No related merge requests found
program schaltjahre
implicit none
integer :: start, ende, i
write(*,*) "Es werden alle Schlatjahre innerhalb von einem Intervall berechnet."
write(*,*) "Gebe die Ober- und Untergrenze an!"
do !test ob eingegbene daten korrekt
read(*,*) start, ende
if (start <= ende .and. start >= 0) then
if (ende - start <= 2000) then !begrenzung länge des intervalls
exit
else
write(*,*) "Fehler: Das Intervall ist zu groß. Bitte max. 2000 Jahre lang."
end if
else
write(*,*) "Fehler: Untergrenze ist groesser als Obergrenze oder Grenzen sind negativ."
end if
write(*,*) "Gib die Unter- und Obergrenze erneut ein!"
end do
! berechne erstes potenzielles schaltjahr (teilbar durch 4)
start = start + 4 - MOD(start,4)
if (start <= ende) then
write(*,*) "Die folgenden Jahre sind Schaltjahre:"
! Teste alle potenziellen Schaltjahre im Intervall
do i = start, ende, 4 ! wegen step=4 sind alle i durch 4 teilbar
if ( .NOT. MOD(i, 100) == 0 .OR. MOD(i, 400) == 0) then ! nicht durch 100 teilbar oder durch 400 teilbar
write(*,*) i
end if
end do
else
write(*,*) "Es gibt keine Schaltjahre im gegebenen Intervall."
end if
end program schaltjahre
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment