Устройство для обучения программированию Советский патент 1991 года по МПК G09B23/02 

Описание патента на изобретение SU1679525A1

о

VI Ю

сл ю сл

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

Целью изобретения является расширение дидактических возможностей устройства путем исследования нормальных алгоритмов и выработки практических навыков при их изучении.

На фиг.1 изображена структура предлагаемого устройства; на фиг.2 - схема формирователя импульсов; на фиг.З- формирователь кода; на фиг.4 - датчик импульсов; на фиг.5 - блок сумматоров; на фиг.6 - распредели- тель импульсов.

Устройство состоит из блока 1 памяти, предназначенного для хранения команд нормального алгоритма, генератора 2 импульсов, формирователя 3 импульсов, фор- мирователя 4 кодов, предназначенного для применения операций нормального алгоритма (команд) к слову, дешифратора 5 (кода операции - команды), распределителя 6 импульсов, блока 7 регистрации, предназна- ченного для хранения и демонстрации типа остановки (регистры 8 и 9), состояния ПЗУ (регистр 10), указателя применяемой команды (регистр 11), применяемой команды (регистр 12) - типа операции (регистр 13), длины слова (регистр 14), признака результата (регистр 15), обрабатываемого слова (сдвоенный регистр 16), состоящий из регистров 17 и 18, соединенных элементом И 19.

Формирователь 3 (фиг.2) содержит ком- паратор 20, ПЗУ 21, датчик 22 сдачи импульсов, элементы И 23- 26, элементы ИЛИ 27-29, элемент НЕ 30 и формирователь 31 единичного сигнала.

Формирователь 4 (фиг.З) содержит блок 32 проверки применимости команды к слову, блок 33 исполнения команды, датчик 34 сдачи импульсов размещается слова в заданных границах и регистры 35-38. Блок 32 содержит датчик 39 сдачи импульсов, эле- мент ИЛИ 40, сдвигающий регистр 41, счетчики 42 и 43, компараторы 44 и 45, ПЗУ 46, датчик 47 сдачи импульсов, элементы И 48 и 49, элемент 50 задержки. Формирователь 4 также содержит блок 51 сумматоров, эле- мент И 52, элементы ИЛИ 53 и 54.

Блок 33 содержит датчики 55 и 56 сдачи импульсов.

Датчики 22, 34, 39,47, 55 и 56 содержат (фиг.4) дешифратрр 57, сдвигающий регистр 58, элементы И 59-61, элементы ИЛИ 62 и 63.

Блок 51 (фиг.5) содержит сумматоры 64- 66, датчик 67 сдачи импульсов, распределитель 68 импульсов, ПЗУ 69 и 70, элемент НЕ 71.

Распределители 6 и 68 импульсов (фиг.6) содержат сдвигающий регистр 72, элементы И 73 и элемент ИЛИ 74.

Перед началом работы в блок 1 вручную заносится последовательность команд, задающих подстановки и образующих нормальный алгоритм: в регистр 10 автоматически заносятся 1 в разряды, соответствующие занятым полям блока 1, и О в разряды, соответствующие свободным полям блока 1; в регистр 11 - в регистр 18, являющийся правой половиной регистра 16, - исходное слово; в регистр 14 - длина исходного слова.

Запуск устройства в целом осуществляется нажатием кнопки, подающей сигнал на вход запуска генератора 2, на вход начальной установки распределителя 6 и на вход запуска формирователя 3.

После запуска последовательно анализируется содержимое регистра 11. Если последний не содержит 1, т.е. указатель команды вышел за пределы списка команд, формирователь 3 и устройство в целом завершают работу. При этом сигнал стоп отображается на индикаторе. Если один из разрядов регистра 11 содержит 1, т.е. если задан указатель команды, формирователь 3 выдает на выходе последовательно три управляющих импульса, которые подаются на вход распределителя 6.

Поданные формирователем 3 через распределитель 6 (фиг.6) импульсы подаются; на вход блока 1 для перевода его в режим считывания и выборки команды, помеченной указателем регистра 11; на вход дешифратора 5 для расчленения команды, помеченной указателем, и пересылки ее компонент из блока 1 в регистры формирователя 4 и на вход формирователя 3 по обратной связи; на вход формирователя 4 для начальной установки его регистров.

После выдачи указанной серии из трех импульсов формирователь 3 одиночных импульсов запускает формирователь 4.

К моменту запуска последнего дешифратор 5 выбирает из блока 1 команду, отмеченную указателем регистра 11, и расчленяет ее на пять частей: левую часть (ЛЧ), т.е. заменяемое слово; длину ЛЧ; правую часть (ПЧ), т.е. заменяющее слово; длину ПЧ; тип операции подстановки О, если подстановка обычная (если подстановка заключительная).

Указанные коды подаются на четыре входа формирователи 4, тип операции подстановки подается по обратной связи на вход формирователя 3.

Получив сигнал запуска от формирователя 3, формирователь 4 проверяет возможность применения выбранной операции подстановки к обрабатываемому слову, т.е. устанавливает, имеет ли место вхождение заменяемого слова Л Ч (регистр 16) в преобразуемое слово (регистр 18).

Если операция подстановки неприменима к слову, формирователь 4, не изменяя преобразуемую слова, устанавливает на выходе регистра 15 1, на его выходе перемещает указатель регистра 11 к следующей по порядку команде.

Если операция применима, формирователь 4 исключает в преобразуемом слове подслово ЛЧ., включает вместо него заменяющее слово ПЧ, реализуя тем самым операцию подстановки.

При этом формирователь 4 устанавливает на одном выходе регистра 15 О, на другом его выходе 1 и сбрасывает регистр 11 в 1 (устанавливает указатель на первую команду блока 1).

Завершив работу, формирователь 4 посылает в формирователь 3 импульс, которым или завершается работа в целом,если операция была применена и оказалась заключительной, или возобновляется цикл работы,

Работа формирователей 3 и 4 описывается на уровне стандартных функциональных элементов.

Формирователь 3 предназначен для управления процессом выполнения нормального алгоритма, хранящегося в блоке 1 в виде последовательности команд, задающих операции подстановки, и обеспечивает циклическое выполнение следующих действий: проверку возможности продолжения выполнения нормального алгоритма с помощью комбинационной схемы и компаратора; выдачу серии из трех импульсов на вход распределителя 6 для срабатывания блока 1, дешифратора 5 и начальной установки формирователя 43; запуск формирователя 4.

Работа формирователя 3 начинается нажатием кнопки, что приводит к срабатыванию компаратора 20. Если последний выдает 1 (отсутствие применимой команды, указатель команды не определен), формирователь 3 завершает работу и включает индикатор 9 (тупиковой ситуаци: } Если компаратор 20 выдает 1 (указатель команды определен), запускается датчик 22, выдающий серии из трех импульсов для запуска блока 1 и дешифратора 5 и начальной установки формирователя 4, Затем формирователь 3 ожидает сигнал повторного запуска от формирователя 4.

Формирователь 3 и устройство в целом завершают работу при выполнении заключительной подстановки или при возникновении тупиковой ситуации (указатель команды не определен), и возобновляет работу запуском компаратора 20 в остальных случаях.

Формирователь 4 предназначен для

преобразования слова (регистр 18) в соответствии с заданной в команде операцией подстановки.

Входной информацией формирователя

4 являются: конечная последовательность символов алфавита (объект преобразования); длина слова - количество символов в нем; команда, задающая операцию подстановки.

На входах формирователя 4 команда представлена двумя строками символов: заменяемым словом (ЛЧ команды) и заменяющим словом (ПЧ команды), а также длинами слов.

Если ЛЧ команды не входит в преобразуемое слово, операция подстановки неприменима к слову, в противном случае - применима. Применение операции состоит в подстановке ПЧ вместо вхождения ЛЧ в

преобразуемую слова.

Выходной информацией формирователя 4 является преобразованное слово и его длина.

Начальная установка регистра 41, счетчиков 42 и 43 осуществляется по сигналу, полученному на входе формирователя 4 от распределителя 6, сигнал на этом входе устанавливает в регистре 11 код 1...11, устанавливается счетчик 42 Г в О, разрешает

считывание длины слова в счетчик 43.

