Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 15.04.2010, 09:57
666triffid666 666triffid666 вне форума
Прохожий
 
Регистрация: 15.04.2010
Сообщения: 16
Репутация: 10
Вопрос Программа построения счетчика :минимизация

Просьба о помощи
Если говорить в целом речь идет о создании программы построения
счетчика на JK Триггерах с коэффицентом счета от 9 до 16
построения должно включать в себя :
таблицу истинности (слева на рисунке)
карты карно
минимизацию (в итоге должна получится формула вида Q1&Q2...и т.д.)
построения счетчика на ЛЭ и , или

необходимо написать часть программы которая выполняла бы "склейку" на картах карно из таблиц и выводила бы результат
Cклейка - минимизация конечной ф-и путем группировки "1" и "*"
Правила:
склейка включает в себя хотя бы 1 единицу и * и не может включать 0
нужно за минимальное кол-во склеек покрыть максимальную площадь
склейки могут пересекатся но не могут накладыватся друг на друга
склейка должна иметь размер 2 4 8 16 клеток

Прилагаю рисунок на котором показан пример такой склейки
подскажите как это лучше сделать ?
Изображения
Тип файла: jpg Пример.JPG (86.5 Кбайт, 19 просмотров)

Последний раз редактировалось 666triffid666, 15.04.2010 в 14:37.
Ответить с цитированием
  #2  
Старый 15.04.2010, 10:14
Аватар для friz
friz friz вне форума
Местный
 
Регистрация: 04.04.2008
Адрес: Минск
Сообщения: 596
Версия Delphi: 2007 & JAVA EE
Репутация: 10670
По умолчанию

1) во-первых тема не в том разделе
2) что значит "склеить"? не все у нас тут математики да и по рисунку ничего не понять
Ответить с цитированием
  #3  
Старый 15.04.2010, 12:12
666triffid666 666triffid666 вне форума
Прохожий
 
Регистрация: 15.04.2010
Сообщения: 16
Репутация: 10
По умолчанию

1) спасибо тем кто перенес тему
2) склейка - минимизация конечной ф-и путем группировки "1" и "*"
Правила:
склейка включает в себя хотя бы 1 единицу и * и не может включать 0
нужно за минимальное кол-во склеек покрыть максимальную площадь
склейки могут пересекатся но не могут накладыватся друг на друга
Ответить с цитированием
  #4  
Старый 15.04.2010, 13:08
Аватар для Physicist
Physicist Physicist вне форума
Прохожий
 
Регистрация: 04.04.2010
Сообщения: 21
Репутация: 10
По умолчанию Дайте посмотреть на текст задания

Хотелось бы прочитать текст задачи в оригинале.
Предлагаю ТС корректно сформулировать задание: что на входе, что на выходе.
Станет ясно, что в грамотно заданном вопросе уже содержится решение, которое можно реализовать на чём угодно, а в данном конкретном случае - хоть на логических элементах ТТЛ.
Т.е. я хочу сказать, что речь здесь по-видимому идёт либо о разработке оптимального по скорости исполнения алгоритма, либо о реализации готового алгоритма какими-либо конкретными методами (например для закрепления навыков работы с массивами однородных данных).
__________________
Лечить и учить умеют все, а вот рассчитать несущую балку...
Ответить с цитированием
  #5  
Старый 15.04.2010, 14:34
666triffid666 666triffid666 вне форума
Прохожий
 
Регистрация: 15.04.2010
Сообщения: 16
Репутация: 10
По умолчанию

Если говорить в целом речь идет о создании программы построения
счетчика на JK Триггерах с коэффицентом счета от 9 до 16
построения должно включать в себя :
таблицу истинности (слева на рисунке)
карты карно
минимизацию (в итоге должна получится формула вида Q1&Q2...и т.д.)
построения счетчика на ЛЭ и , или
Ответить с цитированием
  #6  
Старый 16.04.2010, 04:08
AlexSku AlexSku вне форума
Специалист
 
Регистрация: 07.05.2007
Адрес: Москва
Сообщения: 884
Репутация: 21699
По умолчанию

