Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТП лаба 2-3 вар 4.doc
Скачиваний:
7
Добавлен:
29.08.2019
Размер:
1.19 Mб
Скачать

Kombik.Cs

using System;

using System.Collections.Generic;

using System.Text;

namespace Laba2_3_var_4

{

//-------Задание 2 класс - комбинационный элемент------------------------

class Kombik : Element

{

//------------1---------------------------------

private byte[] menter;//значение входов

//------------------------2----------------------

//конструктор инициализирующий массив

public Kombik(string name, int enter)

: base(name, enter)

{

menter = new byte[Enter];

}

//метод устанавливающий значение на входах

public bool SetEnter(byte ch, byte pos)

{

try

{

menter[pos] = ch;

}

catch (Exception ex)

{

Console.WriteLine(ex.Message);

return false;

}

return true;

}

//метод выдающий значение на входах

public object GetEnter(byte pos)

{

try

{

return menter[pos];

}

catch (Exception ex)

{

Console.WriteLine(ex.Message);

return null;

}

}

//метод вычисляющий значение на выходе (логическая "И")

public byte GetQuit()

{

byte i = 0, p=1;

do

{

if (menter[i] == 0)

{ p = 0; break; }

i++;

}

while (i != Enter);

return p;

}

//реализация интерфейса IComparable

public override int CompareTo(object obj)

{

if (GetType() == obj.GetType())

{

Kombik temp = (Kombik)obj;

if (this.menter == temp.menter)

return 0;

else return -1;

}

else

{

throw new ArgumentException("Object is not a ");

}

}

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

public override bool Equals(object obj)

{

if (obj == null || GetType() != obj.GetType())

return this == (Kombik)obj;

else return false;

}

//переопределение оператора ==

public static bool operator ==(Kombik x, Kombik y)

{

if (y.GetType() == x.GetType())

return x.menter == y.menter;

else return false;

}

//переопределение оператора !=

public static bool operator !=(Kombik x, Kombik y)

{

if (y.GetType() == x.GetType())

return !(x == y);

else return false;

}

//

public override int GetHashCode()

{

return menter.GetHashCode();

}

}}

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

Приложение Б

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

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

Рисунок Б.2 – Ввод размерности регистра

Рисунок Б.3 – меню приложения

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

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

Рисунок Б.6 – Изменение размерности регистра

Рисунок Б.7 –Сброс значения регистра

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

Рисунок Б.9 – Вычисление комбинационного элемента

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]