. , , ,

,,,

,

ߠ

220400

-

, 1995

" ". -

-

-

.

-

-

, -

,

(.1). ,

, -

19.201-78.

1

┌───┬───────────────────────┬────────────────────────────────────────┐

│ │ .. │ │

├───┼───────────────────────┼───┬────────────────────────────────────┤

│ 1 │ - │ 1 │ │

│ │ - │ │ ࠠ │

│ │ ├───┼────────────────────────────────────┤

│ │ │ 2 │ │

│ │ │ │ │

│ │ ├───┼────────────────────────────────────┤

│ │ │ 3 │ ࠠ │

│ │ │ │ │

├───┼───────────────────────┼───┼────────────────────────────────────┤

│ 2 │ ࠠ │ 1 │ │

│ │ │ │ │

├───┼───────────────────────┼───┼────────────────────────────────────┤

│ 3 │ │ 1 │ -│

│ │ - │ │ │

│ │堠 │ │ │

├───┼───────────────────────┼───┼────────────────────────────────────┤

│ 4 │ -│ 1 │ │

│ │ ├───┼────────────────────────────────────┤

│ │ │ 2 │ │

├───┼───────────────────────┼───┼────────────────────────────────────┤

│ 5 │堠 │ 1 │ 頠 │

│ │ ├───┼────────────────────────────────────┤

│ │ │ 2 │ │

├───┼───────────────────────┼───┼────────────────────────────────────┤

│ 6 │ │ 1 │ │

│ │ - ├───┼────────────────────────────────────┤

│ │ │ 2 │ │

├───┼───────────────────────┼───┼────────────────────────────────────┤

│ 7 │ - │ 1 │ │

│ │ ├───┼────────────────────────────────────┤

│ │ │ 2 │ │

├───┼───────────────────────┼───┼────────────────────────────────────┤

│ 8 │ │ 1 │ 堠 │

│ │蠠 ├───┼────────────────────────────────────┤

│ │ │ 2 │ 頠 │

│ │ ├───┼────────────────────────────────────┤

│ │ │ 3 │  │

│ │ ├───┼────────────────────────────────────┤

│ │ │ 4 │ │

└───┴───────────────────────┴───┴────────────────────────────────────┘

5 .

1.

-

, , -

, :

- ( 19.201-78);

- ;

- ( 19.301-79),

:

- ( 19.401-78);

- ( 19.404-78);

- ( 19.404-79);

- ( 19.502-78);

- ( 19.503-79);

- ( 19.504-79);

- ( 19.505-79),

.

2

┌─────────────────────────────────────────┬──────────────────────────┐

│ │ 蠠 │

├─────────────────────────────────────────┼──────────────────────────┤

│ 򠠠 │ 15-17 II │

├─────────────────────────────────────────┼──────────────────────────┤

│ 蠠 │ 4 III │

│ 頠 │ │

├─────────────────────────────────────────┼──────────────────────────┤

│ │ 12-14 III │

├─────────────────────────────────────────┼──────────────────────────┤

│ │ 15-17 III │

└─────────────────────────────────────────┴──────────────────────────┘

2.

19.102-77 " "

:

; ; -

;

; ; -

.

,

, ,

, [1].

3.

-

,

"". -

[1].

, , -

-

() [2]. [1] .

1

,

,

.   蠠 ,

蠠  , 

, .

. ,

,

- :

<>..................:=< >

< >.........:=< >

:=<頠 ><ꠠ

>

<>..................:=< >

<>.................:=<>

:=< >

<>...................:=< >

< >.........:=< >

< >............:=< ,

⠠ 젠 堠 ࠠ

>

< >..:=< >

< >:=< >

[3]:

- .

;

- .

,

;

- . ,

;

- .

;

- .

;

- .

蠠 蠠 蠠 蠠

.

堠 砠 頠

.

.

. (x,y)

(x,y,1).

, -

, () -

. , -

(

).

()

[4]:

- (tx,ty);

- al;

- (ex,ey),

- .

┌────────────────────────────────────────────────────────────────────┐

│ │

│ │ 1 0 0 │ │ cos(al) sin(al) 0 │ │

│ M(T) = │ 0 1 0 │ M(R(al)) = │-sin(al) cos(al) 0 │ │

│ │ tx ty 1 │ │ 0 0 1 │ │

│ │

│ │

│ │ ex 0 0 │ │-1 0 0 │ │ 1 0 0 ││

│ M(E) = │ 0 ey 0 │ M(S(x)) = │ 0 1 0 │ M(S(y)) = │ 0 -1 0 ││

│ │ 0 0 1 │ │ 0 0 1 │ │ 0 0 1 ││

│ │

└────────────────────────────────────────────────────────────────────┘

P(x,y,1) P'(x',y',1)

- M

│ a b c │

P' = P*M = │ x y 1 │ * │ d e f │ = │(ax+dy+g) (bx+ey+h) (cx+fy+i)│,

│ g h i │

(ax+dy+g) (bx+ey+h) x'

y' P'.

, -

al A (xa,ya).

:

- (-xa,-ya)

;

- al ;

- (xa,ya).

│ 1 0 0 │ │ cos(al) sin(al) 0 │ │ 1 0 0 │

M = │ 0 1 0 │ * │-sin(al) cos(al) 0 │ * │ 0 1 0 │

│-xa -ya 1 │ │ 0 0 1 │ │ xa ya 1 │

, ,

 ,

.

,

.

ࠠ ⠠ 堠

( 4).

, ,

.

, -

.

- (

).

- -

.

1.

-

.

2.

, , -

.

3.

3.1.

3.1.1.

, "".

3.1.2., ,

.

3.1.3. .

3.1.4.ࠠ ࠠ 堠

: , , , ,

, , , , , ,

, .

, ,

.

.

.

3.1.5. :

- :

- ;

- :

- ;

- ;

- ():

- ;

- ;

- ;

- ;

- .

3.1.6.

.

3.1.7.

⠠ 堠

.

3.1.8.

:

...

...

3.1.9.

.

...

...

3.1.10. 堠 頠

䠠  ⠠

頠 , 頠 

.

3.2.

3.2.1.ࠠ ࠠ 堠

.

3.2.2.

.

. . .

3.4.

3.4.1.

IBM PC-386 

:

- 1 Mb;

- SVGA;

- "".

3.4.2.

MS-DOS 5.0.

3.5.

3.5.1.堠 蠠 

.

2

()

, -

.

, , .. -

,

-

, ( ,

, , -

..).

, 蠠 頠 堠 堠

( ).

-

[4,5]:

- ,

;

- ,

;

- , , ,

.

-

, , .

-

. ( )

. -

, ( ) ,

.

-

( 4) -

.

,

, ⠠

 堠

.

, ,

,

.

- (

).

-

.

1.

-

.

2.

-

, , -

.

3.

3.1.

3.1.1.

, "".

3.1.2., ,

.

3.1.3. ࠠ 堠

,

.

3.1.4. ࠠ ,  ,

.

3.1.5.

.

3.1.6.

⠠ 堠

.

3.1.7.

:

...

...

3.1.8. ⠠ 堠

.

3.1.9.

.

3.2.

3.2.1.ࠠ ࠠ 堠

.

3.2.2.

.

. . .

3.4.

3.4.1.

IBM PC-386 

:

- 1 Mb;

- SVGA;

- "".

3.4.2.

MS-DOS 5.0.

3.5.

3.5.1.堠 頠 蠠 

.

3

, ,

6 , 堠 蠠 .,

.

.

.

, 頠

. .

, .

.

, ,

.

 ,

[6].

( 4).

. ,

, .

.

 ࠠ

.

,

, ,

.

-

( ).

-

.

1.

-

.

2.

, ,

.

3.

3.1.

3.1.1.

, "".

3.1.2., ,

.

3.1.3. 堠

砠 堠 

.

3.1.4.

.

3.1.5.

.

3.1.6.

⠠ 堠

.

3.1.7.

:

...

...

3.1.8. ⠠

.

3.1.9.

, 頠 

.

3.1.10. .

3.2.

