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

Номер патента: 1679525

Авторы: Касаткин, Переход

Есть еще 1 страница.

Смотреть все страницы или скачать ZIP архив

Текст

(5)5 6 09 В 23/02 ГОСУДАРСТВЕННЫЙ КОМИТЕТПО ИЗОбРЕТЕНИЯМ И ОТКРЫТИЯМПРИ ГКНТ СССРОПИСАНИЕ ИЗОБРЕТЕНИЯК АВТОРСКОМУ СВИДЕТЕЛЬСТВУ(56) Авторское свидетельство СССРМ 760169, кл. 0 09 В 23/02, 1979,(54) УСТРОЙСТВО ДЛЯ ОБУЧЕНИЯ ПРОГРАММИРОВАНИЮ(57) Изобретение относится к автоматике и вычислительной технике, в частности к процессам нормальных алгоритмов учебного назначения, и может быть использовано в системе образования па курсам программирования, теории алгоритмов и теории автоматов. Цель изобретения - расширениеЫ, 1679525 А 1 дидактических возможностей устройства, Если указатель команды не определен (номер применяемой команды превышает общее число команд), то формирователь 3 и устройство в целом прекращают работу. В противном случае формирователь 3 последовательно выдает три управляющих сигнала, которые подаются на вход распределителя 6. Далее формирователь 3 подает одиночный управляющий импульс на входформирователя 4 и запускает его, Если команда применима к слову, то в формирователе 4 запускается схема исполнения команды, которая осуществляет преобразование слова. Завершив работу, формирователь 4 по обратной связи посылает сигнал формирователю 3, который либо завершает работу,;ф либо возобновляет работу устройства с новым значением указателя команды, б ил. ФС МИзобретение относится к автоматике и вычислительной технике и может най ти применение в системе образовайия, учебных курсах программирования, теорем автоматов и алгоритмов,Целью изобретения является расширение дидактических возможностей устройства путем исследования нормальных алгоритмов и выработки практических навыков при их изучении,На фиг.1 изображена структура предлагаемого устройства; на фиг.2 - схема формирователя импульсов; на фиг,З - формирователь кода; на фиг,4 - датчик импульсов; на фиг.5 - блок сумматоров; на фиг,б - распределитель импульсов.Устройство состоит из блока 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 (фиг.3) содержит блок 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) содержит сумматоры 6466, датчик 67 сдачи импульсов, распредели 10 15 вход запуска генератора 2, на вход начальной установки распределителя б и на вход 20 запуска формирователя 3,30 35 40 45 50 55 тель 68 импульсов, ПЗУ 69 и 70, элемент НЕ Распределители б и 68 импульсов(фиг,б) содержат сдвигающий регистр 72,элементы И 73 и элемент ИЛИ 74,Перед началом работы в блок 1 вручную заносится последовательность команд, зада ющих подстановки и образующих нормальный алгоритм; в регистр 10 автоматически заносятся "1" в разряды, соответствующие занятым полям блока 1, и "0" в разряды, соответствующие свободным полям блока 1; в регистр 11 - "1"; в регистр 18, являющийся правой половиной регистра 16, - исходное слово; в регистр 14 - длина исходного слова.Запуск устройства в целом осуществляется нажатием кнопки, подающей сигнал на После запуска последовательно анализируется содержимое регистра 11. Если последний не содержит "1", т.е, указатель команды вышел за пределы списка команд,формирователь 3 и устройство в целом завершают работу. При этом сигнал "стоп" отображается на индикаторе. Если один из разрядов регистра 11 содержит "1", т.е. если задан указатель команды, формирователь 3 выдает на выходе последовательно три управляющих импульса, которые подаются на вход распределителя 6.Поданные формирователем 3 через рас- .пределитель б (фиг,б) импульсы подаются; на вход блока 1 для перевода его в режим считывания и выборки команды, помеченной указателем регистра 11; на вход дешифратора 5 для расчленения команды, помеченной указателем, и пересылки ее компонент из блока 1 в регистры формирователя 4 и на вход формирователя 3 по обратной связи; на вход формирователя 4 для начальной установки его регистров.После выдачи указанной серии из трех импульсов формирователь 3 одиночных импульсов запускает формирователь 4.К моменту запуска последнего дешифратор 5 выбирает из блока 1 команду, отмеченную указателем регистра 11, и расчленяет ее на пять частей; левую часть (ЛЧ), т.е, заменяемое слово; длину ЛЧ; правую часть (ПЧ), т.е. заменяющее слово; длину ПЧ; тип операции подстановки "0", если подстановка обычная (если подстановка заключительная).Указанные коды подаются на четыре входа формирователи 4, тип операции подстановки подается по обратной связи на вход формирователя 3,Получив сигнал запуска ат формирователя 3, формирователь 4 проверяет возмож 1679525ность применения выбранной операции подстановки к обрабатываемому слову, т.е. устанавливает, имеет ли место вхождение заменяемого слова ЛЧ (регистр 16) в преобразуемое слово (регистр 18).Если операция подстановки неприменима к слову, формирователь 4, не изменяя преобразуемую слова, устанавливает на выходе регистра 15 "1", на его выходе "О"и перемещает указатель регистра 11 к следующей по порядку команде,Если операция применима, формирователь 4 исключает в преобразуемом слове подслово ЛЧвключает вместо него заменяющее слово ПЧ, реализуя тем самым операцию подстановки,При атом формирователь 4 устанавливает на одном выходе регистра 15 "0", нэ другом его выходе "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; в "0", разрешаетсчитывание длины слова в счетчик 43.Запуск формирователя 4 выполняе,сяпосле завершения начальной установки, посигналу который запускает блок 32 .Работа последнего начинается с построения маски вида "111" ОИО" (несколько"1", остальные "0") в регистре 41, Уэска врегистре 41 используется в дальнейшемблоком 32 для выделения в регистре частислова определенной длины и сравнения еес ЛЧ команды.С целью построения маски указанноговида по сигналу на входе формирователя 4запускается датчик 39 (фиг,4), который серией импульсов выполняет сдвиг вправо содержимого регистра 41, заданного врегистре 36 с количеством разрядов. Полученный в регистре двоичный код инвертируется, образуя требуемую маску. 5 10 15 20 25 30 35 40 45 50 Вьдав серию импульсов, датчик 39 выдает одиночный импульс, который черезэлемент ИЛИ 40 запускает компаратор 44, Последний сравнивает длину ЛЧ команды сдлиной отрезка слова, в котором ищется ЛЧ с целью проверки применимости команды.Компаратор 44 выдает на одном выходесигнал "1" и на другом выходе - сигнал "0",если команда неприменима, и наоборот, если вопрос о применимости команды открыт,Если команда применима, импульсом; 5на одном выходе компаратор 44 запускаетдатчик 34. Если применимость команды невыяснена на данном шаге, компаратор 44импульсом на другом выходе запускает компаратор 45. 10Компаратор 45 сравнивает ЛЧ командыс частью слова, выделенной поразряднымумножением регистров 41 и 18,Если указанные строки равны, компаратор 45 через свой один выход запускает 15блок ЗЗ, при другом выходе компаратора 45удерживается "8". Если указанные строки неравны, компаратор 45 через свой другойвыход запускает датчик 47, а на первом выходе компаратора 45 удерживается " ", 20Действие датчика 47 состоит в выдачена своем одном выходе "1" (совпадающем спервым выходом формирователя 4) серииимпульсов, которые подаются на вход регистра 16 и приводят к сдвигу его содержимого на один символ. Завершив указаннуюсерию, датчик 37 выдает одиночный импульс на своем другом выходе, который подается на вход счетчика 42 для увеличенияего содержимого на "1"; на вход счетчика 43 ЗОдля уменьшения его содержимого на "1";через элемент 50 задержки и через элементИЛИ 40 на вход повторного запуска компаратора 44.Тем самым на каждом шаге датчик 47 35управляет подсчетом просмотренных символов слова, сдвигаемых из регистра 18 врегистр 17; вычислением длины непросмотренной части слова в регистре 18; сохранением просмотренной части слова в 40регистре 17.Работа блока 32 завершается или фор- .мированием "1" на первом выходе датчика44 и запуском датчика 34 (это означает, чтокоманда непримерима к слову); или формированием "1" на первом выходе компаратора 45 и запуском блока 33.Блок 33, получив управление с первоговь 1 хода компаратора 43, запускает датчик 55(фиг.4). Датчик 55 на своем первом выходе 50совпадающем с второго выходом формирователя 4, выдает серию из длины ЛЧ импульсов, приводящих к сдвигам влево в регистре18. В результате указанной серии сдвиговвхождение ЛЧ в слово выходит за пределы 55регистра 18 без сохранения сдвинутых симВолов в регистре 17, т.е. вычерчивается. Завершив Вычеркивание, датчик 55 запускаетдатчик 56 одиночным импульсом на своемВтОром ВыхОде,Последний (фиг.4), получив управление от датчика 55, выдает на своем первом выходе, совпадающем с третьим выходом формирователя 4, серию из длины ПЧ, импульсов, управляющих сдвигами вправо регистра 18, В результате указанной серии в регистре 18 освобокдаются позицией для включения ПЧ, заменяющей ЛЧ в преобразуемом слове. Завершив освобождение поля для ПЧ, датчик 56 выдает одиночный импульс на своем втором выходе, разрешающий слияние ПЧ с преобразуемым словом и одновременно запускающий блок 51 сумматоров,Слияние ПЧ с преобразуемым словом выполняется элементом ИЛИ 53.Завершив работу, блок 51 сумматоров выдает одиночный импульс для запуска датчика.34.После отработки блоков 32, ЗЗ и 51 сигнал "1" подан или на пятый выход формирователя 4, при этом на шестом его выходе удерживается ".8": или сигнал "1" подан на шестой его выход, при этом на пятом выходе формирователя 4 удерживается уровень,ф нУказанные сигналы поступают на входы регистров 11 и 15. Сигнал пятого выхода выполняет сдвиг указателя команды в регистре 11, предыдущая команда была неприменима; сигнал шестого выхода устанавливает (сбрасывает) указатель команды регистра 11 в" 1" (предыдущая команда выполнена), Одновременно эти сигналы устанавливают признак результата работь 1 в индикаторе регистра 15,Одновременно с формированием сигналов на пятом и шестом выходах формирователя 4 через элемент ИЛИ сигналом с первого выхода компаратора или с второго выхода блока 51 запускается датчик 34, для восстановления слова, который выдает серию импульсов на вход регистра для управления сдвигом вправо содержимого. Количество импульсов (величина сдвига) равно значению счетчика 42. Указанная серия сдвигов приводит к размещению преобразуемого слова в границах регистра 18 и подготавливает тем самым работу формирователя 4 на следующем шаге,Регистр 16 является сдвоенным сдвиговым регистром и состоит из двух стандартных сдвиговых регистров 17 и 18, соединенйых элементом И 19, который разрешает объединение регистров 17 и 18 в единый для сдвига информации в границах регистра 16.Регистр 16 имеет следующие четыре Входа для Выполнения сдвигов для сдвиГВ вправо в границах обьединенного регистра ПО сиГналу с выхоДа Датчика 34; Для сдвиГа вправо в границах регистра 18 (с правой половины регистра 16) по сигналу с выходадатчика 56; для сдвига влево в границахобаединенного регистра 16 по сигналу с выхода датчика 55, при этом на разрешающийвход элементом И подается "1"; для сдвигавлево в границах регистра 18 (правой половины регистра 16) по сигналу с выхода датчика 47; при этом на разрешающий входэлемента И 19 и подается ф 0".Управляющие входы регистра 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 начинается подачейимпульса на его второй вход, что приводит 15 к пересылке кода числа импульсов на входыдешифратора 57, который преобразует код числа в код, содержащий "1" в единственном разряде. КодНомера разрядов 20 Установка "1" в любом разряде регистра58 приводит к появлению импульса на выходе "1" датчика 22, кроме того, указанный25 импульс через элемент И 60 подается навход выполнения сдвига вправо на одинразряд содержимого регистра 58. Указанный процесс повторяется до тех пор, пока врезультате сдвигов вправо регистра 58 "1"30 не окажется в его разряде Р, т.е. до выдачипоследнего импульса включительно на первом выходе датчика 22,Выход нулевого разряда регистра 58.подключен к элементу И 61, обеспечиваю 35 щему выдачу одиночного импульса на втором выходе датчика 22 и элементу ИЛИ 62на вход регистра 58 для выполнения последнего сдвига вправо на один разряд его содержимого,40 В результате последнего сдвига регистр58 устанавливается в "0", что приводит кзавершению работы датчика 22.Схема распределителя 6 (68) показанана фиг.6. Он предназначен для распределе 45 ния по выходам серии (последовательности)из трех импульсов и имеет два входа и множество выходов.Первый вход используется для началь-.ной установки регистра 72, по второму вхо 50 ду подается серия импульсов,РИ состоит из и-разрядного сдвиговогоциклического регистра, элементов И, ИЛИ,Перед запуском распределителя 6 в регистр 72 заносится код,55 Запуск его осуществляется подачейпервого импульса серии на его втором входе, Подача очередного импульса на второйвход приводит к появлению импульса насоответствующем выходе и сдвигу содержимого регистра 72 вправо на один разряд, 1679525 12После выдачи распределенной по выходам серии импульсов регистр 72 вновь содержит первоначальный код и готов к повторному использованию,Блок 1 является многократно репрограммируемым ПЗУ, что отвечает целевому назначению предлагаемого устройства - обучению программированию,Блок 1 является многорядным. Каждый его ряд есть наборное поле команды.Формирование команды (запись, репрограммирование ряда) выполняется вручную коммутирующими штеккерами устройства, в которых гребенка штеккеров соответствует "1" двоичного кода символа,Технические средства считывания командь 1 из блока 1 состоят из регистра 10 состояния ПЗУ) и регистра 11 (указателя команды). Разрядность регистров 10 и 11 равна количеству, слов в блоке 1.Каждый ряд блока 1 связан по.входу и выходу с соответствующим ему разрядом регистра 10,При записи информации в какой-либо ряд блока 1 установка штеккера приводит к установке "1" в соответствующем разряде регистра 10,Таким образом, регистр 10 содержит "1" в разрядах, соответствующих тем разрядам блока 1, которые содержат команды, и "0" - в остальных (свободных) рядах блока 1 и его содержимое отражает его состояние,Регистр 11 содержит указатель "1" в одном из разрядов и "О" в остальных разрядах. Указатель в регистре 11 может. быть перемещен сдвигом в следующей разряд, установлен в начальную позицию, соответствующую ряду 1 блока 1, или сдвинут за пределы регистра 11. В последнем случае указатель считается неопределенным.На такте считывания из блока 1 может быть прочитана только команда, отмеченная указателем, и только в том случае, если разряд регистра 10 содержит "1". Данное устройство по сравнению с известным имеет более широкие возможности, так как обеспечивает выполнение нормальных алгоритмов, позволяет обучаемым контролировать все зтапы процесса применения нормального алгоритма к преобразуемой информации,Преимуществом устройство является выработка практических навыков при изуче 10 15 20 25 ЗО 35 40 45 50 нии теории алгоритмов и экспериментальном исследовании алгоритмов. Формула изобретения Устройство для обучения программированию, содержащее блок памяти, формирователь импульсов и блок регистрации, о тл и ч а ю щ е е с я тем, что, с целью расширения дидактических возможностей устройства, в него введены генератор, распределитель импульсов, дешифратор и формирователь кодов, первый, второй, третий и четвертый входы которого соединены с соответствующими выходами дешифратора, пятый вход - с первым входом формирователя импульсов, шестой вход - с первым выходом распределителя импульсов, седьмой вход - с выходом генератора, восьмой и девятый входы и выходы с первого по восьмой - соответственно с первым и вторым входами и выходами с первого по восьмой блоков регистрации, а девятый выход формирователя кодов подключен к первому входу формирователя импульсов, второй, третий, четвертый и пятый входы которого соединены с третьим, четвертым, пятым и шестым выходами блока регистрации соответственно, шестой вход - с выходом генератора, седьмой вход - с пятым выходом дешифратора и девятым входом блока регистрации, второй выход - с информационным входом распределителя импульсов, третий и четвертый выходы соответственно с десятым и одиннадцатым входами блока регистрации, а восьмой вход - с входом генератора, установочным входом распределителя импульсов и является первым входом устройства, синхровход дешифратора подключен к второму выходу распределителя импульсов, а информационный вход - к первому выходу блока памяти, информационный вход которого является вторым входом устройства, второй и третий выходы и первый и второй управляющие входы блока памяти соединены соответственно с двенадцатым и тринадцатым входами и пятым и шестым выходами блока регистрации, а синхровход - с третьим выходом распределителя импульсов, четырнадцатый, пятнадцатый и шестнадцатый входы блока регистрации являются соответственно третьим, четвертым и пятым входами устройства, 16795251679525 оставитель А,Карло ехред М,Моргентал едактор Н.Рогулич рректор М.Кучеряв Заказ 3217 Тираж 278 Подписное ВНИИПИ Государственного комитета по изобретениям и открытиям при ГКНТ ССС 113035, Москва, Ж, Раушская наб., 4/5 изводственно-издательский комбинат "Патент", г. Ужгород, ул, Гагарина, 101

Смотреть

Заявка

4746827, 05.09.1989

СИМФЕРОПОЛЬСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИМ. М. В. ФРУНЗЕ

ПЕРЕХОД ИГОРЬ АЛЕКСАНДРОВИЧ, КАСАТКИН ВАЛЕНТИН НИКОЛАЕВИЧ

МПК / Метки

МПК: G09B 23/02

Метки: обучения, программированию

Опубликовано: 23.09.1991

Код ссылки

<a href="https://patents.su/9-1679525-ustrojjstvo-dlya-obucheniya-programmirovaniyu.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для обучения программированию</a>

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