ж керуючими входами R і S.
Також буде використовуватися клас REGISTER raquo ;, де клас MEMORY використовується, як включається. Його обов'язки: задавати значення на входах екземпляра класу, отримувати це значення; працювати зі станом екземпляра класу. Відповідно, у нього є модифікатор і селектор.
Поля Класу:
int Drop;- Вхід скидання.
MEMORY obj [8];- Масив тригерів з яких складається регістр.
int RInput [8] [5];- Значення вхідних сигналів регістра.
int RC;- Попередні значення синхро-сигналу.
int Select;- Вхід установки.
Методи Класу: (string name): ELEMENT (name, 40, 16) - конструктор з параметрами. RegisterCalculations () - обчислює значення на виходах регістра.RSetDirectParameters () - задає значення на входах регістру.
int OutInput (int r, int e) - повертає значення входу за запитом.
Діаграма класів UML.
3. Опис програми
Підключаємі простору імен:
using namespace std;
це угруповання певних функцій, класів і т.п. Якщо який-небудь розробник напише свою бібліотеку функцій і в ній виявляться функції з тими ж назвами, що й функції в іншій бібліотеці, то розробнику слід оголосити унікальний простір імен для своїх функцій і класів. Тоді програміст, що використовує таку бібліотеку, зможе або при виклику певних функцій використовувати префікс простору імен, або оголосити, що всі функції за замовчуванням будуть викликатися з певного простору імен.
Підключаємі бібліотечні файли:
# include lt; iostream gt;
заголовний файл lt;http://ru.wikipedia/wiki/%D0%97%D0%B0%D0%B3%D0%BE%D0%BB%D0%BE%D0%B2%D0%BE%D1%87%D0%BD%D1%8B%D0%B9_%D1%84%D0%B0%D0%B9%D0%BBgt; з класами, функціями і змінними для організації введення-виведення в мові програмування C ++ lt; https: //ru.wikipedia/wiki/C%2B%2Bgt ;. Iostream використовує об'єкти lt;http://ru.wikipedia/wiki/%D0%9E%D0%B1%D1%8A%D0%B5%D0%BA%D1%82_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)gt; cin, cout, cerr і clog для передачі інформації в і з стандартних потоків lt;http://ru.wikipedia/wiki/%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D1%8B%D0%B5_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%B8gt; введення і виведення. Будучи частиною стандартної бібліотеки C ++, ці об'єкти також є частиною стандартного простору назв - std.
#include lt; istream gt; Визначає клас шаблону basic_istream, яке посредничает вилучення для iostreams і класу шаблону basic_iostream, яке посредничает вставки та вилучення. Тема також визначає відповідних маніпулятора. Цей файл заголовка зазвичай включається автоматично іншим заголовком iostreams; рідко, необхідно включити його безпосередньо.
#include lt; conio. h gt;
Цей заголовний файл оголошує кілька бібліотечних функцій для роботи з консольним введенням і виведенням програми. Більшість компіляторів мови Сі.
#include lt; string gt;
Призначений для додавання возможністі використовувати функції для роботи з рядками і т.д.
#include lt; windows. h gt;
Цей файл містить безліч визначень типів даних, макросів, прототипів функцій, констант і т.д.
Використовувані типи:
1. int - цілочисельний тип.
Формат: int name;// Значення I=0
2. string - послідовність з нуля або більше символів у кодуванні Юнікод.
Формат: string a= hello raquo ;;
3. масиви - можна зберегти кілька змінних одного типу в структурі даних масиву.
Формат: type name [];
Використовувані методи:
Метод для завдання вхідних сигналів регістра:
void RSetDirectParameters ()
{int SI=0; lt; lt; n n n t t t tWrite InPuts Valuas of REGISTER: n n n raquo ;; lt; lt ; t tValua of Synchro Signal= raquo ;; gt; gt; SI; lt; lt; n t tValua on InPut S= raquo ;; gt; gt; Select; lt; lt; laquo ; n t tValua on InPut R= raquo ;; gt; gt; Drop; (int i=0; i lt; 8; i ++)
{[i] [0]=SI; [i] [1]=Select; [i] [2]=Drop; lt; lt; n n n n t t tWhite InPut Valuas of TRIGER MEMORY lt; lt; i + 1 lt; lt; laquo ;: n raquo ;; lt; lt; n n t t tValua on InPut J= raquo ;; gt; gt; RInput [i] [3]; lt; lt; n n t t tValua on InPut K= raquo ;; gt; gt; RInput [i] [4]; (...