.


:




:

































 

 

 

 


.




 

- INPUT ; OUTPUT . . , , , , , .

, , , .

 

r s, r ◦ s, <x, z>, , , <x, y> Î r <y, z> Î s. set- :

r ◦ s = {<x, z>,: , <x, y> Î r, <y, z> Î s}

, y, . .

t = {<<x, z>, y>: <x, y> Î r, <y, z> Î s }

<x, z> y t, y , , r ◦ s t.

r ◦ s = domain(t)

 

, box- . Box- , , .

 

box- . , .

, , .

box- ( ), , , , .

 

, . r x, (value-):

r ◦ s = {<x, z>,: , y=r(x), <y, z> Î s}

s y

r ◦ s = {<x, z>,: , y=r(x), z=s(y)}

y

r ◦ s = {<x, s(r(x))>: r x. s r(x) }

, y, . r s , x.

, .

Value- . (f ◦ g)(x) y=f(x), g(y)

 

, ,

PROGRAM Any (INPUT, OUTPUT) ◦.

L.

y = PROGRAM Any (INPUT, OUTPUT) (L)

.(y)

, PROGRAM Any (INPUT, OUTPUT) ◦.(L)=.(y),

y = PROGRAM Any (INPUT, OUTPUT) (L)

 

,eltn:

y= {INPUT <, u, R>, OUTPUT <, , W>},

.(y)= <>

u, L. OUTPUT , , L.

 

, .. r, s, t

(r ◦ s) ◦ t = r ◦ (s ◦ t)

(r ◦ s) ◦ t = {<x,u>: z, <x, z> Î (r ◦ s), <x, u> Î t}

= {<x, u>: z, y <x, y> Î r, <y, z> Î s, <z, u> Î t }

= {<x, u>: y <x, y> Î r, <y, u> Î (s◦ t}

= r◦ (s ◦ t)

 

, .

 

. , (identity function I) , .. s:

domain(s) Í domain(I), s ◦ I = I ◦ s = s

s ◦ {} = {} ◦ s = s

 

, , .. r s ,

r ◦ s = I

I domain(r)

 

r, rT , r, .:

rT= {<x, y>: <y, x> Î r}

, . :

 

r , r.

 

, , r , , ,

r ◦ rT = {<x, z>: y, <x, y> Î r, <y, z> Î rT}

= {<x, z>: y, <y, x> Î rT, <y, z> Î rT}

rT , , , , x z y .

r ◦ rT = {<x, x>: y, <x, y> Î r, <y, x> Î rT}

= {<x, x>: y, <x, y> Î r }

= I, domain(r)

rT r.

 

.

 

, CFPascal. . : , BEGIN .

 

, . , . , . CHAR, TEXT PROCEDURE.

 

, . , , .

N CHAR :

VAR N: CHAR = {<s, t>: t = s È {<N, x>} x}

N <> VAR N: CHAR :

V = VAR & N & CHAR

? N:

VAR N: CHAR = {<s, t>: t = s È {<N,?>} }

, N. , s VAR N: CHAR, s :

s È {ChA},

s È {ChB},

.

 

VAR N: CHAR , VAR N: CHART , :

<s È {NA}, s>

<s È {NB}, s>

.

 

. N , :

VAR N: TEXT = {<s, t>: t = s È {N<x, y, z>} x, y z Î {R,W}}

3- <?,?,?> .

, . , 3-.

:

VAR h1, Ch2: CHAR = VAR h1: CHAR ◦ VAR Ch2: CHAR

= {<s, t>: t = s È {Ch1?} È {Ch2?}}

,

<s, s È {Ch1C} È {Ch2F}>

.

 

,

x = {INPUT <, , R>, OUTPUT <, , W>}

VAR h: CHAR, x

{INPUT <, , R>, OUTPUT <, , W>} È {Ch}

c. :

VAR h: CHAR ({INPUT <, , R>, OUTPUT <, , W>})

= { INPUT <, , R>, OUTPUT <, , W>, Ch?}

 

, , . , <> . - , . .

 

N T, :

PROCEDURE N; T = {<s, t>: t = s È {<N, T>}}

 

, . , , .

 

, . , , . , .

 

.

 

, BEGIN. BEGIN

BEGIN

END

, I.

BEGIN END = I

 

, - BEGIN, . , VAR , VAR T .

VAR

Ch: CHAR;

BEGIN

END

:

 

VAR Ch: CHAR; BEGIN END = VAR Ch: CHAR ◦ BEGIN END ◦ VAR Ch: CHAR T

, , Ch? , , Ch . :

{INPUT <, Ñ /, R>, OUTPUT <, , W>}

:

(VAR Ch: CHAR ◦ BEGIN END ◦ VAR Ch: CHAR T )

({INPUT <, Ñ /, R>, OUTPUT <, , W>})

= (BEGIN END ◦ VAR Ch: CHAR T )

({INPUT <, Ñ /, R>, OUTPUT <, , W>, Ch?})

= (VAR Ch: CHAR T ) ({INPUT <, Ñ /, R>, OUTPUT <, , W>, Ch?})

= {INPUT <, Ñ /, R>, OUTPUT <, , W>}

 

, VAR Ch: CHAR

<s, s È {Chc}>, c

Ch? .

BEGIN END , VAR Ch: CHAR T Ch?

 

. , BEGIN. F, BEGIN B,

F; B = F ◦ B ◦ F T

:

 

VAR ; PROCEDURE ; BEGIN END

= VAR ; ◦ PROCEDURE ; BEGIN END ◦ VAR ; T

= VAR ; ◦ PROCEDURE ; ◦ BEGIN END ◦ VAR ; T

 

. , , .

 

CF Pascal, , .

 

PROGRAM CopyChar (INPUT, OUTPUT);

VAR

Ch: CHAR;

BEGIN

READ(Ch);

WRITELN(Ch)

END.

 

Q 1- <ABC>

Q (<ABC>) = PROGRAM END. (<ABC>)

= PROGRAM ◦ VAR END ◦. (<ABC>) (1)

= VAR END ◦. ({INPUT <, ABC/, R>, OUTPUT <, , W>}) (2)

= VAR ◦ BEGIN END ◦ VAR T ◦.

({INPUT <, ABC/, R>, OUTPUT <, , W>}) (3)

= BEGIN END ◦ VAR T ◦.

({INPUT <, ABC/, R>, OUTPUT <, , W>, Ch?}) (4)

= VAR T ◦.({INPUT <A, BC/, R>, OUTPUT <A/, , W>, ChA}) (5)

=.({INPUT <A, BC/, R>, OUTPUT <A/, , W> }) (6)

= <A>

 

(1) Q . (2) . (3) , BEGIN . (4) . (5) BEGIN. (6) . (7) .

 

 

.

 

BEGIN

 






:


: 2017-03-12; !; : 733 |


:

:

, .
==> ...

1741 - | 1570 -


© 2015-2024 lektsii.org - -

: 0.06 .