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指令的方式可讓變數以交替順序建立: Q1、 R1、 Q2、 R2等等。 如果您計劃稍後使用TO關鍵字來參照 Q1 至 Q5 ,則應該使用兩個個別的DO REPEAT公用程式; 否則, Q1 至 Q5 將包含五個 R 變數中的四個。 或者,使用NUMERIC指令來預先決定變數新增至作用中資料集的順序,或指定取代值清單,如下一個範例所示。
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 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 代表變數清單 REGION1 至 REGION5。 替代變數 X 代表值清單 1 到 5。
DO REPEAT—END REPEAT結構會建立虛擬變數 REGION1 至 REGION5 ,對於 5 個區域中的每一個區域等於 0 或 1。 視變數 REGION 是否等於替代變數 X的現行值而定。END REPEAT上的PRINT會使程式顯示由結構產生的指令,如下所示。
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