3.2.1.ࠠ ࠠ 堠

.

3.2.2.

.

. . .

3.4.

3.4.1.

IBM PC-386 

:

- 1 Mb;

- SVGA;

- "".

3.4.2.

MS-DOS 5.0.

3.5.

3.5.1.堠 頠 蠠 

.

4

(.):

- ;

- ;

- ;

- ;

- ;

:

- ;

- ;

- ;

- .

:

- ;

- ( ;

).

:

- ;

- (⠠ ⠠ ;

ࠠ ⠠

;

, ).

⠠ 젠

.

(x,y).

┌─────────────────────┐

┌────────────────────┤ │

│ ├─────────────────────┤

│ │ ├─────────────────────────┐

│ ├─────────────────────┤ │

│ ┌──────────────────┤ │ │

│ │ ├─────────────────────┤ │

│ │ │ ├──────────────────────┐ │

│ │ └─────────────────────┘ │ │

│ │ ┌────────┬───────────┐ │ │

│ │ │- │ 蠠 │ ɠ │ │

│ │ ││ │ │ │

│ │ └────────┴───────────┘ │ │

│ │ ┌────────┬─┬─┬─┬─┬─┬─┐ │ │

│ │ │ │ │ │ │ │ │ │ │ │

│ │ │ │ │ │ │ │ │ │ │ │

└─┼──│ ││││ │ │ │ │ │

│ │ │││││││ │ │ │ │ │

│ │ │││││││ │ │ │ │ │

│ │ │││││││ │ │ │ │ │

│ │ │││││││ │ │ │ │ │

│ └────────┴│┴│┴│┴─┴─┴─┘ ┌────────┬───────────┐ │ │

│ │ │ │ │- │ 蠠 │ │ │

│ │ │ │ │ │ 𠠠 │ │ │

│ │ │ │ └────────┴───────────┘ │ │

│ │ │ │ ┌────────┬─┬─┬─┬─┬─┬─┐ │ │

│ └─┼─┼──────────────────│ │ │ │ │ │ │ │ │ │

│ │ │ │ │ │ │ │ │ │ │ │ │

│ │ └──────────────────│ │││││ │ │───┼──┘

│ │ │ │││││││││ │ │ │

│ │ │ │││││││││ │ │ │

│ └────────────────────│ │││││││││ │ │ │

│ │ │││││││││ │ │ │

│ ┌─────────┬──────────┐ └────────┴│┴│┴│┴│┴─┴─┘ │

│ │ │ │ Р │ │ │ │ │

│ └─────────┴──────────┘ │ │ │ │ │

│ ┌─────────┬──────────┐ │ │ │ │ │

│ │ │ │─────────────────────┼─┘ │ │ │

│ │ │ │─────────────────────┼───┼─┘ │

└──│ │ │ │ │ │

│ │ │ │ │─────────────────────┼───┘ │

│ │ │ │ │─────────────────────┘ │

│ │ │ │ │ │

│ │ │ │ │ │

└────┼────┴────┼─────┘ │

│ │ ┌─────────┬──────────┐ │

│ │ │ X │ Y │ │

│ │ └─────────┴──────────┘ │

│ │ ┌─────────┬──────────┐ │

│ │ │ │ │ │

│ └─────────────────│ │ │ │

│ │ │ │ │

└───────────────────────────│ │ │───┘

│ │ │

│ │ │

│ │ │

│ │ │

└─────────┴──────────┘

5

,

-

. ,

. -

, .

-

, , ,

.

: , -

-

.

, , .

. -, ࠠ

, -

. -, -

, -

. .

. -

,

, . -

(1)

, (2)

(3) .

. -

ASCII ,

,

. .

.

.

, ,

. -

:

1. . , -

, , -

, , , -

(" ..") . , -

,

.

2. . -

, -

. ,

. : ) -

-

- , ; ) -

; ) -

; ) -

help (" "),

.

6

-

. -

, -

.

70 ,

, 60 .

.

-

. , , ,

. -

.

. -

,

, . -

,

. . -

-

, -

. -

, . -

.

1. .

220400. .

2. .- .: - ,

1985.- 128 .

3. ., . -

.- .: , 1987.- 272 .

4. : 2- . .1.- .: , 1988.- 204 .

.2..: , 1989.- 264 .

5. .., .., ..

..: -, 1993.- 138 .

6. . .- .: , 1988.-

213 .

................................................. 3

1. ................................. 4

2. ............................................ 4

3. .............................................. 4

1. ........... 5

2. ....... 9

3.

...........................................11

4. ..13

5. ...............15

6. ................16

......................................................17

ߠ

:

:


1.

1.1.

-

. .

: -

" ". -

,

.

, .

-

: -

, , -

; -

.

, -

. -

, .

┌────────────────────────────────────────────────────────────────────┐

│ │

│┌────────────┐ ┌────────────────┐ ┌────────────┐│

││ 䠠 │ │ │. │ 䠠 ││

││ │═════════│ │═══════════│ ││

││ ││ 蠠 │ │ ││

│└────────────┘ └────────────────┘ └────────────┘│

│ ║ │

│ ║ │

│ ══════════════╝ │

│ │

└────────────────────────────────────────────────────────────────────┘

.1.1. ,

.

.1.1, -

.

┌────────────────────────────────────────────────────────────────────┐

│ │

│ ════════════════════╗ │

│ ║ │

│ ║ │

│ │

│ ┌───────────┐ │

│ │ │ │

│ ════════════════════│ │════════════════════ │

│ │ │ │

│ └───────────┘ │

│ │

└────────────────────────────────────────────────────────────────────┘

.1.2.

,

,

, .

┌────────────────────────────────────────────────────────────────────┐

│ 䠠 │

│ ╔═══════════════ │

│ ║ 蠠 │

│ │

│┌────────────┐ ┌────────────┐│

││ │ 堠 │ ││

││ │══════════════════╗ ╔═══│ ││

││ │ 蠠 ║ ║ │ ││

│└────────────┘ ║ ║ └────────────┘│

│ ╔════════════╝ ║ │

│ ║ ╚═════╗ │

│ ║ ┌─────────────────┐ ║ │

│ ║ │ │ 䠠 ║ │

│ ╚══│ │═════════════╝ │

│ │ │ 蠠 │

│ └─────────────────┘ │

│ │

└────────────────────────────────────────────────────────────────────┘

.1.3. ࠠ ,

.

.1.3 .

┌────────────────────────────────────────────────────────────────────┐

│ │

│ ═════════════════╗ │

│ ║ │

│ │

│ ┌──────────┐ │

│ │ │ │

│ ════════════════│ │═══════════════ │

│ ࠠ │ │ ࠠ │

│ └──────────┘ │

│ ‑ │

│ ║ │

│ ═════════════════╝ │

│ │

└────────────────────────────────────────────────────────────────────┘

.1.4. .

-

. .

,

-

. ,

: -

.

, ,

-

, . ,

.

, . -

.

-

. , -

, , -

.

. , -

, ,

.

-

, , -

, . -

, -

, -

, -

. - , -

, .

-

. ( )

,

. ( -

) , -

, -

.

-

.

1. ,

.

2. , -

.

,

. ,

-

.

. " " -

.

-

: , -

.  

,

.

-

.

,

. -

-

.

-

, . -

,

, , . , (-

) .

-

.

, -

.

-

- .

1.2.

-

,

.

. ,

-

.

"" -

.

. -

.

.

, -

.

-

, , -

. -

-

.

.

, , -

- . -

. ,

,

.

-

. -

.

,

. , , -

. , -

, .

-

requires (), modifies () effects ().

, -

requires modifies .

┌──────────────────────────────────────────────────────────────────┐

│ pname = proc( ) returns ( ) │

│ requires - │

│ modifies - │

│ 堠 │

│ effects - 蠠 │

└──────────────────────────────────────────────────────────────────┘

.1.5. .

requires , -

. requires , -

, -

. , -

, requires

. , -

, ,

, .

modifies , -

. , -

.

effects ,

requires.

, ,

modifies. effects -

, requires .

, requires ,

.

.1.6 . -

sort search , clear - -

, modifies .

sort clear ,

requires. search ;

,

. effects -

.

.1.6 sort

. -

, - -

, , , -

. -

, .

┌──────────────────────────────────────────────────────────────────┐

│ sort = proc(a:array of int) returns (b:array of int) │

│ effects - , │

│ a, a, │

│ │

└──────────────────────────────────────────────────────────────────┘

┌──────────────────────────────────────────────────────────────────┐

│ clear = proc(a:array of int) │

│ modifies - a │

│ effects - a │

└──────────────────────────────────────────────────────────────────┘

┌──────────────────────────────────────────────────────────────────┐

│ search= proc(a:array of int;x:int) returns (i:int) │

│ requires - a │

│ effects - x a, -│

│ i, , a[i]=x; - │

│ - i -│

│ a │

└──────────────────────────────────────────────────────────────────┘

.1.6. .

. , -

, , , -

.

.

requires.

.1.7. -

┌──────────────────────────────────────────────────────────────────┐

│ sort = proc[t:type](a:array [t]) returns (array [t]) │

│ requires - t │

│ lt:proctype(t,t) returns(bool), │

│ t │

│ modifies - a │

│ effects - , │

│ a, a, │

│ │

└──────────────────────────────────────────────────────────────────┘

┌──────────────────────────────────────────────────────────────────┐

│ search= proc[t:type](a:array [t];x:t) returns (int) │

│ requires - t 蠠 │

│ equal,lt:proctype(t,t) returns (bool), │

│ , t equal, ࠠ │

│ a lt │

│ effects - x a, -│

│ i, , a[i]=x; - │

│ - i -│

│ a │

└──────────────────────────────────────────────────────────────────┘

.1.7. .

, ,

. requires

, . -

, requires . , -

sort , t lt, -

t. search , -

lt, equal. (lt - , equal -

).

-

, -

. -

requires ().

, , .

1.3.

-

. , , -

(, , , , ,

..). , -

,

. .

-

.

.

-

, . -

, . -

. , ,

, - -

.

. -

, , .

-

: ()

, . -

. -

, , -

, . ,

.

, -

.

, -

.

- -

. -

.

. -

, .

.

, -

. -

, .

, -

. -

. ,

,

. , -

, -

.

┌─────────────────────────────────────────────────────────┐

│ dname = data type is 頠 │

│ 堠 │

│ │

│ 蠠 │

│ 頠 │

│ end dname │

└─────────────────────────────────────────────────────────┘

.1.8. .

. -

,

- , ,

. , -

.  

, .

.

- , -

. ,

.

intset. -

intset -

, , -

intset .

┌──────────────────────────────────────────────────────────────────┐

│intset = data type is create, insert, delete, member, size, choose│

│ │

│堠 │

│ │

│ intset - 堠 │

│ . : 蠠 │

│ insert delete . │

│ │

│蠠 │

│ │

│ create = proc () returns (intset) │

│ effects , intset │

│ │

│ insert = proc (s: intset, x:int) │

│ modifies s │

│ effects x s; - │

│ 򠠠 │

│ │

│ delete = proc (s: intset, x:int) │

│ modifies s │

│ effects x s │

│ │

│ member = proc (s:intset, x:int) returns (bool) │

│ effects true, x s │

│ │

│ size = proc (s: intset) returns (int) │

│ effects s │

│ │

│ choose = proc (s: intset) returns (int) │

│ requires s 򠠠 │

│ effects s │

│ │

│end intset │

└──────────────────────────────────────────────────────────────────┘

.1.9. intset.

.1.10 poly.

poly - . -

, , -

,

.

┌──────────────────────────────────────────────────────────────────┐

│poly = data type is create,degree,coef,add,mul,sub,minus,equal │

│ │

│堠 │

│ │

│ poly - │

│ │

│蠠 │

│ │

│ create = proc (c,n:int) returns (poly) │

│ requires n>=0 n │

│ effects cx. , │

│ poly.create(0,0) = 0 │

│ poly.create(3,0) = 3 3 │

│ poly.create(6,3) = 6x │

│ │

│ degree = proc (p: poly) returns(int) │

│ effects p, .. │

│ . │

│ 0. , 2 │

│ poly.degree(17) = 0 poly.degree(x +1) = 2 │

│ │

│ coef = proc (p: poly, n:int) returns (int) │

│ requires n>=0 │

│ effects p n. -│

│ 0, n p. , │

│ 3 │

│ poly.coef(x +2x+1,4) = 0 │

│ 3 │

│ poly.coef(x +2x+1,1) = 2 │

│ │

│ add = proc (p,q: poly) returns (poly) │

│ effects , p │

│ q │

│ │

│ mul = proc (p,q: poly) returns (poly) │

│ effects , -│

│ p q │

│ │

│ sub = proc (p,q: poly) returns (poly) │

│ effects , │

│ p q │

│ │

│ minus = proc (p: poly) returns (poly) │

│ effects , │

│ z p, z - 젠 │

│ │

│ equal = proc (p,q: poly) returns (bool) │

│ effects true, p q │

│ , │

│ false - 堠 │

│ │

│end poly │

└──────────────────────────────────────────────────────────────────┘

.1.10. .

- , . -

, set, -

. ,

. set

, -

, . , -

set, .1.11, ,

equal. .

┌──────────────────────────────────────────────────────────────────┐

│ set = data type [t:type] is create, insert, delete, member, size,│

│ choose │

│ │

│Requires t │

│ equal:proctype(t,t) returns(bool), │

│ t │

│ │

│堠 │

│ │

│ set - │

│ : insert delete -│

│ ࠠ │

│ │

│蠠 │

│ │

│ create = proc () returns (set [t]) │

│ effects , set │

│ │

│ insert = proc (s: set[t], x:t) │

│ modifies s │

│ effects x s; - │

│ 򠠠 │

│ │

│ delete = proc (s: set[t], x:t) │

│ modifies s │

│ effects x s │

│ │

│ member = proc (s: set[t], x:t) returns (bool) │

│ effects true, x s │

│ │

│ size = proc (s: set[t]) returns (int) │

│ effects s │

│ │

│ choose = proc (s: set[t]) returns (t) │

│ requires s 򠠠 │

│ effects s │

│ │

│end set │

└──────────────────────────────────────────────────────────────────┘

.1.11. .

set

poly. ,

pset = set[poly].

Poly set,

equal.

,

, ,

. -

. , -

,

,

.

┌──────────────────────────────────────────────────────────────────┐

│list = data type [t:type] is create,cons,first,rest,empty,equal │

│ │

│堠 │

│ │

│ - 蠠 │

│ t │

│ │

│蠠 │

│ │

│ create = proc () returns (list [t]) │

│ effects , ꠠ │

│ │

│ cons = proc (x: list[t], i:t) returns(list[t]) │

│ effects , i, │

│ - x │

│ │

│ first = proc (x: list[t]) returns(t) │

│ requires x - 򠠠 │

│ effects x │

│ │

│ rest = proc (x: list[t]) returns (list[t]) │

│ requires x - │

│ effects , x, -│

│  │

│ │

│ empty = proc (x: list[t]) returns (bool) │

│ effects true, x - , - │

│ false - 堠 │

│ │

│ equal = proc (x,y: list[t]) returns (bool) │

│ requires t │

│ equl:proctype(t,t) returns(bool), │

│ t │

│ effects true, x y -│

│ ( t.equal) │

│ │

│ │

│end list │

└──────────────────────────────────────────────────────────────────┘

.1.12.

.

, -

. , list[intset] - .

equal ,

requires t . ,

list[intset] , equal,

intset equal.

,

. - -

, -

lt equal. , -

.

┌──────────────────────────────────────────────────────────────────┐

│olist = data type [t:type] is create,addel,remel,is_in,empty,least│

│ │

│Requires - t 蠠 │

│ equal,lt:proctype(t,t) returns (bool), │

│ t │

│ │

│堠 │

│ │

│ olist - . │

│addel remel . │

│ ( t.equal). - │

│ least olist ( │

│t.lt) │

│ │

