1. Главная
  2. Библиотека
  3. Программирование
  4. 9.2. Реализовать объект из двух пересекающихся сдвиговы...
Решение задачи

9.2. Реализовать объект из двух пересекающихся сдвиговых регистров x и y. Каждый сдвиговый регистр имеет свой размер (количество ячеек) N{x} ≥slant 1 и N{y} ≥slant 1. Объект имеет входную ячейку x{0} и выходную - y{Ny}. Реализовать конструктор с передачей

  • Программирование

Условие:

9.2. Реализовать объект из двух пересекающихся сдвиговых регистров x и y. Каждый сдвиговый регистр имеет свой размер (количество ячеек) N{x} ≥slant 1 и N{y} ≥slant 1. Объект имеет входную ячейку x{0} и выходную - y{Ny}.
Реализовать конструктор с передачей в качестве параметров размеры сдвиговых регистров.
Реализовать функцию shift, которой передаётся входное значение и которая возвращает выходное значение. При записи значения во входную ячейку, значение из последней ячейки сдвигового регистра x, записывается во входную ячейку сдвигового регистра y. Из последней ячейки сдвигового регистра y значение выталкивается и является выходным значением функции shift.

Реализовать функции смещения одного сдвигового регистра относительно другого. Если при смещении в одну из сторон достигнута крайняя ячейка, то дальнейшего смещения в эту сторону не происходит.
Реализовать функции просмотра содержимого ячеек объекта в соответствующей форме (в форма креста)

Решение:

Для реализации объекта из двух пересекающихся сдвиговых регистров x и y на языке Python, мы можем создать класс, который будет содержать необходимые методы и атрибуты. Давайте разберем решение по шагам.

Шаг 1: Определение класса и конструктора


Создадим класс ShiftRegister, который будет принимать размеры регистров Nx и Ny в качестве параметров конструктора. Внутри класса мы инициализируем два списка для хранения значений регистров.





Теперь реализуем метод , который будет принимать входное значение, обновлять регистры и возвращать выходное значение.





Теперь добавим методы для смещения регистров. Мы создадим методы  и , которые будут сдвигать регистры влево и вправо соответственно.





Добавим метод для отображения содержимого регистров в форме креста.





Теперь объединим все части в один класс:





Теперь у нас есть класс , который реализует два пересекающихся сдвиговых регистра с необходимыми функциями. Вы можете создать объект этого класса, вызывать метод , а также смещать и отображать содержимое регистров.

Не нашел нужную задачу?

Воспользуйся поиском

Выбери предмет