Запуск формирователя 4 выполняется после завершения начальной установки, по сигналу который запускает блок 32 .

Работа последнего начинается с построения маски вида 111..Д0Д (несколько 1, остальные О) в регистре 41. Маска в регистре 41 используется в дальнейшем блоком 32 для выделения в регистре части слова определенной длины и сравнения ее

с ЛЧ команды.

С целью построения маски указанного вида по сигналу на входе формирователя 4 запускается датчик 39 (фиг.4), который серией импульсов выполняет сдвиг вправо содержимого регистра 41, заданного в регистре 36 с количеством разрядов. Полученный в регистре двоичный код инвертируется, образуя требуемую маску.

Выдав серию импульсов, датчик 39 выдает одиночный импульс, который через элемент ИЛИ 40 запускает компаратор 44. Последний сравнивает длину ЛЧ команды с длиной отрезка слова, в котором ищется ЛЧ с целью проверки применимости команды.

Компаратор 44 выдает на одном выходе сигнал 1 и на другом выходе - сигнал О, если команда неприменима, и наоборот, если вопрос о применимости команды открыт.

Если команда применима, импульсом1, на одном выходе компаратор 44 запускает датчик 34. Если применимость команды не выяснена на данном шаге, компаратор 44 импульсом на другом выходе запускает компаратор 45.

Компаратор 45 сравнивает ЛЧ команды с частью слова, выделенной поразрядным умножением регистров 41 и 18.

Если указанные строки равны, компаратор 45 через свой один выход запускает блок 33, при другом выходе компаратора 45 удерживается 0С. Если указанные строки не равны, компаратор 45 через свой другой выход запускает датчик 47, а на первом выходе компаратора 45 удерживается .

Действие датчика 47 состоит в выдаче на своем одном выходе 1 (совпадающем с первым выходом формирователя 4) серии импульсов, которые подаются на вход регистра 16 и приводят к сдвигу его содержимо- го на один символ. Завершив указанную серию, датчик 37 выдает одиночный импульс на своем другом выходе, который подается на вход счетчика 42 для увеличения его содержимого на на вход счетчика 43 для уменьшения его содержимого на через элемент 50 задержки и через элемент ИЛИ 40 на вход повторного запуска компаратора 44.

Тем самым на каждом шаге датчик 47 управляет подсчетом просмотренных символов слова, сдвигаемых из регистра 18 в регистр 17; вычислением длины непросмотренной части слова в регистре 18; сохранением просмотренной части слова в регистре 17.

Работа блока 32 завершается или формированием 1 на первом йыходе датчика 44 и запуском датчика 34 (это означает, что асоманда непримерима к слову); или форми- рованием 1 на первом выходе компаратора 45 и запуском блока 33.

Блок 33, получив управление с первого выхода компаратора 43, запускает датчик 55 (фиг.4). Датчик 55 на своем первом выходе совпадающем с второго выходом формирователя 4, выдает серию из длины ЛЧ импульсов, приводящих к сдвигам влево в регистре 18. В результате указанной серии сдвигов вхождение ЛЧ в слово выходит за пределы регистра 18 без сохранения сдвинутых символов в регистре 17, т.е. вычерчивается. Завершив вычеркивание, датчик 55 запускает датчик 56 одиночным импульсом на своем втором выходе.

Последний (фиг.4), получив управление от датчика 55, выдает на своем первом выходе, совпадающем с третьим выходом формирователя 4, серию из длины ПЧ, импульсов, управляющих сдвигами вправо регистра 18. В результате указанной серии в регистре 18 освобождаются позицией для включения ПЧ, заменяющей Л Ч в преобразуемом слове. Завершив освобождение поля для ПЧ, датчик 56 выдает одиночный импульс на своем втором выходе, разрешающий слияние ПЧ с преобразуемым словом и одновременно запускающий блок 51 сумматоров.

Слияние ПЧ с преобразуемым словом выполняется элементом ИЛИ 53.

Завершив работу, блок51 сумматоров выдает одиночный импульс для запуска датчика 34.