│蠠 │

│ │

│ create = proc () returns (olist [t]) │

│ effects , ꠠ │

│ │

│ addel = proc (s: olist[t], x:t) │

│ requires x s; .. is_in(s,x) │

│ false │

│ modifies s │

│ effects x s │

│ │

│ remel = proc (s: olist[t], x:t) │

│ requires x s; .. is_in(s,x) │

│ true │

│ modifies s │

│ effects x s │

│ │

│ is_in = proc (s: olist[t], x:t) returns (bool) │

│ effects true, s │

│ x ( t.equal), - │

│ false │

│ │

│ empty = proc (s: olist[t]) returns (bool) │

│ effects true, s - │

│ , false - 堠 │

│ │

│ least = proc (s: olist[t]) returns(t) │

│ requires , 蠠 │

│ empty(s) false │

│ effects e s, , s -│

│ , e( t.lt)│

│ │

│end olist │

└──────────────────────────────────────────────────────────────────┘

.1.13.

.

( ,

), .

. -

,

( , , ). ,

, - .

, , -

( ).

.

1) . -

, -

. ( create intset).

2).

. ( add mul - , cons

rest - ).

3). -

. ( insert delete - -

intset). , -

.

4).

.

. ( size,

member choose intset, coef, degree equal

).

, -

. , poly.create -

, intset.create .

. ,

poly.add ,

, intset.insert -

.

, -

. -

, ; , intset

copy, , ,

. -

; , remel olist

least remel -

.

, -

,

.

, ,

, -

. , intset -

create, insert delete, -

( -

). - size,

(, -

, , -

). -

.

. -

, ( -

), ( ).

, -

.

,

. , -

.

.

, -

, .

, ,

.

, .

, ,

. .

. -

,

, . , -

.

1), ,

.

2), , -

, , , -

.

3),

, , -

.

, (.1.13)

. -

intset . ,

, :

1) create,

create ;

2) addel(s,x). -

s , ,

x. , s

. , addel (

requires), x s. , s -

x ;

3) remel(s,x),

s ( ), remel s.

.

, -

. -

. -

.

1.4.

. -

, - .

,

. , choose -

, - -

. intset (.1.9)

choose, -

.

┌─────────────────────────────────────────────────────┐

│ choose = proc (s: intset) returns (int) │

│ requires s 򠠠 │

│ effects s │

└─────────────────────────────────────────────────────┘

, choose,

. .

- , -

. , ,

.

, , -

, .

, -

. -

, , -

- -

.

-

-

. . -

,

. .

, -

, .

-

-

.

,

, signals.

- . returns. -

, .

, effects -

, requires.

,

effects , -

. -

-

.

, choose -

:

┌──────────────────────────────────────────────────────────────────┐

│ choose = proc (s: intset) returns (int) signals (empty) │

│ effects size(s)=0, -│

│ empty, │

│ s. │

└──────────────────────────────────────────────────────────────────┘

-

, -

. -

,

. , , -

, ,

, .

-

.

, -

.

. -

. , ,

-

.

, -

, .

,

requires -

addel, remel least. -

(.1.14)

(.1.13).

┌──────────────────────────────────────────────────────────────────┐

│olist = data type [t:type] is create,addel,remel,is_in,empty,least│

│ │

│Requires - t 蠠 │

│ equal,lt:proctype(t,t) returns (bool), │

│ t │

│ │

│堠 │

│ │

│ olist - . │

│addel remel . │

│ ( t.equal). - │

│ least olist ( │

│t.lt) │

│ │

│蠠 │

│ │

│ create = proc () returns (olist [t]) │

│ effects , ꠠ │

│ │

│ addel = proc (s: olist[t], x:t) signals(dupl) │

│ modifies s │

│ effects x s, - │

│ dupl, x s │

│ │

│ remel = proc (s: olist[t], x:t) signals(not_in) │

│ modifies s │

│ effects x s, │

│ not_in, x s │

│ │

│ is_in = proc (s: olist[t], x:t) returns (bool) │

│ effects true, s │

│ x ( t.equal), - │

│ false │

│ │

│ empty = proc (s: olist[t]) returns (bool) │

│ effects true, s - │

│ , false - 堠 │

│ │

│ least = proc (s: olist[t]) returns(t) signals(empty) │

│ effects s , │

│ empty, e s, ,│

│ s , e( -│

│ t.lt) │

│ │

│end olist │

└──────────────────────────────────────────────────────────────────┘

.1.14.

.

, requires.

, -

, .

C -

.

modifies , ,

, . -

, -

- . -

effects.

, ; -

, , . , -

┌──────────────────────────────────────────────────────────────────┐

│ │

│ addel = proc (s: olist[t], x:t) signals(dupl) │

│ modifies s │

│ effects x s, - │

│ dupl, x s │

│ │

└──────────────────────────────────────────────────────────────────┘

, addel -

dupl, , s -

addel.

failure

, -

.

, requires. -

failure ,

.

failure

. -

, .

1.5.

-

,

. .

,

, .

, , -

. -

. , -

,

. , -

. -

.

, , , ,

.

, -

.

,

. -

. :

iname = iter( ) yields( )

signals ( )

iter -

.

.

yields. ,

, -

,

signals. ,

┌──────────────────────────────────────────────────────────────────┐

│ elements = iter (s: intset) yields (int) │

│ requires s ࠠ │

│ effects s - │

│ , . │

└──────────────────────────────────────────────────────────────────┘

intset.

elements . -

intset, , -

. , -

, (,

intset) (, -

choose).

, s -

, , .

, ,

.

, -

. -

,

. , -

.

, .

,

, , -

. -

,

.

, -

.

1.6.

, .

,

, .

-

, , -

, .

, ,

.

1.6.1.

1. , -

, -

, .

2.

failure.

,

.

┌───────────────────────────────────────────────────────────────────┐

│ procedure failure (s:error_msg) │

│ modifies │

│ effects │

│ : ". -: +S", │

│ │

└───────────────────────────────────────────────────────────────────┘

1.6.2.

, -

, , -

. ,

.

.

┌───────────────────────────────────────────────────────────────────┐

│ intqueue = data type is q_new, q_isempty, q_append, q_remfirst │

│ │

│ 堠 │

│ intqueue │

│ . - │

│ FIFO (First Input-First Output) │

│ 蠠 │

│ function q_new:intqueue │

│ effects 頠 │

│ function q_isempty (q:intqueue): boolean │

│ effects true, q 򠠠 │

│ , - │

│ false │

│ procedure q_append (q:intqueue; e:integer) │

│ modifies q │

│ effects e q │

│ function q_remfirst (q:intqueue): integer │

│ requires q 頠 │

│ modifies q │

│ effects q 蠠 │

│ q │

│ end intqueue │

└───────────────────────────────────────────────────────────────────┘

.1.15. .

-

, ,

.

. -

. ,

, , . -

, ,

var. , -

,

.

intqueue

type

intqueue = ^intqueue_rep;

intqueue_rep = ^intqueue_elem;

intqueue_elem = record

var : integer;

next : intqueue_rep;

end;

-

var q:intqueue;

,

q.

q , , -

, .

, -

, -

destroy.

┌───────────────────────────────────────────────────────────────────┐

│ procedure q_desstroy (q:intqueue) │

│ modifies q │

│ effects │

│ , q │

└───────────────────────────────────────────────────────────────────┘

-

. destroy -

. .1.16

intqueue, destroy.

┌───────────────────────────────────────────────────────────────────┐

│ Type IntQueue = ^IntQueue_Rep; │

│ IntQueue_Rep = ^IntQueue_Elem; │

│ IntQueue_Elem = Record │

│ i : Word; │

│ Next : IntQueue_Rep; │

│ End; │

│ │

│ Function q_new:IntQueue; │

│ Function q_isempty(q:IntQueue):Bollean; │

│ Procedure q_append(q:IntQueue; e:Word); │

│ Function q_remfirst(q:Intqueue):Word; │

│ Procedure failure(s:String); │

│ │

│ Function q_new:IntQueue; │

│ Var q:IntQueue; │

