Ãëàâíàÿ Ïîëíîå ïîñòðîåíèå àëãîðèòìà [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [ 87 ] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97] [98] [99] [100] [101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] INTEGER REF(N),FRAMES.PAGES INTEGER AFTER(10D),BEF0RE(1DC),END.FAULT(10.0C) INTEGER FRAME(50),FRO NT,J,K.TABLE(100).TOTAL.Tl.T2 Ñ ÈÍÈÖÈÀËÈÇÀÖÈß ÏÅÐÅÌÅÍÍÛÕ Ñ J - 1 DO 30 I • 1.PACES TAELE(I) «0 BEFORE(I) - 0 AFTER(I) « 0 3D CONTINUE Ñ ÇÀÏÎËÍÅÍÈÅ ÂÑÅÕ ÑÒÐÀÍÈ×ÍÛÕ ÎÁËÀÑÒÅÉ Ñ ê - REF(I) TABLE(K) «1 FRONT " Ê END » Ê. FAULT(I) • 1. TOTAL = 1 FRAME(I) » REF(I) EO 100 J = 2.FRAMES 40 i > I + 1 Ñ ÊÎÍ×ÈËÀÑÜ ËÈ ÑÒÐÎÊÀ ÎÁÐÀÙÅÍÈÉ Ñ IFt I .ÑÒ. N ) ÑÎ ÒÎ 170 Ñ ÂÛÁÎÐÊÀ 1-ÃÎ áâðìòÿ ñ ê > REF(I) ñ ÍÀÕÎÄÈÒÑß ëè Ê-ß ÑÒÐÀÍÈÖÀ  ÏÀÌßÒÈ Ñ IF[TABLE(K) .NE. 0) GO ÒÎ 50 ÑÎ ÒÎ 90 ñ ÏÎÌÅÑÒÈÒÜ Â ÊÎÍÅÖ ÑÏÈÑÊÀ ÑÒÐÀÍÈ×ÍÛÕ ÎÁËÀÑÒÅÉ 5é FAULT(I) » Î ÍÀÕÎÄÈÒÑß ÄÈ ÑÒÐÀÍÈÖÀ Ê Â ÊÎÍÖÅ ÑÃÈÑÊÀ IF( AFTER(K) .EQ, D ) GO ÒÎ 40 ÍÀÕÎÄÈÒÑß ËÈ ÑÒÐÀÍÈÖÀ Ê Â ÍÀ×ÀËÅ ÑÏÈÑÊÀ (FRONT) IF(FRONT .EQ. Ê) GO ÒÎ 60 GO ÒÎ 70 : ÓÄÀËÅÍÈÅ ÈÇ FRONT 60 FRONT = AFTER(K) BEFORE (FRO NT) = D GO TO 8D ÓÄÀËÅÍÈÅ ÈÇ ÑÅÐÅÄÈÍÛ ÑÏÈÑÊÀ 70 TI = BEFORE(K) Ò2 = AFTEB(H) AFTER (Ti) = T2 BEF0RE(T2) = TI ÐÀÇÌÅÙÅÍÈÅ ÑÒÐÀÍÈÖÛ Ê Â ÊÎÍÖÅ ÑÏÈÑÊÀ (END) 80 BEFORElKl- = END AFTER(K) » Î AFTER (END) » Ê END =. Ê GO TO 40 ; ÐÀÇÌÅÙÅÍÈÅ ÑÒÐÀÍÈÖÛ Ê â ÎÁËÀÑÒÈ J È ÄÎÁÀÅ- ËÅÍÈå ÅÅ Ê ÊÎÍÖÓ ÑÏÈÑÊÀ SO TABLE(K1 - J FRAME(J) = Ê AFTER(END) = Ê EEFORE(K) - END END => Ê FAULT(I) - 1 TOTAL » TOTAL + 1 1Ca CONTINUE Ðèñ. 5.4.3. Ïðîäîëæåíèå ñ ÂÑÅ ËÈ ÎÁËÀÑÒÈ ÈÑÏÎËÜÇÎÂÀÍÛ Ñ IN = 1+1 ËÎ 160 I = IN.N Ê = REF(I) Ñ ÍÀÕÎÄÈÒÑß ëè ÑÒÐÀÍÈÖÀ Ê Â ÏÀÌßÒÈ Ñ IF( TABLE(K) .NE. Î ) GO ÒÎ 110 GO ÒÎ 150 Ñ ÇÀÏÈÑÀÒÜ , ×ÒÎ ÍÅ ÁÛËÎ ÎÒÊÀÇÀ 110 FAULT! I) = Î Ñ ÍÀÕÎÄÈÒÑß ËÈ ÑÒÐÀÍÈÖÀ Ê Â ÊÎÍÖÅ ÑÏÈÑÊÀ (END) Ñ IF( AFTER(K) .EQ. -Î ) GO ÒÎ 160 Ñ ÍÀÕÎÄÈÒÑß ËÈ ÑÒÐÀÍÈÖÀ Ê Â ÍÀ×ÀËÅ ÑÏÈÑÊÀ (FRONT) • IF( FRONT .EQ. Ê ) GO ÒÎ 120 GO ÒÎ 130 Ñ ÓÄÀËÅÍÈÅ ÑÒÐÀÍÈÖÛ Ê ÈÇ ÍÀ×ÀËÀ ÑÏÈÑÊÀ 12D FRONT =. AFTER(K) BEFORE (FRONT) = Î GO TO 14G ñ ÓÄÀËÅÍÈÅ ÑÒÐÀÍÈÖÛ Ê ÈÇ ÑÅÐÅÄÈÍÛ ÑÏÈÑÊÀ 13D Ò1 = BEFORE(K) T2 = AFTER (Ê) BEF0RE(T2) = Tl AFTER (Til T2 ÄÎÁÀÂËÅÍÈÅ ÑÒÐÀÍÈÖÛ Ê Â ÊÎÍÅÖ ÑÏÈÑÊÀ BEFORE(K) = END AFTER(Ê) = D AFTER(END) = Ê END = Ê GD TO 16G ÓÄÀËÅÍÈÅ ÈÇ ÏÀÌßÒÈ ÑÒÐÀÍÈÖÛ J. ÊÎÒÎÐÀß ÄÎËÜØÅ ÂÑÅÕ ÍÅ ÈÑÏÎËÜÇÎÂÀËÀÑÜ ., È ÐÀÇÌÅÙÅÍÈÅ ÑÒÐÀÍÈÖÛ Ê Â ÎÁËÀÑÒÈ J 15D J = TABLE(FRONT) TABLE(Ê) = J TABLE(FRO NT) = G Ðèñ. 5.4.3. Ïðîäîëæåíèå [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [ 87 ] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97] [98] [99] [100] [101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] 0.0019 |