| Назва: | Логічні елементи, що застосовуються в електронно-обчислювальній техніці |
| Тип: | Реферати |
| Мова: | Українська |
| Розмiр: | 790,57 KB |
| Скачувань: | 44 |
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.
}
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.