Fortran学習ノート(2)


Fortranを勉強し続けるうちに、Fortranの文法だけでなく、新しいプログラミング思想も勉強しました.例えば、6.3を練習しました.
私が書いたバージョン
program main
implicit none
integer i
real :: x = 0
real , parameter :: e = 0.001
real , parameter :: w = 45
write(*, *)"guess:"
read(*, *) x

do i = 1,5,1
     if(abs(x - w) <= e) then
        write(*, *)"right"
        exit
     else 
        if(i < 5) then
            write(*, *)"wrong,guess"
            read(*, *) x
        else 
            write(*, *)"wrong"
        end if
    end if
end do
end

 本の著者のバージョン:
program main
  implicit none
  integer, parameter :: answer = 45
  integer, parameter :: max = 5
  integer weight, i
  
  do i=1,max
    write(*,*) "     "
	read(*,*) weight
	if ( weight==answer ) exit
  end do

  if ( i<=max ) then
    write(*,*) "   "
  else
    write(*,*) "   "
  end if

  stop
end program

この練習の要求は一人の体重を当てることで、5回しか推測できません.作者のコードは明らかに私の可読性と効率より高く、テーマは簡単ですが、利益は浅くありません.