̲
òͲ Ͳ .....................................3
1 ............................................................................................3
2 ....................................................................5
3 ..........................................................................................................11
4 ˳....................................................................................................14
5 ....................................................................................21
6 .......................................................................................................29
1 ' ..............................................................32
2 - ..................................................................................33
3 .................................................................................34
4 ....................................................................................34
.............................................................................................................34
ί ˲.........................................................35
.................................................................................................................36
òͲ Ͳ
1 òͲ
- , . , , . , . ˳ , - . 1 , :
(');
(a)
()
();
Ͳ ( 1)
().
, . ֳ . :
-Ͳ
-Ͳ
-
--Ͳ
2
1 -
2 , , Ͳ ( 2).
2 - 2
, . . , , -Ͳ ' +U., , -Ͳ, 2 - (0 ).
|
|
3 .
3 -
2 Ͳ
' . - , . ϳ 䳺 . .
, - . , . (). , . 䳿 , . , ( ). :
Q ;
- ;
S - ( Q);
R - ( Q);
D - ( , );
- ;
- .
RS- , D- -. .
RS-. RS- . 4. : 2-Ͳ - ( 4, ), 2-Ͳ - ( 4, ). ' , . 1.1 .
4 - RS-
aftvin
1 - RS-
S | R | |||||||||||
* * | * * | * * | * * |
1 Qt Q't , . , 䳺 ( , ). -Ͳ , -Ͳ - . г, , . г Qt+1 Q't+1 . Qt+1=1 S=1 R=0; Qt+1=0 S=0 R=1; Qt+1=Qt S=0 R=0. R=S=1 (*), 䳿 Qt+1=Q't+1, 䳿 - . .
|
|
S=1, R=0 1 ( Qt+1=1); S=0 R=1 - 0. S=0, R=0 , . 1 S=0, R=1, 0 - S=1, R=0. S=R=1 . S=R=0 .
D-. ³ . D- 5.
5 - D-
=0, . RS- ( 3 4) (S=R=1). =1 , D. , =0 Qt+1=Qt, =1 Qt+1=D( 2).
2 - D-
D | ||
Qt , a Qt+1 - .
, , . , .
D- . , =1. . . , , - . .
˳ - ( 6). . ³ Q Q'. ( ) . , , -, , . D-, ' . , - , .
6 - ˳
, , JK-. ' JK- - .
7.
7 -
3 ò
ʳ ' - . ().
D- ( 8) , , . . '. , .
|
|
, , 9. (0 1), D, , . , , , D Q , ( ). . N- N . , 1011 (1 - Q4, 0 - Q3, 1 - Q2, 1 - Q1) . Q4-Q1. , , Q4 (5-9). .
8 - D-
, , . . , 5551 ( 10) - . , 1, V2 . V1 . V2 , D1-D4 , 2.
9 -
10 -
4 ˲
˳ , , . , , . , , , , .
, ' D . N 11. (Q0) 1, 0. , , 1 , , , , 1. (N-1) , N- , . , (- ), .
11 - ʳ
- , . , , -. ϳ D , . dz n (' ), . 1 0 .
|
|
̳ 5555 ( 12) ( 1) ( 2), ' . ( 1 0). ' , 24=16. , N=24-1=15=(1111)2. (), 2, =2n . ˳ 0.
12 - ˳ 16
, 2n. , 6 ( ), 10 ( ), 7 ( ), 24 (). ≠ 2n n , 2n>K. , (2n-). ', , .
=10 ( 23<10<24). ˳ N=0, 1,..., 8, 9. , (N=10), . 5555 ( 13), ' , 10 ( 2 8), 0 ( R). 11- ( 10) ' ( 2), .
13 - -
, 5552 5556 =10, 5554 =2×=12.
( 11-13), , , f , , f, . , , . , 5551 - 10, 5558 - =64/n, n=1....63.
, , 5556, 5557, ( ), ( ) .
̳ 5551 ( 14) - 10. 0 1 2 ( ). ˳ 8 9 ( ), ( ).
14 -
5552 ( 15) ( 1) 5 ( 2). 瑺 2 - ( 13). ϳ . ˳ 0 (R0 ) 9 (R9 ).
15 - -
5554 ( 16) 6.
16 - ˳ 5554
̳ 5556 5557 - ; - -, - . 0 R. , D1-D4 ( 5556 0 9, 5557 0 15). S ( 1 2 - , R - ). , 1 ( ) 2 ( ). . S , R - , D . () 1 1 ' , , . 2, 9 (15), 2 ' . . 18. (S=0) 6 ( D2 D3).
|
|
17 -
, - 㳺 ( 164, 176, 564, 561), ( 3 ) R. . , RC- ( 19).
18 - 5556, 5557
19 - 0
̳ 176 1764 ( 1.20) 6 10 , . , 2 6 ( 3 2) 176 1764 4 10. ˳ . ( =0), ( =1) , 䒺 . ˳ . f>50 . 瑺 6 (176) 10 (1764).
20 - ˳ 6 (10)
5 ײ IJ
. ¯ ' . ' . . () n- . ( ) . , 0 9. - (0-9). ' (Yl, Y2,...) . ( 3), .
3 -
Y8 | Y4 | Y2 | Y1 | Y8 | Y4 | Y2 | Y1 | ||
Y1 ' - X1, , 5, 7, 9, Y1=X1 X3 X5 X7 X9. , : , ( 21). Y2=X2 X3 X6 X7; Y4=X4 X5 X6 X7; Y8=X8 X9. , : , ( 21).
21 -
() , , . , , .
5551 - 8421 22. - , .
22 - 5551: ) ; )
. , 5554 ( , 23, ) 1 4, 5551 1761 1 10, 555 ( 23, ) - 1 16.
23 -
5551 . 䒺 ( ) , 䒺 200-250 . 䒺 .
̳ 5554 4 ' ( 3 13) . . - , . 1 2 , , , . ( ) : 3=1 4=0.
555 8421 16 . ( 1 2 ) ' 32 ( 24), 64 ( ).
24 - 32
- - . , , . 5551 . (≈200 ). , , . ( 25). ( ) ( ), 0, 1,..., 9. - 8421 26.
25 -
26 - -
514 . ( ). =1. 5141 , , 5142 - . 5142 䒺 (200 - 500 ), .
̳ 1762 176 '. ' , S ( =0). =1, . - =0 =1. . 9-12 ( 2-3 ).
, - . , .
, () N .
27. Q Di, i l, 2. ,
.
, .
( ), ( ), ( 28). V ( ). ̳ 5612 , . .
: , . ( select - ).
27 -
28 -
6
. , i- ( Ai, Bi , Pi) Pi+1.
( 4)
( 29). 30. , 瑺 ( 31).
4 -
г | S | Pi+1 | ||
29 -
30 -
31 -
-, - , ' - . 555, , : 5551, 5552 5553 (. 32).
32 -
57. , - . , .
1
Di Q, Ai. . .
A0 | A1 | E | Q |
* | * | ||
D0 | |||
D1 | |||
D2 | |||
D3 |
, , , 4, 8, 16- ( 4-1, 8-1, 16-1). .
2 -
3
selector.exe , , . . , , , egavga.bgi - . ϳ , , , , .
.
4
Turbo C++. . 0 1 n, n - . switch .
, , - . , 䒺 , . () .
˲
.., .., .. . ³:, , 2000.
. . . . . ³:, ,2000.- 112 .
selector.cpp
#include <iostream.h>
#include <conio.h>
#include <graphics.h>
#include <math.h>
//
void sub_intro()
{
setcolor(3);
settextstyle(0,HORIZ_DIR,2);
outtextxy(90,100," ");
settextstyle(1,HORIZ_DIR,0);
setcolor(5);
outtextxy(210,150,"в :");
setcolor(15);
settextstyle(0,HORIZ_DIR,2);
outtextxy(300,200,"4-1");
outtextxy(300,240,"8-1");
outtextxy(300,280,"16-1");
setcolor(1);
settextstyle(1,HORIZ_DIR,0);
outtextxy(460,400," ");
outtextxy(460,420," 1 -05");
outtextxy(460,440," ");
settextstyle(0,HORIZ_DIR,2);
}
// ,
int intro()
{
int n,i,key;
i=0;
n=i+2;// n-
sub_intro();
setcolor(4);
outtextxy(280,200,">");
while(!kbhit())
{
key=getch();if(key==13) goto next;//
key=getch();
//
switch(key)
{
case 72:cleardevice();
i--;
if(i<0) i=2;
n=i+2;
sub_intro();
setcolor(4);
outtextxy(280,200+i*40,">");
break;
case 80:cleardevice();
i++;
if(i>2)i=0;
n=i+2;
sub_intro();
setcolor(4);
outtextxy(280,200+i*40,">");
break;
}
}
next:cleardevice();
settextstyle(1,HORIZ_DIR,0);
return(n);
}
//
void instr(int x0,int y0,int n)
{
int x,y,zm;
if(n==4){x=x0+450;y=y0;zm=20;}
else {x=x0;y=y0;}
outtextxy(x,y,"²ز:");
if(n!=4)outtextxy(x,y+20,"ENTER ");
else
{
outtextxy(x,y+20,"ENTER -");
outtextxy(x,y+40," ");
}
outtextxy(x,y+40+zm,"UP - ");
outtextxy(x,y+60+zm,"DOWN - ");
outtextxy(x,y+80+zm,"ESC - ");
}
//
void table(int x,int y,int n)//x,y-
{ //n-
int i,L0=100/n;
setcolor(7);
for(i=0;i<pow(2,n)+3;i++)
line(x,y+i*L0,x+(n+2)*L0,y+i*L0);
for(i=0;i<(n+3);i++)
line(x+i*L0,y,x+i*L0,y+(pow(2,n)+2)*L0);
}
//
void fill(int x,int y, int n)
{
int i,j,k,t,g,L0=100/n;
for(i=0;i<n;i++)
switch(i)
{
case 0:outtextxy(x+L0/3+i*L0,y+L0/2,"A0");
outtextxy(x+L0/3+i*L0,y+1.5*L0,"*");break;
case 1:outtextxy(x+L0/3+i*L0,y+L0/2,"A1");
outtextxy(x+L0/3+i*L0,y+1.5*L0,"*");break;
case 2:outtextxy(x+L0/3+i*L0,y+L0/2,"A2");
outtextxy(x+L0/3+i*L0,y+1.5*L0,"*");break;
case 3:outtextxy(x+L0/3+i*L0,y+L0/2,"A3");
outtextxy(x+L0/3+i*L0,y+1.5*L0,"*");break;
}
switch(n)
{
case 2:outtextxy(x+L0/3+2*L0,y+L0/2,"E");
outtextxy(x+L0/3+2*L0,y+1.5*L0,"0");
outtextxy(x+L0/3+3*L0,y+L0/2,"Q");
outtextxy(x+L0/3+3*L0,y+1.5*L0,"0");break;
case 3:outtextxy(x+L0/3+3*L0,y+L0/2,"E");
outtextxy(x+L0/3+3*L0,y+1.5*L0,"0");
outtextxy(x+L0/3+4*L0,y+L0/2,"Q");
outtextxy(x+L0/3+4*L0,y+1.5*L0,"0");break;
case 4:outtextxy(x+L0/3+4*L0,y+L0/2,"E");
outtextxy(x+L0/3+4*L0,y+1.5*L0,"0");
outtextxy(x+L0/3+5*L0,y+L0/2,"Q");
outtextxy(x+L0/3+5*L0,y+1.5*L0,"0");break;
}
t=2;
switch(n)//
{
case 2:// 2-
for(i=0;i<2;i++)
for(j=0;j<2;j++)
{
switch(i)
{
case 0:outtextxy(x+L0/3,y+t*L0+L0/2,"0");break;
case 1:outtextxy(x+L0/3,y+t*L0+L0/2,"1");
}
switch(j)
{
case 0:outtextxy(x+L0/3+L0,y+t*L0+L0/2,"0");break;
case 1:outtextxy(x+L0/3+L0,y+t*L0+L0/2,"1");
}
outtextxy(x+L0/3+2*L0,y+t*L0+L0/2,"1");
t++;
}
break;
case 3:// 3- .
for(i=0;i<2;i++)
for(j=0;j<2;j++)
for(k=0;k<2;k++)
{
switch(i)
{
case 0:outtextxy(x+L0/3,y+t*L0+L0/2,"0");break;
case 1:outtextxy(x+L0/3,y+t*L0+L0/2,"1");
}
switch(j)
{
case 0:outtextxy(x+L0/3+L0,y+t*L0+L0/2,"0");break;
case 1:outtextxy(x+L0/3+L0,y+t*L0+L0/2,"1");
}
switch(k)
{
case 0:outtextxy(x+L0/3+2*L0,y+t*L0+L0/2,"0");break;
case 1:outtextxy(x+L0/3+2*L0,y+t*L0+L0/2,"1");
}
outtextxy(x+L0/3+3*L0,y+t*L0+L0/2,"1");
t++;
}
break;
case 4: // 4- .
for(i=0;i<2;i++)
for(j=0;j<2;j++)
for(k=0;k<2;k++)
for(g=0;g<2;g++)
{
switch(i)
{
case 0:outtextxy(x+L0/3,y+t*L0+L0/2,"0");break;
case 1:outtextxy(x+L0/3,y+t*L0+L0/2,"1");
}
switch(j)
{
case 0:outtextxy(x+L0/3+L0,y+t*L0+L0/2,"0");break;
case 1:outtextxy(x+L0/3+L0,y+t*L0+L0/2,"1");
}
switch(k)
{
case 0:outtextxy(x+L0/3+2*L0,y+t*L0+L0/2,"0");break;
case 1:outtextxy(x+L0/3+2*L0,y+t*L0+L0/2,"1");
}
switch(g)
{
case 0:outtextxy(x+L0/3+3*L0,y+t*L0+L0/2,"0");break;
case 1:outtextxy(x+L0/3+3*L0,y+t*L0+L0/2,"1");
}
outtextxy(x+L0/3+4*L0,y+t*L0+L0/2,"1");
t++;
}
}
for(i=2;i<(pow(2,n)+2);i++)
switch(i)
{
case 2:outtextxy(x+L0/4+(n+1)*L0,y+i*L0+L0/2,"D0");break;
case 3:outtextxy(x+L0/4+(n+1)*L0,y+i*L0+L0/2,"D1");break;
case 4:outtextxy(x+L0/4+(n+1)*L0,y+i*L0+L0/2,"D2");break;
case 5:outtextxy(x+L0/4+(n+1)*L0,y+i*L0+L0/2,"D3");break;
case 6:outtextxy(x+L0/4+(n+1)*L0,y+i*L0+L0/2,"D4");break;
case 7:outtextxy(x+L0/4+(n+1)*L0,y+i*L0+L0/2,"D5");break;
case 8:outtextxy(x+L0/4+(n+1)*L0,y+i*L0+L0/2,"D6");break;
case 9:outtextxy(x+L0/4+(n+1)*L0,y+i*L0+L0/2,"D7");break;
case 10:outtextxy(x+L0/4+(n+1)*L0,y+i*L0+L0/2,"D8");break;
case 11:outtextxy(x+L0/4+(n+1)*L0,y+i*L0+L0/2,"D9");break;
case 12:outtextxy(x+L0/10+(n+1)*L0,y+i*L0+L0/2,"D10");break;
case 13:outtextxy(x+L0/10+(n+1)*L0,y+i*L0+L0/2,"D11");break;
case 14:outtextxy(x+L0/10+(n+1)*L0,y+i*L0+L0/2,"D12");break;
case 15:outtextxy(x+L0/10+(n+1)*L0,y+i*L0+L0/2,"D13");break;
case 16:outtextxy(x+L0/10+(n+1)*L0,y+i*L0+L0/2,"D14");break;
case 17:outtextxy(x+L0/10+(n+1)*L0,y+i*L0+L0/2,"D15");break;
}
}
//
void mult(int x,int y,int n)//x,y-
{ //-
int i,w=90/n,L0=80/n;
setcolor(7);
line(x,y,x,y+L0*(3+n+pow(2,n)));
line(x+w,y,x+w,y+L0*(3+n+pow(2,n)));
line(x+5*w,y,x+5*w,y+L0*(3+n+pow(2,n)));
line(x+6*w,y,x+6*w,y+L0*(3+n+pow(2,n)));
line(x,y,x+6*w,y);
line(x,y+L0*(3+n+pow(2,n)),x+6*w,y+L0*(3+n+pow(2,n))); line(x,y+L0*(1+pow(2,n)),x+w,y+L0*(1+pow(2,n)));
line(x,y+L0*(2+n+pow(2,n)),x+w,y+L0*(2+n+pow(2,n)));
outtextxy(x+L0/2,y+L0/3,"D");
outtextxy(x+L0/2,y+(1+pow(2,n))*L0+L0/3,"A");
outtextxy(x+L0/2,y+(2+n+pow(2,n))*L0+L0/3,"E");
line(x-w,y+(2+n+pow(2,n))*L0+L0/2,x,y+(2+n+pow(2,n))*L0+L0/2);
outtextxy(x+5*w+L0/2,y+L0*(3+n+pow(2,n))/2,"Q");
line(x+6*w,y+L0*(3+n+pow(2,n))/2,x+7*w,y+L0*(3+n+pow(2,n))/2);
for(i=0;i<n;i++)
//
switch(i)
{
case 0:outtextxy(x+L0/2,y+(1+pow(2,n))*L0+L0+L0/3,"0");
line(x-w,y+(1+pow(2,n))*L0+L0+L0/2,x,y+(1+pow(2,n))*L0+L0+L0/2);
break;
case 1:outtextxy(x+L0/2,y+(1+pow(2,n))*L0+2*L0+L0/3,"1");
line(x-w,y+(1+pow(2,n))*L0+2*L0+L0/2,x,y+(1+pow(2,n))*L0+2*L0+L0/2);
break;
case 2:outtextxy(x+L0/2,y+(1+pow(2,n))*L0+3*L0+L0/3,"2");
line(x-w,y+(1+pow(2,n))*L0+3*L0+L0/2,x,y+(1+pow(2,n))*L0+3*L0+L0/2);
break;
case 3:outtextxy(x+L0/2,y+(1+pow(2,n))*L0+4*L0+L0/3,"3");
line(x-w,y+(1+pow(2,n))*L0+4*L0+L0/2,x,y+(1+pow(2,n))*L0+4*L0+L0/2);
break;
}
for(i=0;i<pow(2,n);i++)
//
switch(i)
{
case 0:outtextxy(x+L0/2,y+L0/3+L0,"0");
line(x-w,y+L0/2+L0,x,y+L0/2+L0);break;
case 1:outtextxy(x+L0/2,y+L0/3+2*L0,"1");
line(x-w,y+L0/2+2*L0,x,y+L0/2+2*L0);break;
case 2:outtextxy(x+L0/2,y+L0/3+3*L0,"2");
line(x-w,y+L0/2+3*L0,x,y+L0/2+3*L0);break;
case 3:outtextxy(x+L0/2,y+L0/3+4*L0,"3");
line(x-w,y+L0/2+4*L0,x,y+L0/2+4*L0);break;
case 4:outtextxy(x+L0/2,y+L0/3+5*L0,"4");
line(x-w,y+L0/2+5*L0,x,y+L0/2+5*L0);break;
case 5:outtextxy(x+L0/2,y+L0/3+6*L0,"5");
line(x-w,y+L0/2+6*L0,x,y+L0/2+6*L0);break;
case 6:outtextxy(x+L0/2,y+L0/3+7*L0,"6");
line(x-w,y+L0/2+7*L0,x,y+L0/2+7*L0);break;
case 7:outtextxy(x+L0/2,y+L0/3+8*L0,"7");
line(x-w,y+L0/2+8*L0,x,y+L0/2+8*L0);break;
case 8:outtextxy(x+L0/2,y+L0/3+9*L0,"8");
line(x-w,y+L0/2+9*L0,x,y+L0/2+9*L0);break;
case 9:outtextxy(x+L0/2,y+L0/3+10*L0,"9");
line(x-w,y+L0/2+10*L0,x,y+L0/2+10*L0);break;
case 10:outtextxy(x+L0/5,y+L0/3+11*L0,"10");
line(x-w,y+L0/2+11*L0,x,y+L0/2+11*L0);break;
case 11:outtextxy(x+L0/5,y+L0/3+12*L0,"11");
line(x-w,y+L0/2+12*L0,x,y+L0/2+12*L0);break;
case 12:outtextxy(x+L0/5,y+L0/3+13*L0,"12");
line(x-w,y+L0/2+13*L0,x,y+L0/2+13*L0);break;
case 13:outtextxy(x+L0/5,y+L0/3+14*L0,"13");
line(x-w,y+L0/2+14*L0,x,y+L0/2+14*L0);break;
case 14:outtextxy(x+L0/5,y+L0/3+15*L0,"14");
line(x-w,y+L0/2+15*L0,x,y+L0/2+15*L0);break;
case 15:outtextxy(x+L0/5,y+L0/3+16*L0,"15");
line(x-w,y+L0/2+16*L0,x,y+L0/2+16*L0);break;
}
}
//,
void arrow(int x, int y)
{
setfillstyle(1,4);
setcolor(4);
line(x,y,x-20,y-10);
line(x,y,x-20,y+10);
line(x-15,y,x-20,y-10);
line(x-15,y,x-20,y+10);
floodfill(x-5,y,4);
}
//
void adress(int x,int y,int n,int m)
{
int i,j,k,g,t,L0=100/n;
t=0;
switch(n)
{
case 2:// 2- .
for(i=0;i<2;i++)
for(j=0;j<2;j++)
{
switch(i)
{
case 0:if(t==m)outtextxy(x-90/n,y+(1+pow(2,n))*L0,"0");
break;
case 1:if(t==m)outtextxy(x-90/n,y+(1+pow(2,n))*L0,"1");
}
switch(j)
{
case 0:if(t==m)outtextxy(x-90/n,y+(2+pow(2,n))*L0-L0/5,"0");
break;
case 1:if(t==m)outtextxy(x-90/n,y+(2+pow(2,n))*L0-L0/5,"1");
}
outtextxy(x-90/n,y+(3+pow(2,n))*L0-L0/2.5,"1");
t++;
}
break;
case 3:// 3- .
for(i=0;i<2;i++)
for(j=0;j<2;j++)
for(k=0;k<2;k++)
{
switch(i)
{
case 0:if(t==m)outtextxy(x-90/n,y+pow(2,n)*L0,"0");break;
case 1:if(t==m)outtextxy(x-90/n,y+pow(2,n)*L0,"1");
}
switch(j)
{
case 0:if(t==m)outtextxy(x-90/n,y+pow(2,n)*L0+L0-L0/4,"0");
break;
case 1:if(t==m)outtextxy(x-90/n,y+pow(2,n)*L0+L0-L0/4,"1");
}
switch(k)
{
case 0:if(t==m)outtextxy(x-90/n,y+pow(2,n)*L0+2*L0-L0/2,"0");
break;
case 1:if(t==m)outtextxy(x-90/n,y+pow(2,n)*L0+2*L0-L0/2,"1");
}
outtextxy(x-90/n,y+pow(2,n)*L0+3*L0-L0/1.5,"1");
t++;
}
break;
case 4:// 4- .
for(i=0;i<2;i++)
for(j=0;j<2;j++)
for(k=0;k<2;k++)
for(g=0;g<2;g++)
{
switch(i)
{
case 0:if(t==m)outtextxy(x-90/n,y+(pow(2,n)-2)*L0+L0/3,"0");
break;
case 1:if(t==m)outtextxy(x-90/n,y+(pow(2,n)-2)*L0+L0/3,"1");
}
switch(j)
{
case 0:if(t==m)outtextxy(x-90/n,y+(pow(2,n)-1)*L0+L0/6,"0");
break;
case 1:if(t==m)outtextxy(x-90/n,y+(pow(2,n)-1)*L0+L0/6,"1");
}
switch(k)
{
case 0:if(t==m)outtextxy(x-90/n,y+(pow(2,n))*L0,"0");break;
case 1:if(t==m)outtextxy(x-90/n,y+(pow(2,n))*L0,"1");
}
switch(g)
{
case 0:if(t==m)outtextxy(x-90/n,y+(pow(2,n)+1)*L0-L0/4,"0");
break;
case 1:if(t==m)outtextxy(x-90/n,y+(pow(2,n)+1)*L0-L0/4,"1");
}
outtextxy(x-90/n,y+(pow(2,n)+2)*L0-L0/2.5,"1");
t++;
}
}
}
void main()
{
int dr=DETECT,mod,y,i,n,L0,key,c;
initgraph(&dr,&mod,"");
again:;
n=intro();
table(25,10,n);
fill(25,10,n);
mult(310,10,n);
instr(20,380,n);
i=-1;
y=0;
L0=80/n;
setcolor(2);
// .
if(n==2)outtextxy(310-90/n,75+(3+pow(2,n))*L0-L0/2.5,"0");
if(n==3)outtextxy(310-90/n,82+pow(2,n)*L0+3*L0-L0/1.5,"0");
if(n==4)outtextxy(310-90/n,95+n+(pow(2,n)+2)*L0-L0/2.5,"0");
outtextxy(310+450/n+1.5*L0,y+L0*(3+n+pow(2,n))/2,"0");
// .
while(!kbhit())
{
key=getch();if(key==13){cleardevice();goto again;}
if(key==27) goto next;
key=getch();
//
switch(key)
{
case 72:cleardevice();//
table(25,10,n);
fill(25,10,n);
mult(310,10,n);
instr(20,380,n);
i--;
if(i<0) i=pow(2,n)-1;
arrow(260,10+(i+1)*L0+L0/2);//y+L0/2+7*L0
setcolor(2);
// .
switch(i)
{
case 0:outtextxy(310+450/n+1.5*L0,y+L0*(3+n+pow(2,n))/2,"D0");
break;
case 1:outtextxy(310+450/n+1.5*L0,y+L0*(3+n+pow(2,n))/2,"D1");
break;
case 2:outtextxy(310+450/n+1.5*L0,y+L0*(3+n+pow(2,n))/2,"D2");
break;
case 3:outtextxy(310+450/n+1.5*L0,y+L0*(3+n+pow(2,n))/2,"D3");
break;
case 4:outtextxy(310+450/n+1.5*L0,y+L0*(3+n+pow(2,n))/2,"D4");
break;
case 5:outtextxy(310+450/n+1.5*L0,y+L0*(3+n+pow(2,n))/2,"D5");
break;
case 6:outtextxy(310+450/n+1.5*L0,y+L0*(3+n+pow(2,n))/2,"D6");
break;
case 7:outtextxy(310+450/n+1.5*L0,y+L0*(3+n+pow(2,n))/2,"D7");
break;
case 8:outtextxy(310+450/n+1.5*L0,y+L0*(3+n+pow(2,n))/2,"D8");
break;
case 9:outtextxy(310+450/n+1.5*L0,y+L0*(3+n+pow(2,n))/2,"D9");
break;
case 10:outtextxy(310+450/n+1.5*L0,y+L0*(3+n+pow(2,n))/2,"D10");
break;
case 11:outtextxy(310+450/n+1.5*L0,y+L0*(3+n+pow(2,n))/2,"D11");
break;
case 12:outtextxy(310+450/n+1.5*L0,y+L0*(3+n+pow(2,n))/2,"D12");
break;
case 13:outtextxy(310+450/n+1.5*L0,y+L0*(3+n+pow(2,n))/2,"D13");
break;
case 14:outtextxy(310+450/n+1.5*L0,y+L0*(3+n+pow(2,n))/2,"D14");
break;
case 15:outtextxy(310+450/n+1.5*L0,y+L0*(3+n+pow(2,n))/2,"D15");
break;
}
adress(310,10,n,i);
break;
case 80:cleardevice();//
table(25,10,n);
fill(25,10,n);
mult(310,10,n);
instr(20,380,n);
i++;
if(i>pow(2,n)-1) i=0;
arrow(260,(i+1)*L0+10+L0/2);
setcolor(2);
switch(i)
{
case 0:outtextxy(310+450/n+1.5*L0,y+L0*(3+n+pow(2,n))/2,"D0");
break;
case 1:outtextxy(310+450/n+1.5*L0,y+L0*(3+n+pow(2,n))/2,"D1");
break;
case 2:outtextxy(310+450/n+1.5*L0,y+L0*(3+n+pow(2,n))/2,"D2");
break;
case 3:outtextxy(310+450/n+1.5*L0,y+L0*(3+n+pow(2,n))/2,"D3");
break;
case 4:outtextxy(310+450/n+1.5*L0,y+L0*(3+n+pow(2,n))/2,"D4");
break;
case 5:outtextxy(310+450/n+1.5*L0,y+L0*(3+n+pow(2,n))/2,"D5");
break;
case 6:outtextxy(310+450/n+1.5*L0,y+L0*(3+n+pow(2,n))/2,"D6");
break;
case 7:outtextxy(310+450/n+1.5*L0,y+L0*(3+n+pow(2,n))/2,"D7");
break;
case 8:outtextxy(310+450/n+1.5*L0,y+L0*(3+n+pow(2,n))/2,"D8");
break;
case 9:outtextxy(310+450/n+1.5*L0,y+L0*(3+n+pow(2,n))/2,"D9");
break;
case 10:outtextxy(310+450/n+1.5*L0,y+L0*(3+n+pow(2,n))/2,"D10");
break;
case 11:outtextxy(310+450/n+1.5*L0,y+L0*(3+n+pow(2,n))/2,"D11");
break;
case 12:outtextxy(310+450/n+1.5*L0,y+L0*(3+n+pow(2,n))/2,"D12");
break;
case 13:outtextxy(310+450/n+1.5*L0,y+L0*(3+n+pow(2,n))/2,"D13");
break;
case 14:outtextxy(310+450/n+1.5*L0,y+L0*(3+n+pow(2,n))/2,"D14");
break;
case 15:outtextxy(310+450/n+1.5*L0,y+L0*(3+n+pow(2,n))/2,"D15");
break;
}
adress(310,10,n,i);
break;
}
}
next:closegraph();
}
8-1.