請問Fortran指令count

請問Fortran裡面有個參數或是指令 count

他所代表的是什麼意思呢?

例如這段程式裡面的count

do i = 0,40

SNR = (i*2)+1

do zzz = 1,Rx_total

if (Pe_total(SNR,zzz) .lt. data3 ) then

count=count

else

count=count+1

endif

enddo

out(zz,i) = count/Rx_total

count=0

enddo

2 Answers

Rating
  • Jack
    Lv 5
    1 decade ago
    Favorite Answer

    Fortran 是有一個名為「count」的庫存函數,用來計算在一個邏輯陣列中 .true. 發生的次數,但它和你提供的這個程式片段是完全不相干的。在你的程式片段中,count 只是一個單純的變數,但程式師賦予它一個特別的意義——當作「計數器」用:

    若 Pe_total(SNR,zzz) 大於或等於 data3,count 的值就會加 1;

    在每次 do i = 0,40 ‥‥‥ enddo 這個迴圈到底之前,count 的值又會被歸零。這裡 count 這個變數並不需要命名為 count,它可以是任何一個合法的變數名稱,仍然具有相同的功能。命名為 count 只是方便程式師記住它的作用而已。還有,在你的程式片段中,下面這幾行很怪,有經驗的程式師一定不會這樣寫:if (Pe_total(SNR,zzz) .lt. data3 ) then

    count=count

    else

    count=count+1

    endif寫成這樣就可以了:if (Pe_total(SNR,zzz) .ge. data3) count=count+1

  • 1 decade ago

    那叫變數。

    這程式寫得不好!

    建議你學別人的程式。

    2010-07-24 11:28:12 補充:

    Jack 的 明顯比原來的好

Still have questions? Get your answers by asking now.