[Windows Write file. Some garbage expected]
?…?’?‚
!®ae. – „YaYcii.
‘ci§ i ®aF ?§ ae?i ? ¬ia? ®?aY¤Y«iYa ¬®¦Yaac® aaaa?aaa, aci§? ¬Y¦¤a
i«Y¬Ya ¬? ?®a®aea aY «?§aiaai a? § aY«i¬?. ? ¦¤e© i«Y¬Ya a ?®© aaaa?aaae
(®!eY?a) ®!« ¤ Ya, a ??¬ ®!a §®¬, ac®©aac®¬ “?¬Yai aci§?” a ¤aaF?¬?
i«Y¬Ya ¬?, ?®a®aeY a? §ec Ya § cY?Y ia®F® ac®©aac . ‘ci§ i
®aF ?§ ae?i ? ¬ia? ¬®¦Ya ?a?®«i§®c aiai ? ¤«i aa Y?i aa a?cYa??a
aaaa?aaa ¤ ea, ® ?®a?®«i?a aY «?§ ae?i aci§Y© cYaY§ aae«?? ¤ Ya
c®§¬®¦®aai ?a?®«i§®c ai ¤? ¬?cYa??Y ¬Ya ?§¬e a®§¤ ?i/a?ca®¦Y?i ®!eY?a®c,
®a®ce¬ ?a?¬YY?Y¬ aci§ ®© ®aF ?§ ae?? ic«iYaai ¤? ¬?cYa?®Y ¬®¤Y«?a®c ?Y
®!eY?a®-®a?Ya?a®c ea a?aaY¬.
a® ac®©aac® ?®§c®«iYa «i!ai ¤? ¬?cYa?ai aaaa?aaaa a aa¬ aa?c ai ? ?
aa®ae? ae?i aci§ ea ®!eY?a®c ?YaY¬Y®F® a®aa c . (‡ ¬Ya?¬, ca® aYa¬?
” aa®ae? ae?i” ?a?®«i§aYaai c ?a®Fa ¬¬?a®c ?? ®cYi c aa® ? a¬ea«,
c?« ¤ec Y¬e© c ia® ?®ia?Y, c® ¬®F®¬ § c?a?a ®a ?®aY?aa ).
eai ¬®«®¤e¬”) ? a.?.. ?aa®ae? ae?i ®!eY?a®c, ?a®¬Y a®F®, ? ? ?a c?«®
a?®ai¤®cY ?® ®?aY¤Y«Y®© a?aaY¬Y ?a c?« – ®a®eY?© ?®ai¤? ¬®¦YaacY
c«Y®c aa®ae? ae??. ’ ??Y ?a c?« aaa c«?c ia !?Y?a?cai
(c§ ?¬®-®¤®§ cai) aci§i ¬Y¦¤a ¬®¦Yaac®¬ ®!eY?a®c-c«Y®c aa®ae? ae?? ?
i«Y¬Ya ¬? aaa «i®F® ai¤ c?aY«. ‚ ia®¬ a¬ea«Y aa®ae? ae?i – !®«YY
a«®¦ i aaaa?aaa , cY¬ ¬®¦Yaac® ®!eY?a®c.
a® ac®©aac® ¤Y« Ya ®a®c®© aY «?§ ae?®®© aaaa?aaa®© aa®ae? ae?? «?Y©e©
a??a®?.
?¦Y ?p?cY¤Ye Y?®a®peY ?p?¬Ype ®pF ?§ ae?? a??a?®cea aapa?aap aci§ ®©
? ¬ia?.
?¤®aci§e© a??a®?
UAeAeAeAeAeAeAeAeAe? UAeAeAeAeAeAeAeAeAeAe?
UAeAeAeAeAeAeAeAeAe?
? INFO ? ? ? ? ?
H1 AAeAeAeAeAeAeAeAeAe? AAeAeAeAeAeAeAeAeAeAe?
AAeAeAeAeAeAeAeAeAe?
AeAeAe>? LINK *AeAAeAeAeAe>? *AeAeAAeAeAeAe>…AeAe>?
*AeAeAAeAeAeAe?NIL
AAeAeAeAeAeAeAeAeAeU AAeAeAeAeAeAeAeAeAeAeU
AAeAeAeAeAeAeAeAeAeU AeAAe
«Y¬Ya;
®«Y;
®«Y aci§? *)
END;
VAR H1: PTR; (* “?®«®c ” a??a? *)
„caaci§e© a??a®? ? ?2
v
H2 UAeAeAeAeAeAeAeAeAe? UAeAeAeAeAeAeAeAeAeAe?
UAeAeAeAeAeAAeAeAeAe?
AeAeAe>? INFO ? ? ? ? ?
AAeAeAeAeAeAeAeAeAe? AAeAeAeAeAeAeAeAeAeAe?
AAeAeAeAeAeAeAeAeAeAe?
? RLINK *AeAAeAeAeAe>? *AeAAeAeAeAe>…AeAe>?
*AeAAeAe?
AAeAeAeAeAeAeAeAeAe? AAeAeAeAeAeAeAeAeAeAe?
AAeAeAeAeAeAeAeAeAeAe? ?
UAeAeAAe* LLINK ?
*AeAAeAe?
? AAeAeAeAeAeAeAeAeAe? AAeAeAeAeAeAeAeAeAeAe?
AAeAeAeAeAeAeAeAeAeAe? ?
? UAeAeAAe* LLINK ?
UAeAeAeAeAeAeAe? UAeAeAeAeAeAeAe? – ? UAeAeAeAeAAeAeAe?
UAeAeAeAeAeAeAe?
AeAeAe>? X ? ? X ? Y ? ? ? ? ?
AAeAeAeAeAeAeAe? AAeAeAeAeAeAeAe? ? AAeAeAeAeAeAeAeAe?
AAeAeAeAeAeAeAe?
? Y ? ? Y ? a ? ? ? ? ?
AAeAeAeAeAeAeAe? AAeAeAeAeAeAeAe? p ? AAeAeAeAeAeAeAeAe?
AAeAeAeAeAeAeAe?
?LINK *AeAAeAeAe>? R ? ? ? *AeAAeAeAeAeAe>? ?
AAeAeAeAeAeAeAeU AAeAeAeAeAeAeAe? ? AAeAeAeAeAeAeAeAeU
AAeAeAeAeAeAeAe?
’®c? ?LINK *AeAAeAeAeAeAeU ’®c? ? *AeAAe?
AAeAeAeAeAeAeAeU
AAeAeAeAeAeAeAeU v
??aa¦®aai AeAAe
?a?¬Ya, «i!®© i«Y¬Ya ¤caaci§®F® a??a? ®a?aec Ya ¤®aaa? ? “«Yc®¬a” ?
“?a c®¬a” a®aY¤a, ®¤®aci§®F® – a®«i?® ? “?a c®¬a”. ?®«®c ic«iYaai
®a®!e¬ i«Y¬Ya®¬ a??a? , ca®ae¬ ®a®!e¬ i«Y¬Ya®¬ ic«iYaai ?®a«Y¤?© i«Y¬Ya
– YF® c aa® aa c?aai a? § aY«i ?®ae a??a? (?2 aaY¬Y ¤caaci§®F®
a??a? ). ‚ aaaa?aaaY “?®«iae ” ?®ia?Y ®a®!®F® i«Y¬Ya aa ®c?aai c?aa®
aa«®ce¬, ?®a?®«i?a ?? ??Y pY «ieY caaaY?Y “®a®!Y®aa?” (? ?, ?p?¬Yp,
?2^.LINK=NIL – aa«®c?Y “?®ae ” c aaY¬Y «?Y©®F® ¤caaci§®F® a??a? ) §¤Yai
Y ?pY¤aa c«Ye.
a? ia®¬ a®c¬Yaa?¬®aai ?aY¤aa c«Y?© a §«?cea ?« aa®c ?® ?®«i aci§?
aa ®c?aai aaeYaacYe¬ ae ?a®a®¬ ®!Ya?YcY?i ?®aaY?a®© a !®ae a i«Y¬Ya ¬?
a??a? . ?!Ya?YcY «? a ? i a®c¬Yaa?¬®aai c ®?aY¤Y«Y?ia “’®c??” ?
“??aa¦®aa?” ?.
‚ § ¤ c a ¤? ¬?cYa?®F® ¬®¤Y«?a®c ?i a«®¦ea a?aaY¬ ®a®!e© ?« aa
a®aa c«iia a?aaY¬e a ®cYaY¤i¬?. ?cYaY¤i – aa®ae? ae?i ®!eY?a®c,
®¦?¤ ie?a ¤®aaa? ? a?aaY¬Y ®!a«a¦?c ?i. ’ ? i ¤? ¬?cYa? i aa®ae? ae?i
a a ?aYa?§aYaai ¤?aae??«?®© ®!a«a¦?c ?i (®¦?¤ ?i). ‚eeY a¦Y a?®¬? « ai
¤?aae??«? “?Yace¬ ?a?eY« – ?Yace¬ ceeY«” (First In – First Out), ®!ec®
® ®!®§ c Yaai !!aYc? aaa®© FIFO. ? ? a §®c?¤®aai ®cYaY¤? YaY¤?®
a aa¬ aa?c ia aa®ae? a?cai aapa?aapa aaY? , c ia®© ?aYp?pYa ae?? aaY?
a a ?aYa?§aYaai ¤?aae??«?®© “Last In – First Out” ( “?®a«Y¤?¬ ?a?eY« –
?Yace¬ ceeY«” ) – LIFO. ‘ a®c?? §aY?i aY «?§ ae?? a??a? a, ia?
aaaa?aaae ®a«?c iaai ¬Ya ?§¬ ¬? ¤®aaa? : ®cYaY¤i ¤®aaa? a ¤caa ?®ae®c –
a “F®«®ce” (¤«i ce!®p i«Y¬Ya ?§ ®cYpY¤?) ? a “ac®aa ” (¤«i ?®aa ®c?? c
®cYpY¤i), aaY? – a®«i?® a “F®«®ce” (? ¤«i c?«icY?i c aaY?, ? ¤«i
cec®¤ ?§ aaY? ). (‚ ?a®Fa ¬¬?a®c ?? ?a?®«i§aYaai a ?¦Y aaaa?aaa ¤Y? –
«?Y©®F® a??a? , ¤®aaa? ? ?®a®a®¬a c®§¬®¦Y a «i!®F® ?§ ¤caa ?®ae®c ? ?
¤«i c?«icY?i i«Y¬Ya c a??a®?, a ? ? ¤«i a¤ «Y?i ?§ a??a? ).
?¦Y ?a?cY¤Y ?««iaaa ae?i aaaa?aaae ?®«iae -®cYaY¤?.
UAeAeAeAeAe? UAeAeAeAeAe? UAeAeAeAeAe? UAeAeAAeAe?
?°°°°°? ?°°°°°? ?°°°°°? ?°°°°°?
AAeAeAeAeAe? AAeAeAeAeAe? AAeAeAeAeAe? AAeAeAeAeAe?
? *AeAAe>? *AeAAe>? *AeAAe>? *AeAAeAeAeAe?
AAeAeAAeAeU AAeAeAeAeAeU AAeAeAeAeAeU AAeAeAeAeAeU ?
v K ^ v
UAeAeAAeAe? ? UAeAeAAeAeAe?
?°°°°°? ? ?INFO ?
AAeAeAeAeAe? ? AAeAeAeAeAeAe?
? *AeAAeAeAeAeAeU ?LINK *?
AAeAeAAeAeU AAeAeAeAeAeAU
^ ?
? UAeAeAeAeAe? UAeAeAeAeAe? UAeAeAeAeAe? UAeAeAeAeAe?
?
? ? ? ? ? ? ? ? ? ?
? AAeAeAeAeAe? AAeAeAeAeAe? AAeAeAeAeAe? AAeAeAeAeAe?
?
AAeAeAeAeAeAAe* A
AAeAeAeAe?
? *AeAAeAe>? *AeAAeAe>? *AeAAeAe>? *AeAAe>…Ae>? * ?
AAeAeAeAeU AAeAe|AeU AAeAeAeAeU AAeAeAeAeU
AAeAeAAeU
| 2 ^ v
+—————–+ AeAAe
aY¤?®« F Yaai, ca® a? § aY«i ‚ ?aY¤c a?aY«i® aaa ®c«Y a¤ «iY¬e©
i«Y¬Ya. „«i a¤ «Y?i ‚ Y®!a®¤?¬®:
i«Y¬Ya, ?aY¤eYaacaie?© ‚ c a??a?Y. (? ? ?a c?«®, ia® ¤Y« Yaai c
ae??« a WHILE ?«? REPEAT).
^.LINK^.LINK).
a®aa ?« ac®i aaaa?aaaa, i«Y¬Ya ‚ Y ®? § «ai “¬aa®a®¬”.
a? ?a?®«i§®c ?? a«®¦ea ¬®F®aci§ea a??a?®cea aaaa?aaa ®!Ya?YcY?Y
?®aaY?a®aa? ¬®¤?ae?? ae?© a??a?®c aaY!aYa ®a ?a®Fa ¬¬?aa ®a®!®F® c?¬ ?i
– «i!®© “a«ac ©e©” a §aec aci§? c a??a?Y ?aYca e Ya c “¬aa®a” cai YF®
c aai, ®aa ceaiai § ia®© aci§ii.
= NIL. —a®!e ?pY¤®acp a?ai a ??Y ®e?!??, ?p? ?®aapa?p®c ?? !a«Yca??a
cep ¦Y?©, ®?pY¤Y«iie?a aa«®c?i § cYpeY?i (?p®¤®«¦Y?i) ae??«®c, aci§ ea a
?®?a?®¬ i«Y¬Ya ? a.?., Y®!a®¤?¬® a«Y¤®c ai ?p®aa®¬a ?p c?«a: cec?a«Y?Y
aa«®c?i (H#NIL), ®?pY¤Y«iieYF® c®§¬®¦®aai ¤®aaa? ? i«Y¬Yaa a??a? “?®¤
H”, caYF¤ ¤®«¦® ?pY¤eYaac®c ai cec?a«Y?i aa«®c?i, a®¤Yp¦ eYF® ?c «?¤Ya
a ?pYae??a®¬ H^. ‚ ia®¬ ?« Y ¬®Faa ®? § aiai ®cYi ?®«Y§e¬? ?p c?«
?®a«Y¤®c aY«i®F® cec?a«Y?i «®F?cYa??a aa«®c?©:
A AND B = IF A THEN B ELSE FALSE;
A OR B = IF A THEN TRUE ELSE B.
‡¤Yai A ? B – «®F?cYa??Y aa«®c?i.
?p?¬Yp, ¤«i cec?a«Y?i (A AND B ) cec?a«Y?Y B ?p®c®¤?aai a®«i?® ?®a«Y
?p®cYp?? A a pY§a«ia a®¬ TRUE, ?p? A=FALSE ®?Yp ¤ B c®®!eY Y
cec?a«iYaai.
‘??a®? ®a®a?aai ? ®a®!®© Faa??Y aaaa?aaa – ia® a ? §ec Y¬eY aY?aaa?ceY
aaaa?aaae.
:
«Y¬Ya;
«Y¬Ya = RECORD
INFO : ?ae®p¬ ae?i;
LINK : “? § aY«i;
END
1 : “? § aY«i) : BOOLEAN;
BEGIN
IF H # NIL THEN
1)
1)
END
a®cYa? .
a®cYa? (H^.LINK, H1). ‘?aa ae?i (H=H1=NIL) a aa¬ aa?c Yaai ? ?
?®«®¦?aY«ie© aY§a«ia a ?a®cYa??.
?a?¬Ya, ?¦Y ?a?cY¤Y ®¤ ?§ c®§¬®¦ea aaaa?aaa !®a®c. ‚ ia®© aaaa?aaaY
H1 – !®a ?§ cYaeaYa i«Y¬Ya®c (a,b,H2,c), ?§ ?a H2 – !®a, ®aa «ieY –
a®¬e. H2 a®aa®?a c ac®i ®cYaY¤i ?§ apYa i«Y¬Ya®c – a®¬ c ? ¤caa
!®a®c H3 ? H4, ?a?cY¬ !®a H3 – ?aaa (Y a®¤Ya¦?a i«Y¬Ya®c), H4
a®¤Ya¦?a ¤c a®¬ (d ? f).
v H2
UAeAeAeAeAe? UAeAeAeAeAe? UAeAeAAeAe? UAeAeAeAeAe?
H1 ? a ? ? b ? ? ? ? c ?
Ae>AAeAeAeAeAe? AAeAeAeAeAe? AAeAeAeAeAe? AAeAeAeAeAe?
? *AeAeAAeAe>? *AeAeAAeAe>? *AeAeAAeAe>?
*AeAeAAeAeAeAeAeAeAeAeAeAeAeAeAe?
AAeAeAeAeAeU AAeAeAeAeAeU AAeAeAeAeAe? AAeAeAeAeAeU
v
? * ? AeAAe
AAeAeAAeAeU H3 H4
v v v
UAeAeAAeAe? UAeAeAAeAe? UAeAeAAeAe?
? c ? ? ? ? ?
AAeAeAeAeAe? AAeAeAeAeAe? AAeAeAeAeAe?
? *AeAeAAeAe>? *AeAeAAeAe>? *AeAeAAeAeAe?
AAeAeAeAeAeU AAeAeAeAeAe? ?AeAeAeAeAe?
AeAAe
? * ? ? * ?
AAeAeAAeAeU AAeAeAAeAeU
v v
AeAAe UAeAeAAeAe? UAeAeAeAeAe?
? d ? ? f ?
AAeAeAeAeAe? AAeAeAeAeAe?
? *AeAeAAeAe>? * ?
AAeAeAeAeAeU AAeAeAAeAeU
v
AeAAe
?a?¬Ya, c aa®ae? ae?i H1-“??ae?®Yae” ¬®Faa ca®¤?ai ? ? ®a¤Y«ieY c aaeY
«?ae , a ? ? ?®««Y?a?ce – ®aF ?§ ae??, ?®a®aeY ic«iiaai aa®ae? ae?i¬?
a®!aacYea ?ae?®Ya®c.
®ia?Y “?Fa®c®F® ?®«i”, a §a¬YYaai, Y ®§ c Ya, ca® ®aa®F® «ieY a??a??
?a?®«i§aiaai «?ei c ?Fa®cea § ¤ c a.
?!®«YY e?a®?® ?a?®«i§aYaai aaaa?aaa !? a®F® ¤YaYc , caY ¬®¦Yaac® cYae?
?®a®a®F® ¤Y«?aai (?® ®a®eY?i ? ?®ai) ¤c ?®¤¬®¦Yaac – ¤c ?®¤¤YaYc
(«Yc®Y ? ?a c®Y). ‹i! i cYae? !? a®F® ¤YaYc aY «?§aYaai aci§ ®©
? ¬ia? i«Y¬Ya®¬ a ¤ca¬i aci§i¬?: a «Yce¬ ?®¤¤YaYc®¬ ? a ?a ce¬.
v ?
UAeAAeAe? ?ae®a¬ ae?®®Y ?®«Y
AAeAeAeAe?
UAeAeAeAAe* ? ‘ci§i a «Yce¬ ?®a®¬?®¬
? AAeAeAeAe?
? ? *AeAAeAeAe? ‘ci§i a ?a ce¬ ?®a®¬?®¬
v AAeAeAeAeU v
UAeAeAAe? UAeAAeAe?
AAeAeAeAe? AAeAeAeAe?
UAeAeAeAeAeAAe* ? UAeAAe* ?
? AAeAeAeAe? v AAeAeAeAe?
? ? *AeAAeAeAe? AeAAe? *AeAAeAeAeAe?
v AAeAeAeAeU v AAeAeAeAeU v
UAeAeAAe? ‹1 ‹2 UAeAAeAe? UAeAAeAe? ‹3
AAeAeAeAe? AAeAeAeAe? AAeAeAeAe?
?NIL ? ?NIL ? ?NIL ?
AAeAeAeAe? AAeAeAeAe? AAeAeAeAe?
?NIL ? ?NIL ? ?NIL ?
AAeAeAeAeU AAeAeAeAeU AAeAeAeAeU
ia®© ?««iaaa ae?? ?§®!a ¦Y aaaa?aaa !? a®F® ¤YaYc aci§ ®© ? ¬ia?,
§¤Yai ? – ?®aYi; ‹1,‹2,‹3 – “«?aaii” – cYae?e a “?aaae¬?” aci§i¬? (“Y
cea®ae?¬?” ?®¤¤YaYcii¬?).
®a?®«i?a «i! i cYae? c aci§ ®© aaaa?aaaY ¤YaYc ®a?aec Ya ¤®aaa? a®«i?®
“c?§” (a®«i?® ? ac®?¬ ?®¤¤YaYcii¬), ® ¬®¦Ya ?aYa?aYa?a®c aiai ? ? ?®aYi
a®®acYaaacaieYF® ?®¤¤YaYc . ‚ ia®¬ a¬ea«Y «?aa ic«iYaai ?®aY¬ “Y
cea®aeYF®” ¤YaYc ? ®?aY¤Y«iYa YF® ac®Y®!a §ai “a®c?a a®aa “. ‚?«icY?Y c
¤YaYc® ®c®© cYae?e ? a¤ «Y?Y aa a®© Y ¤®«¦® aae ai ®!eYF® ®a®eY?i
?®ai¤? ¬®¦YaacY cYae?.
?a?¬Ya, ?®aaaa?a®c ?Y ¤?a®a®¬?cYa?®F® ¤YaYc ?® ?®a«Y¤®c aY«i®aa?
aeY«ea c?aY« 30,70,80,21,25,17,4, c? i a 30, ¤®«¦® ?a?c®¤?ai ?
a®§¤ ?i a«Y¤aieY© aaaa?aaae:
UAeAe?
UAeAeAeAeAeAe?30AAeAeAeAeAeAeAe?
UAeA? AAeAeU UAAe?
UAeAeAeAe?21AAeAeAeAeAe? ?70AAeAeAeAeAeAe?
? AAeAeU ? AAeAeU ?
UAeA? UAAe? UAAe?
UAeAeAe?17? ?25? ?80?
? AAeAeU AAeAeU AAeAeU
UA?
?4?
AAeU
Yaaa¤® § ¬Ya?ai, ca® ?a®aeYaa ?®aaaa?a®c ?i a ?®F® ¤YaYc ?a®?aa®¤?a
acYaaa-c?§, c? i a ?®ai, ?aaY¬ ?®a«Y¤®c aY«i®F® aa cY?i c?a«®cea
§ cY?©, p §¬Ye Y¬ea c cYpe? a, a aeY«ii ®?aY¤Y«Y?i ¬Yaa a §¬YeY?i
a®®acYaaacaieY© cYae?e c aaaa?aaaY ¤YaYc . ‹i! i ¬®¤?ae?? ae?i
¤?a®a®¬?cYa?®F® ¤YpYc (a¤ «Y?Y cYpe?e, caa c? ®c®© cYpe?e) Y ¤®«¦
pae ai ¤?a®a®¬?cYa?®© aapa?aape c aeY«®¬.
‚ ®!eY¬ a«ac Y aa aae®a¬ ae?i ?a®?§c®«i®© ?ae®a¬ ae?®®© aap®??
(?®a«Y¤®c aY«i®aa? ®!eY?a®c) c aaaa?aaaa ¤YaYc ? ®!a a® ®a®c
?a?®«i§®c ?? F«a!®??a aapa?aapea ¬Y¦®!eY?aea ®a®eY?© c ?aa®¤®© aap®?Y.
’ ? i ap aae®p¬ ae?i ?®§c®«iYa F«i¤® ?pY¤aa c?ai ?®¤®!eY ®a®eY?i c
ae®p¬Y ¤YpYc . ‚ ?p®Fp ¬¬?p®c ?? ¤YpYc® c®-¬®F®¬ p aa¬ ap?c Yaai ? ?
ae®p¬ «i i aapa?aap , ?®«iY¬ i p §«?ce¬ aY¬ a?cYa??¬ a®¤Yp¦ ?Y¬. ’ ?®©
?®¤a®¤ ?®§c®«iYa ae®p¬ «i® aY «?§®c ai ¬®F?Y ?aY®!a §®c ?i ¤ ea ®a®cY
a?ae?ae?a®c ea ?a®aeY¤aa ®!a®¤ ¤YaYciYc.
?‹?‡… aaa®?®© ” a b c * + “. …a«? ?aY¤aa c?ai ?aa®¤®Y cea ¦Y?Y c
YaaYaacY®© ?Ya aa?cYa?®© ae®a¬Y !? a®F® ¤YaYc :
+—-–+
| AAeAeAeU AAeAeAeU
| | | |
+—>—+ +——->——-+
.
«Y¬Ya ;
«Y¬Ya = RECORD
Info : CARDINAL ;
LLink,RLink : ‚Yae?
END ;
PROCEDURE ‘¬Ye_?!a®¤ (K : ‚Yae? );
BEGIN
IF K # NIL THEN
‘¬Ye_?!a®¤ (K^.LLink); (* ?!a®¤ «Yc®F® ?®¤¤YaYc *)
WriteCard (K^.Info); (* ?!a !®a? ?®ai *)
‘¬Ye_?!a®¤ (K^.RLink); (* ?!a®¤ ?a c®F® ?®¤¤YaYc *)
END
END ‘¬Ye_?!a®¤.
®?a®!a©aY ??a ai ?a®aeY¤aaa ‘¬Ye-?!a®¤ !Y§ ?a?®«i§®c ?i aY?aaa??,
a®«i?® ®a®cY ae??«®c ?, Ya«? ‚ ¬ ia® a¤ aaai, aa c?aY YY a ?a?cY¤Ye¬
ceeY c a? a®¬ aY?aaa?c®© ?a®aeY¤aae ?® F«i¤®aa?,« ?®?c®aa?,
cea §?aY«i®aa?.
?…?’?•
YYaYa !Y«i®aai. – ‘?F «i i a?ap®?§ ae?i. – ?a®ce ¬®?a®a?F ,
®a?Ya?a®c ®F® ?a®aeYaae.
‚?.
®ia®¬a «i!®© a?®a®! aY «?§ ae?? ?c §?? a ««Y«i®aa? ?a?c®¤?a ? c®§??®cY?i
a?Yae?ae?cYa??a ?a®!«Y¬, ?§cYaaea c ?a®Fa ¬¬?a®c ?? ? ? ?a®!«Y¬e
“aa???®c”, “?a?a?cYa??a aY?ae?©”, “aY¬ ae®a®c” ? a. ?. ?? ?®¤a®!®
®??a e c a?Yae? «i®© «?aYa aaaY, ?®acieY®© c®?a®a ¬ ? a ««Y«i®F®
?a®Fa ¬¬?a®c ?i ? ®aF ?§ ae?? c§ ?¬®¤Y©aacaie?a ?a®aeYaa®c.
?¦Y ?a?cY¤Y ?««iaaa ae?i c§ ?¬®¤Y©aac?i ¤caa ?a®aeY¤aa ?® aaY¬Y
a®?a®Fa ¬¬.
ia®© ?««iaaa ae?? ¤c®©®© cYaa®© ?§®!p ¦ iaai ae §e ?a?c®aa?
?a®aeYaa , aY «?§aY¬®F® a®?a®Fa ¬¬®©, ®¤? a®© – ?YaY¤ c a?a c«Y?i ®a
?a®aeYaa ?a®aeYaaa. ‚ ®a«?c?Y ®a ?®¤?a®Fa ¬¬, «i! i ?a®aeY¤aa ,
aY «?§aY¬ i ? ? a®?a®Fa ¬¬ , ¬®¦Ya ?¬Yai ¬®¦Yaac® a®cY? aY ?a?c ae??.
’ ??Y a®c?? c aY?aaY ?a®Fa ¬¬e ®?aY¤Y«iiaai a aaa ®c?®© a?Yae? «iea
®?Ya a®a®c a?a c«Y?i (®?Ya a®ae a?aa®?§ ae??, § ¤Ya¦??, ®¦?¤ ?i ? a.?.).
(a®?a®Fa ¬¬ 1) * * (a®?a®Fa ¬¬ 2)
? ?
? UAeAeAeAeAe> * Ae?
? ? ? °? ae § ?a?c®aa?
UAe * AeU
ae § ?° ? ? ? °?
?a?c®aa? ° ? UAeAeAe>AAe * AeU Ae?
?a®aeYaa 1 ?° ? ? ? °?
AAe * AeU
? ? ? °? ?p®aeYaa 2
? UAeAeAe>AAe * AeU
? ? ?
a®c? aY ?a?c ae?? >> * AeU
*AeAAeAeAe>? *AeAAeAe?
? AAeAeAeAeAeAe? AAeAeAeAeAeAe? AAeAeAeAeAeAe?
AAeAeAeAeAeAe? AAeAeAeAeAeAe? ?
? ? * ? ? ? ? ? ? * ? ? * ? ?
? AAeAeAeAAeAeU AAeAeAeAeAeAeU AAeAeAeAeAeAeU AAeAAeAeAAeU
AAeAeAeAAeAeU ?
? ? v AAeAeAe
AAeAeAeAAeAeU AAeAeAeAAeAeU AAeAeAeAAeAeU AAeAeAeAeAeAeU
AAeAeAeAeAeAeU
AAeAeAeAeAe>AeAeAeAeAeU AeAAe
a®, ?®Yc®, Y ®§ c Ya, ca® caY aa? ia?a ?a®aeYaa ?a?ce c aY?ae?© ¬®¬Ya
caY¬Y?,- ?a?cY «?ei ®¤? ?§ ?a, ®?aY¤Y«Ye© ?a c?«®¬ ce!®a F®a®c®F®
?a®aeYaa ?§ ?®«iae ¤«i ?a?c ae??. (‚ a aa¬ aa?c Y¬®¬ a«ac Y a ?®Y
?a c?«® ¬®¦Ya !eai ®cYi ?a®aae¬: ?a? ?a®a¬®aaY ?®«iae c ?a c«Y?? LINK
ce!a ai ?Yace© F®a®ce© ?a®aeYaa ? a¤Y« ai YF® ?a?ce¬).
a? ia®¬ S1 (?«? S2) ?®«ac?a § cY?Y NIL, ¤«i ce?®«Y?i !a¤Ya ce!a ®ce©
?a®aeYaa ?§ ?®«iae F®a®c®aa?.
…a«? c ?a®aeYaaY ce?®«Y?i ?a?c®F® ?a®aeYaa Pr !a¤Ya ce?®«Y, ?a?¬Ya,
®?Ya a®a WAIT(S1), a® ¤Y©aac?i, aci§ eY a ? aa?c ae?Y© ?a®aeYaa Pr,
§ ?«ic iaai c § YaY?? c ?®«Y STATUS a®®acYaaacaieYF® ? a?®pa § cY?i
FALSE ? c?«icY?? ia®F® ? a?®aa c a??a®? ®¦?¤ ?i a?F « S2.
a® ®!ec® a? § aY«i, aaa ®c«Ye© ? a?®aa a ?®F® ?a®aeYaa c a a??a ??
?a?c ae?©. ‘¬Y ?a?c®F® ?a®aeYaa ?a®?aa®¤?a a®«i?® ?a? YF®
? aa?c ae?? ? ??¬-«?!® ®?Ya a®a®¬ a?p c«Y?i, ?a? ia®¬ § ¬Y
CurrentProcess ®ce¬ ?a?c?aaY¬e¬ ?a®aeYaa®¬ NewProcess aci§ a
?a?®«i§®c ?Y¬ a«Y¤aieYF® ¬Ya ?§¬ :
VAR CurrentProcess, NewProcess, HP: PASPORT;
(* HP – ca?®¬®F aY«ie© a? § aY«i *)…
BEGIN…
HP := CurrentProcess;
CurrentProcess := NewProcess;
TRANSFER (HP^.Process, CurrentProcess^.Process);
…
’ ??¬ ®!a §®¬, Y¤?aacY®Y § cY?Y ?®«i Process c aaaa?aaaY ? a?®aa –
®!Ya?Yc?ai ?®aaY?aai ?YaY¤ ca a?a c«Y?i (ap aaeYp?§ ae?i) ¬Y¦¤a
?c §?? p ««Y«ie¬? ?p®aeYaa ¬? .
?a?®«i§aY¬e© §¤Yai aYp¬? “ap aaeYp?§ ae?i” ?p?§c ?®¤cYp?aai
a?Yae?ae??a c§ ?¬®¤Y©aac?i ?p®aeYaa®c: ia® Y ®!ec i !Y§aa«®c i ?YpY¤ c
a?p c«Y?i (pY «?§aY¬ i ®?Yp a®p®¬ GO TO) ? Y c®§cp a a?p c«Y?i (a
?®¬®eii RETURN), ia® a®cYpeY® ?®© ¬Ya ?§¬ a?p c«Y?i.
a?®a?aYa ?a®aeYaa “. ?a®¬Y a®F®, ?a?®«i§®c ?Y ®a®eY?© aa®®«®F?cYa?®F®
?®ai¤? ¬®¦YaacY ae § ?a?c®aa? aaY!aYa ?a?®«i§®c ?i c ? a?®paY
a?Yae? «i®© “®a¬Ya?? cpY¬Y?”: ?®F¤ a¦® ?a?c?p®c ai ?p®aeYaa ? a.?. ‚
aeY«®¬ aaaa?aaa a a??a ?i ?a?c ae?© ¬®¦Ya ®? § aiai ®cYi a«®¦®©,
aci§ ®© a ?a?®«i§®c ?Y¬ ¬®F?a a §®c?¤®aaY© a??a?®cea aaaa?aaa. „«i
?®?¬ ?i ®!eY© ®aF ?§ ae?? a ??a aaaa?aaa c § ¤ c a ?c §?? a ««Y«i®F®
?a®Fa ¬¬?a®c ?i ? “a §«®¦Y?i” aeY«®F® (¤? ¬??? ?aa«Y¤aY¬®© a?aaY¬e)
c aa? (?p®aeYaae) ®!eY?a®-®a?Ya?a®c e© ?®¤a®¤ ¬®¦Ya ®? § aiai cYai¬
?«®¤®ac®ae¬.
‘“‹?–??
aa«®Y?Y ac®©aac.
a ®a®!Y®aai ?aY¤?®« F Ya Y a®«i?® c®§¬®¦®aa? “a §«®¦Y?i aeY«®F®
c aa?” (?a?ae?? , ®?aY¤Y«iieYF® ®a®ce «i!®F® ?a®Fa ¬¬?a®c ?i), ® ? a¬Y?i
“a?aec ai” c aa®aa? ®a ®!eYFo (aeY«®F®). ’ ?®© ?®¤a®¤ ?®§c®«iYa
?a®Fa ¬¬?aaa Y § ai c aaea ¤Ya «Y© aY «?§ ae?? ?a®Fa ¬®© a?aaY¬e,
®aaeYaac«iai ?®aaaa?a®c ?Y ?§ i«Y¬Ya®c, aY «?§ ae?i ?®a®aea a?aea ®a
YF® “?®¤ ®!®«®c?®©” ¬®¤a«i. ?®¤a«i c ia®¬ ?®¤a®¤Y ?a?®!aYa Ya a®«i
®a®c®F® ?®aaaa?a?c®F® i«Y¬Ya , ?a?®«i§aY¬®F® ¤«i a?aY§ ? a §a !®a??
®cea a?aaY¬.
‘?Yae?ae?cYa??Y ®a®!Y®aa? ¬®¤a«i § ?«ic iaai c a«Y¤aieY¬:
1) ¬®¤a«i – ia® ca®®¬® ?®¬??«?aaY¬ i ?a®Fa ¬ i Y¤??ae ;
2) ?ae®a¬ ae?®eY ? a?a c«iie?Y aci§? ¬Y¦¤a ¬®¤a«i¬? aaY!aia ?a?®«i§®c ?i
c YF® ®??a ?? ¤Y?« a ae?©, ?®a®aeY c a®c®?a?®aa? ®?aY¤Y«iia ®!®«®c?a
¬®¤a«i, aYF« ¬Ya?aaieai a ??Y aci§?;
a c?« a ?®© ?®¬?®®c?? ?®«®aaii ®?aY¤Y«iiaai a?aaY¬®© ¬®¤a«iea ®!®«®cY?.
?p?¬Yp:
DEFINITION MODULE A;
EXPORT QUALIFIED B,C,D;
TYPE B;
VAR C: B;
PROCEDURE D(C:B);
END A.
‚ ia®¬ ?a?¬YaY a §aYeY® ?a?®«i§®c ?Y “§ ?aY¤Y« ¬?” ¬®¤a«i A aaYa
®?aY¤Y«Yea c Y¬ ?a®Fa ¬ea ®!eY?a®c: a?? ‚, ?YaY¬Y®© ‘ ? ?a®aeY¤aae D.
aY¤e¤ae?© ?a?¬Ya c ia®¬ ®a®eY?? aae Ya a ?®© aa?«i, a §aYe i i?a?®aa
?YaY¬Y®© C.
®¤®!eY aa?«YceY ®a®!Y®aa? i?a?®aa ®?aY¤Y«iiaai a«Y¤aie?¬? a®®!a ¦Y?i¬?.
‚Y¤i ?YaY¬Y i C c ?a?cY¤Y®¬ ?a?¬YaY – a®!aacY i (caaaYii) ?YaY¬Y i
¬®¤a«i A, a §¬YeY i c YF® aa a?cYa?®© ? ¬ia?. ?®¦® «? ¬Yiai § cY?Y ia®©
?YaY¬Y®© § ?aY¤Y« ¬? ¬®¤a«i? ?«? ia® Y a®®acYaaacaYa ®!e?¬ “¦?aY©a??¬”
?aY¤aa c«Y?i¬ ®! i?a?®aaY? ? c®®!eY, ca® ¬®¦® ¤Y« ai a ?YaY¬Y®© C §
?aY¤Y« ¬? ¬®¤a«i? …a«? ca® aF®¤®, a® ? ?®© a¬ea« § c®¤?ai C c ¬®¤a«Y ??
…a«? ¤Y©aac?i ¤ C caap? A aYF« ¬Ya?a®c e ?a®aeY¤aa ¬? A, a®
aeY«Ya®®!a §® i?a?®aa?a®c ai a®«i?® a ?®© aYF« ¬Ya, a.Y. ?a®aeY¤aae. ‚
«i!®¬ a«ac Y ?YaY¬Y i, ®?aY¤Y«Y i c ®¤®¬ ¬®¤a«Y ? ?a?®«i§aY¬ i c ¤aaF®¬,
?a?®!aYa Ya a a ?aYa a §¤Y«iY¬®© ?YaY¬Y®© – a Y© ¬®Faa a !®a ai
?a®Fa ¬¬e, ®?aY¤Y«YeY c a §«?cea ¬®¤a«ia ?, c®§¬®¦®, ??a eY a §e¬?
«i¤i¬?. ?®Yc®, aaeYaacaia a?aa ae??, ?®F¤ ®a a ?®F® i?a?®aa Yc®§¬®¦®
?«? YaeY«Ya®®!a §® ®a? §ec aiai, ®, a®F« a?aYai, ca® c Y?®a®aea a«ac ia
® ¬®¦Ya !eai ?®a®¦ i?a?®aa aa ?®c, ?®a®aeY ?a?®«i§aiaai ? ?
¬Ya ««®«®¬.
?a?¬Ya, ¤«i ?a?®«i§®c ?i ?YaY¬Y®© C § ?aY¤Y« ¬? a?Yae?ae?ae?aaieY©
®!®«®c??, ®?aY¤Y«Y®© ceeY ¤«i ¬®¤a«i A, c a«ac Y ?c «?ae?ae?a®c ®F®
i?a?®aa ¤®aa a®c® ?a®aa®F® ?¬Y®c ?i C, ?a? Y?c «?ae?ae?a®c ®¬
i?a?®aaY aci§ ® a ?a?®«i§®c ?Y¬ ?aYae??a?a®c ®F® ?¬Y? A.C.
?a®¬Y a®F®, aaeYaacaia YeY ¤cY ae®a¬e i?a?®aa : § ?aeae© ? ®a?aeae©.
?a?aeae© i?a?®aa ®?aY¤Y«iYa ?YaY¤ ca ®!eY?a®c, a ?®a®ae¬? § ?aY¤Y« ¬?
¬®¤a«i-i?a?®aaYp ¬®¦® ®aaeYaac«iai «i!eY ®?Ya ae??, ®?aY¤Y«YeY c i§e?Y
?a®Fa ¬¬?a®c ?i. ‚ ia®¬ ®a®eY?? ®a?aeae© i?a?®aa a?¬ Ya caY ®Fa ?cY?i,
ac®©aacYeY ®!eY?a®-®a?Ya?a®c ®¬a aa?«i ?a®Fa ¬¬?a®c ?i ? a §aYe Ya
?a?®«i§®c ai aa ?? Y a®«i?® ? ? ¬Ya ««®«®¬, ® ? ? ? aaa®?aY«ieY
?®aaaa?ae??, aea¤ ¬YaeY !«®?? ?«? ? a?®ceY a?a«i?aaae.
‡ ?aeae© i?a?®aa § ?aYe Ya ?a?®«i§®c ?Y ? ??a-«?!® ®?Ya ae?© ¤
i?a?®aa?aaY¬e¬? ®!eY?a ¬? ?a®¬Y aYa, ?®a®aeY ®?aY¤Y«Ye c
¬®¤a«Y-i?a?®aaYpY. ‚ ia®¬ a¬ea«Y § ?aeae© i?a?®aa – ia® “i?a?®aa aeaii”,
“?®aaY!?aY«ia??a ?a®¤a?a®c” ? a.?.
‡ ?aeae¬ i?a?®aa®¬ ®!ec® i?a?®aa?aaYaai a?? ¤ ea, ?a? ia®¬ c
a?Yae?ae?ae?aaieY© ®!®«®c?Y ¬®¤a«i ®aaaaaacaYa ®?aY¤Y«Y?Y ia®F® a?? , ®
?a®aa® ¤Y?« a?aaYaai. ‚ ?a?cY¤Y®¬ ceeY ?a?¬YaY a ? i?a?®aa?aaYaai a?? ‚.
?®¤a« -2 a §aYe Ya a ?®© i?a?®aa ¤«i aae«®cea a??®c ? Y?®a®aea ®aaY§?®c
a??®c. ‚®a, ?a?¬Ya, ? ? ¬®¦Ya !eai ®?aY¤Y«Y i?a?®aa a?F «®c,
?a?®«i§aY¬ea ¤«i a?aa®?§ ae?? ?c §?? a ««Y«iea ?a®aeYaa®c:
DEFINITION MODULE SINCHRON;
EXPORT QUALIFIED SIGNAL, SEND, WAIT;
TYPE SIGNAL;
PROCEDURE SEND (VAR S:SIGNAL);
PROCEDURE WAIT (VAR S:SIGNAL);
END SINCHRON.
‡ ?aea®aai i?a?®aa c ia®¬ ¬®¤a«Y ?®§c®«iYa YF® a aa¬ aa?c ai ? ?
?®«®aaii ?? ?aa«?p®c ®Y ®?aY¤Y«Y?Y !aaa ?a®F® a?? ( «FY!ae)
a?ap®?§?pae?a a?F «®c. ‚aY ?¬¬ YaeY ac®©aac ®!eY?a®c-a?F «®c a?aeae ®a
?®«i§®c aY«i (c aY «?§aieY© ®!®«®c?Y ¬®¤a«i – IMPLEMENTATION) ? «?ei ¤c
¬Ya®¤ (SEND ? WAIT) ceYaYe i?a?®aa. ‡ ?aea®aai i?a?®aa a §aYe Ya ¤
«i!e¬? a?F « ¬?, ®?aY¤Y«Ye¬? cY SINCHRON, ce?®«Y?Y a®«i?® ¤caa ¤Y©aac?©:
SEND ? WAIT; ?a?®«i§®c ?Y ¤«i ia®F® ? ??a-«?!® ¤aaF?a ?a®aeY¤aa ?/?«?
®?Ya a®a®c i§e? Yc®§¬®¦®.
Y «?§aie?Y ®?aY¤Y«Y?i ? ?¬¬ YaeY ac®©aac ?« aa SIGNAL, ®?aY¤Y«YeY c
¬®¤a«Y IMPLEMENTATION, aa®ciia ®?aY¤Y«Y?Y a?F « SIGNAL = POINTER TO
PASPORT (a¬. p §¤.VII) ? ®?aY¤Y«iia caY ¤Ya «? a !®ae a ®!eY?a ¬? ia®F®
a?? .
?a?¬Ya, ?¦Y ?a?cY¤Y ?««iaaa ae?i a ?®© aaaa?aaae:
UAeAeAe?
UAeAeAeAeAeAeAeAe>AeAe? A ?
? AAAAU
? UAeAeAeAe>AeAeAeU?AAeAeAe
? AAeAAeU AAAeAU AAeAAeU
? ? ? ? ?
? UAeAAe? ? ? ?
AAe? E AAeAe>AeAeAeU ? ?
AAeAAeU ? ?
AAeAeAeAe
?®p !«? ??a ?« ?«Y?a ¤p®c?c p®Fp ¬¬?p®c ?Y, ®p?Ya?p®c ®Y ®!eY?ae Y¤ ?a®a ‹.?.—YF®¤ Yc ’Ya. aY¤ ?a®a ?.?.“a cYc ‹?aeY§?i ‹P N 020301 ®a 28.11.91. ®¤??a ® c ?Yc ai . ”®a¬ a 60 a 841/16. Yc ai ®aeaYa i. “a«.?Yc.«. “a«.?a.-®aa. “c.-?§¤.«. ’?a ¦ 200 i?§. ‡ ? § . ?aa.‘ - 104 / 94. ‘ ¬ aa??© F®aa¤ aaacYe© ia®?®a¬?cYa??© .?®a®«Yc . 443086, ‘ ¬ a ?®a?®ca?®Y e®aaY, 34. AeAeAeAeAeAeAeAeAeAeAeAeAeAeAeAeAeAeAeAeAeAeAeAeAeAeAeAeAeAeAeAeAeAeAeAe AeAeAeAeAeAeAeAeAeAeAeAeAeAeAeAeAeAeAeAeAeAeAeAe ? ‘ ¬ aa?®F® F®aa¤ aaacY®F® ia®?®a¬?cYa?®F® a?cYaa?aYa . 443001 ‘ ¬ a , a«.“«ii®ca? i, 18. d5 b? yy? ]? XO yye e vQ ti 7 Eyy ?H?HyIHyyOHw*HyyTHHuaHyyeHseHyyoeHq/Hyy IoIyy Iy0IyycIweIyy?Iu?IyyNIsOIyyOeIqOIyy Jo b?by!byy?bwAbyyCbuIbyyebsoebyy/bqubyyubocyy cm {v?{s {q!{n«{l¬{i°{g1/2{d|b 7676 µHeHy0IyeIy?IyOIy ?yAe yocy G O»e»y G c (01/01/9412/03/93$uUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUe UeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUe UeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUe UeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUe UeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUe UeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUeUe
Нашли опечатку? Выделите и нажмите CTRL+Enter