Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.03.2015, 09:03   #1
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию Логический калькулятор, как построить таблицу истинности?

Ребят, возникла идея написать логический калькулятор на С++, (хотя возможно на делфи проще) . В общем столкнулся с проблемой просмотра введенных в QLineEdit значений , допустим как из строки

А или В->В и С

в шапку таблицы вывести
А | В | С | А или В | В и С| А или В импликация В и С

препод дал подсказку что при помощи рекурсии (с ней у меня туго) поэтому может быть есть другой способ? Допустим первый цикл смотрит буквы из набора алфавита, второй -операции, правда возникает проблема-если выражение, то оно может быть еще и со скобками. Попытался понять как работает парсер, но увы не очень ясно , есть ли у кого более упрощенные примеры?

(если эта ссыль противоречит правилам форума, то простят меня модераторы)
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 29.03.2015, 09:11   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Так тебе наверное синтаксический анализатор нужен?
Что-то типа: http://www.programmersforum.ru/showthread.php?t=61703
Угадал?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.03.2015, 09:19   #3
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Да, но лексем не достаточно, так как планирую импликацию распознать по присутствию в строке букв imp, например, в смысле я имел то, что алгоритм разобьет выражение на:

А||В imp B&&C на 13 символов сначала, но потом нужно как-то составить еще три выражения А или В,..., в шапке таблицы и в зависимости от операции выполнять действия
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 29.03.2015, 09:45   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

А только пол ЛИСП диалект писал анализатор (собсно им и пользуюсь), так что кроме предложенного выше врядли предложу что-то от себя.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.03.2015, 09:51   #5
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Спасибо на добром слове, и еще вопрос, графику не проходили пока, решил сам с чего-то начать, например определение что эффективное: СДНФ или СКНФ, минимизация (знаю только карты Карно, хотя может есть и эффективнее), а затем строить схему-это задача сложнее, т.к. честно говоря даже с canvas делфи проблемы были, допустим красиво нарисовать провода от блока к блоку, а не просто прямые линии . Жаль все делаем в qt, прочитал где-то что qpainter подходит, но возникает проблема-масштаб.
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 29.03.2015, 11:20   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Я не сишник )
Тут тоже не подскажу.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Составьте таблицу истинности Andrewwwww Помощь студентам 3 27.04.2013 21:08
Логический калькулятор Avely Помощь студентам 1 16.04.2011 17:03
Программа выводящая таблицу истинности and-silaev Помощь студентам 2 06.01.2011 18:30
Построить логический вектор katya36 Помощь студентам 2 14.03.2009 13:32