│ Begin │

│ new(q); │

│ q^:=nil; │

│ q_new:=q; │

│ End; │

│ │

│ Function q_isempty(q:IntQueue):Bollean; │

│ Var buf:bollean; │

│ Begin │

│ buf:=(q^=nil); │

│ q_isempty:=buf; │

│ End; │

│ │

│ Procedure q_append(q:IntQueue; e:Word); │

│ Var last,elem:IntQueue_Rep; │

│ Begin │

│ new(elem); │

│ elem^.i:=e; │

│ elem^.next:=nil; │

│ if q_isempty(q) then q^:=elem │

│ else begin │

│ last:=q^; │

│ while last^.next <> nil do │

│ last:=last^.next; │

│ last^.next:=elem; │

│ end; │

│ End; │

│ │

│ Function q_remfirst(q:IntQueue):Word; │

│ Var oldq:IntQueue_Rep; │

│ Begin │

│ if q_isempty(q) then failure (' q_remfirst │

│ ') │

│ else begin │

│ q_remfirst:=q^^.i; │

│ oldq:=q^; │

│ q^:=q^^.next; │

│ dispose(oldq); │

│ end; │

│ End; │

│ │

│ Procedure failure(s:String); │

│ Begin │

│ OutTextXT(320,200,s); │

│ Readln; │

│ Halt(0); │

│ End; │

└───────────────────────────────────────────────────────────────────┘

.1.16. intquaeue.

1.6.3.

-

, . .

.

, ,

. .

, qelems

(.1.17). qelems_create -

, qelems. -

qelems_next

qelems, ,

. qelems_done

, 蠠 堠 .

qelems_destroy , -

qelems_create qelems_next.

┌───────────────────────────────────────────────────────────────────┐

│ qelems = generator type is qelems_create, qelems_done, │

│ qelems_next, qelems_destroy │

│ 堠 │

│ qelems  │

│ IntQueue. │

│ 蠠 │

│ function qelems_create (q:IntQueue): qelems │

│ effects qelems, 頠 │

│ ⠠ │

│ q │

│ function qelems_done (qi:qelems): boolean │

│ requires intqueue, │

│ qi, │

│ , qi │

│ effects true, ⠠ │

│ intqueue, │

│ qi, "" , │

│ qi. 堠 │

│ false │

│ function qelems_next (qi:qelems): word │

│ requires intqueue, │

│ qi, │

│ , qi, -│

│ 렠 │

│ intqueue, │

│ modifies qi │

│ effects 렠 │

│ intqueue, qi. │

│ , │

│ qi. qi │

│ , , 頠 │

│ "" │

│ procedure qelems_destroy (qi:qelems) │

│ modifies qi │

│ effects  │

│ , qi │

│ end qelems │

└───────────────────────────────────────────────────────────────────┘

.1.17. .

qelems, -

intqueue, :

┌───────────────────────────────────────────────────────────────────┐

│ type │

│ qelems = ^qelems_rep; │

│ qelems_rep = ^intqueue_elem; │

│ function qelems_create (q:intqueue): qelems; │

│ var qi:qelems; │

│ begin │

│ new(qi); │

│ qi^:=q^; │

│ qelems_create:=qi; │

│ end; │

│ function qelems_done (qi:qelems): bollean; │

│ begin │

│ qelems_done:=(qi^=nil); │

│ end; │

│ function qelems_next (qi:qelems): word; │

│ begin │

│ if qi^=nil │

│ then failure(' qelems_next │

│ ') │

│ else begin │

│ qelems_next:=qi^^.i; │

│ qi^:=qi^^.next; │

│ end; │

│ end; │

│ procedure qelems_destroy (qi:qelems); │

│ begin │

│ dispose(qi); │

│ end; │

└───────────────────────────────────────────────────────────────────┘

.1.18.

intqueue.

-

intqueue. ,

, -

.

:

sum:=0;

qi:=qelems_create(q);

while not (qelems_done(qi)) do

sum:=sum+qelems_next(qi);

qelems_destroy(qi);

2.

2.1.

堠 -

, -

().

堠 -

,

-

,

.

-

. -

:

- ;

- -

.

, ,

.

.2.1.

┌──────────────────┬─────────────────────────────────────────────────┐

│ │ Π │

│ ├──────────────────────┬──────────────────────────┤

│ │ $ │ %% Ϡ │

├──────────────────┼──────────────────────┼──────────────────────────┤

│ │ │ │

│ 1980 │ 40 │ 2,0 │

│ │ │ │

│ 1985 │ 190 │ 8,5 │

│ │ │ │

│ 1990 │ 297 │ 13,0 │

└──────────────────┴──────────────────────┴──────────────────────────┘

Π

,

(.2.1)

- 100 --------------------------- .................

- | | .......|........ .. ..

, %% | Ѡ | .... | .. .. ..

| ..|. | .. .. .. ..

| .. | | .. ..

50 |------------|------------|

| . | |

| . | |

| ... | Π |

|.. | |

0 ---------------------------

1955 1970 1985

.2.1.

:

- ;

- , -

(.2.1).

, -

.

. -

-

, Ѡ .

,

. .

-

.

, , :

-

-

-

-

-

- , .

,

-

, ,

.

:

.

.

.2.2.

┌─────────────────────┬──────────────────────────────────────────────┐

│ - │ (1-, 5-) │

│ ├────────┬───────────┬───────┬────────┬────────┤

│ │ │ - │ │ ││

│ │ࠠ │ │ │.│ │

├─────────────────────┼────────┼───────────┼───────┼────────┼────────┤

│ ࠠ │ 1 │ 4 │ 4 │ 5 │ 3 │

│ │ │ │ │ │ │

├─────────────────────┼────────┼───────────┼───────┼────────┼────────┤

│ ⠠ │ 2 │ 1 │ 2 │ 3 │ 5 │

│ │ │ │ │ │ │

├─────────────────────┼────────┼───────────┼───────┼────────┼────────┤

│ 頠 │ 5 │ 2 │ 1 │ 4 │ 4 │

│蠠 │ │ │ │ │ │

├─────────────────────┼────────┼───────────┼───────┼────────┼────────┤

│ │ 4 │ 3 │ 3 │ 2 │ 2 │

│ │ │ │ │ │ │

├─────────────────────┼────────┼───────────┼───────┼────────┼────────┤

│ │ 3 │ 5 │ 5 │ 1 │ 1 │

│ │ │ │ │ │ │

└─────────────────────┴────────┴───────────┴───────┴────────┴────────┘

, (

) .

-

"" : " -", "-

", " ", "-

", " ", "

", " " ..

,

.

-

, ,

, -

-

.

-

:

-

- .

:

-

-

- ( ).

-

(.2.2).

┌─────────────────────────────────────────────┐

│ │

└───────┬───────────────────────────────┬─────┘

│ │

┌───────────────────┴────────┐ ┌───────────┴────────────────┐

│  │ │ ࠠ │

│ │ │ Π │

└───┬───────────┬───────────┬┘ └┬───────────┬──────────┬────┘

│ │ │ │ │ │

┌───┴────┐ ┌───┴────┐ ┌───┴────┐ ┌────┴───┐ ┌────┴───┐ ┌───┴────┐

│.│ ││ │-│ │.│ ││ │-│

│ │ ││ ││ │ │ ││ ││

└────────┘ └────────┘ └────────┘ └────────┘ └────────┘ └────────┘

- - - - -

: -

- ࠠ - -

- - 򠠠

- - - -

頠 - -

- ⠠ -

- -

- -

.- - -

頠 - -

- - - -

堠 - ࠠ -

. : .

"" - "" -

󠠠 󠠠

- -

-

-

-

.2.2. .

2.2.

2.2.1.

, -

.

- -

, ,

, ,

,

.

- ,

, ,

, -

, .

,

.

, , -

, .

2.2.2.

, ,

.

頠 䠠 . -

, -

. . -

,

-

.

ꠠ . -

, "" -

. , , -

, -

.

堠 . -

, -

, . -

. ̠

, ,

.

-

.

ࠠ .

. .

,

, .

堠 ꠠ .

, , -

. , ,

-

. ̠ -

, . -

-

, , -

. -

, -

. -

, ,

, .

堠  蠠 .

. -

-

, . -

, , , -

.

堠 ࠠ -

 . , , -

. -

. ,

, . -

.

 ꠠ

. , , ,

. ,

-

.

ꠠ .

, , -

, , .

, , -

. -

.

. -

. -

, ,

. -

.

. -

, , -

, . ,

-

, .

.

.

.

2.3.

, -

(). - ,

, -

, -

. ,

,

.

()

:

........... 2 000

... 8 000

......... 32 000

.........128 000

. , -

() 152 .

:

-.... 152

-..... 19

-.... 12

Π -

(),

1,05 0,38

=2,4*() =2,5*()

.

.2.3.

┌──────────────────┬───────────┬───────────────┬──────────┬──────────┐

│ , ʠ │ │ -│ , │ │

│ │ , │ , / │ │ , │

├──────────────────┼───────────┼───────────────┼──────────┼──────────┤

│, 2 │ 5,0 │ 400 │ 4,6 │ 1,1 │

├──────────────────┼───────────┼───────────────┼──────────┼──────────┤

│, 8 │ 21,3 │ 376 │ 8,0 │ 2,7 │

├──────────────────┼───────────┼───────────────┼──────────┼──────────┤

│, 32 │ 91,0 │ 352 │ 14,0 │ 6,5 │

├──────────────────┼───────────┼───────────────┼──────────┼──────────┤

│, 128 │ 392,0 │ 327 │ 24,0 │ 16,0 │

└──────────────────┴───────────┴───────────────┴──────────┴──────────┘

.2.3 -

, , ,

,

.. ,

, .

.2.3 63 -

, , , -

.

-

. : , -

.

頠 ,

-

. -

.

,

, -

.

-

.

Π

:

- ;

- ;

- ;

- ( , 50 ).

頠 -

.

, ,

. ( - -

).

, , -

. -

.

, ,

.

.

-

,

.

頠 -

.

:

- ;

- .

300 .

.2.3

(.2.4).

.2.4.

┌───────┬────────┬────────────────────────────────────────────────────┐

│- │ -│ ⠠ │

│- │ ├───────┬──────────┬─────────┬─────────┬─────────────┤

│蠠 │ │ ,│ - │ │ │ │

│ │ │ 2 │ , │ 32 │ 128 │512 ʠ │

│ │ │ │ 8 ʠ │ │ │ │

├───────┼────────┼───────┼──────────┼─────────┼─────────┼─────────────┤

││. │ 5,0 │ 21,3 │ 91 │ 397 │ │

│, │. │ 6,5 │ 31,0 │ 146 │ 687 │ 3250 │

│̠ │. │ 8,3 │ 44,0 │ 230 │ 1216 │ 6420 │

├───────┼────────┼───────┼──────────┼─────────┼─────────┼─────────────┤

││. │ 400 │ 376 │ 352 │ 327 │ │

│-│. │ 308 │ 258 │ 219 │ 186 │ 158 │

│, │. │ 241 │ 182 │ 139 │ 105 │ 80 │

│/ │ │ │ │ │ │ │

├───────┼────────┼───────┼──────────┼─────────┼─────────┼─────────────┤

│ │. │ 4,6 │ 8,0 │ 14 │ 24 │ │

│- │. │ 4,8 │ 8,3 │ 14 │ 24 │ 42 │

│, │. │ 4,9 │ 8,4 │ 14 │ 24 │ 42 │

│ │ │ │ │ │ │ │

├───────┼────────┼───────┼──────────┼─────────┼─────────┼─────────────┤

││. │ 1,1 │ 2,7 │ 6,5 │ 16 │ │

│ │. │ 1,4 │ 3,7 │ 10,0 │ 29 │ 77 │

││. │ 1,7 │ 4,2 │ 16,0 │ 51 │ 157 │

│ │ │ │ │ │ │ │

└───────┴────────┴───────┴──────────┴─────────┴─────────┴─────────────┘

1.05

4M = 2.4*ʠ -

1.12

4 = 3.0*ʠ -

1.20

4 = 3.6*ʠ -

2.4.

, -

. -

: ,

, , .

- ,

. Π - -

, , , , ,

.. -

, - , -

, , -

.., -

. -

, -

, ,

-

, , -

, -

, .

,

.

, -

,

.

, , ,

..

, -

, ,

.

, . -

, . -

. -

,

.

:

1. -

;

2. ;

3. ,

.

. :

1. Π ,

;

2.

;

3. ,

;

4. .

- Π

. -

,

.

- .

. -

. , , -

. -

. -

. ,

.

- ,

, -

,

. , -

, .

- , ,

, .

, , : -, -

, ; -, -

-

.

, Π

.

.2.5

2.6.

.2.5.

┌──────────────────────────────────────────┐

│ │

┌──────────────────┼────────┬─────────┬───────┬────────┬──────┼───────┐

│ │ .│-│ .││-│ │

│ │ .│ . │ │-│⠠ ││

│ │ │ │ │頠 │ │ │

├──────────────────┼────────┼─────────┼───────┼────────┼──────┼───────┤

│ -│ 10 │ 15 │ 6 │ 6 │ 6 │ 8,6 │

│ . │ │ │ │ │ │ │

├──────────────────┼────────┼─────────┼───────┼────────┼──────┼───────┤

│堠 │ 10 │ 12 │ 18 │ 5 │ 6 │ 10,2 │

├──────────────────┼────────┼─────────┼───────┼────────┼──────┼───────┤

│ │ 10 │ 12 │ 9 │ 7 │ 6 │ 8,8 │

├──────────────────┼────────┼─────────┼───────┼────────┼──────┼───────┤

│ࠠ │ 20 │ 15 │ 17 │ 15 │ 14 │ 16,2 │

├──────────────────┼────────┼─────────┼───────┼────────┼──────┼───────┤

│堠 │ 50 │ 46 │ 50 │ 67 │ 68 │ 56,2 │

│──────────────────┼────────┼─────────┼───────┼────────┼──────┼───────┤

│ │ 100 │ 100 │ 100 │ 100 │ 100 │ 100 │

└──────────────────┴────────┴─────────┴───────┴────────┴──────┴───────┘

.2.6.

┌────────────────────┬──────────────┬─────────────┬──────────────┐

│  │ │ - │ │

│ │ ,%% │ │ │

│ │ │ %% │ ,%% │

├────────────────────┼──────────────┼─────────────┼──────────────┤

│ - │ │ │ 9 │

│ │ │ │ │

├────────────────────┼──────────────┼─────────────┼──────────────┤

│堠 │ 61-64 │ │ 6 │

├────────────────────┼──────────────┼─────────────┼──────────────┤

│堠 │ 36-39 │ │ 10 │

├────────────────────┼──────────────┼─────────────┼──────────────┤

│ࠠ │ │ 46 │ 12 │

├────────────────────┼──────────────┼─────────────┼──────────────┤

│堠 │ │ 54 │ 63 │

└────────────────────┴──────────────┴─────────────┴──────────────┘

.

┌──┐ ┌──┐ ┌──┐

│13│ │13│ │ 8│

┌─────────┴──┤ ┌─────────┴──┤ ┌─────────┴──┤

│ │─────│ - │─────│ - │──────┐

│ │ │ 堠 │ │ 堠 │ │

└────────────┘ └────────────┘ └────────────┘ │

‑ │ │ │

│ │ ┌──┐ │ │

│ │ 8│ │ ┌──┐ │

│ ┌─────────┴──┤ │ 8│

┌────────┐ │ │ ┌───────────────┴──┤ ┌───────┐

│ │ │ │ │ │ │ │

└────────┘ │ 蠠 │ └──────────────────┘ └───────┘

│ └────────────┘ │ ‑

│ │ │ │ │

│ │ └───────────────────┐ │ │

│ │ │ │ │

┌────────────┐ ┌────────────┐ ┌────────────┐ │

│ - │ │ │ │ │ │

│ │─────│ │─────│ -│──────┘

│ │ │ ⠠ │ │ │

└─────────┬──┤ └─────────┬──┤ └─────────┬──┤

│ 8│ │25│ │17│

└──┘ └──┘ └──┘

.2.7. .

( %%

)

2.5.

2.5.1.

,

, . Π - ,

. ,

,

.

頠 . -

-

. , ,

. ʠ ,

, .

"" .

 .

, -

, ,

-

.

. -

.

.

 頠 -

.

, -

.  

,

-

. . -

. , , -

. -

, , , -

. , , -

. Π

, .

 .

, -

, , -

.

 頠 -

. -

.

- -

.

 "  ". -

,

.

, , -

, .

, -

.

.

2.5.2.

O -

:

- , , -

,

, ;

- , ,

, Π

蠠 , ࠠ

;

- , Π

;

- , , -

,

;

- , ,

,

, ;

- , , , ,

,

;

- , ,

Π ,

.


3.

3.1.

-

: ;

; ; ; ;

.

│─────────────────────────────────────────┐

──────────────╔════════════════╗ │

‑ ║ ║ │

│ ║ ║ │

│ ║ ║ │

│ ╚════════════════╝ │

│ 堠 │ │

│ 頠 砠 │

│ ╔════════════════╗ │

│ ║ ║ │

│ ║ ║ │

║ ║ │

──────────────╚════════════════╝ │

│ │

│ 堠 │

│ ╔════════════════╗ │

│ ║ ࠠ ║ │

└─────║ ║ │

║ ║ │

╚════════════════╝ │

│ │

│ 堠 │

│ ╔════════════════╗ │

│ ║ ║ │

└──────║ ࠠ ║─┘

║ ║

╚════════════════╝

.3.1. .

,

. . -

.

, . -

.

.

,

,

, .

, -

, -

,

. -

, .

. -

:

┌────────────────┐

│ 砠 │

│ │ ? ?

│ │ ( , -

└────────────────┘ );

┌────────────────┐ ?

│ │ ( -

│ │ ?

│ │ );

└────────────────┘

?

┌────────────────┐ ( ,

│ 堠 │ -

│ │ ? ,

│ │ ,

└────────────────┘ ; ,

│ -

, -

).

.3.2., .

, -

.

, .

, -

, . ,

,

, :

- ( -

);

- ( );

- (

).

- -

:

- 56

;

- 217 -

;

-

100 , -

(.2.6).

┌──────┬─────────────────────────────────────────────────────────────┐

││1. 頠 │

├──────┴─────────────────────────────────────────────────────────────┤

│ , -│

│ , │

│- () -│

│ () . │

│ │

│ ? │

│ │

│ . │

│ -│

│ . │

│ . │

│ -│

│ . │

│ │

│ │

│ . │

│ │

│ , , -│

│ (). │

│ . -│

│ . -│

│ . -│

│ │

│. , │

│, , . -│

│ -│

│. , Ϡ │

│. , -│

│ . -│

│, , │

│ / (I/O). , -│

│ , .│

│ , │

│. │

│. │

│ │

│ │

│ 򠠠 ┌──────────────┐ 堠 │

│ ┌─────────────────── │ ├─────────────────┐ │

│ │ └──────────────┘  │ │

│ │ │ │

│ ┌────┴───────┐ 򠠠 │ │

│ │ ├───────────────────┐ │ │

│ └────────────┘ 蠠 │ │ │

│ ‑ │ │ │

│ │ │ │

│ │ ┌────────────┐ │ │

│ └─────────────────────┤ │──────────────────┘ │

│ └────────────┘ │

│ │

│ │

│ .│

│ Ѡ -│

│ , , -│

│ , -│

│. , -│

│ . , │

│, , ,│

│ . -│

│ , , -│

│ , -│

│ , I/O. -│

│ , - -│

│. │

│ , . │

│ │

│ -│

│ . │

│ , │

│ . -│

│ . │

│, - │

│ . , │

│ , .│

│ , │

│ . -│

│ , FIFO (First In -│

│First Out). , -│

│ (Robin Round), -│

│ , -│

│ , -│

│ . │

│ .│

│ , -│

│ , -│

│ , -│

│ . -│

│ . Ѡ │

│ SJF (Shortest Job First). │

│ │

│ , │

│, . Ѡ -│

│ ,│

│ , ,│

│ . -│

│ FB (Feed Back). │

│ , , │

│ Ӡ │

│. │

│ . │

│ (partitions), -│

│ . -│

│ ( ), -│

│ ( -│

│ ). │

│ │

│ │

│ . -│

│ , . -│

│ -│

│. , │

│ . │

│ │

│ ,│

│ . -│

│ │

│, │

│. │

│ -│

│ -│

│, -│

│ , . │

│ │

│ . -│

│ . │

│ , │

│ . │

│ -│

│ : │

│- │

│ ; │

│- │

│ ; │

│- -│

│ ; │

│- │

│ .│

│ -│

│ . │

│ , Ӡ -│

│ , -│

│ . │

│ . │

│ -│

│ -│

│ . │

│ │

│ │

│ ? │

│ , │

│ : │

│- ; │

│- │

│ ; │

│- . │

│ , -│

│ -│

│ , │

│ . -│

│ │

│ , - -│

│ , -│

│- -│

│. │

│ -│

│ -│

│ . │

└────────────────────────────────────────────────────────────────────┘

3.2.

3.2.1.

, -

, ,

. , -

, :

- ?

- ?

- ?

- ?

-

.

1. .

-

- .

2. .

, -

, ,

.

3. .

,

. -

, -

,

.

4. .

- -

, , .

,

.

5. .

,

,

, -

.

6. .

-

, , . -

, -

, .

3.2.2.

.

1. , .

, .

-

.

3.1.

┌───────────────────────┬──────────────────────────────────────────┐

│ ࠠ │ 堠 │

├───────────────────────┼──────────────────────────────────────────┤

│ 堠 │ ; │

│ │ ; │

├───────────────────────┼──────────────────────────────────────────┤

│ 1. ̠ │ , -│

│ │ ; -│

│ │ - │

├───────────────────────┼──────────────────────────────────────────┤

│ 2. │ , │

│ 젠 │ │

├───────────────────────┼──────────────────────────────────────────┤

│ 3. │ , - │

│ │ ;│

│ │ │

│ │ │

├───────────────────────┼──────────────────────────────────────────┤

│ 4. - │ │

│ │ . -│

│ │ 3, -│

│ │ "?" "?" -│

│ │  │

├───────────────────────┼──────────────────────────────────────────┤

│ 5. -│ -│

│ 蠠 │ 頠 │

├───────────────────────┼──────────────────────────────────────────┤

│ 6. - │ │

│ │ , 蠠 │

│ │ .│

├───────────────────────┼──────────────────────────────────────────┤

│ 7.ࠠ │ │

│ │ 蠠 │

├───────────────────────┼──────────────────────────────────────────┤

│ 8.堠 │ , - │

│ │ │

├───────────────────────┼──────────────────────────────────────────┤

│ 9. │ 頠 │

├───────────────────────┼──────────────────────────────────────────┤

│10.頠 │ │

└───────────────────────┴──────────────────────────────────────────┘

.

, .

2. .

-

.

, -

.

3. .

, -

, , -

.

┌──────┬─────────────────────────────────────────────────────────────┐

││2. 頠 │

├──────┴─────────────────────────────────────────────────────────────┤

│ │

│ -│

│ . -│

│ -│

│ 1 9. -│

│ . │

│ Ϡ │

│ : │

│- ( - ); │

│- ( ); │

│- ; │

│- . │

│ │

│ : │

│- ; │

│- ; │

│- . │

│ │

│ -│

│: │

│- , │

│ , ; │

│- , c│

│ , │

│ . │

│ │

└────────────────────────────────────────────────────────────────────┘

3.3.

-

, . -

,

. -

, -

.

, -

. -

,

, -

.

, -

.

. -

, -

.

,

. -

-

, -

. -

,

. -

.

, ,

,

-

. -

, ,

. -

: , , -

.

,

.

-

:

- ,

;

- ,

, -

;

- - . -

;

- . -

-

;

- , -

;

- ,

,

.

-

.

. -

:

- ,

" ?" (,

), " ?" ( );

- -

, ;

- -

; -

;

-

, , -

, , ; -

, -

;

- ; -

, ,

-

( -

);

- , -

, .

┌──────┬─────────────────────────────────────────────────────────────┐

││3. │

├──────┴─────────────────────────────────────────────────────────────┤

│ -│

│ │

│ . │

│ │

│ 1. 堠 │

│ 1.1. │

│ , -│

│ . │

│ 1.2. │

│ │

│ , │

│ . │

│ 1.3. │

│, , , -│

│ . │

│ 1.4. -│

│ . │

│ 1.5. -│

│ . │

│ 1.6. -│

│ (0, 1, 10, 100, 1000, 10000) │

│ 1.7. -│

│ . │

│ │

│ 2. ⠠ │

│ 2.1. -│

│ , -│

│ , │

│ . │

│ 2.2. , │

│ │

│ 1 9. │

│ 2.3. , -│

│ │

│ │

│ . │

│ 2.4. , -│

│ , 100 -│

│. │

│ 2.5. , -│

│ , . - -│

│, , , - , -│

│ . │

│ 2.6. │

│ . │

│ 2.7. │

│ │

│, -│

│ . │

│ 2.8. : │

│- : │

│ - , (First In First Out); │

│- (Highest Priority First): │

│ - (Shortest Job First); │

│- (Round Robin); │

│- (Feed Back): │

│ - -│

│ . │

│ 2.9. : │

│- ; │

│- ; │

│- . │

│ 2.10. -│

│ │

│. │

│ 2.11. 100 │

│ , 100 │

│ 10. 10% -│

│ . │

│ 2.12. -│

│ -│

│ . │

│ 2.13. -│

│ │

│. │

│ 2.14. Ӡ -│

│ -│

│ . │

│ │

│ 3. ⠠ │

│ 3.1. -│

│ () -│

│ () │

│ . │

│ 3.2. │

│ │

│ -│

│ . │

│ 3.3. -│

│ │

│ . │

│ 3.4. -│

│ . .│

│ │

│. │

│ 3.5. -│

│ : │

│- ( ); │

│- - ; │

│- ; │

│- . │

│ 3.6. Ӡ │

│ : │

│- ( ); │

│- , ( ); │

│- %%; │

│- . │

│ 3.7. -│

│ .3.5 3.6. │

│ 3.8. -│

│ . │

│ 3.9. │

│ ( ) . │

│ 3.10. -│

│ : │

│- ─┐ │

│- │ , 堠 │

│- │ 頠 │

│- ──┘ │

│- ( ); │

│- ; │

│- ( ). │

│ 3.11. -│

│ : │

│- ; │

│- ; │

│- │

│ ( ); │

│- │

│ ( ); │

│- ( │

│ ) ; │

│- ( )│

│ ; │

│- ( ); │

│- ( ). │

│ 3.12. -│

│ : │

│- ; │

│- . │

│ 3.13. -│

│ -│

│ . │

│ 3.14. -│

│ -│

│ . │

│ │

│ 4. 蠠 │

│ 4.1. -│

│ -│

│ Ϡ , │

│ . │

│ 4.2. -│

│ │

│. │

└────────────────────────────────────────────────────────────────────┘

.

┌──────┬─────────────────────────────────────────────────────────────┐

││4. Ӡ │

├──────┴─────────────────────────────────────────────────────────────┤

│ ╔═══════════╗ ┌───────────┐ │

│ ║ ║ │ │ │

│ ║ ╟──────────┤ │ │

│ ║ ║ │ │ │

│ ┌────────╢ -║ ┌────────┤ ࠠ ├──┐ │

│ │ ║ ║ │ │ │ │ │

│ │ ┌ ─ ─ ─╢╟─│─┐ ┌ ─ ─┤ │ │ │

│ │ ║ ║ │ │ │ │ │

│ │ │ ╚═══════════╝ │ │ │ └─────┬─────┘ │ │

│ │ │ │ │

│ │ │ │ │ │ │ │ │

│ │ │ │ │

│ ┌───────────┐ │ │ ╔═══════════╗ │ │ │ ┌─────┴─────┐ │ │

│ │ ├─┘ ║ ║ │ │ │ │ │

│ │ ࠠ │ │ ║-╟─┘ └ ┼ ─ ─┤ │ │ │

│ │ ├──────────╢ ║ │ │ │ │

│ │ │ │ ┌─ ─╢ ╟ ─ ─ ┼ ─ ─┤ - │ │ │

│ │ │ ║ ║ │ │ │ │

│ │ ├───┼──┼─┐ ║ Ӡ ║ │ ┌ ─┤ │ │ │

│ │ │ │ ║ ║ │ │ │ │

│ └───────────┘ │ │ │ ╚═══════════╝ │ │ └─────┬─────┘ │ │

│ │ │ │

│ │ │ │ │ │ │ │ │

│ │ │ │

│ ┌───────────┐ │ │ │ ╔═══════════╗ │ │ ┌─────┴─────┐ │ │

│ │ │ │ ║ ║ │ │ │ │

│ │ ├ ─ ┘ │ └─╢ Р ╟ ─ ─ ┘ │ │ │ │ │

│ │ │ ║ ║ │ │ │ │

│ │ ├ ─ ─ ─┘ ║║ │ │ -├──┘ │

│ │ │ ║ ║ │ │ │

│ │ 䠠 ├ ─ ─ ─ ─ ─╢ ╟ ─ ─ ─ ┘ │ 蠠 │ │

│ │ │ ║ ║ │ │ │

│ └─────┬─────┘ ╚═══════════╝ └─────┬─────┘ │

│ │ │ │

│ │ │ │

│ │ │ │

│ └────────────── ──────────────┘ │

│ ࠠ │

│ │

│ │

│ ───── - ; ─ ─ ─ - . │

│ │

└────────────────────────────────────────────────────────────────────┘

!!!!!!!!!!! !!!!!!!!!!!!!!!!

3.5.HIPO-

(HIPO - Hierarchical Input Process Output Diagramms)

HIPO (IBM)

.  

. -

- -

. , ,

.

┌────────────────┐

│ │

│ 𠠠 │

│ │

└────────┬───────┘

┌─────────────────────┼───────────────────┐

│ │ │

┌──┴──┐ ┌──┴──┐ ┌──┴──┐

│ A │ │ B │ │ C │

└──┬──┘ └─────┘ └──┬──┘

│ │

┌─────────┬─────────┐ ┌────┴────┐

│ │ │ │ │

┌──┴──┐ ┌──┴──┐ ┌──┴──┐ ┌──┴──┐ ┌──┴──┐

│ A1 │ │ A2 │ │ A3 │ │ C1 │ │ C2 │

└──┬──┘ └─────┘ └──┬──┘ └──┬──┘ └─────┘

│ │ │

├─────────┐ │ │

│ │ │ │

┌──┴──┐ ┌──┴──┐ ┌──┴──┐ ┌──┴──┐

│ A11 │ │ A12 │ │ A31 │ │ C11 │

└─────┘ └─────┘ └─────┘ └─────┘

.3.10. .

" - -

- ".

┌───────────────────┐

┌─────────┐ │ │ ┌──────────┐

│ │──────│ 1.................│──────│ │

│ │ │ 2.................│ │ 堠 │

└─────────┘ │ 3.................│ └──────────┘

└───────────────────┘

.3.11. IPO-

, HIPO,

, -

- , . -

, -

.

. -

, ,

.

:

-

. , , -

;

- -

.

-

. , -

- ,

.

3.6. (SA)

(SADT - Structured Analysis and Design Technique)

SADT

. -

, .

-

, -

, .

SADT -

. -

, ,

, .

-

-

.

, .

SADT -

. SADT

, -

(.2.12).

. -

, .

- , , , -

. SADT -

-

. , ,

. SADT

, -

.

ߠ

 

 

 

! , , , .
. , :