Программная реализация логических вентелей - C#
Формулировка задачи:
Здравствуйте! У меня появился вот такой вопрос!
Есть простенькая схемка, как сделать что та на подобие этого?
Можно на любом языке программирования!
Спасибо!
Решение задачи: «Программная реализация логических вентелей»
textual
Листинг программы
Button[] buttons; Operation operation; // Метод, который создает кнопки public void SomeMethod() { int count = 3; // 3 кнопки operation = Operation.AndNo; // К примеру операция И-НЕ buttons = new Button[count]; for (int i = 0; i < count; i++) { buttons[i] = new Button { Text = "0", Left = 0, Top = 50 * i, Width = 50, Height = 50, }; buttons[i].Click += new EventHandler(ButtonClick); Controls.Add(buttons[i]); } // В этом месте рисуем картинку для PictureBox label1.Text = Calculate(); } private void ButtonClick(object sender, EventArgs e) { Button button = sender as Button; if (button == null) throw new ArgumentNullException(); button.Text = button.Text == "0" ? "1" : "0"; label1.Text = Calculate(); } private string Calculate() { bool result = buttons[0].Text == "1"; for (int i = 1; i < buttons.Length; i++) switch (operation) { case Operation.Or: case Operation.OrNo: result |= buttons[i].Text == "1"; break; case Operation.And: case Operation.AndNo: result &= buttons[i].Text == "1"; break; } if (operation == Operation.OrNo || operation == Operation.AndNo) result = !result; return result ? "1" : "0"; } enum Operation { Or, And, OrNo, AndNo }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д