Задача про голосование #304988


#0 by motor_58
Собственно задача за экзамен!!! ПОМОГИТЕ кто чем может, плыззз!!! Задача: построить машину для подсчета голосов, где 10 членов независимы друг от друга.одним словом надо сделать такую вещь, что при голосовании 10 человек на экран(если писать программу по конечной формуле, или если собрать электрическую цепь по конечной формуле чтоб загорелась лампочка в случае "за", или не загорелась (или лампа другого цвета)в случае "нет" ) выводилось сообщение "за" или "против" (по большинству определяется конечный результат), там все решается через конъюнкции дизъюнкции и т.д. просто составлять табл истиности для 10 перемен нет времени и вообще не реал для человека который в 4 переменных путается. мож кто знает другой способ решения или автоматизировано выведет конечную формулу. сейчас информации никакой под рукой нет, позже выложу теоретические тексты из учебников, в одном даже есть похожий пример!! буду благодарен за любую помощь. преподаватели математической логики откликнитесь!!!! :)
#1 by motor_58
пишите сюда а по возможности на motor58@rambler.ru свои мысли
#2 by Партнер
А если голоса разделились поровну ?
#3 by motor_58
ну естесно можно сделать 3 сигнал (з-го цвета), или никакого действия. я вообще случайно наткнулся на сайт, а с собой никаких мануалов нет, поэтому попытался сам сформулировать задачу как помню! завтра закину точные данные и требования, если нужно. за помощь буду благодарен, причем не на словах....:) решившему задачу будут переведены на электронный кошелек премиальные. и это не развод!
#4 by Злопчинский
блин, ЗПС... а потом это в думе внедряется...
#5 by tor0310
в Думе ставят счетчик голосов и не паряться.... а тут задачка не кислая... не перечитывая курс лекций дискретной математики неасилил
#6 by motor_58
самое интересное у меня препод знакомые есть который на неск лет моложе препода кот у меня ведет, так он до конца не осилил пока что , так что выложу позже материал весь наработанный! думаю разберемся всеобщими усилиями?!
#7 by SKrin
не совсем понятно что должна представлять из себя эта машина да и задача, на мой взгляд сформулирована как-то расплывчато
#8 by tor0310
насколько я понимаю реализацию в виде набора логических сложения, умножения и отрицания. Ну или реализацию пободного на схеме, что по сути одно и то же
#9 by motor_58
tor0310   верно сказано!
#10 by motor_58
tor0310  верно
#11 by Asmody
входы бинарные? т.е. возможен вариант "воздержался" или нет?
#12 by motor_58
нет, все голосуют!
#13 by tor0310
для 4х выглядит вот так: x(y+z+t) + y(z+t) + zt для 10 это просто будет больше для 4х главное описать все варианты по 2 "за", если их будут 3 или 4, то это просто будет часный случай описания из этих 2х"за" например если x=1,y=1,z=1, то и xyz=1 и xy=1
#14 by Asmody
вообще-то это задачка на сумматоры. подробно не думал, но что-то подсказывает, что их надо хитро-последовательно соединить.
#15 by motor_58
можно и сумматоры задействовать, но вроде бы не последовательно, сдесь комбинации сумматоров походу...
#16 by motor_58
tor0310 если не влом как время будет мож посчитаешь для 10??? буду чрезмерно благодарен!!!
#17 by ИначеЕсли
Ну пусть х1...х10 - логические переменные, принимающие значения истинности "1" - истина и "0" - ложь. Установим так, что для того, чтобы всеобщее решение было истинным, необходимо 6 или более голосов "За" (6 истин). Никаких "воздержался" - нет. Либо истина, либо ложь. Случай разделения 5/5 - считаем как "против". "+" - дизъюнкция, "*" - конъюнкция Высказывательная функция: Ф = х1*х2*х3*х4*х5*х6 + х1*х2*х3*х4*х5*х7 + х1*х2*х3*х4*х5*х8 + х1*х2*х3*х4*х5*х9 + х1*х2*х3*х4*х5*х10 + х2*х3*х4*х5*х6*х7 + х2*х3*х4*х5*х6*х8 + х2*х3*х4*х5*х6*х9 + х2*х3*х4*х5*х6*х10 + х3*х4*х5*х6*х7*х8 + х3*х4*х5*х6*х7*х9 + х3*х4*х5*х6*х7*х10 + х4*х5*х6*х7*х8*х9 + х4*х5*х6*х7*х8*х10 + х5*х6*х7*х8*х9*х10 Можешь попробовать её упростить )))))
#18 by ИначеЕсли
При желании можно привести её к аддинивной нормальной форме, но это сделает её еще более громоздкой)))
#19 by ИначеЕсли
неправильно
#20 by Злопчинский
захренячить сумматор с обратной связью...
#21 by tor0310
вынести за скобки x1, потом x2 и прийдем примерно к тому что я писал в
#22 by Злопчинский
короче - кто самый первый кнопку нажал - то и высветится... ;-)
#23 by tor0310
не правда
#24 by tor0310
x(y+z+t) в переводе на 1С вот так (x=1) и ((y=1) или (z=1) или (t=1)) и причем здесь кто первый?
#25 by Злопчинский
блин не знаю как это решается ща.. потому как я уже 20 лет назад это учил/юзал - и нарисовать такой КА - было раз плюнуть...
#26 by Myski
за=1 против=-1 1)Случай поровну 5*1=5 5*(-1)=-5 2)Случай против 4*1=4 6*(-1)=-6 3)Случай за 6*1=6 4*(-1)=-4 PS Ночь. Спиртное. Может не догоняю поэтому.
#27 by zenik
Может я не в теме, но разве мы не может просто, нулевой изначально, переменной прибавлять 1 в случае "да" и 0 в случае "нет", потом N - количество голосов: ?(N/2>X,"нет","да") или я все таки не в теме?
#28 by zenik
такая же фигня...
#29 by zenik
+ Я про ночь и пр...
#30 by tor0310
расскажи как это реализовать на схеме :)
#31 by Злопчинский
на какой элементной схеме? схема тривиальная - за - выключает резистор из схемы, против - включает резистор из схемы, по результатм - если больше проголосовало за - получаем величину пробоая, которая пробивает элемент и шарашит ярко лампочку. и все пипец.. повторно - хрен кто проголосует.. голос назад не отзовет...
#32 by Override
Задачу надо решать на сумматоре, по пути схема получиться слишком навороченая.
#33 by motor_58
так что мне делать то??? пусть схема будет навороченная, решать то все равно надо! пока подумайте кто как может (со спиртным или еще как :)...), а я мануалы притараню какие есть...
#34 by Torquader
На элементной базе: Пусть у нас N-входов для голосования. Заводим их в сдвиговый регистр (N-сдвигов) потом ставим после него сумматор, и начинаем это чудо N раз сдвигать и суммировать, после сдвигания надо сравнить с N/2 выводы сумматора (чтобы не заморачиваться ставим ещё один сумматор и считаем число сдвигов, потом сдвигаем шины нашего сумматора голосов на единицу, и сравниваем разультаты). P.S. при последовательном подходе участников голосования можно просто и ясно реализовать схему, которая без всяких изменений позволит суммировать голоса любого числа людей (просто тумблер Да-Нет, кнопка "ВводГолоса", кнопка "СбросВНачало" и кнопка "результат". Если есть двунаправленный сумматор, то работаем ещё проще: При приёме каждого голоса даём сигнал на декремент-вывод, и в зависимости от голоса - "Да" - два сигнала на инкремент, "Нет" - ничего. По положительному или отрицательному значению можно судить о результатах голосования. Удачи.
#35 by Torquader
Тут пришла в голову забавная мысль - этот прибор легко выпускается в механическом варианте, как "Автоматизированная система голосования". С Двумя счётчиками - количества и результата. Для электрической и быстрой реализации - десять переключателей, десять резисторов, диод и транзисторный ключ - чтобы лампочку зажигать. Вместо диода с ключём можно вольтметр - тогда будет ещё и индикатор весомости решения. Переключатель: Да-резистор на +, нет резистор на -, всё это суммируем в одну точку и сравниваем с нулём или текущим нулём из двух резисторов.
#36 by motor_58
и где мне сей девайс найти???
#37 by motor_58
а лучше как самому реализовать, мож у кого схемы есть???
#38 by pectopatop
сумматор, тем более такой сложный, только называется просто. в реализации будет использовано не меньше элементов, чем как в варианте - поэтому лучше делать как в : x1(x2(x3(  x4(x5+x6+x7+x8+x9+x10)+x5(x6+x7+x8+x9+x10)+x6(x7+x8+x9+x10)+x7(x8+x9+x10)+x8(x9+x10)+x9*x10 )+x4(  x5(x6+x7+x8+x9+x10)+x6(x7+x8+x9+x10)+... )+... )+...
#39 by Doomer
Такая задача  была на "системном анализе", решений много. Все зависит, от того,что выберет верхушка.
Тэги: Математика и алгоритмы
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С