Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Вычисление булевых выражений.

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Программа вычисляющая булево выражение.
Шатл
Отправлено: 18 Марта, 2011 - 21:57:47
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Март 2011  


Помог: 0 раз(а)




Напишите за меня пожалуйста программ(к)у на РНР вычисляющую,введённое в текстовое поле, булево выражение с несколькими операциями,2мя или 3мя переменными, и выдающую результат в окно браузера.

или (конструктивно) подскажите как написать её самому.( в PHP ориентируюсь очень слабо
,но позже изучу непременно,срок сдачи душит А?! )

Помогите! Please! Заранее благодарю.
 
 Top
OrmaJever
Отправлено: 18 Марта, 2011 - 22:02:54
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




Шатл пишет:
вычисляющую,введённое в текстовое поле, булево выражение

что значит булевое выражение?


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Мелкий Супермодератор
Отправлено: 18 Марта, 2011 - 22:13:25
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




OrmaJever пишет:
что значит булевое выражение?

например, y = ( x && !x ) || x
результатом вычисления будет x, т.к. ( x && !x ) = 0, следовательно 0 || x = x
Где:
x - входное значение, 0 или 1
! - инверсия
&& - логическое И
|| - логическое ИЛИ

Шатл, это практически обыкновенный калькулятор. Требуется распарсить полученное выражение по порядку значимости операторов и по таблицам элементарных операций вычислить.


-----
PostgreSQL DBA
 
 Top
OrmaJever
Отправлено: 18 Марта, 2011 - 22:16:07
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




Не понял а где применяется такая логика?


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
ALEN
Отправлено: 18 Марта, 2011 - 22:43:10
Post Id



Участник


Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008  
Откуда: Крым


Помог: 11 раз(а)




OrmaJever
условные операторы например
 
 Top
Мелкий Супермодератор
Отправлено: 18 Марта, 2011 - 22:55:07
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




OrmaJever, логическая электроника.

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

Ну и процессоры как-то так и работают, логика - чуть выше транзисторов по абстракции. Хотя деталей не знаю.


-----
PostgreSQL DBA
 
 Top
DeepVarvar Супермодератор
Отправлено: 19 Марта, 2011 - 00:47:15
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Мелкий пишет:
логика - чуть выше транзисторов

Ну в принципе - ни капельки..
У транзистора 3 контакта:
База (управляющий)
Колеектор (вход)
Эмиттер (выход)

Если проще - это "водопроводный кран" - база - это ручка крана.
На входе всегда "ДА" - тупо питание (напор воды).
Открыли "ручку" - на выходе логическое ДА (потекло)
Закрыли "ручку" - на выходе логическое НЕТ

Углубляясь (в радиотехнику) конечно, если брать выход с коллектора,
то при "ДА" на базе - имеем "НЕТ" на коллекторе (схема с О.Э.).
Но это не применяется, т.к. при подключении по схеме с О.Э. (общим эмиттером) выход сильно зависит от входа.
В логических ячейках используют схему с О.К. (общим коллектором)
Поэтому вся ТТЛ (Транзисторно-Транзисторная Логика) использует инвертирующие цепи.
И чтобы получить "ДА" после посыла на вход логической "ДА" нам нужно снять напряжение с эмиттера и еще раз (не ивертирует, просто для развязки входа и выхода) прогнать через эмиттерный повторитель.
(Все упрощенно очень)
(Добавление)
Вообще, насколько я помню - простейшая (ПРАВИЛЬНАЯ) логическая ячейка "И" состоит из 11 транзисторов.

(Отредактировано автором: 19 Марта, 2011 - 00:53:39)

 
 Top
Мелкий Супермодератор
Отправлено: 19 Марта, 2011 - 01:06:28
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)





DeepVarvar, DiHalt'ово описание на водопроводе? Подмигивание
Собственно, да, в электронике я всё же дурак.


-----
PostgreSQL DBA
 
 Top
grefon
Отправлено: 19 Марта, 2011 - 01:14:32
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 823
Дата рег-ции: Нояб. 2010  


Помог: 32 раз(а)




DeepVarvar, клевый пример Радость

Мне кажется или такова рода "архитектура" похожа на поездку из Киева в Москву на велосипеде через Сан-Франциско?


-----
____________________________________________________________________
Ну как то так, наверное.
http://grefon[dot]com
 
 Top
DeepVarvar Супермодератор
Отправлено: 19 Марта, 2011 - 01:21:45
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




grefon пишет:
на велосипеде через Сан-Франциско

Что-то типо того Радость
На самом деле просто...
Логические ячейки в виде блоков знают все..
7и, 3или, 4или=>не.....
Вникать не нужно. Я паял логические ячейки. Все работает как задумано. Подмигивание
 
 Top
Шатл
Отправлено: 21 Марта, 2011 - 10:32:30
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Март 2011  


Помог: 0 раз(а)




Шатл пишет:
Напишите за меня пожалуйста программ(к)у на РНР вычисляющую,введённое в текстовое поле, булево выражение с несколькими операциями,2мя или 3мя переменными, и выдающую результат в окно браузера.

или (конструктивно) подскажите как написать её самому.( в PHP ориентируюсь очень слабо
,но позже изучу непременно,срок сдачи душит А?! )

Помогите! Please! Заранее благодарю.


За советы спасибо! Сварганил калькулятор лог. операций на Java Script,
но в идеале хотелось бы сходу вычислять что-то типа: !(A&&B)||(!A&&B)&&B... и т.д.
или привести это к СКНФ,СДНФ.буду думать.
 
 Top
vsll
Отправлено: 21 Марта, 2011 - 17:25:10
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 530
Дата рег-ции: Февр. 2011  


Помог: 10 раз(а)




DeepVarvar пишет:
База (управляющий)
Колеектор (вход)
Эмиттер (выход)

Если проще - это "водопроводный кран" - база - это ручка крана.
На входе всегда "ДА" - тупо питание (напор воды).
Открыли "ручку" - на выходе логическое ДА (потекло)
Закрыли "ручку" - на выходе логическое НЕТ

Углубляясь (в радиотехнику) конечно, если брать выход с коллектора,
то при "ДА" на базе - имеем "НЕТ" на коллекторе (схема с О.Э.).
Но это не применяется, т.к. при подключении по схеме с О.Э. (общим эмиттером) выход сильно зависит от входа.
В логических ячейках используют схему с О.К. (общим коллектором)
Поэтому вся ТТЛ (Транзисторно-Транзисторная Логика) использует инвертирующие цепи.
И чтобы получить "ДА" после посыла на вход логической "ДА" нам нужно снять напряжение с эмиттера и еще раз (не ивертирует, просто для развязки входа и выхода) прогнать через эмиттерный повторитель.
(Все упрощенно очень)
(Добавление)
Вообще, насколько я помню - простейшая (ПРАВИЛЬНАЯ) логическая ячейка "И" состоит из 11 транзисторов.

Даже распечатала...
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB