Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/14: Рейтинг темы: голосов - 14, средняя оценка - 4.86
1 / 1 / 0
Регистрация: 13.03.2009
Сообщений: 45

SOS триггер

06.05.2009, 16:11. Показов 2784. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите решить задачу



1. Описать базовый класс Элемент.
Закрытые поля:
 имя элемента (строка символов);
 количество входов элемента;
 количество выходов элемента.
Методы:
 конструктор класса без параметров;
 конструктор, задающий имя и устанавливающий равным 1 количество входов и выходов;
 конструктор, задающий значения всех полей элемента.
Свойства:
 имя элемента (только чтение);
 количество входов элемента;
 количество выходов элемента.
2. На основе класса Элемент описать производный класс Комбинационный, представляющий собой комбинационный элемент (двоичный вентиль), который может иметь несколько входов и один выход.
Поле — массив значений входов.
Методы:
 конструкторы;
 метод, задающий значение на входах экземпляра класса;
 метод, позволяющий опрашивать состояние отдельного входа экземпляра класса;
 метод, вычисляющий значение выхода (по варианту задания).
3. На основе класса Элемент описать производный класс Память, представляющих собой триггер. Триггер имеет входы, соответствующие типу триггера (см. далее вариант задания), и входы установки и сброса. Все триггеры считаются синхронными, сам синхровход в состав триггера не включается.
Поля:
 массив значений входов объекта класса, в массиве учитываются все входы (управляющие и информационные);
 состояние на прямом выходе триггера;
 состояние на инверсном выходе триггера.
Методы:
 конструктор (по умолчанию сбрасывает экземпляр класса);
 конструктор копирования;
 метод, задающий значение на входах экземпляра класса;
 методы, позволяющие опрашивать состояния отдельного входа экземпляра класса;
 метод, вычисляющий состояние экземпляра класса (по варианту задания) в зависимости от текущего состояния и значений на входах;
 метод, переопределяющий операцию == для экземпляров класса.
4. Создать класс Регистр, используя класс Память как вложенный класс.
Поля:
 состояние входа «Сброс» — один для экземпляра класса;
 состояние входа «Установка» — один для экземпляра класса;
 массив типа Память заданной в варианте размерности;
 массив (массивы), содержащий значения на соответствующих входах элементов массива типа Память.
Методы:
 метод, задающий значение на входах экземпляра класса;
 метод, позволяющий опрашивать состояние отдельного выхода экземпляра класса;
 метод, вычисляющий значение нового состояния экземпляра класса;
Все поля классов Элемент, Комбинационный и Память должны быть описаны с ключевым словом privatе.
В задании перечислены только обязательные члены и методы класса. Можно задавать дополнительные члены и методы, если они не отменяют обязательные и обеспечивают дополнительные удобства при работе с данными классами, например, описать функции вычисления выхода/состояния как виртуальные.
5. Для проверки функционирования созданных классов написать программу, использующую эти классы. В программе должны быть продемонстрированы все свойства созданных классов.
Конкретный тип комбинационного элемента, тип триггера и разрядность регистра выбираются в соответствии с вариантом задания:
Вариант Комбинационный элемент Число входов Триггер Разрядность регистра
1 И-НЕ 4 RS 8
1. Описать базовый класс Элемент.
Закрытые поля:
 имя элемента (строка символов);
 количество входов элемента;
 количество выходов элемента.
Методы:
 конструктор класса без параметров;
 конструктор, задающий имя и устанавливающий равным 1 количество входов и выходов;
 конструктор, задающий значения всех полей элемента.
Свойства:
 имя элемента (только чтение);
 количество входов элемента;
 количество выходов элемента.
2. На основе класса Элемент описать производный класс Комбинационный, представляющий собой комбинационный элемент (двоичный вентиль), который может иметь несколько входов и один выход.
Поле — массив значений входов.
Методы:
 конструкторы;
 метод, задающий значение на входах экземпляра класса;
 метод, позволяющий опрашивать состояние отдельного входа экземпляра класса;
 метод, вычисляющий значение выхода (по варианту задания).
3. На основе класса Элемент описать производный класс Память, представляющих собой триггер. Триггер имеет входы, соответствующие типу триггера (см. далее вариант задания), и входы установки и сброса. Все триггеры считаются синхронными, сам синхровход в состав триггера не включается.
Поля:
 массив значений входов объекта класса, в массиве учитываются все входы (управляющие и информационные);
 состояние на прямом выходе триггера;
 состояние на инверсном выходе триггера.
Методы:
 конструктор (по умолчанию сбрасывает экземпляр класса);
 конструктор копирования;
 метод, задающий значение на входах экземпляра класса;
 методы, позволяющие опрашивать состояния отдельного входа экземпляра класса;
 метод, вычисляющий состояние экземпляра класса (по варианту задания) в зависимости от текущего состояния и значений на входах;
 метод, переопределяющий операцию == для экземпляров класса.
4. Создать класс Регистр, используя класс Память как вложенный класс.
Поля:
 состояние входа «Сброс» — один для экземпляра класса;
 состояние входа «Установка» — один для экземпляра класса;
 массив типа Память заданной в варианте размерности;
 массив (массивы), содержащий значения на соответствующих входах элементов массива типа Память.
Методы:
 метод, задающий значение на входах экземпляра класса;
 метод, позволяющий опрашивать состояние отдельного выхода экземпляра класса;
 метод, вычисляющий значение нового состояния экземпляра класса;
Все поля классов Элемент, Комбинационный и Память должны быть описаны с ключевым словом privatе.
В задании перечислены только обязательные члены и методы класса. Можно задавать дополнительные члены и методы, если они не отменяют обязательные и обеспечивают дополнительные удобства при работе с данными классами, например, описать функции вычисления выхода/состояния как виртуальные.
5. Для проверки функционирования созданных классов написать программу, использующую эти классы. В программе должны быть продемонстрированы все свойства созданных классов.
Конкретный тип комбинационного элемента, тип триггера и разрядность регистра выбираются в соответствии с вариантом задания:
Вариант Комбинационный элемент Число входов Триггер Разрядность регистра
1 И-НЕ 4 RS 8
1. Описать базовый класс Элемент.
Закрытые поля:
 имя элемента (строка символов);
 количество входов элемента;
 количество выходов элемента.
Методы:
 конструктор класса без параметров;
 конструктор, задающий имя и устанавливающий равным 1 количество входов и выходов;
 конструктор, задающий значения всех полей элемента.
Свойства:
 имя элемента (только чтение);
 количество входов элемента;
 количество выходов элемента.
2. На основе класса Элемент описать производный класс Комбинационный, представляющий собой комбинационный элемент (двоичный вентиль), который может иметь несколько входов и один выход.
Поле — массив значений входов.
Методы:
 конструкторы;
 метод, задающий значение на входах экземпляра класса;
 метод, позволяющий опрашивать состояние отдельного входа экземпляра класса;
 метод, вычисляющий значение выхода (по варианту задания).
3. На основе класса Элемент описать производный класс Память, представляющих собой триггер. Триггер имеет входы, соответствующие типу триггера (см. далее вариант задания), и входы установки и сброса. Все триггеры считаются синхронными, сам синхровход в состав триггера не включается.
Поля:
 массив значений входов объекта класса, в массиве учитываются все входы (управляющие и информационные);
 состояние на прямом выходе триггера;
 состояние на инверсном выходе триггера.
Методы:
 конструктор (по умолчанию сбрасывает экземпляр класса);
 конструктор копирования;
 метод, задающий значение на входах экземпляра класса;
 методы, позволяющие опрашивать состояния отдельного входа экземпляра класса;
 метод, вычисляющий состояние экземпляра класса (по варианту задания) в зависимости от текущего состояния и значений на входах;
 метод, переопределяющий операцию == для экземпляров класса.
4. Создать класс Регистр, используя класс Память как вложенный класс.
Поля:
 состояние входа «Сброс» — один для экземпляра класса;
 состояние входа «Установка» — один для экземпляра класса;
 массив типа Память заданной в варианте размерности;
 массив (массивы), содержащий значения на соответствующих входах элементов массива типа Память.
Методы:
 метод, задающий значение на входах экземпляра класса;
 метод, позволяющий опрашивать состояние отдельного выхода экземпляра класса;
 метод, вычисляющий значение нового состояния экземпляра класса;
Все поля классов Элемент, Комбинационный и Память должны быть описаны с ключевым словом privatе.
В задании перечислены только обязательные члены и методы класса. Можно задавать дополнительные члены и методы, если они не отменяют обязательные и обеспечивают дополнительные удобства при работе с данными классами, например, описать функции вычисления выхода/состояния как виртуальные.
5. Для проверки функционирования созданных классов написать программу, использующую эти классы. В программе должны быть продемонстрированы все свойства созданных классов.
Конкретный тип комбинационного элемента, тип триггера и разрядность регистра выбираются в соответствии с вариантом задания:
Комбинационный элемент Число входов Триггер Разрядность регистра
И-НЕ 4 RS 8



вот что я смог.






C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace LB9
{
    class Element
    {
       // private string Name;
        private int Vxod;
       // private int vixod;
       
    /*{ public void   Element()
        {
            Name = "И-НЕ";
            Vxod = 4;
            Vixod = 1;
        }*/
 
        public void SetPoley()
        {
 
        }
       /* public int Vix
        {
            get
            {
                return Vixod;
            }
            set
            {
                Vixod = value;
            } 
 
        }*/
        public int Vx
        {
            get
            {
                return Vxod;
            }
            set
            {
                Vxod = value;
            }
 
        }
       /* public string Nam
        {
            get
            {
                return Name; 
            }
 
        }
        */
 
 
    }
    class Kombin :Element
    {
       private int[] a=new int[100];
       private int x;
       private bool r;
       private string srt;
 
       public void set()
       {
           for(int i =0; i<4; i++)
           {
               r = false;
               while (r==false)
               { 
                    
               Console.WriteLine("Введите значение входа {0}",i);
               srt = Console.ReadLine();
               if (srt == "")
               { a[x] = 0; }
               else {
                   if ((Convert.ToInt32(srt) > -1) && (Convert.ToInt32(srt) < 2))
                   {
                       a[x] = Convert.ToInt32(srt);
                       r = true;
 
                   }
 
               }             
               }
 
               x++;
           }
       }
 
       public void opr(int i)
       {
           Console.WriteLine("значения входа {0}",a[i]);
       }
 
 
       public void VxVix()
       {
 
           x++;
           if ((a[x - 5] == a[x - 4]) && (a[x - 4] == a[x - 3]) && (a[x - 3] == a[x - 2]))
           {
               if (a[x - 5] == 1)
               {
 
 
                   a[x - 1] = 0;
 
               }
               else
               {
                   a[x - 1] = 1;
 
               }
 
           }
           else
           {
               
 
                   a[x - 1] = 1;
 
              
               
           }
 
       }
        
 
    }
    class Memor: Element
    {
        private int[] b=new int[100];
        private int q;
        private int Q;
        private int x;
 
        public void Zadzn()
        {
            Console.WriteLine("Введите значение входа S");
          b[x]= Convert.ToInt32(Console.ReadLine());
          x++;
          Console.WriteLine("Введите значение входа R");
          b[x] = Convert.ToInt32(Console.ReadLine());
          x++;
        }
        public void VicSost()
        {
            if (b[x-1] == b[x])
            {
                if (b[x-1] == 0)
                {
                    Console.WriteLine("Запрещённое состояние ");
                    q = 1;
                    Q = 1;
                }
                else
                {
                    Console.WriteLine("Состояние покоя  (Хранение)");
                }
            }
            else
            {
                if (b[x-1] == 0)
                {
                    Console.WriteLine("Состояние логической 1 ");
                    q = 1;
                    Q = 0;
                }
                else
                {
                    Console.WriteLine("Состояние логического 0 ");
                    q = 0;
                    Q = 1;
                }
            }
        }
    }
    class Register
    {
       
 
    }
    class Program
    {
        static void Main(string[] args)
        {
           bool s=false;
           string st = "";
           bool m = false;
           int iter =0;
         Kombin    sd= new Kombin() ;
            while (m!=true)
            {
            sd.set();
            
            sd.VxVix();
            s = false;
 
            while (s != true)
            {
                
                Console.WriteLine("Номер входа ?");
                st = Console.ReadLine();
                if ((st != ""))
                {
                    if ((Convert.ToInt32(st) > -1) && (Convert.ToInt32(st) < 5))
                    {
                        sd.opr(Convert.ToInt32(st) + iter);
                    }
                }
                else
                { s = true; }
                
            }
            Console.WriteLine("Желаете продолжить работу с элементом И-НЕ?");
            if (Console.ReadLine() == "")
            { m = true; }
            else { iter = iter + 5; }
 
            }
 
 
            Console.ReadLine();
        }
    }
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.05.2009, 16:11
Ответы с готовыми решениями:

Функции, SOS
Пожалуйста помогите решить 1.1 Написать функцию, которая определяет наименьшее общее кратное.

Ucoz Откуда берется sos?
Отправляю сообщение на сайте &quot;Ucoz&quot; в разделе &quot;Гостевая страница&quot;. При отправке появляется такое чудо: sos: XXX (подробнее на скрине). ...

HELP (ASP) SOS !
Как сделать на asp чтобы при нажатии на ссылку с 1 фрейма отправить текст на 2 фрейм в &lt;input Как в чате когда нажимаешь на ник...

2
45 / 45 / 1
Регистрация: 23.05.2009
Сообщений: 92
31.07.2009, 03:26
Цитата Сообщение от Darts116 Посмотреть сообщение
Помогите решить задачу
Поле — массив значений входов.
Следовательно надо выделить динамическую память
под количество значений входов(Vxod).
В классе Element, объяви переменную Vxod, как public
C#
1
private int[] a=new int[Vxod];
0
1 / 1 / 0
Регистрация: 13.03.2009
Сообщений: 45
23.11.2009, 19:03  [ТС]
Если кому пригодится рабочий вариант.
Вложения
Тип файла: rar Program.cs.rar (2.0 Кб, 198 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.11.2009, 19:03
Помогаю со студенческими работами здесь

Asp.net SOS....
Privet. Narod , ochen nujn vasha pomosh. Problema takaya. Ya izuchal uje bole 4 gode yazik C#. (widows application, windows...

Panel и tabControl, SOS
Люди, нужен совет) Вот картинка интерфейса программы(это тестовая версия, поэтому так страшно всё) , те панели что находятся слева, будут...

SOS Используя функции обработки строковых и символьных переменных скорректировать текст, удалив подстроку! SOS
Вообщем блин проболел весь симестр) теперь мучаюсь) Только разобрал задачи лёгкого уровня а у меня экзамен вообще завал) блин выручайте =) ...

Бесконечная сумма с точностью Е (while do/while) SOS SOS
E=0.0001 Вот мои жалкие потуги. #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;locale&gt; #include &lt;math.h&gt; using...

SOS SOS!!! Ошибки с динамической памятью...
ЗДРАВСТВУЙТЕ однофорумчане.... У меня такая вот проблемка... Я пишу синтаксический анализатор арифметических выражений. Суть проста -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Киев стоит - украинская песня
zorxor 28.01.2026
wfWdiRqdTxc О Господи, Вечный, Ты . . . Я помоги, Бесконечный. . . Я прошу Ты. . . Я погибаю, спаси. . . Я прошу Тебя Вечный. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru