. , , ,

,,,

- " " Prolog — ,

N -21

" "

. -1-95.

1. :

- .

2. :

- , -

Avto :

╔═════════════════════════════════════════════════════════════════════╗

║ . ߠ ║

╠══╦═════════╦═════╦═════╦═════╦════════╦═══════════════════╦═════════╣

║N║ ║ ║ N ║ N ║ ║ . . . ║ ͠ ║

║ ║║║ ║║ ʠ ║ ║ ║

╠══╬═════════╬═════╬═════╬═════╬════════╬═══════╦═════╦═════╬═════════╣

Avto 2 Avto1 Avto2 , -

,

, , .

.

3. , :

3.1 , -

, , -

:

- ,

- ,

- ,

- ,

- ,

- .

3.2 :

- ,

- ,

- ,

- ,

- ,

- .

4. :

4.1

4.2 .


5. - :

1.

4.10.96

2. , ,

5.10.96 20.10.96

3.

22.10.96

4. -

18.11.96

5.

29.11.96

6.

20.12.96

7.

21.12.96

8.

24.12.96

9.

25.12.96

7.

27.12.96

/ ../

/ .., -1-95/


 2.

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

1.

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

2. ...

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

4. ...........

5. :

5.1 Nachalo ...........

5.2 Mainmenu ........

5.3 Zagruz ...................

5.4

Rabota (0) ...........................

5.5 Rabota (1) ......

5.6 Rabota (2) ..........

5.7 Rabota (3) ............

5.8 Rabota (4) .....

5.9 Rabota (5) ...

5.10 Rabota (6) .......

5.11 Rabota(7)..

5.12 -

Rabota(8) ...........................

5.13 Rabota(9) ..

5.14 hoice1............

5.15 Sbros Sbros1 .......

5.16 Loadbase........

5.17 Savebase.....

5.18

Correct(N) ........................

6. .......................

7. .......................

8.

: ...................

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

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


Turbo Prolog v

2.0 ( ).

, -

- -

. -

. ,

- , - .. -

-

-

.

- - -, -

.  

-

. -

-

.

, :

- -

.

- -

: , -

, -

.

-

-

.  

, .

-

,

, . -

: ,

. , -

. -

, - ,

- , - . -

,

- , - ,

- , - .

-

.

, -

mainmenu. -

,

.


:

0 - pp... -

1 - -

2 - -

3 - -

4 - -

5 - -

6 - -

7 - -

8 - - -

9 - -

.


,

.

Nachalo GOAL -

. -

Zagruz ,

Mainmenu.

, C.

Rabota , -

C . -

Povtor, Ra-

bota , C 7

.

Zagruz -

. -

,

"". Zagruz -

avto.dat existfi-

le consult. -

.

,

.

Rabota (1) , ,

. -

.

.

-

. (

Choice1. -

Retract.

Rabota (3) .

, : "

", "

avto.dat", " ". -

Loadbase, C, -

.

Rabota (5) Rabota (4).

Savebase, ,

I.


.

:

:

1 -

2 -

3 -

4 -

=>

Rabota1(N) N -

. Rabota1 .

5.11 Rabota(7)

. -

-

.

.

5.12

.

.

5.13

, -

.

Mainmenu, C=7,

.

5.14

-

,

.

5.15

Sbros Sbros1

Correct(1). ,

( ).

, .

, . -

,

( Sbros1 -

).

5.16

, : Loadbase(1) -


, , Loadbase(2) -

avto.dat

existfile -

consult. , -

.

5.17

, : Savebase(1) -

, , Savebase(2) -

bit.dat. -

save. .

5.18 Cjrrect(j,i).

.


domains

z,n,dvig,god,n1,shasi,i=integer

j,mark,znac,fam,ima,otc,ucet=string

database -avto1

avto1(i,j,i,i,i,j,j,j,j,j)

database -avto2

avto2(i,j,i,i,i,j,j,j,j,j)

database -avto3

avto3(i,j,i,i,i,j,j,j,j,j)

database

avto(i,j,i,i,i,j,j,j,j,j)

predicates

nachalo

mainmenu

zagruz

choice1(i)

correct(i,i)

rabota(i)

rabota1(i)

savebase(i)

loadbase(i)

povtor

sbros(j,j,j)

sbros1(j,i,i)

goal

nachalo.

clauses

/* */

nachalo:-

makewindow(1,7,7,". ",0,0,25,80),

clearwindow,zagruz,

mainmenu.

/* */

mainmenu:-

povtor,

cursor(7,0),

write(" 0 - pp... "),nl,

write(" 1 - "),nl,

write(" 2 - "),nl,

write(" 3 - "),nl,

write(" 4 - "),nl,

write(" 5 - "),nl,

write(" 6 - "),nl,

write(" 7 - "),nl,


write(" 8 - -"),nl,

write(" 9 - "),nl,

write(" =>"),

readint(Vibor),

Vibor >= 0,

Vibor < 10,

clearwindow,

rabota(Vibor),

clearwindow,

Vibor = 9,

retractall(_),

removewindow.

/* */

zagruz:-

existfile("avto.dat"),

consult("avto.dat"),

cursor(1,2),

write(" ").

zagruz:-

cursor(1,2),

write(" ").

/*pp */

rabota(7):-

makewindow(1,7,7," ",0,0,25,80),

nl,

WRITE(" 𠠠 :"),readint(K),nl,

write(" Ӡ :"),readln(F),nl,

write(" :"),readint(Y),nl,

write(" N ߠ :"),readint(J),nl,

write(" N Ƞ :"),readint(G),nl,

write(" ʠ :"),readln(W),nl,

write(" ޠ :"),readln(B),nl,

write(" ߠ :"),readln(C),nl,

write(" Π :"),readln(D),nl,

write(" :"),readln(R),nl,

N1=K,MARK1=F,GOD1=Y,DVIG1=J,SHASI1=G,ZNAC1=W,

FAM1=B,IMA1=C,OTC1=D,UCET1=R,

assertz(avto(N1,MARK1,GOD1,DVIG1,SHASI1,ZNAC1,FAM1,IMA1,OTC1,UCET1)),

removewindow, fail.

/* -*/

rabota(8):-

makewindow(1,7,7,"-",0,0,25,80),

nl,

write(" :"),readint(A),nl,nl,

avto(N,MARK,GOD,DVIG,SHASI,ZNAC,FAM,IMA,OTC,UCET),

A=N,


write(" Ƞ :"),write(N),nl,

write(" :"),write(MARK),nl,

write(" :"),write(GOD),nl,

write("N ߠ :"),write(DVIG),nl,

write("N Ƞ :"),write(SHASI),nl,

write(" ʠ :"),write(ZNAC),nl,

write("ߠ :"),write(FAM),nl,

write("ߠ :"),write(IMA),nl,

write("Π :"),write(OTC),nl,

write(" :"),write(UCET),nl,nl,

readchar(_),

removewindow,

!.

rabota(8):-

write(" ."),

write(" "),

nl,nl,nl,

write(" :"),

readint(A),nl,

N1=A,

write(" :"),readln(F),nl,

write(" :"),readint(Y),nl,

write("N ߠ :"),readint(J),nl,

write("N Ƞ :"),readint(G),nl,

write(" ʠ :"),readln(W),nl,

write("ߠ :"),readln(B),nl,

write("ߠ :"),readln(C),nl,

write("Π :"),readln(D),nl,

write(" :"),readln(R),nl,

MARK1=F,GOD1=Y,DVIG1=J,SHASI1=G,ZNAC1=W,FAM1=B,IMA1=C,OTC1=D,UCET1=R,

assertz(avto(N1,MARK1,GOD1,DVIG1,SHASI1,ZNAC1,FAM1,IMA1,OTC1,UCET1)),

removewindow,

fail.

/*pp pp*/

rabota(0):-

makewindow(1,54,7," pp...",5,5,20,50),

write(" p-p "),nl,nl,

write(" "),nl,nl,

write(" -TURBO-PROLOG v.2.0. "),nl,nl,

write(" p: . "),nl,nl,

write(" , p.-1-95 () 1996 . "),nl,nl,nl,

write(" "),

readchar(_),

removewindow.

/* */

rabota(2):-

makewindow(1,7,7," ",0,0,25,80),


nl,

choice1(N),

X=N,

avto(X,MARK,GOD,DVIG,SHASI,ZNAC,FAM,IMA,OTC,UCET),

retract(avto(X,MARK,GOD,DVIG,SHASI,ZNAC,FAM,IMA,OTC,UCET)),!,

removewindow.

/* */

rabota(3):-

makewindow(1,7,7,"p ",0,0,25,80),

nl,

write(" ╔═════════════════════════════════════════════════════════╗"),nl,

write(" ║ . ߠ ║"),nl,

write(" ╠══╦═════════╦═════╦═════╦═════╦════════╦═══════╦═════════╣"),nl,

write(" ║N║ ║ ║ N ║ N ║ ║..Π ║ ͠ ║"),nl,

write(" ║ ║║║ ║║ ʠ ║ ║ ║"),nl,

write(" ╠══╬═════════╬═════╬═════╬═════╬════════╬═╦═════╬═════════╣"),nl,

avto(N,MARK,GOD,DVIG,SHASI,ZNAC,FAM,IMA,OTC,UCET),

cursor(Z,_),cursor(Z,1),write("║"),

cursor(Z,2),write(N),cursor(Z,4),write("║"),

cursor(Z,5),write(MARK),cursor(Z,14),write("║"),

cursor(Z,15),write(GOD),cursor(Z,20),write("║"),

cursor(Z,21),write(DVIG),cursor(Z,26),write("║"),

cursor(Z,27),write(SHASI),cursor(Z,32),write("║"),

cursor(Z,33),write(ZNAC),cursor(Z,41),write("║"),

cursor(Z,42),write(FAM),cursor(Z,49),write("║"),

cursor(Z,50),write(IMA),cursor(Z,58),write("║"),

cursor(Z,59),write(OTC),cursor(Z,66),write("║"),

cursor(Z,67),write(UCET),

cursor(Z,76),write("║"),

nl,

fail.

rabota(3):-

write(" ╠══╬═════════╬═════╬═════╬═════╬════════╬══╬═══════╬═════════╣"),

nl,

write(" "),

readchar(_),

removewindow.

/* */

rabota(4):-

nl,

makewindow(2,15,4,"",5,5,20,70),

write("1 - "),nl,

write("2 - avto.dat"),nl,

write("3 - "),nl,

write("==>"),

readint(C),

C>0,C<4,

loadbase(C),

!,

removewindow.


/* */

rabota(5):-

nl,

makewindow(2,15,4,"",5,5,20,70),

write("1 - "),nl,

write("2 - avto.dat"),nl,

write("3 - "),nl,

write("==>"),

readint(I),

I>0,I<4,

savebase(I),!,

removewindow.

/* */

rabota(6):-

nl,

makewindow(3,7,7," ",0,0,25,80),

write(" 1 - "),nl,

write(" 2 - "),nl,

write(" 3 - "),nl,

write(" 4 - "),nl,

write("==>"),

readint(O),

O>0,O<5,

rabota(O),

removewindow.

/* */

rabota(1):-

makewindow(1,7,7,"pp ",0,0,25,80),

nl,

choice1(N),

X=N,

avto(X,MARK,GOD,DVIG,SHASI,ZNAC,FAM,IMA,OTC,UCET),

write(" Ƞ :"),write(N),nl,

write(" :"),write(MARK),nl,

write(" :"),write(GOD),nl,

write("N ߠ :"),write(DVIG),nl,

write("N Ƞ :"),write(SHASI),nl,

write(" ʠ :"),write(ZNAC),nl,

write("ߠ :"),write(FAM),nl,

write("ߠ :"),write(IMA),nl,

write("Π :"),write(OTC),nl,

write(" :"),write(UCET),nl,nl,

write(" Ӡ :"),readln(MARK1),nl,

write(" :"),readln(GOD1),nl,

write(" N ߠ :"),readln(DVIG1),nl,

write(" N Ƞ :"),readln(SHASI1),nl,

write(" ʠ :"),readln(ZNAC1),nl,

write(" ޠ :"),readln(FAM1),nl,

write(" ߠ :"),readln(IMA1),nl,

write(" Π :"),readln(OTC1),nl,

write(" :"),readln(UCET1),nl,


X1=X,

retract(avto(X,MARK,GOD,DVIG,SHASI,ZNAC,FAM,IMA,OTC,UCET)),

sbros(MARK1,MARK,MARK2),

sbros1(GOD1,GOD,GOD2),

sbros1(DVIG1,DVIG,DVIG2),

sbros1(SHASI1,SHASI,SHASI2),

sbros(ZNAC1,ZNAC,ZNAC2),

sbros(FAM1,FAM,FAM2),

sbros(IMA1,IMA,IMA2),

sbros(OTC1,OTC,OTC2),

sbros(UCET1,UCET,UCET2),

assertz(avto(X1,MARK2,GOD2,DVIG2,SHASI2,ZNAC2,FAM2,

IMA2,OTC2,UCET2)),

!,

removewindow.

rabota(_).

sbros("",MARK,MARK2):-

MARK2=MARK,

!.

sbros(MARK1,_,MARK2):-

MARK2=MARK1,

!.

sbros1("",MARK,MARK2):-

MARK2=MARK,

!.

sbros1(MARK1,_,MARK2):-

str_int(MARK1,MARK3),

MARK2=MARK3,

!.

/* */

rabota1(1):-

makewindow(1,7,7," ",0,0,25,80),

nl,

cursor(7,10),

retractall(_,avto1),

nl,

write(" :"),

readln(X),

avto(N,MARK,GOD,DVIG,SHASI,ZNAC,FAM,IMA,OTC,UCET),

S=MARK,

S=X,

N1=N,GOD1=GOD,DVIG1=DVIG,SHASI1=SHASI,

ZNAC1=ZNAC,FAM1=FAM,IMA1=IMA,OTC1=OTC,UCET1=UCET,

assert(avto1(N1,S,GOD1,DVIG1,SHASI1,ZNAC1,FAM1,

IMA1,OTC1,UCET1)),

fail.


rabota1(1):-

write(" "),nl,

write("╔═════════════════════════════════════════════════════════╗"),nl,

write("║ . ߠ ║"),nl,

write("╠══╦═════════╦═════╦═════╦═════╦═══════╦════════╦═════════╣"),nl,

write("║N║ ║ ║ N ║ N ║ ║. . ║ ͠ ║"),nl,

write("║ ║║║ ║║ ʠ ║ ║ ║"),nl,

write("╠══╬═════════╬═════╬═════╬═════╬═══════╬════════╬═════════╣"),nl,

avto1(N,MARK,GOD,DVIG,SHASI,ZNAC,FAM,IMA,OTC,UCET),

cursor(Z,_),cursor(Z,1),write("║"),

cursor(Z,2),write(N),cursor(Z,4),write("║"),

cursor(Z,5),write(MARK),cursor(Z,14),write("║"),

cursor(Z,15),write(GOD),cursor(Z,20),write("║"),

cursor(Z,21),write(DVIG),cursor(Z,26),write("║"),

cursor(Z,27),write(SHASI),cursor(Z,32),write("║"),

cursor(Z,33),write(ZNAC),cursor(Z,41),write("║"),

cursor(Z,42),write(FAM),cursor(Z,49),write("║"),

cursor(Z,50),write(IMA),cursor(Z,58),write("║"),

cursor(Z,59),write(OTC),cursor(Z,66),write("║"),

cursor(Z,67),write(UCET),

cursor(Z,76),write("║"),

nl,

fail.

rabota1(1):-

write(" ╠══╬═════════╬═════╬═════╬═════╬════════╬════════╬═════════╣"),

save("avto1.dat",avto1),

nl,

write(" avto1.dat"),

nl,

write(" "),

readchar(_),

removewindow,

!.

rabota1(1):-

write(" ╠══╬═════════╬═════╬═════╬═════╬════════╬═══════╬═════════╣"),

nl,

write(" "),

nl,

write(" "),

readchar(_),

makewindow(1,7,7,". ",0,0,25,80).

rabota1(2):-

makewindow(1,7,7," ",0,0,25,80),

nl,

cursor(7,10),

retractall(_,avto2),

nl,

write(" :"),


readint(X),

avto(N,MARK,GOD,DVIG,SHASI,ZNAC,FAM,IMA,OTC,UCET),

S=GOD,

S=X,

N1=N,MARK1=MARK,DVIG1=DVIG,SHASI1=SHASI,ZNAC1=ZNAC,FAM1=FAM,

IMA1=IMA,OTC1=OTC,UCET1=UCET,

assert(avto2(N1,MARK1,S,DVIG1,SHASI1,ZNAC1,FAM1,IMA1,

OTC1,UCET1)),

fail.

rabota1(2):-

write(" "),nl,

write(" ╔════════════════════════════════════════════════════════╗"),nl,

write(" ║ . ߠ ║"),nl,

write(" ╠══╦═════════╦═════╦═════╦═════╦════════╦══════╦═════════╣"),nl,

write(" ║N║ ║ ║ N ║ N ║ ║ ║ ͠ ║"),nl,

write(" ║ ║║║ ║║ ʠ ║ ║ ║"),nl,

write(" ╠══╬═════════╬═════╬═════╬═════╬════════╬══════╬═════════╣"),nl,

avto2(N,MARK,GOD,DVIG,SHASI,ZNAC,FAM,IMA,OTC,UCET),

cursor(Z,_),cursor(Z,1),write("║"),

cursor(Z,2),write(N),cursor(Z,4),write("║"),

cursor(Z,5),write(MARK),cursor(Z,14),write("║"),

cursor(Z,15),write(GOD),cursor(Z,20),write("║"),

cursor(Z,21),write(DVIG),cursor(Z,26),write("║"),

cursor(Z,27),write(SHASI),cursor(Z,32),write("║"),

cursor(Z,33),write(ZNAC),cursor(Z,41),write("║"),

cursor(Z,42),write(FAM),cursor(Z,49),write("║"),

cursor(Z,50),write(IMA),cursor(Z,58),write("║"),

cursor(Z,59),write(OTC),cursor(Z,66),write("║"),

cursor(Z,67),write(UCET),

cursor(Z,76),write("║"),

nl,

fail.

rabota1(2):-

write(" ╠══╬═════════╬═════╬═════╬═════╬════════╬════════╬═════════╣"),

save("avto2.dat",avto2),

nl,

write(" avto2.dat"),

nl,

write(" "),

readchar(_),

removewindow,

!.

rabota1(2):-

write(" ╠══╬═════════╬═════╬═════╬═════╬═══════╬═══════╬═════════╣"),

nl,

write(" "),

nl,

write(" "),

readchar(_),

makewindow(1,7,7,". ",0,0,25,80).


rabota1(3):-

makewindow(1,7,7," ",0,0,25,80),

nl,

cursor(7,10),

retractall(_,avto3),

nl,

write(" :"),

readln(X),

avto(N,MARK,GOD,DVIG,SHASI,ZNAC,FAM,IMA,OTC,UCET),

S=UCET,

S=X,

N1=N,MARK1=MARK,GOD1=GOD,DVIG1=DVIG,SHASI1=SHASI,

ZNAC1=ZNAC,FAM1=FAM,IMA1=IMA,OTC1=OTC,

assert(avto3(N1,MARK1,GOD1,DVIG1,SHASI1,ZNAC1,FAM1,

IMA1,OTC1,S)),

fail.

rabota1(3):-

write(" "),nl,

write(" ╔══════════════════════════════════════════════════════╗"),nl,

write(" ║ . ߠ ║"),nl,

write(" ╠══╦═════════╦═════╦═════╦═════╦══════╦══════╦═════════╣"),nl,

write(" ║N║ ║ ║ N ║ N ║║ ║ ͠ ║"),nl,

write(" ║ ║║║ ║║ ║ ║ ║"),nl,

write(" ╠══╬═════════╬═════╬═════╬═════╬══════╬══════╬═════════╣"),nl,

avto3(N,MARK,GOD,DVIG,SHASI,ZNAC,FAM,IMA,OTC,UCET),

cursor(Z,_),cursor(Z,1),write("║"),

cursor(Z,2),write(N),cursor(Z,4),write("║"),

cursor(Z,5),write(MARK),cursor(Z,14),write("║"),

cursor(Z,15),write(GOD),cursor(Z,20),write("║"),

cursor(Z,21),write(DVIG),cursor(Z,26),write("║"),

cursor(Z,27),write(SHASI),cursor(Z,32),write("║"),

cursor(Z,33),write(ZNAC),cursor(Z,41),write("║"),

cursor(Z,42),write(FAM),cursor(Z,49),write("║"),

cursor(Z,50),write(IMA),cursor(Z,58),write("║"),

cursor(Z,59),write(OTC),cursor(Z,66),write("║"),

cursor(Z,67),write(UCET),

cursor(Z,76),write("║"),

nl,

fail.

rabota1(3):-

write(" ╠══╬═════════╬═════╬═════╬═════╬════════╬════════╬═════════╣"),

save("avto3.dat",avto3),

nl,

write(" avto3.dat"),

nl,

write(" "),

readchar(_),

removewindow,

!.

rabota1(3):-

write(" ╠══╬═════════╬═════╬═════╬═════╬════════╬════════╬═════════╣"),

nl,


write(" "),

nl,

write(" "),

readchar(_),

makewindow(1,7,7,". ",0,0,25,80).

/* */

savebase(1):-

write(" :"),

readln(N),

save(N),

write(" "),

beep,

!.

savebase(1):-

write(" , "),

readchar(_).

savebase(2):-

save("avto.dat").

savebase(3).

/* */

loadbase(1):-

retractall(_),

write(" :"),

readln(N),

existfile(N),

consult(N),

write(" "),

beep,

!.

loadbase(1):-

nl,

write(" "),nl,

write(" "),

readchar(_).

loadbase(2):-

retractall(_),

existfile("avto.dat"),

consult("avto.dat"),

write(" "),

beep,

!.

loadbase(2):-

write(" avto.dat "),nl,

write(" "),

readchar(_).


loadbase(3).

povtor.

povtor:- povtor.

/* */

choice1(N):-

nl,

write("1 - 蠠 "),nl,

write("2 - "),nl,

write("3 - "),nl,

write("4 - N ߠ "),nl,

write("5 - N Ƞ "),nl,

write("6 - ʠ "),nl,

write("7 - ߠ "),nl,

write("8 - ߠ "),nl,

write("9 - Π "),nl,

write("10- "),nl,

write("=>"),

readint(X),

correct(X,N).

correct(1,N):-

nl,

write(" 蠠 :"),

readint(N),

avto(M,_,_,_,_,_,_,_,_,_),

M=N.

correct(1,N):-

N=0.

correct(2,N):-

nl,

write(" :"),

readln(L),

avto(Z,L,_,_,_,_,_,_,_,_),

N=Z.

correct(2,N):-

N=0.

correct(3,N):-

nl,

write(" ࠠ : "),

readint(F),

avto(Z,_,F,_,_,_,_,_,_,_),

N=Z.

correct(3,N):-

N=0.

correct(4,N):-

nl,


write(" N :"),

readint(Q),

avto(Z,_,_,Q,_,_,_,_,_,_),

N=Z.

correct(4,N):-

N=0.

correct(5,N):-

nl,

write(" N 蠠 :"),

readint(W),

avto(Z,_,_,_,W,_,_,_,_,_),

N=Z.

correct(5,N):-

N=0.

correct(6,N):-

nl,

write(":"),

readln(ZNAC),

avto(Z,_,_,_,_,ZNAC,_,_,_,_),

N=Z.

correct(6,N):-

N=0.

correct(7,N):-

nl,

write(":"),

readln(FAM),

avto(Z,_,_,_,_,_,FAM,_,_,_),

N=Z.

correct(7,N):-

N=0.

correct(8,N):-

nl,

write(":"),

readln(IMA),

avto(Z,_,_,_,_,_,_,IMA,_,_),

N=Z.

correct(8,N):-

N=0.

correct(9,N):-

nl,

write(":"),

readln(OTC),

avto(Z,_,_,_,_,_,_,_,OTC,_),

N=Z.


correct(9,N):-

N=0.

correct(10,N):-

nl,

write(":"),

readln(UCET),

avto(Z,_,_,_,_,_,_,_,_,UCET),

N=Z.

" " -

- .

,

.

, , , ,,

, .

,- -

, . -

..

.

:

0 - pp...

1 -

2 -

3 -

4 -

5 -

6 -

7 -

8 - -

9 -

- -

.

.

.

:

1 -

2 -

3 -

4 - N

5 - N

6 -

7 -

8 -

9 -

10-


.

..

(

). -

-

, .

, .

.

" " -

. -

.

. .

.

:

1 -

2 - avto.dat

3 -

1 2 -

Ġ avto.dat

, -

.

.

3 .

.

:

1 -

2 - avto.dat

3 -

-

" ".

.

:

1 -

2 -

3 -

4 -

. .

avto1.dat , av-

to2.dat , avto3.dat

.


4 .

--

.

-

. . -

, ,

, .

.

-

- . -

, -

.

 2:

. "

"

. " - "

. " -

. 2.3"

N -21 " " . -1-95. 1. :

 

 

 

! , , , .
. , :