После отработки блоков 32, 33 и 51 сигнал 1 подан или на пятый выход формирователя 4, при этом на шестом его выходе удерживается или сигнал 1 подан на шестой его выход, при этом на пятом выходе формирователя 4 удерживается уровень

.

Указанные сигналы поступают на входы регистров 11 и 15. Сигнал пятого выхода выполняет сдвиг указателя команды в регистре 11, предыдущая команда была неприменима; сигнал шестого выхода устанавливает (сбрасывает) указатель команды регистра 11 (предыдущая команда выполнена). Одновременно эти сигналы устанавливают признак результата работы в индикаторе регистра 15.

Одновременно с формированием сигналов на пятом и шестом выходах формирователя 4 через элемент ИЛИ сигналом с первого выхода компаратора или с второго выхода блока 51 запускается датчик 34, для восстановления слова, который выдает серию импульсов на вход регистра для управления сдвигом вправо содержимого. Количество импульсов (величина сдвига) равно значению счетчика 42. Указанная серия сдвигов приводит к размещению преобразуемого слова в границах регистра 18 и подготавливает тем самым работу формирователя 4 на следующем шаге,

Регистр 16 является сдвоенным сдвиговым регистром и состоит из двух стандартных сдвиговых регистров 17 и 18, соединенных элементом И 19, который разрешает объединение регистров 17 и 18 в единый для сдвига информации в границах регистра 16.

Регистр 16 имеет следующие четыре входа для выполнения сдвигов: для сдвига вправо в границах объединенного регистра по сигналу с выхода датчика 34; для сдвига вправо в границах регистра 18 (с правой половины регистра 16) по сигналу с выхода

датчика 56; для сдвига влево в границах объединенного регистра 16 по сигналу с выхода датчика 55, при этом на разрешающий вход элементом И подается для сдвига влево в границах регистра 18 (правой половины регистра 16) по сигналу с выхода датчика 47; при этом на разрешающий вход элемента И 19 и подается и#.

Управляющие входы регистра 18 (правая половина регистра 16) служат для его начальной установки и для занесения в него информации формирователя 4.

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

Блок 51 имеет шесть входов и два выхода.

По третьему входу выполняется начальная установка распределителя 68. По первому входу от датчика 56 поступает импульс запуска блока 51, по второму входу постоянно поступают тактовые импульсы от генератора 2.

К моменту запуска блока 51 на четвертом входе (шина) установлена длина слово до преобразования; на пятом входе (шина) установлена длина ЛЧ, поступившая с регистра 36, на шестом входе (шина) установлена длина ПЧ, поступившая с регистра 38; ПЗУ 69 содержит константу ПЗУ 70 содержит константу 1,

На первом выходе блока 51 (шина) формируется длина преобразованного слова, на втором выходе формируется одиночный импульс, поступивший на шестой выход формирователя 4 и далее через элемент ИЛИ 54 на вход запуска датчика 34.

Работа блока 51 начинается с запуска датчика 67.

Датчик 67 на своем первом выходе выдает серию из трех импульсов, которые последовательно во времени распределяются на первом - третьем выходах - распределителя 68.

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

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

Сигнал с третьего выхода поступает на вход запуска сумматора 66, который выполняет сложение с входных величин с 1, что приводит к получению результата на его выходе.

Завершив работу указанной серии импульсов на первом входе, датчик 67 выдает на своем втором выходе одиночный им- пульс запускающий датчик 34.

Датчик 22 (34) имеет три входа и два выхода.

По первому входу задается количество

импульсов в серии; по второму входу поступает стартовый импульс; по третьему входу

постоянно поступают тактовые импульсы с

выхода генератора 2.

На первом выходе выдается указанная серия импульсов, на втором выходе - оди- ночный импульс после завершения серии.

Перед началом работы регистр 58 содержит О во всех разрядах.

Работа датчиков 22 начинается подачей импульса на его второй вход, что приводит к пересылке кода числа импульсов на входы дешифратора 57, который преобразует код числа в код, содержащий 1 в единственном разряде.

:000... 1 ...000 Код

1;...210Номера разрядов

Установка 1 в любом разряде регистра 58 приводит к появлению импульса на выходе 1 датчика 22, кроме того, указанный

