Консультация № 186800
11.11.2012, 22:20
78.80 руб.
0 3 1
Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос:
На основе представленных схемы и функции, описывающих работу логического устройства составить алгоритм и написать программу на языке Си, моделирующую работу заданного логического устройства двумя способами:
1-й способ – с использованием элементарных поразрядных операций языка программирования Си;
2-й способ – с использованием условных операторов языка программирования Си.
Варианты индивидуальных заданий в приложении А.
С целью проверки правильного функционирования модели логического устройства составить таблицу истинности и вывести ее на экран дисплея.

Обсуждение

давно
Посетитель
7438
7205
12.11.2012, 23:28
общий
это ответ
Здравствуйте, Посетитель - 383833!
Вот Вам программка.
Обе подпрограммы считают сигналами x1,x2,x3,x4 младший бит соответствующих байтов.
Код:
#include <windows.h>
#include <stdio.h>
#include <conio.h>

bool CalcMethod_1(bool x1, bool x2, bool x3, bool x4)
{
return (((x1 | x2 | x3) & x2) | ((x2 | x3 | x4) & x3));
}

bool CalcMethod_2(bool x1, bool x2, bool x3, bool x4)
{
return (((x1 || x2 || x3) && x2) || ((x2 || x3 || x4) && x3));
}

int main()
{
printf("Truth table:\n");
printf("x1\tx2\tx3\tx4\ty1\ty2\n");
for (int x1=0; x1<2; x1++)
for (int x2=0; x2<2; x2++)
for (int x3=0; x3<2; x3++)
for (int x4=0; x4<2; x4++)
printf("%d\t%d\t%d\t%d\t%d\t%d\n",x1,x2,x3,x4,
CalcMethod_1(x1,x2,x3,x4), CalcMethod_2(x1,x2,x3,x4));
getch();
return 0;
}
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
давно
Профессионал
304622
583
16.11.2012, 20:28
общий
Адресаты:
А мне показалось, что вариант 2) должен быть сделан через команду if.

(Хотя с другой стороны и вариант 1) какой-то странный: зачем в такой задаче потребовались побитовые операции?)
давно
Посетитель
7438
7205
19.11.2012, 11:25
общий
Адресаты:
Можно и через if, а чем плох такой вариант? Условные операторы использованы? Использованы. Зато компактно.
Автор ничего не сказал... Значит, устроило...
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
Форма ответа