Минимизация, вещь, конечно, интересная, но у меня 2 предложения автору.
1). На рисунке уже всё есть. Т.е. для начала сделайте такую форму, текст передайте на форум. Потом постарайтесь сделать первый шаг вычислений (типа, в верхнем Edit'е задаётся коэффициент, нажимается кнопка "Задать", что должно произойти дальше?). И так шаг за шагом получится программа.

2). Предупреждаю, что мороки будет много, а результат вам нужен? Это примерно как строить самолёт с помощью молотка. Сейчас счётчики не делают аппаратно на триггерах, а используют команды процессора. Например, возьмём фильтры. Раньше паяли операционники, конденсаторы, резисторы. Сейчас используют формулы, т.е. фильтры стали цифровыми, а не аналоговыми.
Ответить с цитированием
  #7  
Старый 16.04.2010, 07:21
666triffid666 666triffid666 вне форума
Прохожий
 
Регистрация: 15.04.2010
Сообщения: 16
Репутация: 10
По умолчанию Формулы

Уважаемый AlexSku
а где можно было бы достать эти формулы о которых вы говорили ?
Ответить с цитированием
  #8  
Старый 16.04.2010, 08:50
Аватар для Physicist
Physicist Physicist вне форума
Прохожий
 
Регистрация: 04.04.2010
Сообщения: 21
Репутация: 10
По умолчанию Много формул

toehelp.ru/theory.html - найдёте много формул.

AlexSku дал отличное предложение. А что касается мороки, то важнее получить навыки, которые пригодятся впоследствии, работа ведь явно учебная, а не прикладная. Вероятно, такая форма мозгового штурма будет интересна сама по себе.
__________________
Лечить и учить умеют все, а вот рассчитать несущую балку...
Ответить с цитированием
  #9  
Старый 16.04.2010, 23:29
AlexSku AlexSku вне форума
Специалист
 
Регистрация: 07.05.2007
Адрес: Москва
Сообщения: 884
Репутация: 21699
По умолчанию

Цитата:
Сообщение от 666triffid666
Уважаемый AlexSku
а где можно было бы достать эти формулы о которых вы говорили ?
А по картам Карно очень простой алгоритм (методом перебора), ведь задача охватить все единицы, стараясь использовать области самых больших размеров. Хотя формализовать на вскидку не могу, возможно, что будут несколько решений, так что лучше искать в интернете. Но если по простому: сначала пробуем применить максимально большие области (что соответствует одной переменной), если остались единицы, то охватываем их областями поменьше (2 переменные) и т.д.
Не исключено, что надо строить функционал. Короче, пересечение областей (для удаления нулей), а также, уменьшение области вдвое это лишние элементы И, а добавление новой области это лишний элемент ИЛИ. Так что надо минимизировать сумму элементов.

Последний раз редактировалось AlexSku, 16.04.2010 в 23:39.
Ответить с цитированием
  #10  
Старый 17.04.2010, 18:28
Аватар для Physicist
Physicist Physicist вне форума
Прохожий
 
Регистрация: 04.04.2010
Сообщения: 21
Репутация: 10
По умолчанию

Цитата:
Сообщение от 666triffid666
в итоге должна получится формула вида Q1&Q2...и т.д.
666triffid666, напишите, как выглядит правильный ответ, например с коэффициентом счёта 9.
Я правильно понимаю, что ответ должен быть типа TStrings?

Например, если коэффицент счёта 16, то итоговая формула: Q1&Q2&Q3&Q4.
Что должно стать итогом программы? Непосредственно текст? Имено поэтому возник вопрос о форме записи. Например, для коэффицентом счёта 14 такая форма записи?
Q1&Q2&(¬Q3)&Q4
Или такая: Q1&Q2&(notQ3)&Q4
Кстати, конечные ф-и уже минимальны.
Причём здесь Карты Карно? Счётчики непременно надо делать неоптимальным по памяти и быстродействию способом?
Может смысл в том, чтобы визуализировать минимизацию логических функций? Тогда ни при чём оказывается счётчик, нужный лишь для заполнения Карты Карно.

Поэтому было бы неплохо вначале прочитать текст задачи. А если его не существует, хорошо бы его сформулировать.
__________________
Лечить и учить умеют все, а вот рассчитать несущую балку...

Последний раз редактировалось Physicist, 18.04.2010 в 08:34.
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 10:23.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025