Составление алгоритма и написание программы на языке Си, моделирующей работу заданного логического устройства двумя способами:

Страницы работы

Содержание работы

Министерство образования российской федерации

Государственное  образовательное учреждение

высшего профессионального образования

Сибирский государственный индустриальный университет

Отчёт  по  лабораторной  работе  №2

Выполнил: студент гр. АЭП-032

Туюнда А. А.

Проверил: Лемешевский  Д. С.

г. Новокузнецк

2004 г.

          Задание:

На основе  представленных  схемы  и  устройства  составить  алгоритм  и  написать  программу  на  языке  Си,  моделирующую работу  заданного  логического  устройства  двумя  способами:

1-й  способ – с  использованием  элементарных  поразрядных  операций  языка  программирования  Си.

2-й  способ – с  использованием  условных  операторов   языка  программирования  Си.

С  целью  проверки  правильного  функционирования  модели  логического  устройства  составить  таблицу  истинности  и  вывести  её  на  экран  дисплея.

         Индивидуальное  задание  В –18:

Подпись: &

Подпись: 1
Подпись: 1
   X1

       X2

 X3

Подпись: &

X4

Рис.1 - Схема  логического   устройства.

Y=X1(X1+X2+X3)+X2X3X4

Алгоритм  первого  способа:

#include<stdio.h>

#include<conio.h>

int x1,x2,x3,x4,y;

main ()

{

printf("-------------------------\n");

printf("| x1 | x2 | x3 | x4 | y |\n");

printf("-------------------------\n");

for (x4=0;x4<=1;x4++)

{for (x3=0;x3<=1;x3++)

{for (x2=0;x2<=1;x2++)

{for (x1=0;x1<=1;x1++)

{y=(x1&(x1|x2|x3))|(x2&x3&x4);

printf("| %d  | %d  | %d  | %d  | %d |\n",x4,x3,x2,x1,y);

}

}

}

}

printf("-------------------------\n");

getch ();

}

      Алгоритм   второго  способа:

#include<stdio.h>

#include<conio.h>

int x1,x2,x3,x4,y,y1,y2,y3;

main ()

{

printf("-------------------------\n");

printf("| x1 | x2 | x3 | x4 | y |\n");

printf("-------------------------\n");

for (x4=0;x4<=1;x4++)

{for (x3=0;x3<=1;x3++)

{for (x2=0;x2<=1;x2++)

{for (x1=0;x1<=1;x1++)

{if (x1==0)

{if (x2==0)

{if (x3==0) y1=0; else y1=1;}

else y1=1;}

else y1=1;

if (x2==1)

{if (x3==1)

{if (x4==1) y2=1; else y2=0;}

else y2=0;}

else y2=0;

if (x1==1)

{if (y1==1) y3=1; else y3=0;}

else y3=0;

if (y3==0)

{if (y2==0) y=0; else y=1;}

else y=1;

printf("| %d  | %d  | %d  | %d  | %d |\n",x4,x3,x2,x1,y);

}

}

}

}

printf(" ------------------------\n");

getch ();

}

 В  результате   выполнения   лабораторной   работы

получаем  таблицу  истинности.

------------------------|  x1 |  x2 |  x3 |  x4 |  y |

------------------------|   0  |   0  |   0  |   0  |   0 |

|   0  |   0  |   0  |   1  |   1 |

|   0  |   0  |   1  |   0  |   0 |

|   0  |   0  |   1  |   1  |   1 |

|   0  |   1  |   0  |   0  |   0 |

|   0  |   1  |   0  |   1  |   1 |

|   0  |   1  |   1  |   0  |   0 |

|   0  |   1  |   1  |   1  |   1 |

|   1  |   0  |   0  |   0  |   0 |

|   1  |   0  |   0  |   1  |   1 |

|   1  |   0  |   1  |   0  |   0 |        Рис.2  Таблица  истинности

|   1  |   0  |   1  |   1  |   1 |

|   1  |   1  |   0  |   0  |   0 |

|   1  |   1  |   0  |   1  |   1 |

|   1  |   1  |   1  |   0  |   1 |

|   1  |   1  |   1  |   1  |   1 |

------------------------      Вывод: На основе представленных схем и функций, описывающих работу логического устройства я научился составлять алгоритм, писать программы на языке Си, моделирующую работу заданного логического устройства двумя способами:

1-й способ- с использованием элементарных поразрядных операций языка программирования Си;

2-й способ – с использованием условных операторов языка программирования Си.

Похожие материалы

Информация о работе