импульс через элемент И 60 подается на вход выполнения сдвига вправо на один разряд содержимого регистра 58. Указанный процесс повторяется до тех пор, пока в результате сдвигов вправо регистра 58 1

не окажется в его разряде, т.е. до выдачи последнего импульса включительно на первом выходе датчика 22.

Выход нулевого разряда регистра 58 подключен к элементу И 61, обеспечивающему выдачу одиночного импульса на втором выходе датчика 22 и элементу ИЛИ 62 на вход регистра 58 для выполнения последнего сдвига вправо на один разряд его содержимого,

В результате последнего сдвига регистр 58 устанавливается в О, что приводит к завершению работы датчика 22.

Схема распределителя 6 (68) показана на фиг.6. Он предназначен для распределения по выходам серии (последовательности) из трех импульсов и имеет два входа и множество выходов.

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

РИ состоит из n-разрядного сдвигового циклического регистра, элементов И, ИЛИ. Перед запуском распределителя 6 в регистр 72 заносится код.

Запуск его осуществляется подачей первого импульса серии на его втором входе. Подача очередного импульса на второй вход приводит к появлению импульса на соответствующем выходе и сдвигу содержимого регистра 72 вправо на один разряд.

После выдачи распределенной по выходам серии импульсов регистр 72 вновь содержит первоначальный код и готов к повторному использованию.

Блок 1 является многократно репрог- раммируемым ПЗУ, что отвечает целевому назначению предлагаемого устройства - обучению программированию.

Блок 1 является многорядным. Каждый его ряд есть наборное поле команды.

Формирование команды (запись, ре- программирование ряда) выполняется вручную коммутирующими штеккерами устройства, в которых гребенка штеккеров соответствует 1 двоичного кода символа,

Технические средства считывания команды из блока 1 состоят из регистра 10 (состояния ПЗУ) и регистра 11 (указателя команды). Разрядность регистров 10 и 11 равна количеству, слов в блоке 1.

Каждый ряд блока 1 связан по входу и выходу с соответствующим ему разрядом регистра 10,

При записи информации в какой-либо ряд блока 1 установка штеккера приводит к установке 1 в соответствующем разряде регистра 10.

Таким образом, регистр 10 содержит 1 в разрядах, соответствующих тем разрядам блока 1, которые содержат команды, и О - в остальных (свободных) рядах блока 1 и его содержимое отражает его состояние.

Регистр 11 содержит у казатель 1 водном из разрядов и О в остальных разрядах. Указатель в регистре 11 может быть перемещен сдвигом в следующей разряд, установлен в начальную позицию, соответствующую ряду 1 блока 1, или сдвинут за пределы регистра 11. В последнем случае указатель считается неопределенным.

На такте считывания из блока 1 может быть прочитана только команда, отмеченная указателем, и только в том случае, если разряд регистра 10 содержит 1.

Данное устройство по сравнению с известным имеет более широкие возможности, так как обеспечивает выполнение нормальных алгоритмов, позволяет обучаемым контролировать все этапы процесса применения нормального алгоритма к преобразуемой информации.

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

Формула изобретения

Устройство для обучения программированию, содержащее блок памяти, формирователь импульсов и блок регистрации, отличающееся тем, что, с целью расширения дидактических возможностей устройства, в него введены генератор, распределитель импульсов, дешифратор и формирователь кодов, первый, второй, третий и четвертый входы которого соединены

с соответствующими выходами дешифратора, пятый вход - с первым входом формирователя импульсов, шестой вход - с первым выходом распределителя импульсов, седьмой вход - с выходом генератора, восьмой

и девятый входы и выходы с первого по восьмой - соответственно с первым и вторым входами и выходами с первого по восьмой блоков регистрации, а девятый выход формирователя кодов подключен к первому

входу формирователя импульсов, второй, третий, четвертый и пятый входы которого соединены с третьим, четвертым, пятым и шестым выходами блока регистрации соответственно, шестой вход - с выходом генератора, седьмой вход - с пятым выходом дешифратора и девятым входом блока регистрации, второй выход-с информационным входом распределителя импульсов, третий и четвертый выходы соответственно с

