Ðåôåðàòû

Ïðîãðàììèðîâàíèå, îðèåíòèðîâàííîå íà îáúåêòû

é Óá¡¡¿Õ óÑÓß¿´Õ ´ºÙ¬«ó »Ó«úÓá¼¼¿Ó«óá¡¿´

TSIZE (ADDRESS) = TSIZE (WORD) = 2 (íá®Ôá).

Åp¿ ÝÔ«¼ ÓẼÑÓ Óáí«þÑú« »Ó«ßÔÓá¡ßÔóá áñÓÑß«ó, «»ÓÑñѽ´Ñ¼Ù® ¼«Ú¡«ßÔý¯

¼¡«ªÑßÔóá ¬«¡ßÔá¡Ô Ô¿»á ADDRESS, ß«ßÔáó½´½ ñ½´ 16-ÓáºÓ´ñ¡ÙÕ Øéî 216 =

65536 = 64*1024 = 64K. æÔÓѼ½Ñ¡¿Ñ ÓáßÞ¿Ó¿Ôý áñÓÑß¡«Ñ »Ó«ßÔÓá¡ßÔó«

(«ßÔáóá´ßý ó ÓἬáÕ Ô«® ªÑ ÓáºÓ´ñ¡«ßÔ¿ Øéî) »Ó¿óѽ« ó í«½ÑÑ »«ºñ¡¿Õ óÑÓß¿´Õ

´ºÙ¬«ó »Ó«úÓá¼¼¿Ó«óá¡¿´ ¬ Òóѽ¿þÑ¡¿¯ ÓẼÑÓá ݽѼѡԫó ÕÓá¡Ñ¡¿´ áñÓÑß«ó ó 2

Óáºá:

TSIZE (ADDRESS) = TSIZE (ARRAY[1..2] OF WORD) = 4 (íá®Ôá).

ÅÓ¿ ÝÔ«¼ ADDRESS ßÔá½ ¿¡ÔÑÓ»ÓÑÔ¿Ó«óáÔýß´ ¬á¬ ßÔÓÒ¬ÔÒÓá:

TYPE ADDRESS = RECORD

SEGMENT, OFFSET: CARDINAL;

END;

¿ß»«½ýº«óá¡¿Ñ ¬«Ô«Ó«® õá¬Ô¿þÑ߬¿ «ß¡«óá¡« ¡á ¿¡ñѬߡ«® ¿ñÑ¡Ô¿õ¿¬áµ¿¿

«íÛѬÔá. SEGMENT «»ÓÑñѽ´ÑÔ ¡«¼ÑÓ ßÑú¼Ñ¡Ôá Óáí«þÑú« »Ó«ßÔÓá¡ßÔóá áñÓÑß«ó,

ÒÔ«þ¡´Ñ¼«ú« ß¼ÑÚÑ¡¿Ñ¼ (OFFSET), ó ¬«Ô«Ó«¼ ÕÓá¡¿Ôß´ "ÓáßßÔ«´¡¿Ñ" «Ô ¡áþá½á

ßÑú¼Ñ¡Ôá ñ« »ÓÑñßÔáó½Ñ¡¿´ ¿ñÑ¡Ô¿õ¿µ¿ÓÒѼ«ú« «íÛѬÔá.

ï¯í«® «íÛѬÔ-Ò¬áºáÔѽý (ßó«í«ñ¡Ù® ¿½¿ «úÓá¡¿þÑ¡¡Ù®) ¿ñÑ¡Ô¿õ¿µ¿ÓÒÑÔß´

¿¼Ñ¡Ñ¼, ñѬ½áÓ¿Ó«óá¡¡Ù¼ ó »Ó«úÓá¼¼Ñ. ç¡áþÑ¡¿Ñ Ò¬áºáÔѽ´, ß«ÕÓᡴѼ«Ñ "»«ñ"

ÝÔ¿¼ ¿¼Ñ¡Ñ¼, ¿ñÑ¡Ô¿õ¿µ¿ÓÒÑÔ ó ßó«¯ «þÑÓÑñý ñÓÒú«® «íÛÑ¬Ô (Ò¬áºÙóáÑÔ ¡á

¡Ñú«). Æá¬á´ ¿ñÑ¡Ô¿õ¿¬áµ¿´ ¡á ÒÓ«ó¡Ñ º¡áþÑ¡¿® »«ºó«½´ÑÔ ñ¿¡á¼¿þÑ߬¿ (ó

»Ó«µÑßßÑ óÙ»«½¡Ñ¡¿´ »Ó«úÓá¼¼Ù) ¼Ñ¡´Ôý "»«½«ªÑ¡¿Ñ ßÔÓѽ«¬" Ò¬áºáÔѽ´ ¿

ß««ÔóÑÔßÔóÑ¡¡« ¿ñÑ¡Ô¿õ¿µ¿Ó«óáÔý Óẽ¿þ¡ÙÑ «íÛѬÔÙ. "ù¿ßÔ«Ñ" ¿¼Ñ¡«óá¡¿Ñ ¡Ñ

ñáÑÔ Ôá¬¿Õ ó«º¼«ª¡«ßÔÑ®. ì¿ªÑ »Ó¿óÑñÑ¡á úÓáõ¿þÑ߬ᴠ¿½½¯ßÔÓᵿ´ ßßÙ½«þ¡«®

¿ñÑ¡Ô¿õ¿¬áµ¿¿ «íÛѬԫó Ò¬áºáÔѽѼ "»« ¿¼Ñ¡¿" P.

TYPE èóáñÓáÔ: ... ; VAR P: POINTER TO èóáñÓáÔ;

Ø½Ñ¼Ñ¡Ô xÓá¡Ñ¡¿´ Ò¬áºáÔѽ´

+-----------------------------+

ê¼´: P | ç¡áþÑ¡¿Ñ Ò¬áºáÔѽ´ *--+---+ (P=NIL)

+--------------------------+--+ v

+---+-----+--------+----+ -+-

| | | -+-

| | | |

+--v---+-----+--------+-------+

| +++ | | v | +-+ «íÛÑ¬Ô ¬½áßßá

| +-+ v v | +-+ èóáñpáÔ

| +++ +++ |

| +-+ +-+ | «íÛÑ¬Ô ¬½áßßá

| | PÑÞÑÔ«

| Páí«þÑÑ »p«ßÔpá¡ßÔó« »á¼´Ô¿ |

+-----------------------------+

ìá»Óáó½Ñ¡¿Ñ ßÔÓѽ«¬, «»ÓÑñѽ´Ñ¼«Ñ 󫺼«ª¡Ù¼¿ º¡áþÑ¡¿´¼¿ Ò¬áºáÔѽ´ P,

«Ô¬ÓÙóáÑÔ ñ«ßÔÒ» ¬ «íÛѬÔá¼ ¬½áßßá èóáñÓáÔ. ìá»Óáó½Ñ¡¿Ñ ßÔÓѽ¬¿,

Ò¬áºÙóá¯ÚÑ® ¡á "pÑÞÑÔ«", ñ½´ P, ñѬ½áÓ¿Ó«óá¡¡«ú« ¬á¬ POINTER TO èóáñÓáÔ,

´ó½´ÑÔß´ ¡Ññ«»ÒßÔ¿¼Ù¼, ßÔÓѽ¬á P=NIL ¡¿ ¡á þÔ« ¡Ñ Ò¬áºÙóáÑÔ.

êñÑ¡Ô¿õ¿¬áµ¿´ «íÛѬԫó þÑÓѺ ßßÙ½¬¿ «Ô¬ÓÙóáÑÔ ó«º¼«ª¡«ßÔ¿ «Óúá¡¿ºáµ¿¿

ñ¿¡á¼¿þÑ߬¿ ¼«ñ¿õ¿µ¿ÓÒѼÙÕ ßó´ºá¡¡ÙÕ ßÔpÒ¬ÔÒp. ÄíÛѬÔÙ, ¿º ¬«Ô«ÓÙÕ

¬«¡ßÔÓÒ¿ÓÒ¯Ôß´ Ôá¬¿Ñ ßÔÓÒ¬ÔÒÓÙ, ñ«½ª¡Ù «í½áñáÔý ßó«®ßÔó«¼ "ê¼ÑÔý ß󴺿 ß

ñÓÒú¿¼¿ «íÛѬÔἿ", ¬«Ô«p«Ñ ߻ѵ¿õ¿µ¿pÒÑÔß´ ¬á¬ Ò¬áºáÔѽý. ìá»Ó¿¼ÑÓ,

TYPE ؽѼѡÔ_ö¿úÒÓÙ = RECORD

A : èóáñÓáÔ;

B : POINTER TO ؽѼѡÔ_ö¿úÒÓÙ

END.

ì¿ªÑ »Ó¿óÑñÑ¡á úÓáõ¿þÑ߬ᴠ¿½½¯ßÔÓᵿ´ «ñ¡«® ¿º ¼¡«ú¿Õ ßó´ºá¡¡ÙÕ ßÔpÒ¬ÔÒp -

ßÔpÒ¬ÔÒp٠諽ýµá, ß«ßÔáó½Ñ¡¡«ú« ¿º ÔÓÑÕ Ôá¬¿Õ Ý½Ñ¼Ñ¡Ô«ó.

+--------+ +----------+

| v v P | v

| +---+---+ +---+---+ | +---+---+

| | A | | A | | | A |

| |-------+ +-------| | +-------|

| | B *-+-------->+ B *-+-----+ | B * |

| +-------+ +-------+ +---+---+

| |

+-----------------------------------------------+

VAR P: POINTER TO ؽѼѡÔ_ö¿úÒÓÙ

ìá ÝÔ«® ¿½½¯ßÔÓᵿ¿ Ññ¿¡ßÔóÑ¡¡Ù® Ò¬áºáÔѽý P »«ß½Ññ«óáÔѽý¡« (ó ¡á»Óáó½Ñ¡¿¿

ßÔÓѽ«¬ ßó´ºÑ®) «Ô¬ÓÙóáÑÔ ñ«ßÔÒ» ¬« óßѼ ݽѼѡÔá¼ ßÔpÒ¬ÔÒp٠諽ýµá.

çá¼ÑÔ¿¼, þÔ« ¡á ÝÔ«® ¿½½¯ßÔÓᵿ¿ (ó «Ô½¿þ¿Ñ «Ô »ÓÑñÙñÒÚÑ®) Ý½Ñ¼Ñ¡Ô ÕÓá¡Ñ¡¿´

Ò¬áºáÔѽ´ P ÒªÑ ¡Ñ ¿º«íÓáªÑ¡. ÅÓ«ßÔ« Ó´ñ«¼ ß« ßÔpѽ¬«® »p«ßÔáó½Ñ¡« ¿¼´

Ò¬áºáÔѽ´ - ÝÔ« «íÙþ¡Ù® »Ó¿Ñ¼ ñ½´ úÓáõ¿þÑ߬¿Õ ¿½½¯ßÔÓᵿ® »pÑñßÔáó½Ñ¡¿´

ßó´ºá¡¡ÙÕ ßÔÓÒ¬ÔÒÓ.

ï¯í«Ñ »Ó¿ßó«Ñ¡¿Ñ º¡áþÑ¡¿´ Ò¬áºáÔѽ¯ úÓáõ¿þÑ߬¿ ¿¡ÔÑÓ»ÓÑÔ¿ÓÒÑÔß´ ¬á¬

¿º¼Ñ¡Ñ¡¿Ñ ¡á»Óáó½Ñ¡¿´ ß««ÔóÑÔßÔóÒ¯ÚÑ® ßÔÓѽ¬¿ (»ÑÓÑßÔá¡«ó¬á, »ÑÓÑñ󿪬á

Ò¬áºáÔѽ´ ¡á ñÓÒú«® «íÛѬÔ). ä«ßÔÒ» ¬ «íÛѬÔÒ þÑÓѺ Ò¬áºáÔѽý «Ô¬ÓÙóáÑÔß´

»ÒÔѼ ¿¼Ñ¡«óá¡¿´ Ò¬áºáÔѽ´ ß »«ßÔõ¿¬ß«¼ "^". Æá¬, ó »Ó¿óÑñÑ¡¡«¼ óÙÞÑ

»Ó¿¼ÑÓÑ ñ½´ ñ«ßÔÒ»á ¬ «íÛѬÔÒ ¬½áßßá èóáñÓáÔ þÑÓѺ P: POINTER TO

ؽѼѡÔ_ö¿úÒÓÙ ¡Ñ«íÕ«ñ¿¼« ¿ß»«½ýº«óáÔý ¬ó὿ñÑ¡Ô ó¿ñá P^.A. é ¡Ñ¼

"ºáÞ¿õÓ«óá¡á" ß½ÑñÒ¯Úá´ »«ß½Ññ«óáÔѽý¡«ßÔý ñ«ßÔÒ»á:

P - ñ«ßÔÒ» ¬ Ò¬áºáÔѽ¯, ¿ñÑ¡Ô¿õ¿µ¿ÓÒ¯ÚÑ¼Ò Ø½Ñ¼Ñ¡Ô_ö¿úÒÓÙ;

P^ - ñ«ßÔÒ» ¬ ßÔÓÒ¬ÔÒÓÑ Ø½Ñ¼Ñ¡Ôá, ¡á ¬«Ô«ÓÒ¯ Ò¬áºÙóáÑÔ P;

P^. - ñ«ßÔÒ» ¬ áÔp¿íÒÔá¼ (¬«¼»«¡Ñ¡Ôá¼) ÝÔ«® ßÔÓÒ¬ÔÒÓÙ;

P^.A - ñ«ßÔÒ» ¬ áÔp¿íÒÔÒ èóáñÓáÔ.

èáªñÙ® ¿º »«ñ«í¡ÙÕ ¬ó὿ñÑ¡Ô«ó «Ô¬ÓÙóáÑÔ ñ«ßÔÒ» ¬ "ßó«Ñ¼Ò" Ò¡¿¬á½ý¡«¼Ò

«íÛѬÔÒ (¿½¿ áÔp¿íÒÔÒ). ìÑÔpÒñ¡« ºá¼ÑÔ¿Ôý, þÔ« ñ½´ ÝÔ«ú« »Ó¿¼ÑÓá (¿ ó «íÚѼ

ß½ÒþáÑ)

SIZE (P) # SIZE (P^) # SIZE (P^.A).

èßÔáÔ¿, þÑ¼Ò Óáó¡« SIZE (P^) ñ½´ ÝÔ«ú« »p¿¼Ñpá?

P«½ý »«ßÔõ¿¬ßá "^" (ßÔÓѽ¬¿) ºá¬½¯þáÑÔß´ ó "«Ô¬ÓÙÔ¿¿" ñ«ßÔÒ»á ¬ «íÛѬÔÒ

þÑÓѺ º¡áþÑ¡¿Ñ Ò¬áºÙóá¯ÚÑ® ¡á ¡Ñú« ßßÙ½¬¿. ê¡«úñá ÝÔÒ «»Ñpᵿ¯ «ípạ«

¡áºÙóá¯Ô "pá߬pÙԿѼ ßßÙ½¬¿". êß»«½ýº«óáÔý ß¿¼ó«½ "^" ¬á¬ »«ßÔõ¿¬ß ó ¿¼Ñ¡¿

