Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.12.09;
Скачать: CL | DM;

Вниз

"Код"   Найти похожие ветки 

 
Делать_нечего   (2007-11-08 14:16) [0]

Привет. Учусь в школе и меняочень инетерусуют компы. Старась искать кое-какую информацию о них. Тут недавно в ветке рекомендовали книгу "код". Решил почитать, очень заинтересовало. Решил смоделировать логические вентили с помощью проги, и создавать из этих кирпичиков схемы - для примеров из книги и для своих фантазий. Сэмулировал логические вентили как обьекты соответствующих классов, в методах им передается два параметра, соответствубщих входам, и возвращается выход. Смоделировать-то смоделировал, а вот как стыковать их не могу придумать. Может подскжите, может кто занимался таким?
з.ы. прошу не советовать пойти попить пивка. для меня это интересно.


 
Dib@zol ©   (2007-11-08 14:19) [1]

> з.ы. прошу не советовать пойти попить пивка. для меня это интересно.

А раз интересно пить пивко - то почему бы и не сходить? ;)

И вообще - ШТО ТАКОЕ логические вентили??? 0_о Впрочем, звучит круто)))) Но всё же?
ЗЫ Я вентилями не занимался :D


 
Сергей М. ©   (2007-11-08 14:21) [2]


> в методах им передается два параметра, соответствубщих входам


Проиллюстрируй в коде ..


 
Делать_нечего   (2007-11-08 14:22) [3]


> А раз интересно пить пивко - то почему бы и не сходить?
> ;)

Действительно, звучит недвусмысленно, но это читать так - прошу не советовать попить пивка, для меня все вышеописанное интересно.


 
Сергей М. ©   (2007-11-08 14:22) [4]


> Dib@zol ©   (08.11.07 14:19) [1]


> Я вентилями не занимался


Не быть тебе никогда именитым сантехником)


 
tesseract ©   (2007-11-08 14:29) [5]


> вот как стыковать их не могу придумать. Может подскжите,
>  может кто занимался таким?


Чего стыковать ?


> И вообще - ШТО ТАКОЕ логические вентили


Имеються в виду бинарные операции И, ИЛИ и НЕ - база для цифр.

Вообще есть отличные эмуляторы вроде PCAD - прям с элементной базой


 
Делать_нечего   (2007-11-08 14:33) [6]


> Проиллюстрируй в коде ..

а че тут...
public class AND
{
   public int Ust(int one, int two)
   {
       if (one == 1 && two == 1) return 1;
       else return 0;
    }
}
public class OR
{
   public sbyte Ust(sbyte one, sbyte two)
   {
       if (one == 1 || two == 1) return 1;
       else return 0;
   }
}
public class AND_NOT
{
   public sbyte Ust(sbyte one, sbyte two)
   {
       if (one == 1 && two == 1) return 0;
       else return 1;
   }
}
   public class OR_NOT
   {
       public sbyte Ust(sbyte one, sbyte two)
       {
           if (one == 1 && two == 1) return 0;
           else return 1;
       }
   }

> Чего стыковать ?

ну чтоб выход одного обекта, был входом дргугого..а, погодите, можно же в  качестве параметра метода указать обьект, вызывающий свой метод.


 
Johnmen ©   (2007-11-08 14:34) [7]


> для примеров из книги и для своих фантазий.

Вы любите фантазии? Могу подкинуть телефончик. И пиво наверняка станет неинтересным. Как и все вышеописанное...


 
Сергей М. ©   (2007-11-08 14:34) [8]


> Делать_нечего   (08.11.07 14:33) [6]


Поскольку тебе делать нечего, изволь потрудиться портировать всю эту байду в Паскаль.


 
Делать_нечего   (2007-11-08 14:36) [9]


> Сергей М. ©   (08.11.07 14:34) [8]
>
> > Делать_нечего   (08.11.07 14:33) [6]
>
>
> Поскольку тебе делать нечего, изволь потрудиться портировать
> всю эту байду в Паскаль.

А какая разница?


 
Dib@zol ©   (2007-11-08 14:37) [10]

А что мешает просто написать (not(a or b) xor c)and d ???
Нифжисть не поверю что в сях этого нет.
Тем более - кто тебе сказал что тут кодят на С? Сайт называется ДЕЛФИмастерс :)
Хотя в принципе, структура ясна. Пусть и на Си.


 
имя   (2007-11-08 14:37) [11]

Удалено модератором


 
clickmaker ©   (2007-11-08 14:38) [12]

AND A = new AND;
OR O = new OR;
A.Ust(O.Ust(1, 3), O.Ust(223, 45));

стыкуется?


 
Делать_нечего   (2007-11-08 14:40) [13]


> стыкуется?

стыкуется.
если вы про1 и 3, 223 и 45, ну нет там проверки, да...пока это не важно.


 
vpbar ©   (2007-11-08 14:42) [14]

>>Делать_нечего   (08.11.07 14:36) [9]
Тут не все иностранными языками владеют


 
Делать_нечего   (2007-11-08 14:44) [15]


> Тут не все иностранными языками владеют

