Страница 1 из 1

реализация логических функций

Добавлено: 10 дек 2013, 03:44
ТатьянаП
Здравствуйте. Может кто нибудь сможет мне помочь? Мы в институте начали учить программирование в андроиде и нам дали такое задание:

Дан мультиплексор с 2 адресными входами, функция f(a, b, c) = ...
a, b подключены стало к адресным входам. Пользователь выбирает из листа только, что подключается под определенный информационный вход (0, 1, с, !с).

Вот такое вот странное задание. Может у кого то есть идеи как это реализовать?!

P.S. Вопрос жизни и смерти

Re: реализация логических функций

Добавлено: 11 дек 2013, 20:35
altwin
это явно не полная задача, к тому же формулировка вопроса странная... а вообще посмотрите тут https://code.google.com/p/jetlang/

По сути вам просто нужно 2 потока ожидающие input. a,b - потоки, c - флаг(допускающий значения (0, 1, с, !с) или банально true/false)

ну и что -то вроде логики в псевдокоде есть в вики:

Код: Выделить всё

пример:
  Мультиплексор, бесконечно читающий из массива каналов in[] и передающий в общий канал out,
  используя промежуточную переменную temp
     WHILE TRUE
       INT temp :
       ALT i=0 FOR N
         in[i] ? temp
           out ! temp
и

Код: Выделить всё

пример:
  Каскад параллельно работающих мультиплексоров.
  На входе — массив из M*N каналов in[], на выходе — канал out.  
  Массив из M каналов ch[] используется для связи между мультиплексорами каскада:
     PAR -- каскад параллельных мультиплексоров ввода
       PAR i=0 FOR M -- M параллельных мультиплексоров, обрабатывающих по N каналов из in[] каждый
         WHILE TRUE
           INT temp :
           ALT j=i*N FOR N
             in[j] ? temp
               ch[i] ! temp
       WHILE TRUE -- корневой мультиплексор, читающий M промежуточных каналов ch[]
         INT temp :
         ALT i=0 FOR M
           ch[i] ? temp
             out ! temp