.


:




:

































 

 

 

 


.




 

CF Pascal, : , , BEGIN, WRITE, READ .

: .

 

IF WHILE, . CF Pascal , , . Box- .

 

.

 

. , .

Box- , . , . :

Ch1:= Ch2;

, , . , .

, Ch2B, Ch2 B. , W, CHAR, W s W(s).

W = {<s, s(W)>}

:

Ch ({INPUT <, , R>, OUTPUT <, , W>,ChF, V1C})

= {INPUT <, , R>, OUTPUT <, , W>,ChF, V1C}(Ch)

= F

 

, . , , .

A (s) = A

B (s) = B

..

 

V E :

V:= E = {<s, t>: t = (s {<V, c >: c - }) È {<V, E (s)>}}

V , .

 

V1 V2 , A, :

 

V1:= V2 ={<s, t>: t = t s V1 (t) = V2(s)}

V1:= A ={<s, t>: t = t s V1 (t) = A}

 

:

V1:= B ({V1A, }) = {V1B, }

V2:= V1 ({V1A, V2B,}) = {V1A, V2A, }

V1:= V2 ({V1?, V2A,}) = {V1A, V2A, }

V1:= V2 ({V1A, V2?,}) = {V1?, V2?, }

 

.

 

 

.

 

, . I. :

= I = {<s, s>}

 

BEGIN

 

BEGIN , . ,

BEGIN

END

.

 

BEGIN . S , T , ..

BEGIN S END = S

BEGIN S; T END = S ◦ BEGIN T END

 

:

BEGIN V1:= V2; V2:= V3 END

= V1:= V2 ◦ BEGIN V2:= V3 END

BEGIN V1:= V2; V2:= V3; V3:= V4 END

= V1:= V2 ◦ BEGIN V2:= V3; V3:= V4 END

= V1:= V2 ◦ V2:= V3 ◦ V3:= V4

 

BEGIN . :

BEGIN V1:= A; V2:= B END ({V1H, V2K,})

= V1:= A ◦ V2:= B ({V1H, V2K,}) (1)

= V2:= B (V1:= A({V1H, V2K,})) (2)

= V2:= B ({V1A, V2K,})) (3)

= {V1A, V2B,} (4)

 

1 BEGIN . 2 . 3 , 4 .

 

BEGIN . :

BEGIN V1:= A; V1:= B END ({V1H, V2K,})

= V1:= A ◦ V1:= B ({V1H, V2K,})

= V1:= B ({V1A, V2K,}))

= {V1B, V2K,}

 

V1, V2 V2, V3 :

 

BEGIN V1:= V2; V2:= V3; V3:= V1 END ({V1X, V2Y, V3Z, })

= V1:= V2 ◦ V2:= V3 ◦ V3:= V1 ({V1X, V2Y, V3Z, })

= V2:= V3 ◦ V3:= V1 ({V1Y, V2Y, V3Z, })

= V3:= V1 ({V1Y, V2Z, V3Z, })

= {V1Y, V2Z, V3Y, }

 

WRITE.

 

3- READ WRITE 5.2.2. .

f , c .

 

REWRITE(f) = {<s, t>: t = (s {<f, u>: u 3-}) È {<f, <, , W>>}}

WRITE(f, e) = {<s, t>: s(f) =< x, , W>, x ,

t = (s {<f, u>: u 3-}) È {<f, <xÑe(s), , W>>} }

WRITELN(f) = {<s, t>: s(f) =< x, , W>, x ,

t = (s {<f, u>: u 3-}) È {<f, <xÑ /, , W>>} }

 

, OUTPUT WRITE WRITELN. :

 

WRITELN = {<s, t>: s(OUTPUT) =< x, , W>, x ,

t = (s {<OUTPUT, u>: u 3-}) È {<OUTPUT, <xÑ /, , W>>} }

 

:

REWRITE(F1) ({F1<AXB, , W>, }) = {F1<, , W>, }

WRITE(F1, Ch) ({F1<AB, , W>, ChC,}) = {F1<ABC, , W>, ChC,}

WRITELN ({OUTPUT<Line1, , W>, }) = {OUTPUT<Line1/, , W>, }

WRITE, , :

WRITE(Ch, A) = WRITE(Ch) ◦ WRITE(A)

WRITE(AB) = WRITE(A) ◦ WRITE(B)

WRITELN(F1, Ch) = WRITE(F1, Ch) ◦ WRITELN(F1)

 

 

PROGRAM WriteHello (INPUT, OUTPUT);

VAR

LetterL: CHAR;

BEGIN

LetterL:= L;

WRITELN(H, E, LetterL, LetterL, O)

END.

 

1- <ABC>

 