«íÛѬÔá, ¬«Ô«ÓÙ® ¡Ñ ´ó½´ÑÔß´ Ò¬áºáÔѽѼ, ó «íÚѼ ß½ÒþáÑ ¡Ññ«»ÒßÔ¿¼«.

êß»«½ýº«óá¡¿Ñ ¬ó὿ñÑ¡Ô«ó ß ß¿¼ó«½«¼ "^" ó «»ÑÓáÔ«ÓáÕ »Ó¿ß«Ññ¿¡Ñ¡¿´

»Ó«ó«ñ¿Ôß´ ó «ß¡«ó¡«¼ ÔᬠªÑ, ¬á¬ ÒªÑ íÙ½« «»¿ßá¡« óÙÞÑ »Ó¿¼Ñ¡¿Ôѽý¡« ¬

áúÓÑú¿Ó«óá¡¡Ù¼ ßÔÓÒ¬ÔÒÓá¼. çñÑßý ß½ÑñÒÑÔ »«¼¡¿Ôý, þÔ« ½¯í«Ñ »Ó¿ß«Ññ¿¡Ñ¡¿Ñ

µÑ½Ñß««ípạ« ß ñóÒÕ Ô«þѬ ºpÑ¡¿´:

1) ñ½´ ß«¬ÓáÚÑ¡¿´ ñ¿ßÔᡵ¿¿ ñ«ßÔÒ»á ¬ ¬«¼»«¡Ñ¡Ôá¼ áúÓÑú¿Ó«óá¡¡«® ßÔÓÒ¬ÔÒÓÙ;

2) ñ½´ »«óÙÞÑ¡¿´ ¡áú½´ñ¡«ßÔ¿, óÙpếÔѽý¡«ßÔ¿ ¿ ßÔpÒ¬ÔÒp¡«ßÔ¿ »p«úpá¼¼Ù.

ä½´ ß½Òþá´ P: POINTER TO ؽѼѡÔ_ö¿úÒÓÙ ¿ß»«½ýº«óá¡¿Ñ «»ÑÓáÔ«Óá

WITH P^ DO < ÅÓ¿ß«Ññ¿¡´Ñ¼Ù® õÓáú¼Ñ¡Ô > END

pÑ὿ºÒÑÔ »p¿ß«Ññ¿¡Ñ¡¿Ñ ¬ ؽѼѡÔÒ_ö¿úÒpÙ, pẼÑÚÑ¡¡«¼Ò ó »á¼´Ô¿ "»«ñ" P,

á «»ÑÓáÔ«Ó

WITH P DO < ÅÓ¿ß«Ññ¿¡´Ñ¼Ù® õÓáú¼Ñ¡Ô > END

¼«ªÑÔ pÑ὿º«óáÔý »p¿ß«Ññ¿¡Ñ¡¿Ñ Ô«½ý¬« (!) ¬ áÔp¿íÒÔá¼ ßἫú« Ò¬áºáÔѽ´

(Ô.Ñ. »«½´¼ SEGMENT ¿ OFFSET) ¿ ¡Ñ ¿¼ÑÑÔ ¡¿¬á¬«ú« ß¼Ùß½á ó »½á¡Ñ

»p¿ß«Ññ¿¡Ñ¡¿´ ¬ ؽѼѡÔÒ_ö¿úÒpÙ. é ÝÔ«® ß󴺿 Ôá¬ªÑ «Ô¼ÑÔ¿¼, þÔ« ½¯í«Ñ

»Ó¿ß«Ññ¿¡Ñ¡¿Ñ, ñѬ½áÓ¿Ó«óá¡¡«Ñ ß««ÔóÑÔßÔóÒ¯Ú¿¼ «»ÑÓáÔ«Ó«¼ WITH, óÙ»«½¡´ÑÔß´

»«ß½Ñ Ô«ú«, ¬á¬ «»ÓÑñѽѡ« º¡áþÑ¡¿Ñ »Ó¿ß«Ññ¿¡´¯ÚÑú« ¬ó὿ñÑ¡Ôá, Ô.Ñ. ñ«

"óÕ«ñá" ó »Ó¿ß«Ññ¿¡´Ñ¼Ù® õÓáú¼Ñ¡Ô. Å«ÝÔ«¼Ò ½¯í«Ñ ¿º¼Ñ¡Ñ¡¿Ñ º¡áþÑ¡¿´

»p¿ß«Ññ¿¡´¯ÚÑú« Ò¬áºáÔѽ´ ó¡ÒÔÓ¿ »Ó¿ß«Ññ¿¡´Ñ¼«ú« õÓáú¼Ñ¡Ôá ¡Ñ ¿º¼Ñ¡¿Ô ÒªÑ

ß«ºñá¡¡«ú« »Ó¿ß«Ññ¿¡Ñ¡¿´ ¿ ¡Ñ¿ºíѪ¡« ¡ápÒÞ¿Ô ½«ú¿¬Ò óÙ»«½¡Ñ¡¿´ ÝÔ«ú«

õpáú¼Ñ¡Ôá. Åp¿óÑñѼ ÑÚÑ »p¿¼Ñp:

VAR P: POINTER TO èóáñÓáÔ;

BEGIN ... P:= ...; (* ôßÔá¡«ó¬á P ¡á ¬óáñÓáÔ *)

WITH P^ DO ...

(* Éáí«Ôá ß ¬óáñÓáÔ«¼, ¡á ¬«Ô«ÓÙ® Ò¬áºÙóáÑÔ P *);

P:= ...; (* ôßÔá¡«ó¬á P ¡á ¡«óÙ® ¬óáñÓáÔ *)

... (* Éáí«Ôá ß ¡«óÙ¼ ¬óáñÓáÔ«¼ *)

END.

é ÝÔ«¼ »Ó¿¼ÑÓÑ ÒßÔá¡«ó¬á P "¡á ¡«óÙ® ¬óáñÓáÔ " ¡Ñ »Ó¿óÑñÑÔ ¬ ¿º¼Ñ¡Ñ¡¿¯ ÒªÑ

ß«ºñá¡¡«ú« »Ó¿ß«Ññ¿¡Ñ¡¿´ ¿ ß««ÔóÑÔßÔóÑ¡¡« "Óáí«Ôá ß ¡«óÙ¼ ¬óáñÓáÔ«¼" þÑÓѺ

Ò¬«Ó«þÑ¡¡ÙÑ ¿ñÑ¡Ô¿õ¿¬áÔ«ÓÙ ¡Ñ ß«ßÔ«¿Ôß´ - ÝÔ«Ô õÓáú¼Ñ¡Ô »Ó«ñ«½ª¿Ô Óáí«ÔÒ ß«

"ßÔáÓÙ¼" ¬óáñÓáÔ«¼. ìѺ¡á¡¿Ñ ÝÔ«ú« «íßÔ«´ÔѽýßÔóá ¼«ªÑÔ ß½Òª¿Ôý ¿ßÔ«þ¡¿¬«¼

¼¡«ú¿Õ ÔÓÒñ¡« ¿ñÑ¡Ô¿õ¿µ¿ÓÒѼÙÕ «Þ¿í«¬, 󫺡¿¬á¯Ú¿Õ Ô«½ý¬« »p¿ ¿ñÑ¡Ô¿õ¿¬áµ¿¿

«íÛѬԫó ¼ÑÔ«ñ«¼ Ò¬áºá¡¿´.

é µÑ½«¼ Ò¬áºáÔѽý¡á´ ¿ñÑ¡Ô¿õ¿¬áµ¿´ »Ó¿¡µ¿»¿á½ý¡« «Ô½¿þáÑÔß´ «Ô ¿¼Ñ¡«óá¡¿´

ÔѼ, þÔ« «¡á ¿ß»«½ýºÒÑÔ ß»Ñµ¿á½ý¡ÙÑ ¿ñÑ¡Ô¿õ¿µ¿ÓÒ¯Ú¿Ñ «íÛѬÔÙ - Ò¬áºáÔѽ¿

(¿½¿ ßßÙ½¬¿), ß ¬«Ô«ÓÙ¼¿ ¼«ª¡« Óáí«ÔáÔý ¬á¬ ß ½¯íÙ¼¿ ñÓÒú¿¼¿ "«íÙþ¡Ù¼¿"

«íÛѬÔἿ. ØÔ« ßÒÚÑßÔóÑ¡¡« ÓáßÞ¿Ó´ÑÔ ó«º¼«ª¡«ßÔ¿ "þ¿ßÔ«ú«" ¿¼Ñ¡«óá¡¿´ ¿

»«ºó«½´ÑÔ ÓÑ὿º«óáÔý ñ¿¡á¼¿þÑ߬ү ¿ñÑ¡Ô¿õ¿¬áµ¿¯ Óẽ¿þ¡ÙÕ «íÛѬԫó þÑÓѺ

«ñ¿¡ ¿ Ô«Ô ªÑ Ò¬áºáÔѽý, ¿ñÑ¡Ô¿õ¿µ¿ÓÒѼٮ Ññ¿¡ßÔóÑ¡¡Ù¼ »Ó¿ßó«Ñ¡¡Ù¼ ѼÒ

¿¼Ñ¡Ñ¼.

IV. êìÆàPÅPàÆÇûêf ÄüÜàèÆÄé

Å«½¿¼«Óõ¿º¼. - æ«ó¼ÑßÔ¿¼«ßÔý Ô¿»«ó. - öÒ¡¬µ¿¿ »ÓÑ«íÓẫóá¡¿´ ¿ »Ó¿óÑñÑ¡¿´

Ô¿»«ó. - çỿ߿ ß óáÓ¿á¡ÔἿ. - ìáß½Ññ«óá¡¿Ñ ßó«®ßÔó. - Ä»ÓÑñѽѡ¿Ñ "

¡á½«ªÑ¡¿Ñ¼ ". - æἫ¿¡ÔÑÓ»ÓÑÔ¿ÓÒѼٮ «íÛѬÔ.

ÆÑÓ¼¿¡ "¿¡ÔÑÓ»ÓÑÔᵿ´" «»ÓÑñѽ´ÑÔ "»Ó¿»¿ßÙóá¡¿Ñ" «íÛѬÔÒ «»ÓÑñѽѡ¡ÙÕ

ßѼá¡Ô¿þÑ߬¿Õ, ß¼Ùß½«óÙÕ ßó«®ßÔó. ìá»Ó¿¼ÑÓ, ß¿¼ó«½ "I", ¿¡ÔÑÓ»ÓÑÔ¿ÓÒѼٮ

¬á¬ "É¿¼ß¬á´_û¿õÓá", íÒñÑÔ áßß«µ¿¿p«óáÔýß´ ß «íÛѬԫ¼ «»ÓÑñѽѡ¡«® ß¿ßÔѼÙ

ßþ¿ß½Ñ¡¿´, ÕáÓá¬ÔÑÓ¿ºÒѼ«® «ß«íÙ¼¿ ßó«®ßÔóἿ ÝÔ«® ß¿ßÔѼÙ.

é Ô« ªÑ óÓѼ´ "I" ¬á¬ "ï¿ÔÑÓá" ½áÔ¿¡ß¬«ú« á½õáó¿Ôá ÕáÓá¬ÔÑÓ¿ºÒÑÔß´

ß«óÑÓÞÑ¡¡« ñÓÒú¿¼¿ ßó«®ßÔóἿ. "I" ¬á¬ íÒ¬óá á¡ú½¿®ß¬«ú« á½õáó¿Ôá ¿¼ÑÑÔ

ß«íßÔóÑ¡¡ÙÑ ßó«®ßÔóá, ó þáßÔ¡«ßÔ¿, «»ÓÑñѽ´ÑÔ «ß«í«Ñ »Ó«¿º¡«ÞÑ¡¿Ñ "á®", á

¬á¬ íÒ¬óá ¡Ñ¼Ñµ¬«ú« á½õáó¿Ôá «¡á Ôᬿ¼ ßó«®ßÔó«¼ ¡Ñ «í½áñáÑÔ.

î¡«ªÑßÔóÑ¡¡«ßÔý ¿¡ÔÑÓ»ÓÑÔᵿ® «ñ¡«ú« ¿ Ô«ú« ªÑ «íÛѬÔá ßó´ºá¡á ß »«¡´Ô¿Ñ¼

»«½¿¼«Óõ¿º¼á. æ »p«´ó½Ñ¡¿Ñ¼ »«½¿¼«Óõ¡ÙÕ ¿¡ÔÑÓ»ÓÑÔᵿ® «íÛѬԫó ¼Ù

ßÔὬ¿óáѼߴ íÒ¬óá½ý¡« ¡á ¬áªñ«¼ ÞáúÒ - ÝÔ« ¿ ¼¡«ú«º¡áþ¡«ßÔý ¼¡«ú¿Õ

«í«p«Ô«ó ÓÑþ¿ (õÓẫóÙÕ ßÔÓÒ¬ÔÒÓ) ¿ ¼¡«ú«µÑ½Ñó«Ñ ¿ß»«½ýº«óá¡¿Ñ «íÛѬÔá

(óß»«¼¡¿ÔÑ »«óÑßÔý î.ÆóÑ¡á "ÅÓ¿¡µ ¿ ¡¿Ú¿®", úñÑ ú½áó¡Ù® úÑÓ«®

¿¡ÔÑÓ»ÓÑÔ¿Ó«óá½ ú«ßÒñáÓßÔóÑ¡¡Ò¯ »ÑþáÔý ¬á¬ ßÓÑñßÔó« ñ½´ Óá߬á½Ùóá¡¿´

«ÓÑÕ«ó), ¿, ¡á¬«¡Ñµ, ¼¡«ªÑßÔó« ½¿þ¡«ßÔ¡ÙÕ ¬áþÑßÔó ¿¡ÔÑÓ»ÓÑÔáÔ«Óá: ñ½´ ¬«ú«-

Ô« Ó«ºÙ - ÝÔ« µóÑÔÙ, á ñ½´ ¬«ú«-Ô« Þ¿»Ù.

é »Ó«úÓá¼¼¿Ó«óá¡¿¿ «íÛÑ¬Ô ¬á¬ ñá¡¡«ßÔý »«½¡«ßÔý¯ «»ÓÑñѽ´ÑÔß´ »«¡´Ô¿Ñ¼

ݽѼѡÔá ÕÓá¡Ñ¡¿´, ÒªÑ ¿ß»«½ýº«óá¡¡Ù¼ ó »ÓÑñÙñÒÚ¿Õ ú½áóáÕ. é ¬«¡Ñþ¡«¼ ßþÑÔÑ

ó »á¼´Ô¿ Øéî ½¯í«® Ý½Ñ¼Ñ¡Ô ÕÓá¡Ñ¡¿´ ß«ñÑÓª¿Ô »«ß½Ññ«óáÔѽý¡«ßÔý ¡Ò½Ñ® ¿

Ññ¿¡¿µ, ¿¡ÔÑÓ»ÓÑÔᵿ´ ªÑ ÝÔ«® »«ß½Ññ«óáÔѽý¡«ßÔ¿ ¬á¬ «íÛѬÔá »«½¡«ßÔý¯

