Программная реализация логических вентелей - 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
}

ИИ поможет Вам:


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

Оцени полезность:

11   голосов , оценка 4.182 из 5
Похожие ответы