重なった領域をコピーする場合、部分配列の代入は単純なDO..LOOPとは動作が異なります。
■ソース・プログラム
配列生成子にF2003の[,]を使いました。F90の場合はそれぞれ(/,/)となります。
PROGRAM test IMPLICIT NONE INTEGER :: i, ia(10) ia = [( i, i = 1, 10 )] PRINT '(10i3)', ia ia(2:10) = ia(1:9) PRINT '(10i3/)', ia ia = [( i, i = 1, 10 )] PRINT '(10i3)', ia DO i = 2, 10 ia(i) = ia(i - 1) END DO PRINT '(10i3/)', ia STOP END PROGRAM test