第11回目の演習

第11回目の演習で説明すること

第11回目に課したレポート課題(subject: 学籍番号 report_no11

キーボードから数値Nを入力し,Nは西暦年を表すとする.その西暦N年がうるう年かどうか判定するプログラムを作成し,プログラムと実行結果をTEAMSに提出してください.
うるう年は以下の条件により判定される
  1. Nが4で割り切れ,かつ100で割り切れない.
  2. Nが400で割り切れる.

ヒント

割り切れるかどうかは組み込み関数MODを使う.たとえば

MOD(N,4)

が0であれば,Nは4で割り切れることを意味する.

1行の文字数が多すぎる場合には+6行目にタイプする.例えば以下のようになる.


	IF ((MOD(?,?) ?? MOD(?,?) ?)  ここで改行
      +? MOD(?,?) ?) THEN 


解答

プログラムの方法は色々あるかも知れませんが,一番考えやすいと思われるプログラムを示しておきます.


	PROGRAM REPORT_NO11
	IMPLICIT NONE 
	INTEGER :: N 
 
	WRITE(*,*) 'PLEASE INPUT THE YEAR.' 
	READ(*,*) N 
	IF ((MOD(N,4) == 0.0 .AND. MOD(N,100) /= 0.0)  
      + .OR. MOD(N,400) == 0.0) THEN 
		WRITE(*,*)  'THE YEAR IS a LEAP YEAR' 
	ELSE 
		WRITE(*,*) 'THE YEAR IS NOT a LEAP YEAR' 
	END IF 
	STOP 
	END PROGRAM REPORT_NO11


前のページへ戻る.
Copyright. 2020, Kazuya Sato

All rights reserved.