ºáó¿ß¿Ô «Ô »Ó«úÓá¼¼¿ßÔá. é«»Ó«ß ó Ô«¼, þÑÓѺ ¬á¬¿Ñ "«þ¬¿" (ÔÓáõáÓÑÔ, ¼á߬Ò)

¼Ù »«ß¼«ÔÓ¿¼ ¡á Ý½Ñ¼Ñ¡Ô ÕÓá¡Ñ¡¿´. é ÝÔ«¼ ß¼Ù᫥ »«¡´Ô¿Ñ áíßÔÓá¬Ô¡«ú« Ô¿»á ó

»Ó«úÓá¼¼¿Ó«óá¡¿¿ ¿ óÙ»«½¡´ÑÔ Ó«½ý Ôá¬¿Õ «þ¬«ó (ÔÓáõáÓÑÔá, ¼á߬¿).

î¡«ªÑßÔó« Ô¿»«ó «»ÓÑñѽ´ÑÔ ¼¡«ªÑßÔó« 󫺼«ª¡ÙÕ ¿¡ÔÑÓ»ÓÑÔᵿ® «íÛѬÔá. é

ÝÔ«¼ »½á¡Ñ ó ´ºÙ¬áÕ 3-ú« »«¬«½Ñ¡¿´ «ß¡«ó¡Ù¼ ´ó½´ÑÔß´ »«¡´Ô¿Ñ ß«ó¼ÑßÔ¿¼«ßÔ¿

Ô¿»«ó. îÙ Óáßß¼áÔÓ¿óáѼ ñóá á߻ѬÔá Ôᬫ® ß«ó¼ÑßÔ¿¼«ßÔ¿: ß«ó¼ÑßÔ¿¼«ßÔý »«

»ÓÑñßÔáó½Ñ¡¿¯ (ÕÓá¡Ñ¡¿¯) «íÛѬÔá ó »á¼´Ô¿ Øéî ¿ ß«ó¼ÑßÔ¿¼«ßÔý ß«íßÔóÑ¡¡« »«

¿¡ÔÑÓ»ÓÑÔᵿ¿.

æ«ó¼ÑßÔ¿¼«ßÔý »ÓÑñßÔáó½Ñ¡¿® «»ÓÑñѽ´ÑÔß´ ÓẼÑÓἿ ݽѼѡԫó ÕÓá¡Ñ¡¿´.

ìá»Ó¿¼ÑÓ, Ñß½¿ «íÛѬÔÙ Ô¿»á CARDINAL ÕÓá¡´Ôß´ ó «ñ¡«¼ ¼áÞ¿¡¡«¼ ß½«óÑ (2

íá®Ôá) ¿ «íÛѬÔÙ Ô¿»á INTEGER ÕÓá¡´Ôß´ ó «ñ¡«¼ ß½«óÑ, Ô« INTEGER ¿ CARDINAL

ß«ó¼ÑßÔ¿¼Ù »« »ÓÑñßÔáó½Ñ¡¿¯ (¼ÑªñÒ ß«í«® ¿ ß ¼áÞ¿¡¡Ù¼ Ô¿»«¼ WORD).

A¡á½«ú¿þ¡« ß«ó¼ÑßÔ¿¼Ù »« »ÓÑñßÔáó½Ñ¡¿¯ CHAR ¿ BYTE; WORD ¿ ARRAY [1..2] OF

BYTE ¿ Ô.ñ.

æ«ó¼ÑßÔ¿¼«ßÔý »« ¿¡ÔÑÓ»ÓÑÔᵿ¿ «»ÓÑñѽ´ÑÔß´ 󫺼«ª¡«ßÔý¯ ¿ß»«½ýº«óáÔý

«íÛÑ¬Ô «ñ¡«ú« ¬½áßßá ó ¬áþÑßÔóÑ «íÛѬÔá ñÓÒú«ú« ¬½áßßá. ìá»Ó¿¼ÑÓ, ½«ª¬Ò ó

¬áþÑßÔóÑ ó¿½¬¿. é »Ó«úÓá¼¼¿Ó«óá¡¿¿ ß«ó¼ÑßÔ¿¼«ßÔý »« ¿¡ÔÑÓ»ÓÑÔᵿ¿ «íÙþ¡«

ßó´ºÙóáÑÔß´ ß ó«º¼«ª¡«ßÔý¯ »Ó¿ßóá¿óá¡¿´ «íÛѬÔÒ «ñ¡«ú« ¬½áßßá º¡áþÑ¡¿´

«íÛѬÔá ñÓÒú«ú« ¬½áßßá ¿ ¡áºÙóáÑÔß´ ß«ó¼ÑßÔ¿¼«ßÔý¯ »« »Ó¿ßóá¿óá¡¿¯. ÅÓ¿¼ÑÓ

Ôᬫ® ß«ó¼ÑßÔ¿¼«ßÔ¿:

VAR A: CARDINAL; B: INTEGER; BEGIN ... A:=B .

æ«ó¼ÑßÔ¿¼«ßÔý »« »Ó¿ßóá¿óá¡¿¯ «íÙþ¡« »«ñÓáºÒ¼ÑóáÑÔ ß«ó¼ÑßÔ¿¼«ßÔý

»ÓÑñßÔáó½Ñ¡¿® «íÛѬԫó.

Å«¡´Ô¿Ñ ß«ó¼ÑßÔ¿¼«ßÔ¿ Ô¿»«ó Òß½«ó¡« ñѽ¿Ô ´ºÙ¬¿ »Ó«úÓá¼¼¿Ó«óá¡¿´ ¡á

"ßÔÓ«ú¿Ñ" ¿ "¡ÑßÔÓ«ú¿Ñ". é »ÑÓó«® úÓÒ»»Ñ ´ºÙ¬«ó »Óá󿽫¼ ´ó½´ÑÔß´

¡Ñ󫺼«ª¡«ßÔý »Ó´¼«ú« ¿ß»«½ýº«óá¡¿´ «íÛѬԫó ÓạÙÕ ¬½áßß«ó ó «ñ¡«¼

óÙÓáªÑ¡¿¿. Æá¬«Ñ óÙÓáªÑ¡¿Ñ ¡Ñ«íÕ«ñ¿¼« ¬«¡ßÔÓÒ¿Ó«óáÔý ¡á «ß¡«óÑ ß»Ñµ¿á½ý¡ÙÙÕ

õÒ¡¬µ¿® »ÓÑ«íÓẫóá¡¿´ Ô¿»«ó, »Ó¿óÑñÑ¡¿´ Ô¿»«ó ¿ ߻ѵ¿á½ý¡ÙÕ ¼ÑÔ«ñ«ó

ß«ó¼ÑÚÑ¡¿´ Ô¿»«ó. ÉáºÒ¼ÑÑÔß´, "ßÔѻѡý ßÔÓ«ú«ßÔ¿" ´ºÙ¬á - »«¡´Ô¿Ñ óÑßý¼á

Òß½«ó¡«Ñ, ¿ ó ½¯í«® Ñú« óÑÓß¿¿ ßÒÚÑßÔóÒ¯Ô ¿ß¬½¯þÑ¡¿´ ¿º ÝÔ«ú« »Óáó¿½á.

"ìÑßÔÓ«ú¿Ñ" ´ºÙ¬¿ »ÓÑñßÔáó½´¯Ô »Ó«úÓá¼¼¿ßÔÒ »«½¡Ò¯ ßó«í«ñÒ ó ¿¡ÔÑÓ»ÓÑÔᵿ¿

«íÛѬԫó: ó «ñ¡«¼ óÙÓáªÑ¡¿¿ ¼«ª¡« "ß¼ÑÞ¿óáÔý" áíß«½¯Ô¡« Óẽ¿þ¡ÙÑ «íÛѬÔÙ,

»Ó¿ ÝÔ«¼, ÓáºÒ¼ÑÑÔß´, "«ÔóÑÔßÔóÑ¡¡«ßÔý" ºá Ô«, ¬ þÑ¼Ò »Ó¿óÑñÑÔ ÔᬫÑ

ß¼ÑÞÑ¡¿Ñ, »«½¡«ßÔý¯ ½«ª¿Ôß´ ¡á »«½ýº«óáÔѽ´. ÄíÛѬԡ«-«Ó¿Ñ¡Ô¿Ó«óá¡¡Ù® ßÔ¿½ý

»Ó«úÓá¼¼¿Ó«óá¡¿´ íѺÒß½«ó¡« «ÔñáÑÔ »ÓÑñ»«þÔÑ¡¿Ñ "ßÔÓ«ú«¼Ò" ´ºÙ¬Ò ß

Óáºó¿ÔÙ¼¿ ßÓÑñßÔóἿ ¬«¡ÔÓ«½´ ß«ó¼ÑßÔ¿¼«ßÔ¿ Ô¿»«ó, þÔ« ó «íÚѼ ß½ÒþáÑ

»«óÙÞáÑÔ ¡áñѪ¡«ßÔý ß«ºñáóáѼÙÕ »Ó«úÓá¼¼, Õ«Ô´ ¿ ñ«ßÔáó½´ÑÔ ßó«¿¼¿

"ßÔÓ«ú«ßÔ´¼¿" ¡Ñ¬«Ô«ÓÙÑ ¡ÑÒñ«íßÔóá "«»ÙÔ¡Ù¼" »Ó«úÓá¼¼¿ßÔá¼.

öÒ¡¬µ¿¿ »ÓÑ«íÓẫóá¡¿´ ¿ »Ó¿óÑñÑ¡¿´ Ô¿»«ó ÓÑ὿ºÒ¯Ô 󫺼«ª¡«ßÔ¿ ß«ó¼ÑÚÑ¡¿´

»« »Ó¿ßóá¿óá¡¿¯. ÅÓ¿ ÝÔ«¼ ¼ÑÕá¡¿º¼Ù Ôᬫú« ß«ó¼ÑÚÑ¡¿´ ñ½´ »ÓÑ«íÓẫóá¡¿´ ¿

»Ó¿óÑñÑ¡¿´ «¬áºÙóá¯Ôß´ ß«óÑÓÞÑ¡¡« Óẽ¿þ¡Ù¼¿. ÅÓ¿óÑñÑ¡¿Ñ Ô¿»«ó ¡Ñ ßó´ºá¡« ß

¬á¬¿¼-½¿í« »ÓÑ«íÓẫó᡿Ѽ ß««ÔóÑÔßÔóÒ¯ÚÑú« º¡áþÑ¡¿´ ó ݽѼѡÔÑ ÕÓá¡Ñ¡¿´.

Æá¬«Ñ º¡áþÑ¡¿Ñ »Ó«ßÔ« "»ÑÓÑó«ñ¿Ôß´ ó ñÓÒú«® ¬½áßß" - »Ó¿ßóá¿óáÑÔß´

»ÑÓѼѡ¡«® ñÓÒú«ú« Ô¿»á. ä½´ ÓÑ὿ºáµ¿¿ »Ó¿óÑñÑ¡¿´ Ô¿»á ¡Ñ«íÕ«ñ¿¼á

ß«ó¼ÑßÔ¿¼«ßÔý »ÓÑñßÔáó½Ñ¡¿® ß««ÔóÑÔßÔóÒ¯Ú¿Õ Ý½Ñ¼Ñ¡Ô«ó. ìá»Ó¿¼ÑÓ:

VAR A: INTEGER; B: CARDINAL;

BEGIN A:=-3; B:= CARDINAL (A); ...

çñÑßý CARDINAL() ¿ß»«½ýºÒÑÔß´ ¬á¬ ¿¼´ õÒ¡¬µ¿¿ »Ó¿óÑñÑ¡¿´ º¡áþÑ¡¿´ ¬ Ô¿»Ò

CARDINAL. é ¬áþÑßÔóÑ Ôá¬¿Õ ¿¼Ñ¡ ¼«úÒÔ ¿ß»«½ýº«óáÔýß´ ¡á¿¼Ñ¡«óá¡¿´ íẫóÙÕ

¼áÞ¿¡¡«-«Ó¿Ñ¡Ô¿Ó«óá¡¡ÙÕ Ô¿»«ó. ÅÓ¿ ¿ß»«½ýº«óá¡¿¿ õÒ¡¬µ¿® »Ó¿óÑñÑ¡¿´ Ô¿»«ó

»Ó«úÓá¼¼¿ßÔ ñ«½ªÑ¡ Õ«Ó«Þ« º¡áÔý »ÓÑñßÔáó½Ñ¡¿Ñ «íÛÑ¬Ô«ó ¿ Òþ¿ÔÙóáÔý óßÑ

"¡Ñ«ª¿ñá¡¡«ßÔ¿" ¿Õ ¿¡ÔÑÓ»ÓÑÔᵿ¿ ó ñÓÒú«¼ ¬½áßßÑ. (ìá»Ó¿¼ÑÓ, ñ½´ ÝÔ«ú«

»Ó¿¼ÑÓá º¡á¬ "-", ¿º«íÓáªáѼٮ Ññ¿¡¿µÑ® ó 15-¼ ÓáºÓ´ñÑ Ý½Ñ¼Ñ¡Ôá ÕÓá¡Ñ¡¿´ A,

ñ½´ B íÒñÑÔ ¿¡ÔÑÓ»ÓÑÔ¿Ó«óáÔýß´ ¬á¬ 215. æ««ÔóÑÔßÔóÑ¡¡« »«ß½Ñ »Ó¿óÑñÑ¡¿´ B =

215 + 21 + 20 = 32771). öá¬Ô¿þÑ߬¿ õÒ¡¬µ¿¿ »Ó¿óÑñÑ¡¿´ Ô¿»«ó õÒ¡¬µ¿´¼¿ ó

»«½¡«¼ ß¼Ù᫥ ¡Ñ ´ó½´¯Ôß´. êß»«½ýº«óá¡¿Ñ ¬½¯þÑóÙÕ ß½«ó ´ºÙ¬á (Ôá¬¿Õ ¬á¬

CARDINAL, BOOLEAN, INTEGER ¿ Ô.ñ.), «»ÓÑñѽ´¯Ú¿Õ ¿¼Ñ¡á íẫóÙÕ Ô¿»«ó, ó

¬«¡ÔѬßÔÑ BEGIN ... END ¡Ñ«íÕ«ñ¿¼« ÔÓá¡ß½´Ô«ÓÒ Ô«½ý¬« ñ½´ ¬«¡ÔÓ«½´

¬«ÓÓѬԡ«ßÔ¿ óÙÓáªÑ¡¿®, ß«ßÔáó½Ñ¡¡ÙÕ ¿º «íÛѬԫó Óẽ¿þ¡ÙÕ Ô¿»«ó.

ÅÓÑ«íÓẫóá¡¿Ñ Ô¿»«ó ó ÝÔ«¼ ß¼Ù᫥ - »«½¡á´ »Ó«Ô¿ó«»«½«ª¡«ßÔý »Ó¿óÑñÑ¡¿¯.

Äß¡«ó¡ÙÑ ñ¿ÓѬԿóÙ Ôᬫú« »ÓÑ«íÓẫóá¡¿´ (CHR, ORD, VAL, FLOAT, TRUNC)