Я имел ввиду метод осуществленияреализации, а не реализацию на конуретном языке.


 
имя   (2007-11-08 14:47) [16]

Удалено модератором


 
Romkin ©   (2007-11-08 14:52) [17]

А это у тебя не вентили :)
Если эмулировать - то по полной. Два входа (читай - два метода или свойства), один выход. С выхода надо подавать на вход - сделай присвоение напрямую, т.е. выход - свойство процедурного типа. Ну еще понадобится разветвитель: элемент, у которого один вход, который подается на произвольное количество выходов.
И вентиль должен запоминать свое состояние, сбрасываясь по специальному сигналу (такт). Ты же входы последовательно обходить будешь :)


 
vpbar ©   (2007-11-08 14:58) [18]

OR.ust(and.ust(1,0),1) а так что? В этом варианте так проще и логичнее всего


 
Сергей М. ©   (2007-11-08 15:02) [19]


> как стыковать их не могу придумать


Если речь идет о среде Delphi/BCB то лучше связи на базе TComponent.Owner не придумать.


 
Делать_нечего   (2007-11-08 15:04) [20]


> А это у тебя не вентили :)
> Если эмулировать - то по полной. Два входа (читай - два
> метода или свойства), один выход. С выхода надо подавать
> на вход - сделай присвоение напрямую, т.е. выход - свойство
> процедурного типа. Ну еще понадобится разветвитель: элемент,
>  у которого один вход, который подается на произвольное
> количество выходов.
> И вентиль должен запоминать свое состояние, сбрасываясь
> по специальному сигналу (такт). Ты же входы последовательно
> обходить будешь :)

Да, про запоминание состояния я и забыл.

> OR.ust(and.ust(1,0),1)

Так то оно так, но если их (вентилей) будет 20? ну это уже другая история..

> Придурок, реализация...

Даже комментировать не буду.


 
Сергей М. ©   (2007-11-08 15:14) [21]


> про запоминание состояния я и забыл.


Нахрен оно нужно ?

Это же не двустабильный элемент а ля триггер, это просто функция)


 
turbouser ©   (2007-11-08 15:14) [22]

Пятница приближается...


 
Romkin ©   (2007-11-08 16:06) [23]


> Это же не двустабильный элемент а ля триггер, это просто
> функция)

Ну синхронизация же нужна? Иначе разброд будет, составить он пяток входов, и будет думать, как на них одновременно сигнал подать :)


 
Игорь Шевченко ©   (2007-11-08 17:14) [24]


> Может подскжите, может кто занимался таким?


Я занимался. Но чего надо - не понимаю.


 
Romkin ©   (2007-11-08 18:15) [25]

Игорь Шевченко ©   (08.11.07 17:14) [24] Он пытается моделировать работу логических схем.


 
редкий гость   (2007-11-08 18:18) [26]

попробуй программу digital works, там практически любую схему можно смоделировать и проверить на работоспособность


 
Petr V. Abramov ©   (2007-11-09 00:30) [27]

учитывая, что завтра ММП, слово "пивко" вызвало самый живой интерес

по теме
> ну чтоб выход одного обекта, был входом дргугого..
создай класс "входы-выходы", никуда от него не денешься.
приведи интрефейсы классов, и люди сами тебе подскажут реализацию, чуть попинав, в основном по делу :)


 
Сергей М. ©   (2007-11-09 09:01) [28]


> Romkin ©   (08.11.07 16:06) [23]


Не знаю уж, нужна она ему или не нужна, но вентиль это не триггер)

С другой стороны - а нужно ли изобретать велосипед, если в том же Ёхеле задача решается за 5 минут ?


 
Игорь Шевченко ©   (2007-11-09 09:35) [29]

Romkin ©   (08.11.07 18:15) [25]

И я про то же. Я собственно собирал приборчик, которых мелкосхемы проверяет, ну и софт к нему писал, сам понимаешь, для эталона надо моделировать, дабы сигналы сравнивать...


 
DVM ©   (2007-11-09 10:44) [30]

Я где то видел в магазине набор уловно говоря кубиков (типа конструктора для изучения электроники), которые стыкуются друг с другом с помощью контактов и каждый кубик представляет собой какой либо логический элемент. Из них можно собрать рабочую схему за 5 мин. Там были кубики и с табло и с триггерами и прочими шифраторами-дешифраторами.
Вот автору такой надо.


 
Washington ©   (2007-11-09 12:58) [31]

Удалено модератором
Примечание: Offtopic



Страницы: 1 вся ветка

Текущий архив: 2007.12.09;
Скачать: CL | DM;

Наверх




Память: 0.55 MB
Время: 0.024 c
11-1180896008
=BuckLr=
2007-06-03 22:40
2007.12.09
Защита участка RichEdit от изменения


15-1194857454
Voluntarist
2007-11-12 11:50
2007.12.09
Борьба со злом


2-1195117909
Новичек
2007-11-15 12:11
2007.12.09
Обработка событий от нескольких сокетов.


2-1194876354
hahol_64_rus
2007-11-12 17:05
2007.12.09
помогите чайнику


1-1189867818
andreil
2007-09-15 18:50
2007.12.09
Преобразовать строку в дробное число