PROGRAM jour_de_la_semaine IMPLICIT NONE ! Delcarations integer :: n_jour ! Nombre de jours entre les deux dates integer :: j ! Jour de la date integer :: m ! Mois de la date integer :: a ! Annee de la date integer :: an ! Nombre d'annee entiere integer :: n_jour_an ! Nombre de jours pour les annees entieres integer :: n_jour_mois ! Nombre de jours pour les mois entiers ! Declarations ! Entree des donnees print*, "Donner le numero du jour : " read*, j print*, "Donner le numero du mois : " read*, m print*, "Donner le numero de l'annee : " read*, a ! Compter le nombre de jours separant le 1/1/a du 1/1/1960 an=a-1960 n_jour_an=an*365+(an+3) / 4 ! Compter le nombre de jours separant le 1/m/a du 1/1/a n_jour_mois=0 if (m>1) then n_jour_mois=n_jour_mois+31 endif if (m>2) then !if (mod(a,4)==0) then if ((a-a/4*4)==0) then n_jour_mois=n_jour_mois+29 else n_jour_mois=n_jour_mois+28 endif endif if (m>3) then n_jour_mois=n_jour_mois+31 endif if (m>4) then n_jour_mois=n_jour_mois+30 endif if (m>5) then n_jour_mois=n_jour_mois+31 endif if (m>6) then n_jour_mois=n_jour_mois+30 endif if (m>7) then n_jour_mois=n_jour_mois+31 endif if (m>8) then n_jour_mois=n_jour_mois+31 endif if (m>9) then n_jour_mois=n_jour_mois+30 endif if (m>10) then n_jour_mois=n_jour_mois+31 endif if (m>11) then n_jour_mois=n_jour_mois+30 endif ! Compter le nombre de jours separant le j/m/a du 1/m/a n_jour=j-1 ! Calculer le nombre de jour total separant le j/m/a du 1/1/1960 n_jour = n_jour_an + n_jour_mois + n_jour ! Determiner le jour de la date donnee !select case (mod(n_jour,7)) select case (n_jour-n_jour/7*7) case (0) print *, "on est vendredi" case (1) print *, "on est samedi" case (2) print *, "on est dimanche" case (3) print *, "on est lundi" case (4) print *, "on est mardi" case (5) print *, "on est mercredi" case (6) print *, "on est jeudi" end select END PROGRAM jour_de_la_semaine