десятым и одиннадцатым входами блока регистрации, а восьмой вход- с входом генератора, установочным входом распределителя импульсов и является первым входом устройства, синхровход дешифратора

подключен к второму выходу распределителя импульсов, а информационный вход - к первому выходу блока памяти, информационный вход которого является вторым входом устройства, второй и третий выходы и

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

I U Я И

Фиг 2

Похожие патенты SU1679525A1

название год авторы номер документа
Преобразователь последовательного кода в параллельный 1990
  • Дровянников Валерий Георгиевич
  • Садовников Владимир Федорович
SU1805548A1
Устройство для считывания и отображения графической информации 1982
  • Волков Владимир Алексеевич
  • Жмулев Леонид Степанович
  • Иванов Александр Александрович
  • Михайлов Виктор Никитович
  • Немов Анатолий Евгеньевич
  • Рыбин Сергей Иванович
SU1084839A1
Устройство для контроля знаний обучаемых 1987
  • Булавенко Валерий Ульянович
  • Петрова Клара Евгеньевна
SU1524082A1
Устройство для дискретного преобразования Фурье 1984
  • Алексеев Сергей Григорьевич
  • Беляев Михаил Борисович
  • Гельман Моисей Меерович
SU1188751A1
Устройство для автоматического измерения гидрологических параметров 1985
  • Ковчин Игорь Сергеевич
SU1325301A1
Многоканальный преобразователь угла поворота вала в код 1983
  • Андреев Алексей Александрович
  • Серкин Лев Александрович
  • Сипкин Сергей Викторович
  • Петров Владимир Васильевич
  • Трусов Геннадий Иванович
SU1144190A1
Информационно-измерительное устройство 1985
  • Богомолов Леонид Викторович
  • Гришанков Эдуард Федорович
  • Лушников Юрий Федорович
  • Николаенко Сергей Николаевич
  • Сергеенко Владимир Степанович
  • Стах Григорий Дмитриевич
SU1256074A1
Устройство управления охлаждением горячекатаной полосы 1981
  • Кромпляс Богдан Антонович
  • Шепеленко Павел Филиппович
SU952397A1
ПРЕОБРАЗОВАТЕЛЬ ПАРАЛЛЕЛЬНОГО КОДА В ПОСЛЕДОВАТЕЛЬНЫЙ 2000
  • Киселев Е.Ф.
  • Кузнецов С.А.
  • Зуев А.И.
RU2187887C2
Устройство для телеконтроля 1990
  • Калиничев Борис Алексеевич
SU1732366A1

Иллюстрации к изобретению SU 1 679 525 A1

Реферат патента 1991 года Устройство для обучения программированию

Изобретение относится к автоматике и вычислительной технике, в частности к процессам нормальных алгоритмов учебного назначения, и может быть использовано в системе образования по курсам программирования, теории алгоритмов и теории автоматов. Цель изобретения - расширение в дидактических возможностей устройства. Если указатель команды не определен (номер применяемой команды превышает общее число команд), то формирователь 3 и устройство в целом прекращают работу. В противном случае формирователь 3 последовательно выдает три управляющих сигнала, которые подаются на вход распределителя 6. Далее формирователь 3 подает одиночный управляющий импульс на вход формирователя 4 и запускает его. Если команда применима к слову, то в формирователе 4 запускается схема исполнения команды, которая осуществляет преобразование слова. Завершив работу, формирователь 4 по обратной связи посылает сигнал формирователю 3, который либо завершает работу, либо возобновляет работу устройства с новым значением указателя команды. 6 ил. & л

Формула изобретения SU 1 679 525 A1

ofiо.of

455 о о о

Фиг. 4

51

/ у/

W

г5

7 2

Q О

тв

/

2 1

3Z

J

о

Фиг. б

Документы, цитированные в отчете о поиске Патент 1991 года SU1679525A1

Прибор для выемки образцов подводного грунта 1924
  • Шпилев Д.И.
SU760A1
Разборный с внутренней печью кипятильник 1922
  • Петухов Г.Г.
SU9A1

SU 1 679 525 A1

Авторы

Переход Игорь Александрович

Касаткин Валентин Николаевич

Даты

1991-09-23Публикация

1989-09-05Подача