PROGRAM WriteHello END. (<ABC>)

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

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

= VAR ◦ BEGIN END. ◦ VAR T ◦.

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

= BEGIN END. ◦ VAR T ◦.

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

= (LetterL:= L ◦ WRITELN(H, E, LetterL, LetterL, O) ◦ VAR T ◦.)({INPUT <, ABC/, R>, OUTPUT <, , W>, Letter?})

= WRITELN(H, E, LetterL, LetterL, O) ◦ VAR T ◦.)

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

= (VAR T ◦.)({INPUT <, ABC/, R>, OUTPUT <HELLO, , W>, LetterL})

= (.)({INPUT <, ABC/, R>, OUTPUT <HELLO, , W>})

= <HELLO>

 

,

 

PROGRAM WriteHello END. (<ABC>)= <HELLO>

 

READ

 

, READ, 5.2.2 . f , c , :

 

RESET(f) = {<s, t>: s(f) = <x, y, R>, x y ,

t = (s {<f, u>: u 3-}) È {<f, <, x&y, R>>}}

READ(f, c) = {<s, t>: s(f) = <x, y, R>, x y , y ¹

t = ((s {<f, u>: u 3-}) {<c, v>: v })

È {<f, <xÑ(Θ y), Λ y, R>>}

È {<c, Θ y >: Θ y ¹ /} È {<c, □>: Θ y = /}}

READLN(f) = {<s, t>: s(f) = <x, y, R>, x y , y ¹

y = (j Ñ / & k, / j,

t = (s {<f, u>: u 3-}) È {<f, <x & (j Ñ /), k, R>>}}

, INPUT READ READLN. :

READ(c) = {<s, t>: s(INPUT) = <x, y, R>, x y , y ¹

t = ((s {<INPUT, u>: u 3-}) {<c, v>: v })

È {<INPUT, <xÑ(Θ y), Λ y, R>>}

È {<c, Θ y >: Θ y ¹ /} È {<c, □>: Θ y = /}}

:

RESET(F1) ({F1<AB,CD/,R>,}) = {F1<ABCD/,, R>, }

READ(F1, Ch) ({F1<AB,CD/,R>, ChQ,}) = {F1<ABC, D/,R>, ChC,}

READLN ({INPUT<AB,CD/,R>,}) = {INPUT<ABCD/, ,R>,}

 

READ :

 

READ (Ch1, Ch2) = READ (Ch1) ◦ READ (Ch2)

READLN(Ch) = READ (Ch) ◦ READLN

 

:

 

PROGRAM Change2 (INPUT, OUTPUT);

VAR

C2:CHAR;

BEGIN

READ(C2);

WRITE(C2);

READ(C2);

WRITELN(2);

END.

 

PROGRAM Change2 END. (<ABC>) , WriteHello .

 

PROGRAM Change2 END. (<ABC>) =

(PROGRAM Change2 ◦ VAR ◦ BEGIN END ◦ VAR T ◦.) (<ABC>)

 

= (BEGIN END ◦ VAR T ◦.)

({INPUT<, ABC/, R>, OUTPUT<, , W>, C2?)

= (READ(C2) ◦ WRITE(C2) ◦ READ(C2) ◦ WRITELN(2) ◦ VAR T ◦.)

({INPUT<, ABC/, R>, OUTPUT<, , W>, C2?)

= (WRITE(C2) ◦ READ(C2) ◦ WRITELN(2) ◦ VAR T ◦.)

({INPUT<A, BC/, R>, OUTPUT<, , W>, C2A)

= (READ(C2) ◦ WRITELN(2) ◦ VAR T ◦.)

({INPUT<A, BC/, R>, OUTPUT<A, , W>, C2A)

= (WRITELN(2) ◦ VAR T ◦.)

({INPUT<AB, C/, R>, OUTPUT<A, , W>, C2B)

= (VAR T ◦.) ({INPUT<AB, C/, R>, OUTPUT<A2, , W>, C2B)

=. ({INPUT<AB, C/, R>, OUTPUT<A2, , W>)

= <A2>

 

, PROGRAM Change2 END. (<ABC>) = <A2>

 

.

 

. . , . :

 

PROGRAM SimpleProc (INPUT, OUTPUT);

PROCEDURE Demo;

BEGIN

WRITELN(Invoked);

END;

BEGIN

Demo;

END.

 

<Demo, BEGIN WRITELN(Invoked) END> . :

Demo = BEGIN WRITELN(Invoked) END

 

. N , :

 

N = {s, s(N)(s)}

 





:


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


:

:

.
==> ...

1754 - | 1579 -


© 2015-2024 lektsii.org - -

: 0.045 .