PRINT 次指令 (DO REPEAT-end REPEAT 指令)

END REPEAT 上的 PRINT 次指令會顯示 DO REPEAT—END REPEAT 結構所產生的指令。 PRINT 可用來驗證指令的執行順序。

範例

DO REPEAT Q=Q1 TO Q5/ R=R1 TO R5.
COMPUTE Q=0.
COMPUTE R=1.
END REPEAT PRINT.
  • DO REPEAT—END REPEAT 結構會將一組變數起始設定為 0 ,並將另一組變數起始設定為 1。
  • 下面顯示 PRINT 次指令的輸出。 產生的指令前面會有加號。
  • 產生 COMPUTE 指令的方式可讓變數以交替順序建立: Q1R1Q2R2等等。 如果您計劃稍後使用 TO 關鍵字來參照 Q1Q5 ,則應該使用兩個個別的 DO REPEAT 公用程式; 否則, Q1Q5 將包含五個 R 變數中的四個。 或者,使用 NUMERIC 指令來預先決定變數新增至作用中資料集的順序,或指定取代值清單,如下一個範例所示。
圖 1. PRINT 次指令的輸出

  2	  0	      DO REPEAT Q=Q1 TO Q5/ R=R1 TO R5
  3	  0	      COMPUTE Q=0
  4	  0	      COMPUTE R=1
  5	  0	      END REPEAT PRINT
 
  6	  0	     +COMPUTE Q1=0
  7	  0	     +COMPUTE R1=1
  8	  0	     +COMPUTE Q2=0
  9	  0	     +COMPUTE R2=1
 10	  0	     +COMPUTE Q3=0
 11	  0	     +COMPUTE R3=1
 12	  0	     +COMPUTE Q4=0
 13	  0	     +COMPUTE R4=1
 14	  0	     +COMPUTE Q5=0
 15	  0	     +COMPUTE R5=1

範例

DO REPEAT Q=Q1 TO Q5,R1 TO R5/ N=0,0,0,0,0,1,1,1,1,1.
COMPUTE Q=N.
END REPEAT PRINT.
  • 在此範例中,將一系列常數指定為 N的替代值清單。 會先起始設定所有 Q 變數,然後再起始設定所有 R 變數,如下所示。
圖 2. PRINT 次指令的輸出

  2	  0	           DO REPEAT Q=Q1 TO Q5,R1 TO R5/ N=0,0,0,0,0,1,1,1,1,1
  3	  0	           COMPUTE Q=N
  4	  0	           END REPEAT PRINT

  5	  0	          +COMPUTE Q1=0
  6	  0	          +COMPUTE Q2=0
  7	  0	          +COMPUTE Q3=0
  8	  0	          +COMPUTE Q4=0
  9	  0	          +COMPUTE Q5=0
 10	  0	          +COMPUTE R1=1
 11	  0	          +COMPUTE R2=1
 12	  0	          +COMPUTE R3=1
 13	  0	          +COMPUTE R4=1
 14	  0	          +COMPUTE R5=1

範例

DO REPEAT R=REGION1 TO REGION5/ X=1 TO 5.
COMPUTE R=REGION EQ X.
END REPEAT PRINT.
  • 在此範例中,替代變數 R 代表變數清單 REGION1REGION5。 替代變數 X 代表值清單 1 到 5。
  • DO REPEAT—END REPEAT 結構會建立虛擬變數 REGION1REGION5 ,對於 5 個區域中的每一個區域等於 0 或 1。 視變數 REGION 是否等於替代變數 X的現行值而定。
  • END REPEAT 上的 PRINT 會使程式顯示由結構產生的指令,如下所示。
圖 3. DO REPEAT 所產生的指令

  2	  0	  DO REPEAT R=REGION1 TO REGION5/ X=1 TO 5
  3	  0	  COMPUTE R=REGION EQ X
  4	  0	  END REPEAT PRINT
 
  5	  0	 +COMPUTE REGION1=REGION EQ 1
  6	  0	 +COMPUTE REGION2=REGION EQ 2
  7	  0	 +COMPUTE REGION3=REGION EQ 3
  8	  0	 +COMPUTE REGION4=REGION EQ 4
  9	  0	 +COMPUTE REGION5=REGION EQ 5