Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МОЙ 2 ТП.doc
Скачиваний:
3
Добавлен:
09.09.2019
Размер:
793.6 Кб
Скачать

CombElem.Cs

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace Lab2V1

{

//класс “Комбинационный элемент”

class CombElem : Element

{

//массив значений входов

private bool[] Inputs;

//конструктор

public CombElem(int CountInputs)//входные значения

: base("Комбинационный элемент И-НЕ", CountInputs, 1) //число выходов задается через базовый класс Element

{

Inputs = new bool[CountInputs];

Inputs.Initialize();

}

//метод, задающий значение на входах экземпляра класса

public bool SetInput(bool[] Value)

{

if (Inputs.GetLength(0) == Value.GetLength(0)) //проверка количества символов в массиве

{

Value.CopyTo(Inputs, 0);// Копируем массив валуе в инпутс

return true;

}

else

return false;

}

//метод, позволяющий опрашивать состояние отдельного входа экземпляра класса

public bool GetValue(int Index, out bool Error)

{

if (Index < Inputs.GetLength(0)) //если номер входа меньше 4

{

Error = false;

return Inputs[Index]; //возвращает значение выбранного входа

}

else

{

Error = true;

return false;

}

}

//метод, вычисляющий значение выхода И-НЕ

public bool Result()

{

bool tmp = true;

for (int i = 0; i < Inputs.GetLength(0); i++)

tmp = tmp & Inputs[i];

return !tmp;

}

//переопределение метода equals

public override bool Equals(System.Object obj)

{

// если параметр не может быть приведен к CombElem false:

CombElem p = obj as CombElem;

if ((object)p == null)

{

return false;

}

return base.Equals(obj) && (Inputs == p.Inputs);

}

//метод hashCode у одинаковых объектов должен быть одинаковым:

public override int GetHashCode()

{

return base.GetHashCode() ^ Inputs.GetHashCode();

}

}

}

ЭКРАННЫЕ ФОРМЫ

Приложение Б

(обязательное)

Рисунок Б.1 – Главное меню приложения

Рисунок Б.2 – Ввод входных значений элемента

Рисунок Б.3 – Вывод значения заданного входа элемента

Рисунок Б.4 – Вывод значения на выходе элемента

Рисунок Б.5 – Ввод входных значений триггера

Рисунок Б.6 – Вывод значения заданного входа триггера

Рисунок Б.7 – Вывод значения на выходах триггера

Рисунок Б.8 – Ввод входных значений триггера

Рисунок Б.9 – Вывод значения заданного выхода регистра

Рисунок Б.10 –Вывод значения на выходах регистра