PROGRAM Tarih !-------------------------------------------------------- ! 07prg06.f95 ! Verilen bir tarihin yılın kaçıncı günü olduğunu ! hesaplar. !-------------------------------------------------------- IMPLICIT NONE INTEGER :: gun = 1 ! tarih: 01 Ağustos 2003 INTEGER :: ay = 8 INTEGER :: yil = 2003 PRINT *, gun, ay, yil, " tarihi yılın" PRINT *, Yilin_Gunu(gun,ay,yil), ". günüdür" CONTAINS ! yil artıl yıl ise 1 aksi halde 0 gönderir INTEGER FUNCTION Artik(Yil) INTEGER, INTENT(IN) :: Yil Artik = 0 IF( mod(yil,4) ==0 .AND. & mod(yil,100)/=0 .OR. & mod(yil,400)==0 ) Artik = 1 END FUNCTION Artik ! Yılın kaçıncı günü olduğunu hesaplar ve o günü gönderirir INTEGER FUNCTION Yilin_Gunu(Gun, Ay, Yil) INTEGER, INTENT(IN) :: Gun, Ay, Yil INTEGER :: I INTEGER :: agun(12) = (/31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31/) Yilin_Gunu = gun DO I = 1, Ay-1 Yilin_Gunu = Yilin_Gunu + agun(I) if(I==2) Yilin_Gunu = Yilin_Gunu + Artik(yil) END DO END FUNCTION END PROGRAM Tarih