ÓÑ὿ºÒ¯Ôß´ óßÔÓ«Ñ¡¡Ù¼¿ »ÓÑñ«»ÓÑñѽѡ¡Ù¼¿ »Ó«µÑñÒÓἿ. æ«ßÔáó Ôá¬¿Õ õÒ¡¬µ¿®

¼«ªÑÔ ÓáßÞ¿Ó´Ôýß´ ºá ßþÑÔ ¿ß»«½ýº«óá¡¿´ ߻ѵ¿á½ý¡ÙÕ í¿í½¿«ÔѬ. Æp¿ »ÑÓóÙÑ

õÒ¡¬µ¿¿ »ÓÑ«íÓẫóá¡¿´ «Ô¡«ß´Ôß´ ¬ Óáí«ÔÑ ß »ÑÓÑþ¿ß½¿¼Ù¼¿ Ô¿»á¼¿ ¿ »«ñÓ«í¡«

«»¿ßá¡Ù ó ß««ÔóÑÔßÔóÒ¯ÚÑ® ½¿ÔÑÓáÔÒÓÑ. çñÑßý ¼Ù »«ñþÑÓ¬¡Ñ¼ ½¿Þý «ñ¿¡ á߻ѬÔ

¿ß»«½ýº«óá¡¿´ õÒ¡¬µ¿¿ VAL. ū߬«½ý¬Ò, ¬á¬ ÒªÑ «Ô¼ÑþὫßý, í«½ýÞ¿¡ßÔó«

íẫóÙÕ Ô¿»«ó ÓÑ὿ºÒ¯Ôß´ ó Øéî ¡á «ß¡«óÑ »ÑÓÑþ¿ß½Ñ¡¿´, VAL ¼«ªÑÔ Óáí«ÔáÔý

ß ¡¿¼¿ ¬á¬ ß »ÑÓÑþ¿ß½¿¼Ù¼¿. ÄíÚá´ ß¿¡Ôá¬ß¿þÑ߬ᴠßÔÓÒ¬ÔÒÓá óÙº«óá VAL »Ó¿

ÝÔ«¼ ¿¼ÑÑÔ ß½ÑñÒ¯Ú¿® ó¿ñ:

:=

VAL (, ).

é ¬áþÑßÔóÑ Ô¿»á B ¼«ªÑÔ ¿ß»«½ýº«óáÔýß´ Ô«½ý¬« íẫóÙ® Ô¿», ÓÑ὿ºÒѼٮ ¡á

«ß¡«óÑ »ÑÓÑþ¿ß½Ñ¡¿´ (½¯í«® Ô¿» ¬Ó«¼Ñ REAL ¿ Ñú« "»Ó«¿ºó«ñ¡ÙÕ"). ÄíÛѬԫ¼

¬½áßßá CARDINAL ó ÝÔ«® ßÔÓÒ¬ÔÒÓÑ ¼«ªÑÔ íÙÔý ¬á¬ »ÑÓѼѡ¡á´, Ôᬠ¿

¬«¡ßÔá¡Ôá. ìá»Ó¿¼ÑÓ,

VAR c: CARDINAL; b: BYTE; i: INTEGER; ch: CHAR;

BEGIN ch := 'A'; c := 32771;

i := INTEGER ( c ); (*1*)

i := VAL ( INTEGER, c ); (*2*)

b := BYTE ( ch ); (*3*)

b := VAL ( BYTE, ORD(ch) ); (*4*)

b := VAL ( BYTE, c ); (*5*)

è «ñ¿¡á¬«óÙ¼ ½¿ ÓѺҽýÔáÔá¼ »Ó¿óÑñÒÔ «»ÑÓᵿ¿ (1) ¿ (2)? (3) ¿ (4)? è

¬á¬«¼Ò ÓѺҽýÔáÔÒ »Ó¿óÑñÑÔ «»ÑÓᵿ´ (5)? çá¼ÑÔýÔÑ, þÔ« ÝÔá «»ÑÓᵿ´ ßó´ºá¡á

ß »ÓÑ«íÓẫó᡿Ѽ º¡áþÑ¡¿´ »ÑÓѼѡ¡«® ¿º ß½«óá ó íá®Ô »Ó¿ «ÔßÒÔßÔó¿¿

ß«ó¼ÑßÔ¿¼«ßÔ¿ »ÓÑñßÔáó½Ñ¡¿®.

öÒ¡¬µ¿¿ FLOAT ¿ TRUNC »ÓÑñ¡áº¡áþÑ¡Ù ñ½´ ÓÑ὿ºáµ¿¿ "»ÑÓÑÕ«ñ«ó" «Ô

áÓ¿õ¼ÑÔ¿¬¿ µÑ½ÙÕ ¬ áÓ¿õ¼ÑÔ¿¬Ñ ñÑ®ßÔó¿Ôѽý¡ÙÕ þ¿ßѽ ¿ ¡á«í«Ó«Ô. Ä¡¿ »«ñÓ«í¡«

«»¿ßá¡Ù ó ÒþÑí¡¿¬áÕ »« »Ó«úÓá¼¼¿Ó«óá¡¿¯.

éßÑ Ò¬áºáÔѽ¿ ß«ó¼ÑßÔ¿¼Ù »« »ÓÑñßÔáó½Ñ¡¿¯, «íÑß»ÑþÑ¡¿Ñ ß«ó¼ÑßÔ¿¼«ßÔ¿ »«

»Ó¿ßóá¿óá¡¿¯ ßó´ºá¡« ß ¿ß»«½ýº«ó᡿Ѽ õÒ¡¬µ¿¿ »Ó¿óÑñÑ¡¿´ ADDRESS. æÔѻѡý

"ßÔÓ«ú«ßÔ¿" »Óáó¿½ ß«ó¼ÑßÔ¿¼«ßÔ¿ Ò¬áºáÔѽѮ óáÓý¿ÓÒÑÔß´ ñáªÑ ó ÓạÙÕ

óÑÓß¿´Õ «ñ¡«ú« ¿ Ô«ú« ªÑ ´ºÙ¬á.

Äñ¡¿¼ ¿º »Ó«´ó½Ñ¡¿® ¬«¡µÑ»µ¿¿ »«½¿¼«Óõ¿º¼á ó ´ºÙ¬áÕ »Ó«úÓá¼¼¿Ó«óá¡¿´

ÔÓÑÔýÑú« »«¬«½Ñ¡¿´ ´ó½´ÑÔß´ »«´ó½Ñ¡¿Ñ áúÓÑúáÔ¿ó¡ÙÕ ßÔÓÒ¬ÔÒÓ, ¿ºóÑßÔ¡ÙÕ »«ñ

¡áºó᡿Ѽ "ºá»¿ß¿ ß óáÓ¿á¡ÔἿ" (ºá»¿ß¿ ß "ÔÝúἿ", ºá»¿ß¿ »ÑÓѼѡ¡«®

ßÔÓÒ¬ÔÒÓÙ). é Ôá¬¿Ñ ßÔÓÒ¬ÔÒÓÙ óó«ñ´Ôß´ ߻ѵ¿á½ý¡ÙÑ óÙñѽ´¯Ú¿Ñ (óÙí¿Óá¯Ú¿Ñ)

ßó«®ßÔóá, «»ÓÑñѽ´¯Ú¿Ñ ¿¡ÔÑÓ»ÓÑÔᵿ¯ «íÛѬÔá. ìá»Ó¿¼ÑÓ, «íÛÑ¬Ô ¬½áßßá

"æÔÒñÑ¡Ô" ¼«ªÑÔ ÕáÓá¬ÔÑÓ¿º«óáÔýß´ ß½ÑñÒ¯Ú¿¼¿ ßó«®ßÔóἿ:

- Òß»ÑóáѼ«ßÔý¯,

- »Ó¿¡áñ½Ñª¡«ßÔý¯ ¬ úÓÒ»»Ñ,

- õἿ½¿Ñ®,

- ÓẼÑÓ«¼ »«½ÒþáѼ«® ßÔ¿»Ñ¡ñ¿¿.

ÆÓ¿ »ÑÓóÙÕ ßó«®ßÔóá »Ó¿ßÒÚ¿ ½¯í«¼Ò ßÔÒñÑ¡ÔÒ, á »«ß½Ññ¡ÑÑ Ô«½ý¬«

Òß»Ñóá¯ÚѼÒ. ìÑÒß»Ñóá¯Ú¿® ªÑ ßÔÒñÑ¡Ô ¼«ªÑÔ ÕáÓá¬ÔÑÓ¿º«óáÔýß´ «ß«íÙ¼

ßó«®ßÔó«¼: ¡á»Ó¿¼ÑÓ, ´ó½´ÑÔß´ ½¿ «¡ ¬á¡ñ¿ñáÔ«¼ ¡á «Ôþ¿ß½Ñ¡¿Ñ ¿½¿ »«¬á ¡ÑÔ.

Æᬿ¼ «íÓẫ¼, Òß»ÑóáѼ«ßÔý ßÔÒñÑ¡Ôá «Ô¡«ß¿Ôß´ ¬ ¬áÔÑú«Ó¿¿ óÙñѽ´¯Ú¿Õ

ßó«®ßÔó: º¡áþÑ¡¿Ñ ÝÔ«ú« ßó«®ßÔóá óÙñѽ´ÑÔ ¡ÑÒß»Ñóá¯Ú¿Õ ßÔÒñÑ¡Ô«ó,

ÕáÓá¬ÔÑÓ¿ºÒѼÙÕ ¡á½¿þ¿Ñ¼ ñ«»«½¡¿Ôѽý¡ÙÕ ¬áþÑßÔó, ¡Ñ ßó«®ßÔóÑ¡¡ÙÕ

Òß»Ñóá¯Ú¿¼. ÅÓ¿ ÝÔ«¼ "ôß»Ñóá¯Ú¿® ßÔÒñÑ¡Ô" ¿ "ìÑÒß»Ñóá¯Ú¿® ßÔÒñÑ¡Ô" íÒñÒÔ

ÕáÓá¬ÔÑÓ¿º«óáÔýß´ Óạټ¿ ßÔÓÒ¬ÔÒÓἿ «íÛѬԫó:

TYPE ôß»ÑóáѼ«ßÔý = ( ÄÔ½, ò«Ó, ôñ, ìÑÒñ );

ôß»Ñóá¯Ú¿®_æÔÒñÑ¡Ô = RECORD

FAM : öἿ½¿´;

GR : 쫼ÑÓ_âÓÒ»»Ù;

SB : ôß»ÑóáѼ«ßÔý;

ST : REAL; (* ÉẼÑÓ ßÔ¿»Ñ¡ñ¿¿ *)

END;

ìÑÒß»Ñóá¯Ú¿®_æÔÒñÑ¡Ô = RECORD

FAM : öἿ½¿´;

GR : 쫼ÑÓ_âÓÒ»»Ù;

SB : ôß»ÑóáѼ«ßÔý;

èá¡ñ¿ñáÔ_ìá_ÄÔþ¿ß½Ñ¡¿Ñ : ( äá, ìÑÔ )

END.

ìÑÔÓÒñ¡« ºá¼ÑÔ¿Ôý, þÔ« ó ÝÔ¿Õ ßÔÓÒ¬ÔÒÓáÕ ÑßÔý «íÚ¿Ñ þáßÔ¿, á «Ô½¿þ¿´

ßó´ºá¡Ù Ô«½ý¬« ß »«ß½Ññ¡¿¼ ¬áþÑßÔó«¼ (áÔp¿íÒÔ«¼, »«½Ñ¼). éÙ¡«ß´ óÙñѽ´¯ÚÑÑ

ßó«®ßÔó« SB ó »«½Ñ óáÓ¿á¡Ôá, ¼Ù ߬«¡ßÔÓÒ¿ÓÒѼ ßÔÓÒ¬ÔÒÓÒ «íÛѬÔá ó ó¿ñÑ

ºá»¿ß¿ ß óáÓ¿á¡ÔἿ:

TYPE æÔÒñÑ¡Ô = RECORD

FAM : öἿ½¿´;

GR : 쫼ÑÓ_âÓÒ»»Ù;

CASE SB : ôß»ÑóáѼ«ßÔý OF

ìÑÒñ : èá¡ñ¿ñáÔ_ìá_ÄÔþ¿ß½Ñ¡¿Ñ : ( äá, ìÑÔ ) |

ÄÔ½, ò«Ó, ôñ : ST : REAL

END

END.

ç¡áþÑ¡¿Ñ »ÑÓÑþ¿ß½¿¼«ú« Ô¿»á ôß»ÑóáѼ«ßÔý ó ÝÔ«¼ »Ó¿¼ÑÓÑ «»ÓÑñѽ´ÑÔ

¿¡ÔÑÓ»ÓÑÔᵿ¯ «íÛѬÔá ½¿í« ¬á¬ Òß»Ñóá¯ÚÑú«, ½¿í« ¬á¬ ¡ÑÒß»Ñóá¯ÚÑú«

ßÔÒñÑ¡Ôá. Æᬿ¼ «ípẫ¼ »«½¿¼«põ¿º¼ ßÔpÒ¬ÔÒpÙ ºá»¿ß¿ ß óáp¿á¡ÔἿ

ºá¬½¯þáÑÔß´ ó 󫺼«ª¡«ßÔ¿ ÑÑ ¿¡ÔÑp»pÑÔᵿ¿ ¡á á½ýÔÑp¡áÔ¿ó¡«® «ß¡«óÑ.

é ÝÔ«® ß󴺿 󫺡¿¬áÑÔ ó«»Ó«ß « ߻ѵ¿õ¿¬áµ¿¿ »ÓÑñßÔáó½Ñ¡¿´ ßÔÓÒ¬ÔÒÓÙ

æÔÒñÑ¡Ô. Ä¡á ß«ñÑÓª¿Ô »«ßÔ«´¡¡Ò¯ þáßÔý

TSIZE (öἿ½¿´) + SIZE (GR) + TSIZE (ôß»ÑóáѼ«ßÔý)

¿ »ÑÓѼѡ¡Ò¯ (¡áí«p á½ýÔÑp¡áÔ¿ó), ÓẼÑÓ ¬«Ô«Ó«® «»ÓÑñѽ´ÑÔß´ º¡áþÑ¡¿Ñ¼ SB.

ï¿í« ÝÔ« íá®Ô (ó ß½ÒþáÑ SB = ìÑÒñ)

SIZE (èá¡ñ¿ñáÔ_ìá_ÄÔþ¿ß½Ñ¡¿Ñ) = 1; ,

