| 
 | 
[Fortran] syntaxhighlighter_viewsource syntaxhighlighter_copycode   ! Case [A]                                                
  READ(55,*) (Fxm(i,1), Fxm(i,2) , i=1,10001)               
                                                            
  ! Case [B]                                                
  DO i = 10001                                              
    READ(55,*) Fxm(i,1), Fxm(i,2)                           
  END DO                                                    
                                                            
  ! Case [C]                                                
  DO i = 10001                                              
    READ(55,*) tmp, Fxm(i,1), tmp, Fxm(i,2)                 
  END DO                                                     
 
0. Fortran Standard,  Default, 每做完一次 READ/WRITE, 就會自動 New Line, 除非是 Formatted Format 且有 ADVANCE='NO' 控制 
 
1. Case [A]: 一次讀入 連續10001*2個 REALs (目前line到底了自動newline, READ做完後newline): 不論 (1, and/or , 2, and/or, 5, and/or, 10, ...)個REALs per line  
    Case [B]: 一次讀2個 REALs (READ做完後newline), Loop 10001回: 如果不是嚴謹的2 REALs pe line, 至少有10001 lines, 就 掰掰了 
    Case [C]: DataFile : >=4 REALs per line, 只想要 第2 及 第4 個REALs 
 
2. DataFile如果是完美的 10001 lines, 2 REALs per line: Cases[A] ==Case[B], Case[B]可以的Case[A]一定可以 
    Case[A]OK, Case[B] Fail,  就表示 DataFile不是完美的 10001 lines, 2 REALs per line, ---> [#7] 
 
 
3. SAVE/只讀一次 很好的coding ,   or,   Case[A] only one READ, Case[B] 10001回READ,    其效率的差異是感受不到的  
    (a) 資料量太少了,  0.001秒與0.01秒的感受 
    (b) I/O一次 開門關門一次 是很耗時的, 當然編譯器會 很有效率地去做 白紙黑字Case[B]所要求的 
 
4. 總結一下: 不是 Re-Open, 子程序裡SAVE有其功能, DataFile不是完美的 10001 lines, 2 REALs per line? |   
 
 
 
 |