½¿í« ñó«®¡«Ñ ß½«ó« (ó ß½ÒþáÑ SB # ìÑÒñ) SIZE(ST)=4. èᬫ® ªÑ ÓẼÑÓ »á¼´Ô¿

óÙñѽ¿Ô ÔÓá¡ß½´Ô«Ó »«ñ Ý½Ñ¼Ñ¡Ô ÕÓá¡Ñ¡¿´ «íÛѬÔá "æÔÒñÑ¡Ô"? àñ¿¡ßÔóÑ¡¡«Ñ

ÓÑÞÑ¡¿Ñ - ¼á¬ß¿¼á½ý¡« 󫺼«ª¡Ù®, ¬«Ô«ÓÙ® ¼«ªÑÔ »«ÔÓÑí«óáÔýß´ ñ½´ ÕÓá¡Ñ¡¿´

ñá¡¡ÙÕ ßÔÒñÑ¡Ôá. ū߬«½ý¬Ò TSIZE (ôß»Ñóá¯Ú¿®_æÔÒñÑ¡Ô) > TSIZE

(ìÑÒß»Ñóá¯Ú¿®_æÔÒñÑ¡Ô), ÔÓá¡ß½´Ô«Ó óÙñѽ¿Ô »á¼´Ôý, ñ«ßÔáÔ«þ¡Ò¯ ñ½´ ÕÓá¡Ñ¡¿´

ñá¡¡ÙÕ «í Òß»Ñóá¯ÚѼ ßÔÒñÑ¡ÔÑ. àß½¿ ªÑ Ôᬫ® ßÔÒñÑ¡Ô »ÑÓÑ®ñÑÔ ó ÓáºÓ´ñ

¡ÑÒß»Ñóá¯Ú¿Õ, Ô«Ô ªÑ Ý½Ñ¼Ñ¡Ô ÕÓá¡Ñ¡¿´ íÒñÑÔ ¿¡ÔÑÓ»ÓÑÔ¿Ó«óáÔýß´ ó

ß««ÔóÑÔßÔó¿¿ ß «Ô¡«ÞÑ¡¿Ñ¼ óÙñѽѡ¿´ SB=ìÑÒñ. ÅÓ¿ ÝÔ«¼ ¿º þÑÔÙpÑÕ íá®Ô,

óÙñѽѡ¡ÙÕ ÔÓá¡ß½´Ô«Ó«¼ »«ñ ST ó ÓáßþÑÔÑ ¡á Òß»Ñóá¯ÚÑú« ßÔÒñÑ¡Ôá, Ôp¿

»«ß½Ññ¡¿Õ »Ó«ßÔ« ¡Ñ íÒñÒÔ ¿ß»«½ýº«óáÔýß´, á »ÑÓóÙ® íá®Ô íÒñÑÔ

¿¡ÔÑÓ»ÓÑÔ¿Ó«óáÔýß´ ¬á¬ ß«ÕÓá¡´¯Ú¿® º¡áþÑ¡¿Ñ ßó«®ßÔóá

èá¡ñ¿ñáÔ_ìá_ÄÔþ¿ß½Ñ¡¿Ñ.

çá¼ÑÔ¿¼, þÔ« óÙñѽ´¯Ú¿Ñ ßó«®ßÔóá, Ò»Óáó½´¯Ú¿Ñ óÙí«Ó«¼ ó¿ñá ¿¡ÔÑÓ»ÓÑÔᵿ¿,

¼«úÒÔ ¿ ¡Ñ ¿¼Ñ¡«óáÔýß´. é Ôá¬¿Õ ß½Òþá´Õ ó¿ñ á½ýÔÑp¡áÔ¿ó¡«® ¿¡ÔÑp»pÑÔᵿ¿

«»pÑñѽ´ÑÔß´ ¡Ñ óÙñѽ´¯Ú¿¼ ßó«®ßÔó«¼, á õá¬Ô¿þÑ߬¿¼ ¿ß»«½ýº«ó᡿Ѽ ¿¼Ñ¡¿

»«½´ »p¿ «ípáÚÑ¡¿¿ ¬ «íÛѬÔÒ. ìá»p¿¼Ñp:

TYPE æÔÒñÑ¡Ô = RECORD

FAM : öἿ½¿´; GR : 쫼ÑÓ_âÓÒ»»Ù;

CASE : ôß»ÑóáѼ«ßÔý OF

ìÑÒñ : èá¡ñ¿ñáÔ_ìá_ÄÔþ¿ß½Ñ¡¿Ñ : ( äá, ìÑÔ ) |

ÄÔ½, ò«Ó, ôñ : ST : REAL

END

END.

ÅÒßÔý VAR V: æÔÒñÑ¡Ô. Åp¿ ÝÔ«¼ ó ݽѼѡÔÑ Õpá¡Ñ¡¿´ ñ½´ V óÙñѽ´¯ÚÑÑ »«½Ñ

ó««íÚÑ «ÔßÒÔßÔóÒÑÔ, »«ßÔ«´¡¡á´ þáßÔý ¿¼ÑÑÔ pẼÑp TSIZE(öἿ½¿´)+SIZE(GR),

á á½ýÔÑp¡áÔ¿ó¡á´ ¿¼ÑÑÔ pẼÑp

max {SIZE(èá¡ñ¿ñáÔ_ìá_ÄÔþ¿ß½Ñ¡¿Ñ), SIZE(ST)}.

ÄípáÚÑ¡¿Ñ ¬ «íÛѬÔÒ þÑpѺ ¬ó὿ñÑ¡Ô V.èá¡ñ¿ñáÔ_ìá_ÄÔþ¿ß½Ñ¡¿Ñ »p¿óÑñÑÔ ¬

¿¡ÔÑp»pÑÔᵿ¿ á½ýÔÑp¡áÔ¿ó¡«® þáßÔ¿ ó ß««ÔóÑÔßÔó¿¿ ß »ÑpÑþ¿ß½¿¼Ù¼ Ô¿»«¼ (äá,

ìÑÔ), á «ípáÚÑ¡¿Ñ V.ST - ¬ ¿¡ÔÑp»pÑÔᵿ¿ Ô«® ªÑ þáßÔ¿ ó ß««ÔóÑÔßÔó¿¿ ß

Ô¿»«¼ REAL. çá¼ÑÔ¿¼, þÔ« Ôá¬á´ á½ýÔÑp¡áÔ¿ó¡á´ ¿¡ÔÑp»pÑÔᵿ´ ¼«ªÑÔ «¬áºáÔýß´

óÑßý¼á "¡ÑÒßÔ«®þ¿ó«®", ßó´ºá¡¡«® ß ó«º¼«ª¡«ßÔ´¼¿ 󫺡¿¬¡«óÑ¡¿´

ñ«»«½¡¿Ôѽý¡ÙÕ «Þ¿í«¬. ì὿þ¿Ñ ó ßÔpÒ¬ÔÒpÑ óáp¿á¡Ô¡«® þáßÔ¿ »«ß½Ññ¡Ñú«

»p¿¼Ñpá ñѬ½ápᵿ® Ô¿»á óÙñѽ´¯ÚÑú« ßó«®ßÔóá (ôß»ÑóáѼ«ßÔý), á ÔᬪÑ

¬«¡ßÔá¡Ô ÝÔ«ú« Ô¿»á (ìÑÒñ,ÄÔ½,ò«Ó,ôñ), ßÔp«ú« ú«ó«p´, «íÒß½«ó½Ñ¡« Ô«½ý¬«

«ñ¡¿¼ «íßÔ«´ÔѽýßÔó«¼: ßÔpѼ½Ñ¡¿Ñ¼ ß«Õpá¡¿Ôý «íÚÒ¯ ß¿¡Ôá¬ß¿þÑ߬ү ßÔpÒ¬ÔÒpÒ

ºá»¿ß¿ ß óáp¿á¡ÔἿ. é ß¼Ù᫥ ¬«ppѬԡ«® ¿¡ÔÑp»pÑÔᵿ¿ ÝÔ¿ ñѬ½ápᵿ¿ ¡Ñ

¿¼Ñ¯Ô ¡¿¬á¬«ú« º¡áþÑ¡¿´ - óÑñý »p«óÑp¿Ôý º¡áþÑ¡¿Ñ ¡ÑßÒÚÑßÔóÒ¯ÚÑú«

óÙñѽ´¯ÚÑú« ßó«®ßÔóá ¡Ñ󫺼«ª¡«!

é «íÚѼ ß½ÒþáÑ ¡Ñºáó¿ß¿¼« «Ô Ô«ú«, ¿¼Ñ¡ÒÑÔß´ »«½Ñ ÔÝúá ¿½¿ ¡ÑÔ, ºá»¿ß¿ ß

óáÓ¿á¡ÔἿ «úÓá¡¿þ¿óá¯Ô ¡áí«p 󫺼«ª¡ÙÕ ó¿ñ«ó ¿¡ÔÑÓ»ÓÑÔᵿ¿ «íÛѬԫó ¡á

á½ýÔÑp¡áÔ¿ó¡«® «ß¡«óÑ. é ÝÔ«¼ ¿ ß«ßÔ«¿Ô pÑú½á¼Ñ¡Ô¿pÒ¯Úá´ p«½ý ÝÔ¿Õ ßÔpÒ¬ÔÒp

ó »«½¿¼«põ¡«® á½ýÔÑp¡áÔ¿ó¡«® ¿¡ÔÑp»pÑÔᵿ¿ «íÛѬԫó.

ì὿þ¿Ñ «íÚ¿Õ þáßÔÑ® ó ßÔÓÒ¬ÔÒÓáÕ Óáßß¼«ÔÓÑ¡¡«ú« »Ó¿¼ÑÓá ôß»Ñóá¯Ú¿®_æÔÒñÑ¡Ô

¿ ìÑÒß»Ñóá¯Ú¿®_æÔÒñÑ¡Ô ´ó½´ÑÔß´ óÑßý¼á ÕáÓá¬ÔÑÓ¡Ù¼ ñ½´ »Ó«úÓá¼¼¿Ó«óá¡¿´. é

ÝÔ«¼ ß¼Ù᫥ ºá»¿ß¿ ß óáÓ¿á¡ÔἿ ¼«ª¡« Óáßß¼áÔÓ¿óáÔý ¬á¬ õ«Ó¼Ò ½á¬«¡¿þ¡«ú«

«»¿ßá¡¿´ Ô¿»«ó, »«ºó«½´¯ÚÒ¯ ¿ºíáó¿Ôýß´ «Ô »«óÔ«Ó«ó ó «»¿ßá¡¿¿ ßó«®ßÔó

«íÛѬԫó. é «íÛѬԡ«-«Ó¿Ñ¡Ô¿Ó«óá¡¡ÙÕ ´ºÙ¬áÕ ßÒÚÑßÔóÒÑÔ ñ«»«½¡¿Ôѽý¡á´

󫺼«ª¡«ßÔý Ôᬫ® ½á¬«¡¿ºáµ¿¿, «»ÓÑñѽ´¯Úá´ »«½¿¼«Óõ¡Ò¯ ¿¡ÔÑÓ»ÓÑÔᵿ¯

«íÛѬԫó ¡Ñ ¡á á½ýÔÑp¡áÔ¿ó¡«® «ß¡«óÑ, á ¡á «ß¡«óÑ páßÞ¿pÑ¡¿´ ßó«®ßÔó. ØÔá

󫺼«ª¡«ßÔý ßó´ºá¡á ß ¼ÑÕá¡¿º¼«¼ ¡áß½Ññ«óá¡¿´ ßó«®ßÔó.

îÑÕá¡¿º¼ ¡áß½Ññ«óá¡¿´ »«ºó«½´ÑÔ ½á¬«¡¿þ¡« «»¿ßáÔý Óẽ¿þ¡ÙÑ ¬½áßßÙ «íÛѬԫó

»ÒÔѼ óÙñѽѡ¿´ ¿Õ «íÚ¿Õ ßó«®ßÔó. Æá¬«Ñ óÙñѽѡ¿Ñ »Ó«ó«ñ¿Ôß´ ¡á «ß¡«óÑ

«Ô¡«ÞÑ¡¿´ "«íÚÑú« ¬ þáßÔ¡«¼Ò" - «í«íÚÑ¡¿´. Äí«íÚÑ¡¿Ñ ¼«ªÑÔ íÙÔý «»ÓÑñѽѡ«

õ«Ó¼á½ý¡« ¡á «ß¡«óÑ «Ô¡«ÞÑ¡¿´ 󬽯þÑ¡¿´ »«ñ¼¡«ªÑßÔó ó ¼¡«ªÑßÔó«.

ÅÒßÔý Ç - ¬½áßß «íÛѬԫó ß ¿¼¼á¡Ñ¡Ô¡Ù¼¿ ßó«®ßÔóἿ É(A): A = {a/P(A)}, a B

= {b/P(B)}. àß½¿ P(A) IN P(B) (P(A) ´ó½´ÑÔß´ »«ñ¼¡«ªÑßÔó«¼ P(B), IN -

«Ô¡«ÞÑ¡¿Ñ 󬽯þÑ¡¿´), Ô« Ç "«í«íÚáÑÔ" é (A*>B, "*>" - «Ô¡«ÞÑ¡¿Ñ «í«íÚÑ¡¿´).

é «Ô¡«ÞÑ¡¿¿ (Ç*>B) Ç ´ó½´ÑÔß´ ¡áñ¬½áßß«¼, é - »«ñ¬½áßß«¼, »Ó¿ ÝÔ«¼ ½¯í«®

«íÛÑ¬Ô ¬½áßßá é ÕáÓá¬ÔÑÓ¿ºÒÑÔß´ ¡áß½ÑñÒѼټ¿ ßó«®ßÔóἿ P(A) ¿

»Ó¿«íÓÑÔÑ¡¡Ù¼¿ P(B)-P(A). ìá»Ó¿¼ÑÓ, ½¯í«® áóÔ«¼«í¿½ý «í½áñáÑÔ ßó«®ßÔóἿ

ÔÓá¡ß»«ÓÔ¡«ú« ßÓÑñßÔóá ¿ ¿¼ÑÑÔ ¡Ñ¬«Ô«ÓÙÑ «ß«íÑ¡¡ÙÑ "áóÔ«¼«í¿½ý¡ÙÑ"

ßó«®ßÔóá, ¬«Ô«ÓÙ¼¿ ¡Ñ «í½áñáÑÔ Ôá¬«Ñ ÔÓá¡ß»«ÓÔ¡«Ñ ßÓÑñßÔó«, ¬á¬, ¡á»p¿¼Ñp,

½«ñ¬á. é ÝÔ«¼ ß¼Ùß½Ñ

ÆÓá¡ß»«ÓÔ¡«Ñ_æÓÑñßÔó« *> ÇóÔ«¼«í¿½ý, ï«ñ¬á.

ÅÓ¿þѼ É(ÇóÔ«¼«í¿½ý)^P(ï«ñ¬á) = P(ÆÓá¡ß»«ÓÔ¡«Ñ_æÓÑñßÔó«). (çñÑßý ß¿¼ó«½ "^"

¿ß»«½ýºÒÑÔß´ ¬á¬ "»ÑÓÑßÑþÑ¡¿Ñ ¼¡«ªÑßÔó"). è½áßß, ¬«Ô«ÓÙ® ¡Ñ «í«íÚáÑÔß´

¡¿¬á¬¿¼ ñÓÒú¿¼, ¡áºÙóáÑÔß´ Ó´ñ«óÙ¼ ¬½áßß«¼. ìá «ß¡«óÑ »ÑÓÑßÑþÑ¡¿´ ¼¡«ªÑßÔó

¿¼¼á¡Ñ¡Ô¡ÙÕ ßó«®ßÔó ¬½áßß«ó ¼«úÒÔ íÙÔý »«ßÔÓ«Ñ¡Ù ¼Ñª¬½áßß«óÙÑ «Ô¡«ÞÑ¡¿´

Ññ¿¡¿þ¡«ú« ¡áß½Ññ«óá¡¿´, ó ¬«Ô«ÓÙÕ ½¯í«® ¬½áßß ¡Ñ»«ßÓÑñßÔóÑ¡¡« «í«íÚáÑÔß´

½¿Þý «ñ¿¡ ñÓÒú¿¼. ìá»Ó¿¼ÑÓ,

ÆÓá¡ß»«ÓÔ¡«Ñ_æÓÑñßÔó«

*

|

+------------------+---------------------+

| |

|ÇóÔ«¼«í¿½ý |ï«ñ¬á

+-----*-----+ +-----*-----+

| | | |

| | | |

* * * *

âÓÒº«ó¿¬ ïÑú¬«ó«® üá®ñáÓ¬á f½

áóÔ«¼«í¿½ý

|

|

|

*

æἫßóá½

æѼá¡Ô¿¬á «í«íÚÑ¡¿´ ¬á¬ «Ô¡«ÞÑ¡¿´ «íÚÑú« ¬ þáßÔ¡«¼Ò ¿ ßÔÓѼ½Ñ¡¿Ñ »«óÙß¿Ôý

½á¬«¡¿þ¡«ßÔý «»¿ßá¡¿´ ¬½áßß«ó ¡á «ß¡«óÑ Ññ¿¡¿þ¡«ú« ¡áß½Ññ«óá¡¿´ ¡Ñ óßÑúñá

"óÙú½´ñ´Ô" áñѬóáÔ¡«. ìá»Ó¿¼ÑÓ,

TYPE ôºÑ½ = RECORD

A: ü«½Ô; B: âᮬá;

END; .

ö«Ó¼á½ý¡« ñ½´ ÝÔ«ú« »Ó¿¼ÑÓá ¼«ª¡« «»ÓÑñѽ¿Ôý «í«íÚÑ¡¿Ñ: ü«½Ô *>ôºÑ½ (âᮬá

*> ôºÑ½), «ñ¡á¬« ¿¡ÔÒ¿Ô¿ó¡« ü«½Ô ¡Ñ ó«ß»Ó¿¡¿¼áÑÔß´ ¬á¬ ¬áÔÑú«Ó¿´ «íÚÑú« »«

«Ô¡«ÞÑ¡¿¯ ¬ ôº½Ò.

ï¯í«® «íÛѬÔ, ¬«¡ßÔÓÒ¿ÓÒѼٮ ¡á «ß¡«óÑ «Ô¡«ÞÑ¡¿´ «í«íÚÑ¡¿´, »ÓÑñßÔáó½´ÑÔß´

ßÔÓÒ¬ÔÒÓ«® ßÔÓáÔ¿õ¿µ¿Ó«óá¡¡«ú« (Óáßß½«Ñ¡¡«ú«) áúÓÑúáÔá. ÅÓ¿þѼ ¬áªñÙ® ß½«®

(ßÔÓáÔá) ó Ôᬫ® ßÔÓÒ¬ÔÒÓÑ »ÓÑñ¡áº¡áþÑ¡ ñ½´ óÙ»«½¡Ñ¡¿´ Ó«½¿ ݽѼѡÔá

ÕÓá¡Ñ¡¿´ ßó«®ßÔó ß««ÔóÑÔßÔóÒ¯ÚÑú« ¡áñ¬½áßßá ñ« Ó«ñ«ó«ú« 󬽯þ¿Ôѽý¡«.

ìá»Ó¿¼ÑÓ, ½¯í«® «íÛÑ¬Ô ¬½áßßá "f½" (ß¼. ßÕÑ¼Ò óÙÞÑ) íÒñÑÔ «»ÓÑñѽ´Ôýß´

ßÔÓÒ¬ÔÒÓ«®:

TYPE æÔÓÒ¬ÔÒÓá f½á = RECORD

Ç: ÆÓá¡ß»«ÓÔ¡«Ñ_æÓÑñßÔó«;

é: ï«ñ¬á;

æ: f½;

END; .

ê¡ÔÑÓ»ÓÑÔᵿ´ f½á ¬á¬ ÔÓá¡ß»«ÓÔ¡«ú« ßÓÑñßÔóá ßó´ºá¡á Ô«½ý¬« ß

¿ß»«½ýº«ó᡿Ѽ ß½«´ Ç ó ݽѼѡÔÑ ÕÓá¡Ñ¡¿´. ê¡ÔÑÓ»ÓÑÔᵿ´ f½á ¬á¬ ½«ñ¬¿ - ß

¿ß»«½ýº«ó᡿Ѽ ñóÒÕ ß½«Ñó: Ç ¿ é, ¿, ¡á¬«¡Ñµ, ¿¡ÔÑÓ»ÓÑÔᵿ´ f½á ¬á¬

«ß«í«ú« ó¿ñá ½«ñ¬¿ ßó´ºá¡á ß ¿ß»«½ýº«ó᡿Ѽ óßÑÕ ÔÓÑÕ ß½«Ñó: Ç,é,æ.

äѬ½áÓᵿ´ ó¿ñá "æÔÓÒ¬ÔÒÓá_f½á" ó «íÛѬԡ«-«Ó¿Ñ¡Ô¿Ó«óá¡¡«¼ ´ºÙ¬Ñ ºá¼Ñ¡´ÑÔß´

«Ô¡«ÞÑ¡¿Ñ¼

f½ . (NEW ¿ DISPOSE - »ßÑóñ«»Ó«µÑñÒÓÙ, ¿Õ óÙº«óÙ

ÔÓá¡ß½¿ÓÒ¯Ôß´ ó óÙº«óÙ ALLOCATE ¿ DEALLOCATE ß««ÔóÑÔßÔóÑ¡¡«). êß»«½ýº«óá¡¿Ñ

NEW ¿ DISPOSE »«ºó«½´ÑÔ ¿ºíѪáÔý ¼¡«ú¿Õ ßѼá¡Ô¿þÑ߬¿Õ «Þ¿í«¬, ßó´ºá¡¡ÙÕ ß

Óẽ¿þ¡Ù¼¿ º¡áþÑ¡¿´¼¿ N ó »«ß½Ññ«óáÔѽý¡«ßÔ¿ óÙº«ó«ó ALLOCATE...DEALLOCATE,

«»ÓÑñѽ´¯ÚÑ® ß«ºñá¡¿Ñ/Ò¡¿þÔ«ªÑ¡¿Ñ «ñ¡«ú« ¿ Ô«ú« ªÑ «íÛѬÔá.

é µÑ½«¼ »«ß½Ññ«óáÔѽý¡«ßÔý óÙº«ó«ó NEW...DISPOSE (¿½¿ ß««ÔóÑÔßÔóÑ¡¡«

ALLOCATE...DEALLOCATE), ó «íÚѼ ß½ÒþáÑ »«½¡«ßÔý¯ «»ÓÑñѽ´Ñ¼á´ ½«ú¿¬«®

»Ó«úÓá¼¼¿ßÔá, »«Ó«ªñáÑÔ Ó´ñ »Ó«í½Ñ¼, ßó´ºá¡¡ÙÕ ß «Óúá¡¿ºáµ¿Ñ® ¿

Óáß»ÓÑñѽѡ¿Ñ¼ ßó«í«ñ¡«ú« »Ó«ßÔÓá¡ßÔóá ñ¿¡á¼¿þÑ߬«® »á¼´Ô¿. Äñ¡«® ¿º ÔᬿÕ

»Ó«í½Ñ¼ ´ó½´ÑÔß´ »Ó«í½Ñ¼á õÓáú¼Ñ¡Ôᵿ¿. ØõõÑ¬Ô õÓáú¼Ñ¡Ôᵿ¿ ºá¬½¯þáÑÔß´ ó

Ô«¼, þÔ« Óáí«þá´ «í½áßÔý ñ¿¡á¼¿þÑ߬«® »á¼´Ô¿ "ñÓ«í¿Ôß´" ¡á þáßÔ¿ -

õÓáú¼Ñ¡ÔÙ Óẽ¿þ¡«® ñ½¿¡Ù. èᬿÑ-Ô« ¿º ¡¿Õ "ºá¡´ÔÙ" - ¿ß»«½ýºÒ¯Ôß´

»Ó«úÓá¼¼¿ßÔ«¼ »«ñ ݽѼѡÔÙ ÕÓá¡Ñ¡¿´ Ñú« «íÛѬԫó, ¬á¬¿Ñ-Ô« "ßó«í«ñ¡Ù",

»Ó¿þѼ ÕáÓá¬ÔÑÓ þÑÓÑñ«óá¡¿´ ßó«í«ñ¡ÙÕ ¿ ºá¡´ÔÙÕ õÓáú¼Ñ¡Ô«ó ó «íÚѼ ß½ÒþáÑ

¼«ªÑÔ íÙÔý ß«óÑÓÞÑ¡¡« »Ó«¿ºó«½ý¡Ù¼. ï¯í«® ºá»Ó«ß »Ó«úÓá¼¼¿ßÔá ¡á ß«ºñá¡¿Ñ

¡«ó«ú« «íÛѬÔá »Ó¿ó«ñ¿Ô ¬ Ô«¼Ò, þÔ« ß¿ßÔѼá Ò»Óáó½Ñ¡¿´ ñ¿¡á¼¿þÑ߬«® »á¼´Ôý¯

"»«ñí¿ÓáÑÔ" Ñ¼Ò õÓáú¼Ñ¡Ô, »«ñÕ«ñ´Ú¿® »« ÓẼÑÓá¼. ÅÓáó¿½á Ôᬫú« »«ñí«Óá

¼«úÒÔ íÙÔý Óẽ¿þ¡Ù, ¡« «íÚá´ ºá¬«¡«¼ÑÓ¡«ßÔý «ñ¡á: Ôᬫ® õÓáú¼Ñ¡Ô ñ«½ªÑ¡

¿¼ÑÔý ÓẼÑÓ, ¡Ñ ¼Ñ¡ýÞ¿®, þѼ ºá»ÓáÞ¿óáѼٮ »Ó«úÓá¼¼¿ßÔ«¼. àß½¿ »«ñÕ«ñ´Ú¿®

õÓáú¼Ñ¡Ô ¿¼ÑÑÔ í«½ýÞ¿® ÓẼÑÓ, þѼ ÔÓÑíÒÑÔß´, ó »Ó¿¬½áñ¡Ò¯ »Ó«úÓá¼¼Ò íÒñÑÔ

«Ôñá¡á Ñú« þáßÔý, ¬«Ô«pá´ ÔÑ»Ñpý íÒñÑÔ páßß¼áÔp¿óáÔýß´ ß¿ßÔѼ«® ¬á¬ ºá¡´ÔÙ®

õpáú¼Ñ¡Ô, á «ßÔáÔ«¬ «ßÔá¡ÑÔß´ ó ßó«í«ñ¡«® º«¡Ñ ó ¬áþÑßÔóÑ ßó«í«ñ¡«ú«

õpáú¼Ñ¡Ôá. ÅÓ¿ ÝÔ«¼ »Ó«í½Ñ¼á õÓáú¼Ñ¡Ôᵿ¿ ºá¬½¯þáÑÔß´ ó Ô«¼, þÔ« ÝõõѬÔ

"ñÓ«í½Ñ¡¿´" ¼«ªÑÔ »Ó¿óÑßÔ¿ ¬ Ô«¼Ò, þÔ« ó ßó«í«ñ¡«® º«¡Ñ íÒñÑÔ ¡áÕ«ñ¿Ôýß´

¼¡«ªÑßÔó« "¼á½Ñ¡ý¬¿Õ" ÓáºÓ«º¡Ñ¡¡ÙÕ ßó«í«ñ¡ÙÕ õÓáú¼Ñ¡Ô«ó, ó ß«ó«¬Ò»¡«ßÔ¿

ß«ßÔáó½´¯Ú¿Õ ñ«ßÔáÔ«þ¡Ù® «íÛѼ. ÆѼ ¡Ñ ¼Ñ¡ÑÑ, ¡Ñß¼«ÔÓ´ ¡á Ôᬫ® «íÛѼ,

ºá»Ó«ß »Ó«úÓá¼¼¿ßÔá ¡á ¡«óÙ® Ý½Ñ¼Ñ¡Ô »á¼´Ô¿ ¼«ªÑÔ »«½Òþ¿Ôý «Ô¬áº »« »Ó¿þ¿¡Ñ

«ÔßÒÔßÔó¿´ µÑ½«ú« »«ñÕ«ñ´ÚÑú« ݽѼѡÔá. ì¿ªÑ »Ó¿óÑñÑ¡ õÓáú¼Ñ¡Ô »Ó«úÓá¼¼Ù ¿

ßÕѼá Óáß»ÓÑñѽѡ¿´ ñ¿¡á¼¿þÑ߬«® »á¼´Ô¿, ¿½½¯ßÔÓ¿ÓÒ¯Ú¿Ñ ÝõõѬÔ

õÓáú¼Ñ¡Ôᵿ¿. ÅÓ¿ ÝÔ«¼ ñ½´ »Ó«ßÔ«ÔÙ »ÓÑñ»«½áúáÑÔß´, þÔ« «íÚ¿® «íÛѼ

ñ¿¡á¼¿þÑ߬«® »á¼´Ô¿ ß«ßÔáó½´ÑÔ 20 íá®Ô.

TYPE ÆÓÑÒú«½ý¡¿¬ = POINTER TO ö¿úÒÓá_1

ö¿úÒÓá_1 = RECORD

æÔ«Ó«¡á_1, æÔ«Ó«¡á_2, æÔ«Ó«¡á_3:CARDINAL

END;

ùÑÔÙÓÑÕÒú«½ý¡¿¬ = POINTER TO ö¿úÒÓá_2;

ö¿úÒÓá_2 = RECORD

æÔ«Ó«¡á_1, æÔ«Ó«¡á_2, æÔ«Ó«¡á_3, æÔ«Ó«¡á_4:

CARDINAL

àND

VAR T1, T2: ÆÓÑÒú«½ý¡¿¬; î1, î2: ùÑÔÙÓÑÕÒú«½ý¡¿¬;

BEGIN NEW(T1);... NEW(M1);... NEW(T2);...

DISPOSE(T1);... DISPOSE(T2); NEW(M2);...

+-------------------+ -+

| WORD | |

+-------------------+ |

| | > æó«í«ñ¡Ù® õÓáú¼Ñ¡Ô, Óá¡ÑÑ

+-------------------+ | ¿ß»«½ýº«óá¡¡Ù® »«ñ

| | | «íÛÑ¬Ô Æ1^

+-------------------+ -+-+

| | |

+-------------------+ |

| | |

+-------------------+ > öÓáú¼Ñ¡Ô, ºá¡´ÔÙ®

| | | »«ñ «íÛÑ¬Ô î1^

+-------------------+ |

| | |

+-------------------+ -+-+

| | |

+-------------------+ |

| | > æó«í«ñ¡Ù® õÓáú¼Ñ¡Ô, Óá¡ÑÑ

+-------------------+ | ¿ß»«½ýº«óá¡¡Ù® »«ñ

| | | «íÛÑ¬Ô Æ2^

+-------------------+ -+

ê½½¯ßÔÓᵿ´ »«ßÔÓ«Ñ¡á ñ½´ ¼«¼Ñ¡Ôá «íÓáí«Ô¬¿ ºá»Ó«ßá NEW(M2). é ÝÔ«Ô ¼«¼Ñ¡Ô

óÓѼѡ¿ ó ñ¿¡á¼¿þÑ߬«® »á¼´Ô¿ ¿¼Ñ¯Ôß´ ñóá ßó«í«ñ¡ÙÕ õÓáú¼Ñ¡Ôá «íÚ¿¼ «íÛѼ«¼

ÞÑßÔý ß½«ó, ¬«Ô«ÓÙÕ ñ«ßÔáÔ«þ¡« ñ½´ óÙ»«½¡Ñ¡¿´ ºá»Ó«ßá ¡á óÙñѽѡ¿Ñ ݽѼѡÔá

ÕÓá¡Ñ¡¿´ »«ñ «íÛÑ¬Ô î2^ (Ô.Ñ. ñ½´ «íÛѬÔá, ¡á ¬«Ô«pÙ® íÒñÑÔ Ò¬áºÙóáÔý M2),

«ñ¡á¬« õÓáú¼Ñ¡Ôᵿ´ ¡Ñ »«ºó«½´ÑÔ ß¿ßÔÑ¼Ñ óÙñѽ¿Ôý »á¼´Ôý »«ñ «íÛÑ¬Ô î2^.

æ¿ßÔѼá Ò»Óáó½Ñ¡¿´ ñ¿¡á¼¿þÑ߬«® »á¼´Ôý¯ óÑñÑÔ ß»Ñµ¿á½ý¡Ù® ß»¿ß«¬ ßó«í«ñ¡ÙÕ

õpáú¼Ñ¡Ô«ó - »Ò½ »á¼´Ô¿. ÅÓ¿ ó«ºóÓáÚÑ¡¿¿ ¬á¬«ú«-½¿í« ݽѼѡÔá ÕÓá¡Ñ¡¿´,

¿ß»«½ýºÒѼ«ú« ó »Ó¿¬½áñ¡«® »Ó«úÓá¼¼Ñ, ó »Ò½ ßó«í«ñ¡«® »á¼´Ô¿ ¼«ªÑÔ íÙÔý

ÓÑ὿º«óá¡« "߬½Ñ¿óá¡¿Ñ" ß«ßÑñ¡¿Õ ßó«í«ñ¡ÙÕ õpáú¼Ñ¡Ô«ó ó «ñ¿¡ õpáú¼Ñ¡Ô

í«½ýÞÑú« «íÛѼá. ìá»Ó¿¼ÑÓ, Ñß½¿ ó »ÓÑñÙñÒÚÑ® »Ó«úÓá¼¼Ñ ¿º¼Ñ¡¿Ôý

»«ß½Ññ«óáÔѽý¡«ßÔý «íÓáÚÑ¡¿® ¬ ñ¿¡á¼¿þÑ߬«® »á¼´Ô¿ ¡á »Ó¿óÑñÑ¡¡Ò¯ ¡¿ªÑ, Ô«

«»¿ßá¡¡«ú« óÙÞÑ «Ô¬áºá »« »á¼´Ô¿ ¡Ñ »Ó«¿º«®ñÑÔ:

BEGIN NEW(T1);...NEW(T2);...NEW(M1);...

DISPOSE(T1);...DISPOSE(T2);... NEW(M2);...

çñÑßý »Ó¿ «íÓáí«Ô¬Ñ ºá»Ó«ßá NEW(M2) ó »Ò½Ñ ñ¿¡á¼¿þÑ߬«® »á¼´Ô¿ íÒñÑÔ

¡áÕ«ñ¿Ôýß´ «ñ¿¡ ßó«í«ñ¡Ù® õÓáú¼Ñ¡Ô «íÛѼá ÞÑßÔý ß½«ó, «íÓẫóá¡¡Ù®

"߬½Ñ¿ó᡿Ѽ" ݽѼѡԫó Æ1^ ¿ T2^, óÙ»«½¡Ñ¡¡Ù¼ »Ó¿ «íÓáí«Ô¬Ñ ºá»Ó«ßá

DISPOSE(T2). é «íÚѼ ß½ÒþáÑ ó«»Ó«ßÙ ÝõõѬԿ󡫮 ÓÑ὿ºáµ¿¿ Ò»Óáó½Ñ¡¿´

ñ¿¡á¼¿þÑ߬«® »á¼´Ôý¯, «íÑß»Ñþ¿óá¯ÚÑ® ¼¿¡¿¼Ò¼ «Ô¬áº«ó »Ó¿ «úÓá¡¿þÑ¡¡«¼

«íÛѼÑ, ß«ßÔáó½´¯Ô «Ôñѽý¡Ò¯ »Ó«í½Ñ¼Ò. çñÑßý ¼Ù Ô«½ý¬« ºá¼ÑÔ¿¼, þÔ« ß

«Óúá¡¿ºáµ¿Ñ® óÙñѽѡ¿´ "»ÑÓó«ú« »«ñÕ«ñ´ÚÑú«" õÓáú¼Ñ¡Ôá »á¼´Ô¿ ó

»Ó«úÓá¼¼¿Ó«óá¡¿¿ ßó´ºÙóá¯Ô Ôá¬¿Ñ ÔÑÓ¼¿¡Ù ¬á¬ "Õ¿»" ¿½¿ "¬Òþá", «Ô¡«ß´Ú¿Ñß´

߬«ÓÑÑ ¬ »Ó«õÑßß¿«¡á½ý¡«¼Ò ªáÓú«¡Ò, þѼ ¬ ¡áÒþ¡«-¼ÑÔ«ñ¿þÑ߬«® ÔÑÓ¼¿¡«½«ú¿¿.

ÆѼ ¡Ñ ¼Ñ¡ÑÑ ÝÔ¿ ÔÑÓ¼¿¡Ù ñ«ó«½ý¡« «íÓạ« ÕáÓá¬ÔÑÓ¿ºÒ¯Ô »Ó¿¡µ¿»Ù

«Óúá¡¿ºáµ¿¿ ñ¿¡á¼¿þÑ߬«® »á¼´Ô¿.

ÄÓúá¡¿ºáµ¿´ ¬«ÓÓѬԡ«® »«ß½Ññ«óáÔѽý¡«ßÔ¿ ºá»Ó«ß«ó ßó´ºá¡á, ¬Ó«¼Ñ Ô«ú«, ¬á¬

¼¿¡¿¼Ò¼ ÑÚÑ ß ñóÒ¼´ »Ó«í½Ñ¼á¼¿. ìá Ô«¼ ªÑ ªáÓú«¡Ñ ¿Õ ¡áºÙóá¯Ô »Ó«í½Ñ¼Ù

"ó¿ß´þ¿Õ ßßÙ½«¬" ¿ "¼Òß«Óá", á «»ÓÑñѽ´¯Ô «¡¿ ñóÑ ßÔ«Ó«¡Ù «ñ¡«® ¿ Ô«® ªÑ

«Þ¿í¬¿, ºá¬½¯þá¯ÚѮߴ ó ¡Ñ¬«ÓÓѬԡ«® Óáí«ÔÑ ß Ò¬áºáÔѽ´¼¿. æ½ÑñÒ¯Ú¿®

õÓáú¼Ñ¡Ô »Ó«úÓá¼¼Ù ¿½½¯ßÔÓ¿ÓÒÑÔ ó«º¡¿¬¡«óÑ¡¿Ñ Ôá¬¿Õ «Þ¿í«¬ (Ô¿»

"ÆÓÑÒú«½ý¡¿¬" «»¿ßá¡ óÙÞÑ).

VAR T1, T2:ÆÓÑÒú«½ý¡¿¬;

BEGIN NEW(T1);...T2:=T1;...

DISPOSE(T1); (* T2-"ó¿ß´þá´ ßßÙ½¬á" *)

............

NEW(T1);...NEW(T2);...

T1:=T2; (* ÄßÔá½ß´ "¼Òß«Ó" *)

êº ÝÔ«ú« »Ó¿¼ÑÓá »«¡´Ô¡«, þÔ« "ó¿ß´þá´ ßßÙ½¬á" - ÝÔ« Ò¬áºáÔѽý »Ó¿¬½áñ¡«®

»Ó«úÓá¼¼Ù, Ò¬áºÙóá¯Ú¿® ¡á ßó«í«ñ¡Ù® õÓáú¼Ñ¡Ô ñ¿¡á¼¿þÑ߬«® »á¼´Ô¿. ū߬«½ý¬Ò

ÝÔ«Ô õÓáú¼Ñ¡Ô ¼«ªÑÔ íÙÔý óÙñѽѡ ß¿ßÔѼ«® »« ¬á¬«¼Ò-½¿í« ºá»Ó«ßÒ ñÓÒú«®

»Ó¿¬½áñ¡«® »Ó«úÓá¼¼Ñ, Æ2 ¼«ªÑÔ «Ô¬ÓÙÔý ñ«ßÔÒ» ¬ "þÒª¿¼" ñá¡¡Ù¼ ¿

"ÓáºÓÑÞ¿Ôý" ¿Õ ¿¡ÔÑÓ»ÓÑÔᵿ¯ ¬á¬ ÔÓÑÒú«½ý¡¿¬á. Å«ß½ÑñßÔó¿´ Ôᬫ®

¿¡ÔÑÓ»ÓÑÔᵿ¿ ó «íÚѼ ß½ÒþáÑ ¡Ñ»ÓÑñ߬áºÒѼÙ. çá¼ÑÔ¿¼, þÔ« "ó¿ß´þá´" ßßÙ½¬á

¿ "»ÒßÔá´" ßßÙ½¬á (¿¼Ñ¯Úá´ º¡áþÑ¡¿Ñ NIL, ß¼. páºñ.III) ´ó½´¯Ôß´ ß«óÑÓÞÑ¡¡«

Óạټ¿ »«¡´Ô¿´¼¿. "îÒß«Ó" - ÝÔ« ºá¡´ÔÙ® õÓáú¼Ñ¡Ô ñ¿¡á¼¿þÑ߬«® »á¼´Ô¿, ¬

¬«Ô«Ó«¼Ò ó »Ó¿¬½áñ¡«® »Ó«úÓá¼¼Ñ »«ÔÑÓ´¡ ñ«ßÔÒ». é »Ó¿óÑñÑ¡¡«¼ »Ó¿¼ÑÓÑ

¼Òß«Ó«¼ «¬áºá½ß´ ßÔáÓÙ® ÔÓÑÒú«½ý¡¿¬ Æ1^, ¡á ¬«Ô«ÓÙ® Ò¬áºÙóá½ Æ1 ñ«

»ÑÓÑñ󿪬¿ (ÒßÔá¡«ó¬¿ ¡á Æ2). ØÔ«Ô ¼Òß«Ó ¡ÑÒßÔÓá¡¿¼: »Ó«úÓá¼¼¿ßÔ ¡Ñ ¿¼ÑÑÔ ¬

¡Ñ¼Ò ñ«ßÔÒ»á, á ß¿ßÔѼá Ò»Óáó½Ñ¡¿´ "ßþ¿ÔáÑÔ" ¼Òß«Ó ºá¡´ÔÙ¼ õÓáú¼Ñ¡Ô«¼

»á¼´Ô¿.

ÄíÛÑñ¿¡´ÑÔ ÝÔ¿ ñóá ó¿ñá «Þ¿í«¬ «ñ¡« «íÚÑÑ «íßÔ«´ÔѽýßÔó«: «¡¿ ¡Ñ

«í¡áÓÒª¿óá¯Ôß´ ¿ß»«½¡¿Ôѽý¡«® ßÓÑñ«®. êñÑ¡Ô¿õ¿µ¿Ó«óáÔý »«ñ«í¡ÙÑ «Þ¿í¬¿

¼«ª¡« Ô«½ý¬« »ÒÔѼ ÔÚáÔѽý¡«® »Ó«óÑÓ¬¿ ¿ «Ô½áñ¬¿ »Ó«úÓá¼¼Ù. ê, ¡á¬«¡Ñµ, »«

ßó«¿¼ 󫺼«ª¡Ù¼ 󽿴¡¿´¼ ¡á Óáí«ÔÒ »Ó«úÓá¼¼Ù ¼Òß«Ó ú«Óáºñ« "íѺ«í¿ñ¡ÑÑ"

ó¿ß´þÑ® ßßÙ½¬¿. Ä¡ õá¬Ô¿þÑ߬¿ »Ó¿ó«ñ¿Ô Ô«½ý¬« ¬ Òóѽ¿þÑ¡¡«¼Ò ÓáßÕ«ñÒ

»á¼´Ô¿, ó Ô« óÓѼ´ ¬á¬ ó¿ß´þá´ ßßÙ½¬á ß»«ß«í¡á »Ó¿ «»ÓÑñѽѡ¡ÙÕ Òß½«ó¿´Õ

»«½¡«ßÔý¯ »áÓ὿º«óáÔý »Ó«µÑßß óÙ»«½¡Ñ¡¿´ »Ó«úÓá¼¼Ù. é ß½«ª¡ÙÕ ß¿ßÔѼáÕ

"µÑ¡á" ó¿ß´þÑ® ßßÙ½¬¿ ¼«ªÑÔ «¬áºáÔýß´ «þÑ¡ý óÙß«¬«®.

êß»«½ýº«óá¡¿Ñ áóÔ«¼áÔ¿þÑ߬«® »á¼´Ô¿ ßó´ºá¡« ß ß«ºñ᡿Ѽ / Ò¡¿þÔ«ªÑ¡¿Ñ¼

߻ѵ¿á½ý¡ÙÕ Ý½Ñ¼Ñ¡Ô«ó ÕÓá¡Ñ¡¿´, ßó´ºá¡¡ÙÕ ß á¬Ô¿ó¡Ù¼¿ «íÛѬÔἿ -

ñÑ®ßÔó¿´¼¿ ¿½¿ »Ó«µÑñÒÓἿ. ï¯íá´ »Ó«µÑñÒÓá ÔpÑíÒÑÔ ñ½´ óÙ»«½¡Ñ¡¿´

ß«íßÔóÑ¡¡«® ¿¡ñ¿ó¿ñÒá½ý¡«® ½«¬á½ý¡«® ßÓÑñÙ. Å«ñ«í¡Ò¯ ßÓÑñÒ «íÓáºÒ¯Ô

½«¬á½ý¡ÙÑ »ÑÓѼѡ¡ÙÑ, «íÛ´ó½Ñ¡¡ÙÑ ó »Ó«µÑñÒÓÑ, õ«Ó¼á½ý¡ÙÑ »áÓá¼ÑÔÓÙ,

Ý½Ñ¼Ñ¡Ô ÕÓá¡Ñ¡¿´ áñÓÑßá ó«ºóÓáÔá ó »Ó«µÑñÒÓÒ, Ô.Ñ. ¡áí«Ó «íÛѬԫó,

«íÑß»Ñþ¿óá¯Ú¿Õ óÙ»«½¡Ñ¡¿Ñ ñÑ®ßÔó¿®, ßó´ºá¡¡ÙÕ ß »Ó«µÑñÒÓ«®. ìÑ«íÕ«ñ¿¼«ßÔý ó

½«¬á½ý¡«® ßÓÑñÑ ó«º¡¿¬áÑÔ Ô«½ý¬« ó ¼«¼Ñ¡Ô óÙº«óá »Ó«µÑñÒÓÙ - ¼«¼Ñ¡Ô

¿¡ÔÑÓ»ÓÑÔᵿ¿ «íÛѬÔá »Ó«µÑñÒÓ¡«ú« Ô¿»á. Å«ß½Ñ ºáóÑÓÞÑ¡¿´ Ôᬫ®

¿¡ÔÑÓ»ÓÑÔᵿ¿ ¡Ñ«íÕ«ñ¿¼«ßÔý ó ½«¬á½ý¡«® ßÓÑñÑ ¿ßþѺáÑÔ. Æᬿ¼ «íÓẫ¼,

óÓѼ´ ª¿º¡¿ ½«¬á½ý¡«® ßÓÑñÙ «úÓá¡¿þ¿óáÑÔß´ óÓѼѡѼ «ÔÓáí«Ô¬¿ »Ó«úÓá¼¼Ù, ó

¬«Ô«Ó«® «¡á «»¿ßá¡á. æ««ÔóÑÔßÔóÑ¡¡« ºá»Ó«ß ¡á ß«ºñá¡¿Ñ ½«¬á½ý¡«® ßÓÑñÙ

ßó´ºá¡ ß óÙº«ó«¼ »Ó«µÑñÒÓÙ, á ºá»Ó«ß ¡á Ò¡¿þÔ«ªÑ¡¿Ñ - ß «¬«¡þ᡿Ѽ õáºÙ

á¬Ô¿ó¡«ßÔ¿ «íÛѬÔá («»ÑÓáÔ«Ó RETURN ¿½¿ END ó ÔÑ½Ñ »Ó«µÑñÒÓÙ). ìá»Ó¿¼ÑÓ:

VAR W1, W2: PROC;

PROCEDURE Éáí«Ôá_1;

VAR A: INTEGER;... BEGIN... W2;...

END Éáí«Ôá_1;

PROCEDURE Éáí«Ôá_2;

VAR A: INTEGER;... BEGIN... W2;...

END Éáí«Ôá_2;

BEGIN... W1:=Éáí«Ôá_1;... W2:=Éáí«Ôá_2;... W1;...

é ÝÔ«¼ õÓáú¼Ñ¡ÔÑ «»¿ßá¡Ù ñóá á¬Ô¿ó¡ÙÕ «íÛѬÔá »Ó«µÑñÒÓ¡«ú« Ô¿»á PROC =

PROCEDURE(): W1 ¿ W2 ¿ ñóÑ »Ó«µÑñÒÓÙ íѺ »áÓá¼ÑÔÓ«ó: Éáí«Ôá_1 ¿ Éáí«Ôá_2,

¬«Ô«ÓÙÑ ¼«úÒÔ ¿ß»«½ýº«óáÔýß´ ¬á¬ ¬«¡ßÔá¡ÔÙ Ô¿»á PROC. ê¡ÔÑÓ»ÓÑÔᵿ´

(á¬Ô¿ó¿ºáµ¿´) W1 »Ó¿óÑñÑÔ ¬ óÙº«óÒ Éáí«ÔÙ_1 ¿ ß«ºñá¡¿¯ ½«¬á½ý¡«® ßÓÑñÙ

(ß«ñÑÓªáÚÑ® »ÑÓѼѡ¡Ò¯ Ç). é »Ó«µÑßßÑ óÙ»«½¡Ñ¡¿´ Éáí«ÔÙ_1 »Ó«¿ºó«ñ¿Ôß´

á¬Ô¿ó¿ºáµ¿´ «íÛѬÔá W2 ¿ ß««ÔóÑÔßÔóÑ¡¡« ß«ºñá¡¿Ñ ½«¬á½ý¡«® ßÓÑñÙ ñ½´

Éáí«ÔÙ_2. é ½¯í«® ÔѬÒÚ¿® ¼«¼Ñ¡Ô óÓѼѡ¿ ó ß¿ßÔÑ¼Ñ ¼«úÒÔ íÙÔý á¬Ô¿ó¡Ù

¡Ñ߬«½ý¬« «íÛѬԫó. (é ÝÔ«¼ »Ó¿¼ÑÓÑ á¬Ô¿ó¿ºáµ¿´ W1 »Ó¿ó«ñ¿Ô ¬ á¬Ô¿ó¿ºáµ¿¿

W2, ºáÔѼ «¡¿ «íá «ßÔá¯Ôß´ ó á¬Ô¿ó¡«¼ ß«ßÔ«´¡¿¿ ¿ ºáÔѼ ÔÑÓ´¯Ô ßó«¯

á¬Ô¿ó¡«ßÔý ó «íÓáÔ¡«® »«ß½Ññ«óáÔѽý¡«ßÔ¿: ß¡áþá½á »áßß¿ó¿ÓÒÑÔß´ W2, ºáÔѼ

W1). Å«ß½Ññ«óáÔѽý¡«ßÔý á¬Ô¿óᵿ¿ ¿ »áßß¿óᵿ¿ ßó´ºá¡á ß ó½«ªÑ¡¡«ßÔý¯

óÙº«ó«ó »Ó«µÑñÒÓ, ß««ÔóÑÔßÔóÑ¡¡« Ò»Óáó½Ñ¡¿Ñ áóÔ«¼áÔ¿þÑ߬«® »á¼´Ôý¯

«ß¡«óÙóáÑÔß´ ¡á ¿ß»«½ýº«óá¡¿¿ ßÔѬá - ßÔÓÒ¬ÔÒÓÙ, »«ññÑÓª¿óá¯ÚÑ® Ôá¬Ò¯

󽫪ѡ¡«ßÔý. ì¿ªÑ ñ½´ ÝÔ«ú« õÓáú¼Ñ¡Ôá »Ó¿óÑñÑ¡á ¿½½¯ßÔÓᵿ´ Óáß»ÓÑñѽѡ¿´

áóÔ«¼áÔ¿þÑ߬«® »á¼´Ô¿, ßÒÚÑßÔóÒ¯ÚÑú« ó ÔÑþÑ¡¿Ñ ß«ó¼ÑßÔ¡«® á¬Ô¿ó¡«ßÔ¿

«íÛѬԫó W1 ¿ W2.

+- +-------------------+ -+

| | ÅÑÓѼѡ¡á´ Ç | |

| +-------------------+ > 﫬á½ý¡á´ ßÓÑñá

| | ÇñÓÑß ó«ºóÓáÔá | | ñ½´ W1

çá¡´Ô«Ñ »Ó«ßÔ- < +-------------------+ -+

Óá¡ßÔó« | | ÅÑÓѼѡ¡á´ Ç | |

| +-------------------+ > 﫬á½ý¡á´ ßÓÑñá

| | ÇñÓÑß ó«ºóÓáÔá | | ñ½´ W2

éÑÓÞ¿¡á --> +- |-------------------+ -+

ßÔѬá | | |

áóÔ«¼áÔ¿þÑ߬«® | | |

»á¼´Ô¿ | | | æó«í«ñ¡«Ñ

| | > »Ó«ßÔÓá¡ßÔó«

Åáßß¿óᵿ´ | | | »á¼´Ô¿

| ^ | | |

| | | | |

| | | | |

v | +-------------------+ -+

ǬԿóᵿ´

ÅÓ¿ á¬Ô¿óᵿ¿ ¬áªñ«ú« ¡«ó«ú« «íÛѬÔá óÑÓÞ¿¡á ßÔѬá "«»Ò߬áÑÔß´ 󡿺" ¡á

óѽ¿þ¿¡Ò, «»ÓÑñѽ´Ñ¼Ò¯ ÓẼÑÓἿ ½«¬á½ý¡«® ßÓÑñÙ ÝÔ«ú« «íÛѬÔá,- »Ó¿ Ñú«

»áßß¿óᵿ¿ óÑÓÞ¿¡á ßÔѬá "»«ñ¡¿¼áÑÔß´ óóÑÓÕ". æ ¿ß»«½ýº«ó᡿Ѽ

áóÔ«¼áÔ¿þÑ߬«® »á¼´Ô¿ ßó´ºá¡Ù ñóÑ «ß¡«ó¡ÙÑ »Ó«í½Ñ¼Ù: ÓѬÒÓß¿¿ ¿

¼¡«ªÑßÔóÑ¡¡«ßÔ¿ áßß«µ¿áµ¿®.

ÉѬÒÓß¿´ - ¼ÑÕá¡¿º¼, »«ºó«½´¯Ú¿® «íÛѬÔÒ ß«óÑÓÞáÔý ßἫá¬Ô¿óáµ-¿¯.

ìá»Ó¿¼ÑÓ, »« ßÕѼÑ:

W1-->W1 (»Ó´¼á´ ÓѬÒÓß¿´)

¿½¿ W1-->W2 ...-->W1 (¬«ßóÑ¡¡á´ ÓѬÒÓß¿´).

ÅÓ´¼á´ ÓѬÒÓß¿´ ßó´ºá¡á ß ¡Ñ»«ßÓÑñßÔóÑ¡¡«® »«óÔ«Ó¡«® (󽫪ѡ¡«®)

á¬Ô¿óᵿѮ, á ¬«ßóÑ¡¡á´ - ß «»«ßÓÑñ«óá¡¡«® (»Ó¿þѼ þ¿ß½« »«ßÓÑñ¡¿¬«ó ó

ßÕÑ¼Ñ W1-->...-->W1 ¼«ªÑÔ íÙÔý »Ó«¿ºó«½ý¡Ù¼). êß»«½ýº«óá¡¿Ñ ÓѬÒÓß¿¿

¡á»Ó´¼Ò¯ ßó´ºá¡« ß ÓẼÑÓἿ Óáí«þÑú« »Ó«ßÔÓá¡ßÔóá áóÔ«¼áÔ¿þÑ߬«® »á¼´Ô¿.

êß»«½ýº«óá¡¿Ñ ÓѬÒÓß¿ó¡ÙÕ á¬Ô¿óᵿ® «íÛѬԫó, ß «ñ¡«® ßÔ«Ó«¡Ù, »«ºó«½´ÑÔ

¿¼ÑÔý «þÑ¡ý ½á¬«¡¿þ¡ÙÑ ¿ Ѽ¬¿Ñ »« ß«ñÑӪ᡿¯ »Ó«úÓá¼¼Ù, ß ñÓÒú«® ßÔ«Ó«¡Ù, ó

ÓѬÒÓß¿ó¡ÙÕ ßÕѼáÕ («ß«íÑ¡¡« ó ¬«ßóÑ¡¡«® ÓѬÒÓß¿¿) ó«ºÓáßÔáÑÔ óÑÓ«´Ô¡«ßÔý

»«´ó½Ñ¡¿´ ÔÓÒñ¡« ¿ñÑ¡Ô¿õ¿µ¿ÓÒѼÙÕ «Þ¿í«¬.

î¡«ªÑßÔóÑ¡¡«ßÔý áßß«µ¿áµ¿® ºá¬½¯þáÑÔß´ ó Ô«¼, þÔ« ó ¬½áßßÑ áóÔ«¼áÔ¿þÑ߬«®

»á¼´Ô¿ ¼«úÒÔ íÙÔý «ñ¡«óÓѼѡ¡« ÓẼÑÚÑ¡Ù ¡Ñ߬«½ý¬« «ñ¡«¿¼Ñ¡¡ÙÕ «íÛѬԫó,

¿¼Ñ¯Ú¿Õ ó «íÚѼ ß½ÒþáÑ Óẽ¿þ¡ÙÑ º¡áþÑ¡¿´ ¿ «Ô¡«ß´Ú¿Ñß´ ¬ Óạټ

á¬Ô¿ó¡«ßÔ´¼ «ñ¡«ú« ¿ Ô«ú« ªÑ ¿½¿ «»´Ôý-Ôᬿ ÓạÙÕ «íÛѬԫó. é »Ó¿óÑñÑ¡¡«¼

»Ó¿¼ÑÓÑ ßÒÚÑßÔóÒ¯Ô ñóá «ñ¡«¿¼Ñ¡¡ÙÕ «íÛѬÔá: »ÑÓѼѡ¡á´ Ç, ßó´ºá¡¡á´

(áßß«µ¿¿Ó«óá¡¡á´) ß á¬Ô¿ó¡«ßÔý¯ W1, ¿ »ÑÓѼѡ¡á´ Ç, áßß«µ¿¿Ó«óá¡¡á´ ß

á¬Ô¿ó¡«ßÔý¯ «íÛѬÔá W2. é ß««ÔóÑÔßÔó¿¿ ß »Ó¿¡µ¿»«¼ ßÔѬá ß¿ßÔѼá Ò»páó½Ñ¡¿´

áóÔ«¼áÔ¿þÑ߬«® »á¼´Ôý¯ óßÑúñá páßß¼áÔp¿óáÑÔ ó ¬áþÑßÔóÑ á¬Ô¿ó¡«® »«ß½Ññ¡¯¯

ß«ºñá¡¡Ò¯ áßß«µ¿áµ¿¯ (ßá¼Ò¯ "í½¿ª¡¯¯" ¬ óÑÓÞ¿¡Ñ ßÔѬá áóÔ«¼áÔ¿þÑ߬«®

»á¼´Ô¿). 髺¡¿¬¡«óÑ¡¿Ñ ¼¡«ªÑßÔóÑ¡¡«ßÔ¿ áßß«µ¿áµ¿® «íÒß½«ó½Ñ¡« Ô«½ý¬«

¿ß»«½ýº«ó᡿Ѽ ó »Ó¿¬½áñ¡ÙÕ »Ó«úÓá¼¼áÕ «ñ¡«¿¼Ñ¡¡ÙÕ »ÑÓѼѡ¡ÙÕ ß Óẽ¿þ¡«®

«í½áßÔý¯ ñÑ®ßÔó¿´ («í½áßÔý¯ ó¿ñ¿¼«ßÔ¿). àß½¿ Òª ¿ß»«½ýº«óá¡¿Ñ ÔᬿÕ

»ÑÓѼѡ¡ÙÕ ¿ ´ó½´ÑÔß´ ¡Ñ«íÕ«ñ¿¼Ù¼ (ó þѼ óßÑúñá ßÔ«¿Ô Òß«¼¡¿Ôýß´), Ô« »Ó¿

¿Õ ¿¡ÔÑÓ»ÓÑÔᵿ¿ ß½ÑñÒÑÔ »«¼¡¿Ôý « ¼¡«ªÑßÔóÑ¡¡«ßÔ¿ áßß«µ¿áµ¿®.

Ñòðàíèöû: 1, 2


© 2010 ÁÈÁËÈÎÒÅÊÀ ÐÅÔÅÐÀÒÛ